20030704 release
authorNick Downing <downing.nick@gmail.com>
Mon, 30 Nov 2015 16:11:56 +0000 (03:11 +1100)
committerNick Downing <downing.nick@gmail.com>
Mon, 30 Nov 2015 16:11:56 +0000 (03:11 +1100)
409 files changed:
bin/appinst.bat
bin/appinst.bat% [deleted file]
bin/appinst.sh
bin/appinst.ucp
bin/banked/db [new file with mode: 0644]
bin/banked/grlogin
bin/banked/test
bin/checksum [moved from bin/CHECKSUM with 50% similarity]
bin/data/0000.scr
bin/data/0001.scr
bin/data/0002.scr
bin/data/0003.scr
bin/data/0004.scr
bin/data/kass.scr
bin/data/uzi [new file with mode: 0644]
bin/db/test.DAT [new file with mode: 0644]
bin/db/test.TBL [new file with mode: 0644]
bin/good/CHECKSUM [deleted file]
bin/good/kernel.bin [deleted file]
bin/good/uzboot.bin [deleted file]
bin/good/uzboot.gz
bin/good/uzidisk.dat [deleted file]
bin/inittab.txt% [deleted file]
bin/kernel.bin
bin/mkboot.ucp
bin/mkboot.ucp% [deleted file]
bin/mkboot.ucp.org [deleted file]
bin/n.bat
bin/n.ucp
bin/n.ucp% [deleted file]
bin/n.ucp.org [deleted file]
bin/passwd.txt
bin/passwd.txt% [deleted file]
bin/passwd.txt.org [deleted file]
bin/passwd.txt.org% [deleted file]
bin/tstsys.sh% [deleted file]
bin/tsys.sh% [deleted file]
bin/uzboot.bin
bin/uzboot.gz
bin/uzidisk.dat
doc/solarisporting.pdf [new file with mode: 0644]
include/sys/wait.h% [deleted file]
lib/c0b.rst
relnotes/20030704.txt [new file with mode: 0644]
src/avrsample.old/aaa [deleted file]
src/avrsample.old/avr_make [deleted file]
src/avrsample.old/avr_make% [deleted file]
src/avrsample.old/hello.c [deleted file]
src/avrsample.old/hello.elf [deleted file]
src/avrsample.old/hello.h [deleted file]
src/avrsample.old/hello.hex [deleted file]
src/avrsample.old/hello.lst [deleted file]
src/avrsample.old/hello.map [deleted file]
src/avrsample.old/hello.o [deleted file]
src/avrsample.old/hello.s [deleted file]
src/avrsample.old/io.com [deleted file]
src/avrsample.old/ispd.exe [deleted file]
src/avrsample.old/libc/calloc.c [deleted file]
src/avrsample.old/libc/calloc.s [deleted file]
src/avrsample.old/libc/fdevopen.c [deleted file]
src/avrsample.old/libc/fdevopen.s [deleted file]
src/avrsample.old/libc/gcrt1.S [deleted file]
src/avrsample.old/libc/gcrt1.i [deleted file]
src/avrsample.old/libc/macros.inc [deleted file]
src/avrsample.old/libc/malloc.c [deleted file]
src/avrsample.old/libc/malloc.s [deleted file]
src/avrsample.old/libc/memset.S [deleted file]
src/avrsample.old/libc/memset.i [deleted file]
src/avrsample.old/libc/stdio_private.h [deleted file]
src/avrsample.old/makefile [deleted file]
src/avrsample.old/makefile% [deleted file]
src/avrsample.old/n.bat [deleted file]
src/avrsample.old/nick [deleted file]
src/avrsample.old/r.bat [deleted file]
src/avrsample.old/x.bat [deleted file]
src/avrsample/a.sh [deleted file]
src/avrsample/a.sh% [deleted file]
src/avrsample/a.tar [deleted file]
src/avrsample/aaa [deleted file]
src/avrsample/avr_make [deleted file]
src/avrsample/avr_make% [deleted file]
src/avrsample/hello.c [deleted file]
src/avrsample/hello.c! [deleted file]
src/avrsample/hello.c# [deleted file]
src/avrsample/hello.c% [deleted file]
src/avrsample/hello.eep [deleted file]
src/avrsample/hello.elf [deleted file]
src/avrsample/hello.h [deleted file]
src/avrsample/hello.h# [deleted file]
src/avrsample/hello.hex [deleted file]
src/avrsample/hello.lst [deleted file]
src/avrsample/hello.map [deleted file]
src/avrsample/hello.o [deleted file]
src/avrsample/hello.s [deleted file]
src/avrsample/hello.tar.gz [deleted file]
src/avrsample/io.com [deleted file]
src/avrsample/ispd.exe [deleted file]
src/avrsample/libc/calloc.c [deleted file]
src/avrsample/libc/calloc.s [deleted file]
src/avrsample/libc/fdevopen.c [deleted file]
src/avrsample/libc/fdevopen.s [deleted file]
src/avrsample/libc/gcrt1.S [deleted file]
src/avrsample/libc/gcrt1.i [deleted file]
src/avrsample/libc/macros.inc [deleted file]
src/avrsample/libc/malloc.c [deleted file]
src/avrsample/libc/malloc.s [deleted file]
src/avrsample/libc/memset.S [deleted file]
src/avrsample/libc/memset.i [deleted file]
src/avrsample/libc/stdio_private.h [deleted file]
src/avrsample/makefile [deleted file]
src/avrsample/makefile% [deleted file]
src/avrsample/n.bat [deleted file]
src/avrsample/n.sh [deleted file]
src/avrsample/nick [deleted file]
src/avrsample/out.s [deleted file]
src/avrsample/r.bat [deleted file]
src/avrsample/r.sh [deleted file]
src/avrsample/x.bat [deleted file]
src/bin/avr_make [deleted file]
src/bin/avr_make2 [deleted file]
src/bin/bmp2txt.exe
src/bin/cat.exe [new file with mode: 0644]
src/bin/chs2cmd.exe
src/bin/cproto.exe [new file with mode: 0644]
src/bin/cr.exe [deleted file]
src/bin/cygpopt-0.dll [new file with mode: 0644]
src/bin/cygwin1.dll [new file with mode: 0644]
src/bin/d2u.exe [new file with mode: 0644]
src/bin/diff.exe [new file with mode: 0644]
src/bin/diff.sh [new file with mode: 0644]
src/bin/diffdir.sh [new file with mode: 0644]
src/bin/gunzip.exe [new file with mode: 0644]
src/bin/gzip.exe [new file with mode: 0644]
src/bin/hfmdump.exe
src/bin/hfmtool.exe
src/bin/hfmwidth.exe
src/bin/indent.exe [new file with mode: 0644]
src/bin/make.exe
src/bin/mknbat-b.bat
src/bin/mknbat-l.bat
src/bin/patch.exe [new file with mode: 0644]
src/bin/sed.exe [new file with mode: 0644]
src/bin/sh.exe [new file with mode: 0644]
src/bin/txt2chs.exe
src/bin/u2d.exe [new file with mode: 0644]
src/bin/xxd.exe [new file with mode: 0644]
src/db/db.c [new file with mode: 0644]
src/db/db.h [new file with mode: 0644]
src/db/db.i86 [new file with mode: 0644]
src/db/db.lnk [new file with mode: 0644]
src/db/db.lst [new file with mode: 0644]
src/db/db.map [moved from src/gui/wnd.map with 52% similarity]
src/db/db.rel [new file with mode: 0644]
src/db/db.rst [new file with mode: 0644]
src/db/db.s01 [new file with mode: 0644]
src/db/logistic.DAT [new file with mode: 0644]
src/db/logistic.TBL [new file with mode: 0644]
src/db/main.c [new file with mode: 0644]
src/db/main.i86 [new file with mode: 0644]
src/db/main.lst [new file with mode: 0644]
src/db/main.rel [new file with mode: 0644]
src/db/main.rst [new file with mode: 0644]
src/db/main.s01 [new file with mode: 0644]
src/db/n.bat [new file with mode: 0644]
src/db/product.DAT [new file with mode: 0644]
src/db/product.TBL [new file with mode: 0644]
src/db/stock.DAT [new file with mode: 0644]
src/db/stock.TBL [new file with mode: 0644]
src/db/test.DAT [new file with mode: 0644]
src/db/test.TBL [new file with mode: 0644]
src/db/trans.DAT [new file with mode: 0644]
src/db/trans.TBL [new file with mode: 0644]
src/font/apibus!.txt [new file with mode: 0644]
src/font/apibus.hfm
src/font/apibus.txt
src/font/large.psd [deleted file]
src/font/lcd0.cmd
src/font/lcd1.cmd
src/font/set00nld.c
src/font/set01.bmp [deleted file]
src/font/set01.chs [deleted file]
src/font/set01.cmd [deleted file]
src/font/set01.txt [deleted file]
src/font/set01nld.c
src/font/set02.bmp [deleted file]
src/font/set02.chs [deleted file]
src/font/set02.cmd [deleted file]
src/font/set02.txt [deleted file]
src/font/set02nld.c
src/font/set03.bmp [deleted file]
src/font/set03.chs [deleted file]
src/font/set03.cmd [deleted file]
src/font/set03.txt [deleted file]
src/font/set03nld.c
src/font/set04.bmp [deleted file]
src/font/set04.chs [deleted file]
src/font/set04.cmd [deleted file]
src/font/set04.txt [deleted file]
src/font/set04nld.c
src/font/set05.bmp [deleted file]
src/font/set05.chs [deleted file]
src/font/set05.cmd [deleted file]
src/font/set05.txt [deleted file]
src/font/set06.bmp [deleted file]
src/font/set06.chs [deleted file]
src/font/set06.cmd [deleted file]
src/font/set06.txt [deleted file]
src/font/small.psd [deleted file]
src/font/wid-demo.exe
src/font/wid-demo.obj [new file with mode: 0644]
src/gui/0000.scr [deleted file]
src/gui/0001.scr [deleted file]
src/gui/0001.tmp [deleted file]
src/gui/0002.scr [deleted file]
src/gui/0003.scr [deleted file]
src/gui/0004.scr [deleted file]
src/gui/Copy (2) of wnd.c [deleted file]
src/gui/Copy of wnd.c [deleted file]
src/gui/Copy of wnd.h [deleted file]
src/gui/cl64180.r01 [deleted file]
src/gui/grlogin.i86
src/gui/grlogin.map
src/gui/hello.map [deleted file]
src/gui/login.c.org [deleted file]
src/gui/login.lst
src/gui/login.map [deleted file]
src/gui/login.rel
src/gui/login.rst
src/gui/login.s01
src/gui/m.bat
src/gui/t.bat
src/gui/test.c
src/gui/test.i86
src/gui/test.lst
src/gui/test.map
src/gui/test.rel
src/gui/test.rst
src/gui/test.s01
src/gui/trans.c
src/gui/trans.lst
src/gui/trans.rel
src/gui/trans.rst
src/gui/trans.s01
src/gui/wnd.c
src/gui/wnd.c.org [deleted file]
src/gui/wnd.cbackup [deleted file]
src/gui/wnd.h
src/gui/wnd.ihx [deleted file]
src/gui/wnd.lst
src/gui/wnd.rel
src/gui/wnd.rst
src/gui/wnd.s01
src/gui/wnd.xls [deleted file]
src/gui/wnd.zip [deleted file]
src/kernel/build.ban.save [deleted file]
src/kernel/cmx/escc.asm% [deleted file]
src/kernel/kernel.lnk% [deleted file]
src/kernel/libc/vendor.h [moved from src/kernel/libc/VENDOR.H with 100% similarity]
src/kernel/n.bat.org [deleted file]
src/kernel/uzi/testsystem.c
src/mkfont/apibus.hfm [deleted file]
src/mkfont/apibus.txt [deleted file]
src/mkfont/bmp2txt.exe
src/mkfont/bmp2txt.obj [new file with mode: 0644]
src/mkfont/chs2cmd.exe
src/mkfont/chs2cmd.obj [new file with mode: 0644]
src/mkfont/hfmdump.exe
src/mkfont/hfmdump.obj [new file with mode: 0644]
src/mkfont/hfmlib.obj [new file with mode: 0644]
src/mkfont/hfmtool.exe
src/mkfont/hfmtool.obj [new file with mode: 0644]
src/mkfont/hfmwidth.exe
src/mkfont/hfmwidth.obj [new file with mode: 0644]
src/mkfont/hycache.obj [new file with mode: 0644]
src/mkfont/hyfile.obj [new file with mode: 0644]
src/mkfont/hyfs.obj [new file with mode: 0644]
src/mkfont/hyimage.obj [new file with mode: 0644]
src/mkfont/hylist.obj [new file with mode: 0644]
src/mkfont/hymb.obj [new file with mode: 0644]
src/mkfont/hystring.obj [new file with mode: 0644]
src/mkfont/n.bat
src/mkfont/txt2chs.exe
src/mkfont/txt2chs.obj [new file with mode: 0644]
src/mkutil/make-3.80/ABOUT-NLS [new file with mode: 0644]
src/mkutil/make-3.80/AUTHORS [new file with mode: 0644]
src/mkutil/make-3.80/COPYING [new file with mode: 0644]
src/mkutil/make-3.80/ChangeLog [new file with mode: 0644]
src/mkutil/make-3.80/INSTALL [new file with mode: 0644]
src/mkutil/make-3.80/Makefile.DOS [new file with mode: 0644]
src/mkutil/make-3.80/Makefile.am [new file with mode: 0644]
src/mkutil/make-3.80/Makefile.ami [new file with mode: 0644]
src/mkutil/make-3.80/Makefile.in [new file with mode: 0644]
src/mkutil/make-3.80/NEWS [new file with mode: 0644]
src/mkutil/make-3.80/NMakefile [new file with mode: 0644]
src/mkutil/make-3.80/NMakefile$ [new file with mode: 0644]
src/mkutil/make-3.80/README [new file with mode: 0644]
src/mkutil/make-3.80/README.Amiga [new file with mode: 0644]
src/mkutil/make-3.80/README.DOS [new file with mode: 0644]
src/mkutil/make-3.80/README.W32 [new file with mode: 0644]
src/mkutil/make-3.80/README.customs [new file with mode: 0644]
src/mkutil/make-3.80/SCOPTIONS [new file with mode: 0644]
src/mkutil/make-3.80/SMakefile [new file with mode: 0644]
src/mkutil/make-3.80/acinclude.m4 [new file with mode: 0644]
src/mkutil/make-3.80/aclocal.m4 [new file with mode: 0644]
src/mkutil/make-3.80/alloca.c [new file with mode: 0644]
src/mkutil/make-3.80/amiga.c [new file with mode: 0644]
src/mkutil/make-3.80/amiga.h [new file with mode: 0644]
src/mkutil/make-3.80/ar.c [new file with mode: 0644]
src/mkutil/make-3.80/arscan.c [new file with mode: 0644]
src/mkutil/make-3.80/build.sh.in [new file with mode: 0644]
src/mkutil/make-3.80/build_w32.bat [new file with mode: 0644]
src/mkutil/make-3.80/commands.c [new file with mode: 0644]
src/mkutil/make-3.80/commands.h [new file with mode: 0644]
src/mkutil/make-3.80/config.ami [new file with mode: 0644]
src/mkutil/make-3.80/config.h [new file with mode: 0644]
src/mkutil/make-3.80/config.h-vms [new file with mode: 0644]
src/mkutil/make-3.80/config.h.W32 [new file with mode: 0644]
src/mkutil/make-3.80/config.h.in [new file with mode: 0644]
src/mkutil/make-3.80/configh.dos [new file with mode: 0644]
src/mkutil/make-3.80/configure [new file with mode: 0644]
src/mkutil/make-3.80/configure.bat [new file with mode: 0644]
src/mkutil/make-3.80/configure.in [new file with mode: 0644]
src/mkutil/make-3.80/debug.h [new file with mode: 0644]
src/mkutil/make-3.80/default.c [new file with mode: 0644]
src/mkutil/make-3.80/dep.h [new file with mode: 0644]
src/mkutil/make-3.80/dir.c [new file with mode: 0644]
src/mkutil/make-3.80/dosbuild.bat [new file with mode: 0644]
src/mkutil/make-3.80/expand.c [new file with mode: 0644]
src/mkutil/make-3.80/file.c [new file with mode: 0644]
src/mkutil/make-3.80/filedef.h [new file with mode: 0644]
src/mkutil/make-3.80/function.c [new file with mode: 0644]
src/mkutil/make-3.80/getloadavg.c [new file with mode: 0644]
src/mkutil/make-3.80/getopt.c [new file with mode: 0644]
src/mkutil/make-3.80/getopt.h [new file with mode: 0644]
src/mkutil/make-3.80/getopt1.c [new file with mode: 0644]
src/mkutil/make-3.80/gettext.h [new file with mode: 0644]
src/mkutil/make-3.80/glob/COPYING.LIB [new file with mode: 0644]
src/mkutil/make-3.80/glob/ChangeLog [new file with mode: 0644]
src/mkutil/make-3.80/glob/Makefile.am [new file with mode: 0644]
src/mkutil/make-3.80/glob/Makefile.ami [new file with mode: 0644]
src/mkutil/make-3.80/glob/Makefile.in [new file with mode: 0644]
src/mkutil/make-3.80/glob/SCOPTIONS [new file with mode: 0644]
src/mkutil/make-3.80/glob/SMakefile [new file with mode: 0644]
src/mkutil/make-3.80/glob/configure.bat [new file with mode: 0644]
src/mkutil/make-3.80/glob/fnmatch.c [new file with mode: 0644]
src/mkutil/make-3.80/glob/fnmatch.h [new file with mode: 0644]
src/mkutil/make-3.80/glob/glob.c [new file with mode: 0644]
src/mkutil/make-3.80/glob/glob.h [new file with mode: 0644]
src/mkutil/make-3.80/hash.c [new file with mode: 0644]
src/mkutil/make-3.80/hash.h [new file with mode: 0644]
src/mkutil/make-3.80/implicit.c [new file with mode: 0644]
src/mkutil/make-3.80/job.c [new file with mode: 0644]
src/mkutil/make-3.80/job.h [new file with mode: 0644]
src/mkutil/make-3.80/link.dbg [new file with mode: 0644]
src/mkutil/make-3.80/loadavg.c [new file with mode: 0644]
src/mkutil/make-3.80/main.c [new file with mode: 0644]
src/mkutil/make-3.80/make.1 [new file with mode: 0644]
src/mkutil/make-3.80/make.h [new file with mode: 0644]
src/mkutil/make-3.80/make.lnk [new file with mode: 0644]
src/mkutil/make-3.80/makefile.com [new file with mode: 0644]
src/mkutil/make-3.80/makefile.vms [new file with mode: 0644]
src/mkutil/make-3.80/misc.c [new file with mode: 0644]
src/mkutil/make-3.80/n.bat [new file with mode: 0644]
src/mkutil/make-3.80/read.c [new file with mode: 0644]
src/mkutil/make-3.80/readme.vms [new file with mode: 0644]
src/mkutil/make-3.80/remake.c [new file with mode: 0644]
src/mkutil/make-3.80/remote-cstms.c [new file with mode: 0644]
src/mkutil/make-3.80/remote-stub.c [new file with mode: 0644]
src/mkutil/make-3.80/respf.$$$ [new file with mode: 0644]
src/mkutil/make-3.80/rule.c [new file with mode: 0644]
src/mkutil/make-3.80/rule.h [new file with mode: 0644]
src/mkutil/make-3.80/signame.c [new file with mode: 0644]
src/mkutil/make-3.80/subproc.bat [new file with mode: 0644]
src/mkutil/make-3.80/variable.c [new file with mode: 0644]
src/mkutil/make-3.80/variable.h [new file with mode: 0644]
src/mkutil/make-3.80/version.c [new file with mode: 0644]
src/mkutil/make-3.80/vmsdir.h [new file with mode: 0644]
src/mkutil/make-3.80/vmsfunctions.c [new file with mode: 0644]
src/mkutil/make-3.80/vmsify.c [new file with mode: 0644]
src/mkutil/make-3.80/vpath.c [new file with mode: 0644]
src/mkutil/make-3.80/w32/compat/dirent.c [new file with mode: 0644]
src/mkutil/make-3.80/w32/include/dirent.h [new file with mode: 0644]
src/mkutil/make-3.80/w32/include/pathstuff.h [new file with mode: 0644]
src/mkutil/make-3.80/w32/include/sub_proc.h [new file with mode: 0644]
src/mkutil/make-3.80/w32/include/w32err.h [new file with mode: 0644]
src/mkutil/make-3.80/w32/pathstuff.c [new file with mode: 0644]
src/mkutil/make-3.80/w32/subproc/NMakefile [new file with mode: 0644]
src/mkutil/make-3.80/w32/subproc/build.bat [new file with mode: 0644]
src/mkutil/make-3.80/w32/subproc/misc.c [new file with mode: 0644]
src/mkutil/make-3.80/w32/subproc/proc.h [new file with mode: 0644]
src/mkutil/make-3.80/w32/subproc/sub_proc.c [new file with mode: 0644]
src/mkutil/make-3.80/w32/subproc/w32err.c [new file with mode: 0644]
src/mkutil/make-3.80/x.bat [new file with mode: 0644]
src/mkutil/revava-0.3/Source.C% [deleted file]
src/mkutil/revava-0.3/n.bat% [deleted file]
src/nicktemp/avr_make [deleted file]
src/nicktemp/hello.c [deleted file]
src/nicktemp/hello.eep [deleted file]
src/nicktemp/hello.elf [deleted file]
src/nicktemp/hello.h [deleted file]
src/nicktemp/hello.hex [deleted file]
src/nicktemp/hello.lst [deleted file]
src/nicktemp/hello.map [deleted file]
src/nicktemp/hello.o [deleted file]
src/nicktemp/hello.s [deleted file]
src/nicktemp/hello.tar.gz [deleted file]
src/nicktemp/makefile [deleted file]
src/testsystem/login [new file with mode: 0644]
src/testsystem/tter.c.save [deleted file]

index 45f1211..9353d2c 100644 (file)
@@ -1,2 +1,2 @@
 ucp < appinst.ucp\r
-copy uzidisk.dat i:\\r
+copy uzidisk.dat %FLASHCARDPATH%\r
diff --git a/bin/appinst.bat% b/bin/appinst.bat%
deleted file mode 100644 (file)
index 0836b57..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-ucp < appinst.ucp\r
-copy uzidisk.dat f:\\r
index 4c6d489..ea4bfd9 100644 (file)
@@ -8,8 +8,8 @@ rm -f /wnd/*.scr
 cp -v /usr/boot/inst/wnd/*.scr /wnd\r
 \r
 rm -f /bin/grlogin /bin/test\r
-cp -v /usr/boot/inst/bin/grlogin /usr/boot/inst/bin/test /bin\r
-align -v /bin/grlogin /bin/test\r
+cp -v /usr/boot/inst/bin/grlogin /usr/boot/inst/bin/test /usr/boot/inst/bin/db /bin\r
+align -v /bin/grlogin /bin/test /bin/db\r
 \r
 echo ""\r
 echo "Finished installing application"\r
index d875517..99b88d0 100644 (file)
@@ -1,4 +1,5 @@
 root b:\r
+mkdir /db\r
 cd /boot\r
 mkdir inst\r
 get appinst.sh\r
@@ -11,6 +12,8 @@ bget banked\grlogin grlogin
 chmod 755 grlogin\r
 bget banked\test test\r
 chmod 755 test\r
+bget banked\db db\r
+chmod 755 db\r
 cd /boot/inst/wnd\r
 bget data\logn.scr logn.scr\r
 chmod 644 logn.scr \r
@@ -26,4 +29,7 @@ bget data\0004.scr 0004.scr
 chmod 644 0004.scr \r
 bget data\kass.scr kass.scr\r
 chmod 644 kass.scr\r
+cd /db\r
+bget db/test.DAT test.DAT\r
+bget db/test.TBL test.TBL\r
 exit\r
diff --git a/bin/banked/db b/bin/banked/db
new file mode 100644 (file)
index 0000000..82dd656
Binary files /dev/null and b/bin/banked/db differ
index c55a6b2..dc4597c 100644 (file)
Binary files a/bin/banked/grlogin and b/bin/banked/grlogin differ
index 2a9df96..9f527c4 100644 (file)
Binary files a/bin/banked/test and b/bin/banked/test differ
similarity index 50%
rename from bin/CHECKSUM
rename to bin/checksum
index b53d28a..a95292b 100644 (file)
Binary files a/bin/CHECKSUM and b/bin/checksum differ
index 850c720..656b892 100644 (file)
Binary files a/bin/data/0000.scr and b/bin/data/0000.scr differ
index a534830..1dfdfb0 100644 (file)
Binary files a/bin/data/0001.scr and b/bin/data/0001.scr differ
index 389139b..1cabac0 100644 (file)
Binary files a/bin/data/0002.scr and b/bin/data/0002.scr differ
index 749c1d9..d60aff0 100644 (file)
Binary files a/bin/data/0003.scr and b/bin/data/0003.scr differ
index 238ad7b..4758fd4 100644 (file)
Binary files a/bin/data/0004.scr and b/bin/data/0004.scr differ
index 2977e7d..3d37b26 100644 (file)
Binary files a/bin/data/kass.scr and b/bin/data/kass.scr differ
diff --git a/bin/data/uzi b/bin/data/uzi
new file mode 100644 (file)
index 0000000..656b892
Binary files /dev/null and b/bin/data/uzi differ
diff --git a/bin/db/test.DAT b/bin/db/test.DAT
new file mode 100644 (file)
index 0000000..d2cd9f2
Binary files /dev/null and b/bin/db/test.DAT differ
diff --git a/bin/db/test.TBL b/bin/db/test.TBL
new file mode 100644 (file)
index 0000000..b3f01b1
Binary files /dev/null and b/bin/db/test.TBL differ
diff --git a/bin/good/CHECKSUM b/bin/good/CHECKSUM
deleted file mode 100644 (file)
index b53d28a..0000000
Binary files a/bin/good/CHECKSUM and /dev/null differ
diff --git a/bin/good/kernel.bin b/bin/good/kernel.bin
deleted file mode 100644 (file)
index fdb3dc9..0000000
Binary files a/bin/good/kernel.bin and /dev/null differ
diff --git a/bin/good/uzboot.bin b/bin/good/uzboot.bin
deleted file mode 100644 (file)
index 02bbd26..0000000
Binary files a/bin/good/uzboot.bin and /dev/null differ
index bda1f83..2805ea7 100644 (file)
Binary files a/bin/good/uzboot.gz and b/bin/good/uzboot.gz differ
diff --git a/bin/good/uzidisk.dat b/bin/good/uzidisk.dat
deleted file mode 100644 (file)
index e3eb7a4..0000000
Binary files a/bin/good/uzidisk.dat and /dev/null differ
diff --git a/bin/inittab.txt% b/bin/inittab.txt%
deleted file mode 100644 (file)
index 57df377..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# Hytech initialisation table for running system\r
-\r
-@/etc/rc.d/rc.sysinit\r
-@/etc/rc.d/rc.runonce\r
-/bin/grlogin\r
-\r
index fdb3dc9..81b7882 100644 (file)
Binary files a/bin/kernel.bin and b/bin/kernel.bin differ
index e279c43..a0c4130 100644 (file)
@@ -122,9 +122,6 @@ chgrp 100 morsinkj
 mkdir buijsr\r
 chown 80 buijsr\r
 chgrp 100 buijsr\r
-mkdir 90\r
-chown 11 90\r
-chgrp 101 90\r
 mkdir tsys\r
 chown 0 tsys\r
 chgrp 0 tsys\r
diff --git a/bin/mkboot.ucp% b/bin/mkboot.ucp%
deleted file mode 100644 (file)
index 87f3938..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-root b:\r
-cd /\r
-mkdir bin\r
-mkdir boot\r
-mkdir dev\r
-mkdir etc\r
-mkdir home\r
-mkdir lib\r
-mkdir mnt\r
-mkdir root\r
-mkdir tmp\r
-mkdir usr\r
-mkdir var\r
-cd /bin\r
-bget banked\align align\r
-chmod 755 align\r
-align align\r
-bget banked\cat cat\r
-chmod 755 cat\r
-align cat\r
-bget banked\chgrp chgrp\r
-chmod 755 chgrp\r
-align chgrp\r
-bget banked\chmod chmod\r
-chmod 755 chmod\r
-align chmod\r
-bget banked\chown chown\r
-chmod 755 chown\r
-align chown\r
-bget banked\cp cp\r
-chmod 755 cp\r
-align cp\r
-bget banked\echo echo\r
-chmod 755 echo\r
-align echo\r
-bget banked\fsck fsck\r
-chmod 755 fsck\r
-align fsck\r
-bget banked\init init\r
-chmod 755 init\r
-align init\r
-sln cp ln\r
-bget banked\login login\r
-chmod 755 login\r
-align login\r
-bget banked\ls ls\r
-chmod 755 ls\r
-align ls\r
-bget banked\mkdir mkdir\r
-chmod 755 mkdir\r
-align mkdir\r
-bget banked\more more\r
-chmod 755 more\r
-align more\r
-bget banked\mount mount\r
-chmod 755 mount\r
-align mount\r
-bget banked\msh msh\r
-chmod 755 msh\r
-align msh\r
-sln cp mv\r
-bget banked\reboot reboot\r
-chmod 755 reboot\r
-align reboot\r
-sln cp rm\r
-bget banked\rmdir rmdir\r
-chmod 755 rmdir\r
-align rmdir\r
-sln msh sh\r
-bget banked\ualign ualign\r
-chmod 755 ualign\r
-align ualign\r
-bget banked\umount umount\r
-chmod 755 umount\r
-align umount\r
-cd /boot\r
-bget kernel.bin\r
-align kernel.bin\r
-cd /dev\r
-umask 000\r
-mknod hd0 60666 0 0\r
-mknod hd1 60666 0 1\r
-mknod null 20666 1 0\r
-mknod zero 20666 2 0\r
-mknod kmem 20666 3 0\r
-mknod tty 20666 4 0\r
-mknod tty0 20666 4 1\r
-mknod tty1 20666 4 2\r
-mknod tty2 20666 4 3\r
-mknod tty3 20666 4 4\r
-mknod scale 20666 4 5\r
-mknod lcd0 20666 4 6\r
-mknod lcd1 20666 4 7\r
-mknod lpr0 20666 4 9\r
-umask 022\r
-sln tty0 cognitive\r
-sln tty1 barcode\r
-sln tty1 console\r
-sln tty2 atmodem\r
-sln tty3 apilan\r
-sln lpr0 printer\r
-cd /etc\r
-get group.txt group\r
-get passwd.txt passwd\r
-get mtab.txt mtab\r
-get fstab.txt fstab\r
-get inittab.txt inittab\r
-get profile.sh profile\r
-mkdir rc.d\r
-cd /etc/rc.d\r
-get sysinit.rc rc.sysinit\r
-chmod 755 rc.sysinit\r
-get runonce.rc rc.runonce\r
-chmod 755 rc.runonce\r
-cd /home\r
-mkdir downingn\r
-chown 60 downingn\r
-chgrp 100 downingn\r
-mkdir morsinkj\r
-chown 70 morsinkj\r
-chgrp 100 morsinkj\r
-mkdir buijsr\r
-chown 80 buijsr\r
-chgrp 100 buijsr\r
-mkdir 90\r
-chown 11 90\r
-chgrp 101 90\r
-mkdir tsys\r
-chown 0 tsys\r
-chgrp 0 tsys\r
-cd /home/tsys\r
-get profile.tsys.sh .profile\r
-chmod 755 .profile\r
-bget tsys\r
-chmod 755 tsys\r
-align tsys\r
-cd /lib\r
-get liberror.txt\r
-exit\r
diff --git a/bin/mkboot.ucp.org b/bin/mkboot.ucp.org
deleted file mode 100644 (file)
index f8c52ec..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-root b:\r
-cd /\r
-mkdir bin\r
-mkdir boot\r
-mkdir dev\r
-mkdir etc\r
-mkdir home\r
-mkdir lib\r
-mkdir mnt\r
-mkdir root\r
-mkdir tmp\r
-mkdir usr\r
-mkdir var\r
-cd /bin\r
-bget banked\align align\r
-chmod 755 align\r
-align align\r
-bget banked\cat cat\r
-chmod 755 cat\r
-align cat\r
-bget banked\chgrp chgrp\r
-chmod 755 chgrp\r
-align chgrp\r
-bget banked\chmod chmod\r
-chmod 755 chmod\r
-align chmod\r
-bget banked\chown chown\r
-chmod 755 chown\r
-align chown\r
-bget banked\cp cp\r
-chmod 755 cp\r
-align cp\r
-bget banked\echo echo\r
-chmod 755 echo\r
-align echo\r
-bget banked\fsck fsck\r
-chmod 755 fsck\r
-align fsck\r
-bget banked\init init\r
-chmod 755 init\r
-align init\r
-sln cp ln\r
-bget banked\login login\r
-chmod 755 login\r
-align login\r
-bget banked\ls ls\r
-chmod 755 ls\r
-align ls\r
-bget banked\mkdir mkdir\r
-chmod 755 mkdir\r
-align mkdir\r
-bget banked\more more\r
-chmod 755 more\r
-align more\r
-bget banked\mount mount\r
-chmod 755 mount\r
-align mount\r
-bget banked\msh msh\r
-chmod 755 msh\r
-align msh\r
-sln cp mv\r
-bget banked\reboot reboot\r
-chmod 755 reboot\r
-align reboot\r
-sln cp rm\r
-bget banked\rmdir rmdir\r
-chmod 755 rmdir\r
-align rmdir\r
-sln msh sh\r
-bget banked\ualign ualign\r
-chmod 755 ualign\r
-align ualign\r
-bget banked\umount umount\r
-chmod 755 umount\r
-align umount\r
-cd /boot\r
-bget kernel.bin\r
-align kernel.bin\r
-cd /dev\r
-umask 000\r
-mknod hd0 60666 0 0\r
-mknod hd1 60666 0 1\r
-mknod null 20666 1 0\r
-mknod zero 20666 2 0\r
-mknod kmem 20666 3 0\r
-mknod tty 20666 4 0\r
-mknod tty0 20666 4 1\r
-mknod tty1 20666 4 2\r
-mknod tty2 20666 4 3\r
-mknod tty3 20666 4 4\r
-mknod scale 20666 4 5\r
-mknod lcd0 20666 4 6\r
-mknod lcd1 20666 4 7\r
-mknod lpr0 20666 4 9\r
-umask 022\r
-sln tty0 cognitive\r
-sln tty1 barcode\r
-sln tty1 console\r
-sln tty2 atmodem\r
-sln tty3 apilan\r
-sln lpr0 printer\r
-cd /etc\r
-get group.txt group\r
-get passwd.txt passwd\r
-get mtab.txt mtab\r
-get fstab.txt fstab\r
-get inittab.txt inittab\r
-get profile.sh profile\r
-mkdir rc.d\r
-cd /etc/rc.d\r
-get sysinit.rc rc.sysinit\r
-chmod 755 rc.sysinit\r
-get runonce.rc rc.runonce\r
-chmod 755 rc.runonce\r
-cd /home\r
-mkdir downingn\r
-chown 60 downingn\r
-chgrp 100 downingn\r
-mkdir morsinkj\r
-chown 70 morsinkj\r
-chgrp 100 morsinkj\r
-mkdir buijsr\r
-chown 80 buijsr\r
-chgrp 100 buijsr\r
-mkdir 90\r
-chown 11 90\r
-chgrp 101 90\r
-cd /lib\r
-get liberror.txt\r
-exit\r
index e49fa4f..8153147 100644 (file)
--- a/bin/n.bat
+++ b/bin/n.bat
@@ -27,7 +27,7 @@ ucp < n.ucp
 fsck -y uzidisk.dat\r
 @if errorlevel 1 goto failure\r
 call appinst.bat\r
-@rem copy uzidisk.dat e:\\r
+@rem copy uzidisk.dat %FLASHCARDPATH%\r
 \r
 @echo SUCCESS\r
 @goto done\r
index 3b690d4..ed35245 100644 (file)
--- a/bin/n.ucp
+++ b/bin/n.ucp
@@ -327,9 +327,6 @@ chgrp 100 morsinkj
 mkdir buijsr\r
 chown 80 buijsr\r
 chgrp 100 buijsr\r
-mkdir 90\r
-chown 11 90\r
-chgrp 101 90\r
 mkdir tsys\r
 chown 0 tsys\r
 chgrp 0 tsys\r
diff --git a/bin/n.ucp% b/bin/n.ucp%
deleted file mode 100644 (file)
index cebd271..0000000
+++ /dev/null
@@ -1,527 +0,0 @@
-root b:\r
-cd /\r
-mkdir bin\r
-mkdir boot\r
-mkdir dev\r
-mkdir etc\r
-mkdir home\r
-mkdir lib\r
-mkdir man\r
-mkdir mnt\r
-mkdir root\r
-mkdir tmp\r
-mkdir var\r
-cd /bin\r
-bget large\adduser adduser\r
-chmod 755 adduser\r
-bget large\align align\r
-chmod 755 align\r
-bget large\apropos apropos\r
-chmod 755 apropos\r
-bget large\banner banner\r
-chmod 755 banner\r
-bget large\basename basename\r
-chmod 755 basename\r
-bget large\bd bd\r
-chmod 755 bd\r
-bget large\cal cal\r
-chmod 755 cal\r
-bget large\cat cat\r
-chmod 755 cat\r
-bget large\catman catman\r
-chmod 755 catman\r
-bget large\cdiff cdiff\r
-chmod 755 cdiff\r
-bget large\cgrep cgrep\r
-chmod 755 cgrep\r
-bget large\chgrp chgrp\r
-chmod 755 chgrp\r
-bget large\chmod chmod\r
-chmod 755 chmod\r
-bget large\chown chown\r
-chmod 755 chown\r
-bget large\cksum cksum\r
-chmod 755 cksum\r
-bget large\cmp cmp\r
-chmod 755 cmp\r
-bget large\cp cp\r
-chmod 755 cp\r
-bget large\cr cr\r
-chmod 755 cr\r
-bget large\crc crc\r
-chmod 755 crc\r
-bget large\cron cron\r
-chmod 755 cron\r
-bget large\date date\r
-chmod 755 date\r
-bget large\dd dd\r
-chmod 755 dd\r
-bget large\df df\r
-chmod 755 df\r
-bget large\dhry dhry\r
-chmod 755 dhry\r
-bget large\diff diff\r
-chmod 755 diff\r
-bget large\dirname dirname\r
-chmod 755 dirname\r
-bget large\diskusag diskusag\r
-chmod 755 diskusag\r
-bget large\dtree dtree\r
-chmod 755 dtree\r
-bget large\du du\r
-chmod 755 du\r
-bget large\echo echo\r
-chmod 755 echo\r
-bget large\ed ed\r
-chmod 755 ed\r
-bget large\expr expr\r
-chmod 755 expr\r
-bget large\false false\r
-chmod 755 false\r
-bget large\fgrep fgrep\r
-chmod 755 fgrep\r
-bget large\file file\r
-chmod 755 file\r
-bget large\find find\r
-chmod 755 find\r
-bget large\fld fld\r
-chmod 755 fld\r
-bget large\fortune fortune\r
-chmod 755 fortune\r
-bget large\fsck fsck\r
-chmod 755 fsck\r
-bget large\grep grep\r
-chmod 755 grep\r
-bget large\gres gres\r
-chmod 755 gres\r
-bget large\head head\r
-chmod 755 head\r
-bget large\id id\r
-chmod 755 id\r
-bget large\init init\r
-chmod 755 init\r
-bget large\inodes inodes\r
-chmod 755 inodes\r
-bget large\kill kill\r
-chmod 755 kill\r
-sln cp ln\r
-bget large\login login\r
-chmod 755 login\r
-bget large\lpd lpd\r
-chmod 755 lpd\r
-bget large\lpr lpr\r
-chmod 755 lpr\r
-bget large\ls ls\r
-chmod 755 ls\r
-get man\mkwhatis.sh makewhatis\r
-chmod 755 makewhatis\r
-bget large\man man\r
-chmod 755 man\r
-bget large\mkdir mkdir\r
-chmod 755 mkdir\r
-bget large\mkfs mkfs\r
-chmod 755 mkfs\r
-bget large\mknod mknod\r
-chmod 755 mknod\r
-bget large\more more\r
-chmod 755 more\r
-bget large\mount mount\r
-chmod 755 mount\r
-sln cp mv\r
-bget large\ncheck ncheck\r
-chmod 755 ncheck\r
-bget large\od od\r
-chmod 755 od\r
-bget large\passwd passwd\r
-chmod 755 passwd\r
-bget large\pathchk pathchk\r
-chmod 755 pathchk\r
-bget large\pr pr\r
-chmod 755 pr\r
-bget large\printenv printenv\r
-chmod 755 printenv\r
-bget large\ps ps\r
-chmod 755 ps\r
-bget large\pwd pwd\r
-chmod 755 pwd\r
-bget large\readall readall\r
-chmod 755 readall\r
-bget large\reboot reboot\r
-chmod 755 reboot\r
-bget large\renice renice\r
-chmod 755 renice\r
-sln cp rm\r
-bget large\rmdir rmdir\r
-chmod 755 rmdir\r
-bget large\roff roff\r
-chmod 755 roff\r
-bget large\sash sash\r
-chmod 755 sash\r
-bget large\setclock setclock\r
-chmod 755 setclock\r
-sln sash sh\r
-bget large\sort sort\r
-chmod 755 sort\r
-bget large\split split\r
-chmod 755 split\r
-bget large\su su\r
-chmod 755 su\r
-bget large\sum sum\r
-chmod 755 sum\r
-bget large\sync sync\r
-chmod 755 sync\r
-bget large\tail tail\r
-chmod 755 tail\r
-bget large\tar tar\r
-chmod 755 tar\r
-bget large\tee tee\r
-chmod 755 tee\r
-bget large\ter ter\r
-chmod 755 ter\r
-bget large\termcap termcap\r
-chmod 755 termcap\r
-bget large\test test\r
-chmod 755 test\r
-bget large\tget tget\r
-chmod 755 tget\r
-bget large\time time\r
-chmod 755 time\r
-bget large\top top\r
-chmod 755 top\r
-bget large\touch touch\r
-chmod 755 touch\r
-bget large\tr tr\r
-chmod 755 tr\r
-bget large\true true\r
-chmod 755 true\r
-bget large\ualign ualign\r
-chmod 755 ualign\r
-bget large\umount umount\r
-chmod 755 umount\r
-bget large\uniq uniq\r
-chmod 755 uniq\r
-bget large\uudecode uudecode\r
-chmod 755 uudecode\r
-bget large\uuencode uuencode\r
-chmod 755 uuencode\r
-bget large\wc wc\r
-chmod 755 wc\r
-bget large\which which\r
-chmod 755 which\r
-bget large\whoami whoami\r
-chmod 755 whoami\r
-bget large\yes yes\r
-chmod 755 yes\r
-cd /boot\r
-get mkramfs.sh\r
-chmod 755 mkramfs.sh\r
-get newkrnl.sh\r
-chmod 755 newkrnl.sh\r
-get runonce.sh\r
-chmod 755 runonce.sh\r
-bget uzboot.bin kernel.bin\r
-bget boot.bin\r
-bget checksum\r
-ln checksum crc\r
-mkdir skel\r
-cd /boot/skel\r
-mkdir bin\r
-mkdir boot\r
-mkdir dev\r
-mkdir etc\r
-mkdir home\r
-mkdir lib\r
-mkdir mnt\r
-mkdir root\r
-mkdir tmp\r
-mkdir usr\r
-mkdir var\r
-cd /boot/skel/bin\r
-bget banked\align align\r
-chmod 755 align\r
-bget banked\cat cat\r
-chmod 755 cat\r
-bget banked\chgrp chgrp\r
-chmod 755 chgrp\r
-bget banked\chmod chmod\r
-chmod 755 chmod\r
-bget banked\chown chown\r
-chmod 755 chown\r
-bget banked\cp cp\r
-chmod 755 cp\r
-bget banked\echo echo\r
-chmod 755 echo\r
-bget banked\fsck fsck\r
-chmod 755 fsck\r
-bget banked\init init\r
-chmod 755 init\r
-sln cp ln\r
-bget banked\login login\r
-chmod 755 login\r
-bget banked\ls ls\r
-chmod 755 ls\r
-bget banked\mkdir mkdir\r
-chmod 755 mkdir\r
-bget banked\more more\r
-chmod 755 more\r
-bget banked\mount mount\r
-chmod 755 mount\r
-bget banked\msh msh\r
-chmod 755 msh\r
-sln cp mv\r
-bget banked\reboot reboot\r
-chmod 755 reboot\r
-sln cp rm\r
-bget banked\rmdir rmdir\r
-chmod 755 rmdir\r
-sln msh sh\r
-bget banked\ualign ualign\r
-chmod 755 ualign\r
-bget banked\umount umount\r
-chmod 755 umount\r
-cd /boot/skel/boot\r
-bget kernel.bin\r
-cd /boot/skel/dev\r
-umask 000\r
-mknod hd0 60666 0 0\r
-mknod hd1 60666 0 1\r
-mknod null 20666 1 0\r
-mknod zero 20666 2 0\r
-mknod kmem 20666 3 0\r
-mknod tty 20666 4 0\r
-mknod tty0 20666 4 1\r
-mknod tty1 20666 4 2\r
-mknod tty2 20666 4 3\r
-mknod tty3 20666 4 4\r
-mknod scale 20666 4 5\r
-mknod lcd0 20666 4 6\r
-mknod lcd1 20666 4 7\r
-mknod lpr0 20666 4 9\r
-umask 022\r
-sln tty0 cognitive\r
-sln tty1 barcode\r
-sln tty1 console\r
-sln tty2 atmodem\r
-sln tty3 apilan\r
-sln lpr0 printer\r
-cd /boot/skel/etc\r
-get group.txt group\r
-get passwd.txt passwd\r
-get mtab.txt mtab\r
-get fstab.txt fstab\r
-get inittab.txt inittab\r
-get profile.sh profile\r
-mkdir rc.d\r
-cd /boot/skel/etc/rc.d\r
-get sysinit.rc rc.sysinit\r
-chmod 755 rc.sysinit\r
-get runonce.rc rc.runonce\r
-chmod 755 rc.runonce\r
-cd /boot/skel/home\r
-mkdir downingn\r
-chown 60 downingn\r
-chgrp 100 downingn\r
-mkdir morsinkj\r
-chown 70 morsinkj\r
-chgrp 100 morsinkj\r
-mkdir buijsr\r
-chown 80 buijsr\r
-chgrp 100 buijsr\r
-mkdir 90\r
-chown 11 90\r
-chgrp 101 90\r
-mkdir tsys\r
-chown 0 tsys\r
-chgrp 0 tsys\r
-cd /boot/skel/home/tsys\r
-get profile.tsys.sh .profile\r
-bget tsys\r
-chmod 755 .profile\r
-cd /boot/skel/lib\r
-get liberror.txt\r
-cd /dev\r
-umask 000\r
-mknod hd0 60666 0 0\r
-mknod hd1 60666 0 1\r
-mknod null 20666 1 0\r
-mknod zero 20666 2 0\r
-mknod kmem 20666 3 0\r
-mknod tty 20666 4 0\r
-mknod tty0 20666 4 1\r
-mknod tty1 20666 4 2\r
-mknod tty2 20666 4 3\r
-mknod tty3 20666 4 4\r
-mknod scale 20666 4 5\r
-mknod lcd0 20666 4 6\r
-mknod lcd1 20666 4 7\r
-mknod lpr0 20666 4 9\r
-umask 022\r
-sln tty0 cognitive\r
-sln tty1 barcode\r
-sln tty1 console\r
-sln tty2 atmodem\r
-sln tty3 apilan\r
-sln lpr0 printer\r
-cd /etc\r
-get group.txt group\r
-get passwd.txt passwd\r
-get xmtab.txt mtab\r
-get xfstab.txt fstab\r
-get xinittab.txt inittab\r
-cd /lib\r
-get liberror.txt\r
-get fortune.dat\r
-mkdir font\r
-mkdir term\r
-mkdir tmac\r
-cd /lib/font\r
-bget font\lcd0.cmd lcd0.cmd\r
-bget font\lcd1.cmd lcd1.cmd\r
-bget font\apibus.hfm apibus.hfm\r
-cd /lib/term\r
-bget term\tab37 tab37\r
-cd /lib/tmac\r
-get tmac\tmac.an tmac.an\r
-cd /man\r
-mkdir man1\r
-mkdir cat1\r
-get man\mkwhatis.sed makewhatis.sed\r
-cd /man/man1\r
-get man\man1\basename.1 basename.1\r
-get man\man1\cal.1 cal.1\r
-get man\man1\cat.1 cat.1\r
-get man\man1\chmod.1 chmod.1\r
-get man\man1\chown.1 chown.1\r
-get man\man1\cmp.1 cmp.1\r
-get man\man1\cp.1 cp.1\r
-get man\man1\date.1 date.1\r
-get man\man1\dd.1 dd.1\r
-get man\man1\diff.1 diff.1\r
-get man\man1\du.1 du.1\r
-get man\man1\echo.1 echo.1\r
-get man\man1\ed.1 ed.1\r
-get man\man1\expr.1 expr.1\r
-get man\man1\file.1 file.1\r
-get man\man1\find.1 find.1\r
-get man\man1\grep.1 grep.1\r
-get man\man1\kill.1 kill.1\r
-get man\man1\ln.1 ln.1\r
-get man\man1\login.1 login.1\r
-get man\man1\ls.1 ls.1\r
-get man\man1\man.1 man.1\r
-get man\man1\mkdir.1 mkdir.1\r
-get man\man1\mv.1 mv.1\r
-get man\man1\od.1 od.1\r
-get man\man1\passwd.1 passwd.1\r
-get man\man1\pr.1 pr.1\r
-get man\man1\ps.1 ps.1\r
-get man\man1\pwd.1 pwd.1\r
-get man\man1\rm.1 rm.1\r
-get man\man1\roff.1 roff.1\r
-get man\man1\sh.1 sh.1\r
-get man\man1\sort.1 sort.1\r
-get man\man1\split.1 split.1\r
-get man\man1\su.1 su.1\r
-get man\man1\sum.1 sum.1\r
-get man\man1\tail.1 tail.1\r
-get man\man1\tar.1 tar.1\r
-get man\man1\tee.1 tee.1\r
-get man\man1\test.1 test.1\r
-get man\man1\time.1 time.1\r
-get man\man1\touch.1 touch.1\r
-get man\man1\tr.1 tr.1\r
-get man\man1\troff.1 troff.1\r
-get man\man1\true.1 true.1\r
-get man\man1\uniq.1 uniq.1\r
-get man\man1\wc.1 wc.1\r
-cd /man/cat1\r
-get man\cat1\basename.0 basename.0\r
-get man\cat1\cal.0 cal.0\r
-get man\cat1\cat.0 cat.0\r
-get man\cat1\chmod.0 chmod.0\r
-get man\cat1\chown.0 chown.0\r
-get man\cat1\cmp.0 cmp.0\r
-get man\cat1\cp.0 cp.0\r
-get man\cat1\date.0 date.0\r
-get man\cat1\dd.0 dd.0\r
-get man\cat1\diff.0 diff.0\r
-get man\cat1\du.0 du.0\r
-get man\cat1\echo.0 echo.0\r
-get man\cat1\ed.0 ed.0\r
-get man\cat1\expr.0 expr.0\r
-get man\cat1\file.0 file.0\r
-get man\cat1\find.0 find.0\r
-get man\cat1\grep.0 grep.0\r
-get man\cat1\kill.0 kill.0\r
-get man\cat1\ln.0 ln.0\r
-get man\cat1\login.0 login.0\r
-get man\cat1\ls.0 ls.0\r
-get man\cat1\man.0 man.0\r
-get man\cat1\mkdir.0 mkdir.0\r
-get man\cat1\mv.0 mv.0\r
-get man\cat1\od.0 od.0\r
-get man\cat1\passwd.0 passwd.0\r
-get man\cat1\pr.0 pr.0\r
-get man\cat1\ps.0 ps.0\r
-get man\cat1\pwd.0 pwd.0\r
-get man\cat1\rm.0 rm.0\r
-get man\cat1\roff.0 roff.0\r
-get man\cat1\sh.0 sh.0\r
-get man\cat1\sort.0 sort.0\r
-get man\cat1\split.0 split.0\r
-get man\cat1\su.0 su.0\r
-get man\cat1\sum.0 sum.0\r
-get man\cat1\tail.0 tail.0\r
-get man\cat1\tar.0 tar.0\r
-get man\cat1\tee.0 tee.0\r
-get man\cat1\test.0 test.0\r
-get man\cat1\time.0 time.0\r
-get man\cat1\touch.0 touch.0\r
-get man\cat1\tr.0 tr.0\r
-get man\cat1\troff.0 troff.0\r
-get man\cat1\true.0 true.0\r
-get man\cat1\uniq.0 uniq.0\r
-get man\cat1\wc.0 wc.0\r
-cd /root\r
-get a.sh\r
-get b.sh\r
-get x.sh\r
-get n.sh\r
-chmod 755 n.sh\r
-get chset.sh\r
-chmod 755 chset.sh\r
-get demos.sh\r
-chmod 755 demos.sh\r
-bget demos\ned01-1 ned01-1\r
-bget demos\ned01-2 ned01-2\r
-bget demos\ned01-3 ned01-3\r
-bget demos\ned01-4 ned01-4\r
-bget demos\ned02-1 ned02-1\r
-bget demos\ned02-2 ned02-2\r
-bget demos\ned02-3 ned02-3\r
-bget demos\ned02-4 ned02-4\r
-bget demos\ned02-5 ned02-5\r
-bget demos\ned02-6 ned02-6\r
-bget demos\ned03-1 ned03-1\r
-bget demos\ned03-2 ned03-2\r
-bget demos\ned04-1 ned04-1\r
-bget demos\ned04-2 ned04-2\r
-bget demos\ned04-3 ned04-3\r
-bget demos\ned05-1 ned05-1\r
-bget demos\ned05-2 ned05-2\r
-bget demos\ned05-3 ned05-3\r
-bget demos\ned05-4 ned05-4\r
-bget demos\ned05-5 ned05-5\r
-bget demos\ned06-1 ned06-1\r
-bget demos\ned06-2 ned06-2\r
-bget demos\ned06-3 ned06-3\r
-bget demos\ned06-4 ned06-4\r
-bget demos\ned06-5 ned06-5\r
-bget demos\ned06-6 ned06-6\r
-bget chset\ned-chs ned-chs\r
-bget chset\std-chs std-chs\r
-bget chset\lpr-chs lpr-chs\r
-bget demos\lpr-rec lpr-rec\r
-bget chset\cog-chs cog-chs\r
-bget demos\cog-lab cog-lab\r
-exit\r
diff --git a/bin/n.ucp.org b/bin/n.ucp.org
deleted file mode 100644 (file)
index a05d5fe..0000000
+++ /dev/null
@@ -1,520 +0,0 @@
-root b:\r
-cd /\r
-mkdir bin\r
-mkdir boot\r
-mkdir dev\r
-mkdir etc\r
-mkdir home\r
-mkdir lib\r
-mkdir man\r
-mkdir mnt\r
-mkdir root\r
-mkdir tmp\r
-mkdir var\r
-cd /bin\r
-bget large\adduser adduser\r
-chmod 755 adduser\r
-bget large\align align\r
-chmod 755 align\r
-bget large\apropos apropos\r
-chmod 755 apropos\r
-bget large\banner banner\r
-chmod 755 banner\r
-bget large\basename basename\r
-chmod 755 basename\r
-bget large\bd bd\r
-chmod 755 bd\r
-bget large\cal cal\r
-chmod 755 cal\r
-bget large\cat cat\r
-chmod 755 cat\r
-bget large\catman catman\r
-chmod 755 catman\r
-bget large\cdiff cdiff\r
-chmod 755 cdiff\r
-bget large\cgrep cgrep\r
-chmod 755 cgrep\r
-bget large\chgrp chgrp\r
-chmod 755 chgrp\r
-bget large\chmod chmod\r
-chmod 755 chmod\r
-bget large\chown chown\r
-chmod 755 chown\r
-bget large\cksum cksum\r
-chmod 755 cksum\r
-bget large\cmp cmp\r
-chmod 755 cmp\r
-bget large\cp cp\r
-chmod 755 cp\r
-bget large\cr cr\r
-chmod 755 cr\r
-bget large\crc crc\r
-chmod 755 crc\r
-bget large\cron cron\r
-chmod 755 cron\r
-bget large\date date\r
-chmod 755 date\r
-bget large\dd dd\r
-chmod 755 dd\r
-bget large\df df\r
-chmod 755 df\r
-bget large\dhry dhry\r
-chmod 755 dhry\r
-bget large\diff diff\r
-chmod 755 diff\r
-bget large\dirname dirname\r
-chmod 755 dirname\r
-bget large\diskusag diskusag\r
-chmod 755 diskusag\r
-bget large\dtree dtree\r
-chmod 755 dtree\r
-bget large\du du\r
-chmod 755 du\r
-bget large\echo echo\r
-chmod 755 echo\r
-bget large\ed ed\r
-chmod 755 ed\r
-bget large\expr expr\r
-chmod 755 expr\r
-bget large\false false\r
-chmod 755 false\r
-bget large\fgrep fgrep\r
-chmod 755 fgrep\r
-bget large\file file\r
-chmod 755 file\r
-bget large\find find\r
-chmod 755 find\r
-bget large\fld fld\r
-chmod 755 fld\r
-bget large\fortune fortune\r
-chmod 755 fortune\r
-bget large\fsck fsck\r
-chmod 755 fsck\r
-bget large\grep grep\r
-chmod 755 grep\r
-bget large\gres gres\r
-chmod 755 gres\r
-bget large\head head\r
-chmod 755 head\r
-bget large\id id\r
-chmod 755 id\r
-bget large\init init\r
-chmod 755 init\r
-bget large\inodes inodes\r
-chmod 755 inodes\r
-bget large\kill kill\r
-chmod 755 kill\r
-sln cp ln\r
-bget large\login login\r
-chmod 755 login\r
-bget large\lpd lpd\r
-chmod 755 lpd\r
-bget large\lpr lpr\r
-chmod 755 lpr\r
-bget large\ls ls\r
-chmod 755 ls\r
-get man\mkwhatis.sh makewhatis\r
-chmod 755 makewhatis\r
-bget large\man man\r
-chmod 755 man\r
-bget large\mkdir mkdir\r
-chmod 755 mkdir\r
-bget large\mkfs mkfs\r
-chmod 755 mkfs\r
-bget large\mknod mknod\r
-chmod 755 mknod\r
-bget large\more more\r
-chmod 755 more\r
-bget large\mount mount\r
-chmod 755 mount\r
-sln cp mv\r
-bget large\ncheck ncheck\r
-chmod 755 ncheck\r
-bget large\od od\r
-chmod 755 od\r
-bget large\passwd passwd\r
-chmod 755 passwd\r
-bget large\pathchk pathchk\r
-chmod 755 pathchk\r
-bget large\pr pr\r
-chmod 755 pr\r
-bget large\printenv printenv\r
-chmod 755 printenv\r
-bget large\ps ps\r
-chmod 755 ps\r
-bget large\pwd pwd\r
-chmod 755 pwd\r
-bget large\readall readall\r
-chmod 755 readall\r
-bget large\reboot reboot\r
-chmod 755 reboot\r
-bget large\renice renice\r
-chmod 755 renice\r
-sln cp rm\r
-bget large\rmdir rmdir\r
-chmod 755 rmdir\r
-bget large\roff roff\r
-chmod 755 roff\r
-bget large\sash sash\r
-chmod 755 sash\r
-bget large\setclock setclock\r
-chmod 755 setclock\r
-sln sash sh\r
-bget large\sort sort\r
-chmod 755 sort\r
-bget large\split split\r
-chmod 755 split\r
-bget large\su su\r
-chmod 755 su\r
-bget large\sum sum\r
-chmod 755 sum\r
-bget large\sync sync\r
-chmod 755 sync\r
-bget large\tail tail\r
-chmod 755 tail\r
-bget large\tar tar\r
-chmod 755 tar\r
-bget large\tee tee\r
-chmod 755 tee\r
-bget large\ter ter\r
-chmod 755 ter\r
-bget large\termcap termcap\r
-chmod 755 termcap\r
-bget large\test test\r
-chmod 755 test\r
-bget large\tget tget\r
-chmod 755 tget\r
-bget large\time time\r
-chmod 755 time\r
-bget large\top top\r
-chmod 755 top\r
-bget large\touch touch\r
-chmod 755 touch\r
-bget large\tr tr\r
-chmod 755 tr\r
-bget large\true true\r
-chmod 755 true\r
-bget large\ualign ualign\r
-chmod 755 ualign\r
-bget large\umount umount\r
-chmod 755 umount\r
-bget large\uniq uniq\r
-chmod 755 uniq\r
-bget large\uudecode uudecode\r
-chmod 755 uudecode\r
-bget large\uuencode uuencode\r
-chmod 755 uuencode\r
-bget large\wc wc\r
-chmod 755 wc\r
-bget large\which which\r
-chmod 755 which\r
-bget large\whoami whoami\r
-chmod 755 whoami\r
-bget large\yes yes\r
-chmod 755 yes\r
-cd /boot\r
-get mkramfs.sh\r
-chmod 755 mkramfs.sh\r
-get newkrnl.sh\r
-chmod 755 newkrnl.sh\r
-get runonce.sh\r
-chmod 755 runonce.sh\r
-bget uzboot.bin kernel.bin\r
-bget boot.bin\r
-bget checksum\r
-ln checksum crc\r
-mkdir skel\r
-cd /boot/skel\r
-mkdir bin\r
-mkdir boot\r
-mkdir dev\r
-mkdir etc\r
-mkdir home\r
-mkdir lib\r
-mkdir mnt\r
-mkdir root\r
-mkdir tmp\r
-mkdir usr\r
-mkdir var\r
-cd /boot/skel/bin\r
-bget banked\align align\r
-chmod 755 align\r
-bget banked\cat cat\r
-chmod 755 cat\r
-bget banked\chgrp chgrp\r
-chmod 755 chgrp\r
-bget banked\chmod chmod\r
-chmod 755 chmod\r
-bget banked\chown chown\r
-chmod 755 chown\r
-bget banked\cp cp\r
-chmod 755 cp\r
-bget banked\echo echo\r
-chmod 755 echo\r
-bget banked\fsck fsck\r
-chmod 755 fsck\r
-bget banked\init init\r
-chmod 755 init\r
-sln cp ln\r
-bget banked\login login\r
-chmod 755 login\r
-bget banked\ls ls\r
-chmod 755 ls\r
-bget banked\mkdir mkdir\r
-chmod 755 mkdir\r
-bget banked\more more\r
-chmod 755 more\r
-bget banked\mount mount\r
-chmod 755 mount\r
-bget banked\msh msh\r
-chmod 755 msh\r
-sln cp mv\r
-bget banked\reboot reboot\r
-chmod 755 reboot\r
-sln cp rm\r
-bget banked\rmdir rmdir\r
-chmod 755 rmdir\r
-sln msh sh\r
-bget banked\ualign ualign\r
-chmod 755 ualign\r
-bget banked\umount umount\r
-chmod 755 umount\r
-cd /boot/skel/boot\r
-bget kernel.bin\r
-cd /boot/skel/dev\r
-umask 000\r
-mknod hd0 60666 0 0\r
-mknod hd1 60666 0 1\r
-mknod null 20666 1 0\r
-mknod zero 20666 2 0\r
-mknod kmem 20666 3 0\r
-mknod tty 20666 4 0\r
-mknod tty0 20666 4 1\r
-mknod tty1 20666 4 2\r
-mknod tty2 20666 4 3\r
-mknod tty3 20666 4 4\r
-mknod scale 20666 4 5\r
-mknod lcd0 20666 4 6\r
-mknod lcd1 20666 4 7\r
-mknod lpr0 20666 4 9\r
-umask 022\r
-sln tty0 cognitive\r
-sln tty1 barcode\r
-sln tty1 console\r
-sln tty2 atmodem\r
-sln tty3 apilan\r
-sln lpr0 printer\r
-cd /boot/skel/etc\r
-get group.txt group\r
-get passwd.txt passwd\r
-get mtab.txt mtab\r
-get fstab.txt fstab\r
-get inittab.txt inittab\r
-get profile.sh profile\r
-mkdir rc.d\r
-cd /boot/skel/etc/rc.d\r
-get sysinit.rc rc.sysinit\r
-chmod 755 rc.sysinit\r
-get runonce.rc rc.runonce\r
-chmod 755 rc.runonce\r
-cd /boot/skel/home\r
-mkdir downingn\r
-chown 60 downingn\r
-chgrp 100 downingn\r
-mkdir morsinkj\r
-chown 70 morsinkj\r
-chgrp 100 morsinkj\r
-mkdir buijsr\r
-chown 80 buijsr\r
-chgrp 100 buijsr\r
-mkdir 90\r
-chown 11 90\r
-chgrp 101 90\r
-cd /boot/skel/lib\r
-get liberror.txt\r
-cd /dev\r
-umask 000\r
-mknod hd0 60666 0 0\r
-mknod hd1 60666 0 1\r
-mknod null 20666 1 0\r
-mknod zero 20666 2 0\r
-mknod kmem 20666 3 0\r
-mknod tty 20666 4 0\r
-mknod tty0 20666 4 1\r
-mknod tty1 20666 4 2\r
-mknod tty2 20666 4 3\r
-mknod tty3 20666 4 4\r
-mknod scale 20666 4 5\r
-mknod lcd0 20666 4 6\r
-mknod lcd1 20666 4 7\r
-mknod lpr0 20666 4 9\r
-umask 022\r
-sln tty0 cognitive\r
-sln tty1 barcode\r
-sln tty1 console\r
-sln tty2 atmodem\r
-sln tty3 apilan\r
-sln lpr0 printer\r
-cd /etc\r
-get group.txt group\r
-get passwd.txt passwd\r
-get xmtab.txt mtab\r
-get xfstab.txt fstab\r
-get xinittab.txt inittab\r
-cd /lib\r
-get liberror.txt\r
-get fortune.dat\r
-mkdir font\r
-mkdir term\r
-mkdir tmac\r
-cd /lib/font\r
-bget font\lcd0.cmd lcd0.cmd\r
-bget font\lcd1.cmd lcd1.cmd\r
-bget font\apibus.hfm apibus.hfm\r
-cd /lib/term\r
-bget term\tab37 tab37\r
-cd /lib/tmac\r
-get tmac\tmac.an tmac.an\r
-cd /man\r
-mkdir man1\r
-mkdir cat1\r
-get man\mkwhatis.sed makewhatis.sed\r
-cd /man/man1\r
-get man\man1\basename.1 basename.1\r
-get man\man1\cal.1 cal.1\r
-get man\man1\cat.1 cat.1\r
-get man\man1\chmod.1 chmod.1\r
-get man\man1\chown.1 chown.1\r
-get man\man1\cmp.1 cmp.1\r
-get man\man1\cp.1 cp.1\r
-get man\man1\date.1 date.1\r
-get man\man1\dd.1 dd.1\r
-get man\man1\diff.1 diff.1\r
-get man\man1\du.1 du.1\r
-get man\man1\echo.1 echo.1\r
-get man\man1\ed.1 ed.1\r
-get man\man1\expr.1 expr.1\r
-get man\man1\file.1 file.1\r
-get man\man1\find.1 find.1\r
-get man\man1\grep.1 grep.1\r
-get man\man1\kill.1 kill.1\r
-get man\man1\ln.1 ln.1\r
-get man\man1\login.1 login.1\r
-get man\man1\ls.1 ls.1\r
-get man\man1\man.1 man.1\r
-get man\man1\mkdir.1 mkdir.1\r
-get man\man1\mv.1 mv.1\r
-get man\man1\od.1 od.1\r
-get man\man1\passwd.1 passwd.1\r
-get man\man1\pr.1 pr.1\r
-get man\man1\ps.1 ps.1\r
-get man\man1\pwd.1 pwd.1\r
-get man\man1\rm.1 rm.1\r
-get man\man1\roff.1 roff.1\r
-get man\man1\sh.1 sh.1\r
-get man\man1\sort.1 sort.1\r
-get man\man1\split.1 split.1\r
-get man\man1\su.1 su.1\r
-get man\man1\sum.1 sum.1\r
-get man\man1\tail.1 tail.1\r
-get man\man1\tar.1 tar.1\r
-get man\man1\tee.1 tee.1\r
-get man\man1\test.1 test.1\r
-get man\man1\time.1 time.1\r
-get man\man1\touch.1 touch.1\r
-get man\man1\tr.1 tr.1\r
-get man\man1\troff.1 troff.1\r
-get man\man1\true.1 true.1\r
-get man\man1\uniq.1 uniq.1\r
-get man\man1\wc.1 wc.1\r
-cd /man/cat1\r
-get man\cat1\basename.0 basename.0\r
-get man\cat1\cal.0 cal.0\r
-get man\cat1\cat.0 cat.0\r
-get man\cat1\chmod.0 chmod.0\r
-get man\cat1\chown.0 chown.0\r
-get man\cat1\cmp.0 cmp.0\r
-get man\cat1\cp.0 cp.0\r
-get man\cat1\date.0 date.0\r
-get man\cat1\dd.0 dd.0\r
-get man\cat1\diff.0 diff.0\r
-get man\cat1\du.0 du.0\r
-get man\cat1\echo.0 echo.0\r
-get man\cat1\ed.0 ed.0\r
-get man\cat1\expr.0 expr.0\r
-get man\cat1\file.0 file.0\r
-get man\cat1\find.0 find.0\r
-get man\cat1\grep.0 grep.0\r
-get man\cat1\kill.0 kill.0\r
-get man\cat1\ln.0 ln.0\r
-get man\cat1\login.0 login.0\r
-get man\cat1\ls.0 ls.0\r
-get man\cat1\man.0 man.0\r
-get man\cat1\mkdir.0 mkdir.0\r
-get man\cat1\mv.0 mv.0\r
-get man\cat1\od.0 od.0\r
-get man\cat1\passwd.0 passwd.0\r
-get man\cat1\pr.0 pr.0\r
-get man\cat1\ps.0 ps.0\r
-get man\cat1\pwd.0 pwd.0\r
-get man\cat1\rm.0 rm.0\r
-get man\cat1\roff.0 roff.0\r
-get man\cat1\sh.0 sh.0\r
-get man\cat1\sort.0 sort.0\r
-get man\cat1\split.0 split.0\r
-get man\cat1\su.0 su.0\r
-get man\cat1\sum.0 sum.0\r
-get man\cat1\tail.0 tail.0\r
-get man\cat1\tar.0 tar.0\r
-get man\cat1\tee.0 tee.0\r
-get man\cat1\test.0 test.0\r
-get man\cat1\time.0 time.0\r
-get man\cat1\touch.0 touch.0\r
-get man\cat1\tr.0 tr.0\r
-get man\cat1\troff.0 troff.0\r
-get man\cat1\true.0 true.0\r
-get man\cat1\uniq.0 uniq.0\r
-get man\cat1\wc.0 wc.0\r
-cd /root\r
-get a.sh\r
-get b.sh\r
-get x.sh\r
-get n.sh\r
-chmod 755 n.sh\r
-get chset.sh\r
-chmod 755 chset.sh\r
-get demos.sh\r
-chmod 755 demos.sh\r
-bget demos\ned01-1 ned01-1\r
-bget demos\ned01-2 ned01-2\r
-bget demos\ned01-3 ned01-3\r
-bget demos\ned01-4 ned01-4\r
-bget demos\ned02-1 ned02-1\r
-bget demos\ned02-2 ned02-2\r
-bget demos\ned02-3 ned02-3\r
-bget demos\ned02-4 ned02-4\r
-bget demos\ned02-5 ned02-5\r
-bget demos\ned02-6 ned02-6\r
-bget demos\ned03-1 ned03-1\r
-bget demos\ned03-2 ned03-2\r
-bget demos\ned04-1 ned04-1\r
-bget demos\ned04-2 ned04-2\r
-bget demos\ned04-3 ned04-3\r
-bget demos\ned05-1 ned05-1\r
-bget demos\ned05-2 ned05-2\r
-bget demos\ned05-3 ned05-3\r
-bget demos\ned05-4 ned05-4\r
-bget demos\ned05-5 ned05-5\r
-bget demos\ned06-1 ned06-1\r
-bget demos\ned06-2 ned06-2\r
-bget demos\ned06-3 ned06-3\r
-bget demos\ned06-4 ned06-4\r
-bget demos\ned06-5 ned06-5\r
-bget demos\ned06-6 ned06-6\r
-bget chset\ned-chs ned-chs\r
-bget chset\std-chs std-chs\r
-bget chset\lpr-chs lpr-chs\r
-bget demos\lpr-rec lpr-rec\r
-bget chset\cog-chs cog-chs\r
-bget demos\cog-lab cog-lab\r
-exit\r
index f8de846..e40c3a5 100644 (file)
@@ -3,5 +3,4 @@ bin:!:1:1::/bin:
 downingn:LbnMHnQ.K1gpi:60:100:Downing, Nicholas:/home/downingn:/bin/test\r
 morsinkj:TbKUmao1jtbos:70:100:Morsink, Joost:/home/morsinkj:/bin/test\r
 buijsr:0bkPMVw/Z4/sh:80:100:Buijs, Rob:/home/buijsr:\r
-90:IccdKbe10jjDC:11:101:Surname Firstname:/home/90:/bin/test\r
 tsys:NgR1MK81xxW9z:0:0:System, Test:/home/tsys:/bin/sh\r
diff --git a/bin/passwd.txt% b/bin/passwd.txt%
deleted file mode 100644 (file)
index b4bb552..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-root::0:0::/root:\r
-bin:!:1:1::/bin:\r
-downingn:LbnMHnQ.K1gpi:60:100:Downing, Nicholas:/home/downingn:/bin/test\r
-morsinkj:TbKUmao1jtbos:70:100:Morsink, Joost:/home/morsinkj:/bin/test\r
-buijsr:0bkPMVw/Z4/sh:80:100:Buijs, Rob:/home/buijsr:\r
-90:IccdKbe10jjDC:11:101:Surname Firstname:/home/90:/bin/test\r
-tsys:NgR1MK81xxW9z:12:0:System, Test:/home/tsys:/bin/sh\r
diff --git a/bin/passwd.txt.org b/bin/passwd.txt.org
deleted file mode 100644 (file)
index de5c68a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-root::0:0::/root:\r
-bin:!:1:1::/bin:\r
-downingn:LbnMHnQ.K1gpi:60:100:Downing, Nicholas:/home/downingn:/bin/test\r
-morsinkj:TbKUmao1jtbos:70:100:Morsink, Joost:/home/morsinkj:/bin/test\r
-buijsr:0bkPMVw/Z4/sh:80:100:Buijs, Rob:/home/buijsr:\r
-90:IccdKbe10jjDC:11:101:Surname Firstname:/home/90:/bin/test\r
diff --git a/bin/passwd.txt.org% b/bin/passwd.txt.org%
deleted file mode 100644 (file)
index fb0083c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-root::0:0::/root:\r
-bin:!:1:1::/bin:\r
-downingn:LbnMHnQ.K1gpi:60:100:Downing, Nicholas:/home/downingn:/bin/test\r
-morsinkj:TbKUmao1jtbos:70:100:Morsink, Joost:/home/morsinkj:/bin/test\r
-buijsr:0bkPMVw/Z4/sh:80:100:Buijs, Rob:/home/buijsr:\r
-90:IccdKbe10jjDC:11:101:Surname Firstname:/home/90:/bin/test\r
-testsys:NgR1MK81xxW9z:12:100:Test System:/home/test:/home/test/testsys.sh\r
diff --git a/bin/tstsys.sh% b/bin/tstsys.sh%
deleted file mode 100644 (file)
index 3e82b7b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-touch $HOME/tstsys.ena
-/bin/reboot
diff --git a/bin/tsys.sh% b/bin/tsys.sh%
deleted file mode 100644 (file)
index 3908fba..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-touch $HOME/ENABLED
-/bin/reboot
index 02bbd26..72ac5d1 100644 (file)
Binary files a/bin/uzboot.bin and b/bin/uzboot.bin differ
index bda1f83..2805ea7 100644 (file)
Binary files a/bin/uzboot.gz and b/bin/uzboot.gz differ
index e3eb7a4..a517148 100644 (file)
Binary files a/bin/uzidisk.dat and b/bin/uzidisk.dat differ
diff --git a/doc/solarisporting.pdf b/doc/solarisporting.pdf
new file mode 100644 (file)
index 0000000..32cdcce
Binary files /dev/null and b/doc/solarisporting.pdf differ
diff --git a/include/sys/wait.h% b/include/sys/wait.h%
deleted file mode 100644 (file)
index fdbae9a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/* wait.h dummy added by Nick, as UZI180 implements wait(), not waitpid() */\r
-\r
-#ifndef _SYS_WAIT_H\r
-#define _SYS_WAIT_H\r
-\r
-/* Bits in the third argument to `waitpid'.  */\r
-#define WNOHANG        1       /* Don't block waiting.  */\r
-#define WUNTRACED      2       /* Report status of stopped children.  */\r
-\r
-/* Everything extant so far uses these same bits.  */\r
-/* If WIFEXITED(STATUS), the low-order 8 bits of the status.  */\r
-#define WEXITSTATUS(status)    (((status) & 0xff00) >> 8)\r
-\r
-/* If WIFSIGNALED(STATUS), the terminating signal.  */\r
-#define WTERMSIG(status)       ((status) & 0x7f)\r
-\r
-/* If WIFSTOPPED(STATUS), the signal that stopped the child.  */\r
-#define WSTOPSIG(status)       WEXITSTATUS(status)\r
-\r
-/* Nonzero if STATUS indicates normal termination.  */\r
-#define WIFEXITED(status)      (((status) & 0xff) == 0)\r
-\r
-/* Nonzero if STATUS indicates termination by a signal.  */\r
-#define WIFSIGNALED(status)    (((unsigned int)((status)-1) & 0xFFFF) < 0xFF)\r
-\r
-/* Nonzero if STATUS indicates the child is stopped.  */\r
-#define WIFSTOPPED(status)     (((status) & 0xff) == 0x7f)\r
-\r
-/* Nonzero if STATUS indicates the child dumped core.  */\r
-#define WCOREDUMP(status)      ((status) & 0200)\r
-\r
-/* Macros for constructing status values.  */\r
-#define W_EXITCODE(ret, sig)   ((ret) << 8 | (sig))\r
-#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)\r
-\r
-#endif\r
-\r
index 10fed4b..7f0dac4 100644 (file)
@@ -61,9 +61,9 @@
     00000008 14 00                   61        defw    l__DEFAULT              ; e_hsize\r
     0000000A 00 81                   62        defw    s_RCODE                 ; e_idata\r
     0000000C 00 81                   63        defw    __init                  ; e_entry\r
-    0000000E 5A 81                   64        defw    s_UDATA0                ; e_udata\r
-    00000010 65 81                   65        defw    s_CSTACK                ; e_stack\r
-    00000012 65 91                   66        defw    e_CSTACK                ; e_break\r
+    0000000E 41 86                   64        defw    s_UDATA0                ; e_udata\r
+    00000010 84 88                   65        defw    s_CSTACK                ; e_stack\r
+    00000012 84 98                   66        defw    e_CSTACK                ; e_break\r
                                      67  .else\r
                                      68        jp      __init\r
                                      69  .endif\r
                                      98 ; sp-> +0 argc\r
                          00000001    99  .if 1\r
     00008100 D1                     100        pop     de\r
-    00008101 ED 53 5A 81            101        ld      (_argc),de              ; vendor __argc (2nd argument to main)\r
+    00008101 ED 53 41 86            101        ld      (_argc),de              ; vendor __argc (2nd argument to main)\r
     00008105 C1                     102        pop     bc\r
-    00008106 ED 43 5C 81            103        ld      (_argv),bc              ; vendor __argv (1st argument to main)\r
+    00008106 ED 43 43 86            103        ld      (_argv),bc              ; vendor __argv (1st argument to main)\r
     0000810A E1                     104        pop     hl\r
-    0000810B 22 5E 81               105        ld      (environ),hl            ; vendor _environ\r
+    0000810B 22 45 86               105        ld      (environ),hl            ; vendor _environ\r
                                     106  .else\r
                                     107        ld      ix,0\r
                                     108        add     ix,sp\r
                                     118  .endif\r
                                     119 \r
                          00000001   120  .if 1\r
-    0000810E 21 6E 40               121        ld      HL,LWRD main            ; banked call to _main()\r
+    0000810E 21 9C 6F               121        ld      HL,LWRD main            ; banked call to _main()\r
     00008111 3E 00                  122        ld      A,BYTE3 main\r
-    00008113 CD 36 81               123        call    ?BANK_CALL_DIRECT_L08\r
+    00008113 CD 19 82               123        call    ?BANK_CALL_DIRECT_L08\r
                                     124  .else\r
                                     125        call    main ; vendor _main     ; non-banked call to _main()\r
                                     126  .endif\r
     00008116 EB                     128        ex      de,hl                   ; de = exitcode (1st argument to exit)\r
                                     129 \r
                          00000001   130  .if 1\r
-    00008117 21 F7 40               131        ld      HL,LWRD exit            ; banked call to _exit()\r
-    0000811A 3E 00                  132        ld      A,BYTE3 exit\r
-    0000811C C3 36 81               133        jp      ?BANK_CALL_DIRECT_L08\r
+    00008117 21 AE 4C               131        ld      HL,LWRD exit            ; banked call to _exit()\r
+    0000811A 3E 01                  132        ld      A,BYTE3 exit\r
+    0000811C C3 19 82               133        jp      ?BANK_CALL_DIRECT_L08\r
                                     134  .else\r
                                     135        jp      exit ; vendor _exit     ; non-banked call to _exit()\r
                                     136  .endif\r
                                     291                ;public __argc, __argv, _environ, _errno, ___cleanup\r
                                     292 \r
                                     293                rseg    UDATA0\r
-    0000815A                        294 _argc:         defs    2               ; vendor __argc\r
-    0000815C                        295 _argv:         defs    2               ; vendor __argv\r
-    0000815E                        296 environ:       defs    2               ; vendor _environ\r
-    00008160                        297 errno:         defs    2               ; vendor _errno\r
-    00008162                        298 __cleanup:     defs    3 ; oopsy 2     ; vendor ___cleanup\r
+    00008641                        294 _argc:         defs    2               ; vendor __argc\r
+    00008643                        295 _argv:         defs    2               ; vendor __argv\r
+    00008645                        296 environ:       defs    2               ; vendor _environ\r
+    00008647                        297 errno:         defs    2               ; vendor _errno\r
+    00008649                        298 __cleanup:     defs    3 ; oopsy 2     ; vendor ___cleanup\r
                                     299 \r
                                     300                rseg    CSTACK\r
-    00008165                        301                defs    E_STACK_SIZE\r
+    00008884                        301                defs    E_STACK_SIZE\r
                                     302 \r
                                     303 ; -----------------------------------------------------------------------------\r
                                     304 \r
diff --git a/relnotes/20030704.txt b/relnotes/20030704.txt
new file mode 100644 (file)
index 0000000..ce151d1
--- /dev/null
@@ -0,0 +1,178 @@
+HYTECH-INTERNATIONAL BV\r
+UNIFIED TESTRELEASE 030704SD (REVISED!!)\r
+\r
+MANIFEST\r
+\r
+-rw-r--r--    1 Administ mkpasswd 11437595 Jul  4 17:58 cygrel.zip\r
+-rw-r--r--    1 Administ mkpasswd 15704968 Jul  4 17:57 cygwin.zip\r
+-rw-r--r--    1 Administ mkpasswd     3544 Jul  5 14:02 db.h\r
+-rw-r--r--    1 Administ mkpasswd      936 Jul  4 18:29 minmount.reg\r
+-rw-r--r--    1 Administ mkpasswd      951 Jul  5 14:08 mknbat-b.bat\r
+-rw-r--r--    1 Administ mkpasswd      950 Jul  5 14:08 mknbat-l.bat\r
+-rw-r--r--    1 Administ mkpasswd      589 Jul  5 14:08 n.bat\r
+-rw-r--r--    1 Administ mkpasswd    10832 Jul  5 13:55 n.ucp\r
+-rw-r--r--    1 Administ mkpasswd   106651 May 28 16:57 uzboot.gz\r
+-rw-r--r--    1 Administ mkpasswd 12531481 Jul  4 17:12 uzi.zip\r
+\r
+INTRODUCTION\r
+\r
+This unified release is supposed to tie together the work done by Nick, Rob B.\r
+and Joost over the last few months, and give us a (beta) platform to develop on\r
+for the next few months.  Nick has taken Rob B's latest uzi.zip (030702SD), and\r
+done a few cleanups.  Nick has added Joost's latest patches and compiled them.\r
+\r
+Please note that Joost's "grlogin" is not executed by default.  This change is\r
+meant to make it easier for Rob B's and Nick's development.  Joost, if you want\r
+to run "grlogin", edit "c:\uzi\bin\inittab.txt" and uncomment the last line.  I\r
+noticed that Rob's account doesn't run "/bin/test" by default, so use your own.\r
+\r
+Please note that Nick has made a few decisions wrt. the new "db" package.  The\r
+flash card building scripts have been updated to install "db" into the system. \r
+To test the database, log in as root and execute "db", then at SQL> type this:\r
+       SEL "*" FR test <Enter>\r
+Nice work Joost!!  At the moment, only the "test" table is loaded.  Is this OK?\r
+\r
+** LATE BREAKING NOTE:  New uzi.zip incorporating the changes mentioned below!!\r
+\r
+** LATE BREAKING NOTE:  "c:\uzi\bin\n.ucp" HAD A BUG IN IT, SOME DUPLICATES OF\r
+THE COMMANDS FROM "c:\uzi\bin\appinst.ucp", SO PLEASE APPLY "n.ucp" ON TOP!!!!\r
+\r
+** LATE BREAKING NOTE:  "c:\uzi\src\db\db.h" IS REVISED ACCORDING TO JOOST'S\r
+SUGGESTION, "#ifdef INTEL" IS REVISED TO "#ifndef ZILOG" OR "#else", PLS ADOPT!\r
+\r
+** LATE BREAKING NOTE:  "c:\uzi\src\db\n.bat" HAD WRONG OPTIMIZATION SETTINGS,\r
+SO PLEASE APPLY "n.bat" ON TOP, AND RECOMPILE THE DATABASE BY RUNNING THE FILE.\r
+\r
+** LATE BREAKING NOTE:  "c:\uzi\src\bin\mknbat-b.bat" HAD WRONG OPTIMIZATION\r
+SETTINGS (AND WARNINGS STUPIDLY DISABLED) SO PLEASE ADOPT THIS FILE ON TOP!!!!\r
+\r
+** LATE BREAKING NOTE:  "c:\uzi\src\bin\mknbat-l.bat" HAD WRONG OPTIMIZATION\r
+SETTINGS (AND WARNINGS STUPIDLY DISABLED) SO PLEASE ADOPT THIS FILE ON TOP!!!!\r
+\r
+** LATE BREAKING NOTE:  "c:\uzi\bin\uzboot.gz" HAD ROB'S LATEST EXPERIMENTAL\r
+CHANGES IN IT, BUT THIS MAY HAVE BEEN A MISTAKE.  TO REVERSE THE CHANGE PLEASE\r
+INSTALL "uzboot.gz" ON TOP (THIS CAME FROM ROB'S 030528SD INITAL TESTSYSTEM).\r
+AFTER INSTALLING "uzboot.gz" RUN "c:\uzi\bin\n.bat" TO REBUILD THE CARD, BUT DO\r
+NOT RUN "c:\uzi\bin\mkboot.bat" BECAUSE THIS WILL REGENERATE THE "uzboot.gz"!!\r
+FURTHER NOTE:  AFTER DOWNLOADING "uzboot.gz" RUN "gunzip --test" ON IT, IF YOU\r
+SEE NO MESSAGES THEN THE FILE DOWNLOADED OK.  IF ANY "crc error", GET IT AGAIN!\r
+\r
+DETAILS OF CHANGES TO FLASH CARD\r
+\r
+A few of the files loaded into the flash card have changed in this release, and\r
+there are a couple of extra directories as well.  The changes are as follows:\r
+\r
+1.  Deleted the user "90".  This user had only been present as a compatibility\r
+measure while waiting for Joost's latest "login.c".  Please log in as the users\r
+"downingn", "morsinkj" or "buijsr".  We also have Rob B's new "tsys" user.\r
+\r
+2.  There is now a directory "/usr/db" which Joost is using for database files. \r
+This is done by putting a "mkdir /db" command into "appinst.ucp".  Since the\r
+directory "/db" is made on the flash card, and the card is mounted on "/usr",\r
+the net effect is a directory reachable via the path "/usr/db".  Since this is\r
+on the flash card, access will be slower, but the file is transportable between\r
+terminals by removing the flash card and inserting it into some other terminal.\r
+\r
+3.  In the flash card building directory "c:\uzi\bin" there is a new subfolder\r
+called "c:\uzi\bin\db".  This contains the files "test.DAT" and "test.TBL" that\r
+are eventually accessible at the terminal level via the path "/usr/db".  The\r
+script "appinst.ucp" is hard coded to grab the two files from "c:\uzi\bin\db". \r
+In the folder "c:\uzi\src\db" the new "n.bat" has commands to put them there.\r
+\r
+4.  When building the flash card (generally by running "c:\uzi\bin\n.bat" or\r
+"c:\uzi\bin\appinst.bat"), we normally copy the flash card image onto the card. \r
+This is done with a command such as "copy uzidisk.dat e:\".  Nick has revised\r
+this to "copy uzidisk.dat %FLASHCARDPATH%" for the new unified release.  This\r
+shoul be more convenient, but you will have to set up your system by clicking:\r
+       Right-click "My Computer"\r
+       Click "Properties"\r
+       Click "Advanced"\r
+       Click "Environment Variables"\r
+       In the top panel (user section), click "New"\r
+       Variable name should be: FLASHCARDPATH\r
+       Variable value should be: E:\                   (or whatever)\r
+       Click "OK".\r
+Finally you should exit all command windows you are running, because they will\r
+not have received the change.  Click "Start -> Run" and type "cmd.exe", and the\r
+new shell will have the new environment variable.  Run "sh.exe" if you prefer.\r
+\r
+DETAILS OF CHANGES TO SOURCE FOLDERS\r
+\r
+1.  In "c:\uzi\src\bin" we now have some extra compile time utilities.  These\r
+are mostly "cygwin" binaries so they may be duplicates of the binaries you have\r
+already in "c:\cygwin\bin" or "c:\cygwin\usr\bin".  Please set up your paths so\r
+that you get your utilities from "c:\uzi\src\bin" by default.  That way we are\r
+all using exactly the same "cygwin" version for the most critical steps, so we\r
+should all get the same result if we need to rebuild everything from scratch.\r
+\r
+2.  A short list of the new commands that you can use in your compile scripts:\r
+       diff.sh         (runs diff.exe with Hytech preferred options)\r
+       diffdir.sh      (runs diff.exe with recursion and redirected output)\r
+       diff.exe        (compares files and outputs differences)\r
+       sed.exe         (stream editor for simple text based transformations)\r
+       cat.exe         (lets you concatenate files, useful for stream editing)\r
+       sh.exe          (lets you execute shell fragments from your makefiles)\r
+       d2u.exe         (converts text files from DOS to Unix line endings)\r
+       u2d.exe         (converts text files from Unix to DOS line endings)\r
+       patch.exe       (lets you apply the results of "diff.sh" to some file)\r
+       cproto.exe      (generates function prototypes by scanning 'C' source)\r
+       indent.exe      ('C' source code beautifier, for Nick's experiments)\r
+       gzip.exe        (creates the "uzboot.gz" self extracting "bomb" file)\r
+       gunzip.exe      (might be useful for troubleshooting the "uzboot.gz")\r
+       xxd.exe         (weird and wonderful hex dump/stream editor utility)\r
+\r
+3.  Removed "c:\uzi\src\bin\cr.exe" since it was duplicating the function of\r
+"d2u" and "u2d".  The new utilities should be more powerful and more standard.\r
+\r
+4.  Cleaned up "c:\uzi\src\font" and "c:\uzi\src\mkfont" since Nick and Rob B.\r
+were in a big hurry and didn't apply the patches properly in Rob B's version. \r
+Fixed it by following the instructions supplied with the "uzipatch.zip" files.\r
+\r
+5.  Removed *%, *.org and *.org% everywhere.  These are available from Nick if\r
+you really need them, or else you could easily recover them from 030702SD!\r
+\r
+6.  Removed "avrsample" and "avrsample.old" and "nicktemp" from "c:\uzi\src". \r
+These were halfway experiments and Nick has now resolved some issues, so please\r
+wait until Nick re-introduces the AVR-GCC stuff with the preferred path names. \r
+Removed "avr_make" and "avr_make2" from "c:\uzi\src\bin" (should be "makedir").\r
+\r
+7.  Re-added "c:\uzi\src\mkutil\make-3.80".  I wasn't sure whether we should be\r
+building our own "make" utility from the publicly available "gnu" source, but I\r
+have decided we should do this.  There is a subtle difference between the file\r
+"c:\uzi\src\bin\make.exe" and your possible file "c:\cygwin\bin\make.exe".  The\r
+former is built natively for Windows and does not require "cygwin1.dll".  This\r
+may be better.  For now, please try to use the native Windows version!  Nick is\r
+working on a native Windows version of "sh.exe".  This may resolve a few bugs.\r
+\r
+8.  Created the new folder "c:\uzi\src\db" which has Joost's "db.zip" contents. \r
+Nick has added a few build scripts, these were created by following the steps:\r
+       mknbat-b db <Enter>\r
+       mklink-b db <Enter>\r
+Edit "n.bat" and copy out the first 5 lines or so, ie. the lines which compile\r
+"db.c".  In the new copy change "db" to "main".  It will now compile both.  The\r
+linker script "db.lnk" needs the addition of a new line "main" before "db".  I\r
+also aded some "copy" commands to put the compiled files under "c:\uzi\bin".\r
+\r
+9.  Updated the folder "c:\uzi\src\wnd" with Joost's "wnd.zip" contents.  This\r
+has been cleaned up by Joost with the removal of a few old source backup files. \r
+Nick has edited "wnd.c" (again) to remove a flushing of the input buffer, as it\r
+corrupts the continuity of the testscript if we flush any testsystem data.  The\r
+software has been compiled, by running "m.bat" and "t.bat", and it expects the\r
+new fontfiles, so Nick has copied "apibus$.hfm" over "apibus.hfm".  Very neat!!\r
+\r
+DETAILS OF THE OFFICIAL HYTECH CYGWIN PACKAGE\r
+\r
+1.  For perfectly repeatable results, and to save people time downloading files\r
+from the "cygwin" website, Nick has put together a package of the latest cygwin\r
+available at the time of writing.  This is available in two forms.  Firstly you\r
+could unpack "cygwin.zip" into a directory called "c:\cygwin" and use it.  This\r
+has been prepared by Nick for ease of installation.  If you take this route, an\r
+extra command "regedit minmount.reg" must be executed, to initialise "cygwin".\r
+\r
+2.  If you want to update or upgrade the package then you should download the\r
+"cygrel.zip" instead.  This contains the original materials downloaded from the\r
+"cygwin" website, plus a script "minsetup.sh" by Nick which unpacks the files. \r
+To repeat the steps followed by Nick, just unpack "cygrel.zip" into a directory\r
+"c:\cygrel", change directory to "c:\cygrel" and execute "sh.exe minsetup.sh". \r
+This creates a "c:\cygrel\cygwin" folder that then needs to be moved to "c:\".\r
+\r
diff --git a/src/avrsample.old/aaa b/src/avrsample.old/aaa
deleted file mode 100644 (file)
index f3c95bd..0000000
Binary files a/src/avrsample.old/aaa and /dev/null differ
diff --git a/src/avrsample.old/avr_make b/src/avrsample.old/avr_make
deleted file mode 100644 (file)
index eace73e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# GCC-AVR standard makefile\r
-# Based on AVRfreaks.net January 2000 sample makefile\r
-# For compilation under Microsoft Windows environment\r
-\r
-# Variables definitions\r
-       CC      = avr-gcc\r
-       AS      = avr-gcc -x assembler-with-cpp \r
-       RM      = rm -f\r
-       RN      = mv\r
-       BIN     = avr-objcopy\r
-       SIZE    = avr-size\r
-       INCDIR  = .\r
-       LIBDIR  = avr/lib\r
-       SHELL   = sh.exe\r
-\r
-# Output format (srec or ihex, avrobj is always created)\r
-       FORMAT = ihex           \r
-\r
-# Project specific object files\r
-       OBJ     = $(ASRC:.s=.o) $(SRC:.c=.o) \r
-       CPFLAGS += -mmcu=$(MCU)\r
-       ASFLAGS += -mmcu=$(MCU)\r
-       LDFLAGS += -mmcu=$(MCU)\r
-  \r
-# Define make process\r
-\r
-#all:  $(TRG).obj $(TRG).elf $(TRG).rom $(TRG).eep $(TRG).ok \r
-all:   $(TRG).s $(TRG).elf $(TRG).hex $(TRG).eep $(TRG).ok\r
-%.o : %.c \r
-       $(CC) -c $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.s : %.c\r
-       $(CC) -S $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.o : %.s\r
-       $(AS) -c $(ASFLAGS) -I$(INCDIR) $< -o $@\r
-%.elf: $(OBJ)\r
-       $(CC) $(OBJ) $(LIB) $(LDFLAGS) -o $@\r
-%.obj: %.elf\r
-       $(BIN) -O avrobj -R .eeprom $< $@\r
-%.rom: %.elf\r
-       $(BIN) -O $(FORMAT) -R .eeprom $< $@\r
-#%.eep: %.elf\r
-#      $(BIN) -j .eeprom --set-section-flags=.eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.eep: %.elf\r
-       $(BIN) -j .eeprom --set-section-flags .eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.hex: %.elf\r
-       $(BIN) -O ihex $< $@\r
-\r
-# No error message if successfully compiled\r
-%ok:\r
-       @echo "Errors: none" \r
-\r
-# Clean up directory\r
-clean:\r
-       $(RM) $(OBJ)\r
-       $(RM) $(SRC:.c=.s)\r
-       $(RM) $(SRC:.c=.lst)\r
-       $(RM) $(TRG).map\r
-       $(RM) $(TRG).elf\r
-\r
-       $(RM) $(TRG).obj\r
-       $(RM) $(TRG).a90\r
-       $(RM) $(TRG).hex        \r
-       $(RM) *.bak\r
-       $(RM) *.log\r
-       \r
-size:\r
-       $(SIZE) $(TRG).elf\r
-       \r
diff --git a/src/avrsample.old/avr_make% b/src/avrsample.old/avr_make%
deleted file mode 100644 (file)
index 682da20..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# GCC-AVR standard makefile\r
-# Based on AVRfreaks.net January 2000 sample makefile\r
-# For compilation under Microsoft Windows environment\r
-\r
-# Variables definitions\r
-       CC      = avr-gcc\r
-       AS      = avr-gcc -x assembler-with-cpp \r
-       RM      = rm -f\r
-       RN      = mv\r
-       BIN     = avr-objcopy\r
-       SIZE    = avr-size\r
-       INCDIR  = .\r
-       LIBDIR  = avr/lib\r
-       SHELL   = sh.exe\r
-\r
-# Output format (srec or ihex, avrobj is always created)\r
-       FORMAT = ihex           \r
-\r
-# Project specific object files\r
-       OBJ     = $(ASRC:.s=.o) $(SRC:.c=.o) \r
-       CPFLAGS += -mmcu=$(MCU)\r
-       ASFLAGS += -mmcu=$(MCU)\r
-       LDFLAGS += -mmcu=$(MCU)\r
-  \r
-# Define make process\r
-\r
-#all:  $(TRG).obj $(TRG).elf $(TRG).rom $(TRG).eep $(TRG).ok \r
-all:   $(TRG).elf $(TRG).hex $(TRG).eep $(TRG).ok\r
-%.o : %.c \r
-       $(CC) -c $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.s : %.c\r
-       $(CC) -S $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.o : %.s\r
-       $(AS) -c $(ASFLAGS) -I$(INCDIR) $< -o $@\r
-%.elf: $(OBJ)\r
-       $(CC) $(OBJ) $(LIB) $(LDFLAGS) -o $@\r
-%.obj: %.elf\r
-       $(BIN) -O avrobj -R .eeprom $< $@\r
-%.rom: %.elf\r
-       $(BIN) -O $(FORMAT) -R .eeprom $< $@\r
-#%.eep: %.elf\r
-#      $(BIN) -j .eeprom --set-section-flags=.eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.eep: %.elf\r
-       $(BIN) -j .eeprom --set-section-flags .eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.hex: %.elf\r
-       $(BIN) -O ihex $< $@\r
-\r
-# No error message if successfully compiled\r
-%ok:\r
-       @echo "Errors: none" \r
-\r
-# Clean up directory\r
-clean:\r
-       $(RM) $(OBJ)\r
-       $(RM) $(SRC:.c=.s)\r
-       $(RM) $(SRC:.c=.lst)\r
-       $(RM) $(TRG).map\r
-       $(RM) $(TRG).elf\r
-\r
-       $(RM) $(TRG).obj\r
-       $(RM) $(TRG).a90\r
-       $(RM) $(TRG).hex        \r
-       $(RM) *.bak\r
-       $(RM) *.log\r
-       \r
-size:\r
-       $(SIZE) $(TRG).elf\r
-       \r
diff --git a/src/avrsample.old/hello.c b/src/avrsample.old/hello.c
deleted file mode 100644 (file)
index e203f00..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* hello.c by Nick for Hytech AVR */\r
-\r
-#include <stdio.h>\r
-#include <avr/io.h>\r
-/* #include <avr/signal.h> */\r
-#include "hello.h"\r
-\r
-int my_puts(char *s)\r
-       {\r
-       char c;\r
-\r
-       while (c = *s++)\r
-               {\r
-               my_putc(c);\r
-               }\r
-       return 0;\r
-       }\r
-\r
-int my_putc(char c)\r
-       {\r
-       while (bit_is_set(UCSRA, UDRE) == 0)\r
-               ;\r
-       UDR = c;\r
-       return 0;\r
-       }\r
-\r
-int my_getc(void)\r
-       {\r
-       if (bit_is_set(UCSRA, RXC) == 0)\r
-               return -1;\r
-       return UDR;\r
-       }\r
-\r
-int main(void)\r
-       {\r
-       __do_copy_data();\r
-       __do_clear_bss();\r
-\r
-       /* initialise the AVR's built-in UART for 9600 bps */\r
-       UCSRA = _BV(TXC);\r
-       UCSRB = _BV(TXEN) | _BV(RXEN);\r
-       UBRR = 71;\r
-       /* UBRRH = 0; */ /* = (11059200 / (9600 * 16)) - 1 */\r
-\r
-#if 1\r
-       /* send a demo message to ISPD via the AVR's UART */\r
-       my_puts("a"); /* "hello, world\r\n"); */\r
-#else\r
-       /* setup the standard input, output and error streams */\r
-       fdevopen(my_putc, my_getc, 0);\r
-\r
-       /* send a demo message to ISPD via the AVR's UART */\r
-       printf("hello, world\r\n");\r
-#endif\r
-\r
-       /* enter an infinite loop as we can never exit */\r
-       while (1)\r
-               ;\r
-       }\r
-\r
diff --git a/src/avrsample.old/hello.elf b/src/avrsample.old/hello.elf
deleted file mode 100644 (file)
index 8290ef0..0000000
Binary files a/src/avrsample.old/hello.elf and /dev/null differ
diff --git a/src/avrsample.old/hello.h b/src/avrsample.old/hello.h
deleted file mode 100644 (file)
index 62e1390..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/* hello.h by Nick for Hytech AVR */\r
-\r
-int my_puts(char *s);\r
-int my_putc(char c);\r
-int my_getc(void);\r
-int main(void);\r
-\r
diff --git a/src/avrsample.old/hello.hex b/src/avrsample.old/hello.hex
deleted file mode 100644 (file)
index f588907..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-:100000000DC027C026C025C024C023C022C021C0E7\r
-:1000100020C01FC01EC01DC01CC01BC011241FBE9D\r
-:10002000CFEDD0E0DEBFCDBF10E0A0E6B0E0E2EB68\r
-:10003000F0E003C0C89531960D92A236B107D1F712\r
-:1000400010E0A2E6B0E001C01D92A236B107E1F7D0\r
-:1000500020C0D6CFCF93DF93D92FC82F8991882383\r
-:1000600021F008D089918823E1F780E090E0DF91CA\r
-:10007000CF9108955D9BFECF8CB980E090E008950C\r
-:100080005F9B03C08CB1992708958FEF9FEF089570\r
-:100090000895CFEDD0E0DEBFCDBFC6DFD1DF80E475\r
-:1000A0008BB988E18AB987E489B980E690E0D2DF2C\r
-:0200B000FFCF80\r
-:0200B2006100EB\r
-:00000001FF\r
diff --git a/src/avrsample.old/hello.lst b/src/avrsample.old/hello.lst
deleted file mode 100644 (file)
index 827574c..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-GAS LISTING C:\cygwin\tmp/cc8saaaa.s                   page 1\r
-\r
-\r
-   1                           .file   "hello.c"\r
-   2                           .arch at90s4433\r
-   3                   __SREG__ = 0x3f\r
-   4                   __SP_H__ = 0x3e\r
-   5                   __SP_L__ = 0x3d\r
-   6                   __tmp_reg__ = 0\r
-   7                   __zero_reg__ = 1\r
-   8                           .global __do_copy_data\r
-   9                           .global __do_clear_bss\r
-  10                           .stabs  "c:\\uzi\\src\\avrsample/",100,0,0,.Ltext0\r
-  11                           .stabs  "hello.c",100,0,0,.Ltext0\r
-  12                           .text\r
-  13                   .Ltext0:\r
-  14                           .stabs  "gcc2_compiled.",60,0,0,0\r
-  15                           .stabs  "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0\r
-  16                           .stabs  "char:t(0,2)=r(0,2);0;127;",128,0,0,0\r
-  17                           .stabs  "long int:t(0,3)=@s32;r(0,3);0020000000000;0017777777777;",128,0,0,0\r
-  18                           .stabs  "unsigned int:t(0,4)=r(0,4);0000000000000;0000000177777;",128,0,0,0\r
-  19                           .stabs  "long unsigned int:t(0,5)=@s32;r(0,5);0000000000000;0037777777777;",128,0,0,0\r
-  20                           .stabs  "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,\r
-  21                           .stabs  "long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,\r
-  22                           .stabs  "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0\r
-  23                           .stabs  "short unsigned int:t(0,9)=r(0,9);0000000000000;0000000177777;",128,0,0,0\r
-  24                           .stabs  "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0\r
-  25                           .stabs  "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0\r
-  26                           .stabs  "float:t(0,12)=r(0,1);4;0;",128,0,0,0\r
-  27                           .stabs  "double:t(0,13)=r(0,1);4;0;",128,0,0,0\r
-  28                           .stabs  "long double:t(0,14)=r(0,1);4;0;",128,0,0,0\r
-  29                           .stabs  "complex int:t(0,15)=s4real:(0,1),0,16;imag:(0,1),16,16;;",128,0,0,0\r
-  30                           .stabs  "complex float:t(0,16)=r(0,16);8;0;",128,0,0,0\r
-  31                           .stabs  "complex double:t(0,17)=r(0,17);8;0;",128,0,0,0\r
-  32                           .stabs  "complex long double:t(0,18)=r(0,18);8;0;",128,0,0,0\r
-  33                           .stabs  "__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0\r
-  34                           .stabs  "_Bool:t(0,21)=@s8;-16;",128,0,0,0\r
-  35                           .stabs  "hello.c",130,0,0,0\r
-  36                           .stabs  "c:/WinAVR/avr/include/stdio.h",130,0,0,0\r
-  37                           .stabs  "c:/WinAVR/avr/include/inttypes.h",130,0,0,0\r
-  38                           .stabs  "int8_t:t(3,1)=(0,10)",128,0,46,0\r
-  39                           .stabs  "uint8_t:t(3,2)=(0,11)",128,0,47,0\r
-  40                           .stabs  "int16_t:t(3,3)=(0,1)",128,0,49,0\r
-  41                           .stabs  "uint16_t:t(3,4)=(0,4)",128,0,50,0\r
-  42                           .stabs  "int32_t:t(3,5)=(0,3)",128,0,52,0\r
-  43                           .stabs  "uint32_t:t(3,6)=(0,5)",128,0,53,0\r
-  44                           .stabs  "int64_t:t(3,7)=(0,6)",128,0,55,0\r
-  45                           .stabs  "uint64_t:t(3,8)=(0,7)",128,0,56,0\r
-  46                           .stabs  "intptr_t:t(3,9)=(3,3)",128,0,58,0\r
-  47                           .stabs  "uintptr_t:t(3,10)=(3,4)",128,0,59,0\r
-  48                           .stabn  162,0,0,0\r
-  49                           .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stdarg.h",130,0,0,0\r
-  50                           .stabs  "__gnuc_va_list:t(4,1)=(0,19)",128,0,43,0\r
-  51                           .stabs  "va_list:t(4,2)=(4,1)",128,0,105,0\r
-  52                           .stabn  162,0,0,0\r
-  53                           .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stddef.h",130,0,0,0\r
-  54                           .stabs  "size_t:t(5,1)=(0,4)",128,0,213,0\r
-  55                           .stabn  162,0,0,0\r
-  56                           .stabn  162,0,0,0\r
-  57                           .stabs  "c:/WinAVR/avr/include/avr/io.h",130,0,0,0\r
-\fGAS LISTING C:\cygwin\tmp/cc8saaaa.s                  page 2\r
-\r
-\r
-  58                           .stabs  "c:/WinAVR/avr/include/avr/io4433.h",130,0,0,0\r
-  59                           .stabs  "c:/WinAVR/avr/include/avr/sfr_defs.h",130,0,0,0\r
-  60                           .stabn  162,0,0,0\r
-  61                           .stabn  162,0,0,0\r
-  62                           .stabn  162,0,0,0\r
-  63                           .stabs  "hello.h",130,0,0,0\r
-  64                           .stabn  162,0,0,0\r
-  65                           .stabs  "my_puts:F(0,1)",36,0,9,my_puts\r
-  66                           .stabs  "s:P(1,1)=*(0,2)",64,0,8,28\r
-  67                   .global my_puts\r
-  68                           .type   my_puts, @function\r
-  69                   my_puts:\r
-   1:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
-   2:hello.c       **** \r
-   3:hello.c       **** #include <stdio.h>\r
-   4:hello.c       **** #include <avr/io.h>\r
-   5:hello.c       **** /* #include <avr/signal.h> */\r
-   6:hello.c       **** #include "hello.h"\r
-   7:hello.c       **** \r
-   8:hello.c       **** int my_puts(char *s)\r
-   9:hello.c       ****        {\r
-  70                           .stabn 68,0,9,.LM1-my_puts\r
-  71                   .LM1:\r
-  72                   /* prologue: frame size=0 */\r
-  73 0000 CF93                 push r28\r
-  74 0002 DF93                 push r29\r
-  75                   /* prologue end (size=2) */\r
-  76 0004 D92F                 mov r29,r25\r
-  77 0006 C82F                 mov r28,r24\r
-  10:hello.c       ****        char c;\r
-  11:hello.c       **** \r
-  12:hello.c       ****        while (c = *s++)\r
-  78                           .stabn 68,0,12,.LM2-my_puts\r
-  79                   .LM2:\r
-  80                   .LBB2:\r
-  81 0008 8991                 ld r24,Y+\r
-  82 000a 8823                 tst r24\r
-  83 000c 21F0                 breq .L7\r
-  84                   .L5:\r
-  13:hello.c       ****                {\r
-  14:hello.c       ****                my_putc(c);\r
-  85                           .stabn 68,0,14,.LM3-my_puts\r
-  86                   .LM3:\r
-  87 000e 08D0                 rcall my_putc\r
-  88 0010 8991                 ld r24,Y+\r
-  89 0012 8823                 tst r24\r
-  90 0014 E1F7                 brne .L5\r
-  91                   .L7:\r
-  15:hello.c       ****                }\r
-  16:hello.c       ****        return 0;\r
-  17:hello.c       ****        }\r
-  92                           .stabn 68,0,17,.LM4-my_puts\r
-  93                   .LM4:\r
-  94                   .LBE2:\r
-  95 0016 80E0                 ldi r24,lo8(0)\r
-  96 0018 90E0                 ldi r25,hi8(0)\r
-  97                   /* epilogue: frame size=0 */\r
-\fGAS LISTING C:\cygwin\tmp/cc8saaaa.s                  page 3\r
-\r
-\r
-  98 001a DF91                 pop r29\r
-  99 001c CF91                 pop r28\r
- 100 001e 0895                 ret\r
- 101                   /* epilogue end (size=3) */\r
- 102                   /* function my_puts size 16 (11) */\r
- 103                           .size   my_puts, .-my_puts\r
- 104                           .stabs  "c:r(0,2)",64,0,10,24\r
- 105                           .stabn  192,0,0,.LBB2-my_puts\r
- 106                           .stabn  224,0,0,.LBE2-my_puts\r
- 107                   .Lscope0:\r
- 108                           .stabs  "",36,0,0,.Lscope0-my_puts\r
- 109                           .stabs  "my_putc:F(0,1)",36,0,20,my_putc\r
- 110                           .stabs  "c:P(0,2)",64,0,19,24\r
- 111                   .global my_putc\r
- 112                           .type   my_putc, @function\r
- 113                   my_putc:\r
-  18:hello.c       **** \r
-  19:hello.c       **** int my_putc(char c)\r
-  20:hello.c       ****        {\r
- 114                           .stabn 68,0,20,.LM5-my_putc\r
- 115                   .LM5:\r
- 116                   /* prologue: frame size=0 */\r
- 117                   /* prologue end (size=0) */\r
-  21:hello.c       ****        while (bit_is_set(UCSRA, UDRE) == 0)\r
- 118                           .stabn 68,0,21,.LM6-my_putc\r
- 119                   .LM6:\r
- 120                   .L9:\r
- 121 0020 5D9B                 sbis 43-0x20,5\r
- 122 0022 FECF                 rjmp .L9\r
-  22:hello.c       ****                ;\r
-  23:hello.c       ****        UDR = c;\r
- 123                           .stabn 68,0,23,.LM7-my_putc\r
- 124                   .LM7:\r
- 125 0024 8CB9                 out 44-0x20,r24\r
-  24:hello.c       ****        return 0;\r
-  25:hello.c       ****        }\r
- 126                           .stabn 68,0,25,.LM8-my_putc\r
- 127                   .LM8:\r
- 128 0026 80E0                 ldi r24,lo8(0)\r
- 129 0028 90E0                 ldi r25,hi8(0)\r
- 130                   /* epilogue: frame size=0 */\r
- 131 002a 0895                 ret\r
- 132                   /* epilogue end (size=1) */\r
- 133                   /* function my_putc size 6 (5) */\r
- 134                           .size   my_putc, .-my_putc\r
- 135                   .Lscope1:\r
- 136                           .stabs  "",36,0,0,.Lscope1-my_putc\r
- 137                           .stabs  "my_getc:F(0,1)",36,0,28,my_getc\r
- 138                   .global my_getc\r
- 139                           .type   my_getc, @function\r
- 140                   my_getc:\r
-  26:hello.c       **** \r
-  27:hello.c       **** int my_getc(void)\r
-  28:hello.c       ****        {\r
- 141                           .stabn 68,0,28,.LM9-my_getc\r
- 142                   .LM9:\r
- 143                   /* prologue: frame size=0 */\r
-\fGAS LISTING C:\cygwin\tmp/cc8saaaa.s                  page 4\r
-\r
-\r
- 144                   /* prologue end (size=0) */\r
-  29:hello.c       ****        if (bit_is_set(UCSRA, RXC) == 0)\r
- 145                           .stabn 68,0,29,.LM10-my_getc\r
- 146                   .LM10:\r
- 147 002c 5F9B                 sbis 43-0x20,7\r
- 148 002e 03C0                 rjmp .L14\r
-  30:hello.c       ****                return -1;\r
-  31:hello.c       ****        return UDR;\r
- 149                           .stabn 68,0,31,.LM11-my_getc\r
- 150                   .LM11:\r
- 151 0030 8CB1                 in r24,44-0x20\r
- 152 0032 9927                 clr r25\r
-  32:hello.c       ****        }\r
- 153                           .stabn 68,0,32,.LM12-my_getc\r
- 154                   .LM12:\r
- 155 0034 0895                 ret\r
- 156                           .stabn 68,0,30,.LM13-my_getc\r
- 157                   .LM13:\r
- 158                   .L14:\r
- 159 0036 8FEF                 ldi r24,lo8(-1)\r
- 160 0038 9FEF                 ldi r25,hi8(-1)\r
- 161                           .stabn 68,0,32,.LM14-my_getc\r
- 162                   .LM14:\r
- 163 003a 0895                 ret\r
- 164                   /* epilogue: frame size=0 */\r
- 165 003c 0895                 ret\r
- 166                   /* epilogue end (size=1) */\r
- 167                   /* function my_getc size 9 (8) */\r
- 168                           .size   my_getc, .-my_getc\r
- 169                   .Lscope2:\r
- 170                           .stabs  "",36,0,0,.Lscope2-my_getc\r
- 171                           .data\r
- 172                   .LC0:\r
- 173 0000 6100                 .string "a"\r
- 174                           .text\r
- 175                           .stabs  "main:F(0,1)",36,0,35,main\r
- 176                   .global main\r
- 177                           .type   main, @function\r
- 178                   main:\r
-  33:hello.c       **** \r
-  34:hello.c       **** int main(void)\r
-  35:hello.c       ****        {\r
- 179                           .stabn 68,0,35,.LM15-main\r
- 180                   .LM15:\r
- 181                   /* prologue: frame size=0 */\r
- 182 003e C0E0                 ldi r28,lo8(__stack - 0)\r
- 183 0040 D0E0                 ldi r29,hi8(__stack - 0)\r
- 184 0042 DEBF                 out __SP_H__,r29\r
- 185 0044 CDBF                 out __SP_L__,r28\r
- 186                   /* prologue end (size=4) */\r
-  36:hello.c       ****        __do_copy_data();\r
- 187                           .stabn 68,0,36,.LM16-main\r
- 188                   .LM16:\r
- 189                   .LBB3:\r
- 190 0046 00D0                 rcall __do_copy_data\r
-  37:hello.c       ****        __do_clear_bss();\r
- 191                           .stabn 68,0,37,.LM17-main\r
-\fGAS LISTING C:\cygwin\tmp/cc8saaaa.s                  page 5\r
-\r
-\r
- 192                   .LM17:\r
- 193 0048 00D0                 rcall __do_clear_bss\r
-  38:hello.c       **** \r
-  39:hello.c       ****        /* initialise the AVR's built-in UART for 9600 bps */\r
-  40:hello.c       ****        UCSRA = _BV(TXC);\r
- 194                           .stabn 68,0,40,.LM18-main\r
- 195                   .LM18:\r
- 196 004a 80E4                 ldi r24,lo8(64)\r
- 197 004c 8BB9                 out 43-0x20,r24\r
-  41:hello.c       ****        UCSRB = _BV(TXEN) | _BV(RXEN);\r
- 198                           .stabn 68,0,41,.LM19-main\r
- 199                   .LM19:\r
- 200 004e 88E1                 ldi r24,lo8(24)\r
- 201 0050 8AB9                 out 42-0x20,r24\r
-  42:hello.c       ****        UBRR = 71;\r
- 202                           .stabn 68,0,42,.LM20-main\r
- 203                   .LM20:\r
- 204 0052 87E4                 ldi r24,lo8(71)\r
- 205 0054 89B9                 out 41-0x20,r24\r
-  43:hello.c       ****        /* UBRRH = 0; */ /* = (11059200 / (9600 * 16)) - 1 */\r
-  44:hello.c       **** \r
-  45:hello.c       **** #if 1\r
-  46:hello.c       ****        /* send a demo message to ISPD via the AVR's UART */\r
-  47:hello.c       ****        my_puts("a"); /* "hello, world\r\n"); */\r
- 206                           .stabn 68,0,47,.LM21-main\r
- 207                   .LM21:\r
- 208 0056 80E0                 ldi r24,lo8(.LC0)\r
- 209 0058 90E0                 ldi r25,hi8(.LC0)\r
- 210 005a D2DF                 rcall my_puts\r
-  48:hello.c       **** #else\r
-  49:hello.c       ****        /* setup the standard input, output and error streams */\r
-  50:hello.c       ****        fdevopen(my_putc, my_getc, 0);\r
-  51:hello.c       **** \r
-  52:hello.c       ****        /* send a demo message to ISPD via the AVR's UART */\r
-  53:hello.c       ****        printf("hello, world\r\n");\r
-  54:hello.c       **** #endif\r
-  55:hello.c       **** \r
-  56:hello.c       ****        /* enter an infinite loop as we can never exit */\r
-  57:hello.c       ****        while (1)\r
- 211                           .stabn 68,0,57,.LM22-main\r
- 212                   .LM22:\r
- 213                   .L16:\r
- 214 005c FFCF                 rjmp .L16\r
-  58:hello.c       ****                ;\r
-  59:hello.c       ****        }\r
- 215                           .stabn 68,0,59,.LM23-main\r
- 216                   .LM23:\r
- 217                   .LBE3:\r
- 218                   /* epilogue: frame size=0 */\r
- 219                   /* epilogue: noreturn */\r
- 220                   /* epilogue end (size=0) */\r
- 221                   /* function main size 16 (12) */\r
- 222                           .size   main, .-main\r
- 223                   .Lscope3:\r
- 224                           .stabs  "",36,0,0,.Lscope3-main\r
- 225                           .text\r
- 226                           .stabs "",100,0,0,Letext\r
-\fGAS LISTING C:\cygwin\tmp/cc8saaaa.s                  page 6\r
-\r
-\r
- 227                   Letext:\r
- 228                   /* File "hello.c": code   47 = 0x002f (  36), prologues   6, epilogues   5 */\r
-\fGAS LISTING C:\cygwin\tmp/cc8saaaa.s                  page 7\r
-\r
-\r
-DEFINED SYMBOLS\r
-                            *ABS*:00000000 hello.c\r
-                            *ABS*:0000003f __SREG__\r
-                            *ABS*:0000003e __SP_H__\r
-                            *ABS*:0000003d __SP_L__\r
-                            *ABS*:00000000 __tmp_reg__\r
-                            *ABS*:00000001 __zero_reg__\r
-C:\cygwin\tmp/cc8saaaa.s:69     .text:00000000 my_puts\r
-C:\cygwin\tmp/cc8saaaa.s:113    .text:00000020 my_putc\r
-C:\cygwin\tmp/cc8saaaa.s:140    .text:0000002c my_getc\r
-C:\cygwin\tmp/cc8saaaa.s:178    .text:0000003e main\r
-C:\cygwin\tmp/cc8saaaa.s:227    .text:0000005e Letext\r
-\r
-UNDEFINED SYMBOLS\r
-__do_copy_data\r
-__do_clear_bss\r
-__stack\r
diff --git a/src/avrsample.old/hello.map b/src/avrsample.old/hello.map
deleted file mode 100644 (file)
index d64094d..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-Archive member included because of file (symbol)\r
-\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                              hello.o (__do_copy_data)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                              hello.o (__do_clear_bss)\r
-\r
-Memory Configuration\r
-\r
-Name             Origin             Length             Attributes\r
-text             0x00000000         0x00002000         xr\r
-data             0x00800060         0x0000ffa0         rw !x\r
-eeprom           0x00810000         0x00010000         rw !x\r
-*default*        0x00000000         0xffffffff\r
-\r
-Linker script and memory map\r
-\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-LOAD hello.o\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a\r
-\r
-.hash\r
- *(.hash)\r
-\r
-.dynsym\r
- *(.dynsym)\r
-\r
-.dynstr\r
- *(.dynstr)\r
-\r
-.gnu.version\r
- *(.gnu.version)\r
-\r
-.gnu.version_d\r
- *(.gnu.version_d)\r
-\r
-.gnu.version_r\r
- *(.gnu.version_r)\r
-\r
-.rel.init\r
- *(.rel.init)\r
-\r
-.rela.init\r
- *(.rela.init)\r
-\r
-.rel.text\r
- *(.rel.text)\r
- *(.rel.text.*)\r
- *(.rel.gnu.linkonce.t*)\r
-\r
-.rela.text\r
- *(.rela.text)\r
- *(.rela.text.*)\r
- *(.rela.gnu.linkonce.t*)\r
-\r
-.rel.fini\r
- *(.rel.fini)\r
-\r
-.rela.fini\r
- *(.rela.fini)\r
-\r
-.rel.rodata\r
- *(.rel.rodata)\r
- *(.rel.rodata.*)\r
- *(.rel.gnu.linkonce.r*)\r
-\r
-.rela.rodata\r
- *(.rela.rodata)\r
- *(.rela.rodata.*)\r
- *(.rela.gnu.linkonce.r*)\r
-\r
-.rel.data\r
- *(.rel.data)\r
- *(.rel.data.*)\r
- *(.rel.gnu.linkonce.d*)\r
-\r
-.rela.data\r
- *(.rela.data)\r
- *(.rela.data.*)\r
- *(.rela.gnu.linkonce.d*)\r
-\r
-.rel.ctors\r
- *(.rel.ctors)\r
-\r
-.rela.ctors\r
- *(.rela.ctors)\r
-\r
-.rel.dtors\r
- *(.rel.dtors)\r
-\r
-.rela.dtors\r
- *(.rela.dtors)\r
-\r
-.rel.got\r
- *(.rel.got)\r
-\r
-.rela.got\r
- *(.rela.got)\r
-\r
-.rel.bss\r
- *(.rel.bss)\r
-\r
-.rela.bss\r
- *(.rela.bss)\r
-\r
-.rel.plt\r
- *(.rel.plt)\r
-\r
-.rela.plt\r
- *(.rela.plt)\r
-\r
-.text           0x00000000       0xb2\r
- *(.vectors)\r
- .vectors       0x00000000       0x1c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                0x00000000                __vectors\r
-                0x00000000                __vector_default\r
-                0x0000001c                __ctors_start = .\r
- *(.ctors)\r
-                0x0000001c                __ctors_end = .\r
-                0x0000001c                __dtors_start = .\r
- *(.dtors)\r
-                0x0000001c                __dtors_end = .\r
- *(.progmem.gcc*)\r
- *(.progmem*)\r
-                0x0000001c                . = ALIGN (0x2)\r
- *(.init0)\r
- *(.init1)\r
- *(.init2)\r
- .init2         0x0000001c        0xc c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- *(.init3)\r
- *(.init4)\r
- .init4         0x00000028       0x18 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                0x00000028                __do_copy_data\r
- .init4         0x00000040       0x10 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                0x00000040                __do_clear_bss\r
- *(.init5)\r
- *(.init6)\r
- *(.init7)\r
- *(.init8)\r
- *(.init9)\r
- .init9         0x00000050        0x2 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- *(.text)\r
- .text          0x00000052        0x2 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                0x00000052                __vector_1\r
-                0x00000052                __vector_12\r
-                0x00000052                __bad_interrupt\r
-                0x00000052                __vector_6\r
-                0x00000052                __vector_3\r
-                0x00000052                __vector_11\r
-                0x00000052                __vector_13\r
-                0x00000052                __vector_7\r
-                0x00000052                __vector_5\r
-                0x00000052                __vector_4\r
-                0x00000052                __vector_9\r
-                0x00000052                __vector_2\r
-                0x00000052                __vector_8\r
-                0x00000052                __vector_10\r
- .text          0x00000054       0x5e hello.o\r
-                0x00000092                main\r
-                0x00000080                my_getc\r
-                0x00000054                my_puts\r
-                0x00000074                my_putc\r
-                0x000000b2                . = ALIGN (0x2)\r
- *(.text.*)\r
-                0x000000b2                . = ALIGN (0x2)\r
- *(.fini9)\r
- *(.fini8)\r
- *(.fini7)\r
- *(.fini6)\r
- *(.fini5)\r
- *(.fini4)\r
- *(.fini3)\r
- *(.fini2)\r
- *(.fini1)\r
- *(.fini0)\r
-                0x000000b2                _etext = .\r
-\r
-.data           0x00800060        0x2 load address 0x000000b2\r
-                0x00800060                PROVIDE (__data_start, .)\r
- *(.data)\r
- .data          0x00800060        0x2 hello.o\r
- *(.gnu.linkonce.d*)\r
-                0x00800062                . = ALIGN (0x2)\r
-                0x00800062                _edata = .\r
-                0x00800062                PROVIDE (__data_end, .)\r
-\r
-.bss            0x00800062        0x0\r
-                0x00800062                PROVIDE (__bss_start, .)\r
- *(.bss)\r
- *(COMMON)\r
-                0x00800062                PROVIDE (__bss_end, .)\r
-                0x000000b2                __data_load_start = LOADADDR (.data)\r
-                0x000000b4                __data_load_end = (__data_load_start + SIZEOF (.data))\r
-\r
-.noinit         0x00800062        0x0\r
-                0x00800062                PROVIDE (__noinit_start, .)\r
- *(.noinit*)\r
-                0x00800062                PROVIDE (__noinit_end, .)\r
-                0x00800062                _end = .\r
-                0x00800062                PROVIDE (__heap_start, .)\r
-\r
-.eeprom         0x00810000        0x0 load address 0x000000b4\r
- *(.eeprom*)\r
-                0x00810000                __eeprom_end = .\r
-\r
-.stab           0x00000000      0x6d8\r
- *(.stab)\r
- .stab          0x00000000      0x2a0 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- .stab          0x000002a0      0x438 hello.o\r
-                                0x444 (size before relaxing)\r
-\r
-.stabstr        0x00000000      0x6a4\r
- *(.stabstr)\r
- .stabstr       0x00000000      0x6a4 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                                  0x0 (size before relaxing)\r
-\r
-.stab.excl\r
- *(.stab.excl)\r
-\r
-.stab.exclstr\r
- *(.stab.exclstr)\r
-\r
-.stab.index\r
- *(.stab.index)\r
-\r
-.stab.indexstr\r
- *(.stab.indexstr)\r
-\r
-.comment\r
- *(.comment)\r
-\r
-.debug\r
- *(.debug)\r
-\r
-.line\r
- *(.line)\r
-\r
-.debug_srcinfo\r
- *(.debug_srcinfo)\r
-\r
-.debug_sfnames\r
- *(.debug_sfnames)\r
-\r
-.debug_aranges\r
- *(.debug_aranges)\r
-\r
-.debug_pubnames\r
- *(.debug_pubnames)\r
-\r
-.debug_info\r
- *(.debug_info)\r
- *(.gnu.linkonce.wi.*)\r
-\r
-.debug_abbrev\r
- *(.debug_abbrev)\r
-\r
-.debug_line\r
- *(.debug_line)\r
-\r
-.debug_frame\r
- *(.debug_frame)\r
-\r
-.debug_str\r
- *(.debug_str)\r
-\r
-.debug_loc\r
- *(.debug_loc)\r
-\r
-.debug_macinfo\r
- *(.debug_macinfo)\r
-OUTPUT(hello.elf elf32-avr)\r
-\r
-Cross Reference Table\r
-\r
-Symbol                                            File\r
-__bad_interrupt                                   c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__bss_end                                         c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-__bss_start                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-__data_end                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__data_load_start                                 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__data_start                                      c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__do_clear_bss                                    c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                                                  hello.o\r
-__do_copy_data                                    c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                                                  hello.o\r
-__heap_end                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__init                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__stack                                           c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                                                  hello.o\r
-__vector_1                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_10                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_11                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_12                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_13                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_2                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_3                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_4                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_5                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_6                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_7                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_8                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_9                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_default                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vectors                                         c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-main                                              hello.o\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-my_getc                                           hello.o\r
-my_putc                                           hello.o\r
-my_puts                                           hello.o\r
diff --git a/src/avrsample.old/hello.o b/src/avrsample.old/hello.o
deleted file mode 100644 (file)
index ba38dfb..0000000
Binary files a/src/avrsample.old/hello.o and /dev/null differ
diff --git a/src/avrsample.old/hello.s b/src/avrsample.old/hello.s
deleted file mode 100644 (file)
index 8944fb7..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-       .file   "hello.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-       .stabs  "c:\\uzi\\src\\avrsample/",100,0,0,.Ltext0\r
-       .stabs  "hello.c",100,0,0,.Ltext0\r
-       .text\r
-.Ltext0:\r
-       .stabs  "gcc2_compiled.",60,0,0,0\r
-       .stabs  "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0\r
-       .stabs  "char:t(0,2)=r(0,2);0;127;",128,0,0,0\r
-       .stabs  "long int:t(0,3)=@s32;r(0,3);0020000000000;0017777777777;",128,0,0,0\r
-       .stabs  "unsigned int:t(0,4)=r(0,4);0000000000000;0000000177777;",128,0,0,0\r
-       .stabs  "long unsigned int:t(0,5)=@s32;r(0,5);0000000000000;0037777777777;",128,0,0,0\r
-       .stabs  "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,0\r
-       .stabs  "long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,0\r
-       .stabs  "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0\r
-       .stabs  "short unsigned int:t(0,9)=r(0,9);0000000000000;0000000177777;",128,0,0,0\r
-       .stabs  "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0\r
-       .stabs  "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0\r
-       .stabs  "float:t(0,12)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "double:t(0,13)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "long double:t(0,14)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "complex int:t(0,15)=s4real:(0,1),0,16;imag:(0,1),16,16;;",128,0,0,0\r
-       .stabs  "complex float:t(0,16)=r(0,16);8;0;",128,0,0,0\r
-       .stabs  "complex double:t(0,17)=r(0,17);8;0;",128,0,0,0\r
-       .stabs  "complex long double:t(0,18)=r(0,18);8;0;",128,0,0,0\r
-       .stabs  "__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0\r
-       .stabs  "_Bool:t(0,21)=@s8;-16;",128,0,0,0\r
-       .stabs  "hello.c",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/stdio.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/inttypes.h",130,0,0,0\r
-       .stabs  "int8_t:t(3,1)=(0,10)",128,0,46,0\r
-       .stabs  "uint8_t:t(3,2)=(0,11)",128,0,47,0\r
-       .stabs  "int16_t:t(3,3)=(0,1)",128,0,49,0\r
-       .stabs  "uint16_t:t(3,4)=(0,4)",128,0,50,0\r
-       .stabs  "int32_t:t(3,5)=(0,3)",128,0,52,0\r
-       .stabs  "uint32_t:t(3,6)=(0,5)",128,0,53,0\r
-       .stabs  "int64_t:t(3,7)=(0,6)",128,0,55,0\r
-       .stabs  "uint64_t:t(3,8)=(0,7)",128,0,56,0\r
-       .stabs  "intptr_t:t(3,9)=(3,3)",128,0,58,0\r
-       .stabs  "uintptr_t:t(3,10)=(3,4)",128,0,59,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stdarg.h",130,0,0,0\r
-       .stabs  "__gnuc_va_list:t(4,1)=(0,19)",128,0,43,0\r
-       .stabs  "va_list:t(4,2)=(4,1)",128,0,105,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stddef.h",130,0,0,0\r
-       .stabs  "size_t:t(5,1)=(0,4)",128,0,213,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/io.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/io4433.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/sfr_defs.h",130,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "hello.h",130,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "my_puts:F(0,1)",36,0,9,my_puts\r
-       .stabs  "s:P(1,1)=*(0,2)",64,0,8,28\r
-.global        my_puts\r
-       .type   my_puts, @function\r
-my_puts:\r
-       .stabn 68,0,9,.LM1-my_puts\r
-.LM1:\r
-/* prologue: frame size=0 */\r
-       push r28\r
-       push r29\r
-/* prologue end (size=2) */\r
-       mov r29,r25\r
-       mov r28,r24\r
-       .stabn 68,0,12,.LM2-my_puts\r
-.LM2:\r
-.LBB2:\r
-       ld r24,Y+\r
-       tst r24\r
-       breq .L7\r
-.L5:\r
-       .stabn 68,0,14,.LM3-my_puts\r
-.LM3:\r
-       rcall my_putc\r
-       ld r24,Y+\r
-       tst r24\r
-       brne .L5\r
-.L7:\r
-       .stabn 68,0,17,.LM4-my_puts\r
-.LM4:\r
-.LBE2:\r
-       ldi r24,lo8(0)\r
-       ldi r25,hi8(0)\r
-/* epilogue: frame size=0 */\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=3) */\r
-/* function my_puts size 16 (11) */\r
-       .size   my_puts, .-my_puts\r
-       .stabs  "c:r(0,2)",64,0,10,24\r
-       .stabn  192,0,0,.LBB2-my_puts\r
-       .stabn  224,0,0,.LBE2-my_puts\r
-.Lscope0:\r
-       .stabs  "",36,0,0,.Lscope0-my_puts\r
-       .stabs  "my_putc:F(0,1)",36,0,20,my_putc\r
-       .stabs  "c:P(0,2)",64,0,19,24\r
-.global        my_putc\r
-       .type   my_putc, @function\r
-my_putc:\r
-       .stabn 68,0,20,.LM5-my_putc\r
-.LM5:\r
-/* prologue: frame size=0 */\r
-/* prologue end (size=0) */\r
-       .stabn 68,0,21,.LM6-my_putc\r
-.LM6:\r
-.L9:\r
-       sbis 43-0x20,5\r
-       rjmp .L9\r
-       .stabn 68,0,23,.LM7-my_putc\r
-.LM7:\r
-       out 44-0x20,r24\r
-       .stabn 68,0,25,.LM8-my_putc\r
-.LM8:\r
-       ldi r24,lo8(0)\r
-       ldi r25,hi8(0)\r
-/* epilogue: frame size=0 */\r
-       ret\r
-/* epilogue end (size=1) */\r
-/* function my_putc size 6 (5) */\r
-       .size   my_putc, .-my_putc\r
-.Lscope1:\r
-       .stabs  "",36,0,0,.Lscope1-my_putc\r
-       .stabs  "my_getc:F(0,1)",36,0,28,my_getc\r
-.global        my_getc\r
-       .type   my_getc, @function\r
-my_getc:\r
-       .stabn 68,0,28,.LM9-my_getc\r
-.LM9:\r
-/* prologue: frame size=0 */\r
-/* prologue end (size=0) */\r
-       .stabn 68,0,29,.LM10-my_getc\r
-.LM10:\r
-       sbis 43-0x20,7\r
-       rjmp .L14\r
-       .stabn 68,0,31,.LM11-my_getc\r
-.LM11:\r
-       in r24,44-0x20\r
-       clr r25\r
-       .stabn 68,0,32,.LM12-my_getc\r
-.LM12:\r
-       ret\r
-       .stabn 68,0,30,.LM13-my_getc\r
-.LM13:\r
-.L14:\r
-       ldi r24,lo8(-1)\r
-       ldi r25,hi8(-1)\r
-       .stabn 68,0,32,.LM14-my_getc\r
-.LM14:\r
-       ret\r
-/* epilogue: frame size=0 */\r
-       ret\r
-/* epilogue end (size=1) */\r
-/* function my_getc size 9 (8) */\r
-       .size   my_getc, .-my_getc\r
-.Lscope2:\r
-       .stabs  "",36,0,0,.Lscope2-my_getc\r
-       .data\r
-.LC0:\r
-       .string "a"\r
-       .text\r
-       .stabs  "main:F(0,1)",36,0,35,main\r
-.global        main\r
-       .type   main, @function\r
-main:\r
-       .stabn 68,0,35,.LM15-main\r
-.LM15:\r
-/* prologue: frame size=0 */\r
-       ldi r28,lo8(__stack - 0)\r
-       ldi r29,hi8(__stack - 0)\r
-       out __SP_H__,r29\r
-       out __SP_L__,r28\r
-/* prologue end (size=4) */\r
-       .stabn 68,0,36,.LM16-main\r
-.LM16:\r
-.LBB3:\r
-       rcall __do_copy_data\r
-       .stabn 68,0,37,.LM17-main\r
-.LM17:\r
-       rcall __do_clear_bss\r
-       .stabn 68,0,40,.LM18-main\r
-.LM18:\r
-       ldi r24,lo8(64)\r
-       out 43-0x20,r24\r
-       .stabn 68,0,41,.LM19-main\r
-.LM19:\r
-       ldi r24,lo8(24)\r
-       out 42-0x20,r24\r
-       .stabn 68,0,42,.LM20-main\r
-.LM20:\r
-       ldi r24,lo8(71)\r
-       out 41-0x20,r24\r
-       .stabn 68,0,47,.LM21-main\r
-.LM21:\r
-       ldi r24,lo8(.LC0)\r
-       ldi r25,hi8(.LC0)\r
-       rcall my_puts\r
-       .stabn 68,0,57,.LM22-main\r
-.LM22:\r
-.L16:\r
-       rjmp .L16\r
-       .stabn 68,0,59,.LM23-main\r
-.LM23:\r
-.LBE3:\r
-/* epilogue: frame size=0 */\r
-/* epilogue: noreturn */\r
-/* epilogue end (size=0) */\r
-/* function main size 16 (12) */\r
-       .size   main, .-main\r
-.Lscope3:\r
-       .stabs  "",36,0,0,.Lscope3-main\r
-       .text\r
-       .stabs "",100,0,0,Letext\r
-Letext:\r
-/* File "hello.c": code   47 = 0x002f (  36), prologues   6, epilogues   5 */\r
diff --git a/src/avrsample.old/io.com b/src/avrsample.old/io.com
deleted file mode 100644 (file)
index 5686873..0000000
Binary files a/src/avrsample.old/io.com and /dev/null differ
diff --git a/src/avrsample.old/ispd.exe b/src/avrsample.old/ispd.exe
deleted file mode 100644 (file)
index 4963ef0..0000000
Binary files a/src/avrsample.old/ispd.exe and /dev/null differ
diff --git a/src/avrsample.old/libc/calloc.c b/src/avrsample.old/libc/calloc.c
deleted file mode 100644 (file)
index 93f7246..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2002 Joerg Wunsch
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: calloc.c,v 1.1 2002/10/12 19:37:29 joerg_wunsch Exp $
- */
-
-#include <stdlib.h>
-#include <string.h>
-
-void *
-calloc(size_t nele, size_t size)
-{
-       void *p;
-
-       if ((p = malloc(nele * size)) == 0)
-               return 0;
-       memset(p, 0, nele * size);
-       return p;
-}
diff --git a/src/avrsample.old/libc/calloc.s b/src/avrsample.old/libc/calloc.s
deleted file mode 100644 (file)
index 0e174d4..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-       .file   "calloc.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-       .text\r
-.global        calloc\r
-       .type   calloc, @function\r
-calloc:\r
-/* prologue: frame size=8 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,8\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       std Y+3,r22\r
-       std Y+4,r23\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       ldd r18,Y+3\r
-       ldd r19,Y+4\r
-       mov r23,r19\r
-       mov r22,r18\r
-       rcall __mulhi3\r
-       rcall malloc\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       sbiw r24,0\r
-       brne .L7\r
-       std Y+7,__zero_reg__\r
-       std Y+8,__zero_reg__\r
-       rjmp .L6\r
-.L7:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       ldd r18,Y+3\r
-       ldd r19,Y+4\r
-       mov r23,r19\r
-       mov r22,r18\r
-       rcall __mulhi3\r
-       mov r20,r24\r
-       mov r21,r25\r
-       ldi r22,lo8(0)\r
-       ldi r23,hi8(0)\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       rcall memset\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-.L6:\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-/* epilogue: frame size=8 */\r
-       adiw r28,8\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function calloc size 60 (41) */\r
-       .size   calloc, .-calloc\r
-/* File "calloc.c": code   60 = 0x003c (  41), prologues  10, epilogues   9 */\r
diff --git a/src/avrsample.old/libc/fdevopen.c b/src/avrsample.old/libc/fdevopen.c
deleted file mode 100644 (file)
index f52c458..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright (c) 2002, Joerg Wunsch
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-   * Neither the name of the copyright holders nor the names of
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* $Id: fdevopen.c,v 1.3 2003/03/17 17:49:46 troth Exp $ */
-
-#include <inttypes.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "stdio_private.h"
-
-FILE *__iob[3];                        /* stdin, stdout, stderr */
-
-/** \ingroup avr_stdio
-   This function is a replacement for \c fopen().
-
-   It opens a stream for a device where the actual device
-   implementation needs to be provided by the application.  If
-   successful, a pointer to the structure for the opened stream is
-   returned.  Reasons for a possible failure currently include that
-   neither the \c put nor the \c get argument have been provided, thus
-   attempting to open a stream with no IO intent at all, or that
-   insufficient dynamic memory is available to establish a new stream.
-
-   If the \c put function pointer is provided, the stream is opened
-   with write intent.  The function passed as \c put shall take one
-   character to write to the device as argument , and shall return 0
-   if the output was successful, and a nonzero value if the character
-   could not be sent to the device.
-
-   If the \c get function pointer is provided, the stream is opened
-   with read intent.  The function passed as \c get shall take no
-   arguments, and return one character from the device, passed as an
-   \c int type.  If an error occurs when trying to read from the
-   device, it shall return \c -1.
-
-   If both functions are provided, the stream is opened with read
-   and write intent.
-
-   The first stream opened with read intent is assigned to \c stdin,
-   and the first one opened with write intent is assigned to both,
-   \c stdout and \c stderr.
-
-   The third parameter \c opts is currently unused, but reserved for
-   future extensions.  */
-
-FILE *
-fdevopen(int (*put)(char), int (*get)(void), int opts __attribute__((unused)))
-{
-       FILE *s;
-
-       if (put == 0 && get == 0)
-               return 0;
-
-       if ((s = calloc(1, sizeof(FILE))) == 0)
-               return 0;
-
-       if (get != 0) {
-               s->get = get;
-               s->flags = __SRD;
-               if (stdin == 0)
-                       stdin = s;
-       }
-
-       if (put != 0) {
-               s->put = put;
-               s->flags |= __SWR;
-               if (stdout == 0) {
-                       stdout = s;
-                       if (stderr == 0)
-                               stderr = s;
-               }
-       }
-
-       return s;
-}
diff --git a/src/avrsample.old/libc/fdevopen.s b/src/avrsample.old/libc/fdevopen.s
deleted file mode 100644 (file)
index 1a8df29..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-       .file   "fdevopen.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-       .text\r
-.global        fdevopen\r
-       .type   fdevopen, @function\r
-fdevopen:\r
-/* prologue: frame size=10 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,10\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       std Y+3,r22\r
-       std Y+4,r23\r
-       std Y+5,r20\r
-       std Y+6,r21\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sbiw r24,0\r
-       brne .L7\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       brne .L7\r
-       std Y+9,__zero_reg__\r
-       std Y+10,__zero_reg__\r
-       rjmp .L6\r
-.L7:\r
-       ldi r22,lo8(12)\r
-       ldi r23,hi8(12)\r
-       ldi r24,lo8(1)\r
-       ldi r25,hi8(1)\r
-       rcall calloc\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sbiw r24,0\r
-       brne .L8\r
-       std Y+9,__zero_reg__\r
-       std Y+10,__zero_reg__\r
-       rjmp .L6\r
-.L8:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       breq .L9\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Z+10,r24\r
-       std Z+11,r25\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldi r24,lo8(1)\r
-       std Z+3,r24\r
-       lds r24,__iob\r
-       lds r25,(__iob)+1\r
-       sbiw r24,0\r
-       brne .L9\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (__iob)+1,r25\r
-       sts __iob,r24\r
-.L9:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sbiw r24,0\r
-       breq .L11\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       std Z+8,r24\r
-       std Z+9,r25\r
-       ldd r26,Y+7\r
-       ldd r27,Y+8\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Z+3\r
-       ori r24,lo8(2)\r
-       mov r31,r27\r
-       mov r30,r26\r
-       std Z+3,r24\r
-       lds r24,__iob+2\r
-       lds r25,(__iob+2)+1\r
-       sbiw r24,0\r
-       brne .L11\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (__iob+2)+1,r25\r
-       sts __iob+2,r24\r
-       lds r24,__iob+4\r
-       lds r25,(__iob+4)+1\r
-       sbiw r24,0\r
-       brne .L11\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (__iob+4)+1,r25\r
-       sts __iob+4,r24\r
-.L11:\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       std Y+9,r24\r
-       std Y+10,r25\r
-.L6:\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-/* epilogue: frame size=10 */\r
-       adiw r28,10\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function fdevopen size 125 (106) */\r
-       .size   fdevopen, .-fdevopen\r
-       .comm __iob,6,1\r
-/* File "fdevopen.c": code  125 = 0x007d ( 106), prologues  10, epilogues   9 */\r
diff --git a/src/avrsample.old/libc/gcrt1.S b/src/avrsample.old/libc/gcrt1.S
deleted file mode 100644 (file)
index dfe4d2c..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Copyright (c) 2002, Marek Michalkiewicz <marekm@amelek.gda.pl>
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-   POSSIBILITY OF SUCH DAMAGE. */
-
-#if (__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 3)
-#error "GCC version >= 3.3 required"
-#endif
-
-#include "macros.inc"
-
-       .macro  vector name
-       .if (. - __vectors < _VECTORS_SIZE)
-       .weak   \name
-       .set    \name, __bad_interrupt
-       XJMP    \name
-       .endif
-       .endm
-
-       .section .vectors,"ax",@progbits
-       .global __vectors
-       .func   __vectors
-__vectors:
-       XJMP    __init
-       vector  __vector_1
-       vector  __vector_2
-       vector  __vector_3
-       vector  __vector_4
-       vector  __vector_5
-       vector  __vector_6
-       vector  __vector_7
-       vector  __vector_8
-       vector  __vector_9
-       vector  __vector_10
-       vector  __vector_11
-       vector  __vector_12
-       vector  __vector_13
-       vector  __vector_14
-       vector  __vector_15
-       vector  __vector_16
-       vector  __vector_17
-       vector  __vector_18
-       vector  __vector_19
-       vector  __vector_20
-       vector  __vector_21
-       vector  __vector_22
-       vector  __vector_23
-       vector  __vector_24
-       vector  __vector_25
-       vector  __vector_26
-       vector  __vector_27
-       vector  __vector_28
-       vector  __vector_29
-       vector  __vector_30
-       vector  __vector_31
-       vector  __vector_32
-       vector  __vector_33
-       vector  __vector_34
-       vector  __vector_35
-       vector  __vector_36
-       vector  __vector_37
-       vector  __vector_38
-       vector  __vector_39
-       .endfunc
-
-       /* Handle unexpected interrupts (enabled and no handler), which
-          usually indicate a bug.  Jump to the __vector_default function
-          if defined by the user, otherwise jump to the reset address.
-
-          This must be in a different section, otherwise the assembler
-          will resolve "rjmp" offsets and there will be no relocs.  */
-
-       .text
-       .global __bad_interrupt
-       .func   __bad_interrupt
-__bad_interrupt:
-       .weak   __vector_default
-       .set    __vector_default, __vectors
-       XJMP    __vector_default
-       .endfunc
-
-       .section .init0,"ax",@progbits
-       .weak   __init
-;      .func   __init
-__init:
-
-#ifndef __AVR_ASM_ONLY__
-       .weak   __stack
-       .set    __stack, RAMEND
-
-       /* By default, malloc() uses the current value of the stack pointer
-          minus __malloc_margin as the highest available address.
-
-          In some applications with external SRAM, the stack can be below
-          the data section (in the internal SRAM - faster), and __heap_end
-          should be set to the highest address available for malloc().  */
-       .weak   __heap_end
-       .set    __heap_end, 0
-
-       .section .init2,"ax",@progbits
-       clr     __zero_reg__
-       out     _SFR_IO_ADDR(SREG), __zero_reg__
-       ldi     r28,lo8(__stack)
-#ifdef SPH
-       ldi     r29,hi8(__stack)
-       out     _SFR_IO_ADDR(SPH), r29
-#endif
-       out     _SFR_IO_ADDR(SPL), r28
-
-#if BIG_CODE
-       /* Only for >64K devices with RAMPZ, replaces the default code
-          provided by libgcc.S which is only linked in if necessary.  */
-
-       .section .init4,"ax",@progbits
-       .global __do_copy_data
-__do_copy_data:
-       ldi     r17, hi8(__data_end)
-       ldi     r26, lo8(__data_start)
-       ldi     r27, hi8(__data_start)
-       ldi     r30, lo8(__data_load_start)
-       ldi     r31, hi8(__data_load_start)
-
-       /* On the enhanced core, "elpm" with post-increment updates RAMPZ
-          automatically.  Otherwise we have to handle it ourselves.  */
-
-#ifdef __AVR_ENHANCED__
-       ldi     r16, hh8(__data_load_start)
-#else
-       ldi     r16, hh8(__data_load_start - 0x10000)
-.__do_copy_data_carry:
-       inc     r16
-#endif
-       out     _SFR_IO_ADDR(RAMPZ), r16
-       rjmp    .__do_copy_data_start
-.__do_copy_data_loop:
-#ifdef __AVR_ENHANCED__
-       elpm    r0, Z+
-#else
-       lpm
-#endif
-       st      X+, r0
-#ifndef __AVR_ENHANCED__
-       adiw    r30, 1
-       brcs    .__do_copy_data_carry
-#endif
-.__do_copy_data_start:
-       cpi     r26, lo8(__data_end)
-       cpc     r27, r17
-       brne    .__do_copy_data_loop
-#endif /* BIG_CODE */
-
-#endif /* !__AVR_ASM_ONLY__ */
-
-       .section .init9,"ax",@progbits
-       XJMP    main
-;      .endfunc
-
diff --git a/src/avrsample.old/libc/gcrt1.i b/src/avrsample.old/libc/gcrt1.i
deleted file mode 100644 (file)
index bf13aa3..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-# 1 "gcrt1.S"\r
-# 1 "<built-in>"\r
-# 1 "<command line>"\r
-# 1 "gcrt1.S"\r
-# 30 "gcrt1.S"\r
-# 1 "macros.inc" 1\r
-# 33 "macros.inc"\r
-# 1 "c:/WinAVR/avr/include/avr/io.h" 1 3\r
-# 81 "c:/WinAVR/avr/include/avr/io.h" 3\r
-# 1 "c:/WinAVR/avr/include/avr/sfr_defs.h" 1 3\r
-# 82 "c:/WinAVR/avr/include/avr/io.h" 2 3\r
-# 197 "c:/WinAVR/avr/include/avr/io.h" 3\r
-# 1 "c:/WinAVR/avr/include/avr/io4433.h" 1 3\r
-# 198 "c:/WinAVR/avr/include/avr/io.h" 2 3\r
-# 34 "macros.inc" 2\r
-# 124 "macros.inc"\r
-        .macro X_movw dest src\r
-                .if ((\src) - (\dest))\r
-                        .if (((\src) | (\dest)) & 0x01)\r
-                                .if (((\src)-(\dest)) & 0x80)\r
-                                        mov (\dest)+1, (\src)+1\r
-                                        mov (\dest), (\src)\r
-                                .else\r
-                                        mov (\dest), (\src)\r
-                                        mov (\dest)+1, (\src)+1\r
-                                .endif\r
-                        .else\r
-\r
-\r
-\r
-                                mov (\dest), (\src)\r
-                                mov (\dest)+1, (\src)+1\r
-\r
-                        .endif\r
-                .endif\r
-        .endm\r
-# 176 "macros.inc"\r
-        .macro LPM_R0_ZPLUS_INIT hhi\r
-\r
-\r
-\r
-\r
-\r
-        .endm\r
-\r
-        .macro LPM_R0_ZPLUS_NEXT hhi\r
-# 202 "macros.inc"\r
-        lpm\r
-        adiw r30,1\r
-\r
-\r
-        .endm\r
-\r
-        .macro LPM_R0_ZP\r
-\r
-\r
-\r
-        lpm\r
-        adiw r30,1\r
-\r
-        .endm\r
-# 31 "gcrt1.S" 2\r
-\r
-        .macro vector name\r
-        .if (. - __vectors < 28)\r
-        .weak \name\r
-        .set \name, __bad_interrupt\r
-        rjmp \name\r
-        .endif\r
-        .endm\r
-\r
-        .section .vectors,"ax",@progbits\r
-        .global __vectors\r
-        .func __vectors\r
-__vectors:\r
-        rjmp __init\r
-        vector __vector_1\r
-        vector __vector_2\r
-        vector __vector_3\r
-        vector __vector_4\r
-        vector __vector_5\r
-        vector __vector_6\r
-        vector __vector_7\r
-        vector __vector_8\r
-        vector __vector_9\r
-        vector __vector_10\r
-        vector __vector_11\r
-        vector __vector_12\r
-        vector __vector_13\r
-        vector __vector_14\r
-        vector __vector_15\r
-        vector __vector_16\r
-        vector __vector_17\r
-        vector __vector_18\r
-        vector __vector_19\r
-        vector __vector_20\r
-        vector __vector_21\r
-        vector __vector_22\r
-        vector __vector_23\r
-        vector __vector_24\r
-        vector __vector_25\r
-        vector __vector_26\r
-        vector __vector_27\r
-        vector __vector_28\r
-        vector __vector_29\r
-        vector __vector_30\r
-        vector __vector_31\r
-        vector __vector_32\r
-        vector __vector_33\r
-        vector __vector_34\r
-        vector __vector_35\r
-        vector __vector_36\r
-        vector __vector_37\r
-        vector __vector_38\r
-        vector __vector_39\r
-        .endfunc\r
-# 93 "gcrt1.S"\r
-        .text\r
-        .global __bad_interrupt\r
-        .func __bad_interrupt\r
-__bad_interrupt:\r
-        .weak __vector_default\r
-        .set __vector_default, __vectors\r
-        rjmp __vector_default\r
-        .endfunc\r
-\r
-        .section .init0,"ax",@progbits\r
-        .weak __init\r
-; .func __init\r
-__init:\r
-\r
-\r
-        .weak __stack\r
-        .set __stack, 0xDF\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-        .weak __heap_end\r
-        .set __heap_end, 0\r
-\r
-        .section .init2,"ax",@progbits\r
-        clr r1\r
-        out ((((0x3F) + 0x20)) - 0x20), r1\r
-        ldi r28,lo8(__stack)\r
-\r
-\r
-\r
-\r
-        out ((((0x3D) + 0x20)) - 0x20), r28\r
-# 174 "gcrt1.S"\r
-        .section .init9,"ax",@progbits\r
-        rjmp main\r
-; .endfunc\r
diff --git a/src/avrsample.old/libc/macros.inc b/src/avrsample.old/libc/macros.inc
deleted file mode 100644 (file)
index 29a8978..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Copyright (c) 2002, Marek Michalkiewicz
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE. */
-
-/*
-   macros.inc - macros for use in assembler sources
-
-   Contributors:
-     Created by Marek Michalkiewicz <marekm@linux.org.pl>
- */
-
-#include <avr/io.h>
-
-/* if not defined, assume old version with underscores */
-#ifndef __USER_LABEL_PREFIX__
-#define __USER_LABEL_PREFIX__ _
-#endif
-
-#ifndef __REGISTER_PREFIX__
-#define __REGISTER_PREFIX__
-#endif
-
-/* the assembler line separator (just in case it ever changes) */
-#define _L $
-
-#define CONCAT1(a, b) CONCAT2(a, b)
-#define CONCAT2(a, b) a ## b
-
-#define _U(x) CONCAT1(__USER_LABEL_PREFIX__, x)
-
-#define _R(x) CONCAT1(__REGISTER_PREFIX__, x)
-
-/* these should help to fix the "can't have function named r1()" bug
-   which may require adding '%' in front of register names.  */
-
-#define r0 _R(r0)
-#define r1 _R(r1)
-#define r2 _R(r2)
-#define r3 _R(r3)
-#define r4 _R(r4)
-#define r5 _R(r5)
-#define r6 _R(r6)
-#define r7 _R(r7)
-#define r8 _R(r8)
-#define r9 _R(r9)
-#define r10 _R(r10)
-#define r11 _R(r11)
-#define r12 _R(r12)
-#define r13 _R(r13)
-#define r14 _R(r14)
-#define r15 _R(r15)
-#define r16 _R(r16)
-#define r17 _R(r17)
-#define r18 _R(r18)
-#define r19 _R(r19)
-#define r20 _R(r20)
-#define r21 _R(r21)
-#define r22 _R(r22)
-#define r23 _R(r23)
-#define r24 _R(r24)
-#define r25 _R(r25)
-#define r26 _R(r26)
-#define r27 _R(r27)
-#define r28 _R(r28)
-#define r29 _R(r29)
-#define r30 _R(r30)
-#define r31 _R(r31)
-
-#ifndef __tmp_reg__
-#define __tmp_reg__ r0
-#endif
-
-#ifndef __zero_reg__
-#define __zero_reg__ r1
-#endif
-
-#if __AVR_MEGA__
-  #define XJMP jmp
-  #define XCALL call
-#else
-  #define XJMP rjmp
-  #define XCALL rcall
-#endif
-
-/* used only by fplib/strtod.S - libgcc internal function calls */
-#define PROLOGUE_SAVES(offset) XJMP (__prologue_saves__ + 2 * (offset))
-#define EPILOGUE_RESTORES(offset) XJMP (__epilogue_restores__ + 2 * (offset))
-
-#if FLASHEND > 0x10000  /* ATmega103 */
-  #define BIG_CODE 1
-#else
-  #define BIG_CODE 0
-#endif
-
-/*
-   Smart version of movw (use register numbers as arguments):
-    - uses "movw" if possible (supported by MCU, and both registers even)
-    - handles overlapping register pairs correctly
-    - no instruction generated if source and destination are the same
-   (may expand to 0, 1 or 2 instructions).
- */
-
-       .macro  X_movw dest src
-               .if ((\src) - (\dest))  /* different registers */
-                       .if (((\src) | (\dest)) & 0x01)
-                               .if (((\src)-(\dest)) & 0x80) /* src < dest */
-                                       mov     (\dest)+1, (\src)+1
-                                       mov     (\dest), (\src)
-                               .else  /* src > dest */
-                                       mov     (\dest), (\src)
-                                       mov     (\dest)+1, (\src)+1
-                               .endif
-                       .else  /* both even -> overlap not possible */
-#if __AVR_ENHANCED__
-                               movw    (\dest), (\src)
-#else
-                               mov     (\dest), (\src)
-                               mov     (\dest)+1, (\src)+1
-#endif
-                       .endif
-               .endif
-       .endm
-
-#if __AVR_ENHANCED__
-  #define LOAD_X(lo, hi) movw r26, lo
-  #define LOAD_Z(lo, hi) movw r30, lo
-#else
-  #define LOAD_X(lo, hi)               \
-       mov     r26, lo                 _L\
-       mov     r27, hi
-
-  #define LOAD_Z(lo, hi)               \
-       mov     r30, lo                 _L\
-       mov     r31, hi
-#endif
-
-/* LOAD_X_CONST(p) loads constant P into pointer register X.  */
-#define LOAD_X_CONST(p)                \
-       ldi     r26, lo8(p)             _L\
-       ldi     r27, hi8(p)
-
-/*
-   LPM_R0_ZPLUS_INIT is used before the loop to initialize RAMPZ
-   for future devices with RAMPZ:Z auto-increment - [e]lpm r0, Z+.
-
-   LPM_R0_ZPLUS_NEXT is used inside the loop to load a byte from
-   the program memory at [RAMPZ:]Z to R0, and increment [RAMPZ:]Z.
-
-   The argument in both macros is a register that contains the
-   high byte (bits 23-16) of the address, bits 15-0 should be in
-   the Z (r31:r30) register.  It can be any register except for:
-   r0, r1 (__zero_reg__ - assumed to always contain 0), r30, r31.
- */
-
-       .macro  LPM_R0_ZPLUS_INIT hhi
-#if __AVR_ENHANCED__
-  #if BIG_CODE
-       out     _SFR_IO_ADDR(RAMPZ), \hhi
-  #endif
-#endif
-       .endm
-
-       .macro  LPM_R0_ZPLUS_NEXT hhi
-#if __AVR_ENHANCED__
-  #if BIG_CODE
-    /* ELPM with RAMPZ:Z post-increment, load RAMPZ only once */
-       elpm    r0, Z+
-  #else
-    /* LPM with Z post-increment, max 64K, no RAMPZ (ATmega83/161/163/32) */
-       lpm     r0, Z+
-  #endif
-#else
-  #if BIG_CODE
-    /* ELPM without post-increment, load RAMPZ each time (ATmega103) */
-       out     _SFR_IO_ADDR(RAMPZ), \hhi
-       elpm
-       adiw    r30,1
-       adc     \hhi, __zero_reg__
-  #else
-    /* LPM without post-increment, max 64K, no RAMPZ (AT90S*) */
-       lpm
-       adiw    r30,1
-  #endif
-#endif
-       .endm
-
-       .macro  LPM_R0_ZP
-#if __AVR_ENHANCED__
-       lpm     r0, Z+
-#else
-       lpm
-       adiw    r30,1
-#endif
-       .endm
-
diff --git a/src/avrsample.old/libc/malloc.c b/src/avrsample.old/libc/malloc.c
deleted file mode 100644 (file)
index 6912b1e..0000000
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * Copyright (c) 2002 Joerg Wunsch
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: malloc.c,v 1.6 2003/01/08 11:14:10 joerg_wunsch Exp $
- */
-
-#include <stdlib.h>
-
-#include <avr/io.h>
-
-#ifndef __AVR__
-
-/*
- * When compiling this file natively on a host machine, it will
- * include a main() that performs a regression test.  This is meant as
- * a debugging aid, where a normal source-level debugger will help to
- * verify that the various allocator structures have the desired
- * appearance at each stage.
- *
- * When cross-compiling with avr-gcc, it will compile into just the
- * library functions malloc() and free().
- */
-#define MALLOC_TEST
-
-#endif /* !__AVR__ */
-
-struct freelist {
-       size_t sz;
-       struct freelist *nx;
-};
-
-static char *brkval;
-static struct freelist *flp;
-
-#ifdef MALLOC_TEST
-
-#define malloc mymalloc
-#define free myfree
-#define __heap_start mymem
-#define __heap_end ((char *)0)
-
-char mymem[256];
-#define STACK_POINTER() (mymem + 256)
-
-#else /* !MALLOC_TEST */
-
-extern char __heap_start;
-extern char __heap_end;
-
-#define STACK_POINTER() ((char *)SP)
-
-#endif /* MALLOC_TEST */
-
-/*
- * Exported interface:
- *
- * When extending the data segment, the allocator will not try to go
- * beyond the current stack limit, decreased by __malloc_margin bytes.
- * Thus, all possible stack frames of interrupt routines that could
- * interrupt the current function, plus all further nested function
- * calls must not require more stack space, or they'll risk to collide
- * with the data segment.
- */
-/* May be changed by the user only before the first malloc() call.  */
-
-size_t __malloc_margin = 32;
-char *__malloc_heap_start = &__heap_start;
-char *__malloc_heap_end = &__heap_end;
-
-void *
-malloc(size_t len)
-{
-       struct freelist *fp1, *fp2;
-       char *cp;
-       size_t s;
-
-       /*
-        * Our minimum chunk size is the size of a pointer (plus the
-        * size of the "sz" field, but we don't need to account for
-        * this), otherwise we could not possibly fit a freelist entry
-        * into the chunk later.
-        */
-       if (len < sizeof(struct freelist) - sizeof(size_t))
-               len = sizeof(struct freelist) - sizeof(size_t);
-
-       /*
-        * First, walk the free list and try finding a chunk that
-        * would match exactly.  If we found one, we are done.  While
-        * walking, note down the size of the largest chunk we found
-        * that would still fit the request -- we need it for step 2.
-        *
-        */
-       for (s = 0, fp1 = flp, fp2 = 0;
-            fp1;
-            fp2 = fp1, fp1 = fp1->nx) {
-               if (fp1->sz == len) {
-                       /*
-                        * Found it.  Disconnect the chunk from the
-                        * freelist, and return it.
-                        */
-                       if (fp2)
-                               fp2->nx = fp1->nx;
-                       else
-                               flp = fp1->nx;
-                       return &(fp1->nx);
-               }
-               if (fp1->sz > len) {
-                       if (s == 0 || fp1->sz < s)
-                               s = fp1->sz;
-               }
-       }
-       /*
-        * Step 2: If we found a chunk on the freelist that would fit
-        * (but was too large), look it up again and use it, since it
-        * is our closest match now.  Since the freelist entry needs
-        * to be split into two entries then, watch out that the
-        * difference between the requested size and the size of the
-        * chunk found is large enough for another freelist entry; if
-        * not, just enlarge the request size to what we have found,
-        * and use the entire chunk.
-        */
-       if (s) {
-               if (s - len < sizeof(struct freelist))
-                       len = s;
-               for (fp1 = flp, fp2 = 0;
-                    fp1;
-                    fp2 = fp1, fp1 = fp1->nx) {
-                       if (fp1->sz == s) {
-                               if (len == s) {
-                                       /*
-                                        * Use entire chunk; same as
-                                        * above.
-                                        */
-                                       if (fp2)
-                                               fp2->nx = fp1->nx;
-                                       else
-                                               flp = fp1->nx;
-                                       return &(fp1->nx);
-                               }
-                               /*
-                                * Split them up.  Note that we leave
-                                * the first part as the new (smaller)
-                                * freelist entry, and return the
-                                * upper portion to the caller.  This
-                                * saves us the work to fix up the
-                                * freelist chain; we just need to
-                                * fixup the size of the current
-                                * entry, and note down the size of
-                                * the new chunk before returning it
-                                * to the caller.
-                                */
-                               cp = (char *)fp1;
-                               s -= len;
-                               cp += s;
-                               fp2 = (struct freelist *)cp;
-                               fp2->sz = len;
-                               fp1->sz = s - sizeof(size_t);
-                               return &(fp2->nx);
-                       }
-               }
-       }
-       /*
-        * Step 3: If the request could not be satisfied from a
-        * freelist entry, just prepare a new chunk.  This means we
-        * need to obtain more memory first.  The largest address just
-        * not allocated so far is remembered in the brkval variable.
-        * Under Unix, the "break value" was the end of the data
-        * segment as dynamically requested from the operating system.
-        * Since we don't have an operating system, just make sure
-        * that we don't collide with the stack.
-        */
-       if (brkval == 0)
-               brkval = __malloc_heap_start;
-       cp = __malloc_heap_end;
-       if (cp == 0)
-               cp = STACK_POINTER() - __malloc_margin;
-       if (brkval + len + sizeof(size_t) < cp) {
-               fp1 = (struct freelist *)brkval;
-               brkval += len + sizeof(size_t);
-               fp1->sz = len;
-               return &(fp1->nx);
-       }
-       /*
-        * Step 4: There's no help, just fail. :-/
-        */
-       return 0;
-}
-
-void
-free(void *p)
-{
-       struct freelist *fp1, *fp2, *fpnew;
-       char *cp1, *cp2, *cpnew;
-
-       /* ISO C says free(NULL) must be a no-op */
-       if (p == 0)
-               return;
-
-       cpnew = p;
-       cpnew -= sizeof(size_t);
-       fpnew = (struct freelist *)cpnew;
-       fpnew->nx = 0;
-
-       /*
-        * Trivial case first: if there's no freelist yet, our entry
-        * will be the only one on it.
-        */
-       if (flp == 0) {
-               flp = fpnew;
-               return;
-       }
-
-       /*
-        * Now, find the position where our new entry belongs onto the
-        * freelist.  Try to aggregate the chunk with adjacent chunks
-        * if possible.
-        */
-       for (fp1 = flp, fp2 = 0;
-            fp1;
-            fp2 = fp1, fp1 = fp1->nx) {
-               if (fp1 < fpnew)
-                       continue;
-               cp1 = (char *)fp1;
-               fpnew->nx = fp1;
-               if ((char *)&(fpnew->nx) + fpnew->sz == cp1) {
-                       /* upper chunk adjacent, assimilate it */
-                       fpnew->sz += fp1->sz + sizeof(size_t);
-                       fpnew->nx = fp1->nx;
-               }
-               if (fp2 == 0) {
-                       /* new head of freelist */
-                       flp = fpnew;
-                       return;
-               }
-               break;
-       }
-       /*
-        * Note that we get here either if we hit the "break" above,
-        * or if we fell off the end of the loop.  The latter means
-        * we've got a new topmost chunk.  Either way, try aggregating
-        * with the lower chunk if possible.
-        */
-       fp2->nx = fpnew;
-       cp2 = (char *)&(fp2->nx);
-       if (cp2 + fp2->sz == cpnew) {
-               /* lower junk adjacent, merge */
-               fp2->sz += fpnew->sz + sizeof(size_t);
-               fp2->nx = fpnew->nx;
-       }
-}
-
-#ifdef MALLOC_TEST
-
-#include <stdio.h>
-#include <time.h>
-#include <unistd.h>
-
-void *handles[32];
-size_t sizes[32];
-
-
-void *
-alloc(size_t s)
-{
-       void *p;
-
-       if ((p = malloc(s)) == 0)
-               return 0;
-       memset(p, 0xd0, s);
-       return p;
-}
-
-void
-printfreelist(void)
-{
-       struct freelist *fp1;
-       int i;
-
-       if (!flp) {
-               printf("no free list\n");
-               return;
-       }
-
-       for (i = 0, fp1 = flp; fp1; i++, fp1 = fp1->nx) {
-               printf("entry %d @ %u: size %u, next ",
-                      i, (char *)fp1 - mymem, fp1->sz);
-               if (fp1->nx)
-                       printf("%u\n", (char *)fp1->nx - mymem);
-               else
-                       printf("NULL\n");
-       }
-}
-
-int
-compare(const void *p1, const void *p2)
-{
-       return *((size_t *)p1) - *((size_t *)p2);
-}
-
-void
-printalloc(void)
-{
-       int i, j, k;
-       size_t sum, sum2;
-       void *sortedhandles[32];
-       struct freelist *fp;
-       char *cp;
-
-       for (i = j = k = sum = sum2 = 0;
-            i < sizeof handles / sizeof (void *);
-            i++)
-               if (sizes[i]) {
-                       j++;
-                       sum += sizes[i];
-                       if (handles[i]) {
-                               k++;
-                               sum2 += sizes[i];
-                       }
-               }
-       printf("brkval: %d, %d request%s => sum %u bytes "
-              "(actually %d reqs => %u bytes)\n",
-              (char *)brkval - mymem, j, j == 1? "": "s", sum, k, sum2);
-       memcpy(sortedhandles, handles, sizeof sortedhandles);
-       qsort(sortedhandles, 32, sizeof(void *), compare);
-       for (i = j = 0; i < sizeof sortedhandles / sizeof (void *); i++)
-               if ((cp = sortedhandles[i])) {
-                       cp -= sizeof(size_t);
-                       fp = (struct freelist *)cp;
-                       printf("block %d @ %u: %u bytes\n",
-                              j, (char *)&fp->nx - mymem, fp->sz);
-                       j++;
-               }
-
-}
-
-
-int
-main(void)
-{
-       int i, j, k, l, m, om, p, f;
-       size_t s;
-
-       srand(time(0) ^ getpid());
-
-       for (k = 0; k < 100; k++) {
-               memset(handles, 0, sizeof handles);
-               memset(sizes, 0, sizeof sizes);
-
-               j = rand() % 16 + 15;
-               l = rand() % 80 + 7;
-
-               for (i = s = 0; i < j && s < 256; i++) {
-                       sizes[i] = rand() % l + 1;
-                       s += sizes[i];
-               }
-               j = i;
-               for (m = om = 1, p = 1, f = 0; m < 1000; m++) {
-                       for (i = s = 0; i < j; i++)
-                               if (handles[i])
-                                       s++;
-                       if (s == j)
-                               break;
-
-                       if (m / om > 10) {
-                               p <<= 1;
-                               p |= 1;
-                       }
-
-                       for (i = 0; i < j; i++)
-                               if (rand() & p) {
-                                       if (!handles[i] &&
-                                           (handles[i] = alloc(sizes[i])) == 0)
-                                               f++;
-                               }
-                       for (i = 0; i < j; i++)
-                               if (rand() & 1) {
-                                       free(handles[i]);
-                                       handles[i] = 0;
-                               }
-               }
-               if (f)
-                       printf("%d alloc failure%s total\n",
-                              f, f == 1? "": "s");
-               printf("After alloc:\n");
-               printalloc();
-               printfreelist();
-               for (i = 0; i < j; i++)
-                       free(handles[i]);
-               printf("After cleanup:\n");
-               printfreelist();
-       }
-
-       return 0;
-}
-
-#endif /* MALLOC_TEST */
-
diff --git a/src/avrsample.old/libc/malloc.s b/src/avrsample.old/libc/malloc.s
deleted file mode 100644 (file)
index 610f133..0000000
+++ /dev/null
@@ -1,600 +0,0 @@
-       .file   "malloc.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-.global        __malloc_margin\r
-       .data\r
-       .type   __malloc_margin, @object\r
-       .size   __malloc_margin, 2\r
-__malloc_margin:\r
-       .word   32\r
-.global        __malloc_heap_start\r
-       .type   __malloc_heap_start, @object\r
-       .size   __malloc_heap_start, 2\r
-__malloc_heap_start:\r
-       .word   __heap_start\r
-.global        __malloc_heap_end\r
-       .type   __malloc_heap_end, @object\r
-       .size   __malloc_heap_end, 2\r
-__malloc_heap_end:\r
-       .word   __heap_end\r
-       .text\r
-.global        malloc\r
-       .type   malloc, @function\r
-malloc:\r
-/* prologue: frame size=14 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,14\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       cpi r24,2\r
-       cpc r25,__zero_reg__\r
-       brsh .L7\r
-       ldi r24,lo8(2)\r
-       ldi r25,hi8(2)\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-.L7:\r
-       std Y+9,__zero_reg__\r
-       std Y+10,__zero_reg__\r
-       lds r24,flp\r
-       lds r25,(flp)+1\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       std Y+5,__zero_reg__\r
-       std Y+6,__zero_reg__\r
-.L8:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       brne .L11\r
-       rjmp .L9\r
-.L11:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brne .L12\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       sbiw r24,0\r
-       breq .L13\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       std Y+13,r24\r
-       std Y+14,r25\r
-       ldd r26,Y+3\r
-       ldd r27,Y+4\r
-       mov r31,r27\r
-       mov r30,r26\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       ldd r30,Y+13\r
-       ldd r31,Y+14\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-       rjmp .L14\r
-.L13:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       sts (flp)+1,r25\r
-       sts flp,r24\r
-.L14:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       rjmp .L6\r
-.L12:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       cp r24,r18\r
-       cpc r25,r19\r
-       brsh .L10\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       sbiw r24,0\r
-       breq .L17\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brlo .L17\r
-       rjmp .L10\r
-.L17:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r24,Z\r
-       ldd r25,Z+1\r
-       std Y+9,r24\r
-       std Y+10,r25\r
-.L10:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       rjmp .L8\r
-.L9:\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       sbiw r24,0\r
-       brne .+2\r
-       rjmp .L18\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       ldd r18,Y+1\r
-       ldd r19,Y+2\r
-       sub r24,r18\r
-       sbc r25,r19\r
-       cpi r24,4\r
-       cpc r25,__zero_reg__\r
-       brsh .L19\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-.L19:\r
-       lds r24,flp\r
-       lds r25,(flp)+1\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       std Y+5,__zero_reg__\r
-       std Y+6,__zero_reg__\r
-.L20:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       brne .L23\r
-       rjmp .L18\r
-.L23:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       breq .+2\r
-       rjmp .L22\r
-       ldd r18,Y+1\r
-       ldd r19,Y+2\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brne .L25\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       sbiw r24,0\r
-       breq .L26\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       std Y+13,r24\r
-       std Y+14,r25\r
-       ldd r26,Y+3\r
-       ldd r27,Y+4\r
-       mov r31,r27\r
-       mov r30,r26\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       ldd r30,Y+13\r
-       ldd r31,Y+14\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-       rjmp .L27\r
-.L26:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       sts (flp)+1,r25\r
-       sts flp,r24\r
-.L27:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       rjmp .L6\r
-.L25:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r18,Y+9\r
-       ldd r19,Y+10\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sub r18,r24\r
-       sbc r19,r25\r
-       mov r25,r19\r
-       mov r24,r18\r
-       std Y+9,r24\r
-       std Y+10,r25\r
-       ldd r18,Y+7\r
-       ldd r19,Y+8\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       add r24,r18\r
-       adc r25,r19\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r30,Y+5\r
-       ldd r31,Y+6\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       sbiw r24,2\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       rjmp .L6\r
-.L22:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       rjmp .L20\r
-.L18:\r
-       lds r24,brkval\r
-       lds r25,(brkval)+1\r
-       sbiw r24,0\r
-       brne .L28\r
-       lds r24,__malloc_heap_start\r
-       lds r25,(__malloc_heap_start)+1\r
-       sts (brkval)+1,r25\r
-       sts brkval,r24\r
-.L28:\r
-       lds r24,__malloc_heap_end\r
-       lds r25,(__malloc_heap_end)+1\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sbiw r24,0\r
-       brne .L29\r
-       lds r24,93\r
-       mov r18,r24\r
-       clr r19\r
-       lds r24,__malloc_margin\r
-       lds r25,(__malloc_margin)+1\r
-       sub r18,r24\r
-       sbc r19,r25\r
-       mov r25,r19\r
-       mov r24,r18\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-.L29:\r
-       lds r18,brkval\r
-       lds r19,(brkval)+1\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       add r24,r18\r
-       adc r25,r19\r
-       mov r18,r24\r
-       mov r19,r25\r
-       subi r18,lo8(-(2))\r
-       sbci r19,hi8(-(2))\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brsh .L30\r
-       lds r24,brkval\r
-       lds r25,(brkval)+1\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       lds r18,brkval\r
-       lds r19,(brkval)+1\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       add r24,r18\r
-       adc r25,r19\r
-       adiw r24,2\r
-       sts (brkval)+1,r25\r
-       sts brkval,r24\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       rjmp .L6\r
-.L30:\r
-       std Y+11,__zero_reg__\r
-       std Y+12,__zero_reg__\r
-.L6:\r
-       ldd r24,Y+11\r
-       ldd r25,Y+12\r
-/* epilogue: frame size=14 */\r
-       adiw r28,14\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function malloc size 354 (335) */\r
-       .size   malloc, .-malloc\r
-.global        free\r
-       .type   free, @function\r
-free:\r
-/* prologue: frame size=14 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,14\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sbiw r24,0\r
-       brne .L32\r
-       rjmp .L31\r
-.L32:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       std Y+13,r24\r
-       std Y+14,r25\r
-       ldd r24,Y+13\r
-       ldd r25,Y+14\r
-       sbiw r24,2\r
-       std Y+13,r24\r
-       std Y+14,r25\r
-       ldd r24,Y+13\r
-       ldd r25,Y+14\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       std Z+2,__zero_reg__\r
-       std Z+3,__zero_reg__\r
-       lds r24,flp\r
-       lds r25,(flp)+1\r
-       sbiw r24,0\r
-       brne .L33\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (flp)+1,r25\r
-       sts flp,r24\r
-       rjmp .L31\r
-.L33:\r
-       lds r24,flp\r
-       lds r25,(flp)+1\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       std Y+5,__zero_reg__\r
-       std Y+6,__zero_reg__\r
-.L34:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       brne .L37\r
-       rjmp .L35\r
-.L37:\r
-       ldd r18,Y+3\r
-       ldd r19,Y+4\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brsh .L38\r
-       rjmp .L36\r
-.L38:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+9,r24\r
-       std Y+10,r25\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r18,Y+7\r
-       ldd r19,Y+8\r
-       ld r24,Z\r
-       ldd r25,Z+1\r
-       add r24,r18\r
-       adc r25,r19\r
-       mov r18,r24\r
-       mov r19,r25\r
-       subi r18,lo8(-(2))\r
-       sbci r19,hi8(-(2))\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brne .L39\r
-       ldd r20,Y+7\r
-       ldd r21,Y+8\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r26,Y+3\r
-       ldd r27,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ld r24,X+\r
-       ld r25,X\r
-       add r24,r18\r
-       adc r25,r19\r
-       adiw r24,2\r
-       mov r31,r21\r
-       mov r30,r20\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r26,Y+7\r
-       ldd r27,Y+8\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       mov r31,r27\r
-       mov r30,r26\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-.L39:\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       sbiw r24,0\r
-       brne .L35\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (flp)+1,r25\r
-       sts flp,r24\r
-       rjmp .L31\r
-.L36:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       rjmp .L34\r
-.L35:\r
-       ldd r30,Y+5\r
-       ldd r31,Y+6\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       ldd r30,Y+5\r
-       ldd r31,Y+6\r
-       ldd r18,Y+11\r
-       ldd r19,Y+12\r
-       ld r24,Z\r
-       ldd r25,Z+1\r
-       add r18,r24\r
-       adc r19,r25\r
-       ldd r24,Y+13\r
-       ldd r25,Y+14\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brne .L31\r
-       ldd r20,Y+5\r
-       ldd r21,Y+6\r
-       ldd r30,Y+5\r
-       ldd r31,Y+6\r
-       ldd r26,Y+7\r
-       ldd r27,Y+8\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ld r24,X+\r
-       ld r25,X\r
-       add r24,r18\r
-       adc r25,r19\r
-       adiw r24,2\r
-       mov r31,r21\r
-       mov r30,r20\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r26,Y+5\r
-       ldd r27,Y+6\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       mov r31,r27\r
-       mov r30,r26\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-.L31:\r
-/* epilogue: frame size=14 */\r
-       adiw r28,14\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function free size 204 (185) */\r
-       .size   free, .-free\r
-       .lcomm brkval,2\r
-       .lcomm flp,2\r
-/* File "malloc.c": code  558 = 0x022e ( 520), prologues  20, epilogues  18 */\r
diff --git a/src/avrsample.old/libc/memset.S b/src/avrsample.old/libc/memset.S
deleted file mode 100644 (file)
index cc049cf..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (c) 2002, Marek Michalkiewicz
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-   * Neither the name of the copyright holders nor the names of
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE. */
-
-#include "macros.inc"
-
-#define dest_hi r25
-#define dest_lo r24
-; #define val_hi r23
-#define val_lo r22
-#define len_hi r21
-#define len_lo r20
-
-/** \ingroup avr_string
-    \fn void *memset(void *dest, int val, size_t len)
-    \brief Fill memory with a constant byte.
-
-    The memset() function fills the first len bytes of the memory area pointed
-    to by dest with the constant byte val.
-
-    \returns The memset() function returns a pointer to the memory area dest. */
-
-       .text
-       .global _U(memset)
-       .type   _U(memset), @function
-_U(memset):
-       LOAD_X(dest_lo, dest_hi)
-#if OPTIMIZE_SPEED
-; 11 words, (12 + len * 4 - (len & 1)) cycles
-       sbrs    len_lo, 0
-       rjmp    .memset_start
-       rjmp    .memset_odd
-.memset_loop:
-       st      X+, val_lo
-.memset_odd:
-       st      X+, val_lo
-.memset_start:
-       subi    len_lo, lo8(2)
-       sbci    len_hi, hi8(2)
-#else
-; 8 words, (11 + len * 6) cycles
-       rjmp    .memset_start
-.memset_loop:
-       st      X+, val_lo
-.memset_start:
-       subi    len_lo, lo8(1)
-       sbci    len_hi, hi8(1)
-#endif
-       brcc    .memset_loop
-; return dest (unchanged)
-       ret
-.memset_end:
-       .size   _U(memset), .memset_end - _U(memset)
-
diff --git a/src/avrsample.old/libc/memset.i b/src/avrsample.old/libc/memset.i
deleted file mode 100644 (file)
index f05cb50..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-# 1 "memset.S"\r
-# 1 "<built-in>"\r
-# 1 "<command line>"\r
-# 1 "memset.S"\r
-# 29 "memset.S"\r
-# 1 "macros.inc" 1\r
-# 33 "macros.inc"\r
-# 1 "c:/WinAVR/avr/include/avr/io.h" 1 3\r
-# 81 "c:/WinAVR/avr/include/avr/io.h" 3\r
-# 1 "c:/WinAVR/avr/include/avr/sfr_defs.h" 1 3\r
-# 82 "c:/WinAVR/avr/include/avr/io.h" 2 3\r
-# 197 "c:/WinAVR/avr/include/avr/io.h" 3\r
-# 1 "c:/WinAVR/avr/include/avr/io4433.h" 1 3\r
-# 198 "c:/WinAVR/avr/include/avr/io.h" 2 3\r
-# 34 "macros.inc" 2\r
-# 124 "macros.inc"\r
-        .macro X_movw dest src\r
-                .if ((\src) - (\dest))\r
-                        .if (((\src) | (\dest)) & 0x01)\r
-                                .if (((\src)-(\dest)) & 0x80)\r
-                                        mov (\dest)+1, (\src)+1\r
-                                        mov (\dest), (\src)\r
-                                .else\r
-                                        mov (\dest), (\src)\r
-                                        mov (\dest)+1, (\src)+1\r
-                                .endif\r
-                        .else\r
-\r
-\r
-\r
-                                mov (\dest), (\src)\r
-                                mov (\dest)+1, (\src)+1\r
-\r
-                        .endif\r
-                .endif\r
-        .endm\r
-# 176 "macros.inc"\r
-        .macro LPM_R0_ZPLUS_INIT hhi\r
-\r
-\r
-\r
-\r
-\r
-        .endm\r
-\r
-        .macro LPM_R0_ZPLUS_NEXT hhi\r
-# 202 "macros.inc"\r
-        lpm\r
-        adiw r30,1\r
-\r
-\r
-        .endm\r
-\r
-        .macro LPM_R0_ZP\r
-\r
-\r
-\r
-        lpm\r
-        adiw r30,1\r
-\r
-        .endm\r
-# 30 "memset.S" 2\r
-\r
-\r
-\r
-; #define val_hi r23\r
-# 47 "memset.S"\r
-        .text\r
-        .global memset\r
-        .type memset, @function\r
-memset:\r
-        mov r26, r24 $ mov r27, r25\r
-# 65 "memset.S"\r
-; 8 words, (11 + len * 6) cycles\r
-        rjmp .memset_start\r
-.memset_loop:\r
-        st X+, r22\r
-.memset_start:\r
-        subi r20, lo8(1)\r
-        sbci r21, hi8(1)\r
-\r
-        brcc .memset_loop\r
-; return dest (unchanged)\r
-        ret\r
-.memset_end:\r
-        .size memset, .memset_end - memset\r
diff --git a/src/avrsample.old/libc/stdio_private.h b/src/avrsample.old/libc/stdio_private.h
deleted file mode 100644 (file)
index 16a8fbe..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (c) 2002, Joerg Wunsch
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-   * Neither the name of the copyright holders nor the names of
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* $Id: stdio_private.h,v 1.6 2003/01/07 22:17:24 joerg_wunsch Exp $ */
-
-#include <inttypes.h>
-#include <stdio.h>
-
-struct __file {
-       char    *buf;           /* buffer pointer */
-       unsigned char unget;    /* ungetc() buffer */
-       uint8_t flags;          /* flags, see below */
-#define __SRD  0x0001          /* OK to read */
-#define __SWR  0x0002          /* OK to write */
-#define __SSTR 0x0004          /* this is an sprintf/snprintf string */
-#define __SPGM 0x0008          /* fmt string is in progmem */
-#define __SERR 0x0010          /* found error */
-#define __SEOF 0x0020          /* found EOF */
-#define __SUNGET 0x040         /* ungetc() happened */
-#if 0
-/* possible future extensions, will require uint16_t flags */
-#define __SRW  0x0080          /* open for reading & writing */
-#define __SLBF 0x0100          /* line buffered */
-#define __SNBF 0x0200          /* unbuffered */
-#define __SMBF 0x0400          /* buf is from malloc */
-#endif
-       int     size;           /* size of buffer */
-       int     len;            /* characters read or written so far */
-       int     (*put)(char);   /* function to write one char to device */
-       int     (*get)(void);   /* function to read one char from device */
-};
-
-/* values for PRINTF_LEVEL */
-#define PRINTF_MIN 1
-#define PRINTF_STD 2
-#define PRINTF_FLT 3
-
-/* values for SCANF_LEVEL */
-#define SCANF_MIN 1
-#define SCANF_STD 2
-#define SCANF_FLT 3
diff --git a/src/avrsample.old/makefile b/src/avrsample.old/makefile
deleted file mode 100644 (file)
index 71214fd..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# Simple Makefile\r
-# Volker Oth (c) 1999\r
-\r
-\r
-########### change this lines according to your project ##################\r
-\r
-#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)\r
-    MCU = at90s4433\r
-\r
-#put the name of the target file here (without extension)\r
-       TRG     = hello\r
-\r
-#put your C sourcefiles here \r
-#      SRC     = uart.c $(TRG).c\r
-       SRC     = $(TRG).c\r
-\r
-#put additional assembler source file here\r
-       ASRC    =\r
-\r
-#additional libraries and object files to link\r
-       LIB = \r
-\r
-#additional includes to compile\r
-       INC     = \r
-\r
-#compiler flags\r
-       CPFLAGS = -g -O2 -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)\r
-\r
-#linker flags\r
-       LDFLAGS = -Wl,-Map=$(TRG).map,--cref\r
-\r
-########### you should not need to change the following line #############\r
-include avr_make\r
-                 \r
-###### dependecies, add any dependencies you need here ###################\r
-\r
-#uart.o     : uart.c uart.h\r
-$(TRG).o    : $(TRG).c\r
diff --git a/src/avrsample.old/makefile% b/src/avrsample.old/makefile%
deleted file mode 100644 (file)
index 0dc1ef7..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# Simple Makefile\r
-# Volker Oth (c) 1999\r
-\r
-\r
-########### change this lines according to your project ##################\r
-\r
-#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)\r
-    MCU = at90s4433\r
-\r
-#put the name of the target file here (without extension)\r
-       TRG     = hello\r
-\r
-#put your C sourcefiles here \r
-#      SRC     = uart.c $(TRG).c\r
-       SRC     = $(TRG).c\r
-\r
-#put additional assembler source file here\r
-       ASRC    =\r
-\r
-#additional libraries and object files to link\r
-       LIB = \r
-\r
-#additional includes to compile\r
-       INC     = \r
-\r
-#compiler flags\r
-       CPFLAGS = -g -O2 -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)\r
-\r
-#linker flags\r
-       LDFLAGS = -Wl,-Map=$(TRG).map,--cref\r
-\r
-########### you should not need to change the following line #############\r
-include avr_make\r
-                 \r
-###### dependecies, add any dependencies you need here ###################\r
-\r
-#uart.o     : uart.c uart.h\r
-$(TRG).o    : $(TRG).c\r
-       mv $(TRG).o $(TRG).obj\r
diff --git a/src/avrsample.old/n.bat b/src/avrsample.old/n.bat
deleted file mode 100644 (file)
index 2ecd204..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-avr-gcc -mmcu=at90s4433 -Wa,-a=nick -Wl,--oformat,ihex,-M hello.c -o hello.hex > hello.map
-copy hello.hex a:\
diff --git a/src/avrsample.old/nick b/src/avrsample.old/nick
deleted file mode 100644 (file)
index 2ab5e80..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-GAS LISTING C:\cygwin\tmp/ccmeaaaa.s                   page 1\r
-\r
-\r
-   1                           .file   "gcctest7.c"\r
-   2                           .arch at90s4433\r
-   3                   __SREG__ = 0x3f\r
-   4                   __SP_H__ = 0x3e\r
-   5                   __SP_L__ = 0x3d\r
-   6                   __tmp_reg__ = 0\r
-   7                   __zero_reg__ = 1\r
-   8                           .global __do_copy_data\r
-   9                           .global __do_clear_bss\r
-  10                           .section        .progmem.data,"a",@progbits\r
-  11                           .type   __c.0, @object\r
-  12                           .size   __c.0, 14\r
-  13                   __c.0:\r
-  14 0000 4865 6C6C            .string "Hello World !"\r
-  14      6F20 576F \r
-  14      726C 6420 \r
-  14      2100 \r
-  15                           .type   __c.1, @object\r
-  16                           .size   __c.1, 17\r
-  17                   __c.1:\r
-  18 000e 5072 6573            .string "Press any key..."\r
-  18      7320 616E \r
-  18      7920 6B65 \r
-  18      792E 2E2E \r
-  18      00\r
-  19                           .type   __c.2, @object\r
-  20                           .size   __c.2, 14\r
-  21                   __c.2:\r
-  22 001f 596F 7520            .string "You pressed '"\r
-  22      7072 6573 \r
-  22      7365 6420 \r
-  22      2700 \r
-  23                           .type   __c.3, @object\r
-  24                           .size   __c.3, 14\r
-  25                   __c.3:\r
-  26 002d 2720 7768            .string "' which is 0x"\r
-  26      6963 6820 \r
-  26      6973 2030 \r
-  26      7800 \r
-  27                           .type   __c.4, @object\r
-  28                           .size   __c.4, 17\r
-  29                   __c.4:\r
-  30 003b 2069 6E20            .string " in hexadecimal."\r
-  30      6865 7861 \r
-  30      6465 6369 \r
-  30      6D61 6C2E \r
-  30      00\r
-  31                           .text\r
-  32                   .global main\r
-  33                           .type   main, @function\r
-  34                   main:\r
-  35                   /* prologue: frame size=1 */\r
-  36 0000 C0E0                 ldi r28,lo8(__stack - 1)\r
-  37 0002 D0E0                 ldi r29,hi8(__stack - 1)\r
-  38 0004 DEBF                 out __SP_H__,r29\r
-  39 0006 CDBF                 out __SP_L__,r28\r
-  40                   /* prologue end (size=4) */\r
-\fGAS LISTING C:\cygwin\tmp/ccmeaaaa.s                  page 2\r
-\r
-\r
-  41 0008 00D0                 rcall UART_Init\r
-  42 000a 80E0                 ldi r24,lo8(__c.0)\r
-  43 000c 90E0                 ldi r25,hi8(__c.0)\r
-  44 000e 00D0                 rcall UART_PrintfProgStr\r
-  45 0010 00D0                 rcall UART_PrintfEndOfLine\r
-  46                   .L3:\r
-  47 0012 80E0                 ldi r24,lo8(__c.1)\r
-  48 0014 90E0                 ldi r25,hi8(__c.1)\r
-  49 0016 00D0                 rcall UART_PrintfProgStr\r
-  50 0018 00D0                 rcall UART_PrintfEndOfLine\r
-  51 001a 00D0                 rcall UART_ReceiveByte\r
-  52 001c 8983                 std Y+1,r24\r
-  53 001e 80E0                 ldi r24,lo8(__c.2)\r
-  54 0020 90E0                 ldi r25,hi8(__c.2)\r
-  55 0022 00D0                 rcall UART_PrintfProgStr\r
-  56 0024 8981                 ldd r24,Y+1\r
-  57 0026 00D0                 rcall UART_SendByte\r
-  58 0028 80E0                 ldi r24,lo8(__c.3)\r
-  59 002a 90E0                 ldi r25,hi8(__c.3)\r
-  60 002c 00D0                 rcall UART_PrintfProgStr\r
-  61 002e 8981                 ldd r24,Y+1\r
-  62 0030 00D0                 rcall UART_Printfu08\r
-  63 0032 80E0                 ldi r24,lo8(__c.4)\r
-  64 0034 90E0                 ldi r25,hi8(__c.4)\r
-  65 0036 00D0                 rcall UART_PrintfProgStr\r
-  66 0038 00D0                 rcall UART_PrintfEndOfLine\r
-  67 003a EBCF                 rjmp .L3\r
-  68                   /* epilogue: frame size=1 */\r
-  69                   /* epilogue: noreturn */\r
-  70                   /* epilogue end (size=0) */\r
-  71                   /* function main size 30 (26) */\r
-  72                           .size   main, .-main\r
-  73                   /* File "gcctest7.c": code   30 = 0x001e (  26), prologues   4, epilogues   0 */\r
-\fGAS LISTING C:\cygwin\tmp/ccmeaaaa.s                  page 3\r
-\r
-\r
-DEFINED SYMBOLS\r
-                            *ABS*:00000000 gcctest7.c\r
-                            *ABS*:0000003f __SREG__\r
-                            *ABS*:0000003e __SP_H__\r
-                            *ABS*:0000003d __SP_L__\r
-                            *ABS*:00000000 __tmp_reg__\r
-                            *ABS*:00000001 __zero_reg__\r
-C:\cygwin\tmp/ccmeaaaa.s:13     .progmem.data:00000000 __c.0\r
-C:\cygwin\tmp/ccmeaaaa.s:17     .progmem.data:0000000e __c.1\r
-C:\cygwin\tmp/ccmeaaaa.s:21     .progmem.data:0000001f __c.2\r
-C:\cygwin\tmp/ccmeaaaa.s:25     .progmem.data:0000002d __c.3\r
-C:\cygwin\tmp/ccmeaaaa.s:29     .progmem.data:0000003b __c.4\r
-C:\cygwin\tmp/ccmeaaaa.s:34     .text:00000000 main\r
-\r
-UNDEFINED SYMBOLS\r
-__do_copy_data\r
-__do_clear_bss\r
-__stack\r
-UART_Init\r
-UART_PrintfProgStr\r
-UART_PrintfEndOfLine\r
-UART_ReceiveByte\r
-UART_SendByte\r
-UART_Printfu08\r
diff --git a/src/avrsample.old/r.bat b/src/avrsample.old/r.bat
deleted file mode 100644 (file)
index 43c4d94..0000000
+++ /dev/null
@@ -1 +0,0 @@
-revava -e hello.hex -o hello.s
diff --git a/src/avrsample.old/x.bat b/src/avrsample.old/x.bat
deleted file mode 100644 (file)
index fbce676..0000000
+++ /dev/null
@@ -1 +0,0 @@
-avr-gcc -mmcu=at90s4433 -S hello.c
diff --git a/src/avrsample/a.sh b/src/avrsample/a.sh
deleted file mode 100644 (file)
index f5282de..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-avr-gcc -S -g -Wall -Wstrict-prototypes -Wa,-ahlms=hello.lst -mmcu=at90s4433 -I. hello.c -o hello.s
-avr-gcc -c -g -Wall -Wstrict-prototypes -Wa,-ahlms=hello.lst -mmcu=at90s4433 -I. hello.c -o hello.o
-avr-gcc  hello.o   -Wl,-Map=hello.map,--cref -mmcu=at90s4433 -o hello.elf
-avr-objcopy -O ihex hello.elf hello.hex
-avr-objcopy -j .eeprom --set-section-flags .eeprom="alloc,load" --change-section-lma .eeprom=0 -O ihex          hello.elf hello.eep
-
diff --git a/src/avrsample/a.sh% b/src/avrsample/a.sh%
deleted file mode 100644 (file)
index f5282de..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-avr-gcc -S -g -Wall -Wstrict-prototypes -Wa,-ahlms=hello.lst -mmcu=at90s4433 -I. hello.c -o hello.s
-avr-gcc -c -g -Wall -Wstrict-prototypes -Wa,-ahlms=hello.lst -mmcu=at90s4433 -I. hello.c -o hello.o
-avr-gcc  hello.o   -Wl,-Map=hello.map,--cref -mmcu=at90s4433 -o hello.elf
-avr-objcopy -O ihex hello.elf hello.hex
-avr-objcopy -j .eeprom --set-section-flags .eeprom="alloc,load" --change-section-lma .eeprom=0 -O ihex          hello.elf hello.eep
-
diff --git a/src/avrsample/a.tar b/src/avrsample/a.tar
deleted file mode 100644 (file)
index 0748a87..0000000
Binary files a/src/avrsample/a.tar and /dev/null differ
diff --git a/src/avrsample/aaa b/src/avrsample/aaa
deleted file mode 100644 (file)
index f3c95bd..0000000
Binary files a/src/avrsample/aaa and /dev/null differ
diff --git a/src/avrsample/avr_make b/src/avrsample/avr_make
deleted file mode 100644 (file)
index 261036e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# GCC-AVR standard makefile\r
-# Based on AVRfreaks.net January 2000 sample makefile\r
-# For compilation under Microsoft Windows environment\r
-\r
-# Variables definitions\r
-       CC      = avr-gcc\r
-       AS      = avr-gcc -x assembler-with-cpp \r
-       RM      = rm -f\r
-       RN      = mv\r
-       BIN     = avr-objcopy\r
-       SIZE    = avr-size\r
-       INCDIR  = .\r
-       LIBDIR  = avr/lib\r
-       SHELL   = sh.exe\r
-\r
-# Output format (srec or ihex, avrobj is always created)\r
-       FORMAT = ihex           \r
-\r
-# Project specific object files\r
-       OBJ     = $(ASRC:.s=.o) $(SRC:.c=.o) \r
-       CPFLAGS += -mmcu=$(MCU)\r
-       ASFLAGS += -mmcu=$(MCU)\r
-       LDFLAGS += -mmcu=$(MCU)\r
-  \r
-# Define make process\r
-\r
-#all:  $(TRG).obj $(TRG).elf $(TRG).rom $(TRG).eep $(TRG).ok \r
-all:   $(TRG).s $(TRG).elf $(TRG).hex $(TRG).eep $(TRG).ok\r
-%.o : %.c \r
-       $(CC) -c $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.s : %.c\r
-       $(CC) -S $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.o : %.s\r
-       $(AS) -c $(ASFLAGS) -I$(INCDIR) $< -o $@\r
-%.elf: $(OBJ)\r
-       $(CC) $(OBJ) $(LIB) $(LDFLAGS) -o $@\r
-%.obj: %.elf\r
-       $(BIN) -O avrobj -R .eeprom $< $@\r
-%.rom: %.elf\r
-       $(BIN) -O $(FORMAT) -R .eeprom $< $@\r
-#%.eep: %.elf\r
-#      $(BIN) -j .eeprom --set-section-flags=.eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.eep: %.elf\r
-       $(BIN) -j .eeprom --set-section-flags .eeprom="alloc,load" --change-section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.hex: %.elf\r
-       $(BIN) -O ihex $< $@\r
-\r
-# No error message if successfully compiled\r
-%ok:\r
-       @echo "Errors: none" \r
-\r
-# Clean up directory\r
-clean:\r
-       $(RM) $(OBJ)\r
-       $(RM) $(SRC:.c=.s)\r
-       $(RM) $(SRC:.c=.lst)\r
-       $(RM) $(TRG).map\r
-       $(RM) $(TRG).elf\r
-\r
-       $(RM) $(TRG).obj\r
-       $(RM) $(TRG).a90\r
-       $(RM) $(TRG).hex        \r
-       $(RM) *.bak\r
-       $(RM) *.log\r
-       \r
-size:\r
-       $(SIZE) $(TRG).elf\r
-       \r
diff --git a/src/avrsample/avr_make% b/src/avrsample/avr_make%
deleted file mode 100644 (file)
index 82c4ddb..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# GCC-AVR standard makefile\r
-# Based on AVRfreaks.net January 2000 sample makefile\r
-# For compilation under Microsoft Windows environment\r
-\r
-# Variables definitions\r
-       CC      = avr-gcc\r
-       AS      = avr-gcc -x assembler-with-cpp \r
-       RM      = rm -f\r
-       RN      = mv\r
-       BIN     = avr-objcopy\r
-       SIZE    = avr-size\r
-       INCDIR  = .\r
-       LIBDIR  = avr/lib\r
-       SHELL   = sh.exe\r
-\r
-# Output format (srec or ihex, avrobj is always created)\r
-       FORMAT = ihex           \r
-\r
-# Project specific object files\r
-       OBJ     = $(ASRC:.s=.o) $(SRC:.c=.o) \r
-       CPFLAGS += -mmcu=$(MCU)\r
-       ASFLAGS += -mmcu=$(MCU)\r
-       LDFLAGS += -mmcu=$(MCU)\r
-  \r
-# Define make process\r
-\r
-#all:  $(TRG).obj $(TRG).elf $(TRG).rom $(TRG).eep $(TRG).ok \r
-all:   $(TRG).s $(TRG).elf $(TRG).hex $(TRG).eep $(TRG).ok\r
-%.o : %.c \r
-       $(CC) -c $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.s : %.c\r
-       $(CC) -S $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.o : %.s\r
-       $(AS) -c $(ASFLAGS) -I$(INCDIR) $< -o $@\r
-%.elf: $(OBJ)\r
-       $(CC) $(OBJ) $(LIB) $(LDFLAGS) -o $@\r
-%.obj: %.elf\r
-       $(BIN) -O avrobj -R .eeprom $< $@\r
-%.rom: %.elf\r
-       $(BIN) -O $(FORMAT) -R .eeprom $< $@\r
-#%.eep: %.elf\r
-#      $(BIN) -j .eeprom --set-section-flags=.eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.eep: %.elf\r
-       $(BIN) -j .eeprom --set-section-flags .eeprom="alloc,load" --section-lma --set-section-flags .eeprom=0 -O $(FORMAT) $< $@\r
-%.hex: %.elf\r
-       $(BIN) -O ihex $< $@\r
-\r
-# No error message if successfully compiled\r
-%ok:\r
-       @echo "Errors: none" \r
-\r
-# Clean up directory\r
-clean:\r
-       $(RM) $(OBJ)\r
-       $(RM) $(SRC:.c=.s)\r
-       $(RM) $(SRC:.c=.lst)\r
-       $(RM) $(TRG).map\r
-       $(RM) $(TRG).elf\r
-\r
-       $(RM) $(TRG).obj\r
-       $(RM) $(TRG).a90\r
-       $(RM) $(TRG).hex        \r
-       $(RM) *.bak\r
-       $(RM) *.log\r
-       \r
-size:\r
-       $(SIZE) $(TRG).elf\r
-       \r
diff --git a/src/avrsample/hello.c b/src/avrsample/hello.c
deleted file mode 100644 (file)
index add0fd1..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* hello.c by Nick for Hytech AVR */\r
-\r
-#include <stdio.h>\r
-#include <avr/io.h>\r
-#include <avr/interrupt.h>\r
-#include <avr/signal.h>\r
-#include "hello.h"\r
-\r
-#define F_CPU           11059200      /* 4Mhz */\r
-#define UART_BAUD_RATE      9600      /* 9600 baud */\r
-#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)\r
-\r
-int uart_putc(char c)\r
-       {\r
-       while (bit_is_set(UCSRA, UDRE) == 0)\r
-               ;\r
-       UDR = c;\r
-       return 0;\r
-       }\r
-\r
-int uart_getc(void)\r
-       {\r
-       if (bit_is_set(UCSRA, RXC) == 0)\r
-               return -1;\r
-       return UDR;\r
-       }\r
-\r
-/* uart globals */\r
-static volatile unsigned char *uart_data_ptr;\r
-static volatile unsigned char uart_counter;\r
-\r
-\r
-SIGNAL(SIG_UART_TRANS)\r
-/* signal handler for uart txd ready interrupt */\r
-{\r
-#if 0\r
-    if (uart_counter == 0)\r
-       {\r
-       outp(inp(UCSRB) & ~(1<<UDRIE), UCSRB);\r
-       return;\r
-       }\r
-\r
-    uart_data_ptr++;\r
-\r
-    if (--uart_counter)\r
-        outp(*uart_data_ptr, UDR);       /* write byte to data buffer */\r
-#endif\r
-}\r
-\r
-\r
-SIGNAL(SIG_UART_RECV)\r
-/* signal handler for receive complete interrupt */\r
-{\r
-    register char led;\r
-\r
-    led = inp(UDR);        /* read byte for UART data buffer */\r
-#if 1\r
- UDR = led + 1;\r
-#else\r
-    outp(~led, PORTB);     /* output received byte to PortB (LEDs) */\r
-#endif\r
-}\r
-\r
-\r
-void uart_send(unsigned char *buf, unsigned char size)\r
-/* send buffer <buf> to uart */\r
-{\r
-    if (!uart_counter) {\r
-        /* write first byte to data buffer */\r
-        uart_data_ptr  = buf;\r
-        uart_counter   = size;\r
-        outp(*buf, UDR);\r
-    }\r
-}\r
-\r
-\r
-void uart_init(void)\r
-/* initialize uart */\r
-{\r
-    /* enable RxD/TxD and ints */\r
-    outp((1<<RXCIE)|(1<<UDRIE)|(1<<RXEN)|(1<<TXEN),UCSRB);\r
-    /* set baud rate */\r
-    outp((unsigned char)UART_BAUD_SELECT, UBRR);\r
-}\r
-\r
-int main(void)\r
-       {\r
-       /* initialise the AVR's built-in UART for 9600 bps */\r
-#if 1\r
-       uart_init();\r
-#else\r
-       UCSRA = _BV(TXC);\r
-       UCSRB = _BV(TXEN) | _BV(RXEN);\r
-       UBRR = 71;\r
-       /* UBRRH = 0; */ /* = (11059200 / (9600 * 16)) - 1 */\r
-#endif\r
-\r
-#if 0\r
-       /* send a demo message to ISPD via the AVR's UART */\r
-       uart_putc('h');\r
-       uart_putc('e');\r
-       uart_putc('l');\r
-       uart_putc('l');\r
-       uart_putc('o');\r
-#else\r
-       /* setup the standard input, output and error streams */\r
-       fdevopen(uart_putc, uart_getc, 0);\r
-\r
-       /* send a demo message to ISPD via the AVR's UART */\r
-       printf("hello, world\r\n");\r
-        uart_send("Serial Data from AVR received###", 32);\r
-#endif\r
-\r
-       /* enter an infinite loop as we can never exit */\r
-       while (1)\r
-               ;\r
-       }\r
-\r
diff --git a/src/avrsample/hello.c! b/src/avrsample/hello.c!
deleted file mode 100644 (file)
index 9f77dc5..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*\r
-    Title:    AVR-GCC test program #4 for the STK200 eva board\r
-    Author:   Volker Oth\r
-    Date:     4/1999\r
-    Purpose:  Uses the UART to communicate with a terminal program on the pc.\r
-              The "tranceive complete" interrupt is used to send the string \r
-              "Serial Data from AVR receiced###" continuously to the pc.\r
-              When a byte was received from the pc, the "receive complete"\r
-              interrupt is called, which outputs the byte to PortB where the\r
-              LEDs visualize the 8 bits it consists of.\r
-              UART format: 9600 baud, 8bit, 1 stopbit, no parity\r
-    needed\r
-    Software: AVR-GCC to compile\r
-    needed\r
-    Hardware: ATS90S8515/8535/2313/mega(?) on STK200/300 board\r
-    Note:     To contact me, mail to\r
-                  volkeroth@gmx.de\r
-              You might find more AVR related stuff at my homepage:\r
-                  http://members.xoom.com/volkeroth\r
-*/\r
-\r
-#include <avr/io.h>\r
-#include <avr/interrupt.h>\r
-#include <avr/signal.h>\r
-\r
-\r
-#define F_CPU           11059200      /* 4Mhz */\r
-#define UART_BAUD_RATE      9600      /* 9600 baud */\r
-\r
-\r
-#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)\r
-\r
-\r
-typedef unsigned char  u08;\r
-typedef          char  s08;\r
-typedef unsigned short u16;\r
-typedef          short s16;\r
-\r
-\r
-/* uart globals */\r
-static volatile u08 *uart_data_ptr;\r
-static volatile u08 uart_counter;\r
-\r
-\r
-SIGNAL(SIG_UART_TRANS)      \r
-/* signal handler for uart txd ready interrupt */\r
-{\r
-    uart_data_ptr++;\r
-\r
-    if (--uart_counter)\r
-        outp(*uart_data_ptr, UDR);       /* write byte to data buffer */\r
-}\r
-\r
-\r
-SIGNAL(SIG_UART_RECV)      \r
-/* signal handler for receive complete interrupt */\r
-{\r
-    register char led;\r
-\r
-    led = inp(UDR);        /* read byte for UART data buffer */\r
-#if 1\r
- UDR = led + 1;\r
-#else\r
-    outp(~led, PORTB);     /* output received byte to PortB (LEDs) */\r
-#endif\r
-}\r
-\r
-\r
-void uart_send(u08 *buf, u08 size)\r
-/* send buffer <buf> to uart */\r
-{   \r
-    if (!uart_counter) {\r
-        /* write first byte to data buffer */\r
-        uart_data_ptr  = buf;\r
-        uart_counter   = size;\r
-        outp(*buf, UDR);\r
-    }\r
-}\r
-\r
-\r
-void uart_init(void)\r
-/* initialize uart */\r
-{\r
-    /* enable RxD/TxD and ints */\r
-    outp((1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN),UCSRB);       \r
-    /* set baud rate */\r
-    outp((u08)UART_BAUD_SELECT, UBRR);          \r
-}\r
-\r
-\r
-int main(void)\r
-{\r
-    outp(0xff ,DDRB);      /* PortB output */\r
-    outp(0x00, PORTB);     /* switch LEDs on */\r
-\r
-    uart_init();\r
- UDR = 'a';\r
- abort();\r
-\r
-    sei();                 /* enable interrupts */\r
-\r
-    for (;;) {             /* loop forever */\r
-        uart_send("Serial Data from AVR received###", 32);\r
-    }            \r
-}\r
diff --git a/src/avrsample/hello.c# b/src/avrsample/hello.c#
deleted file mode 100644 (file)
index 1ccbf7a..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* hello.c by Nick for Hytech AVR */
-
-#include <stdio.h>
-#include <avr/io.h>
-/* #include <avr/signal.h> */
-#include "hello.h"
-
-int my_puts(char *s)
-       {
-       char c;
-
-       while (c = *s++)
-               {
-               my_putc(c);
-               }
-       return 0;
-       }
-
-int my_putc(char c)
-       {
-       while (bit_is_set(UCSRA, UDRE) == 0)
-               ;
-       UDR = c;
-       return 0;
-       }
-
-int my_getc(void)
-       {
-       if (bit_is_set(UCSRA, RXC) == 0)
-               return -1;
-       return UDR;
-       }
-
-int main(void)
-       {
-       __do_copy_data();
-       __do_clear_bss();
-
-       /* initialise the AVR's built-in UART for 9600 bps */
-       UCSRA = _BV(TXC);
-       UCSRB = _BV(TXEN) | _BV(RXEN);
-       UBRR = 71;
-       /* UBRRH = 0; */ /* = (11059200 / (9600 * 16)) - 1 */
-
-#if 1
-       /* send a demo message to ISPD via the AVR's UART */
-       my_puts("a"); /* "hello, world\r\n"); */
-#else
-       /* setup the standard input, output and error streams */
-       fdevopen(my_putc, my_getc, 0);
-
-       /* send a demo message to ISPD via the AVR's UART */
-       printf("hello, world\r\n");
-#endif
-
-       /* enter an infinite loop as we can never exit */
-       while (1)
-               ;
-       }
-
diff --git a/src/avrsample/hello.c% b/src/avrsample/hello.c%
deleted file mode 100644 (file)
index 0f3b6e6..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/* hello.c by Nick for Hytech AVR */\r
-\r
-#include <stdio.h>\r
-#include <avr/io.h>\r
-#include <avr/interrupt.h>\r
-#include <avr/signal.h>\r
-#include "hello.h"\r
-\r
-#define F_CPU           11059200      /* 4Mhz */\r
-#define UART_BAUD_RATE      9600      /* 9600 baud */\r
-#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)\r
-\r
-int uart_putc(char c)\r
-       {\r
-       while (bit_is_set(UCSRA, UDRE) == 0)\r
-               ;\r
-       UDR = c;\r
-       return 0;\r
-       }\r
-\r
-int uart_getc(void)\r
-       {\r
-       if (bit_is_set(UCSRA, RXC) == 0)\r
-               return -1;\r
-       return UDR;\r
-       }\r
-\r
-/* uart globals */\r
-static volatile unsigned char *uart_data_ptr;\r
-static volatile unsigned char uart_counter;\r
-\r
-\r
-SIGNAL(SIG_UART_TRANS)\r
-/* signal handler for uart txd ready interrupt */\r
-{\r
-    if (uart_counter == 0)\r
-       {\r
-       outp(inp(UCSRB) & ~(1<<UDRIE), UCSRB);\r
-       return;\r
-       }\r
-\r
-    uart_data_ptr++;\r
-\r
-    if (--uart_counter)\r
-        outp(*uart_data_ptr, UDR);       /* write byte to data buffer */\r
-}\r
-\r
-\r
-SIGNAL(SIG_UART_RECV)\r
-/* signal handler for receive complete interrupt */\r
-{\r
-    register char led;\r
-\r
-    led = inp(UDR);        /* read byte for UART data buffer */\r
-#if 1\r
- UDR = led + 1;\r
-#else\r
-    outp(~led, PORTB);     /* output received byte to PortB (LEDs) */\r
-#endif\r
-}\r
-\r
-\r
-void uart_send(unsigned char *buf, unsigned char size)\r
-/* send buffer <buf> to uart */\r
-{\r
-    if (!uart_counter) {\r
-        /* write first byte to data buffer */\r
-        uart_data_ptr  = buf;\r
-        uart_counter   = size;\r
-        outp(*buf, UDR);\r
-    }\r
-}\r
-\r
-\r
-void uart_init(void)\r
-/* initialize uart */\r
-{\r
-    /* enable RxD/TxD and ints */\r
-    outp((1<<RXCIE)|(1<<UDRIE)|(1<<RXEN)|(1<<TXEN),UCSRB);\r
-    /* set baud rate */\r
-    outp((unsigned char)UART_BAUD_SELECT, UBRR);\r
-}\r
-\r
-int main(void)\r
-       {\r
-       /* initialise the AVR's built-in UART for 9600 bps */\r
-#if 1\r
-       uart_init();\r
-#else\r
-       UCSRA = _BV(TXC);\r
-       UCSRB = _BV(TXEN) | _BV(RXEN);\r
-       UBRR = 71;\r
-       /* UBRRH = 0; */ /* = (11059200 / (9600 * 16)) - 1 */\r
-#endif\r
-\r
-#if 0\r
-       /* send a demo message to ISPD via the AVR's UART */\r
-       uart_putc('h');\r
-       uart_putc('e');\r
-       uart_putc('l');\r
-       uart_putc('l');\r
-       uart_putc('o');\r
-#else\r
-       /* setup the standard input, output and error streams */\r
-       fdevopen(uart_putc, uart_getc, 0);\r
-\r
-       /* send a demo message to ISPD via the AVR's UART */\r
-       printf("hello, world\r\n");\r
-        uart_send("Serial Data from AVR received###", 32);\r
-#endif\r
-\r
-       /* enter an infinite loop as we can never exit */\r
-       while (1)\r
-               ;\r
-       }\r
-\r
diff --git a/src/avrsample/hello.eep b/src/avrsample/hello.eep
deleted file mode 100644 (file)
index 1996e8f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-:00000001FF\r
diff --git a/src/avrsample/hello.elf b/src/avrsample/hello.elf
deleted file mode 100644 (file)
index 3b3e074..0000000
Binary files a/src/avrsample/hello.elf and /dev/null differ
diff --git a/src/avrsample/hello.h b/src/avrsample/hello.h
deleted file mode 100644 (file)
index 9491323..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-/* hello.h by Nick for Hytech AVR */
-
-int my_putc(char c);
-int my_getc(void);
-int main(void);
-
diff --git a/src/avrsample/hello.h# b/src/avrsample/hello.h#
deleted file mode 100644 (file)
index 1ff84f3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/* hello.h by Nick for Hytech AVR */
-
-int my_puts(char *s);
-int my_putc(char c);
-int my_getc(void);
-int main(void);
-
diff --git a/src/avrsample/hello.hex b/src/avrsample/hello.hex
deleted file mode 100644 (file)
index 8b2aa09..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-:100000000DC027C026C025C024C023C022C021C0E7\r
-:1000100074C01FC062C01DC01CC01BC011241FBE05\r
-:10002000CFEDD0E0DEBFCDBF10E0A0E6B0E0EAE16A\r
-:10003000FBE003C0C89531960D92A639B107D1F700\r
-:1000400010E0A6E9B0E001C01D92A33AB107E1F7C4\r
-:10005000A0C0D6CFCF93DF93CDB7DEB721970FB631\r
-:10006000F894DEBF0FBECDBF898380912B00992706\r
-:10007000807290700097C9F3898180932C0080E092\r
-:1000800090E021960FB6F894DEBF0FBECDBFDF9192\r
-:10009000CF910895CF93DF93CDB7DEB722970FB6F8\r
-:1000A000F894DEBF0FBECDBF80912B0088232CF0CB\r
-:1000B0008FEF9FEF89839A8305C080912C00992749\r
-:1000C00089839A8389819A8122960FB6F894DEBF3C\r
-:1000D0000FBECDBFDF91CF9108951F920F920FB643\r
-:1000E0000F921124CF93DF93CDB7DEB7DF91CF917D\r
-:1000F0000F900FBE0F901F9018951F920F920FB682\r
-:100100000F9211248F93CF93DF93CDB7DEB78091F9\r
-:100110002C008F5F80932C00DF91CF918F910F90F7\r
-:100120000FBE0F901F901895CF93DF93CDB7DEB71A\r
-:1001300023970FB6F894DEBF0FBECDBF89839A8395\r
-:100140006B8380919800882371F489819A819093C0\r
-:100150009700809396008B8180939800E981FA81C3\r
-:10016000808180932C0023960FB6F894DEBF0FBEDB\r
-:10017000CDBFDF91CF910895CF93DF93CDB7DEB799\r
-:1001800088EB80932A0087E480932900DF91CF9148\r
-:100190000895CFEDD0E0DEBFCDBFEEDF40E050E010\r
-:1001A0006AE470E08AE290E00CD080E690E09F93F1\r
-:1001B0008F934ED00F900F9060E28FE690E0B4DF07\r
-:1001C000FFCF0F931F93CF93DF93082F192FD72FB4\r
-:1001D000C62F009711F4672BB1F16BE070E081E05E\r
-:1001E00090E0D8D2F92FE82F009769F1209771F0AD\r
-:1001F000C187D28781E0828380919D0090919E008B\r
-:10020000892B21F4F0939E00E0939D0001151105C8\r
-:10021000C1F00783108782E0828380919F009091D4\r
-:10022000A000892B71F4F093A000E0939F008091CF\r
-:10023000A1009091A200892B21F4F093A200E093F9\r
-:10024000A1008E2F9F2FDF91CF911F910F910895C5\r
-:10025000A0E0B0E0EDE2F1E038C4E5E0F0E0EC0F62\r
-:10026000FD1F819191914E2F5F2F682F792F8091E3\r
-:100270009F009091A00002D0E2E043C4A2E1B0E070\r
-:10028000E3E4F1E012C4AA24BB24CC24DD24682ECC\r
-:10029000792E6D877E874F87588B44245524F92FFC\r
-:1002A000E82F45825682828181FD56C28FEF9FEFF3\r
-:1002B0006EC240FE3FC2822D80538A3020F5F0E3AB\r
-:1002C0002F1641F42A89222329F4332019F480E0DF\r
-:1002D00091E093C0EA898E2F9927282F392F220F7A\r
-:1002E000331F220F331F220F331F280F391F280FF0\r
-:1002F000822F820D80538A8B43FC2EC288230CF4FC\r
-:100300002BC2382E29C243FE05C0FA89FF2311F4FF\r
-:1003100021E02A8B822D992787FD909588369105BB\r
-:1003200054F5853691050CF06BC08835910509F4BC\r
-:10033000DDC089359105B4F48B32910509F442C0D2\r
-:100340008C32910544F48032910509F43FC08397C3\r
-:1003500009F442C0E5C18D329105D9F18E9709F4B7\r
-:1003600040C0DEC18336910509F454C0843691053E\r
-:1003700009F47DC0D5C18037910509F4AFC081373C\r
-:10038000910584F48C369105B1F18D3691052CF4EC\r
-:100390008936910509F46BC0C3C18F36910509F404\r
-:1003A0009AC0BEC18537910509F4A2C08637910570\r
-:1003B00024F483379105C1F1B3C18837910509F45D\r
-:1003C00095C0AEC180E190E0482A592AE0E2F0E011\r
-:1003D00005C080E890E011C0E0E4F0E04E2A5F2A1A\r
-:1003E000BBC188E090E0482A592AEFEFFEEF4E2289\r
-:1003F0005F221A8AB1C184E090E0482A592AACC130\r
-:100400000F2EFFE3AF2EF02D3A940F2EF3E62F2E92\r
-:10041000F02D28C1EF85F8898E2F9F2F02968F87A8\r
-:10042000988BA0803A941EC1EF85F8898E2F9F2F5C\r
-:1004300002968F87988BA080B180198AFB2DEA2DB8\r
-:100440008081882351F099899F5F998BFB2DEA2D3C\r
-:10045000E90FF11D80818823B1F743FE05C08A8929\r
-:100460009989891708F4898BE9893E1AFBC042FEF5\r
-:100470000CC0EF85F8898E2F9F2F04968F87988B5D\r
-:1004800020813181428153810FC0EF85F8898E2F01\r
-:100490009F2F02968F87988B80819181282F392FEB\r
-:1004A000442737FD4095542FA22EB32EC42ED52EAF\r
-:1004B000552364F4E2E0F0E04E2A5F2AD094C09421\r
-:1004C000B094A094A11CB11CC11CD11C8FEB9FEF58\r
-:1004D0004822592230C098E0998B0AC0E0E4F0E04D\r
-:1004E0004E2A5F2A0F2EF8E72F2EF02DF0E1F98B20\r
-:1004F00042FE0CC0EF85F8898E2F9F2F04968F87C0\r
-:10050000988B20813181428153810DC0EF85F8891C\r
-:100510008E2F9F2F02968F87988B80819181282F15\r
-:10052000392F44275527A22EB32EC42ED52EEFECFB\r
-:10053000FFEF4E225F228C2E9D2E0894811C911C71\r
-:10054000F989EF2EFF24002711279D2D8C2D7B2D5F\r
-:100550006A2D512F402F3F2D2E2D80D2B92FA82F3D\r
-:10056000972F862FF92DE82D80838A301CF0820D7D\r
-:10057000815204C0F92DE82D8081805DF92DE82D90\r
-:1005800081938E2E9F2E9D2D8C2D7B2D6A2D512F8C\r
-:10059000402F3F2D2E2D62D2A22EB32EC42ED52E4B\r
-:1005A000211531054105510581F650FE17C0A32CD8\r
-:1005B00046FE0BC0832D992787FD9095F989F03170\r
-:1005C00011F4825001C08150A82E45FCAA941A143F\r
-:1005D0002CF4AA8A88E090E0482A592A43FE1CC0DD\r
-:1005E0009A89993010F0E8E0EA8B8C2F9D2F0196C4\r
-:1005F000A82CA81A8A89F82FF150FA8BA81660F453\r
-:1006000090E3F92DE82D91938E2E9F2E8A89F82F55\r
-:10061000F150FA8BA816A8F341FE02C08DE207C084\r
-:1006200044FE02C08BE203C045FE06C080E2F92D05\r
-:10063000E82D81938E2E9F2E46FE0EC0F989F03153\r
-:1006400029F4F92DE82D21928E2E9F2E80E3F92D8D\r
-:10065000E82D81938E2E9F2E8C2F9D2F0196F82DA5\r
-:10066000F81B3F1A842D807869F4832D3A9418166C\r
-:100670004CF4772D662D80E290E0A4D0832D3A943F\r
-:100680001816BCF323E6221641F48A2D992787FD1C\r
-:100690009095772D662D96D032C083E72816B9F451\r
-:1006A00099899150998B9F3F51F1FB2DEA2D8081C3\r
-:1006B000992787FD90950894A11CB11C772D662D74\r
-:1006C00081D0E989E150E98BEF3F79F718C08C2F91\r
-:1006D0009D2F01968816990691F00C2F1D2F0F5F04\r
-:1006E0001F4FF92DE82D82918E2E9F2E992787FD81\r
-:1006F0009095772D662D66D08016910691F7842D02\r
-:100700008078A9F0832D3A9418168CF4772D662DF5\r
-:1007100080E290E057D0832D3A941816BCF307C0BE\r
-:10072000822D992787FD9095772D662D4BD04424F7\r
-:10073000552412C0F5E22F1641F444245524439465\r
-:100740001A8A3A882AE0298B07C0822D992787FDCB\r
-:100750009095772D662D36D0F72DE62D828183FF7B\r
-:100760000AC0ED85FE858E2F9F2F01968D879E876F\r
-:10077000C895202C05C0ED85FE852190ED87FE876C\r
-:10078000222009F096CDF72DE62D85819681E2E1B4\r
-:100790006296A7C10F931F93CF93DF934DD1082F7C\r
-:1007A000192F3DD0D92FC82F009739F0512F402F46\r
-:1007B00060E070E039D18C2F9D2FDF91CF911F9198\r
-:1007C0000F9108950F931F93CF93DF93082F192F45\r
-:1007D000D72FC62F8A8182FF0DC02D813E818B814C\r
-:1007E0009C812817390764F4E881F9810193E88333\r
-:1007F000F98306C0EF81F885802F0995892B41F494\r
-:100800008D819E8101968D839E83912F802F02C0C2\r
-:100810008FEF9FEFDF91CF911F910F910895482F98\r
-:10082000592F029710F442E050E020E030E0E091D0\r
-:100830009B00F0919C006E2F7F2FB32FA22F30973B\r
-:10084000B9F0808191818417950759F148175907AC\r
-:1008500040F42115310519F08217930710F4282F61\r
-:10086000392FAE2FBF2F0280F381E02D309749F74B\r
-:1008700021153105E9F1932F822F841B950B0497E5\r
-:1008800010F4532F422FF72FE62FA0E0B0E0672B94\r
-:1008900079F1808191818217930719F542175307E7\r
-:1008A00089F4228133818E2F9F2F0296109729F091\r
-:1008B00012962D933C931397089530939C002093A8\r
-:1008C0009B000895241B350BAE2FBF2FA20FB31F23\r
-:1008D0004D935D9322503040208331838A2F9B2F8C\r
-:1008E0000895AE2FBF2F0280F381E02D309789F657\r
-:1008F0008091990090919A00892B41F48091920007\r
-:100900009091930090939A0080939900A091940005\r
-:10091000B0919500109741F4ADB7BEB780919000AB\r
-:1009200090919100A81BB90BE0919900F0919A0069\r
-:100930008E2F9F2F840F951F02968A179B0748F4CE\r
-:1009400090939A0080939900419351938E2F9F2FFB\r
-:10095000089580E090E00895CF93DF93009709F425\r
-:1009600060C0B92FA82F129712961D921C92139750\r
-:1009700080919B0090919C00009751F1F92FE82FF6\r
-:1009800040E050E0EA17FB0740F1DB2FCA2F129638\r
-:10099000ED93FC9313972D913C911197C20FD31FA8\r
-:1009A0008C2F9D2F02968E179F0779F48A819B8149\r
-:1009B000280F391F2E5F3F4F2D933C931197828153\r
-:1009C000938112968D939C9313974115510561F471\r
-:1009D000B0939C00A0939B0024C04E2F5F2F0280F9\r
-:1009E000F381E02D309771F6D52FC42FAA83BB83F6\r
-:1009F000952F842F029628813981820F931F8A17A1\r
-:100A00009B0779F48D919C911197280F391F2E5FC8\r
-:100A10003F4F2883398312968D919C9113978A8337\r
-:100A20009B83DF91CF910895A82FB92F01C06D93BB\r
-:100A300041505040E0F708955527002480FF02C040\r
-:100A4000060E571F660F771F6115710521F09695E9\r
-:100A50008795009799F7952F802D0895A1E21A2E7A\r
-:100A6000AA1BBB1BEA2FFB2F0DC0AA1FBB1FEE1F2B\r
-:100A7000FF1FA217B307E407F50720F0A21BB30B73\r
-:100A8000E40BF50B661F771F881F991F1A9469F7EF\r
-:100A90006095709580959095262F372F482F592F68\r
-:100AA0006A2F7B2F8E2F9F2F08952F923F924F9268\r
-:100AB0005F926F927F928F929F92AF92BF92CF92EE\r
-:100AC000DF92EF92FF920F931F93CF93DF93CDB7F7\r
-:100AD000DEB7CA1BDB0B0FB6F894DEBF0FBECDBF6F\r
-:100AE00009942A88398848885F846E847D848C8440\r
-:100AF0009B84AA84B984C884DF80EE80FD800C8149\r
-:100B00001B81AA81B981CE0FD11D0FB6F894DEBF2B\r
-:0A0B10000FBECDBFCA2FDB2F0895E2\r
-:100B1A0068656C6C6F2C20776F726C640D0A0053D9\r
-:100B2A00657269616C20446174612066726F6D2020\r
-:100B3A0041565220726563656976656423232300F2\r
-:060B4A002000A3000000E2\r
-:00000001FF\r
diff --git a/src/avrsample/hello.lst b/src/avrsample/hello.lst
deleted file mode 100644 (file)
index 5052c23..0000000
+++ /dev/null
@@ -1,597 +0,0 @@
-GAS LISTING C:\cygwin\tmp/cciqaaaa.s                   page 1\r
-\r
-\r
-   1                           .file   "hello.c"\r
-   2                           .arch at90s4433\r
-   3                   __SREG__ = 0x3f\r
-   4                   __SP_H__ = 0x3e\r
-   5                   __SP_L__ = 0x3d\r
-   6                   __tmp_reg__ = 0\r
-   7                   __zero_reg__ = 1\r
-   8                           .global __do_copy_data\r
-   9                           .global __do_clear_bss\r
-  10                           .stabs  "c:\\uzi\\src\\avrsample/",100,0,0,.Ltext0\r
-  11                           .stabs  "hello.c",100,0,0,.Ltext0\r
-  12                           .text\r
-  13                   .Ltext0:\r
-  14                           .stabs  "gcc2_compiled.",60,0,0,0\r
-  15                           .stabs  "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0\r
-  16                           .stabs  "char:t(0,2)=r(0,2);0;127;",128,0,0,0\r
-  17                           .stabs  "long int:t(0,3)=@s32;r(0,3);0020000000000;0017777777777;",128,0,0,0\r
-  18                           .stabs  "unsigned int:t(0,4)=r(0,4);0000000000000;0000000177777;",128,0,0,0\r
-  19                           .stabs  "long unsigned int:t(0,5)=@s32;r(0,5);0000000000000;0037777777777;",128,0,0,0\r
-  20                           .stabs  "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,\r
-  21                           .stabs  "long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,\r
-  22                           .stabs  "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0\r
-  23                           .stabs  "short unsigned int:t(0,9)=r(0,9);0000000000000;0000000177777;",128,0,0,0\r
-  24                           .stabs  "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0\r
-  25                           .stabs  "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0\r
-  26                           .stabs  "float:t(0,12)=r(0,1);4;0;",128,0,0,0\r
-  27                           .stabs  "double:t(0,13)=r(0,1);4;0;",128,0,0,0\r
-  28                           .stabs  "long double:t(0,14)=r(0,1);4;0;",128,0,0,0\r
-  29                           .stabs  "complex int:t(0,15)=s4real:(0,1),0,16;imag:(0,1),16,16;;",128,0,0,0\r
-  30                           .stabs  "complex float:t(0,16)=r(0,16);8;0;",128,0,0,0\r
-  31                           .stabs  "complex double:t(0,17)=r(0,17);8;0;",128,0,0,0\r
-  32                           .stabs  "complex long double:t(0,18)=r(0,18);8;0;",128,0,0,0\r
-  33                           .stabs  "__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0\r
-  34                           .stabs  "_Bool:t(0,21)=@s8;-16;",128,0,0,0\r
-  35                           .stabs  "hello.c",130,0,0,0\r
-  36                           .stabs  "c:/WinAVR/avr/include/stdio.h",130,0,0,0\r
-  37                           .stabs  "c:/WinAVR/avr/include/inttypes.h",130,0,0,0\r
-  38                           .stabs  "int8_t:t(3,1)=(0,10)",128,0,46,0\r
-  39                           .stabs  "uint8_t:t(3,2)=(0,11)",128,0,47,0\r
-  40                           .stabs  "int16_t:t(3,3)=(0,1)",128,0,49,0\r
-  41                           .stabs  "uint16_t:t(3,4)=(0,4)",128,0,50,0\r
-  42                           .stabs  "int32_t:t(3,5)=(0,3)",128,0,52,0\r
-  43                           .stabs  "uint32_t:t(3,6)=(0,5)",128,0,53,0\r
-  44                           .stabs  "int64_t:t(3,7)=(0,6)",128,0,55,0\r
-  45                           .stabs  "uint64_t:t(3,8)=(0,7)",128,0,56,0\r
-  46                           .stabs  "intptr_t:t(3,9)=(3,3)",128,0,58,0\r
-  47                           .stabs  "uintptr_t:t(3,10)=(3,4)",128,0,59,0\r
-  48                           .stabn  162,0,0,0\r
-  49                           .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stdarg.h",130,0,0,0\r
-  50                           .stabs  "__gnuc_va_list:t(4,1)=(0,19)",128,0,43,0\r
-  51                           .stabs  "va_list:t(4,2)=(4,1)",128,0,105,0\r
-  52                           .stabn  162,0,0,0\r
-  53                           .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stddef.h",130,0,0,0\r
-  54                           .stabs  "size_t:t(5,1)=(0,4)",128,0,213,0\r
-  55                           .stabn  162,0,0,0\r
-  56                           .stabn  162,0,0,0\r
-  57                           .stabs  "c:/WinAVR/avr/include/avr/io.h",130,0,0,0\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 2\r
-\r
-\r
-  58                           .stabs  "c:/WinAVR/avr/include/avr/io4433.h",130,0,0,0\r
-  59                           .stabs  "c:/WinAVR/avr/include/avr/sfr_defs.h",130,0,0,0\r
-  60                           .stabn  162,0,0,0\r
-  61                           .stabn  162,0,0,0\r
-  62                           .stabn  162,0,0,0\r
-  63                           .stabs  "c:/WinAVR/avr/include/avr/interrupt.h",130,0,0,0\r
-  64                           .stabn  162,0,0,0\r
-  65                           .stabs  "c:/WinAVR/avr/include/avr/signal.h",130,0,0,0\r
-  66                           .stabn  162,0,0,0\r
-  67                           .stabs  "hello.h",130,0,0,0\r
-  68                           .stabn  162,0,0,0\r
-  69                           .stabs  "uart_putc:F(0,1)",36,0,14,uart_putc\r
-  70                           .stabs  "c:p(0,2)",160,0,13,1\r
-  71                   .global uart_putc\r
-  72                           .type   uart_putc, @function\r
-  73                   uart_putc:\r
-   1:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
-   2:hello.c       **** \r
-   3:hello.c       **** #include <stdio.h>\r
-   4:hello.c       **** #include <avr/io.h>\r
-   5:hello.c       **** #include <avr/interrupt.h>\r
-   6:hello.c       **** #include <avr/signal.h>\r
-   7:hello.c       **** #include "hello.h"\r
-   8:hello.c       **** \r
-   9:hello.c       **** #define F_CPU           11059200      /* 4Mhz */\r
-  10:hello.c       **** #define UART_BAUD_RATE      9600      /* 9600 baud */\r
-  11:hello.c       **** #define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)\r
-  12:hello.c       **** \r
-  13:hello.c       **** int uart_putc(char c)\r
-  14:hello.c       ****        {\r
-  74                           .stabn 68,0,14,.LM1-uart_putc\r
-  75                   .LM1:\r
-  76                   /* prologue: frame size=1 */\r
-  77 0000 CF93                 push r28\r
-  78 0002 DF93                 push r29\r
-  79 0004 CDB7                 in r28,__SP_L__\r
-  80 0006 DEB7                 in r29,__SP_H__\r
-  81 0008 2197                 sbiw r28,1\r
-  82 000a 0FB6                 in __tmp_reg__,__SREG__\r
-  83 000c F894                 cli\r
-  84 000e DEBF                 out __SP_H__,r29\r
-  85 0010 0FBE                 out __SREG__,__tmp_reg__\r
-  86 0012 CDBF                 out __SP_L__,r28\r
-  87                   /* prologue end (size=10) */\r
-  88 0014 8983                 std Y+1,r24\r
-  15:hello.c       ****        while (bit_is_set(UCSRA, UDRE) == 0)\r
-  89                           .stabn 68,0,15,.LM2-uart_putc\r
-  90                   .LM2:\r
-  91                   .L4:\r
-  92 0016 8091 2B00            lds r24,43\r
-  93 001a 9927                 clr r25\r
-  94 001c 8072                 andi r24,lo8(32)\r
-  95 001e 9070                 andi r25,hi8(32)\r
-  96 0020 0097                 sbiw r24,0\r
-  97 0022 C9F3                 breq .L4\r
-  16:hello.c       ****                ;\r
-  17:hello.c       ****        UDR = c;\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 3\r
-\r
-\r
-  98                           .stabn 68,0,17,.LM3-uart_putc\r
-  99                   .LM3:\r
- 100 0024 8981                 ldd r24,Y+1\r
- 101 0026 8093 2C00            sts 44,r24\r
-  18:hello.c       ****        return 0;\r
- 102                           .stabn 68,0,18,.LM4-uart_putc\r
- 103                   .LM4:\r
- 104 002a 80E0                 ldi r24,lo8(0)\r
- 105 002c 90E0                 ldi r25,hi8(0)\r
-  19:hello.c       ****        }\r
- 106                           .stabn 68,0,19,.LM5-uart_putc\r
- 107                   .LM5:\r
- 108                   /* epilogue: frame size=1 */\r
- 109 002e 2196                 adiw r28,1\r
- 110 0030 0FB6                 in __tmp_reg__,__SREG__\r
- 111 0032 F894                 cli\r
- 112 0034 DEBF                 out __SP_H__,r29\r
- 113 0036 0FBE                 out __SREG__,__tmp_reg__\r
- 114 0038 CDBF                 out __SP_L__,r28\r
- 115 003a DF91                 pop r29\r
- 116 003c CF91                 pop r28\r
- 117 003e 0895                 ret\r
- 118                   /* epilogue end (size=9) */\r
- 119                   /* function uart_putc size 32 (13) */\r
- 120                           .size   uart_putc, .-uart_putc\r
- 121                   .Lscope0:\r
- 122                           .stabs  "",36,0,0,.Lscope0-uart_putc\r
- 123                           .stabs  "uart_getc:F(0,1)",36,0,22,uart_getc\r
- 124                   .global uart_getc\r
- 125                           .type   uart_getc, @function\r
- 126                   uart_getc:\r
-  20:hello.c       **** \r
-  21:hello.c       **** int uart_getc(void)\r
-  22:hello.c       ****        {\r
- 127                           .stabn 68,0,22,.LM6-uart_getc\r
- 128                   .LM6:\r
- 129                   /* prologue: frame size=2 */\r
- 130 0040 CF93                 push r28\r
- 131 0042 DF93                 push r29\r
- 132 0044 CDB7                 in r28,__SP_L__\r
- 133 0046 DEB7                 in r29,__SP_H__\r
- 134 0048 2297                 sbiw r28,2\r
- 135 004a 0FB6                 in __tmp_reg__,__SREG__\r
- 136 004c F894                 cli\r
- 137 004e DEBF                 out __SP_H__,r29\r
- 138 0050 0FBE                 out __SREG__,__tmp_reg__\r
- 139 0052 CDBF                 out __SP_L__,r28\r
- 140                   /* prologue end (size=10) */\r
-  23:hello.c       ****        if (bit_is_set(UCSRA, RXC) == 0)\r
- 141                           .stabn 68,0,23,.LM7-uart_getc\r
- 142                   .LM7:\r
- 143 0054 8091 2B00            lds r24,43\r
- 144 0058 8823                 tst r24\r
- 145 005a 2CF0                 brlt .L8\r
-  24:hello.c       ****                return -1;\r
- 146                           .stabn 68,0,24,.LM8-uart_getc\r
- 147                   .LM8:\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 4\r
-\r
-\r
- 148 005c 8FEF                 ldi r24,lo8(-1)\r
- 149 005e 9FEF                 ldi r25,hi8(-1)\r
- 150 0060 8983                 std Y+1,r24\r
- 151 0062 9A83                 std Y+2,r25\r
- 152 0064 05C0                 rjmp .L7\r
- 153                   .L8:\r
-  25:hello.c       ****        return UDR;\r
- 154                           .stabn 68,0,25,.LM9-uart_getc\r
- 155                   .LM9:\r
- 156 0066 8091 2C00            lds r24,44\r
- 157 006a 9927                 clr r25\r
- 158 006c 8983                 std Y+1,r24\r
- 159 006e 9A83                 std Y+2,r25\r
-  26:hello.c       ****        }\r
- 160                           .stabn 68,0,26,.LM10-uart_getc\r
- 161                   .LM10:\r
- 162                   .L7:\r
- 163 0070 8981                 ldd r24,Y+1\r
- 164 0072 9A81                 ldd r25,Y+2\r
- 165                   /* epilogue: frame size=2 */\r
- 166 0074 2296                 adiw r28,2\r
- 167 0076 0FB6                 in __tmp_reg__,__SREG__\r
- 168 0078 F894                 cli\r
- 169 007a DEBF                 out __SP_H__,r29\r
- 170 007c 0FBE                 out __SREG__,__tmp_reg__\r
- 171 007e CDBF                 out __SP_L__,r28\r
- 172 0080 DF91                 pop r29\r
- 173 0082 CF91                 pop r28\r
- 174 0084 0895                 ret\r
- 175                   /* epilogue end (size=9) */\r
- 176                   /* function uart_getc size 35 (16) */\r
- 177                           .size   uart_getc, .-uart_getc\r
- 178                   .Lscope1:\r
- 179                           .stabs  "",36,0,0,.Lscope1-uart_getc\r
- 180                           .stabs  "__vector_10:F(0,20)",36,0,35,__vector_10\r
- 181                   .global __vector_10\r
- 182                           .type   __vector_10, @function\r
- 183                   __vector_10:\r
-  27:hello.c       **** \r
-  28:hello.c       **** /* uart globals */\r
-  29:hello.c       **** static volatile unsigned char *uart_data_ptr;\r
-  30:hello.c       **** static volatile unsigned char uart_counter;\r
-  31:hello.c       **** \r
-  32:hello.c       **** \r
-  33:hello.c       **** SIGNAL(SIG_UART_TRANS)\r
-  34:hello.c       **** /* signal handler for uart txd ready interrupt */\r
-  35:hello.c       **** {\r
- 184                           .stabn 68,0,35,.LM11-__vector_10\r
- 185                   .LM11:\r
- 186                   /* prologue: frame size=0 */\r
- 187 0086 1F92                 push __zero_reg__\r
- 188 0088 0F92                 push __tmp_reg__\r
- 189 008a 0FB6                 in __tmp_reg__,__SREG__\r
- 190 008c 0F92                 push __tmp_reg__\r
- 191 008e 1124                 clr __zero_reg__\r
- 192 0090 CF93                 push r28\r
- 193 0092 DF93                 push r29\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 5\r
-\r
-\r
- 194 0094 CDB7                 in r28,__SP_L__\r
- 195 0096 DEB7                 in r29,__SP_H__\r
- 196                   /* prologue end (size=9) */\r
-  36:hello.c       **** #if 0\r
-  37:hello.c       ****     if (uart_counter == 0)\r
-  38:hello.c       ****        {\r
-  39:hello.c       ****        outp(inp(UCSRB) & ~(1<<UDRIE), UCSRB);\r
-  40:hello.c       ****        return;\r
-  41:hello.c       ****        }\r
-  42:hello.c       **** \r
-  43:hello.c       ****     uart_data_ptr++;\r
-  44:hello.c       **** \r
-  45:hello.c       ****     if (--uart_counter)\r
-  46:hello.c       ****         outp(*uart_data_ptr, UDR);       /* write byte to data buffer */\r
-  47:hello.c       **** #endif\r
-  48:hello.c       **** }\r
- 197                           .stabn 68,0,48,.LM12-__vector_10\r
- 198                   .LM12:\r
- 199                   /* epilogue: frame size=0 */\r
- 200 0098 DF91                 pop r29\r
- 201 009a CF91                 pop r28\r
- 202 009c 0F90                 pop __tmp_reg__\r
- 203 009e 0FBE                 out __SREG__,__tmp_reg__\r
- 204 00a0 0F90                 pop __tmp_reg__\r
- 205 00a2 1F90                 pop __zero_reg__\r
- 206 00a4 1895                 reti\r
- 207                   /* epilogue end (size=7) */\r
- 208                   /* function __vector_10 size 16 (0) */\r
- 209                           .size   __vector_10, .-__vector_10\r
- 210                   .Lscope2:\r
- 211                           .stabs  "",36,0,0,.Lscope2-__vector_10\r
- 212                           .stabs  "__vector_8:F(0,20)",36,0,53,__vector_8\r
- 213                   .global __vector_8\r
- 214                           .type   __vector_8, @function\r
- 215                   __vector_8:\r
-  49:hello.c       **** \r
-  50:hello.c       **** \r
-  51:hello.c       **** SIGNAL(SIG_UART_RECV)\r
-  52:hello.c       **** /* signal handler for receive complete interrupt */\r
-  53:hello.c       **** {\r
- 216                           .stabn 68,0,53,.LM13-__vector_8\r
- 217                   .LM13:\r
- 218                   /* prologue: frame size=0 */\r
- 219 00a6 1F92                 push __zero_reg__\r
- 220 00a8 0F92                 push __tmp_reg__\r
- 221 00aa 0FB6                 in __tmp_reg__,__SREG__\r
- 222 00ac 0F92                 push __tmp_reg__\r
- 223 00ae 1124                 clr __zero_reg__\r
- 224 00b0 8F93                 push r24\r
- 225 00b2 CF93                 push r28\r
- 226 00b4 DF93                 push r29\r
- 227 00b6 CDB7                 in r28,__SP_L__\r
- 228 00b8 DEB7                 in r29,__SP_H__\r
- 229                   /* prologue end (size=10) */\r
-  54:hello.c       ****     register char led;\r
-  55:hello.c       **** \r
-  56:hello.c       ****     led = inp(UDR);        /* read byte for UART data buffer */\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 6\r
-\r
-\r
- 230                           .stabn 68,0,56,.LM14-__vector_8\r
- 231                   .LM14:\r
- 232                   .LBB2:\r
- 233 00ba 8091 2C00            lds r24,44\r
-  57:hello.c       **** #if 1\r
-  58:hello.c       ****  UDR = led + 1;\r
- 234                           .stabn 68,0,58,.LM15-__vector_8\r
- 235                   .LM15:\r
- 236 00be 8F5F                 subi r24,lo8(-(1))\r
- 237 00c0 8093 2C00            sts 44,r24\r
-  59:hello.c       **** #else\r
-  60:hello.c       ****     outp(~led, PORTB);     /* output received byte to PortB (LEDs) */\r
-  61:hello.c       **** #endif\r
-  62:hello.c       **** }\r
- 238                           .stabn 68,0,62,.LM16-__vector_8\r
- 239                   .LM16:\r
- 240                   .LBE2:\r
- 241                   /* epilogue: frame size=0 */\r
- 242 00c4 DF91                 pop r29\r
- 243 00c6 CF91                 pop r28\r
- 244 00c8 8F91                 pop r24\r
- 245 00ca 0F90                 pop __tmp_reg__\r
- 246 00cc 0FBE                 out __SREG__,__tmp_reg__\r
- 247 00ce 0F90                 pop __tmp_reg__\r
- 248 00d0 1F90                 pop __zero_reg__\r
- 249 00d2 1895                 reti\r
- 250                   /* epilogue end (size=8) */\r
- 251                   /* function __vector_8 size 23 (5) */\r
- 252                           .size   __vector_8, .-__vector_8\r
- 253                           .stabs  "led:r(0,2)",64,0,54,24\r
- 254                           .stabn  192,0,0,.LBB2-__vector_8\r
- 255                           .stabn  224,0,0,.LBE2-__vector_8\r
- 256                   .Lscope3:\r
- 257                           .stabs  "",36,0,0,.Lscope3-__vector_8\r
- 258                           .stabs  "uart_send:F(0,20)",36,0,67,uart_send\r
- 259                           .stabs  "buf:p(1,1)=*(0,11)",160,0,65,1\r
- 260                           .stabs  "size:p(0,11)",160,0,65,3\r
- 261                   .global uart_send\r
- 262                           .type   uart_send, @function\r
- 263                   uart_send:\r
-  63:hello.c       **** \r
-  64:hello.c       **** \r
-  65:hello.c       **** void uart_send(unsigned char *buf, unsigned char size)\r
-  66:hello.c       **** /* send buffer <buf> to uart */\r
-  67:hello.c       **** {\r
- 264                           .stabn 68,0,67,.LM17-uart_send\r
- 265                   .LM17:\r
- 266                   /* prologue: frame size=3 */\r
- 267 00d4 CF93                 push r28\r
- 268 00d6 DF93                 push r29\r
- 269 00d8 CDB7                 in r28,__SP_L__\r
- 270 00da DEB7                 in r29,__SP_H__\r
- 271 00dc 2397                 sbiw r28,3\r
- 272 00de 0FB6                 in __tmp_reg__,__SREG__\r
- 273 00e0 F894                 cli\r
- 274 00e2 DEBF                 out __SP_H__,r29\r
- 275 00e4 0FBE                 out __SREG__,__tmp_reg__\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 7\r
-\r
-\r
- 276 00e6 CDBF                 out __SP_L__,r28\r
- 277                   /* prologue end (size=10) */\r
- 278 00e8 8983                 std Y+1,r24\r
- 279 00ea 9A83                 std Y+2,r25\r
- 280 00ec 6B83                 std Y+3,r22\r
-  68:hello.c       ****     if (!uart_counter) {\r
- 281                           .stabn 68,0,68,.LM18-uart_send\r
- 282                   .LM18:\r
- 283 00ee 8091 0000            lds r24,uart_counter\r
- 284 00f2 8823                 tst r24\r
- 285 00f4 71F4                 brne .L11\r
-  69:hello.c       ****         /* write first byte to data buffer */\r
-  70:hello.c       ****         uart_data_ptr  = buf;\r
- 286                           .stabn 68,0,70,.LM19-uart_send\r
- 287                   .LM19:\r
- 288 00f6 8981                 ldd r24,Y+1\r
- 289 00f8 9A81                 ldd r25,Y+2\r
- 290 00fa 9093 0000            sts (uart_data_ptr)+1,r25\r
- 291 00fe 8093 0000            sts uart_data_ptr,r24\r
-  71:hello.c       ****         uart_counter   = size;\r
- 292                           .stabn 68,0,71,.LM20-uart_send\r
- 293                   .LM20:\r
- 294 0102 8B81                 ldd r24,Y+3\r
- 295 0104 8093 0000            sts uart_counter,r24\r
-  72:hello.c       ****         outp(*buf, UDR);\r
- 296                           .stabn 68,0,72,.LM21-uart_send\r
- 297                   .LM21:\r
- 298 0108 E981                 ldd r30,Y+1\r
- 299 010a FA81                 ldd r31,Y+2\r
- 300 010c 8081                 ld r24,Z\r
- 301 010e 8093 2C00            sts 44,r24\r
-  73:hello.c       ****     }\r
-  74:hello.c       **** }\r
- 302                           .stabn 68,0,74,.LM22-uart_send\r
- 303                   .LM22:\r
- 304                   .L11:\r
- 305                   /* epilogue: frame size=3 */\r
- 306 0112 2396                 adiw r28,3\r
- 307 0114 0FB6                 in __tmp_reg__,__SREG__\r
- 308 0116 F894                 cli\r
- 309 0118 DEBF                 out __SP_H__,r29\r
- 310 011a 0FBE                 out __SREG__,__tmp_reg__\r
- 311 011c CDBF                 out __SP_L__,r28\r
- 312 011e DF91                 pop r29\r
- 313 0120 CF91                 pop r28\r
- 314 0122 0895                 ret\r
- 315                   /* epilogue end (size=9) */\r
- 316                   /* function uart_send size 40 (21) */\r
- 317                           .size   uart_send, .-uart_send\r
- 318                   .Lscope4:\r
- 319                           .stabs  "",36,0,0,.Lscope4-uart_send\r
- 320                           .stabs  "uart_init:F(0,20)",36,0,79,uart_init\r
- 321                   .global uart_init\r
- 322                           .type   uart_init, @function\r
- 323                   uart_init:\r
-  75:hello.c       **** \r
-  76:hello.c       **** \r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 8\r
-\r
-\r
-  77:hello.c       **** void uart_init(void)\r
-  78:hello.c       **** /* initialize uart */\r
-  79:hello.c       **** {\r
- 324                           .stabn 68,0,79,.LM23-uart_init\r
- 325                   .LM23:\r
- 326                   /* prologue: frame size=0 */\r
- 327 0124 CF93                 push r28\r
- 328 0126 DF93                 push r29\r
- 329 0128 CDB7                 in r28,__SP_L__\r
- 330 012a DEB7                 in r29,__SP_H__\r
- 331                   /* prologue end (size=4) */\r
-  80:hello.c       ****     /* enable RxD/TxD and ints */\r
-  81:hello.c       ****     outp((1<<RXCIE)|(1<<UDRIE)|(1<<RXEN)|(1<<TXEN),UCSRB);\r
- 332                           .stabn 68,0,81,.LM24-uart_init\r
- 333                   .LM24:\r
- 334 012c 88EB                 ldi r24,lo8(-72)\r
- 335 012e 8093 2A00            sts 42,r24\r
-  82:hello.c       ****     /* set baud rate */\r
-  83:hello.c       ****     outp((unsigned char)UART_BAUD_SELECT, UBRR);\r
- 336                           .stabn 68,0,83,.LM25-uart_init\r
- 337                   .LM25:\r
- 338 0132 87E4                 ldi r24,lo8(71)\r
- 339 0134 8093 2900            sts 41,r24\r
-  84:hello.c       **** }\r
- 340                           .stabn 68,0,84,.LM26-uart_init\r
- 341                   .LM26:\r
- 342                   /* epilogue: frame size=0 */\r
- 343 0138 DF91                 pop r29\r
- 344 013a CF91                 pop r28\r
- 345 013c 0895                 ret\r
- 346                   /* epilogue end (size=3) */\r
- 347                   /* function uart_init size 13 (6) */\r
- 348                           .size   uart_init, .-uart_init\r
- 349                   .Lscope5:\r
- 350                           .stabs  "",36,0,0,.Lscope5-uart_init\r
- 351                           .data\r
- 352                   .LC0:\r
- 353 0000 6865 6C6C            .string "hello, world\r\n"\r
- 353      6F2C 2077 \r
- 353      6F72 6C64 \r
- 353      0D0A 00\r
- 354                   .LC1:\r
- 355 000f 5365 7269            .string "Serial Data from AVR received###"\r
- 355      616C 2044 \r
- 355      6174 6120 \r
- 355      6672 6F6D \r
- 355      2041 5652 \r
- 356                           .text\r
- 357                           .stabs  "main:F(0,1)",36,0,87,main\r
- 358                   .global main\r
- 359                           .type   main, @function\r
- 360                   main:\r
-  85:hello.c       **** \r
-  86:hello.c       **** int main(void)\r
-  87:hello.c       ****        {\r
- 361                           .stabn 68,0,87,.LM27-main\r
- 362                   .LM27:\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 9\r
-\r
-\r
- 363                   /* prologue: frame size=0 */\r
- 364 013e C0E0                 ldi r28,lo8(__stack - 0)\r
- 365 0140 D0E0                 ldi r29,hi8(__stack - 0)\r
- 366 0142 DEBF                 out __SP_H__,r29\r
- 367 0144 CDBF                 out __SP_L__,r28\r
- 368                   /* prologue end (size=4) */\r
-  88:hello.c       ****        /* initialise the AVR's built-in UART for 9600 bps */\r
-  89:hello.c       **** #if 1\r
-  90:hello.c       ****        uart_init();\r
- 369                           .stabn 68,0,90,.LM28-main\r
- 370                   .LM28:\r
- 371 0146 EEDF                 rcall uart_init\r
-  91:hello.c       **** #else\r
-  92:hello.c       ****        UCSRA = _BV(TXC);\r
-  93:hello.c       ****        UCSRB = _BV(TXEN) | _BV(RXEN);\r
-  94:hello.c       ****        UBRR = 71;\r
-  95:hello.c       ****        /* UBRRH = 0; */ /* = (11059200 / (9600 * 16)) - 1 */\r
-  96:hello.c       **** #endif\r
-  97:hello.c       **** \r
-  98:hello.c       **** #if 0\r
-  99:hello.c       ****        /* send a demo message to ISPD via the AVR's UART */\r
- 100:hello.c       ****        uart_putc('h');\r
- 101:hello.c       ****        uart_putc('e');\r
- 102:hello.c       ****        uart_putc('l');\r
- 103:hello.c       ****        uart_putc('l');\r
- 104:hello.c       ****        uart_putc('o');\r
- 105:hello.c       **** #else\r
- 106:hello.c       ****        /* setup the standard input, output and error streams */\r
- 107:hello.c       ****        fdevopen(uart_putc, uart_getc, 0);\r
- 372                           .stabn 68,0,107,.LM29-main\r
- 373                   .LM29:\r
- 374 0148 40E0                 ldi r20,lo8(0)\r
- 375 014a 50E0                 ldi r21,hi8(0)\r
- 376 014c 60E0                 ldi r22,lo8(pm(uart_getc))\r
- 377 014e 70E0                 ldi r23,hi8(pm(uart_getc))\r
- 378 0150 80E0                 ldi r24,lo8(pm(uart_putc))\r
- 379 0152 90E0                 ldi r25,hi8(pm(uart_putc))\r
- 380 0154 00D0                 rcall fdevopen\r
- 108:hello.c       **** \r
- 109:hello.c       ****        /* send a demo message to ISPD via the AVR's UART */\r
- 110:hello.c       ****        printf("hello, world\r\n");\r
- 381                           .stabn 68,0,110,.LM30-main\r
- 382                   .LM30:\r
- 383 0156 80E0                 ldi r24,lo8(.LC0)\r
- 384 0158 90E0                 ldi r25,hi8(.LC0)\r
- 385 015a 9F93                 push r25\r
- 386 015c 8F93                 push r24\r
- 387 015e 00D0                 rcall printf\r
- 388 0160 0F90                 pop __tmp_reg__\r
- 389 0162 0F90                 pop __tmp_reg__\r
- 111:hello.c       ****         uart_send("Serial Data from AVR received###", 32);\r
- 390                           .stabn 68,0,111,.LM31-main\r
- 391                   .LM31:\r
- 392 0164 60E2                 ldi r22,lo8(32)\r
- 393 0166 80E0                 ldi r24,lo8(.LC1)\r
- 394 0168 90E0                 ldi r25,hi8(.LC1)\r
- 395 016a B4DF                 rcall uart_send\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 10\r
-\r
-\r
- 112:hello.c       **** #endif\r
- 113:hello.c       **** \r
- 114:hello.c       ****        /* enter an infinite loop as we can never exit */\r
- 115:hello.c       ****        while (1)\r
- 396                           .stabn 68,0,115,.LM32-main\r
- 397                   .LM32:\r
- 398                   .L15:\r
- 399 016c FFCF                 rjmp .L15\r
- 116:hello.c       ****                ;\r
- 117:hello.c       ****        }\r
- 400                           .stabn 68,0,117,.LM33-main\r
- 401                   .LM33:\r
- 402                   /* epilogue: frame size=0 */\r
- 403                   /* epilogue: noreturn */\r
- 404                   /* epilogue end (size=0) */\r
- 405                   /* function main size 24 (20) */\r
- 406                           .size   main, .-main\r
- 407                   .Lscope6:\r
- 408                           .stabs  "",36,0,0,.Lscope6-main\r
- 409                           .lcomm uart_data_ptr,2\r
- 410                           .lcomm uart_counter,1\r
- 411                           .stabs  "uart_data_ptr:S(1,2)=*(1,3)=B(0,11)",40,0,29,uart_data_ptr\r
- 412                           .stabs  "uart_counter:S(1,3)",40,0,30,uart_counter\r
- 413                           .text\r
- 414                           .stabs "",100,0,0,Letext\r
- 415                   Letext:\r
- 416                   /* File "hello.c": code  183 = 0x00b7 (  81), prologues  57, epilogues  45 */\r
-\fGAS LISTING C:\cygwin\tmp/cciqaaaa.s                  page 11\r
-\r
-\r
-DEFINED SYMBOLS\r
-                            *ABS*:00000000 hello.c\r
-                            *ABS*:0000003f __SREG__\r
-                            *ABS*:0000003e __SP_H__\r
-                            *ABS*:0000003d __SP_L__\r
-                            *ABS*:00000000 __tmp_reg__\r
-                            *ABS*:00000001 __zero_reg__\r
-C:\cygwin\tmp/cciqaaaa.s:73     .text:00000000 uart_putc\r
-C:\cygwin\tmp/cciqaaaa.s:126    .text:00000040 uart_getc\r
-C:\cygwin\tmp/cciqaaaa.s:183    .text:00000086 __vector_10\r
-C:\cygwin\tmp/cciqaaaa.s:215    .text:000000a6 __vector_8\r
-C:\cygwin\tmp/cciqaaaa.s:263    .text:000000d4 uart_send\r
-C:\cygwin\tmp/cciqaaaa.s:409    .bss:00000002 uart_counter\r
-                             .bss:00000000 uart_data_ptr\r
-C:\cygwin\tmp/cciqaaaa.s:323    .text:00000124 uart_init\r
-C:\cygwin\tmp/cciqaaaa.s:360    .text:0000013e main\r
-C:\cygwin\tmp/cciqaaaa.s:415    .text:0000016e Letext\r
-\r
-UNDEFINED SYMBOLS\r
-__do_copy_data\r
-__do_clear_bss\r
-__stack\r
-fdevopen\r
-printf\r
diff --git a/src/avrsample/hello.map b/src/avrsample/hello.map
deleted file mode 100644 (file)
index 1d230d4..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-Archive member included because of file (symbol)\r
-\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                              hello.o (__do_copy_data)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                              hello.o (__do_clear_bss)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                              hello.o (fdevopen)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                              hello.o (printf)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o) (vfprintf)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o) (calloc)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o) (fputc)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o) (malloc)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(memset.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o) (memset)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_mulhi3.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o) (__mulhi3)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_udivmodsi4.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o) (__udivmodsi4)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_prologue.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o) (__prologue_saves__)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_epilogue.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o) (__epilogue_restores__)\r
-\r
-Allocating common symbols\r
-Common symbol       size              file\r
-\r
-__iob               0x6               c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-\r
-Memory Configuration\r
-\r
-Name             Origin             Length             Attributes\r
-text             0x00000000         0x00002000         xr\r
-data             0x00800060         0x0000ffa0         rw !x\r
-eeprom           0x00810000         0x00010000         rw !x\r
-*default*        0x00000000         0xffffffff\r
-\r
-Linker script and memory map\r
-\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-LOAD hello.o\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a\r
-\r
-.hash\r
- *(.hash)\r
-\r
-.dynsym\r
- *(.dynsym)\r
-\r
-.dynstr\r
- *(.dynstr)\r
-\r
-.gnu.version\r
- *(.gnu.version)\r
-\r
-.gnu.version_d\r
- *(.gnu.version_d)\r
-\r
-.gnu.version_r\r
- *(.gnu.version_r)\r
-\r
-.rel.init\r
- *(.rel.init)\r
-\r
-.rela.init\r
- *(.rela.init)\r
-\r
-.rel.text\r
- *(.rel.text)\r
- *(.rel.text.*)\r
- *(.rel.gnu.linkonce.t*)\r
-\r
-.rela.text\r
- *(.rela.text)\r
- *(.rela.text.*)\r
- *(.rela.gnu.linkonce.t*)\r
-\r
-.rel.fini\r
- *(.rel.fini)\r
-\r
-.rela.fini\r
- *(.rela.fini)\r
-\r
-.rel.rodata\r
- *(.rel.rodata)\r
- *(.rel.rodata.*)\r
- *(.rel.gnu.linkonce.r*)\r
-\r
-.rela.rodata\r
- *(.rela.rodata)\r
- *(.rela.rodata.*)\r
- *(.rela.gnu.linkonce.r*)\r
-\r
-.rel.data\r
- *(.rel.data)\r
- *(.rel.data.*)\r
- *(.rel.gnu.linkonce.d*)\r
-\r
-.rela.data\r
- *(.rela.data)\r
- *(.rela.data.*)\r
- *(.rela.gnu.linkonce.d*)\r
-\r
-.rel.ctors\r
- *(.rel.ctors)\r
-\r
-.rela.ctors\r
- *(.rela.ctors)\r
-\r
-.rel.dtors\r
- *(.rel.dtors)\r
-\r
-.rela.dtors\r
- *(.rela.dtors)\r
-\r
-.rel.got\r
- *(.rel.got)\r
-\r
-.rela.got\r
- *(.rela.got)\r
-\r
-.rel.bss\r
- *(.rel.bss)\r
-\r
-.rela.bss\r
- *(.rela.bss)\r
-\r
-.rel.plt\r
- *(.rel.plt)\r
-\r
-.rela.plt\r
- *(.rela.plt)\r
-\r
-.text           0x00000000      0xb1a\r
- *(.vectors)\r
- .vectors       0x00000000       0x1c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                0x00000000                __vectors\r
-                0x00000000                __vector_default\r
-                0x0000001c                __ctors_start = .\r
- *(.ctors)\r
-                0x0000001c                __ctors_end = .\r
-                0x0000001c                __dtors_start = .\r
- *(.dtors)\r
-                0x0000001c                __dtors_end = .\r
- *(.progmem.gcc*)\r
- *(.progmem*)\r
-                0x0000001c                . = ALIGN (0x2)\r
- *(.init0)\r
- *(.init1)\r
- *(.init2)\r
- .init2         0x0000001c        0xc c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- *(.init3)\r
- *(.init4)\r
- .init4         0x00000028       0x18 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                0x00000028                __do_copy_data\r
- .init4         0x00000040       0x10 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                0x00000040                __do_clear_bss\r
- *(.init5)\r
- *(.init6)\r
- *(.init7)\r
- *(.init8)\r
- *(.init9)\r
- .init9         0x00000050        0x2 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- *(.text)\r
- .text          0x00000052        0x2 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                0x00000052                __vector_1\r
-                0x00000052                __vector_12\r
-                0x00000052                __bad_interrupt\r
-                0x00000052                __vector_6\r
-                0x00000052                __vector_3\r
-                0x00000052                __vector_11\r
-                0x00000052                __vector_13\r
-                0x00000052                __vector_7\r
-                0x00000052                __vector_5\r
-                0x00000052                __vector_4\r
-                0x00000052                __vector_9\r
-                0x00000052                __vector_2\r
- .text          0x00000054      0x16e hello.o\r
-                0x00000128                uart_send\r
-                0x00000178                uart_init\r
-                0x00000094                uart_getc\r
-                0x00000192                main\r
-                0x00000054                uart_putc\r
-                0x000000fa                __vector_8\r
-                0x000000da                __vector_10\r
- .text          0x000001c2       0x8e c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                0x000001c2                fdevopen\r
- .text          0x00000250       0x2c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                0x00000250                printf\r
- .text          0x0000027c      0x518 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                0x0000027c                vfprintf\r
- .text          0x00000794       0x30 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                0x00000794                calloc\r
- .text          0x000007c4       0x5a c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                0x000007c4                fputc\r
- .text          0x0000081e      0x20a c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                0x0000081e                malloc\r
-                0x00000958                free\r
- .text          0x00000a28       0x10 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(memset.o)\r
-                0x00000a28                memset\r
-                0x00000a38                . = ALIGN (0x2)\r
- *(.text.*)\r
- .text.libgcc   0x00000a38       0x24 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_mulhi3.o)\r
-                0x00000a38                __mulhi3\r
- .text.libgcc   0x00000a5c       0x4e c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_udivmodsi4.o)\r
-                0x00000a5c                __udivmodsi4\r
- .text.libgcc   0x00000aaa       0x38 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_prologue.o)\r
-                0x00000aaa                __prologue_saves__\r
- .text.libgcc   0x00000ae2       0x38 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_epilogue.o)\r
-                0x00000ae2                __epilogue_restores__\r
-                0x00000b1a                . = ALIGN (0x2)\r
- *(.fini9)\r
- *(.fini8)\r
- *(.fini7)\r
- *(.fini6)\r
- *(.fini5)\r
- *(.fini4)\r
- *(.fini3)\r
- *(.fini2)\r
- *(.fini1)\r
- *(.fini0)\r
-                0x00000b1a                _etext = .\r
-\r
-.data           0x00800060       0x36 load address 0x00000b1a\r
-                0x00800060                PROVIDE (__data_start, .)\r
- *(.data)\r
- .data          0x00800060       0x30 hello.o\r
- .data          0x00800090        0x6 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                0x00800092                __malloc_heap_start\r
-                0x00800094                __malloc_heap_end\r
-                0x00800090                __malloc_margin\r
- *(.gnu.linkonce.d*)\r
-                0x00800096                . = ALIGN (0x2)\r
-                0x00800096                _edata = .\r
-                0x00800096                PROVIDE (__data_end, .)\r
-\r
-.bss            0x00800096        0xd\r
-                0x00800096                PROVIDE (__bss_start, .)\r
- *(.bss)\r
- .bss           0x00800096        0x3 hello.o\r
- .bss           0x00800099        0x4 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
- *(COMMON)\r
- COMMON         0x0080009d        0x6 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                  0x0 (size before relaxing)\r
-                0x0080009d                __iob\r
-                0x008000a3                PROVIDE (__bss_end, .)\r
-                0x00000b1a                __data_load_start = LOADADDR (.data)\r
-                0x00000b50                __data_load_end = (__data_load_start + SIZEOF (.data))\r
-\r
-.noinit         0x008000a3        0x0\r
-                0x008000a3                PROVIDE (__noinit_start, .)\r
- *(.noinit*)\r
-                0x008000a3                PROVIDE (__noinit_end, .)\r
-                0x008000a3                _end = .\r
-                0x008000a3                PROVIDE (__heap_start, .)\r
-\r
-.eeprom         0x00810000        0x0 load address 0x00000b50\r
- *(.eeprom*)\r
-                0x00810000                __eeprom_end = .\r
-\r
-.stab           0x00000000     0x1f50\r
- *(.stab)\r
- .stab          0x00000000      0x2a0 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- .stab          0x000002a0      0x54c hello.o\r
-                                0x558 (size before relaxing)\r
- .stab          0x000007ec      0x3e4 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                0x3f0 (size before relaxing)\r
- .stab          0x00000bd0      0x1d4 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                0x2ac (size before relaxing)\r
- .stab          0x00000da4      0x7b0 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                0x8a0 (size before relaxing)\r
- .stab          0x00001554      0x21c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                                0x264 (size before relaxing)\r
- .stab          0x00001770      0x204 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                                0x2f4 (size before relaxing)\r
- .stab          0x00001974      0x570 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                                0x5d0 (size before relaxing)\r
- .stab          0x00001ee4       0x6c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(memset.o)\r
-                                 0x78 (size before relaxing)\r
-\r
-.stabstr        0x00000000     0x1107\r
- *(.stabstr)\r
- .stabstr       0x00000000     0x1107 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                                  0x0 (size before relaxing)\r
-\r
-.stab.excl\r
- *(.stab.excl)\r
-\r
-.stab.exclstr\r
- *(.stab.exclstr)\r
-\r
-.stab.index\r
- *(.stab.index)\r
-\r
-.stab.indexstr\r
- *(.stab.indexstr)\r
-\r
-.comment\r
- *(.comment)\r
-\r
-.debug\r
- *(.debug)\r
-\r
-.line\r
- *(.line)\r
-\r
-.debug_srcinfo\r
- *(.debug_srcinfo)\r
-\r
-.debug_sfnames\r
- *(.debug_sfnames)\r
-\r
-.debug_aranges\r
- *(.debug_aranges)\r
-\r
-.debug_pubnames\r
- *(.debug_pubnames)\r
-\r
-.debug_info\r
- *(.debug_info)\r
- *(.gnu.linkonce.wi.*)\r
-\r
-.debug_abbrev\r
- *(.debug_abbrev)\r
-\r
-.debug_line\r
- *(.debug_line)\r
-\r
-.debug_frame\r
- *(.debug_frame)\r
-\r
-.debug_str\r
- *(.debug_str)\r
-\r
-.debug_loc\r
- *(.debug_loc)\r
-\r
-.debug_macinfo\r
- *(.debug_macinfo)\r
-OUTPUT(hello.elf elf32-avr)\r
-\r
-Cross Reference Table\r
-\r
-Symbol                                            File\r
-__bad_interrupt                                   c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__bss_end                                         c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-__bss_start                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-__data_end                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__data_load_start                                 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__data_start                                      c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__do_clear_bss                                    c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                                  hello.o\r
-__do_copy_data                                    c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                                  hello.o\r
-__epilogue_restores__                             c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_epilogue.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-__heap_end                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__heap_start                                      c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__init                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__iob                                             c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-__malloc_heap_end                                 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__malloc_heap_start                               c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__malloc_margin                                   c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__mulhi3                                          c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_mulhi3.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-__prologue_saves__                                c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_prologue.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-__stack                                           c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                                                  hello.o\r
-__udivmodsi4                                      c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_udivmodsi4.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-__vector_1                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_10                                       hello.o\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_11                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_12                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_13                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_2                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_3                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_4                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_5                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_6                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_7                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_8                                        hello.o\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_9                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_default                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vectors                                         c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-calloc                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-fdevopen                                          c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                                  hello.o\r
-fputc                                             c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-free                                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-main                                              hello.o\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-malloc                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-memset                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(memset.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-printf                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                                  hello.o\r
-uart_getc                                         hello.o\r
-uart_init                                         hello.o\r
-uart_putc                                         hello.o\r
-uart_send                                         hello.o\r
-vfprintf                                          c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
diff --git a/src/avrsample/hello.o b/src/avrsample/hello.o
deleted file mode 100644 (file)
index 145f707..0000000
Binary files a/src/avrsample/hello.o and /dev/null differ
diff --git a/src/avrsample/hello.s b/src/avrsample/hello.s
deleted file mode 100644 (file)
index dbaf1a9..0000000
+++ /dev/null
@@ -1,416 +0,0 @@
-       .file   "hello.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-       .stabs  "c:\\uzi\\src\\avrsample/",100,0,0,.Ltext0\r
-       .stabs  "hello.c",100,0,0,.Ltext0\r
-       .text\r
-.Ltext0:\r
-       .stabs  "gcc2_compiled.",60,0,0,0\r
-       .stabs  "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0\r
-       .stabs  "char:t(0,2)=r(0,2);0;127;",128,0,0,0\r
-       .stabs  "long int:t(0,3)=@s32;r(0,3);0020000000000;0017777777777;",128,0,0,0\r
-       .stabs  "unsigned int:t(0,4)=r(0,4);0000000000000;0000000177777;",128,0,0,0\r
-       .stabs  "long unsigned int:t(0,5)=@s32;r(0,5);0000000000000;0037777777777;",128,0,0,0\r
-       .stabs  "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,0\r
-       .stabs  "long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,0\r
-       .stabs  "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0\r
-       .stabs  "short unsigned int:t(0,9)=r(0,9);0000000000000;0000000177777;",128,0,0,0\r
-       .stabs  "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0\r
-       .stabs  "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0\r
-       .stabs  "float:t(0,12)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "double:t(0,13)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "long double:t(0,14)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "complex int:t(0,15)=s4real:(0,1),0,16;imag:(0,1),16,16;;",128,0,0,0\r
-       .stabs  "complex float:t(0,16)=r(0,16);8;0;",128,0,0,0\r
-       .stabs  "complex double:t(0,17)=r(0,17);8;0;",128,0,0,0\r
-       .stabs  "complex long double:t(0,18)=r(0,18);8;0;",128,0,0,0\r
-       .stabs  "__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0\r
-       .stabs  "_Bool:t(0,21)=@s8;-16;",128,0,0,0\r
-       .stabs  "hello.c",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/stdio.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/inttypes.h",130,0,0,0\r
-       .stabs  "int8_t:t(3,1)=(0,10)",128,0,46,0\r
-       .stabs  "uint8_t:t(3,2)=(0,11)",128,0,47,0\r
-       .stabs  "int16_t:t(3,3)=(0,1)",128,0,49,0\r
-       .stabs  "uint16_t:t(3,4)=(0,4)",128,0,50,0\r
-       .stabs  "int32_t:t(3,5)=(0,3)",128,0,52,0\r
-       .stabs  "uint32_t:t(3,6)=(0,5)",128,0,53,0\r
-       .stabs  "int64_t:t(3,7)=(0,6)",128,0,55,0\r
-       .stabs  "uint64_t:t(3,8)=(0,7)",128,0,56,0\r
-       .stabs  "intptr_t:t(3,9)=(3,3)",128,0,58,0\r
-       .stabs  "uintptr_t:t(3,10)=(3,4)",128,0,59,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stdarg.h",130,0,0,0\r
-       .stabs  "__gnuc_va_list:t(4,1)=(0,19)",128,0,43,0\r
-       .stabs  "va_list:t(4,2)=(4,1)",128,0,105,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stddef.h",130,0,0,0\r
-       .stabs  "size_t:t(5,1)=(0,4)",128,0,213,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/io.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/io4433.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/sfr_defs.h",130,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/interrupt.h",130,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/signal.h",130,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "hello.h",130,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "uart_putc:F(0,1)",36,0,14,uart_putc\r
-       .stabs  "c:p(0,2)",160,0,13,1\r
-.global        uart_putc\r
-       .type   uart_putc, @function\r
-uart_putc:\r
-       .stabn 68,0,14,.LM1-uart_putc\r
-.LM1:\r
-/* prologue: frame size=1 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,1\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       .stabn 68,0,15,.LM2-uart_putc\r
-.LM2:\r
-.L4:\r
-       lds r24,43\r
-       clr r25\r
-       andi r24,lo8(32)\r
-       andi r25,hi8(32)\r
-       sbiw r24,0\r
-       breq .L4\r
-       .stabn 68,0,17,.LM3-uart_putc\r
-.LM3:\r
-       ldd r24,Y+1\r
-       sts 44,r24\r
-       .stabn 68,0,18,.LM4-uart_putc\r
-.LM4:\r
-       ldi r24,lo8(0)\r
-       ldi r25,hi8(0)\r
-       .stabn 68,0,19,.LM5-uart_putc\r
-.LM5:\r
-/* epilogue: frame size=1 */\r
-       adiw r28,1\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function uart_putc size 32 (13) */\r
-       .size   uart_putc, .-uart_putc\r
-.Lscope0:\r
-       .stabs  "",36,0,0,.Lscope0-uart_putc\r
-       .stabs  "uart_getc:F(0,1)",36,0,22,uart_getc\r
-.global        uart_getc\r
-       .type   uart_getc, @function\r
-uart_getc:\r
-       .stabn 68,0,22,.LM6-uart_getc\r
-.LM6:\r
-/* prologue: frame size=2 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,2\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       .stabn 68,0,23,.LM7-uart_getc\r
-.LM7:\r
-       lds r24,43\r
-       tst r24\r
-       brlt .L8\r
-       .stabn 68,0,24,.LM8-uart_getc\r
-.LM8:\r
-       ldi r24,lo8(-1)\r
-       ldi r25,hi8(-1)\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       rjmp .L7\r
-.L8:\r
-       .stabn 68,0,25,.LM9-uart_getc\r
-.LM9:\r
-       lds r24,44\r
-       clr r25\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       .stabn 68,0,26,.LM10-uart_getc\r
-.LM10:\r
-.L7:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-/* epilogue: frame size=2 */\r
-       adiw r28,2\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function uart_getc size 35 (16) */\r
-       .size   uart_getc, .-uart_getc\r
-.Lscope1:\r
-       .stabs  "",36,0,0,.Lscope1-uart_getc\r
-       .stabs  "__vector_10:F(0,20)",36,0,35,__vector_10\r
-.global        __vector_10\r
-       .type   __vector_10, @function\r
-__vector_10:\r
-       .stabn 68,0,35,.LM11-__vector_10\r
-.LM11:\r
-/* prologue: frame size=0 */\r
-       push __zero_reg__\r
-       push __tmp_reg__\r
-       in __tmp_reg__,__SREG__\r
-       push __tmp_reg__\r
-       clr __zero_reg__\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-/* prologue end (size=9) */\r
-       .stabn 68,0,48,.LM12-__vector_10\r
-.LM12:\r
-/* epilogue: frame size=0 */\r
-       pop r29\r
-       pop r28\r
-       pop __tmp_reg__\r
-       out __SREG__,__tmp_reg__\r
-       pop __tmp_reg__\r
-       pop __zero_reg__\r
-       reti\r
-/* epilogue end (size=7) */\r
-/* function __vector_10 size 16 (0) */\r
-       .size   __vector_10, .-__vector_10\r
-.Lscope2:\r
-       .stabs  "",36,0,0,.Lscope2-__vector_10\r
-       .stabs  "__vector_8:F(0,20)",36,0,53,__vector_8\r
-.global        __vector_8\r
-       .type   __vector_8, @function\r
-__vector_8:\r
-       .stabn 68,0,53,.LM13-__vector_8\r
-.LM13:\r
-/* prologue: frame size=0 */\r
-       push __zero_reg__\r
-       push __tmp_reg__\r
-       in __tmp_reg__,__SREG__\r
-       push __tmp_reg__\r
-       clr __zero_reg__\r
-       push r24\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-/* prologue end (size=10) */\r
-       .stabn 68,0,56,.LM14-__vector_8\r
-.LM14:\r
-.LBB2:\r
-       lds r24,44\r
-       .stabn 68,0,58,.LM15-__vector_8\r
-.LM15:\r
-       subi r24,lo8(-(1))\r
-       sts 44,r24\r
-       .stabn 68,0,62,.LM16-__vector_8\r
-.LM16:\r
-.LBE2:\r
-/* epilogue: frame size=0 */\r
-       pop r29\r
-       pop r28\r
-       pop r24\r
-       pop __tmp_reg__\r
-       out __SREG__,__tmp_reg__\r
-       pop __tmp_reg__\r
-       pop __zero_reg__\r
-       reti\r
-/* epilogue end (size=8) */\r
-/* function __vector_8 size 23 (5) */\r
-       .size   __vector_8, .-__vector_8\r
-       .stabs  "led:r(0,2)",64,0,54,24\r
-       .stabn  192,0,0,.LBB2-__vector_8\r
-       .stabn  224,0,0,.LBE2-__vector_8\r
-.Lscope3:\r
-       .stabs  "",36,0,0,.Lscope3-__vector_8\r
-       .stabs  "uart_send:F(0,20)",36,0,67,uart_send\r
-       .stabs  "buf:p(1,1)=*(0,11)",160,0,65,1\r
-       .stabs  "size:p(0,11)",160,0,65,3\r
-.global        uart_send\r
-       .type   uart_send, @function\r
-uart_send:\r
-       .stabn 68,0,67,.LM17-uart_send\r
-.LM17:\r
-/* prologue: frame size=3 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,3\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       std Y+3,r22\r
-       .stabn 68,0,68,.LM18-uart_send\r
-.LM18:\r
-       lds r24,uart_counter\r
-       tst r24\r
-       brne .L11\r
-       .stabn 68,0,70,.LM19-uart_send\r
-.LM19:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sts (uart_data_ptr)+1,r25\r
-       sts uart_data_ptr,r24\r
-       .stabn 68,0,71,.LM20-uart_send\r
-.LM20:\r
-       ldd r24,Y+3\r
-       sts uart_counter,r24\r
-       .stabn 68,0,72,.LM21-uart_send\r
-.LM21:\r
-       ldd r30,Y+1\r
-       ldd r31,Y+2\r
-       ld r24,Z\r
-       sts 44,r24\r
-       .stabn 68,0,74,.LM22-uart_send\r
-.LM22:\r
-.L11:\r
-/* epilogue: frame size=3 */\r
-       adiw r28,3\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function uart_send size 40 (21) */\r
-       .size   uart_send, .-uart_send\r
-.Lscope4:\r
-       .stabs  "",36,0,0,.Lscope4-uart_send\r
-       .stabs  "uart_init:F(0,20)",36,0,79,uart_init\r
-.global        uart_init\r
-       .type   uart_init, @function\r
-uart_init:\r
-       .stabn 68,0,79,.LM23-uart_init\r
-.LM23:\r
-/* prologue: frame size=0 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-/* prologue end (size=4) */\r
-       .stabn 68,0,81,.LM24-uart_init\r
-.LM24:\r
-       ldi r24,lo8(-72)\r
-       sts 42,r24\r
-       .stabn 68,0,83,.LM25-uart_init\r
-.LM25:\r
-       ldi r24,lo8(71)\r
-       sts 41,r24\r
-       .stabn 68,0,84,.LM26-uart_init\r
-.LM26:\r
-/* epilogue: frame size=0 */\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=3) */\r
-/* function uart_init size 13 (6) */\r
-       .size   uart_init, .-uart_init\r
-.Lscope5:\r
-       .stabs  "",36,0,0,.Lscope5-uart_init\r
-       .data\r
-.LC0:\r
-       .string "hello, world\r\n"\r
-.LC1:\r
-       .string "Serial Data from AVR received###"\r
-       .text\r
-       .stabs  "main:F(0,1)",36,0,87,main\r
-.global        main\r
-       .type   main, @function\r
-main:\r
-       .stabn 68,0,87,.LM27-main\r
-.LM27:\r
-/* prologue: frame size=0 */\r
-       ldi r28,lo8(__stack - 0)\r
-       ldi r29,hi8(__stack - 0)\r
-       out __SP_H__,r29\r
-       out __SP_L__,r28\r
-/* prologue end (size=4) */\r
-       .stabn 68,0,90,.LM28-main\r
-.LM28:\r
-       rcall uart_init\r
-       .stabn 68,0,107,.LM29-main\r
-.LM29:\r
-       ldi r20,lo8(0)\r
-       ldi r21,hi8(0)\r
-       ldi r22,lo8(pm(uart_getc))\r
-       ldi r23,hi8(pm(uart_getc))\r
-       ldi r24,lo8(pm(uart_putc))\r
-       ldi r25,hi8(pm(uart_putc))\r
-       rcall fdevopen\r
-       .stabn 68,0,110,.LM30-main\r
-.LM30:\r
-       ldi r24,lo8(.LC0)\r
-       ldi r25,hi8(.LC0)\r
-       push r25\r
-       push r24\r
-       rcall printf\r
-       pop __tmp_reg__\r
-       pop __tmp_reg__\r
-       .stabn 68,0,111,.LM31-main\r
-.LM31:\r
-       ldi r22,lo8(32)\r
-       ldi r24,lo8(.LC1)\r
-       ldi r25,hi8(.LC1)\r
-       rcall uart_send\r
-       .stabn 68,0,115,.LM32-main\r
-.LM32:\r
-.L15:\r
-       rjmp .L15\r
-       .stabn 68,0,117,.LM33-main\r
-.LM33:\r
-/* epilogue: frame size=0 */\r
-/* epilogue: noreturn */\r
-/* epilogue end (size=0) */\r
-/* function main size 24 (20) */\r
-       .size   main, .-main\r
-.Lscope6:\r
-       .stabs  "",36,0,0,.Lscope6-main\r
-       .lcomm uart_data_ptr,2\r
-       .lcomm uart_counter,1\r
-       .stabs  "uart_data_ptr:S(1,2)=*(1,3)=B(0,11)",40,0,29,uart_data_ptr\r
-       .stabs  "uart_counter:S(1,3)",40,0,30,uart_counter\r
-       .text\r
-       .stabs "",100,0,0,Letext\r
-Letext:\r
-/* File "hello.c": code  183 = 0x00b7 (  81), prologues  57, epilogues  45 */\r
diff --git a/src/avrsample/hello.tar.gz b/src/avrsample/hello.tar.gz
deleted file mode 100644 (file)
index 4a9cb3b..0000000
Binary files a/src/avrsample/hello.tar.gz and /dev/null differ
diff --git a/src/avrsample/io.com b/src/avrsample/io.com
deleted file mode 100644 (file)
index 5686873..0000000
Binary files a/src/avrsample/io.com and /dev/null differ
diff --git a/src/avrsample/ispd.exe b/src/avrsample/ispd.exe
deleted file mode 100644 (file)
index 4963ef0..0000000
Binary files a/src/avrsample/ispd.exe and /dev/null differ
diff --git a/src/avrsample/libc/calloc.c b/src/avrsample/libc/calloc.c
deleted file mode 100644 (file)
index 93f7246..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2002 Joerg Wunsch
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: calloc.c,v 1.1 2002/10/12 19:37:29 joerg_wunsch Exp $
- */
-
-#include <stdlib.h>
-#include <string.h>
-
-void *
-calloc(size_t nele, size_t size)
-{
-       void *p;
-
-       if ((p = malloc(nele * size)) == 0)
-               return 0;
-       memset(p, 0, nele * size);
-       return p;
-}
diff --git a/src/avrsample/libc/calloc.s b/src/avrsample/libc/calloc.s
deleted file mode 100644 (file)
index 0e174d4..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-       .file   "calloc.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-       .text\r
-.global        calloc\r
-       .type   calloc, @function\r
-calloc:\r
-/* prologue: frame size=8 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,8\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       std Y+3,r22\r
-       std Y+4,r23\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       ldd r18,Y+3\r
-       ldd r19,Y+4\r
-       mov r23,r19\r
-       mov r22,r18\r
-       rcall __mulhi3\r
-       rcall malloc\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       sbiw r24,0\r
-       brne .L7\r
-       std Y+7,__zero_reg__\r
-       std Y+8,__zero_reg__\r
-       rjmp .L6\r
-.L7:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       ldd r18,Y+3\r
-       ldd r19,Y+4\r
-       mov r23,r19\r
-       mov r22,r18\r
-       rcall __mulhi3\r
-       mov r20,r24\r
-       mov r21,r25\r
-       ldi r22,lo8(0)\r
-       ldi r23,hi8(0)\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       rcall memset\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-.L6:\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-/* epilogue: frame size=8 */\r
-       adiw r28,8\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function calloc size 60 (41) */\r
-       .size   calloc, .-calloc\r
-/* File "calloc.c": code   60 = 0x003c (  41), prologues  10, epilogues   9 */\r
diff --git a/src/avrsample/libc/fdevopen.c b/src/avrsample/libc/fdevopen.c
deleted file mode 100644 (file)
index f52c458..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright (c) 2002, Joerg Wunsch
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-   * Neither the name of the copyright holders nor the names of
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* $Id: fdevopen.c,v 1.3 2003/03/17 17:49:46 troth Exp $ */
-
-#include <inttypes.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "stdio_private.h"
-
-FILE *__iob[3];                        /* stdin, stdout, stderr */
-
-/** \ingroup avr_stdio
-   This function is a replacement for \c fopen().
-
-   It opens a stream for a device where the actual device
-   implementation needs to be provided by the application.  If
-   successful, a pointer to the structure for the opened stream is
-   returned.  Reasons for a possible failure currently include that
-   neither the \c put nor the \c get argument have been provided, thus
-   attempting to open a stream with no IO intent at all, or that
-   insufficient dynamic memory is available to establish a new stream.
-
-   If the \c put function pointer is provided, the stream is opened
-   with write intent.  The function passed as \c put shall take one
-   character to write to the device as argument , and shall return 0
-   if the output was successful, and a nonzero value if the character
-   could not be sent to the device.
-
-   If the \c get function pointer is provided, the stream is opened
-   with read intent.  The function passed as \c get shall take no
-   arguments, and return one character from the device, passed as an
-   \c int type.  If an error occurs when trying to read from the
-   device, it shall return \c -1.
-
-   If both functions are provided, the stream is opened with read
-   and write intent.
-
-   The first stream opened with read intent is assigned to \c stdin,
-   and the first one opened with write intent is assigned to both,
-   \c stdout and \c stderr.
-
-   The third parameter \c opts is currently unused, but reserved for
-   future extensions.  */
-
-FILE *
-fdevopen(int (*put)(char), int (*get)(void), int opts __attribute__((unused)))
-{
-       FILE *s;
-
-       if (put == 0 && get == 0)
-               return 0;
-
-       if ((s = calloc(1, sizeof(FILE))) == 0)
-               return 0;
-
-       if (get != 0) {
-               s->get = get;
-               s->flags = __SRD;
-               if (stdin == 0)
-                       stdin = s;
-       }
-
-       if (put != 0) {
-               s->put = put;
-               s->flags |= __SWR;
-               if (stdout == 0) {
-                       stdout = s;
-                       if (stderr == 0)
-                               stderr = s;
-               }
-       }
-
-       return s;
-}
diff --git a/src/avrsample/libc/fdevopen.s b/src/avrsample/libc/fdevopen.s
deleted file mode 100644 (file)
index 1a8df29..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-       .file   "fdevopen.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-       .text\r
-.global        fdevopen\r
-       .type   fdevopen, @function\r
-fdevopen:\r
-/* prologue: frame size=10 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,10\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       std Y+3,r22\r
-       std Y+4,r23\r
-       std Y+5,r20\r
-       std Y+6,r21\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sbiw r24,0\r
-       brne .L7\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       brne .L7\r
-       std Y+9,__zero_reg__\r
-       std Y+10,__zero_reg__\r
-       rjmp .L6\r
-.L7:\r
-       ldi r22,lo8(12)\r
-       ldi r23,hi8(12)\r
-       ldi r24,lo8(1)\r
-       ldi r25,hi8(1)\r
-       rcall calloc\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sbiw r24,0\r
-       brne .L8\r
-       std Y+9,__zero_reg__\r
-       std Y+10,__zero_reg__\r
-       rjmp .L6\r
-.L8:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       breq .L9\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Z+10,r24\r
-       std Z+11,r25\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldi r24,lo8(1)\r
-       std Z+3,r24\r
-       lds r24,__iob\r
-       lds r25,(__iob)+1\r
-       sbiw r24,0\r
-       brne .L9\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (__iob)+1,r25\r
-       sts __iob,r24\r
-.L9:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sbiw r24,0\r
-       breq .L11\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       std Z+8,r24\r
-       std Z+9,r25\r
-       ldd r26,Y+7\r
-       ldd r27,Y+8\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Z+3\r
-       ori r24,lo8(2)\r
-       mov r31,r27\r
-       mov r30,r26\r
-       std Z+3,r24\r
-       lds r24,__iob+2\r
-       lds r25,(__iob+2)+1\r
-       sbiw r24,0\r
-       brne .L11\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (__iob+2)+1,r25\r
-       sts __iob+2,r24\r
-       lds r24,__iob+4\r
-       lds r25,(__iob+4)+1\r
-       sbiw r24,0\r
-       brne .L11\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (__iob+4)+1,r25\r
-       sts __iob+4,r24\r
-.L11:\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       std Y+9,r24\r
-       std Y+10,r25\r
-.L6:\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-/* epilogue: frame size=10 */\r
-       adiw r28,10\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function fdevopen size 125 (106) */\r
-       .size   fdevopen, .-fdevopen\r
-       .comm __iob,6,1\r
-/* File "fdevopen.c": code  125 = 0x007d ( 106), prologues  10, epilogues   9 */\r
diff --git a/src/avrsample/libc/gcrt1.S b/src/avrsample/libc/gcrt1.S
deleted file mode 100644 (file)
index dfe4d2c..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Copyright (c) 2002, Marek Michalkiewicz <marekm@amelek.gda.pl>
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-   POSSIBILITY OF SUCH DAMAGE. */
-
-#if (__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 3)
-#error "GCC version >= 3.3 required"
-#endif
-
-#include "macros.inc"
-
-       .macro  vector name
-       .if (. - __vectors < _VECTORS_SIZE)
-       .weak   \name
-       .set    \name, __bad_interrupt
-       XJMP    \name
-       .endif
-       .endm
-
-       .section .vectors,"ax",@progbits
-       .global __vectors
-       .func   __vectors
-__vectors:
-       XJMP    __init
-       vector  __vector_1
-       vector  __vector_2
-       vector  __vector_3
-       vector  __vector_4
-       vector  __vector_5
-       vector  __vector_6
-       vector  __vector_7
-       vector  __vector_8
-       vector  __vector_9
-       vector  __vector_10
-       vector  __vector_11
-       vector  __vector_12
-       vector  __vector_13
-       vector  __vector_14
-       vector  __vector_15
-       vector  __vector_16
-       vector  __vector_17
-       vector  __vector_18
-       vector  __vector_19
-       vector  __vector_20
-       vector  __vector_21
-       vector  __vector_22
-       vector  __vector_23
-       vector  __vector_24
-       vector  __vector_25
-       vector  __vector_26
-       vector  __vector_27
-       vector  __vector_28
-       vector  __vector_29
-       vector  __vector_30
-       vector  __vector_31
-       vector  __vector_32
-       vector  __vector_33
-       vector  __vector_34
-       vector  __vector_35
-       vector  __vector_36
-       vector  __vector_37
-       vector  __vector_38
-       vector  __vector_39
-       .endfunc
-
-       /* Handle unexpected interrupts (enabled and no handler), which
-          usually indicate a bug.  Jump to the __vector_default function
-          if defined by the user, otherwise jump to the reset address.
-
-          This must be in a different section, otherwise the assembler
-          will resolve "rjmp" offsets and there will be no relocs.  */
-
-       .text
-       .global __bad_interrupt
-       .func   __bad_interrupt
-__bad_interrupt:
-       .weak   __vector_default
-       .set    __vector_default, __vectors
-       XJMP    __vector_default
-       .endfunc
-
-       .section .init0,"ax",@progbits
-       .weak   __init
-;      .func   __init
-__init:
-
-#ifndef __AVR_ASM_ONLY__
-       .weak   __stack
-       .set    __stack, RAMEND
-
-       /* By default, malloc() uses the current value of the stack pointer
-          minus __malloc_margin as the highest available address.
-
-          In some applications with external SRAM, the stack can be below
-          the data section (in the internal SRAM - faster), and __heap_end
-          should be set to the highest address available for malloc().  */
-       .weak   __heap_end
-       .set    __heap_end, 0
-
-       .section .init2,"ax",@progbits
-       clr     __zero_reg__
-       out     _SFR_IO_ADDR(SREG), __zero_reg__
-       ldi     r28,lo8(__stack)
-#ifdef SPH
-       ldi     r29,hi8(__stack)
-       out     _SFR_IO_ADDR(SPH), r29
-#endif
-       out     _SFR_IO_ADDR(SPL), r28
-
-#if BIG_CODE
-       /* Only for >64K devices with RAMPZ, replaces the default code
-          provided by libgcc.S which is only linked in if necessary.  */
-
-       .section .init4,"ax",@progbits
-       .global __do_copy_data
-__do_copy_data:
-       ldi     r17, hi8(__data_end)
-       ldi     r26, lo8(__data_start)
-       ldi     r27, hi8(__data_start)
-       ldi     r30, lo8(__data_load_start)
-       ldi     r31, hi8(__data_load_start)
-
-       /* On the enhanced core, "elpm" with post-increment updates RAMPZ
-          automatically.  Otherwise we have to handle it ourselves.  */
-
-#ifdef __AVR_ENHANCED__
-       ldi     r16, hh8(__data_load_start)
-#else
-       ldi     r16, hh8(__data_load_start - 0x10000)
-.__do_copy_data_carry:
-       inc     r16
-#endif
-       out     _SFR_IO_ADDR(RAMPZ), r16
-       rjmp    .__do_copy_data_start
-.__do_copy_data_loop:
-#ifdef __AVR_ENHANCED__
-       elpm    r0, Z+
-#else
-       lpm
-#endif
-       st      X+, r0
-#ifndef __AVR_ENHANCED__
-       adiw    r30, 1
-       brcs    .__do_copy_data_carry
-#endif
-.__do_copy_data_start:
-       cpi     r26, lo8(__data_end)
-       cpc     r27, r17
-       brne    .__do_copy_data_loop
-#endif /* BIG_CODE */
-
-#endif /* !__AVR_ASM_ONLY__ */
-
-       .section .init9,"ax",@progbits
-       XJMP    main
-;      .endfunc
-
diff --git a/src/avrsample/libc/gcrt1.i b/src/avrsample/libc/gcrt1.i
deleted file mode 100644 (file)
index bf13aa3..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-# 1 "gcrt1.S"\r
-# 1 "<built-in>"\r
-# 1 "<command line>"\r
-# 1 "gcrt1.S"\r
-# 30 "gcrt1.S"\r
-# 1 "macros.inc" 1\r
-# 33 "macros.inc"\r
-# 1 "c:/WinAVR/avr/include/avr/io.h" 1 3\r
-# 81 "c:/WinAVR/avr/include/avr/io.h" 3\r
-# 1 "c:/WinAVR/avr/include/avr/sfr_defs.h" 1 3\r
-# 82 "c:/WinAVR/avr/include/avr/io.h" 2 3\r
-# 197 "c:/WinAVR/avr/include/avr/io.h" 3\r
-# 1 "c:/WinAVR/avr/include/avr/io4433.h" 1 3\r
-# 198 "c:/WinAVR/avr/include/avr/io.h" 2 3\r
-# 34 "macros.inc" 2\r
-# 124 "macros.inc"\r
-        .macro X_movw dest src\r
-                .if ((\src) - (\dest))\r
-                        .if (((\src) | (\dest)) & 0x01)\r
-                                .if (((\src)-(\dest)) & 0x80)\r
-                                        mov (\dest)+1, (\src)+1\r
-                                        mov (\dest), (\src)\r
-                                .else\r
-                                        mov (\dest), (\src)\r
-                                        mov (\dest)+1, (\src)+1\r
-                                .endif\r
-                        .else\r
-\r
-\r
-\r
-                                mov (\dest), (\src)\r
-                                mov (\dest)+1, (\src)+1\r
-\r
-                        .endif\r
-                .endif\r
-        .endm\r
-# 176 "macros.inc"\r
-        .macro LPM_R0_ZPLUS_INIT hhi\r
-\r
-\r
-\r
-\r
-\r
-        .endm\r
-\r
-        .macro LPM_R0_ZPLUS_NEXT hhi\r
-# 202 "macros.inc"\r
-        lpm\r
-        adiw r30,1\r
-\r
-\r
-        .endm\r
-\r
-        .macro LPM_R0_ZP\r
-\r
-\r
-\r
-        lpm\r
-        adiw r30,1\r
-\r
-        .endm\r
-# 31 "gcrt1.S" 2\r
-\r
-        .macro vector name\r
-        .if (. - __vectors < 28)\r
-        .weak \name\r
-        .set \name, __bad_interrupt\r
-        rjmp \name\r
-        .endif\r
-        .endm\r
-\r
-        .section .vectors,"ax",@progbits\r
-        .global __vectors\r
-        .func __vectors\r
-__vectors:\r
-        rjmp __init\r
-        vector __vector_1\r
-        vector __vector_2\r
-        vector __vector_3\r
-        vector __vector_4\r
-        vector __vector_5\r
-        vector __vector_6\r
-        vector __vector_7\r
-        vector __vector_8\r
-        vector __vector_9\r
-        vector __vector_10\r
-        vector __vector_11\r
-        vector __vector_12\r
-        vector __vector_13\r
-        vector __vector_14\r
-        vector __vector_15\r
-        vector __vector_16\r
-        vector __vector_17\r
-        vector __vector_18\r
-        vector __vector_19\r
-        vector __vector_20\r
-        vector __vector_21\r
-        vector __vector_22\r
-        vector __vector_23\r
-        vector __vector_24\r
-        vector __vector_25\r
-        vector __vector_26\r
-        vector __vector_27\r
-        vector __vector_28\r
-        vector __vector_29\r
-        vector __vector_30\r
-        vector __vector_31\r
-        vector __vector_32\r
-        vector __vector_33\r
-        vector __vector_34\r
-        vector __vector_35\r
-        vector __vector_36\r
-        vector __vector_37\r
-        vector __vector_38\r
-        vector __vector_39\r
-        .endfunc\r
-# 93 "gcrt1.S"\r
-        .text\r
-        .global __bad_interrupt\r
-        .func __bad_interrupt\r
-__bad_interrupt:\r
-        .weak __vector_default\r
-        .set __vector_default, __vectors\r
-        rjmp __vector_default\r
-        .endfunc\r
-\r
-        .section .init0,"ax",@progbits\r
-        .weak __init\r
-; .func __init\r
-__init:\r
-\r
-\r
-        .weak __stack\r
-        .set __stack, 0xDF\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-        .weak __heap_end\r
-        .set __heap_end, 0\r
-\r
-        .section .init2,"ax",@progbits\r
-        clr r1\r
-        out ((((0x3F) + 0x20)) - 0x20), r1\r
-        ldi r28,lo8(__stack)\r
-\r
-\r
-\r
-\r
-        out ((((0x3D) + 0x20)) - 0x20), r28\r
-# 174 "gcrt1.S"\r
-        .section .init9,"ax",@progbits\r
-        rjmp main\r
-; .endfunc\r
diff --git a/src/avrsample/libc/macros.inc b/src/avrsample/libc/macros.inc
deleted file mode 100644 (file)
index 29a8978..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Copyright (c) 2002, Marek Michalkiewicz
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE. */
-
-/*
-   macros.inc - macros for use in assembler sources
-
-   Contributors:
-     Created by Marek Michalkiewicz <marekm@linux.org.pl>
- */
-
-#include <avr/io.h>
-
-/* if not defined, assume old version with underscores */
-#ifndef __USER_LABEL_PREFIX__
-#define __USER_LABEL_PREFIX__ _
-#endif
-
-#ifndef __REGISTER_PREFIX__
-#define __REGISTER_PREFIX__
-#endif
-
-/* the assembler line separator (just in case it ever changes) */
-#define _L $
-
-#define CONCAT1(a, b) CONCAT2(a, b)
-#define CONCAT2(a, b) a ## b
-
-#define _U(x) CONCAT1(__USER_LABEL_PREFIX__, x)
-
-#define _R(x) CONCAT1(__REGISTER_PREFIX__, x)
-
-/* these should help to fix the "can't have function named r1()" bug
-   which may require adding '%' in front of register names.  */
-
-#define r0 _R(r0)
-#define r1 _R(r1)
-#define r2 _R(r2)
-#define r3 _R(r3)
-#define r4 _R(r4)
-#define r5 _R(r5)
-#define r6 _R(r6)
-#define r7 _R(r7)
-#define r8 _R(r8)
-#define r9 _R(r9)
-#define r10 _R(r10)
-#define r11 _R(r11)
-#define r12 _R(r12)
-#define r13 _R(r13)
-#define r14 _R(r14)
-#define r15 _R(r15)
-#define r16 _R(r16)
-#define r17 _R(r17)
-#define r18 _R(r18)
-#define r19 _R(r19)
-#define r20 _R(r20)
-#define r21 _R(r21)
-#define r22 _R(r22)
-#define r23 _R(r23)
-#define r24 _R(r24)
-#define r25 _R(r25)
-#define r26 _R(r26)
-#define r27 _R(r27)
-#define r28 _R(r28)
-#define r29 _R(r29)
-#define r30 _R(r30)
-#define r31 _R(r31)
-
-#ifndef __tmp_reg__
-#define __tmp_reg__ r0
-#endif
-
-#ifndef __zero_reg__
-#define __zero_reg__ r1
-#endif
-
-#if __AVR_MEGA__
-  #define XJMP jmp
-  #define XCALL call
-#else
-  #define XJMP rjmp
-  #define XCALL rcall
-#endif
-
-/* used only by fplib/strtod.S - libgcc internal function calls */
-#define PROLOGUE_SAVES(offset) XJMP (__prologue_saves__ + 2 * (offset))
-#define EPILOGUE_RESTORES(offset) XJMP (__epilogue_restores__ + 2 * (offset))
-
-#if FLASHEND > 0x10000  /* ATmega103 */
-  #define BIG_CODE 1
-#else
-  #define BIG_CODE 0
-#endif
-
-/*
-   Smart version of movw (use register numbers as arguments):
-    - uses "movw" if possible (supported by MCU, and both registers even)
-    - handles overlapping register pairs correctly
-    - no instruction generated if source and destination are the same
-   (may expand to 0, 1 or 2 instructions).
- */
-
-       .macro  X_movw dest src
-               .if ((\src) - (\dest))  /* different registers */
-                       .if (((\src) | (\dest)) & 0x01)
-                               .if (((\src)-(\dest)) & 0x80) /* src < dest */
-                                       mov     (\dest)+1, (\src)+1
-                                       mov     (\dest), (\src)
-                               .else  /* src > dest */
-                                       mov     (\dest), (\src)
-                                       mov     (\dest)+1, (\src)+1
-                               .endif
-                       .else  /* both even -> overlap not possible */
-#if __AVR_ENHANCED__
-                               movw    (\dest), (\src)
-#else
-                               mov     (\dest), (\src)
-                               mov     (\dest)+1, (\src)+1
-#endif
-                       .endif
-               .endif
-       .endm
-
-#if __AVR_ENHANCED__
-  #define LOAD_X(lo, hi) movw r26, lo
-  #define LOAD_Z(lo, hi) movw r30, lo
-#else
-  #define LOAD_X(lo, hi)               \
-       mov     r26, lo                 _L\
-       mov     r27, hi
-
-  #define LOAD_Z(lo, hi)               \
-       mov     r30, lo                 _L\
-       mov     r31, hi
-#endif
-
-/* LOAD_X_CONST(p) loads constant P into pointer register X.  */
-#define LOAD_X_CONST(p)                \
-       ldi     r26, lo8(p)             _L\
-       ldi     r27, hi8(p)
-
-/*
-   LPM_R0_ZPLUS_INIT is used before the loop to initialize RAMPZ
-   for future devices with RAMPZ:Z auto-increment - [e]lpm r0, Z+.
-
-   LPM_R0_ZPLUS_NEXT is used inside the loop to load a byte from
-   the program memory at [RAMPZ:]Z to R0, and increment [RAMPZ:]Z.
-
-   The argument in both macros is a register that contains the
-   high byte (bits 23-16) of the address, bits 15-0 should be in
-   the Z (r31:r30) register.  It can be any register except for:
-   r0, r1 (__zero_reg__ - assumed to always contain 0), r30, r31.
- */
-
-       .macro  LPM_R0_ZPLUS_INIT hhi
-#if __AVR_ENHANCED__
-  #if BIG_CODE
-       out     _SFR_IO_ADDR(RAMPZ), \hhi
-  #endif
-#endif
-       .endm
-
-       .macro  LPM_R0_ZPLUS_NEXT hhi
-#if __AVR_ENHANCED__
-  #if BIG_CODE
-    /* ELPM with RAMPZ:Z post-increment, load RAMPZ only once */
-       elpm    r0, Z+
-  #else
-    /* LPM with Z post-increment, max 64K, no RAMPZ (ATmega83/161/163/32) */
-       lpm     r0, Z+
-  #endif
-#else
-  #if BIG_CODE
-    /* ELPM without post-increment, load RAMPZ each time (ATmega103) */
-       out     _SFR_IO_ADDR(RAMPZ), \hhi
-       elpm
-       adiw    r30,1
-       adc     \hhi, __zero_reg__
-  #else
-    /* LPM without post-increment, max 64K, no RAMPZ (AT90S*) */
-       lpm
-       adiw    r30,1
-  #endif
-#endif
-       .endm
-
-       .macro  LPM_R0_ZP
-#if __AVR_ENHANCED__
-       lpm     r0, Z+
-#else
-       lpm
-       adiw    r30,1
-#endif
-       .endm
-
diff --git a/src/avrsample/libc/malloc.c b/src/avrsample/libc/malloc.c
deleted file mode 100644 (file)
index 6912b1e..0000000
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * Copyright (c) 2002 Joerg Wunsch
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: malloc.c,v 1.6 2003/01/08 11:14:10 joerg_wunsch Exp $
- */
-
-#include <stdlib.h>
-
-#include <avr/io.h>
-
-#ifndef __AVR__
-
-/*
- * When compiling this file natively on a host machine, it will
- * include a main() that performs a regression test.  This is meant as
- * a debugging aid, where a normal source-level debugger will help to
- * verify that the various allocator structures have the desired
- * appearance at each stage.
- *
- * When cross-compiling with avr-gcc, it will compile into just the
- * library functions malloc() and free().
- */
-#define MALLOC_TEST
-
-#endif /* !__AVR__ */
-
-struct freelist {
-       size_t sz;
-       struct freelist *nx;
-};
-
-static char *brkval;
-static struct freelist *flp;
-
-#ifdef MALLOC_TEST
-
-#define malloc mymalloc
-#define free myfree
-#define __heap_start mymem
-#define __heap_end ((char *)0)
-
-char mymem[256];
-#define STACK_POINTER() (mymem + 256)
-
-#else /* !MALLOC_TEST */
-
-extern char __heap_start;
-extern char __heap_end;
-
-#define STACK_POINTER() ((char *)SP)
-
-#endif /* MALLOC_TEST */
-
-/*
- * Exported interface:
- *
- * When extending the data segment, the allocator will not try to go
- * beyond the current stack limit, decreased by __malloc_margin bytes.
- * Thus, all possible stack frames of interrupt routines that could
- * interrupt the current function, plus all further nested function
- * calls must not require more stack space, or they'll risk to collide
- * with the data segment.
- */
-/* May be changed by the user only before the first malloc() call.  */
-
-size_t __malloc_margin = 32;
-char *__malloc_heap_start = &__heap_start;
-char *__malloc_heap_end = &__heap_end;
-
-void *
-malloc(size_t len)
-{
-       struct freelist *fp1, *fp2;
-       char *cp;
-       size_t s;
-
-       /*
-        * Our minimum chunk size is the size of a pointer (plus the
-        * size of the "sz" field, but we don't need to account for
-        * this), otherwise we could not possibly fit a freelist entry
-        * into the chunk later.
-        */
-       if (len < sizeof(struct freelist) - sizeof(size_t))
-               len = sizeof(struct freelist) - sizeof(size_t);
-
-       /*
-        * First, walk the free list and try finding a chunk that
-        * would match exactly.  If we found one, we are done.  While
-        * walking, note down the size of the largest chunk we found
-        * that would still fit the request -- we need it for step 2.
-        *
-        */
-       for (s = 0, fp1 = flp, fp2 = 0;
-            fp1;
-            fp2 = fp1, fp1 = fp1->nx) {
-               if (fp1->sz == len) {
-                       /*
-                        * Found it.  Disconnect the chunk from the
-                        * freelist, and return it.
-                        */
-                       if (fp2)
-                               fp2->nx = fp1->nx;
-                       else
-                               flp = fp1->nx;
-                       return &(fp1->nx);
-               }
-               if (fp1->sz > len) {
-                       if (s == 0 || fp1->sz < s)
-                               s = fp1->sz;
-               }
-       }
-       /*
-        * Step 2: If we found a chunk on the freelist that would fit
-        * (but was too large), look it up again and use it, since it
-        * is our closest match now.  Since the freelist entry needs
-        * to be split into two entries then, watch out that the
-        * difference between the requested size and the size of the
-        * chunk found is large enough for another freelist entry; if
-        * not, just enlarge the request size to what we have found,
-        * and use the entire chunk.
-        */
-       if (s) {
-               if (s - len < sizeof(struct freelist))
-                       len = s;
-               for (fp1 = flp, fp2 = 0;
-                    fp1;
-                    fp2 = fp1, fp1 = fp1->nx) {
-                       if (fp1->sz == s) {
-                               if (len == s) {
-                                       /*
-                                        * Use entire chunk; same as
-                                        * above.
-                                        */
-                                       if (fp2)
-                                               fp2->nx = fp1->nx;
-                                       else
-                                               flp = fp1->nx;
-                                       return &(fp1->nx);
-                               }
-                               /*
-                                * Split them up.  Note that we leave
-                                * the first part as the new (smaller)
-                                * freelist entry, and return the
-                                * upper portion to the caller.  This
-                                * saves us the work to fix up the
-                                * freelist chain; we just need to
-                                * fixup the size of the current
-                                * entry, and note down the size of
-                                * the new chunk before returning it
-                                * to the caller.
-                                */
-                               cp = (char *)fp1;
-                               s -= len;
-                               cp += s;
-                               fp2 = (struct freelist *)cp;
-                               fp2->sz = len;
-                               fp1->sz = s - sizeof(size_t);
-                               return &(fp2->nx);
-                       }
-               }
-       }
-       /*
-        * Step 3: If the request could not be satisfied from a
-        * freelist entry, just prepare a new chunk.  This means we
-        * need to obtain more memory first.  The largest address just
-        * not allocated so far is remembered in the brkval variable.
-        * Under Unix, the "break value" was the end of the data
-        * segment as dynamically requested from the operating system.
-        * Since we don't have an operating system, just make sure
-        * that we don't collide with the stack.
-        */
-       if (brkval == 0)
-               brkval = __malloc_heap_start;
-       cp = __malloc_heap_end;
-       if (cp == 0)
-               cp = STACK_POINTER() - __malloc_margin;
-       if (brkval + len + sizeof(size_t) < cp) {
-               fp1 = (struct freelist *)brkval;
-               brkval += len + sizeof(size_t);
-               fp1->sz = len;
-               return &(fp1->nx);
-       }
-       /*
-        * Step 4: There's no help, just fail. :-/
-        */
-       return 0;
-}
-
-void
-free(void *p)
-{
-       struct freelist *fp1, *fp2, *fpnew;
-       char *cp1, *cp2, *cpnew;
-
-       /* ISO C says free(NULL) must be a no-op */
-       if (p == 0)
-               return;
-
-       cpnew = p;
-       cpnew -= sizeof(size_t);
-       fpnew = (struct freelist *)cpnew;
-       fpnew->nx = 0;
-
-       /*
-        * Trivial case first: if there's no freelist yet, our entry
-        * will be the only one on it.
-        */
-       if (flp == 0) {
-               flp = fpnew;
-               return;
-       }
-
-       /*
-        * Now, find the position where our new entry belongs onto the
-        * freelist.  Try to aggregate the chunk with adjacent chunks
-        * if possible.
-        */
-       for (fp1 = flp, fp2 = 0;
-            fp1;
-            fp2 = fp1, fp1 = fp1->nx) {
-               if (fp1 < fpnew)
-                       continue;
-               cp1 = (char *)fp1;
-               fpnew->nx = fp1;
-               if ((char *)&(fpnew->nx) + fpnew->sz == cp1) {
-                       /* upper chunk adjacent, assimilate it */
-                       fpnew->sz += fp1->sz + sizeof(size_t);
-                       fpnew->nx = fp1->nx;
-               }
-               if (fp2 == 0) {
-                       /* new head of freelist */
-                       flp = fpnew;
-                       return;
-               }
-               break;
-       }
-       /*
-        * Note that we get here either if we hit the "break" above,
-        * or if we fell off the end of the loop.  The latter means
-        * we've got a new topmost chunk.  Either way, try aggregating
-        * with the lower chunk if possible.
-        */
-       fp2->nx = fpnew;
-       cp2 = (char *)&(fp2->nx);
-       if (cp2 + fp2->sz == cpnew) {
-               /* lower junk adjacent, merge */
-               fp2->sz += fpnew->sz + sizeof(size_t);
-               fp2->nx = fpnew->nx;
-       }
-}
-
-#ifdef MALLOC_TEST
-
-#include <stdio.h>
-#include <time.h>
-#include <unistd.h>
-
-void *handles[32];
-size_t sizes[32];
-
-
-void *
-alloc(size_t s)
-{
-       void *p;
-
-       if ((p = malloc(s)) == 0)
-               return 0;
-       memset(p, 0xd0, s);
-       return p;
-}
-
-void
-printfreelist(void)
-{
-       struct freelist *fp1;
-       int i;
-
-       if (!flp) {
-               printf("no free list\n");
-               return;
-       }
-
-       for (i = 0, fp1 = flp; fp1; i++, fp1 = fp1->nx) {
-               printf("entry %d @ %u: size %u, next ",
-                      i, (char *)fp1 - mymem, fp1->sz);
-               if (fp1->nx)
-                       printf("%u\n", (char *)fp1->nx - mymem);
-               else
-                       printf("NULL\n");
-       }
-}
-
-int
-compare(const void *p1, const void *p2)
-{
-       return *((size_t *)p1) - *((size_t *)p2);
-}
-
-void
-printalloc(void)
-{
-       int i, j, k;
-       size_t sum, sum2;
-       void *sortedhandles[32];
-       struct freelist *fp;
-       char *cp;
-
-       for (i = j = k = sum = sum2 = 0;
-            i < sizeof handles / sizeof (void *);
-            i++)
-               if (sizes[i]) {
-                       j++;
-                       sum += sizes[i];
-                       if (handles[i]) {
-                               k++;
-                               sum2 += sizes[i];
-                       }
-               }
-       printf("brkval: %d, %d request%s => sum %u bytes "
-              "(actually %d reqs => %u bytes)\n",
-              (char *)brkval - mymem, j, j == 1? "": "s", sum, k, sum2);
-       memcpy(sortedhandles, handles, sizeof sortedhandles);
-       qsort(sortedhandles, 32, sizeof(void *), compare);
-       for (i = j = 0; i < sizeof sortedhandles / sizeof (void *); i++)
-               if ((cp = sortedhandles[i])) {
-                       cp -= sizeof(size_t);
-                       fp = (struct freelist *)cp;
-                       printf("block %d @ %u: %u bytes\n",
-                              j, (char *)&fp->nx - mymem, fp->sz);
-                       j++;
-               }
-
-}
-
-
-int
-main(void)
-{
-       int i, j, k, l, m, om, p, f;
-       size_t s;
-
-       srand(time(0) ^ getpid());
-
-       for (k = 0; k < 100; k++) {
-               memset(handles, 0, sizeof handles);
-               memset(sizes, 0, sizeof sizes);
-
-               j = rand() % 16 + 15;
-               l = rand() % 80 + 7;
-
-               for (i = s = 0; i < j && s < 256; i++) {
-                       sizes[i] = rand() % l + 1;
-                       s += sizes[i];
-               }
-               j = i;
-               for (m = om = 1, p = 1, f = 0; m < 1000; m++) {
-                       for (i = s = 0; i < j; i++)
-                               if (handles[i])
-                                       s++;
-                       if (s == j)
-                               break;
-
-                       if (m / om > 10) {
-                               p <<= 1;
-                               p |= 1;
-                       }
-
-                       for (i = 0; i < j; i++)
-                               if (rand() & p) {
-                                       if (!handles[i] &&
-                                           (handles[i] = alloc(sizes[i])) == 0)
-                                               f++;
-                               }
-                       for (i = 0; i < j; i++)
-                               if (rand() & 1) {
-                                       free(handles[i]);
-                                       handles[i] = 0;
-                               }
-               }
-               if (f)
-                       printf("%d alloc failure%s total\n",
-                              f, f == 1? "": "s");
-               printf("After alloc:\n");
-               printalloc();
-               printfreelist();
-               for (i = 0; i < j; i++)
-                       free(handles[i]);
-               printf("After cleanup:\n");
-               printfreelist();
-       }
-
-       return 0;
-}
-
-#endif /* MALLOC_TEST */
-
diff --git a/src/avrsample/libc/malloc.s b/src/avrsample/libc/malloc.s
deleted file mode 100644 (file)
index 610f133..0000000
+++ /dev/null
@@ -1,600 +0,0 @@
-       .file   "malloc.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-.global        __malloc_margin\r
-       .data\r
-       .type   __malloc_margin, @object\r
-       .size   __malloc_margin, 2\r
-__malloc_margin:\r
-       .word   32\r
-.global        __malloc_heap_start\r
-       .type   __malloc_heap_start, @object\r
-       .size   __malloc_heap_start, 2\r
-__malloc_heap_start:\r
-       .word   __heap_start\r
-.global        __malloc_heap_end\r
-       .type   __malloc_heap_end, @object\r
-       .size   __malloc_heap_end, 2\r
-__malloc_heap_end:\r
-       .word   __heap_end\r
-       .text\r
-.global        malloc\r
-       .type   malloc, @function\r
-malloc:\r
-/* prologue: frame size=14 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,14\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       cpi r24,2\r
-       cpc r25,__zero_reg__\r
-       brsh .L7\r
-       ldi r24,lo8(2)\r
-       ldi r25,hi8(2)\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-.L7:\r
-       std Y+9,__zero_reg__\r
-       std Y+10,__zero_reg__\r
-       lds r24,flp\r
-       lds r25,(flp)+1\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       std Y+5,__zero_reg__\r
-       std Y+6,__zero_reg__\r
-.L8:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       brne .L11\r
-       rjmp .L9\r
-.L11:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brne .L12\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       sbiw r24,0\r
-       breq .L13\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       std Y+13,r24\r
-       std Y+14,r25\r
-       ldd r26,Y+3\r
-       ldd r27,Y+4\r
-       mov r31,r27\r
-       mov r30,r26\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       ldd r30,Y+13\r
-       ldd r31,Y+14\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-       rjmp .L14\r
-.L13:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       sts (flp)+1,r25\r
-       sts flp,r24\r
-.L14:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       rjmp .L6\r
-.L12:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       cp r24,r18\r
-       cpc r25,r19\r
-       brsh .L10\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       sbiw r24,0\r
-       breq .L17\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brlo .L17\r
-       rjmp .L10\r
-.L17:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r24,Z\r
-       ldd r25,Z+1\r
-       std Y+9,r24\r
-       std Y+10,r25\r
-.L10:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       rjmp .L8\r
-.L9:\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       sbiw r24,0\r
-       brne .+2\r
-       rjmp .L18\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       ldd r18,Y+1\r
-       ldd r19,Y+2\r
-       sub r24,r18\r
-       sbc r25,r19\r
-       cpi r24,4\r
-       cpc r25,__zero_reg__\r
-       brsh .L19\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-.L19:\r
-       lds r24,flp\r
-       lds r25,(flp)+1\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       std Y+5,__zero_reg__\r
-       std Y+6,__zero_reg__\r
-.L20:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       brne .L23\r
-       rjmp .L18\r
-.L23:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       breq .+2\r
-       rjmp .L22\r
-       ldd r18,Y+1\r
-       ldd r19,Y+2\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brne .L25\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       sbiw r24,0\r
-       breq .L26\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       std Y+13,r24\r
-       std Y+14,r25\r
-       ldd r26,Y+3\r
-       ldd r27,Y+4\r
-       mov r31,r27\r
-       mov r30,r26\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       ldd r30,Y+13\r
-       ldd r31,Y+14\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-       rjmp .L27\r
-.L26:\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       sts (flp)+1,r25\r
-       sts flp,r24\r
-.L27:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       rjmp .L6\r
-.L25:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r18,Y+9\r
-       ldd r19,Y+10\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sub r18,r24\r
-       sbc r19,r25\r
-       mov r25,r19\r
-       mov r24,r18\r
-       std Y+9,r24\r
-       std Y+10,r25\r
-       ldd r18,Y+7\r
-       ldd r19,Y+8\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       add r24,r18\r
-       adc r25,r19\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r30,Y+5\r
-       ldd r31,Y+6\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       sbiw r24,2\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       rjmp .L6\r
-.L22:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       rjmp .L20\r
-.L18:\r
-       lds r24,brkval\r
-       lds r25,(brkval)+1\r
-       sbiw r24,0\r
-       brne .L28\r
-       lds r24,__malloc_heap_start\r
-       lds r25,(__malloc_heap_start)+1\r
-       sts (brkval)+1,r25\r
-       sts brkval,r24\r
-.L28:\r
-       lds r24,__malloc_heap_end\r
-       lds r25,(__malloc_heap_end)+1\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sbiw r24,0\r
-       brne .L29\r
-       lds r24,93\r
-       mov r18,r24\r
-       clr r19\r
-       lds r24,__malloc_margin\r
-       lds r25,(__malloc_margin)+1\r
-       sub r18,r24\r
-       sbc r19,r25\r
-       mov r25,r19\r
-       mov r24,r18\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-.L29:\r
-       lds r18,brkval\r
-       lds r19,(brkval)+1\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       add r24,r18\r
-       adc r25,r19\r
-       mov r18,r24\r
-       mov r19,r25\r
-       subi r18,lo8(-(2))\r
-       sbci r19,hi8(-(2))\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brsh .L30\r
-       lds r24,brkval\r
-       lds r25,(brkval)+1\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       lds r18,brkval\r
-       lds r19,(brkval)+1\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       add r24,r18\r
-       adc r25,r19\r
-       adiw r24,2\r
-       sts (brkval)+1,r25\r
-       sts brkval,r24\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       rjmp .L6\r
-.L30:\r
-       std Y+11,__zero_reg__\r
-       std Y+12,__zero_reg__\r
-.L6:\r
-       ldd r24,Y+11\r
-       ldd r25,Y+12\r
-/* epilogue: frame size=14 */\r
-       adiw r28,14\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function malloc size 354 (335) */\r
-       .size   malloc, .-malloc\r
-.global        free\r
-       .type   free, @function\r
-free:\r
-/* prologue: frame size=14 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,14\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       sbiw r24,0\r
-       brne .L32\r
-       rjmp .L31\r
-.L32:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-       std Y+13,r24\r
-       std Y+14,r25\r
-       ldd r24,Y+13\r
-       ldd r25,Y+14\r
-       sbiw r24,2\r
-       std Y+13,r24\r
-       std Y+14,r25\r
-       ldd r24,Y+13\r
-       ldd r25,Y+14\r
-       std Y+7,r24\r
-       std Y+8,r25\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       std Z+2,__zero_reg__\r
-       std Z+3,__zero_reg__\r
-       lds r24,flp\r
-       lds r25,(flp)+1\r
-       sbiw r24,0\r
-       brne .L33\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (flp)+1,r25\r
-       sts flp,r24\r
-       rjmp .L31\r
-.L33:\r
-       lds r24,flp\r
-       lds r25,(flp)+1\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       std Y+5,__zero_reg__\r
-       std Y+6,__zero_reg__\r
-.L34:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       sbiw r24,0\r
-       brne .L37\r
-       rjmp .L35\r
-.L37:\r
-       ldd r18,Y+3\r
-       ldd r19,Y+4\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brsh .L38\r
-       rjmp .L36\r
-.L38:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+9,r24\r
-       std Y+10,r25\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r18,Y+7\r
-       ldd r19,Y+8\r
-       ld r24,Z\r
-       ldd r25,Z+1\r
-       add r24,r18\r
-       adc r25,r19\r
-       mov r18,r24\r
-       mov r19,r25\r
-       subi r18,lo8(-(2))\r
-       sbci r19,hi8(-(2))\r
-       ldd r24,Y+9\r
-       ldd r25,Y+10\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brne .L39\r
-       ldd r20,Y+7\r
-       ldd r21,Y+8\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r26,Y+3\r
-       ldd r27,Y+4\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ld r24,X+\r
-       ld r25,X\r
-       add r24,r18\r
-       adc r25,r19\r
-       adiw r24,2\r
-       mov r31,r21\r
-       mov r30,r20\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r26,Y+7\r
-       ldd r27,Y+8\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       mov r31,r27\r
-       mov r30,r26\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-.L39:\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       sbiw r24,0\r
-       brne .L35\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       sts (flp)+1,r25\r
-       sts flp,r24\r
-       rjmp .L31\r
-.L36:\r
-       ldd r24,Y+3\r
-       ldd r25,Y+4\r
-       std Y+5,r24\r
-       std Y+6,r25\r
-       ldd r30,Y+3\r
-       ldd r31,Y+4\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       std Y+3,r24\r
-       std Y+4,r25\r
-       rjmp .L34\r
-.L35:\r
-       ldd r30,Y+5\r
-       ldd r31,Y+6\r
-       ldd r24,Y+7\r
-       ldd r25,Y+8\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-       ldd r24,Y+5\r
-       ldd r25,Y+6\r
-       adiw r24,2\r
-       std Y+11,r24\r
-       std Y+12,r25\r
-       ldd r30,Y+5\r
-       ldd r31,Y+6\r
-       ldd r18,Y+11\r
-       ldd r19,Y+12\r
-       ld r24,Z\r
-       ldd r25,Z+1\r
-       add r18,r24\r
-       adc r19,r25\r
-       ldd r24,Y+13\r
-       ldd r25,Y+14\r
-       cp r18,r24\r
-       cpc r19,r25\r
-       brne .L31\r
-       ldd r20,Y+5\r
-       ldd r21,Y+6\r
-       ldd r30,Y+5\r
-       ldd r31,Y+6\r
-       ldd r26,Y+7\r
-       ldd r27,Y+8\r
-       ld r18,Z\r
-       ldd r19,Z+1\r
-       ld r24,X+\r
-       ld r25,X\r
-       add r24,r18\r
-       adc r25,r19\r
-       adiw r24,2\r
-       mov r31,r21\r
-       mov r30,r20\r
-       st Z,r24\r
-       std Z+1,r25\r
-       ldd r26,Y+5\r
-       ldd r27,Y+6\r
-       ldd r30,Y+7\r
-       ldd r31,Y+8\r
-       ldd r24,Z+2\r
-       ldd r25,Z+3\r
-       mov r31,r27\r
-       mov r30,r26\r
-       std Z+2,r24\r
-       std Z+3,r25\r
-.L31:\r
-/* epilogue: frame size=14 */\r
-       adiw r28,14\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function free size 204 (185) */\r
-       .size   free, .-free\r
-       .lcomm brkval,2\r
-       .lcomm flp,2\r
-/* File "malloc.c": code  558 = 0x022e ( 520), prologues  20, epilogues  18 */\r
diff --git a/src/avrsample/libc/memset.S b/src/avrsample/libc/memset.S
deleted file mode 100644 (file)
index cc049cf..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (c) 2002, Marek Michalkiewicz
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-   * Neither the name of the copyright holders nor the names of
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE. */
-
-#include "macros.inc"
-
-#define dest_hi r25
-#define dest_lo r24
-; #define val_hi r23
-#define val_lo r22
-#define len_hi r21
-#define len_lo r20
-
-/** \ingroup avr_string
-    \fn void *memset(void *dest, int val, size_t len)
-    \brief Fill memory with a constant byte.
-
-    The memset() function fills the first len bytes of the memory area pointed
-    to by dest with the constant byte val.
-
-    \returns The memset() function returns a pointer to the memory area dest. */
-
-       .text
-       .global _U(memset)
-       .type   _U(memset), @function
-_U(memset):
-       LOAD_X(dest_lo, dest_hi)
-#if OPTIMIZE_SPEED
-; 11 words, (12 + len * 4 - (len & 1)) cycles
-       sbrs    len_lo, 0
-       rjmp    .memset_start
-       rjmp    .memset_odd
-.memset_loop:
-       st      X+, val_lo
-.memset_odd:
-       st      X+, val_lo
-.memset_start:
-       subi    len_lo, lo8(2)
-       sbci    len_hi, hi8(2)
-#else
-; 8 words, (11 + len * 6) cycles
-       rjmp    .memset_start
-.memset_loop:
-       st      X+, val_lo
-.memset_start:
-       subi    len_lo, lo8(1)
-       sbci    len_hi, hi8(1)
-#endif
-       brcc    .memset_loop
-; return dest (unchanged)
-       ret
-.memset_end:
-       .size   _U(memset), .memset_end - _U(memset)
-
diff --git a/src/avrsample/libc/memset.i b/src/avrsample/libc/memset.i
deleted file mode 100644 (file)
index f05cb50..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-# 1 "memset.S"\r
-# 1 "<built-in>"\r
-# 1 "<command line>"\r
-# 1 "memset.S"\r
-# 29 "memset.S"\r
-# 1 "macros.inc" 1\r
-# 33 "macros.inc"\r
-# 1 "c:/WinAVR/avr/include/avr/io.h" 1 3\r
-# 81 "c:/WinAVR/avr/include/avr/io.h" 3\r
-# 1 "c:/WinAVR/avr/include/avr/sfr_defs.h" 1 3\r
-# 82 "c:/WinAVR/avr/include/avr/io.h" 2 3\r
-# 197 "c:/WinAVR/avr/include/avr/io.h" 3\r
-# 1 "c:/WinAVR/avr/include/avr/io4433.h" 1 3\r
-# 198 "c:/WinAVR/avr/include/avr/io.h" 2 3\r
-# 34 "macros.inc" 2\r
-# 124 "macros.inc"\r
-        .macro X_movw dest src\r
-                .if ((\src) - (\dest))\r
-                        .if (((\src) | (\dest)) & 0x01)\r
-                                .if (((\src)-(\dest)) & 0x80)\r
-                                        mov (\dest)+1, (\src)+1\r
-                                        mov (\dest), (\src)\r
-                                .else\r
-                                        mov (\dest), (\src)\r
-                                        mov (\dest)+1, (\src)+1\r
-                                .endif\r
-                        .else\r
-\r
-\r
-\r
-                                mov (\dest), (\src)\r
-                                mov (\dest)+1, (\src)+1\r
-\r
-                        .endif\r
-                .endif\r
-        .endm\r
-# 176 "macros.inc"\r
-        .macro LPM_R0_ZPLUS_INIT hhi\r
-\r
-\r
-\r
-\r
-\r
-        .endm\r
-\r
-        .macro LPM_R0_ZPLUS_NEXT hhi\r
-# 202 "macros.inc"\r
-        lpm\r
-        adiw r30,1\r
-\r
-\r
-        .endm\r
-\r
-        .macro LPM_R0_ZP\r
-\r
-\r
-\r
-        lpm\r
-        adiw r30,1\r
-\r
-        .endm\r
-# 30 "memset.S" 2\r
-\r
-\r
-\r
-; #define val_hi r23\r
-# 47 "memset.S"\r
-        .text\r
-        .global memset\r
-        .type memset, @function\r
-memset:\r
-        mov r26, r24 $ mov r27, r25\r
-# 65 "memset.S"\r
-; 8 words, (11 + len * 6) cycles\r
-        rjmp .memset_start\r
-.memset_loop:\r
-        st X+, r22\r
-.memset_start:\r
-        subi r20, lo8(1)\r
-        sbci r21, hi8(1)\r
-\r
-        brcc .memset_loop\r
-; return dest (unchanged)\r
-        ret\r
-.memset_end:\r
-        .size memset, .memset_end - memset\r
diff --git a/src/avrsample/libc/stdio_private.h b/src/avrsample/libc/stdio_private.h
deleted file mode 100644 (file)
index 16a8fbe..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (c) 2002, Joerg Wunsch
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-   * Neither the name of the copyright holders nor the names of
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* $Id: stdio_private.h,v 1.6 2003/01/07 22:17:24 joerg_wunsch Exp $ */
-
-#include <inttypes.h>
-#include <stdio.h>
-
-struct __file {
-       char    *buf;           /* buffer pointer */
-       unsigned char unget;    /* ungetc() buffer */
-       uint8_t flags;          /* flags, see below */
-#define __SRD  0x0001          /* OK to read */
-#define __SWR  0x0002          /* OK to write */
-#define __SSTR 0x0004          /* this is an sprintf/snprintf string */
-#define __SPGM 0x0008          /* fmt string is in progmem */
-#define __SERR 0x0010          /* found error */
-#define __SEOF 0x0020          /* found EOF */
-#define __SUNGET 0x040         /* ungetc() happened */
-#if 0
-/* possible future extensions, will require uint16_t flags */
-#define __SRW  0x0080          /* open for reading & writing */
-#define __SLBF 0x0100          /* line buffered */
-#define __SNBF 0x0200          /* unbuffered */
-#define __SMBF 0x0400          /* buf is from malloc */
-#endif
-       int     size;           /* size of buffer */
-       int     len;            /* characters read or written so far */
-       int     (*put)(char);   /* function to write one char to device */
-       int     (*get)(void);   /* function to read one char from device */
-};
-
-/* values for PRINTF_LEVEL */
-#define PRINTF_MIN 1
-#define PRINTF_STD 2
-#define PRINTF_FLT 3
-
-/* values for SCANF_LEVEL */
-#define SCANF_MIN 1
-#define SCANF_STD 2
-#define SCANF_FLT 3
diff --git a/src/avrsample/makefile b/src/avrsample/makefile
deleted file mode 100644 (file)
index eda5bc8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# Simple Makefile\r
-# Volker Oth (c) 1999\r
-\r
-\r
-########### change this lines according to your project ##################\r
-\r
-#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)\r
-    MCU = at90s4433\r
-\r
-#put the name of the target file here (without extension)\r
-       TRG     = hello\r
-\r
-#put your C sourcefiles here \r
-#      SRC     = uart.c $(TRG).c\r
-       SRC     = $(TRG).c\r
-\r
-#put additional assembler source file here\r
-       ASRC    =\r
-\r
-#additional libraries and object files to link\r
-       LIB = \r
-\r
-#additional includes to compile\r
-       INC     = \r
-\r
-#compiler flags\r
-#      CPFLAGS = -g -O2 -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)\r
-       CPFLAGS = -g -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)\r
-\r
-#linker flags\r
-       LDFLAGS = -Wl,-Map=$(TRG).map,--cref\r
-\r
-########### you should not need to change the following line #############\r
-include avr_make\r
-                 \r
-###### dependecies, add any dependencies you need here ###################\r
-\r
-#uart.o     : uart.c uart.h\r
-$(TRG).o    : $(TRG).c\r
diff --git a/src/avrsample/makefile% b/src/avrsample/makefile%
deleted file mode 100644 (file)
index 911d00a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# Simple Makefile\r
-# Volker Oth (c) 1999\r
-\r
-\r
-########### change this lines according to your project ##################\r
-\r
-#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)\r
-    MCU = at90s4433\r
-\r
-#put the name of the target file here (without extension)\r
-       TRG     = hello\r
-\r
-#put your C sourcefiles here \r
-#      SRC     = uart.c $(TRG).c\r
-       SRC     = $(TRG).c\r
-\r
-#put additional assembler source file here\r
-       ASRC    =\r
-\r
-#additional libraries and object files to link\r
-       LIB = \r
-\r
-#additional includes to compile\r
-       INC     = \r
-\r
-#compiler flags\r
-#      CPFLAGS = -g -O2 -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)\r
-       CPFLAGS = -g -O2 -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)\r
-\r
-#linker flags\r
-       LDFLAGS = -Wl,-Map=$(TRG).map,--cref\r
-\r
-########### you should not need to change the following line #############\r
-include avr_make\r
-                 \r
-###### dependecies, add any dependencies you need here ###################\r
-\r
-#uart.o     : uart.c uart.h\r
-$(TRG).o    : $(TRG).c\r
diff --git a/src/avrsample/n.bat b/src/avrsample/n.bat
deleted file mode 100644 (file)
index 2ecd204..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-avr-gcc -mmcu=at90s4433 -Wa,-a=nick -Wl,--oformat,ihex,-M hello.c -o hello.hex > hello.map
-copy hello.hex a:\
diff --git a/src/avrsample/n.sh b/src/avrsample/n.sh
deleted file mode 100644 (file)
index 556d777..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-avr-gcc -mmcu=at90s4433 -Wl,--oformat,ihex hello.c -o hello.hex
diff --git a/src/avrsample/nick b/src/avrsample/nick
deleted file mode 100644 (file)
index 2ab5e80..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-GAS LISTING C:\cygwin\tmp/ccmeaaaa.s                   page 1\r
-\r
-\r
-   1                           .file   "gcctest7.c"\r
-   2                           .arch at90s4433\r
-   3                   __SREG__ = 0x3f\r
-   4                   __SP_H__ = 0x3e\r
-   5                   __SP_L__ = 0x3d\r
-   6                   __tmp_reg__ = 0\r
-   7                   __zero_reg__ = 1\r
-   8                           .global __do_copy_data\r
-   9                           .global __do_clear_bss\r
-  10                           .section        .progmem.data,"a",@progbits\r
-  11                           .type   __c.0, @object\r
-  12                           .size   __c.0, 14\r
-  13                   __c.0:\r
-  14 0000 4865 6C6C            .string "Hello World !"\r
-  14      6F20 576F \r
-  14      726C 6420 \r
-  14      2100 \r
-  15                           .type   __c.1, @object\r
-  16                           .size   __c.1, 17\r
-  17                   __c.1:\r
-  18 000e 5072 6573            .string "Press any key..."\r
-  18      7320 616E \r
-  18      7920 6B65 \r
-  18      792E 2E2E \r
-  18      00\r
-  19                           .type   __c.2, @object\r
-  20                           .size   __c.2, 14\r
-  21                   __c.2:\r
-  22 001f 596F 7520            .string "You pressed '"\r
-  22      7072 6573 \r
-  22      7365 6420 \r
-  22      2700 \r
-  23                           .type   __c.3, @object\r
-  24                           .size   __c.3, 14\r
-  25                   __c.3:\r
-  26 002d 2720 7768            .string "' which is 0x"\r
-  26      6963 6820 \r
-  26      6973 2030 \r
-  26      7800 \r
-  27                           .type   __c.4, @object\r
-  28                           .size   __c.4, 17\r
-  29                   __c.4:\r
-  30 003b 2069 6E20            .string " in hexadecimal."\r
-  30      6865 7861 \r
-  30      6465 6369 \r
-  30      6D61 6C2E \r
-  30      00\r
-  31                           .text\r
-  32                   .global main\r
-  33                           .type   main, @function\r
-  34                   main:\r
-  35                   /* prologue: frame size=1 */\r
-  36 0000 C0E0                 ldi r28,lo8(__stack - 1)\r
-  37 0002 D0E0                 ldi r29,hi8(__stack - 1)\r
-  38 0004 DEBF                 out __SP_H__,r29\r
-  39 0006 CDBF                 out __SP_L__,r28\r
-  40                   /* prologue end (size=4) */\r
-\fGAS LISTING C:\cygwin\tmp/ccmeaaaa.s                  page 2\r
-\r
-\r
-  41 0008 00D0                 rcall UART_Init\r
-  42 000a 80E0                 ldi r24,lo8(__c.0)\r
-  43 000c 90E0                 ldi r25,hi8(__c.0)\r
-  44 000e 00D0                 rcall UART_PrintfProgStr\r
-  45 0010 00D0                 rcall UART_PrintfEndOfLine\r
-  46                   .L3:\r
-  47 0012 80E0                 ldi r24,lo8(__c.1)\r
-  48 0014 90E0                 ldi r25,hi8(__c.1)\r
-  49 0016 00D0                 rcall UART_PrintfProgStr\r
-  50 0018 00D0                 rcall UART_PrintfEndOfLine\r
-  51 001a 00D0                 rcall UART_ReceiveByte\r
-  52 001c 8983                 std Y+1,r24\r
-  53 001e 80E0                 ldi r24,lo8(__c.2)\r
-  54 0020 90E0                 ldi r25,hi8(__c.2)\r
-  55 0022 00D0                 rcall UART_PrintfProgStr\r
-  56 0024 8981                 ldd r24,Y+1\r
-  57 0026 00D0                 rcall UART_SendByte\r
-  58 0028 80E0                 ldi r24,lo8(__c.3)\r
-  59 002a 90E0                 ldi r25,hi8(__c.3)\r
-  60 002c 00D0                 rcall UART_PrintfProgStr\r
-  61 002e 8981                 ldd r24,Y+1\r
-  62 0030 00D0                 rcall UART_Printfu08\r
-  63 0032 80E0                 ldi r24,lo8(__c.4)\r
-  64 0034 90E0                 ldi r25,hi8(__c.4)\r
-  65 0036 00D0                 rcall UART_PrintfProgStr\r
-  66 0038 00D0                 rcall UART_PrintfEndOfLine\r
-  67 003a EBCF                 rjmp .L3\r
-  68                   /* epilogue: frame size=1 */\r
-  69                   /* epilogue: noreturn */\r
-  70                   /* epilogue end (size=0) */\r
-  71                   /* function main size 30 (26) */\r
-  72                           .size   main, .-main\r
-  73                   /* File "gcctest7.c": code   30 = 0x001e (  26), prologues   4, epilogues   0 */\r
-\fGAS LISTING C:\cygwin\tmp/ccmeaaaa.s                  page 3\r
-\r
-\r
-DEFINED SYMBOLS\r
-                            *ABS*:00000000 gcctest7.c\r
-                            *ABS*:0000003f __SREG__\r
-                            *ABS*:0000003e __SP_H__\r
-                            *ABS*:0000003d __SP_L__\r
-                            *ABS*:00000000 __tmp_reg__\r
-                            *ABS*:00000001 __zero_reg__\r
-C:\cygwin\tmp/ccmeaaaa.s:13     .progmem.data:00000000 __c.0\r
-C:\cygwin\tmp/ccmeaaaa.s:17     .progmem.data:0000000e __c.1\r
-C:\cygwin\tmp/ccmeaaaa.s:21     .progmem.data:0000001f __c.2\r
-C:\cygwin\tmp/ccmeaaaa.s:25     .progmem.data:0000002d __c.3\r
-C:\cygwin\tmp/ccmeaaaa.s:29     .progmem.data:0000003b __c.4\r
-C:\cygwin\tmp/ccmeaaaa.s:34     .text:00000000 main\r
-\r
-UNDEFINED SYMBOLS\r
-__do_copy_data\r
-__do_clear_bss\r
-__stack\r
-UART_Init\r
-UART_PrintfProgStr\r
-UART_PrintfEndOfLine\r
-UART_ReceiveByte\r
-UART_SendByte\r
-UART_Printfu08\r
diff --git a/src/avrsample/out.s b/src/avrsample/out.s
deleted file mode 100644 (file)
index b4b3ac8..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-#arch AT90S8515
-#include "avr.inc"
-
-       seg abs=0x0 flash.code0
-
-       add     r12, r16        ; 0000
-       eor     r12, r16        ; 0002
-       eor     r28, r0         ; 0004
-       eor     r12, r0         ; 0006
-       and     r28, r16        ; 0008
-       and     r12, r16        ; 000A
-       and     r28, r0         ; 000C
-       and     r12, r0         ; 000E
-       adc     r28, r16        ; 0010
-       adc     r12, r16        ; 0012
-       adc     r28, r0         ; 0014
-       adc     r12, r0         ; 0016
-       sub     r28, r16        ; 0018
-       sub     r12, r16        ; 001A
-       cpse    r18, r4         ; 001C
-       adc     r27, r30        ; 001E
-       rjmp    -38             ; 0020, Dest: FFFFFFFC
-       rjmp    -1154           ; 0022, Dest: FFFFFBA2
-       cpse    r6, r0          ; 0024
-       dc.W    0x00E1          ; 0026
-       in      r6, 0x0         ; 0028
-       or      r14, r2         ; 002A
-
-       brbs    0, 120          ; 002C, Dest: 00A6
-       ;brcs   120             ; 002C, Dest: 00A6
-       ;brlo   120             ; 002C, Dest: 00A6
-
-       dc.W    0x03C0          ; 002E
-       rjmp    -3798           ; 0030, Dest: FFFFF15C
-       cpi     r25, 0x16       ; 0032
-       add     r25, r2         ; 0034
-       dc.W    0x0231          ; 0036
-       in      r16, 0x7        ; 0038
-       rcall   1006            ; 003A, Dest: 042A
-       cpse    r6, r0          ; 003C
-       dc.W    0x02E1          ; 003E
-       in      r6, 0x0         ; 0040
-       dc.W    0x01C0          ; 0042
-       adc     r25, r2         ; 0044
-       dc.W    0x0231          ; 0046
-       in      r16, 0x7        ; 0048
-       ldi     r31, 0x17       ; 004A
-
-       ori     r28, 0xB0       ; 004C
-       ;sbr    r28, 0xB0       ; 004C
-
-       rcall   -3170           ; 004E, Dest: FFFFF3EE
-       rjmp    -218            ; 0050, Dest: FFFFFF78
-       rcall   -218            ; 0052, Dest: FFFFFF7A
-       rjmp    -1170           ; 0054, Dest: FFFFFBC4
-       rcall   -658            ; 0056, Dest: FFFFFDC6
-       and     r25, r23        ; 0058
-       add     r27, r22        ; 005A
-       bld     r9, 4           ; 005C
-       rcall   -642            ; 005E, Dest: FFFFFDDE
-       add     r27, r30        ; 0060
-       rjmp    -1154           ; 0062, Dest: FFFFFBE2
-       ldd     r24, Z+19       ; 0064
-       sbi     0x10, 3         ; 0066
-       ldd     r24, Z+17       ; 0068
-       sbi     0x10, 1         ; 006A
-       dc.W    0xF92F          ; 006C
-       ldi     r18, 0x8F       ; 006E
-       and     r8, r1          ; 0070
-       or      r24, r19        ; 0072
-       dc.W    0x0196          ; 0074
-       ldd     r24, Z+19       ; 0076
-       sbi     0x10, 3         ; 0078
-       and     r2, r19         ; 007A
-       sbc     r31, r4         ; 007C
-       dc.W    0x03C0          ; 007E
-       std     Z+17, r24       ; 0080
-       add     r13, r0         ; 0082
-
-       brbs    7, 114          ; 0084, Dest: 00F8
-       ;brie   114             ; 0084, Dest: 00F8
-
-       ld      r14, Z          ; 0086
-       ;ldd    r14, Z+0        ; 0086
-
-       lds     r14, 0x2396     ; 0088
-       add     r27, r22        ; 008C
-       bld     r9, 4           ; 008E
-       rcall   -642            ; 0090, Dest: FFFFFE10
-       add     r27, r30        ; 0092
-       rjmp    -1154           ; 0094, Dest: FFFFFC14
-       rcall   -222            ; 0096, Dest: FFFFFFBA
-       rjmp    -222            ; 0098, Dest: FFFFFFBC
-       sbc     r9, r5          ; 009A
-       rjmp    -218            ; 009C, Dest: FFFFFFC4
-       rcall   -218            ; 009E, Dest: FFFFFFC6
-       rjmp    -1170           ; 00A0, Dest: FFFFFC10
-       rcall   -658            ; 00A2, Dest: FFFFFE12
-       and     r25, r7         ; 00A4
-       add     r27, r22        ; 00A6
-       bld     r9, 4           ; 00A8
-       rcall   -642            ; 00AA, Dest: FFFFFE2A
-       add     r27, r30        ; 00AC
-       rjmp    -1154           ; 00AE, Dest: FFFFFC2E
-       ldd     r24, Z+19       ; 00B0
-       ldd     r9, Z+1         ; 00B2
-       or      r16, r16        ; 00B4
-       sbic    0x4, 7          ; 00B6
-       ldd     r7, Z+2         ; 00B8
-       lds     r7, 0x0097      ; 00BA
-       rjmp    -3098           ; 00BE, Dest: FFFFF4A6
-       ldd     r24, Z+17       ; 00C0
-       ldd     r9, Z+3         ; 00C2
-       mov     r0, r0          ; 00C4
-
-       ld      r14, Z          ; 00C6
-       ;ldd    r14, Z+0        ; 00C6
-
-       lds     r14, 0x2196     ; 00C8
-       add     r27, r22        ; 00CC
-       bld     r9, 4           ; 00CE
-       rcall   -642            ; 00D0, Dest: FFFFFE50
-       add     r27, r30        ; 00D2
-       rjmp    -1154           ; 00D4, Dest: FFFFFC54
-       rcall   -222            ; 00D6, Dest: FFFFFFFA
-       rjmp    -222            ; 00D8, Dest: FFFFFFFC
-       sbc     r9, r5          ; 00DA
-       rjmp    -218            ; 00DC, Dest: 0004
-       rcall   -218            ; 00DE, Dest: 0006
-       rjmp    -1170           ; 00E0, Dest: FFFFFC50
-       rcall   -658            ; 00E2, Dest: FFFFFE52
-       and     r9, r23         ; 00E4
-       add     r27, r22        ; 00E6
-       bld     r9, 4           ; 00E8
-       rcall   -642            ; 00EA, Dest: FFFFFE6A
-       add     r27, r30        ; 00EC
-       rjmp    -1154           ; 00EE, Dest: FFFFFC6E
-       ldd     r9, Z+1         ; 00F0
-       or      r16, r16        ; 00F2
-       ldd     r2, Z+19        ; 00F4
-       mov     r15, r0         ; 00F6
-       std     Y+31, r30       ; 00F8
-       dc.W    0x9FEF          ; 00FA
-       ldd     r24, Z+19       ; 00FC
-       sbi     0x10, 3         ; 00FE
-       cpc     r28, r0         ; 0100
-       ldd     r9, Z+1         ; 0102
-       mov     r0, r0          ; 0104
-       sbic    0x4, 7          ; 0106
-       ldd     r24, Z+19       ; 0108
-       sbi     0x10, 3         ; 010A
-       ldd     r24, Z+17       ; 010C
-       sbi     0x10, 1         ; 010E
-       and     r9, r22         ; 0110
-       add     r27, r22        ; 0112
-       bld     r9, 4           ; 0114
-       rcall   -642            ; 0116, Dest: FFFFFE96
-       add     r27, r30        ; 0118
-       rjmp    -1154           ; 011A, Dest: FFFFFC9A
-       rcall   -222            ; 011C, Dest: 0040
-       rjmp    -222            ; 011E, Dest: 0042
-       sbc     r9, r5          ; 0120
-       dc.W    0x9FE1          ; 0122
-       rcall   448             ; 0124, Dest: 02E6
-       rcall   -642            ; 0126, Dest: FFFFFEA6
-       rjmp    -1154           ; 0128, Dest: FFFFFCA8
-
-       andi    r29, 0xDF       ; 012A
-       ;cbr    r29, 0xDF       ; 012A
-
-       ldd     r13, Y+23       ; 012C
-       ldd     r14, Z+4        ; 012E
-       ldd     r9, Z+3         ; 0130
-       or      r16, r16        ; 0132
-       ldd     r14, Z+17       ; 0134
-       ldd     r9, Z+3         ; 0136
-       or      r0, r16         ; 0138
-       std     Z+12, r30       ; 013A
-       ldd     r9, Z+3         ; 013C
-       or      r16, r0         ; 013E
-       ldi     r30, 0x0        ; 0140
-       lds     r6, 0x85DF      ; 0142
-       dc.W    0xFFCF          ; 0146
-
-       ori     r16, 0x10       ; 0148
-       ;sbr    r16, 0x10       ; 0148
-
diff --git a/src/avrsample/r.bat b/src/avrsample/r.bat
deleted file mode 100644 (file)
index 43c4d94..0000000
+++ /dev/null
@@ -1 +0,0 @@
-revava -e hello.hex -o hello.s
diff --git a/src/avrsample/r.sh b/src/avrsample/r.sh
deleted file mode 100644 (file)
index 43c4d94..0000000
+++ /dev/null
@@ -1 +0,0 @@
-revava -e hello.hex -o hello.s
diff --git a/src/avrsample/x.bat b/src/avrsample/x.bat
deleted file mode 100644 (file)
index fbce676..0000000
+++ /dev/null
@@ -1 +0,0 @@
-avr-gcc -mmcu=at90s4433 -S hello.c
diff --git a/src/bin/avr_make b/src/bin/avr_make
deleted file mode 100644 (file)
index d4049a0..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# GCC-AVR standard makefile\r
-# Based on AVRfreaks.net January 2000 sample makefile\r
-# For compilation under Microsoft Windows environment\r
-\r
-# Variables definitions\r
-       CC      = avr-gcc\r
-       AS      = avr-gcc -x assembler-with-cpp \r
-       RM      = rm -f\r
-       RN      = mv\r
-       BIN     = avr-objcopy\r
-       SIZE    = avr-size\r
-       INCDIR  = .\r
-       LIBDIR  = avr/lib\r
-       SHELL   = sh.exe\r
-\r
-# Output format (srec or ihex, avrobj is always created)\r
-       FORMAT = ihex           \r
-\r
-# Project specific object files\r
-       OBJ     = $(ASRC:.s=.o) $(SRC:.c=.o) \r
-       CPFLAGS += -mmcu=$(MCU)\r
-       ASFLAGS += -mmcu=$(MCU)\r
-       LDFLAGS += -mmcu=$(MCU)\r
-  \r
-# Define make process\r
-\r
-all:   $(TRG).obj $(TRG).elf $(TRG).rom $(TRG).eep $(TRG).ok \r
-%.o : %.c \r
-       $(CC) -c $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.s : %.c\r
-       $(CC) -S $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.o : %.s\r
-       $(AS) -c $(ASFLAGS) -I$(INCDIR) $< -o $@\r
-%.elf: $(OBJ)\r
-       $(CC) $(OBJ) $(LIB) $(LDFLAGS) -o $@\r
-%.obj: %.elf\r
-       $(BIN) -O avrobj -R .eeprom $< $@\r
-%.rom: %.elf\r
-       $(BIN) -O $(FORMAT) -R .eeprom $< $@\r
-%.eep: %.elf\r
-       $(BIN) -j .eeprom --set-section-flags=.eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-\r
-# No error message if successfully compiled\r
-%ok:\r
-       @echo "Errors: none" \r
-\r
-# Clean up directory\r
-clean:\r
-       $(RM) $(OBJ)\r
-       $(RM) $(SRC:.c=.s)\r
-       $(RM) $(SRC:.c=.lst)\r
-       $(RM) $(TRG).map\r
-       $(RM) $(TRG).elf\r
-\r
-       $(RM) $(TRG).obj\r
-       $(RM) $(TRG).a90\r
-       $(RM) $(TRG).hex        \r
-       $(RM) *.bak\r
-       $(RM) *.log\r
-       \r
-size:\r
-       $(SIZE) $(TRG).elf\r
-       \r
diff --git a/src/bin/avr_make2 b/src/bin/avr_make2
deleted file mode 100644 (file)
index 3f64dad..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-# GCC-AVR standard makefile\r
-# Based on AVRfreaks.net January 2000 sample makefile\r
-# For compilation under Microsoft Windows environment\r
-# Modified for compilation under another drive different than $(AVR)
-\r
-# Variables definitions\r
-       CC      = $(AVR)/bin/avr-gcc\r
-       AS      = $(AVR)/bin/avr-gcc -x assembler-with-cpp      \r
-       RM      = $(AVR)/bin/rm -f\r
-       RN      = $(AVR)/bin/mv\r
-       BIN     = $(AVR)/bin/avr-objcopy\r
-       SIZE    = $(AVR)/bin/avr-size\r
-       INCDIR  = .\r
-       LIBDIR  = $(AVR)/avr/lib\r
-       SHELL   = $(AVR)/bin/sh.exe\r
-\r
-# Output format (srec or ihex, avrobj is always created)\r
-       FORMAT = ihex           \r
-\r
-# Project specific object files\r
-       OBJ     = $(ASRC:.s=.o) $(SRC:.c=.o) \r
-       CPFLAGS += -mmcu=$(MCU)\r
-       ASFLAGS += -mmcu=$(MCU)\r
-       LDFLAGS += -mmcu=$(MCU)\r
-  \r
-# Define make process\r
-\r
-all:   $(TRG).obj $(TRG).elf $(TRG).rom $(TRG).eep $(TRG).ok \r
-%.o : %.c \r
-       $(CC) -c $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.s : %.c\r
-       $(CC) -S $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.o : %.s\r
-       $(AS) -c $(ASFLAGS) -I$(INCDIR) $< -o $@\r
-%.elf: $(OBJ)\r
-       $(CC) $(OBJ) $(LIB) $(LDFLAGS) -o $@\r
-%.obj: %.elf\r
-       $(BIN) -O avrobj -R .eeprom $< $@\r
-%.rom: %.elf\r
-       $(BIN) -O $(FORMAT) -R .eeprom $< $@\r
-%.eep: %.elf\r
-       $(BIN) -j .eeprom --set-section-flags=.eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-\r
-# No error message if successfully compiled\r
-%ok:\r
-       @echo "Errors: none" \r
-\r
-# Clean up directory\r
-clean:\r
-       $(RM) $(OBJ)\r
-       $(RM) $(SRC:.c=.s)\r
-       $(RM) $(SRC:.c=.lst)\r
-       $(RM) $(TRG).map\r
-       $(RM) $(TRG).elf\r
-\r
-       $(RM) $(TRG).obj\r
-       $(RM) $(TRG).a90\r
-       $(RM) $(TRG).hex        \r
-       $(RM) *.bak\r
-       $(RM) *.log\r
-       \r
-size:\r
-       $(SIZE) $(TRG).elf\r
-       \r
index 0b1ec45..017ab57 100644 (file)
Binary files a/src/bin/bmp2txt.exe and b/src/bin/bmp2txt.exe differ
diff --git a/src/bin/cat.exe b/src/bin/cat.exe
new file mode 100644 (file)
index 0000000..909716b
Binary files /dev/null and b/src/bin/cat.exe differ
index c2d1b24..8185fe6 100644 (file)
Binary files a/src/bin/chs2cmd.exe and b/src/bin/chs2cmd.exe differ
diff --git a/src/bin/cproto.exe b/src/bin/cproto.exe
new file mode 100644 (file)
index 0000000..b8500b3
Binary files /dev/null and b/src/bin/cproto.exe differ
diff --git a/src/bin/cr.exe b/src/bin/cr.exe
deleted file mode 100644 (file)
index dccde71..0000000
Binary files a/src/bin/cr.exe and /dev/null differ
diff --git a/src/bin/cygpopt-0.dll b/src/bin/cygpopt-0.dll
new file mode 100644 (file)
index 0000000..27fe24c
Binary files /dev/null and b/src/bin/cygpopt-0.dll differ
diff --git a/src/bin/cygwin1.dll b/src/bin/cygwin1.dll
new file mode 100644 (file)
index 0000000..4f2596c
Binary files /dev/null and b/src/bin/cygwin1.dll differ
diff --git a/src/bin/d2u.exe b/src/bin/d2u.exe
new file mode 100644 (file)
index 0000000..d08a70f
Binary files /dev/null and b/src/bin/d2u.exe differ
diff --git a/src/bin/diff.exe b/src/bin/diff.exe
new file mode 100644 (file)
index 0000000..f8bb775
Binary files /dev/null and b/src/bin/diff.exe differ
diff --git a/src/bin/diff.sh b/src/bin/diff.sh
new file mode 100644 (file)
index 0000000..994acb7
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh\r
+diff --ignore-file-name-case --ignore-tab-expansion --ignore-space-change --ignore-blank-lines --unified --new-file --minimal --speed-large-files $1 $2\r
diff --git a/src/bin/diffdir.sh b/src/bin/diffdir.sh
new file mode 100644 (file)
index 0000000..f1a8089
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh\r
+diff --ignore-file-name-case --ignore-tab-expansion --ignore-space-change --ignore-blank-lines --recursive --unified --new-file --minimal --speed-large-files $1 $2 > $1-$2.diff\r
diff --git a/src/bin/gunzip.exe b/src/bin/gunzip.exe
new file mode 100644 (file)
index 0000000..94bac19
Binary files /dev/null and b/src/bin/gunzip.exe differ
diff --git a/src/bin/gzip.exe b/src/bin/gzip.exe
new file mode 100644 (file)
index 0000000..94bac19
Binary files /dev/null and b/src/bin/gzip.exe differ
index 366ccf9..0931428 100644 (file)
Binary files a/src/bin/hfmdump.exe and b/src/bin/hfmdump.exe differ
index 45b87f5..eeb09e3 100644 (file)
Binary files a/src/bin/hfmtool.exe and b/src/bin/hfmtool.exe differ
index 188e183..13de2cb 100644 (file)
Binary files a/src/bin/hfmwidth.exe and b/src/bin/hfmwidth.exe differ
diff --git a/src/bin/indent.exe b/src/bin/indent.exe
new file mode 100644 (file)
index 0000000..b36c423
Binary files /dev/null and b/src/bin/indent.exe differ
index f1c4c32..1bfbcb7 100644 (file)
Binary files a/src/bin/make.exe and b/src/bin/make.exe differ
index d0c375b..fdc1f7e 100644 (file)
@@ -1,6 +1,6 @@
 @if .%1==. goto failure\r
 \r
-@echo iccz80 -S -w -mb -v1 -z -A -I..\..\include\ %1>n.bat\r
+@echo iccz80 -mb -v1 -s9 -A -I..\..\include\ %1>n.bat\r
 @echo @if errorlevel 1 goto failure>>n.bat\r
 @echo del %1.r01>>n.bat\r
 @echo as-z80 -l -o %1.s01>>n.bat\r
index 921a0bd..2214ffd 100644 (file)
@@ -1,6 +1,6 @@
 @if .%1==. goto failure\r
 \r
-@echo iccz80 -S -w -ml -v1 -z -A -I..\..\include\ %1>n.bat\r
+@echo iccz80 -ml -v1 -s9 -A -I..\..\include\ %1>n.bat\r
 @echo @if errorlevel 1 goto failure>>n.bat\r
 @echo del %1.r01>>n.bat\r
 @echo as-z80 -l -o %1.s01>>n.bat\r
diff --git a/src/bin/patch.exe b/src/bin/patch.exe
new file mode 100644 (file)
index 0000000..2540196
Binary files /dev/null and b/src/bin/patch.exe differ
diff --git a/src/bin/sed.exe b/src/bin/sed.exe
new file mode 100644 (file)
index 0000000..cd61f5d
Binary files /dev/null and b/src/bin/sed.exe differ
diff --git a/src/bin/sh.exe b/src/bin/sh.exe
new file mode 100644 (file)
index 0000000..5f736fd
Binary files /dev/null and b/src/bin/sh.exe differ
index d9c8a89..7de09b4 100644 (file)
Binary files a/src/bin/txt2chs.exe and b/src/bin/txt2chs.exe differ
diff --git a/src/bin/u2d.exe b/src/bin/u2d.exe
new file mode 100644 (file)
index 0000000..ad52d41
Binary files /dev/null and b/src/bin/u2d.exe differ
diff --git a/src/bin/xxd.exe b/src/bin/xxd.exe
new file mode 100644 (file)
index 0000000..174894e
Binary files /dev/null and b/src/bin/xxd.exe differ
diff --git a/src/db/db.c b/src/db/db.c
new file mode 100644 (file)
index 0000000..d37798f
--- /dev/null
@@ -0,0 +1,1126 @@
+#include <malloc.h>\r
+#include <string.h>\r
+#include <stdlib.h>\r
+#include "db.h"\r
+\r
+void dbDeleteList(DbListEntry* lst)\r
+{\r
+       if(lst!=NULL){\r
+               if(lst->data!=NULL) free(lst->data);\r
+               if(lst->next!=NULL) dbDeleteList(lst->next);\r
+               free(lst);\r
+       }\r
+}\r
+\r
+WORD dbListIndex(DbListEntry* lst)\r
+{\r
+       DbListEntry* tmp=lst;\r
+       WORD i=0;\r
+       while(tmp->previous!=NULL){\r
+               tmp=tmp->previous;\r
+               i++;\r
+       }\r
+       return i;\r
+}\r
+\r
+WORD dbListSize(DbListEntry* lst)\r
+{\r
+       WORD i;\r
+       DbListEntry* tmp=lst;\r
+       i=dbListIndex(tmp)+1;\r
+       while(tmp->next!=NULL){\r
+               tmp=tmp->next;\r
+               i++;\r
+       }\r
+       return i;\r
+}\r
+\r
+void dbSkipLiteral(char ch, char* str, WORD* src, WORD* dst)\r
+{\r
+       str[*dst]=str[*src];\r
+       while(str[++(*src)]!=ch)\r
+               str[++(*dst)]=str[*src];\r
+       str[++*(dst)]=str[*src];\r
+}\r
+\r
+void dbTrimString(char* str)\r
+{\r
+       WORD src=0,dst=0;\r
+       char last=' ';\r
+\r
+       while(str[src]!=0){\r
+               if(str[src]=='\'' || str[src]=='"')\r
+                       dbSkipLiteral(str[src],str,&src,&dst);\r
+               if(last==' ' &&  (str[src]==',' || str[src]==')' || str[src]=='('\r
+                       || str[src]=='+' || str[src]=='-' || str[src]=='*' || str[src]=='/'\r
+                       || str[src]=='&' || str[src]=='|' || str[src]=='=' || str[src]=='<'\r
+                       || str[src]=='>'))\r
+                       dst--;\r
+\r
+               str[dst]=str[src];\r
+\r
+               if((last!=',' && last!=' ' && last!='(' && last!='+' && last!='-' &&\r
+                       last!='*' && last!='/' && last!='&' && last!='|' && last!='=' &&\r
+                       last!='>' && last!='<')\r
+                       || str[src]!=' ')\r
+                       dst++;\r
+\r
+               last=str[src];\r
+               src++;\r
+       }\r
+       if(last==' ')\r
+               str[--dst]=0;\r
+       else\r
+               str[dst]=0;\r
+}\r
+\r
+char* dbReplaceChar(char* str, char fnd, char rep){\r
+       WORD i=0;\r
+       while(str[i]!=fnd && str[i]!=0x00)\r
+               i++;\r
+       if(str[i]!=0x00) str[i]=rep;\r
+       return str+i;\r
+}\r
+\r
+DbListEntry* dbParseList(char* str, char eoe, char eol, WORD* ptr)\r
+{\r
+       WORD eptr=0;\r
+       char element[32];\r
+       BYTE instr=(0==1);\r
+       BYTE inbrace=0;\r
+       DbListEntry* prev=NULL;\r
+       DbListEntry* first;\r
+       DbListEntry* current=malloc(sizeof(DbListEntry));\r
+       first=current;\r
+       current->previous=NULL;\r
+       while((str[*ptr]!=eol || instr) && str[*ptr]!=0){\r
+               switch(str[*ptr]){\r
+               case '\'':\r
+               case '\"':\r
+                       instr=!instr;\r
+                       break;\r
+               case '(':\r
+                       if(!instr)\r
+                               inbrace++;\r
+                       break;\r
+               case ')':\r
+                       if(!instr)\r
+                               inbrace--;\r
+               }\r
+\r
+               if(str[*ptr]!=eoe || instr || inbrace>0)\r
+                       element[eptr]=str[*ptr];\r
+               else {\r
+                       element[eptr]=0;\r
+                       current->data=malloc(strlen(element)+1);\r
+                       strcpy(current->data,element);\r
+                       eptr=-1;\r
+                       prev=current;\r
+                       current->next=malloc(sizeof(DbListEntry));\r
+                       current=current->next;\r
+                       current->previous=prev;\r
+               }\r
+               (*ptr)++;\r
+               eptr++;\r
+       }\r
+       element[eptr]=0;\r
+       current->data=malloc(strlen(element)+1);\r
+       strcpy(current->data,element);\r
+       current->next=NULL;\r
+       return first;\r
+}\r
+\r
+DbStatement* dbParseStatement(char* str)\r
+{\r
+       char* stat=malloc(strlen(str)+1);\r
+       strcpy(stat,str);\r
+       dbTrimString(stat);\r
+#ifdef FULLSQL\r
+       if(strncmp(stat,"SELECT",6)==0)\r
+               return dbParseSelect(stat);\r
+       if(strncmp(stat,"INSERT",6)==0)\r
+               return dbParseInsert(stat);\r
+       if(strncmp(stat,"UPDATE",6)==0)\r
+               return dbParseUpdate(stat);\r
+       if(strncmp(stat,"DELETE",6)==0)\r
+               return dbParseDelete(stat);\r
+#else\r
+       if(strncmp(stat,"SEL",3)==0)\r
+               return dbParseSelect(stat);\r
+       if(strncmp(stat,"INS",3)==0)\r
+               return dbParseInsert(stat);\r
+       if(strncmp(stat,"UPD",3)==0)\r
+               return dbParseUpdate(stat);\r
+       if(strncmp(stat,"DEL",3)==0)\r
+               return dbParseDelete(stat);\r
+#endif\r
+       return NULL;\r
+}\r
+\r
+DbStatement* dbParseSelect(char* str)\r
+{\r
+       WORD strptr;\r
+       DbStatement* stat=malloc(sizeof(DbStatement));\r
+       stat->type=STMT_SELECT;\r
+       stat->wheres=NULL;\r
+       stat->auxlist=NULL;\r
+#ifdef FULLSQL\r
+       strptr=6;\r
+#else\r
+       strptr=3;\r
+#endif\r
+       if(str[strptr]==' ') strptr++;\r
+\r
+       stat->fields=dbParseList(str,',',' ',&strptr);\r
+#ifdef FULLSQL\r
+       if(strncmp(str+strptr," FROM ",6)==0)\r
+               strptr+=6;\r
+#else\r
+       if(strncmp(str+strptr," FR ",4)==0)\r
+               strptr+=4;\r
+#endif\r
+       else\r
+               return NULL;\r
+       stat->tables=dbParseList(str,',',' ',&strptr);\r
+\r
+\r
+#ifdef FULLSQL\r
+       if(strncmp(str+strptr," WHERE",6)==0){\r
+               strptr+=6;\r
+#else\r
+       if(strncmp(str+strptr," WH",3)==0){\r
+               strptr+=3;\r
+#endif\r
+               if(str[strptr]==' ') strptr++;\r
+               stat->wheres=dbParseList(str,',',' ',&strptr);\r
+       }\r
+#ifdef FULLSQL\r
+       if(strncmp(str+strptr," ORDER BY ",10)==0){\r
+               strptr+=10;\r
+#else\r
+       if(strncmp(str+strptr," ORD ",5)==0){\r
+               strptr+=5;\r
+#endif\r
+               stat->auxlist=dbParseList(str,',',' ',&strptr);\r
+       }\r
+\r
+       return stat;\r
+}\r
+\r
+DbStatement* dbParseInsert(char* str)\r
+{\r
+       WORD strptr;\r
+       DbStatement* stat=malloc(sizeof(DbStatement));\r
+       stat->type=STMT_INSERT;\r
+       stat->wheres=NULL;\r
+#ifdef FULLSQL\r
+       strptr=7;\r
+#else\r
+       strptr=4;\r
+#endif\r
+       \r
+       stat->tables=dbParseList(str,',','(',&strptr);\r
+       if(strncmp(str+strptr,"(",1)==0)\r
+               strptr+=1;\r
+       else\r
+               return NULL;\r
+       stat->fields=dbParseList(str,',',')',&strptr);\r
+#ifdef FULLSQL\r
+       if(strncmp(str+strptr,") VALUES(",9)==0){\r
+               strptr+=9;\r
+#else\r
+       if(strncmp(str+strptr,") VAL(",6)==0){\r
+               strptr+=6;\r
+#endif\r
+               stat->auxlist=dbParseList(str,',',')',&strptr);\r
+       } else\r
+               return NULL;\r
+       return stat;\r
+}\r
+\r
+DbStatement* dbParseUpdate(char* str)\r
+{\r
+       WORD strptr;\r
+       DbStatement* stat=malloc(sizeof(DbStatement));\r
+       stat->type=STMT_UPDATE;\r
+       stat->wheres=NULL;\r
+       stat->auxlist=NULL;\r
+#ifdef FULLSQL\r
+       strptr=7;\r
+#else\r
+       strptr=4;\r
+#endif\r
+\r
+       stat->tables=dbParseList(str,',',' ',&strptr);\r
+#ifdef FULLSQL\r
+       if(strncmp(str+strptr," SET ",5)==0)\r
+               strptr+=5;\r
+#else\r
+       if(strncmp(str+strptr," ST ",4)==0)\r
+               strptr+=4;\r
+#endif\r
+       else\r
+               return NULL;\r
+       stat->fields=dbParseList(str,',',' ',&strptr);\r
+\r
+#ifdef FULLSQL\r
+       if(strncmp(str+strptr," WHERE",6)==0){\\r
+               strptr+=6;\r
+#else\r
+       if(strncmp(str+strptr," WH",3)==0){\r
+               strptr+=3;\r
+#endif \r
+               if(str[strptr]==' ') strptr++;\r
+               stat->wheres=dbParseList(str,',',' ',&strptr);\r
+\r
+       }\r
+\r
+       return stat;\r
+}\r
+\r
+DbStatement* dbParseDelete(char* str)\r
+{\r
+       WORD strptr;\r
+       DbStatement* stat=malloc(sizeof(DbStatement));\r
+       stat->type=STMT_DELETE;\r
+       stat->wheres=NULL;\r
+       stat->auxlist=NULL;\r
+       stat->fields=NULL;\r
+#ifdef FULLSQL\r
+       strptr=7;\r
+#else\r
+       strptr=4;\r
+#endif\r
+\r
+       stat->tables=dbParseList(str,',',' ',&strptr);\r
+#ifdef FULLSQL\r
+       if(strncmp(str+strptr," WHERE",6)==0){\r
+               strptr+=6;\r
+               if(str[strptr]==' ') strptr++;\r
+               stat->wheres=dbParseList(str,',',' ',&strptr);\r
+\r
+       }\r
+#else\r
+       if(strncmp(str+strptr," WH",3)==0){\r
+               strptr+=3;\r
+               if(str[strptr]==' ') strptr++;\r
+               stat->wheres=dbParseList(str,',',' ',&strptr);\r
+       }\r
+#endif\r
+\r
+       return stat;\r
+}\r
+\r
+void dbTableOpen(DbTable* tbl)\r
+{\r
+       FILE *ff;\r
+       WORD nfield,i;\r
+       BYTE* buf=malloc(64);\r
+       strcpy(buf,DB_DIRECTORY);\r
+       strcat(buf,tbl->name);\r
+       strcat(buf,".TBL");\r
+       tbl->open=0;\r
+       \r
+       ff=fopen(buf,"rb");\r
+       fread(buf,4,1,ff);\r
+       if(buf[0]!='T' || buf[1]!='B' || buf[2]!='L' || buf[3]!=' ')\r
+               goto einde;\r
+       fread(buf,4,1,ff);\r
+       nfield=buf[0];\r
+       tbl->fields=nfield;\r
+       tbl->fieldspecs=(DbField*) malloc(sizeof(DbField)*nfield);\r
+       for(i=0; i<nfield; i++){\r
+               fread(tbl->fieldspecs[i].name,8,1,ff);\r
+               tbl->fieldspecs[i].name[8]=0;\r
+               fread(&(tbl->fieldspecs[i].datatype),3,1,ff);\r
+               fread(buf,1,1,ff);\r
+       }\r
+       strcpy(buf,DB_DIRECTORY);\r
+       strcat(buf,tbl->name);\r
+       strcat(buf,".DAT");\r
+       tbl->datafile=fopen(buf,"r+b");\r
+       tbl->open=1;\r
+       fread(buf,4,1,tbl->datafile);\r
+       if(buf[0]!='D' || buf[1]!='A' || buf[2]!='T' || buf[3]!=' '){\r
+               tbl->open=0;\r
+               fclose(tbl->datafile);\r
+       }else {\r
+               fread(&(tbl->numrecs),2,1,tbl->datafile);\r
+               fread(&(tbl->unusedrecs),2,1,tbl->datafile);\r
+               fread(buf,2,1,tbl->datafile);\r
+       }\r
+einde:\r
+       fclose(ff);\r
+       free(buf);\r
+}\r
+\r
+void dbTableClose(DbTable* tbl)\r
+{\r
+       fclose(tbl->datafile);\r
+       free(tbl->fieldspecs);\r
+       free(tbl);\r
+       tbl=NULL;\r
+}\r
+\r
+void dbStatementClose(DbStatement* stat)\r
+{\r
+       dbDeleteList(stat->fields);\r
+       dbDeleteList(stat->tables);\r
+       dbDeleteList(stat->wheres);\r
+       dbDeleteList(stat->auxlist);\r
+       free(stat);\r
+       stat=NULL;\r
+}\r
+\r
+void dbResultSetClose(DbResultSet* rs)\r
+{\r
+       fclose(rs->datafile);\r
+       free(rs->fieldspecs);\r
+       free(rs);\r
+       rs=NULL;\r
+}\r
+\r
+WORD dbFieldOffset(DbResultSet* tbl, WORD field)\r
+{\r
+       WORD i,s=0;\r
+       for(i=0; i<field; i++)\r
+               s+=tbl->fieldspecs[i].size;\r
+       s+=2;\r
+       return s;\r
+}\r
+\r
+WORD dbRecordSize(DbResultSet* tbl)\r
+{\r
+       return dbFieldOffset(tbl,tbl->fields);\r
+}\r
+\r
+WORD dbFieldSearch(DbResultSet* tbl,char* str)\r
+{\r
+       WORD i;\r
+       for(i=0; i<tbl->fields; i++)\r
+               if(strcmp(tbl->fieldspecs[i].name,str)==0)\r
+                       return i;\r
+       return -1;\r
+}\r
+\r
+DbResultSet* dbExecuteQuery(DbStatement* stat)\r
+{\r
+       DbResultSet* rs=malloc(sizeof(DbResultSet));\r
+       DbTable* tbl=malloc(sizeof(DbTable));\r
+       DbField* field;\r
+       DbListEntry* current;\r
+       WORD* offset;\r
+       WORD* size;\r
+       BYTE *src,*dst;\r
+       WORD ptr;\r
+       WORD i,j,rowsize,recsize;\r
+       DbExpression* where;\r
+       WORD sp=0;\r
+       DbRow* dummy=dbNewRow();\r
+\r
+       strcpy(tbl->name,stat->tables->data);\r
+       dbTableOpen(tbl);\r
+\r
+       rs->rows=0;\r
+       rs->rowptr=0;\r
+\r
+       if(strcmp(stat->fields[0].data,"\"*\"")==0){\r
+               rs->fields=tbl->fields;\r
+               offset=malloc(rs->fields*2);\r
+               size=malloc(rs->fields*2);\r
+               rs->fieldspecs=malloc(sizeof(DbField)*rs->fields);\r
+               for(i=0; i<rs->fields; i++){\r
+                       field=&(tbl->fieldspecs[i]);\r
+                       offset[i]=dbFieldOffset((DbResultSet*) tbl,i);\r
+                       size[i]=field->size;\r
+                       memcpy(&(rs->fieldspecs[i]),&(tbl->fieldspecs[i]),sizeof(DbField));\r
+               }               \r
+       }else{\r
+               rs->fields=dbListSize(stat->fields);\r
+               offset=malloc(rs->fields*2);\r
+               size=malloc(rs->fields*2);\r
+               rs->fieldspecs=malloc(sizeof(DbField)*rs->fields);\r
+               current=stat->fields;\r
+               for(i=0; i<rs->fields; i++){\r
+                       WORD j=dbFieldSearch((DbResultSet*) tbl,current->data);\r
+                       field=&(tbl->fieldspecs[j]);\r
+                       offset[i]=dbFieldOffset((DbResultSet*) tbl,j);\r
+                       size[i]=field->size;\r
+                       memcpy(&(rs->fieldspecs[i]),&(tbl->fieldspecs[j]),sizeof(DbField));\r
+                       current=current->next;\r
+               }\r
+       }\r
+       recsize=dbRecordSize((DbResultSet*) tbl);\r
+       src=malloc(recsize);\r
+       rowsize=dbRecordSize(rs);\r
+       dst=malloc(rowsize);\r
+       dummy->source=(DbResultSet*) tbl;\r
+       dummy->rownr=0;\r
+       dummy->data=src;\r
+\r
+       rs->datafile=fopen("result","wb");\r
+       if(stat->wheres!=NULL)\r
+               where=dbParseExpression(stat->wheres->data,&sp);\r
+       else\r
+               where=dbParseExpression(NULL,&sp);\r
+\r
+       for(i=0; i<tbl->numrecs; i++){\r
+               fread(src,recsize,1,tbl->datafile);\r
+               if(src[0]==0x01){\r
+                       dst[0]=1;\r
+                       dst[1]=0;\r
+                       ptr=2;\r
+                       for(j=0; j<rs->fields; j++){\r
+                               memcpy(dst+ptr,src+offset[j],size[j]);\r
+                               ptr+=size[j];\r
+                       }\r
+                       dbEvaluateExpression(where,dummy);\r
+                       if(where->result==1){\r
+                               fwrite(dst,rowsize,1,rs->datafile);\r
+                               rs->rows++;\r
+                       }\r
+               }\r
+       }\r
+       free(src);\r
+       free(offset);\r
+       free(size);\r
+       free(dummy);\r
+       dbDeleteExpression(where);\r
+\r
+       dbTableClose(tbl);\r
+       fclose(rs->datafile);\r
+       rs->datafile=fopen("result","r+b");\r
+       return rs;\r
+}\r
+\r
+DbResultSet* dbExecuteInsert(DbStatement* stat)\r
+{\r
+       DbTable *tbl=malloc(sizeof(DbTable));\r
+       BYTE* record;\r
+       BYTE* buf;\r
+       DbListEntry *currentf,*currentv;\r
+       DbField* field;\r
+       WORD fields;\r
+       WORD i;\r
+       WORD offset,size;\r
+       WORD recsize;\r
+       strcpy(tbl->name,stat->tables->data);\r
+       dbTableOpen(tbl);\r
+\r
+       recsize=dbRecordSize((DbResultSet*) tbl);\r
+       record=malloc(recsize);\r
+       for(i=0; i<recsize; i++)\r
+               record[i]=0;\r
+       buf=malloc(recsize);\r
+       ((WORD*)(record))[0]=0x0001;\r
+       fields=dbListSize(stat->fields);\r
+       currentf=stat->fields; \r
+       currentv=stat->auxlist;\r
+       for(i=0; i<fields; i++){\r
+               WORD j=dbFieldSearch((DbResultSet*) tbl,currentf->data);\r
+               field=&(tbl->fieldspecs[j]);\r
+               offset=dbFieldOffset((DbResultSet*) tbl,j);\r
+               size=field->size;\r
+               if(currentv->data[0]=='\''){\r
+                       currentv->data[strlen(currentv->data)-1]=0;\r
+                       switch(field->datatype){\r
+                       case 'S':\r
+                               memcpy(record+offset,currentv->data+1,size);\r
+                               break;\r
+                       case 'I':\r
+                               if(field->size==2)\r
+                                       *((WORD*) (record+offset))=atoi(currentv->data+1);\r
+                               else if(field->size==4)\r
+                                       *((LONG*) (record+offset))=atol(currentv->data+1);\r
+                       }\r
+               }else{\r
+                       switch(field->datatype){\r
+                       case 'I':\r
+                               if(field->size==2)\r
+                                       *((WORD*) (record+offset))=atoi(currentv->data);\r
+                               else if(field->size==4)\r
+                                       *((LONG*) (record+offset))=atol(currentv->data);\r
+                       }\r
+               }\r
+               currentf=currentf->next;\r
+               currentv=currentv->next;\r
+       }\r
+\r
+       if(tbl->unusedrecs==0){\r
+               fseek(tbl->datafile,4,SEEK_SET);\r
+               *((WORD*) buf)=tbl->numrecs+1;\r
+               fwrite(buf,2,1,tbl->datafile);\r
+               fseek(tbl->datafile,0L,SEEK_END);\r
+       } else {\r
+               fseek(tbl->datafile,6,SEEK_SET);\r
+               *((WORD*) buf)=tbl->unusedrecs-1;\r
+               fwrite(buf,2,1,tbl->datafile);\r
+               fseek(tbl->datafile,0x0a,SEEK_SET);\r
+               ((WORD*) buf)[0]=(WORD) 0xffff;\r
+               while(buf[0]!=0x00)\r
+                       fread(buf,recsize,1,tbl->datafile);\r
+               fseek(tbl->datafile,-recsize,SEEK_CUR);\r
+       }\r
+       fwrite(record,recsize,1,tbl->datafile);\r
+\r
+       free(record);\r
+       free(buf);\r
+\r
+       dbTableClose(tbl);\r
+\r
+       return NULL;\r
+}\r
+\r
+DbResultSet* dbExecuteDelete(DbStatement* stat)\r
+{\r
+       DbTable *tbl=malloc(sizeof(DbTable));\r
+       BYTE* record;\r
+       WORD i;\r
+       WORD recsize;\r
+       WORD deletes;\r
+       DbExpression* expr;\r
+       DbRow* row;\r
+       strcpy(tbl->name,stat->tables->data);\r
+       dbTableOpen(tbl);\r
+       \r
+       recsize=dbRecordSize((DbResultSet*) tbl);\r
+       record=malloc(recsize);\r
+       i=0;\r
+       if(stat->wheres!=NULL)\r
+               expr=dbParseExpression(stat->wheres->data,&i);\r
+       else\r
+               expr=dbParseExpression(NULL,&i);\r
+       row=dbNewRow();\r
+       row->source=(DbResultSet*) tbl;\r
+       row->data=record;\r
+       row->rownr=0;\r
+       deletes=0;\r
+       for(i=0; i<tbl->numrecs; i++)\r
+       {\r
+               fread(row->data,recsize,1,tbl->datafile);\r
+               if(record[0]==0x01){\r
+                       dbEvaluateExpression(expr,row);\r
+                       if(expr->result==1){\r
+                               record[0]=0;\r
+                               fseek(tbl->datafile,-recsize,SEEK_CUR);\r
+                               fwrite(row->data,recsize,1,tbl->datafile);\r
+                               fseek(tbl->datafile,0,SEEK_CUR);\r
+                               deletes++;\r
+                       }\r
+               }\r
+       }\r
+       dbDeleteRow(row);\r
+       fseek(tbl->datafile,6,SEEK_SET);\r
+       deletes+=tbl->unusedrecs;\r
+       fwrite(&deletes,2,1,tbl->datafile);\r
+\r
+       dbDeleteExpression(expr);\r
+       dbTableClose(tbl);\r
+       return NULL;\r
+}\r
+\r
+DbResultSet* dbExecuteUpdate(DbStatement* stat){\r
+       DbTable *tbl=malloc(sizeof(DbTable));\r
+       BYTE* record;\r
+       WORD i,j,k,l;\r
+       WORD recsize;\r
+       WORD nfields;\r
+       DbExpression* expr;\r
+       DbExpression** fieldexpr;\r
+       DbRow* row;\r
+       DbListEntry* current;\r
+       char* str;\r
+       strcpy(tbl->name,stat->tables->data);\r
+       dbTableOpen(tbl);\r
+       \r
+       recsize=dbRecordSize((DbResultSet*) tbl);\r
+       record=malloc(recsize);\r
+       i=0;\r
+       if(stat->wheres!=NULL)\r
+               expr=dbParseExpression(stat->wheres->data,&i);\r
+       else\r
+               expr=dbParseExpression(NULL,&i);\r
+       row=dbNewRow();\r
+       row->source=(DbResultSet*) tbl;\r
+       row->data=record;\r
+       row->rownr=0;\r
+       nfields=dbListSize(stat->fields);\r
+       fieldexpr=malloc(nfields*sizeof(DbExpression*));\r
+       current=stat->fields;\r
+\r
+       for(j=0; j<nfields; j++){\r
+               str=dbReplaceChar(current->data,'=',(BYTE) 0x00);\r
+               l=0;\r
+               fieldexpr[j]=dbParseExpression(str+1,&l);\r
+               current=current->next;\r
+       }\r
+       \r
+       for(i=0; i<tbl->numrecs; i++)\r
+       {\r
+               fread(row->data,recsize,1,tbl->datafile);\r
+               if(record[0]==0x01){\r
+                       dbEvaluateExpression(expr,row);\r
+                       if(expr->result==1){                            \r
+                               fseek(tbl->datafile,-recsize,SEEK_CUR);\r
+                               for(j=0; j<nfields; j++)\r
+                                       dbEvaluateExpression(fieldexpr[j],row);\r
+                               current=stat->fields;\r
+                               for(j=0; j<nfields; j++){\r
+                                       k=dbFieldSearch((DbResultSet*) tbl,current->data);\r
+                                       l=dbFieldOffset((DbResultSet*) tbl,k);\r
+                                       switch(tbl->fieldspecs[k].datatype){\r
+                                       case 'S':\r
+                                               memcpy(row->data+l,fieldexpr[j]->sresult,tbl->fieldspecs[k].size);\r
+                                               break;\r
+                                       case 'I':\r
+                                               memcpy(row->data+l,&(fieldexpr[j]->result),tbl->fieldspecs[k].size);\r
+                                               break;\r
+                                       }\r
+                                       current=current->next;\r
+                               }\r
+\r
+                               fwrite(row->data,recsize,1,tbl->datafile);\r
+                               fseek(tbl->datafile,0,SEEK_CUR);\r
+                       }\r
+               }\r
+       }\r
+       dbDeleteRow(row);\r
+       for(j=0; j<nfields; j++)\r
+               dbDeleteExpression(fieldexpr[j]);\r
+       free(fieldexpr);\r
+\r
+       dbTableClose(tbl);\r
+       return NULL;\r
+}\r
+\r
+DbResultSet* dbExecuteStatement(char* str)\r
+{\r
+       DbStatement* stat;\r
+       DbResultSet* rs=NULL;\r
+\r
+       stat=dbParseStatement(str);\r
+       if(stat==NULL)\r
+               return NULL; \r
+       switch(stat->type){\r
+       case STMT_SELECT:\r
+               rs=dbExecuteQuery(stat); break;\r
+       case STMT_INSERT:\r
+               rs=dbExecuteInsert(stat); break;\r
+       case STMT_DELETE:\r
+               rs=dbExecuteDelete(stat); break;\r
+       case STMT_UPDATE:\r
+               rs=dbExecuteUpdate(stat); break;\r
+       }\r
+       dbStatementClose(stat);\r
+       return rs;\r
+}\r
+\r
+void dbNextRow(DbResultSet* rs, DbRow* row)\r
+{\r
+       WORD s;\r
+\r
+       s=dbRecordSize(rs);\r
+\r
+       if(row->data==NULL){\r
+               row->data=malloc(s);\r
+       } \r
+       if(rs->rowptr>=rs->rows){\r
+               row->rownr=-1;\r
+               free(row->data);\r
+               row->data=NULL;\r
+       }else{\r
+               row->rownr=rs->rowptr++;\r
+               row->source=rs;\r
+               fread(row->data,s,1,rs->datafile);\r
+       }\r
+}\r
+\r
+void dbDeleteRow(DbRow* row)\r
+{\r
+       if(row!=NULL){\r
+               if(row->data!=NULL)\r
+                       free(row->data);\r
+               free(row);\r
+       }\r
+}\r
+\r
+DbRow* dbNewRow()\r
+{\r
+       DbRow* row=malloc(sizeof(DbRow));\r
+       row->data=NULL;\r
+       row->source=NULL;\r
+       row->rownr=-1;\r
+       return row;\r
+}\r
+\r
+\r
+void dbGetString(DbRow* row, WORD field, char* dest)\r
+{\r
+       WORD o,i;\r
+       BYTE* dat=(BYTE*)(row->data);\r
+       o=dbFieldOffset(row->source,field);\r
+       i=0;\r
+       switch(row->source->fieldspecs[field].datatype){\r
+       case 'S':\r
+               strcpy(dest,dat+o);\r
+               break;\r
+       case 'I':\r
+               if(row->source->fieldspecs[field].size==2)\r
+                       itoa(*((WORD*) (dat+o)),dest,10);\r
+               else if (row->source->fieldspecs[field].size==4)\r
+                       ltoa(*((LONG*) (dat+o)),dest,10);\r
+               break;\r
+       }\r
+}\r
+\r
+WORD dbGetInt(DbRow* row, WORD field)\r
+{\r
+       WORD o;\r
+       BYTE* dat=(BYTE*)(row->data);\r
+       o=dbFieldOffset(row->source,field);\r
+       switch(row->source->fieldspecs[field].datatype){\r
+       case 'S':\r
+               return atoi(dat+o);\r
+       case 'I':\r
+               return *((WORD*) (dat+o));\r
+       default:\r
+               return 0;\r
+       }\r
+}\r
+\r
+LONG dbGetLong(DbRow* row, WORD field)\r
+{\r
+       WORD o;\r
+       BYTE* dat=(BYTE*)(row->data);\r
+       o=dbFieldOffset(row->source,field);\r
+       switch(row->source->fieldspecs[field].datatype){\r
+       case 'S':\r
+               return atol(dat+o);\r
+       case 'I':\r
+               if(row->source->fieldspecs[field].size==2)\r
+                       return (LONG) (*((WORD*) (dat+o)));\r
+               else\r
+                       return *((LONG*) (dat+o));\r
+       default:\r
+               return 0;\r
+       }\r
+}\r
+\r
+BYTE dbOperatorPrecedence(BYTE oper){\r
+       switch(oper){\r
+       case '(':\r
+               return 1;\r
+       case '^':\r
+               return 2;\r
+       case '*':\r
+       case '/':\r
+               return 3;\r
+       case '+':\r
+       case '-':\r
+               return 4;\r
+       case '=':                       /* 5 = OPERATOR_LOGIC */\r
+       case '>':\r
+       case '<':\r
+       case ']':\r
+       case '[':\r
+               return 5;\r
+       case '&':\r
+       case '|':\r
+               return 6;\r
+       case ';':\r
+       case ')':\r
+       case 0x00:\r
+               return 63;\r
+       default:\r
+               return 0;\r
+       }\r
+}\r
+\r
+DbExpression* dbNewExpression(DbExpression* p, BYTE t){\r
+       DbExpression* r=malloc(sizeof(DbExpression));\r
+       r->eval=0;\r
+       r->expr[0]=NULL;\r
+       r->expr[1]=NULL;\r
+       r->oper=0;\r
+       r->parent=p;\r
+       r->type=t;\r
+       r->result=0;\r
+       return r;\r
+}\r
+\r
+DbExpression* dbParseExpression(char* str, WORD* strptr){\r
+       DbExpression *ret,*fetch;\r
+       DbExpression* expr=NULL;\r
+       char value[64];\r
+       WORD prec;\r
+       WORD i;\r
+       WORD valptr=0;\r
+       if(str==NULL){\r
+               ret=dbNewExpression(NULL,EXPR_VALUE);\r
+               ret->value[0]='1';\r
+               ret->value[1]=0;\r
+               return ret;\r
+       }\r
+\r
+       for(i=0; i<64; i++)\r
+               value[i]=0;\r
+#ifdef EXPR_DISPLAY\r
+       printf("Parsing: '%s'\n",str+(*strptr));\r
+#endif\r
+       ret=dbNewExpression(NULL,EXPR_EXPR);\r
+       fetch=ret;\r
+#ifdef EXPR_DISPLAY\r
+       DisplayExpression(ret);printf("\n");\r
+#endif\r
+       do{\r
+               expr=NULL;\r
+terug:\r
+               prec=dbOperatorPrecedence(str[*strptr]);\r
+               if(prec==0)\r
+                       value[valptr]=str[*strptr];\r
+               else if(prec==1){\r
+                       if(str[*strptr]==')')\r
+                               prec=63;        \r
+                       if(str[*strptr]=='('){\r
+                               valptr=0;\r
+                               (*strptr)++;\r
+                               expr=dbParseExpression(str,strptr);\r
+                               goto terug;\r
+                       }\r
+               } else {\r
+                       value[valptr]=0;\r
+                       if(fetch->expr[0]==NULL){\r
+                               if(expr==NULL){\r
+                                       fetch->expr[0]=dbNewExpression(fetch,EXPR_VALUE);\r
+                                       strcpy(fetch->expr[0]->value,value);\r
+                               }else\r
+                                       fetch->expr[0]=expr;\r
+                               fetch->oper=str[*strptr];\r
+                       } else {\r
+                               if(dbOperatorPrecedence(fetch->oper)>prec){\r
+                                       fetch->expr[1]=dbNewExpression(fetch,EXPR_EXPR);\r
+                                       if(expr==NULL){\r
+                                               fetch->expr[1]->expr[0]=dbNewExpression(fetch->expr[1],EXPR_VALUE);\r
+                                               strcpy(fetch->expr[1]->expr[0]->value,value);\r
+                                       }else\r
+                                               fetch->expr[1]->expr[0]=expr;\r
+                                       fetch->expr[1]->oper=str[*strptr];\r
+                                       fetch=fetch->expr[1];\r
+                               } else if(prec==63){\r
+                                       if(expr==NULL){\r
+                                               fetch->expr[1]=dbNewExpression(fetch,EXPR_VALUE);\r
+                                               strcpy(fetch->expr[1]->value,value);\r
+                                       }else\r
+                                               fetch->expr[1]=expr;\r
+                               } else if(dbOperatorPrecedence(fetch->oper)<=prec){\r
+                                       if(expr==NULL){\r
+                                               fetch->expr[1]=dbNewExpression(fetch,EXPR_VALUE);\r
+                                               strcpy(fetch->expr[1]->value,value);\r
+                                       }else\r
+                                               fetch->expr[1]=expr;\r
+                                       while (dbOperatorPrecedence(fetch->oper)<=prec && fetch->parent!=NULL)\r
+                                       {\r
+                                               fetch=fetch->parent;\r
+                                       } \r
+                                       if(fetch->parent==NULL && dbOperatorPrecedence(fetch->oper)<=prec){\r
+                                               ret=dbNewExpression(NULL,EXPR_EXPR);\r
+                                               ret->expr[0]=fetch;\r
+                                               ret->oper=str[*strptr];\r
+                                               fetch=ret;                              \r
+                                       }else if(fetch->parent==NULL && dbOperatorPrecedence(fetch->oper)>prec){                                                \r
+                                               DbExpression* dummy;\r
+                                               dummy=dbNewExpression(fetch,EXPR_EXPR);\r
+                                               dummy->expr[0]=fetch->expr[1];\r
+                                               dummy->oper=str[*strptr];\r
+                                               dummy->expr[0]->parent=dummy;\r
+                                               fetch->expr[1]=dummy;\r
+                                               fetch=dummy;\r
+                                       }else{\r
+                                               DbExpression* par=fetch->parent;\r
+                                               par->expr[1]=dbNewExpression(par,EXPR_EXPR);\r
+                                               par->expr[1]->expr[0]=fetch;\r
+                                               par->expr[1]->oper=str[*strptr];\r
+                                               fetch=par->expr[1];\r
+                                       }\r
+                               }\r
+                       }       \r
+                       valptr=-1;\r
+#ifdef EXPR_DISPLAY\r
+                       DisplayExpression(ret);printf("\n");\r
+#endif\r
+               }\r
+               valptr++; (*strptr)++;\r
+       } while(prec<63);\r
+       while(ret->expr[1]==NULL && ret->type==EXPR_EXPR){\r
+               fetch=ret;\r
+               ret=ret->expr[0];\r
+               free(fetch);\r
+       }\r
+       return ret;\r
+}\r
+\r
+void dbDeleteExpression(DbExpression* expr){\r
+       if(expr->type==EXPR_EXPR){\r
+               dbDeleteExpression(expr->expr[0]);\r
+               dbDeleteExpression(expr->expr[1]);\r
+       } \r
+       free(expr);\r
+       \r
+}\r
+\r
+#ifdef EXPR_DISPLAY\r
+\r
+void DisplayExpression(DbExpression* expr){\r
+       if(expr==NULL)\r
+               printf("..");\r
+       else{\r
+               if(expr->type==EXPR_EXPR){\r
+                       printf("(");\r
+                       DisplayExpression(expr->expr[0]);\r
+                       printf("%c",expr->oper);\r
+                       DisplayExpression(expr->expr[1]);\r
+                       printf(")");\r
+               } else\r
+                       printf("%s",expr->value);\r
+       }\r
+}\r
+\r
+void DisplayExpressionTree(char* str){\r
+       DbExpression* expr;\r
+       WORD ptr=0;\r
+       expr=dbParseExpression(str,&ptr);\r
+       DisplayExpression(expr);\r
+       dbDeleteExpression(expr);\r
+       printf("\n");\r
+}\r
+\r
+#endif\r
+\r
+void dbEvaluateExpression(DbExpression* expr, DbRow* row){\r
+       if(expr->type==EXPR_EXPR){\r
+               dbEvaluateExpression(expr->expr[0],row);\r
+               dbEvaluateExpression(expr->expr[1],row);\r
+               if(dbOperatorPrecedence(expr->oper)<OPERATOR_LOGIC){\r
+                       if(expr->expr[0]->valuetype==VALTYPE_INT && expr->expr[1]->valuetype==VALTYPE_INT){\r
+                               LONG res;\r
+                               expr->valuetype=VALTYPE_INT;\r
+                               switch(expr->oper){\r
+                               case '+':\r
+                                       res=expr->expr[0]->result + expr->expr[1]->result;\r
+                                       break;\r
+                               case '-':\r
+                                       res=expr->expr[0]->result - expr->expr[1]->result;\r
+                                       break;\r
+                               case '*':\r
+                                       res=expr->expr[0]->result * expr->expr[1]->result;\r
+                                       break;\r
+                               case '/':\r
+                                       res=expr->expr[0]->result / expr->expr[1]->result;\r
+                                       break;\r
+                               }\r
+                               expr->result=res;\r
+                       }\r
+               } else {\r
+                       if(expr->expr[0]->valuetype!=VALTYPE_STRING && expr->expr[1]->valuetype!=VALTYPE_STRING){\r
+                               expr->valuetype=VALTYPE_BOOLEAN;\r
+                               switch(expr->oper){\r
+                               case '=':\r
+                                       expr->result=expr->expr[0]->result == expr->expr[1]->result?1:0;\r
+                                       break;\r
+                               case '<':\r
+                                       expr->result=expr->expr[0]->result < expr->expr[1]->result?1:0;\r
+                                       break;\r
+                               case '>':\r
+                                       expr->result=expr->expr[0]->result > expr->expr[1]->result?1:0;\r
+                                       break;\r
+                               case '[':\r
+                                       expr->result=expr->expr[0]->result <= expr->expr[1]->result?1:0;\r
+                                       break;\r
+                               case ']':\r
+                                       expr->result=expr->expr[0]->result >= expr->expr[1]->result?1:0;\r
+                                       break;\r
+                               case '&':\r
+                                       expr->result=expr->expr[0]->result & expr->expr[1]->result;\r
+                                       break;\r
+                               case '|':\r
+                                       expr->result=expr->expr[0]->result | expr->expr[1]->result;\r
+                                       break;\r
+                               }\r
+                       }\r
+\r
+                       if(expr->expr[0]->valuetype==VALTYPE_STRING && expr->expr[1]->valuetype==VALTYPE_STRING){\r
+                               WORD cmp=strcmp(expr->expr[0]->sresult,expr->expr[1]->sresult);\r
+                               switch(expr->oper){\r
+                               case '=':\r
+                                       expr->valuetype=VALTYPE_BOOLEAN;\r
+                                       expr->result=(cmp==0)?1:0;\r
+                                       break;\r
+                               case '<':\r
+                                       expr->valuetype=VALTYPE_BOOLEAN;\r
+                                       expr->result=(cmp<0)?1:0;\r
+                                       break;\r
+                               case '>':\r
+                                       expr->valuetype=VALTYPE_BOOLEAN;\r
+                                       expr->result=(cmp>0)?1:0;\r
+                                       break;\r
+                               case '[':\r
+                                       expr->valuetype=VALTYPE_BOOLEAN;\r
+                                       expr->result=(cmp<=0)?1:0;\r
+                                       break;\r
+                               case ']':\r
+                                       expr->valuetype=VALTYPE_BOOLEAN;\r
+                                       expr->result=(cmp>=0)?1:0;\r
+                                       break;\r
+                               case '+':\r
+                                       expr->valuetype=VALTYPE_STRING;\r
+                                       strcpy(expr->sresult,expr->expr[0]->sresult);\r
+                                       strcat(expr->sresult,expr->expr[1]->sresult);\r
+                                       break;\r
+                               }\r
+                       }\r
+                       if(expr->expr[0]->valuetype==VALTYPE_BOOLEAN && expr->expr[1]->valuetype==VALTYPE_BOOLEAN){\r
+                               expr->valuetype=VALTYPE_BOOLEAN;\r
+                               switch(expr->oper){\r
+                               case '&':\r
+                                       expr->result=expr->expr[0]->result & expr->expr[1]->result;\r
+                                       break;\r
+                               case '|':\r
+                                       expr->result=expr->expr[0]->result | expr->expr[1]->result;\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+               \r
+       } else {        \r
+               WORD i,n,f=-1;\r
+               if(row!=NULL){\r
+                       n=row->source->fields;\r
+                       for(i=0; i<n; i++){\r
+                               if(strcmp(row->source->fieldspecs[i].name,expr->value)==0)\r
+                                       f=i;\r
+                               /*expr->type=EXPR_FIELD;*/\r
+                       }\r
+               }\r
+               if(f<0 || row==NULL){\r
+                       if(expr->value[0]=='\''){\r
+                               expr->valuetype=VALTYPE_STRING;\r
+                               strcpy(expr->sresult,expr->value+1);\r
+                               expr->sresult[strlen(expr->sresult)-1]=0;\r
+                       } else {\r
+                               expr->valuetype=VALTYPE_INT;\r
+                               expr->result=atol(expr->value);\r
+                       }\r
+               }else{\r
+                       if(row->source->fieldspecs[f].datatype=='I'){\r
+                               expr->valuetype=VALTYPE_INT;\r
+                               expr->result=dbGetLong(row,f);\r
+                       } else if (row->source->fieldspecs[f].datatype=='S'){\r
+                               expr->valuetype=VALTYPE_STRING;\r
+                               dbGetString(row,f,expr->sresult);\r
+                       }\r
+               }\r
+       }\r
+#ifdef EXPR_DISPLAY\r
+       DisplayExpression(expr);printf("=%ld\n",expr->result);\r
+#endif\r
+}\r
diff --git a/src/db/db.h b/src/db/db.h
new file mode 100644 (file)
index 0000000..f2543c9
--- /dev/null
@@ -0,0 +1,152 @@
+#ifndef _DB_H\r
+#define _DB_H\r
+\r
+#include <stdio.h>\r
+/*#define INTEL removed by Nick - please see n.bat */\r
+/*#define EXPR_DISPLAY*/\r
+/*#define FULLSQL*/\r
+\r
+typedef unsigned char BYTE;\r
+#ifdef ZILOG\r
+typedef int WORD;\r
+typedef long LONG;\r
+typedef float FLOAT;\r
+#else\r
+typedef short WORD;\r
+typedef int LONG;\r
+typedef float FLOAT;\r
+#endif\r
+\r
+typedef struct DbListEntry{\r
+       struct DbListEntry* previous;\r
+       struct DbListEntry* next;\r
+       BYTE* data;\r
+} DbListEntry; \r
+\r
+typedef struct DbTreeListEntry{\r
+       struct DbTreeListEntry* previous;\r
+       struct DbTreeListEntry* next;\r
+       BYTE* data;\r
+       struct DbTreeListEntry* firstchild;\r
+       BYTE operation;\r
+} DbTreeListEntry;\r
+\r
+typedef struct DbStatement {\r
+       BYTE type;\r
+       DbListEntry* fields;\r
+       DbListEntry* tables;\r
+       DbListEntry* wheres;\r
+       DbListEntry* auxlist;\r
+} DbStatement;\r
+\r
+typedef struct DbField {\r
+       char name[9];\r
+       BYTE datatype;\r
+       BYTE size;\r
+       BYTE index;\r
+} DbField;\r
+\r
+typedef struct DbTable {\r
+       WORD fields;\r
+       DbField* fieldspecs;\r
+       WORD numrecs;\r
+       WORD unusedrecs;\r
+       FILE* datafile;\r
+       BYTE open;\r
+       char name[9];\r
+} DbTable;\r
+\r
+typedef struct DbResultSet {\r
+       WORD fields;\r
+       DbField* fieldspecs;\r
+       WORD rows;\r
+       WORD rowptr;\r
+       FILE* datafile;\r
+} DbResultSet;\r
+\r
+typedef union DbRowSet{\r
+       DbTable astable;\r
+       DbResultSet asresult;\r
+} DbRowSet;\r
+\r
+typedef struct DbRow {\r
+       DbResultSet* source;\r
+       WORD rownr;\r
+       BYTE* data;\r
+} DbRow;\r
+\r
+typedef struct DbExpression {\r
+       BYTE type;\r
+       BYTE valuetype;\r
+       BYTE oper;\r
+       BYTE eval;\r
+       char value[32];\r
+       LONG result;\r
+       char sresult[32];\r
+       struct DbExpression* expr[2];\r
+       struct DbExpression* parent;\r
+} DbExpression;\r
+\r
+void dbDeleteList(DbListEntry* lst);\r
+WORD dbListIndex(DbListEntry* lst);\r
+WORD dbListSize(DbListEntry* lst);\r
+void dbSkipLiteral(char ch, char* str, WORD* src, WORD* dst);\r
+\r
+void dbTrimString(char* str);\r
+DbStatement* dbParseStatement(char* str);\r
+DbStatement* dbParseSelect(char* str);\r
+DbStatement* dbParseInsert(char* str);\r
+DbStatement* dbParseUpdate(char* str);\r
+DbStatement* dbParseDelete(char* str);\r
+DbListEntry* dbParseList(char* str,char eoe,char eol,WORD* ptr);\r
+DbResultSet* dbExecuteStatement(char* str);\r
+DbResultSet* dbExecuteQuery(DbStatement* stat);\r
+DbResultSet* dbExecuteInsert(DbStatement* stat);\r
+\r
+void dbTableOpen(DbTable* tbl);\r
+void dbTableClose(DbTable* tbl);\r
+void dbStatementClose(DbStatement* stat);\r
+void dbResultSetClose(DbResultSet* rs);\r
+void dbDeleteRow(DbRow* row);\r
+DbRow* dbNewRow();\r
+\r
+WORD dbFieldOffset(DbResultSet* tbl, WORD field);\r
+WORD dbRecordSize(DbResultSet* tbl);\r
+WORD dbFieldSearch(DbResultSet* tbl,char* str);\r
+\r
+void dbNextRow(DbResultSet* rs, DbRow* row);\r
+void dbGetString(DbRow* row,WORD field, char* dest);\r
+WORD dbGetInt(DbRow* row, WORD field);\r
+LONG dbGetLong(DbRow* row, WORD field);\r
+\r
+BYTE dbOperatorPrecedence(BYTE oper);\r
+DbExpression* dbParseExpression(char* str, WORD* strptr);\r
+void dbDeleteExpression(DbExpression* expr);\r
+void dbEvaluateExpression(DbExpression* expr, DbRow* row);\r
+#ifdef EXPR_DISPLAY\r
+void DisplayExpression(DbExpression* expr);\r
+void DisplayExpressionTree(char* str);\r
+#endif\r
+\r
+#define STMT_SELECT            's'\r
+#define STMT_INSERT            'i'\r
+#define STMT_UPDATE            'u'\r
+#define STMT_DELETE            'd'\r
+#ifdef ZILOG\r
+#define DB_DIRECTORY   "/usr/db/"\r
+#else\r
+#define DB_DIRECTORY   ".\\"\r
+#endif\r
+\r
+#define EXPR_VALUE             1\r
+#define EXPR_FIELD             2       /*Unused*/\r
+#define        EXPR_EXPR               3\r
+\r
+#define VALTYPE_INT            1\r
+#define VALTYPE_FLOAT  2       /*Unused*/\r
+#define VALTYPE_STRING 3\r
+#define VALTYPE_BOOLEAN        4\r
+\r
+#define OPERATOR_LOGIC 5       /* Operator precedence base-nr. for logical operators*/\r
+\r
+#endif
\ No newline at end of file
diff --git a/src/db/db.i86 b/src/db/db.i86
new file mode 100644 (file)
index 0000000..3299ad7
--- /dev/null
@@ -0,0 +1,712 @@
+:020000040000FA\r
+:20000000C9A6020078563412140000810081418684888498D1ED534186C1ED434386E122C1\r
+:130020004586219C6F3E00CD1982EB21AE4C3E01C319828D\r
+:20055500DDE5D5DDE17BB22827DD7E04DDB6052803CD8A45DD7E02DDB603280EDD5E02DDB4\r
+:2005750056033E00215545CD1982DDE5D1CD9045DDE1C3A981DD5E04DD56053E00213C7E3C\r
+:20059500C31982C5FDE5DDE5D56B62E5DDE1FD210000DD7E00DDB601280DDD6E00DD660169\r
+:2005B500E5DDE1FD2318EBFDE5E1F1DDE1FDE1C1C3A981C5FDE5DDE5D56B62E5DDE1EB3E8B\r
+:2005D50000219845CD198223E5FDE1DD7E02DDB603280DDD6E02DD6603E5DDE1FD2318EB39\r
+:2005F500C3BC45FDE5DDE5D5C5DDE1210A00395E2356D5FDE1FD6E00FD66010956210C00DD\r
+:20061500397E23666F5E23666B0972FDE5E14E234603702B71DDE5E1097E21000039BEFD81\r
+:200635006E00FD6601DDE5C10956D5210E00397E23666F5E235613722B73696019D120CAA7\r
+:2006550072E1DDE1FDE1C3A981C5FDE5DDE5DD210000DD39F5F5F5D5FDE1AFDD77FADD7749\r
+:20067500FBDD77FCDD77FDDD36FE20DD6EFADD66FBFDE5C1097EB7CADE47DD6EFADD66FBC2\r
+:20069500097EFE27280CDD6EFADD66FB097EFE22201D21020039E52B2BE5DD6EFADD66FBFF\r
+:2006B500FDE5D1195E3E0021F845CD1982E1E1DD7EFEFE20C26D47DD6EFADD66FBFDE5C122\r
+:2006D500097EFE2CCA6047DD6EFADD66FB097EFE292878DD6EFADD66FB097EFE28286CDD71\r
+:2006F5006EFADD66FB097EFE2B2860DD6EFADD66FB097EFE2D2854DD6EFADD66FB097EFE4E\r
+:200715002A2848DD6EFADD66FB097EFE2F283CDD6EFADD66FB097EFE262830DD6EFADD6681\r
+:20073500FB097EFE7C2824DD6EFADD66FB097EFE3D2818DD6EFADD66FB097EFE3C280CDD82\r
+:200755006EFADD66FB097EFE3E200DDD6EFCDD66FD2BDD75FCDD74FDDD6EFADD66FBFDE53B\r
+:20077500C10956DD6EFCDD66FD0972DD7EFEFE2C282CFE202828FE282824FE2B2820FE2DEF\r
+:20079500281CFE2A2818FE2F2814FE262810FE7C280CFE3D2808FE3E2804FE3C200CDD6EA1\r
+:2007B500FADD66FB097EFE202808DD34FC2003DD34FDDD6EFADD66FB0946DD70FEDD34FAB1\r
+:2007D500C28046DD34FBC38046DD7EFEFE20DD6EFCDD66FD20012B093600DDF9C3C045FDC3\r
+:2007F500E5DDE5C5D5FDE1DD210000DDE5E1FDE5C1097E21000039BE280CDDE5E1097EB7CD\r
+:200815002804DD2318E5DDE5E1097EB7280CDDE5E109E5210C003946E170DDE5E1FDE5C1B1\r
+:2008350009F1DDE1FDE1C3A981FDE5DDE5DD210000DD39C5D521D8FF39F9110600CDE44993\r
+:20085500E5FDE1DD75DADD74DBAF772377DD77D6DD77D7DD77D4DD77D5DD6E0ADD660B4619\r
+:20087500236668DD4EFCDD46FD097EDDBE082007AFDDB6D4CA9649DD6E0ADD660B462366A9\r
+:2008950068DD46FD097EB7CA9649DD6E0ADD660B46236668DD46FD097EFE222804FE2720C2\r
+:2008B50010AFDDB6D420043E011801AFDD77D4181CFE28200BAFDDB6D42012DD34D5180DD2\r
+:2008D500FE292009AFDDB6D42003DD35D5DD6E0ADD660B46236668DD46FD097EDDBEFE2059\r
+:2008F5000BAFDDB6D42005DDB6D5281DDD6E0ADD660B46236668DD46FD094621080039DD68\r
+:200915005ED6DD56D71970186121080039DD4ED6DD46D7097721080039CDEC49EB13CDE492\r
+:2009350049FD7504FD7405210800394D44FD5E04FD5605CD024AFDE5E1DD75D8DD74D91182\r
+:200955000600CDE449FD7502FD7403FD6E02FD6603E5FDE1DD6ED8DD66D9E5FDE5E1C171EB\r
+:200975002370DD36D6FFDD36D7FFDD6E0ADD660B3423200134DD34D6C26E48DD34D7C36E37\r
+:200995004821080039DD4ED6DD46D7097721080039CDEC49EB13CDE449FD7504FD740521B4\r
+:2009B5000800394D44FD5E04FD5605CD024AAFFD7702FD7703DD6EDADD66DBDDF9DDE1FD10\r
+:2009D500E1C3A981712370FD6E00FD660129EB3E0121824AC31982EB3E00215C7DC3198242\r
+:2009F5004D44FD6E4AFD664B11040019EB3E00211C7FC31982C5FDE5DDE5D5FDE1CDED495E\r
+:200A1500EB13CDE449E5DDE1FDE5C1CD014ADDE5D13E00215E46CD1982210300E50181845E\r
+:200A3500DDE5D1CDB54AF17DB4200ADDE5D13E0021BD4A1852210300E5018584DDE5D1CD20\r
+:200A5500B54AF17DB4200ADDE5D13E0021EC4B1836210300E5018984DDE5D1CDB54AF17DDB\r
+:200A7500B4200ADDE5D13E0021934C181A210300E5018D84DDE5D1CDB54AF17DB4200DDDDA\r
+:200A9500E5D13E0021604DCD19821803210000C3C045DD6EFCDD66FDDD5EFEDD56FF19EB1D\r
+:200AB5003E00218B72C31982C5FDE5DDE5DD210000DD39D5F5110900CDE449E5FDE13673A0\r
+:200AD500AFFD7705FD7706FD7707FD7708DD36FC03DD77FDDD6EFEDD66FF2323237EFE2075\r
+:200AF5002008DD34FC2003DD34FD21000039E50E20C50E2CDD5EFEDD56FFCDE44BF1F1FDC9\r
+:200B15007501FD7402210400E5019184CDA74AF17DB4200D6F67397EC60477300A23341833\r
+:200B350006210000C3DA4B21000039E50E20C50E2CDD5EFEDD56FFCDE44BF1F1FD7503FD6A\r
+:200B55007404210300E5019684CDA74AF17DB4203C6F67397EC60377300223346FDD66FDA3\r
+:200B7500DD4EFEDD46FF097EFE202008DD34FC2003DD34FD21000039E50E20C50E2CDD5E63\r
+:200B9500FE50CDE44BF1F1FD7505FD7406210500E5019A84CDA74AF17DB420266F67397E49\r
+:200BB500C605773002233421000039E50E20C50E2CDD5EFEDD56FFCDE44BF1F1FD7507FD2A\r
+:200BD5007408FDE5E1DDF9C3C0450E2CFDE5D13E00213E48C31982C5FDE5DDE5F5D5FDE1E2\r
+:200BF500110900CDE449E5DDE13669AFDD7705DD77066F6739360423772BE50E28C5CDDF8E\r
+:200C15004BF1F1DD7503DD7404210100E501A08423395623666AFDE5D1CDB34AF17DB42058\r
+:200C3500516F673934232001342BE50E29C5CDDF4BF1F1DD7501DD7402210600E501A284D5\r
+:200C55002E02395623666AFDE5D1CDB34AF17DB420206F67397EC606773002233421000074\r
+:200C750039E50E29C5CDDF4BF1F1DD7507DD740818052100001803DDE5E1F1C3C045C5FD43\r
+:200C9500E5DDE5F5D5FDE1110900CDE449E5DDE13675AFDD7705DD7706DD7707DD77086F06\r
+:200CB5006739360423772BE50E20C5CDDF4BF1F1DD7503DD7404210400E501A9842B2B395E\r
+:200CD5005623666AFDE5D1CDB34AF17DB4200D6F67397EC604773009233418052100001836\r
+:200CF5006621000039E50E20C5CDDF4BF1F1DD7501DD7402210300E50196842B3956236661\r
+:200D15006AFDE5D1CDB34AF17DB420386F67397EC60377300223342100003947236668FD78\r
+:200D3500E5C1097EFE20200921000039342320013421000039E50E20C5CDDF4BF1F1DD75C7\r
+:200D550005DD7406DDE5E1F1C3C045C5FDE5DDE5F5D5FDE1110900CDE449E5DDE13664AFB5\r
+:200D7500DD7705DD7706DD7707DD7708DD7701DD77026F6739360423772BE50E20C5CDDFB7\r
+:200D95004BF1F1DD7503DD7404210300E50196842B395623666AFDE5D1CDB34AF17DB420D7\r
+:200DB500386F67397EC60377300223342100003947236668FDE5C1097EFE2020092100006C\r
+:200DD50039342320013421000039E50E20C5CDDF4BF1F1DD7505DD7406DDE5E1F1C3C04504\r
+:200DF500C5FDE5DDE5DD210000DD39F5F5F5F5D5FDE1114000CDE449DD75F8DD74F901AE4C\r
+:200E150084EBCDA850CD198201B784DD5EF8DD56F93E0021127ACD1982FD360A0021BC8495\r
+:200E3500E5210000E501FFFFDD5EF8DD56F93E0021A37ACD1982F1F1DD75FCDD74FDE521EC\r
+:200E55000100E5010400DD5EF8DD56F93E0021DD70CD1982F1F1DD6EF8DD66F97EFE54C22C\r
+:200E75007F50237EFE42C27F50237EFE4CC27F50237EFE20C27F50DD6EFCDD66FDE52101C2\r
+:200E950000E5010400DD5EF8DD56F93E0021DD70CD1982F1F1DD6EF8DD66F94EDD71FE06DF\r
+:200EB50000DD70FFFDE5E1712370696029294D442909CDE349FD7502FD7403AFDD77FADD71\r
+:200ED50077FBDD4EFEDD46FFDD6EFADD66FBF680ED42E2EB4EACF2944FDD6EFCDD66FDE510\r
+:200EF500210100E5010800FD6E02FD6603E5DD6EFADD66FB29295D542919EBE119EB3E003F\r
+:200F150021DD70CD1982F1F1FD6E02FD6603E5DD6EFADD66FB29294D4429094D44E1090138\r
+:200F350008000970DD6EFCDD66FDE5210100E50E03FD6E02FD6603E5DD6EFADD66FB29290A\r
+:200F55005D542919EBE11911090019EB3E0021DD70CD1982F1F1DD6EFCDD66FDE521010002\r
+:200F7500E54D44DD5EF8DD56F93E0021DD70CD1982F1F1DD34FAC2D74EDD34FBC3D74E01AA\r
+:200F9500AE84DD5EF8DD56F9CDA850CD198201BF84DD5EF8DD56F93E0021127ACD19822167\r
+:200FB500C484E5210000E501FFFFDD5EF8DD56F93E0021A37ACD1982F1F1FD7508FD7409D1\r
+:200FD500FD360A01FD6E08FD6609E5210100E5010400DD5EF8DD56F93E0021DD70CD19827B\r
+:200FF500F1F1DD6EF8DD66F97EFE442012237EFE41200C237EFE542006237EFE20280FFD71\r
+:20101500360A00FD5E08FD5609CDA050185CFD6E08FD6609E5210100E50102002E04FDE5A9\r
+:20103500D119EB3E0021DD70CD1982F1F1FD6E08FD6609E5210100E50102002E06FDE5D11B\r
+:2010550019EB3E0021DD70CD1982F1F1FD6E08FD6609E5210100E5010200DD5EF8DD56F954\r
+:201075003E0021DD70CD1982F1F1DD5EFCDD56FDCDA050DD5EF8DD56F9CD9045DDF9C3C0E7\r
+:2010950045D5DDE1210800195E23563E0121FD4CC319823E00211C7FCD1982210B00FDE5D3\r
+:2010B500C1094D44DD5EF8DD56F93E0021127AC9DDE5CD9650DD5E02DD56033E00213C7EAC\r
+:2010D500CD1982DDE5D1CD9045DDE1C3A981DDE5D5DDE113EB5E23563E00215545CD198228\r
+:2010F500DD5E03DD56043E00215545CD1982DD5E05DD56063E00215545CD1982DD5E07DD0C\r
+:2011150056083E00215545C3D550DDE5CD9650DD5E02DD56033E00213C7EC3D550FDE5DDD3\r
+:20113500E5C5D5DD210000FD210000210200394E2346FDE5E1F680ED42E25251ACF27C5194\r
+:201155002100003946236668232346236668E5FDE5E129294D4429094D44E109010A000920\r
+:201175004EDD09FD2318C4DD23DD23DDE5E1F1C33648C5DDE5D5DDE11A4F131A47DDE5D1CB\r
+:201195003E00213251CD1982DDE1C1C3A981FDE5DDE5C5D5FDE1DD210000FD4E00FD4601DB\r
+:2011B500DDE5E1F680ED42E2C051ACF2F351210000394E2346FD6E02FD6603E5DDE5E12968\r
+:2011D500295D542919EBE119EB3E0021937DCD19827DB42005DDE5E11807DD2318BC21FF2B\r
+:2011F500FFC33648C5FDE5DDE5DD210000DD39D521DEFF39F9110A00CDE449E5FDE111141B\r
+:2012150000CDE449DD75DEDD74DFAFDD77F8DD77F9CD8457DD75FADD74FBDD6EFEDD66FF4C\r
+:2012350023232346236668010400094E2346210B00DD5EDEDD56DFCD004ADD5EDEDD56DF9B\r
+:201255003E0021F54DCD1982AFFD7704FD7705FD7706FD770701C884DD6EFEDD66FF23568A\r
+:2012750023666A110400195E23563E0021937DCD19827DB4C28353DD6EDEDD66DF462366A7\r
+:2012950068E5FDE5E1C1CDD949CD3557CD1982FD7502FD7403AFDD77EEDD77EFFD4E00FD54\r
+:2012B5004601DD6EEEDD66EFF680ED42E2C552ACF2B654DD6EDEDD66DF232346236668E574\r
+:2012D500DD6EEEDD66EF29294D4429094D44E109DD75E0DD74E1DD6EEEDD66EF29DD4EE4F7\r
+:2012F500DD46E509E5DD4EEEDD46EFDD5EDEDD56DF3E00213251CD19824D44E1712370DDF0\r
+:201315006EEEDD66EF29DD4EE6DD46E709E5210A00DD4EE0DD46E1094E0600E1712370215B\r
+:201335000C00E5DD6EDEDD66DF232346236668E5DD6EEEDD66EF29294D4429094D44E109FF\r
+:201355004D44FD6E02FD6603E5DD6EEEDD66EF29295D542919EBE119EB3E00211E75CD19D7\r
+:2013750082F1DD34EEC2B152DD34EFC3B152CD6457E5FDE5E1C1CDD949CD3557CD1982FDBD\r
+:201395007502FD7403DD6EFEDD66FF2346DD70E22366DD74E3AFDD77EEDD77EFFD4E00FDF1\r
+:2013B5004601DD6EEEDD66EFF680ED42E2C553ACF2B654210400DD4EE2DD46E3094E234627\r
+:2013D500DD5EDEDD56DF3E0021A351CD1982DD75FCDD74FDDD4EDEDD46DF03030A6F030ADF\r
+:2013F50067E5DD6EFCDD66FD29294D4429094D44E109DD75E0DD74E1DD6EEEDD66EF29DDA0\r
+:201415004EE4DD46E509E5DD4EFCDD46FDDD5EDEDD56DF3E00213251CD19824D44E17123CD\r
+:2014350070DD6EEEDD66EF29DD4EE6DD46E709E5210A00DD4EE0DD46E1094E0600E171237E\r
+:2014550070210C00E5DD6EDEDD66DF232346236668E5DD6EFCDD66FD29294D4429094D441B\r
+:20147500E1094D44FD6E02FD6603E5DD6EEEDD66EF29295D542919EBE119EB3E00211E75B2\r
+:20149500CD1982F1DD6EE2DD66E3232346DD70E22366DD74E3DD34EEC2B153DD34EFC3B1DA\r
+:2014B50053DD5EDEDD56DF3E00218751CD1982DD75F4DD74F5CDE349DD75E8DD74E9FDE51F\r
+:2014D500D13E00218751CD1982DD75F2DD74F3CDE349DD75EADD74EBDD6EDEDD66DFE5DD81\r
+:2014F5006EFADD66FBC1712370DD6EFADD66FB2323AF772377210400DD4EFADD46FB09DD95\r
+:201515004EE871DD46E9237021D384E56F67E501FFFF11CC843E0021A37ACD1982F1F1FD35\r
+:201535007508FD7409210500DD4EFEDD46FF097E23B6211C00394D442817210500DD5EFE29\r
+:20155500DD56FF195623666A110400195E235618025F573E0021B265CD1982DD75F6DD7496\r
+:20157500F7AFDD77EEDD77EF210400DD4EDEDD46DF094E2346DD6EEEDD66EFF680ED42E249\r
+:201595009855ACF2C656210800DD4EDEDD46DF094E2346C5210100E5DD4EF4DD46F5DD5E5D\r
+:2015B500E8DD56E93E0021DD70CD1982F1F1DD6EE8DD66E94605C2BA56DD6EEADD66EB3607\r
+:2015D500012370DD36EC02DD70EDAFDD77F0DD77F1FD4E00FD4601DD6EF0DD66F1F680ED8E\r
+:2015F50042E2FA55ACF26856DD6EF0DD66F129DD4EE6DD46E7095E2356D5DD6EF0DD66F130\r
+:2016150029DD5EE4DD56E5195623666ADD5EE8DD56E9194D44DD6EECDD66EDDD5EEADD564B\r
+:20163500EB19EB3E00211E75CD1982F1DD6EF0DD66F129DD4EE6DD46E7094E2346211000B7\r
+:20165500397E8177237E8877DD34F02084DD34F1C3E655DD4EFADD46FBDD5EF6DD56F73EA5\r
+:201675000021156ACD1982212400DD4EF6DD46F7093E01AE23B623B623B62029FD6E08FD93\r
+:201695006609E5210100E5DD4EF2DD46F3DD5EEADD56EB3E0021F677CD1982F1F1FD340419\r
+:2016B5002003FD3405DD34EEC27D55DD34EFC37D55DD5EE8DD56E9CD9045DD5EE4DD56E57C\r
+:2016D500CD9045DD5EE6DD56E7CD9045DD5EFADD56FBCD9045DD5EF6DD56F73E0021EC6962\r
+:2016F500CD1982DD5EDEDD56DF3E0021C550CD1982FD5E08FD5609CDA05021C484E521007B\r
+:2017150000E501FFFF11CC843E0021A37ACD1982F1F1FD7508FD7409FDE5E1DDF9C3C04554\r
+:20173500DD75E4DD74E5FD6E00FD660129EB3E0121824ACD1982DD75E6DD74E7FD6E00FDD9\r
+:20175500660129294D442909EB3E0121824AC9DD6EFEDD66FF235E23563E0021C845C3194B\r
+:20177500823E0021B265CD1982DD75F8DD74F93E00219962C31982DD5EF8DD56F93E0021EA\r
+:20179500156ACD1982212400DD4EF8DD46F9093E01AE23B623B623B6C9C5FDE5DDE5DD2118\r
+:2017B5000000DD39D521E8FF39F9111400CDE449DD75E6DD74E7DD4EFEDD46FF0303030A02\r
+:2017D5006F030A67010400094E2346210B00DD5EE6DD56E7CD004ADD5EE6DD56E73E002134\r
+:2017F500F54DCD1982DD5EE6DD56E73E00218751CD1982DD75FADD74FBCDE349DD75E8DDA8\r
+:2018150074E9AFDD77F4DD77F5DD4EFADD46FBDD6EF4DD66F5F680ED42E23258ACF24E5807\r
+:20183500DD6EF4DD66F5DD4EE8DD46E9093600DD34F420D5DD34F518D05950CDE449DD75E1\r
+:20185500EADD74EBDD6EE8DD66E93601233600CD6457DD75F2DD74F3DD6EFEDD66FF23465A\r
+:20187500DD70EC2366DD74ED210700DD4EFEDD46FF0946236668E5FDE1AFDD77F4DD77F59D\r
+:20189500DD4EF2DD46F3DD6EF4DD66F5F680ED42E2A958ACF2395A210400DD4EECDD46ED84\r
+:2018B500094E2346DD5EE6DD56E73E0021A351CD1982DD75FCDD74FDDD4EE6DD46E70303A0\r
+:2018D5000A6F030A67E5DD6EFCDD66FD29294D4429094D44E109DD75F0DD74F1DD4EFCDD82\r
+:2018F50046FDDD5EE6DD56E73E00213251CD1982DD75F6DD74F7210A00DD4EF0DD46F10918\r
+:201915004EDD71F8DD36F900FD6E04FD66057EFE27C2AD59FD5E04FD5605CDED49FD4E04C7\r
+:20193500FD4605092B3600210900DD4EF0DD46F1097EFE532028DD6EF8DD66F9E5FD4E04B4\r
+:20195500FD460503DD6EF6DD66F7DD5EE8DD56E919EB3E00211E75CD1982F1C3135AFE49A7\r
+:20197500C2135A210A00094605052017DD6EF6DD66F7DD4EE8DD46E909E5FD5E04FD560529\r
+:2019950013183E210A00DD46F1097EFE04206FFD5E04FD5605131848210900DD4EF0097E7C\r
+:2019B500FE49205A210A00094605052021DD6EF6DD66F7DD4EE8DD46E909E5FD5E04FD5652\r
+:2019D500053E0021437FCD19824D44E1182D210A00DD46F1097EFE042024FD5E04FD5605EA\r
+:2019F5003E01212049CD1982E5DD6EF6DD66F7DD5EE8DD56E919D173237223712370DD6E9E\r
+:201A1500ECDD66ED232346DD70EC2366DD74EDFD6E02FD6603E5FDE1DD34F4C29558DD34AE\r
+:201A3500F5C39558210600DD4EE6DD46E7097E23B620506F67E5E52E04E52E08095E23560D\r
+:201A5500CDAF5BF1F1F1210400095623666A23E5DD6EEADD66EBD1732372210800095E2359\r
+:201A750056D5210100E5010200DD5EEADD56EB3E0021F677CD1982F1F1210200E52B2BE580\r
+:201A9500C34B5B210000E5E52E06E52323095E2356CDAF5BF1F1F1210600095623666A2B50\r
+:201AB500E5DD6EEADD66EBD1732372210800095E2356D5210100E5010200DD5EEADD56EBC5\r
+:201AD5003E0021F677CD1982F1F1210000E5E52E0AE52B2BDD4EE6DD46E7095E2356CDAF06\r
+:201AF5005BF1F1F1DD6EEADD66EB36FF2336FFDD6EEADD66EBAFB6282A210800DD4EE6DD82\r
+:201B150046E7094E2346C5210100E5DD4EFADD46FBDD5EEADD56EB3E0021DD70CD1982F16C\r
+:201B3500F118CC210100E5DD4EFADD46FB2BED427C079F4F41C5E5210800DD4EE6DD46E777\r
+:201B5500095E2356CDAF5BF1F1F1210800095E2356D5210100E5DD4EFADD46FBDD5EE8DDBE\r
+:201B750056E93E0021F677CD1982F1F1DD5EE8DD56E9CD9045DD5EEADD56EBCD9045DD5EFA\r
+:201B9500E6DD56E73E0021C550CD1982210000DDF9C3C045FD5E08FD56093E0021A075C39F\r
+:201BB5001982C5FDE5DDE5DD210000DD39D521F4FF39F9CD695DDD75FADD74FBCDE349DDDC\r
+:201BD50075FCDD74FDAFDD77F4DD77F5210500DD4EFEDD46FF097E23B6210200394D44280B\r
+:201BF50017210500DD5EFEDD56FF195623666A110400195E235618025F57CD7657DD75F213\r
+:201C1500DD74F3FDE5C1712370210400DD4EF2DD46F309DD5EFC73DD56FD237269602323E5\r
+:201C3500AF772377DD77F6DD77F7DD77F4DD77F5FD4E04FD4605DD6EF4DD66F5F680ED42F6\r
+:201C5500E2595CACF2015DFD6E08FD6609E5210100E5DD4EFADD46FB2E04DD5EF2DD56F349\r
+:201C7500195E23563E0021DD70CD1982F1F1DD6EFCDD66FD46052068DD4EF2DD46F3CD8C83\r
+:201C950057205DDD6EFCDD66FD77210100E5DD4EFADD46FB2BED427C079F4F41C5E5CDA9E7\r
+:201CB5005BF1F1F1FD6E08FD6609E5210100E5DD4EFADD46FB2E04DD5EF2DD56F3195E23B4\r
+:201CD500563E0021F677CD1982F1F1210100E52BE5E5CDA95BF1F1F1DD34F62003DD34F7B1\r
+:201CF500DD34F4C2455CDD34F5C3455CDD5EF2DD56F33E00217A62CD1982210000E5E52EEE\r
+:201D150006E5CDA95BF1F1F1210400397EFD860677237EFD8E0777FD6E08FD6609E52101B3\r
+:201D350000E50102002E0839EB3E0021F677CD1982F1F1DD5EF8DD56F93E0021EC69CD193D\r
+:201D550082FDE5D13E0021C550CD1982210000DDF9C3C0451114003E0121824ACD1982E500\r
+:201D7500FDE1DD4EFEDD46FF0303030A6F030A67010400094E2346210B00FDE5D119EB3E49\r
+:201D950000211C7FCD1982FDE5D13E0021F54DCD1982FDE5D13E00218751CD1982C9C5FD71\r
+:201DB500E5DDE5DD210000DD39D521E8FF39F9CD695DDD75F2DD74F3CDE349DD75FADD7493\r
+:201DD500FBAFDD77EEDD77EF210500DD4EFEDD46FF097E23B6210800394D44281721050096\r
+:201DF500DD5EFEDD56FF195623666A110400195E235618025F57CD7657DD75E8DD74E9FD21\r
+:201E1500E5C1712370210400DD4EE8DD46E909DD5EFA73DD56FB237269602323AF7723777C\r
+:201E3500CD6457DD75F0DD74F1CDE249DD75ECDD74EDDD6EFEDD66FF2346DD70EA2366DD7C\r
+:201E550074EBAFDD77E6DD77E7DD4EF0DD46F1DD6EE6DD66E7F680ED42E2725EACF2E35E2A\r
+:201E75000E00C50E3D210400DD5EEADD56EB195E23563E0021F447CD1982F1DD75FCDD7445\r
+:201E9500FDAFDD77F4DD77F5DD6EE6DD66E729DD4EECDD46ED09E5211000394D44DD5EFC25\r
+:201EB500DD56FD133E0021B265CD19824D44E1712370DD6EEADD66EB232346DD70EA2366C7\r
+:201ED500DD74EBDD34E62081DD34E7C35E5EAFDD77EEDD77EFFD4E04FD4605DD6EEEDD665B\r
+:201EF500EFF680ED42E2FE5EACF20861FD6E08FD6609E5210100E5DD4EF2DD46F32E04DDE7\r
+:201F15005EE8DD56E9195E23563E0021DD70CD1982F1F1DD6EFADD66FB4605C2FC60DD4E4D\r
+:201F3500E8DD46E9CD8C57C2FC60210100E5DD4EF2DD46F32BED427C079F4F41C5E5CDA964\r
+:201F55005BF1F1F1AFDD77E6DD77E7DD4EF0DD46F1DD6EE6DD66E7F680ED42E2745FACF298\r
+:201F7500A05FDD4EE8DD46E9DD6EE6DD66E729DD5EECDD56ED195E23563E0021156ACD19AF\r
+:201F950082DD34E620C5DD34E718C0DD6EFEDD66FF2346DD70EA2366DD74EBAFDD77E6DD48\r
+:201FB50077E7DD4EF0DD46F1DD6EE6DD66E7F680ED42E2CB5FACF2C860210400DD4EEADD96\r
+:201FD50046EB094E2346FDE5D13E0021A351CD1982DD75F6DD74F74D44FDE5D13E00213228\r
+:201FF50051CD1982DD75F4DD74F5FD6E02FD6603E5DD6EF6DD66F729294D4429094D44E1CD\r
+:2020150009010900097EFE532034FD6E02FD6603E5DD6EF6DD66F729294D4429094D44E1B2\r
+:2020350009010A00094EC5DD6EE6DD66E729DD4EECDD46ED09462366680128001836FE49B2\r
+:202055002054FD6E02FD6603E5DD6EF6DD66F729294D4429094D44E109010A00094EC5DD30\r
+:202075006EE6DD66E729DD4EECDD46ED0946236668012400094D44210400DD5EE8DD56E91A\r
+:20209500195623666ADD5EF4DD56F519EB3E00211E75CD1982F1DD6EEADD66EB232346DD57\r
+:2020B50070EA2366DD74EBDD34E6C2B75FDD34E7C3B75FFD6E08FD6609E5210100E5DD4E56\r
+:2020D500F2DD46F32E04DD5EE8DD56E9195E23563E0021F677CD1982F1F1210100E52BE555\r
+:2020F500E5CDA95BF1F1F1DD34EEC2EA5EDD34EFC3EA5EDD5EE8DD56E93E00217A62CD19CE\r
+:2021150082AFDD77E6DD77E7DD4EF0DD46F1DD6EE6DD66E7F680ED42E23161ACF25761DD2E\r
+:202135006EE6DD66E729DD4EECDD46ED095E23563E0021EC69CD1982DD34E620CBDD34E7E6\r
+:2021550018C6DD5EECDD56EDCD9045FDE5D13E0021C550CD1982210000DDF9C3C045FDE573\r
+:20217500DDE5D5FD2100003E00210A4ACD1982E5DDE17DB420046F67184DDD7E00FE73205B\r
+:202195000ADDE5D13E0021F9511828FE69200ADDE5D13E0021AE57181AFE64200ADDE5D1CB\r
+:2021B5003E0021B75B180CFE75200EDDE5D13E0021B35DCD1982E5FDE1DDE5D13E0021E3D2\r
+:2021D50050CD1982FDE5E1C33648FDE5DDE5F5C5DDE1D5FDE121000039E53E00218751CD1C\r
+:2021F5001982EBE1732372210400097E23B62009CDE449DD7504DD7405FD4E04FD4605FD73\r
+:202215006E06FD6607F680ED42E22262ACFA3962DD3602FFDD3603FFCD8A45AFDD7704DDD6\r
+:202235007705183EFD6E06FD660723FD7506FD74072BDD7502DD7403FDE5DDE5E1C171231C\r
+:2022550070FD6E08FD6609E5210100E52E04394E2346DD5E04DD56053E0021DD70CD198281\r
+:20227500F1F1C35646DDE5D5DDE17BB22811DD7E04DDB6052803CD8A45DDE5D1CD9045DD7D\r
+:20229500E1C3A981C5D5DDE5110600CDE449E5DDE101040009AF772377DDE5E1772377DDEC\r
+:2022B5003602FFDD3603FFDDE5E1DDE1D1C1C3A981FDE5DDE5DD210000DD39C5F5F5F5D5AC\r
+:2022D500FDE1210400197EDD77F82366DD74F9EB5E23563E00213251CD1982DD75FADD7487\r
+:2022F500FBFD6E00FD6601232346236668E5DD6EFEDD66FF29294D4429094D44E109010978\r
+:2023150000097EFE53201BDD6EFADD66FBDD4EF8DD46F9094D44DD5E08DD5609CD024AC3DE\r
+:20233500CF63FE49C2CF63FD6E00FD6601232346236668E5DD6EFEDD66FF29294D4429094A\r
+:202355004D44E109010A00094605052021C5DD4E08DD4609DD6EFADD66FBDD5EF8DD56F942\r
+:20237500195E23563E01219441CD1982184BFD6E00FD6601232346236668E5DD6EFEDD669B\r
+:20239500FF29294D4429094D44E109010A00097EFE042026C5DD6E08DD6609E5DD6EFADD54\r
+:2023B50066FBDD4EF8DD46F9095E2356234E23463E01213649CD1982F1F1C3D049FDE5DDEA\r
+:2023D500E5C5F5D5DDE1210400197E23666FE5FDE121000039E5EB5E23563E00213251CD8F\r
+:2023F50019824D44E1712370DD6E00DD6601232346236668E5210400394623666829294D92\r
+:202415004429094D44E109010900097EFE53201668603946236668FDE5C109EB3E0021432D\r
+:202435007FCD19821813FE496860200D3946236668FDE5C10946236668F1C33648FDE5DDF5\r
+:20245500E5DD210000DD39C5F5F5D5FDE1210400197EDD77FA2366DD74FBEB5E23563E002D\r
+:20247500213251CD1982DD75FCDD74FDFD6E00FD6601232346236668E5DD6EFEDD66FF29BA\r
+:20249500294D4429094D44E109010900097EFE532018DD6EFCDD66FDDD4EFADD46FB09EBE8\r
+:2024B5003E01212049CD1982184FFE492048FD6E00FD6601232346236668E5DD6EFEDD6603\r
+:2024D500FF29294D4429094D44E109010A0009460505DD6EFCDD66FDDD4EFADD46FB092001\r
+:2024F5000B4623667C68079F4F41180D5E2356234E2346EB1803486960C3D049D5CDE28105\r
+:202515001000002628292A2B2D2F3B3C3D3E5B5D5E7C65655D654D655965596559655965B4\r
+:20253500596561655165556555655165616549655D6561652E01181A2E0218162E0318120C\r
+:202555002E04180E2E05180A2E0618062E3F18022E00F1C3A981DDE5C5D5114E00CDE4491F\r
+:20257500E5DDE12323233600AFDD7748DD7749DD774ADD774BDD77026F673946DD704C2378\r
+:2025950066DD744DDD7100DD7724DD7725DD7726DD7727DDE5E1F1F1DDE1C3A981FDE5DDFF\r
+:2025B500E5DD210000DD39C5D521B2FF39F9AFDD77F8DD77F97BB220240E015F57CDB46907\r
+:2025D500DD75AEDD74AF010400093631210500DD4EAEDD46AF0936006960C3AC69AFDD77BD\r
+:2025F500F6DD77F7014080DD6EF6DD66F778AC67ED42301621060039DD4EF6DD46F709366F\r
+:202615000003DD71F6DD70F718DA0E03110000CDB469DD75AEDD74AFE5FDE1AFDD77B2DDC7\r
+:2026350077B3DD6EFEDD66FF46236668DD4EFCDD46FD095E3E00211165CD19822600DD7536\r
+:20265500F4DD74F57DB7201EDD6EFEDD66FF46236668DD46FD094621060039DD5EF8DD56C2\r
+:20267500F91970C358693E01AD205EDD6EFEDD66FF46236668DD46FD097EFE292008DD360A\r
+:20269500F43FDD36F500DD6EFEDD66FF46236668DD46FD097EFE28C25869DD6EFEDD66FF4D\r
+:2026B5003423200134DD4EFEDD46FFDD5EFCDD56FD3E0021B265CD1982DD75B2DD74B3AF12\r
+:2026D500DD77F8DD77F9C337662E0639DD4EF8DD46F9093600FD7E48FDB6492046DD7EB2CF\r
+:2026F500DDB6B3201ACDAF69FD7548FD7449210600394D44FD6E48FD6649CDFD49180CDD88\r
+:202715006EB2FD7548DD66B3FD7449DD6EFEDD66FF46236668DD4EFCDD46FD0946FD700253\r
+:20273500C35069CDBC69E23F67ACF2B9670E03CDB169FD754AFD744BDD7EB2DDB6B3FD6EA2\r
+:202755004AFD664B01480009202BE50E01FD5E4AFD564BCDB4694D44E171237021060039D8\r
+:202775004D44FD6E4AFD664B114800195623666ACDFD491809DD4EB271DD46B32370FD6E3F\r
+:202795004AFD664B2323E5DD6EFEDD66FF46236668DD4EFCDD46FD0946E170FD6E4AFD6640\r
+:2027B5004BC34D693E3FDDAEF4DDB6F5202ADD7EB2DDB6B32013CDAF69FD754AFD744B216E\r
+:2027D500060039CDF549C35069DD6EB2FD754ADD66B3FD744BC35069CDD569E2F467ACFA49\r
+:2027F5005069DD7EB2DDB6B32012CDAF69FD754AFD744B21060039CDF549180CDD6EB2FDA0\r
+:20281500754ADD66B3FD744BCDBC69E22468ACFA3A68FD7E4CFDB64D280BFD6E4CFD664D29\r
+:20283500E5FDE118E3FD7E4CFDB64D2041CDD569E24968ACFA83680E035850CDB469DD7579\r
+:20285500AEDD74AF01480009FDE5C1712370DD6EFEDD66FF5623666ADD5EFCDD56FD195612\r
+:20287500DD6EAEDD66AF2323722B2BC34D69FD7E4CFDB64D205CCDD569E29268ACF2E768BA\r
+:202895000E03CDB169DD75FADD74FB01480009FD4E4A71FD464B2370DD6EFEDD66FF462326\r
+:2028B5006668DD4EFCDD46FD0946DD6EFADD66FB232370214800DD4EFADD46FB09562366D2\r
+:2028D5006A114C0019712370FD714AFD704B69601866FD6E4CDD75FAFD664DDD74FB0E4AF1\r
+:2028F50009E50E03DD5EFADD56FBCDB4694D44E1712370214A00DD4EFADD46FB095623666B\r
+:202915006A11480019FDE5D1732372214A00097E23666F2323E5DD6EFEDD66FF7E23666FF5\r
+:20293500DD4EFCDD46FD0946E170214A00DD4EFADD46FB0946236668E5FDE1DD36F8FFDD03\r
+:2029550036F9FFDD34F82003DD34F9DD6EFEDD66FF3423200134013F80DD6EF4DD66F57818\r
+:20297500AC67ED42DA3066214A00DD4EAEDD46AF097E23B6201F69607EFE032018E5FDE198\r
+:202995002148000956DD72AE2366DD74AFFDE5D1CD904518D26960C3D0490E01FDE5D13EF0\r
+:2029B50000216B65C31982FD5E023E00211165CD19824D0600DD6EF4DD66F5F680ED42C9E1\r
+:2029D500FD5E023E00211165CD19824DDD6EF4DD66F5F680ED42C9DDE5D5DDE11AFE032086\r
+:2029F5001CDD5E48DD56493E0021EC69CD1982DD5E4ADD564B3E0021EC69CD1982C3D85081\r
+:202A1500FDE5DDE5DD210000DD39C5F5F5F5D5FDE11AFE03C2E56DFD5E48FD56493E0021C5\r
+:202A3500156ACD1982DD4EFEDD46FFFD5E4AFD564B3E0021156ACD1982FD5E023E002111F9\r
+:202A550065CD19827DFE05FD6E48FD664923D25A6B4605C25A6FFD6E4AFD664B234605C292\r
+:202A75005A6FFD360101FD7E02FE2B202DFD6E4AFD664B0E24094E2346235E2356D5C5FD6A\r
+:202A95006E48FD6649012400094E2346235E23566960C109EBC1ED4A1833FE2D2034FD6E35\r
+:202AB5004AFD664B0E24094E2346235E23566960D5E5FD6E48FD6649012400094E23462333\r
+:202AD5005E23566960A7C1ED42EBC1ED424D44EB1858FE2A2029FD6E48FD66490E24094E8A\r
+:202AF5002346235E2356D5C5FD6E4AFD664B012400095E2356234E2346EBCD1F81182BFEE9\r
+:202B15002F2033FD6E4AFD664B0E24094E2346235E2356D5C5FD6E48FD6649012400095E4A\r
+:202B35002356234E2346EBCD9382DD75F8DD74F9DD71FADD70FBDD4EFADD46FBDD6EF8DDD9\r
+:202B550066F9C3016F7EFE03CA8F6CFD6E4AFD664B237EFE03CA8F6CFD360104FD5E02CD5E\r
+:202B7500E2810700263C3D3E5B5D7C8F6C6D6C316C0E6CEB6B906BCE6B556CFD6E4AFD6677\r
+:202B95004B012400094E2346235E2356D5C5FD6E48FD6649012400094E2346235E235669B5\r
+:202BB50060C1A7ED42C1200BEBED4220064D4423C3836C010000C3516CFD6E4AFD664B0192\r
+:202BD5002400094E2346235E2356D5C5CD5D6F01000030681861FD6E48FD66490124000930\r
+:202BF5004E2346235E2356D5C5FD6E4AFD664BCD636F0100003045183EFD6E48FD66490147\r
+:202C15002400094E2346235E2356D5C5FD6E4AFD664BCD636F0100003822181BFD6E4AFDE5\r
+:202C3500664B012400094E2346235E2356D5C5CD5D6F010000380521010018326960182E03\r
+:202C5500FD6E4AFD664B012400094E2346235E2356D5C5CD726F1816FD6E4AFD664B01241F\r
+:202C750000094E2346235E2356D5C5CD876FFD7524FD7425FD7126FD7027FD6E48FD664975\r
+:202C9500237EFE03C2896DFD6E4AFD664B237EFE03C2896DFD6E4AFD664B012800094D44E2\r
+:202CB500FD6E48FD664911280019EB3E0021937DCD1982FD5E02CDE28106002B3C3D3E5BBC\r
+:202CD5005D896D346D1B6D026DE46CF56C546DFD3601047DB420044F47184F010000184F90\r
+:202CF500FD360104CB7C0100002844183DFD3601044D44210000F680ED42E2136DAC0100E0\r
+:202D150000F2446D1824FD3601044D44210000F680ED42E22C6DAC010000FA446D180BFD3D\r
+:202D3500360104CB7C010000200521010018026960FD7524FD7425FD7126FD70271835FD33\r
+:202D5500360103FD6E48FD6649012800094D44212800FDE5D1CD004AFD6E4AFD664B012863\r
+:202D750000094D44212800FDE5D119EB3E0021127ACD1982FD6E48FD6649237EFE04C25A33\r
+:202D95006FFD6E4AFD664B237EFE04C25A6FFD360104FD7E02FE262019FD6E4AFD664B01A8\r
+:202DB5002400094E2346235E2356D5C5CD726FC3016FFE7CC25A6FFD6E4AFD664B01240018\r
+:202DD500094E2346235E2356D5C5CD876FC3016FDD36FCFFDD36FDFF79B0287969607E2343\r
+:202DF500666F46DD70FA2366DD74FBAFDD77F8DD77F9DD4EFADD46FBDD6EF8DD66F9F68007\r
+:202E1500ED42E21B6EACF26A6E210400FDE5C1094D44DD6EFEDD66FF5623666A2323562398\r
+:202E3500666AE5DD6EF8DD66F929295D542919EBE119EB3E0021937DCD19827DB4200CDD23\r
+:202E55006EF8DD66F9DD75FCDD74FDDD34F820A2DD34F9189DDDCBFD7E2008DD7EFEDDB65E\r
+:202E7500FF2047FD7E04FE27202AFD360103210400FDE5C1094D4403212800FDE5D1CD0084\r
+:202E95004A212800FDE5C109CDEC49090127000970C35A6FFD360101210400FDE5C109EBB5\r
+:202EB5003E01212049CD19821842DD6EFEDD66FF46236668232346236668E5DD6EFCDD66C4\r
+:202ED500FD29294D4429094D44E109010900097EFE492026FD360101DD4EFCDD46FDDD5E7B\r
+:202EF500FEDD56FF3E00215264CD1982FD7524FD7425FD7126FD7027184BDD6EFEDD66FFCE\r
+:202F150046236668232346236668E5DD6EFCDD66FD29294D4429094D44E109010900097E5B\r
+:202F3500FE532021FD360103212800FDE5C109E5DD4EFCDD46FDDD5EFEDD56FF3E0021C602\r
+:202F550062CD1982E1C3D049FD6E48FD6649012400095E2356234E2346EBC34482FD6E4870\r
+:202F7500FD6649012400095E2356234E2346EBC32682FD6E48FD6649012400095E235623D4\r
+:072F95004E2346EBC3C4818B\r
+:2003950053454C00494E53005550440044454C00204652200020574800204F5244200028D8\r
+:2003B50000292056414C280020535420002F7573722F64622F002E54424C007262002E44EA\r
+:1503D500415400722B6200222A2200726573756C740077620099\r
+:202F9C00C5D5FDE5DDE52192FE39F921460139EB215A84012700EDB01106003E0121824A61\r
+:202FBC00CD19821114003E0121824ACD1982210400397001D68421040039EB3E0021937DF3\r
+:202FDC00CD19827DB4CACF7021D984E53E0021327ACD1982F1110D853E0021EC72CD1982A4\r
+:202FFC0021040039EB3E0121C449CD198221000039E521060039EB3E00217361CD19824D25\r
+:20301C0044E17123703E00219962CD1982E5FDE179B0CAC170FDE5C1210000395E23563EB0\r
+:20303C000021DF61CD1982FDCB037E2069DD210000210000397E23666F4E2346DDE5E1F6BB\r
+:20305C0080ED42E26370ACF2917021040139E5DDE5C1FDE5D13E0021C662CD1982E12104E2\r
+:20307C000139E521DF84E53E0021327ACD1982F1F1DD2318BC21E584E53E0021327ACD1923\r
+:20309C0082F1189121000018925E189156189021DF6118901891210000395E23563E0021E6\r
+:2030BC001F51CD1982FDE5D13E00217A62CD1982C3CF6F216E0139F9DDE1FDE1D1C1C3A969\r
+:0130DC008172\r
+:1103EA0051540053514C3E2000272573272C000A00F3\r
+:20036E0053454C20636F6C756D6E312C20636F6C756D6E322C20746573747465737420466E\r
+:07038E005220746573740036\r
+:2030DD00CD7582F8FFAFDD77FEDD77FF3E0021B877CD1982DD7E02DDB6032818DD7E04DD5F\r
+:2030FD00B6052810DD7E0ADDB60B2808DD7E0CDDB60D2006210000C38872210C00DD4E0C1E\r
+:20311D00DD460D0946236668DD75FADD74FB7DE680280EDD5E0CDD560D3E0021EC72CD1947\r
+:20313D0082DD7EFAE6106FDD7EFBE603673E10ADB42806210000C38872DD4E0ADD460BDD95\r
+:20315D005E04DD5605CDAE81DD73FCDD72FDDD6E0CDD660D4E2346DD6E0CDD660D23237E5B\r
+:20317D0023666FA7ED42DD75F8DD74F9A7ED523839DD6EFCDD66FDE5DD6E0CDD660D4E23F5\r
+:20319D0046DD5E02DD56033E00211E75CD1982F1DD6E0CDD660D7EDD86FC77237EDD8EFD0A\r
+:2031BD0077DD6EFCDD66FDC38872DD4EF8DD46F9210000CDC382302BDD6EF8DD66F9E5DD29\r
+:2031DD006E0CDD660D4E2346DD5E02DD56033E00211E75CD1982F1DD6EF8DD66F9DD75FEC4\r
+:2031FD00DD74FFDD4EFEDD46FFDD6EFCDD66FDA7ED42E5DD6E02DD6603094D44210A00DDA0\r
+:20321D005E0CDD560D195E23563E0121DE4CCD1982F1DD75F8DD74F9CB7C281C210C00DDEB\r
+:20323D004E0CDD460D097EF60077237EF60277AFDD77F8DD77F9181BDD7EF8DDB6F9201356\r
+:20325D00210C00DD4E0CDD460D097EF60077237EF60177DD6EF8DD66F9DD4EFEDD46FF09E7\r
+:0E327D00EBDD4E04DD4605CDF882EBC3A381E8\r
+:20003300E3D5DDE5DD210000DD39DD5609DD7409DD5E08DD7508D5C5F5DD6E0462ED6CDD76\r
+:200053005605ED5C1959DD5607ED5C19DD5E0650ED5C19E5DD5E04DD56FEED5CDD6E05DD1D\r
+:200073006607ED6C19DD4606ED4C09E5DD5E04DD5607ED5CDD6E05DD6606ED6CAF1917F5B6\r
+:20009300DD5E04DD5606ED5C4A0600AF091755C14CE10984C1814D47EBF1D1D1DDE1D13387\r
+:0400B300333333C9E7\r
+:20328B00CD7582FEFFDD36FE00DD36FF00DD6E0ADD660B2BDD750ADD740B237DB42832DD2E\r
+:2032AB006E04DD660523DD7504DD74052B46DD70FFDD6E02DD660323DD7502DD74032B4EE6\r
+:2032CB00DD71FE79B82006AFDDB6FE2002180218BCDD4EFF0600DD6EFE2600A7ED42C3A315\r
+:0132EB008161\r
+:0B00B700DDF9DDE1D1C1F1ED3939C9FF\r
+:2032EC00CD7582F8FFAFDD77FEDD77FFDD7E02DDB603207811F5843E0021EC72CD19827DFC\r
+:20330C00B4201E110D853E0021EC72CD19827DB4200F1125853E0021EC72CD19827DB4284E\r
+:20332C000621FFFFC3FC742AF384DD7502DD7403DD7E02DDB603282EDD5E02DD56033E00E6\r
+:20334C0021EC72CD19827DB4280621FFFFC3FC74211600DD4E02DD4603095623666ADD759B\r
+:20336C0002DD740318CA210000C3FC74210C00DD4E02DD4603097EE680CA5274210600DDB4\r
+:20338C004E02DD4603095E23560A6F030A67A7ED52DD75FADD74FB7DB4CA5074210600DD9D\r
+:2033AC004E02DD46030946236668DD75F8DD74F9DD6EFADD66FBE5DD4EF8DD46F9210A00E5\r
+:2033CC00DD5E02DD5603195E23563E0021FF74CD1982F1DD75FCDD74FD4D44210000CDC375\r
+:2033EC0082301E210000397EDD86FC77237EDD8EFD77210200397EDD96FC77237EDD9EFDEA\r
+:20340C0077DD4EFCDD46FD210000CDC38238A1DD7EFCDDA6FD3C20092A47863E04ADB428D8\r
+:20342C008FDD7EFADDB6FB281B210C00DD4E02DD4603097EF60077237EF60277DD36FEFF37\r
+:20344C00DD36FFFF186A210C00DD4E02DD4603097EE640285BDD6E02DD66034E2346DD6E88\r
+:20346C0002DD660323235623666AA7ED42DD75FADD74FB4D44210000CDC3823033210100B2\r
+:20348C00E5DD4EFADD46FBA7210000ED427C079F4F41C5E5210A00DD4E02DD4603095E239D\r
+:2034AC00563E0021617ACD1982F1F1F1CB782800210C00DD4E02DD4603097EE63F77237E86\r
+:2034CC00E6FA7769602323E5210400DD4E02DD460309E5210600095623666AE56960C171D6\r
+:2034EC002370E1712370E1712370DD6EFEDD66FFC3A381CD0D82DD6E0ADD660BE5C5D52152\r
+:20350C002400E53E01216E4ECD1982F1F1F1F1C3A381CD7582FCFFDD6E02DD6603DD75FCC7\r
+:20352C00DD74FDDD71FEDD70FFDD6E0ADD660B2BDD750ADD740B237DB42820DD6EFEDD66EB\r
+:20354C00FF23DD75FEDD74FF2B46DD6EFCDD66FD23DD75FCDD74FD2B7018CEDD6E02DD66D5\r
+:04356C0003C3A38171\r
+:1600C200F5C5E5784251676BED4CED6CED5C79858257E1C1F1C99E\r
+:20357000CD0D82210000E5210000E5210000E53E0021A075CD1982F1F1F1210C00DD4E02C4\r
+:20359000DD4603097EE6FF77237EE6FC77C3A381CD7582FCFF210C00DD4E02DD4603097E6B\r
+:2035B000E6404F237EE604473E40A9B0C2FE76DD7E0EDDB60F280B3E01DDAE0EDDB60FC22D\r
+:2035D000FE76210100E5210000E5210000E5210A00DD4E02DD4603095E23563E0021617ABC\r
+:2035F000CD1982F1F1F1DD75FCDD74FDDD71FEDD70FF7DA4A1A03C200621FFFFC34A773EA7\r
+:2036100001DDAE0EDDB60F2046AFDD770EDD770F210E0039E5DD4E02DD4603030369604EC7\r
+:203630002346DD6E02DD66035623666AA7ED42EB7A079F4F41C5D5DD6EFCDD66FDC109EBEE\r
+:20365000DD6EFEDD66FFC1ED4A4D44E1CDF481DD7E0EDDB60FC2FE76DD6EFEDD66FFE5DD95\r
+:203670006EFCDD66FDE5DD4E0CDD460DDD6E0ADD660BCD44823077DD6E02DD660323234E40\r
+:203690002346210600DD5E02DD5603195623666AA7ED427C079F4F41C5E5DD6EFCDD66FDFC\r
+:2036B000C109EBDD6EFEDD66FFC1ED4AE5D5DD4E0CDD460DDD6E0ADD660BCD4482382FDD27\r
+:2036D0004EFCDD46FDDD6E0ADD660BA7ED42E5DD4E02DD4603030369604E2346E109E5DD8D\r
+:2036F0006E02DD6603C1712370210000184CDD5E02DD56033E0021EC72CD19827DA43C289D\r
+:2037100031DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5210A00DD4E02DD4603093D\r
+:203730005E23563E0021617ACD1982F1F1F1CB78280521FFFF1803210000C3A381CD7582B7\r
+:20375000FEFF2AF384DD75FEDD74FF110D853E0021EC72CD19821125853E0021EC72CD19F5\r
+:2037700082DD7EFEDDB6FF283CDD5EFEDD56FF3E0021EC72CD1982210A00DD4EFEDD46FF62\r
+:20379000095E23563E00218E7ACD1982210A000936FF2336FF211600095623666ADD75FED0\r
+:2037B000DD74FF18BCC3A381C5D52A3D857DB42002182E210000223D851101003E0021EA6F\r
+:2037D0007DCD19827DB4280C2119857EF60177237EF600770E00114D773E0121CD50CD1990\r
+:0637F00082D1C1C3A981D2\r
+:2004070000004C864C864C864C864C8700001000000000000000000000004C874C874C8731\r
+:200427004C874C88010020000000000000000000000033853385338533853585020022002F\r
+:0C044700000000000000000000000100A8\r
+:2037F600CD7582F8FF3E0021B877CD1982DD7E02DDB6032818DD7E04DDB6052810DD7E0A3B\r
+:20381600DDB60B2808DD7E0CDDB60D2006210000C30F7A210C00DD4E0CDD460D09462366BE\r
+:2038360068DD75FADD74FB7DE6402818DD5E0CDD560D3E0021EC72CD19827DB42806210063\r
+:2038560000C30F7ADD7EFAE6206FDD7EFBE603673E20ADB42806210000C30F7ADD4E0ADD2A\r
+:20387600460BDD5E04DD5605CDAE81DD73FCDD72FDDD6E0CDD660D4E2346210800DD5E0C08\r
+:20389600DD560D195623666AA7ED42DD75F8DD74F9DD4EFCDD46FDA7ED423018DD5E0CDD7D\r
+:2038B600560D3E0021EC72CD19827DB42806210000C30F7ADD6E0CDD660D4E234621080017\r
+:2038D600DD5E0CDD560D195623666AA7ED42DD75F8DD74F9DD4EFCDD46FDA7ED42386121A8\r
+:2038F6000C00DD4E0CDD460D097EF68077237EF60077DD6EFCDD66FDE5DD4E02DD4603DD21\r
+:203916006E0CDD660D5E23563E00211E75CD1982F1DD6E0CDD660D7EDD86FC77237EDD8E9E\r
+:20393600FD77DD7EFAE603280EDD5E0CDD560D3E0021EC72CD1982DD6E0ADD660BC30F7AEE\r
+:20395600DD6EFCDD66FDDD75FEDD74FFDD6EFCDD66FDE5DD4E02DD4603210A00DD5E0CDD1C\r
+:20397600560D195E23563E0021FF74CD1982F1DD75F8DD74F94D44210000CDC3823022DD2C\r
+:203996006EF8DD66F9DD4E02DD460309DD7502DD7403210400397EDD96F877237EDD9EF998\r
+:2039B60077DD4EF8DD46F9210000CDC382389DDD7EF8DDA6F93C20092A47863E04ADB4283D\r
+:2039D6008BDDCBF97E2813210C00DD4E0CDD460D097EF60077237EF60277210600397EDD99\r
+:2039F60096FC77237EDD9EFD77DD4E04DD4605DD5EFEDD56FFCDF882EBC3A381CD0D82D50C\r
+:203A16003E00215C7DCD1982D119EB3E00211C7FCD1982DD6E02DD6603C3A381CD7582FC7F\r
+:203A3600FF210E003901020009DD75FCDD74FDE5DD4E0ADD460B110D853E0121C543CD1928\r
+:203A560082F1DD75FEDD74FFC3A381CD0D82DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADDAC\r
+:203A7600660BE5D5211900E53E0121E050CD1982F1F1F1F1F1C35E83CD0D82D5210600E558\r
+:203A96003E01216E4ECD1982F1F1C3A381CD7582FAFFAFDD77FADD77FBAFDD77FCDD77FD6A\r
+:203AB600AFDD77FEDD77FFDD7E0ADDB60B2835210C00DD4E0ADD460B097EE60F5F237EE64A\r
+:203AD6000057210200397EB377237EB277210C00097EE6F377237EE6FF7759503E0121FDA4\r
+:203AF6004CCD1982DD6E0CDD660DAFB62870DD6E0CDD660D23DD750CDD740D2B5ECDE28119\r
+:203B160004002B617277727B357B267B4C7B637B210200397EF61077237EF60077183D2158\r
+:203B36000200397EF62077237EF60077DD36FA00DD36FB031826210200397EF62077237EB7\r
+:203B5600F60077DD36FA00DD36FB21180F210200397EF63077237EF6007718001886DD7EE9\r
+:203B7600FCE6304FDD7EFDE6004779B02006210000C3597D3E10A9B0200218243E20A9B084\r
+:203B9600200F210000397EF60177237EF60077180F210000397EF60277237EF600771800F8\r
+:203BB600DD7E0ADDB60B201E0118001101003E0121FD41CD1982DD75FEDD74FF7DB4200686\r
+:203BD600210000C3597DDD7E02DDB603282321B601E5DD6EFADD66FBE5DD6E02DD6603E53A\r
+:203BF6003E01219949CD1982F1F1F1DD7504DD7405DDCB057E282E2A4786DD75FADD74FB76\r
+:203C1600DD7EFEDDB6FF280EDD5EFEDD56FF3E00213C7ECD1982DD6EFADD66FB22478621EE\r
+:203C36000000C3597DDD7E0ADDB60BC20D7DDD6EFEDD66FFDD750ADD740B01160009ED4BEB\r
+:203C5600F384712370DD6E0ADD660B22F384210C00DD4E0ADD460B093608233600DD5E0428\r
+:203C7600DD56053E0021EA7DCD19827DB42813210C00DD4E0ADD460B097EF60177237EF640\r
+:203C96000077210600DD4E0ADD460B09E50100011101003E0121FD41CD19824D44E17123FF\r
+:203CB6007079B02029210600DD4E0ADD460B09E5210E0009EBE173237221080009E5210E42\r
+:203CD6000009010800094D44E17123701829210800DD4E0ADD460B09E52106000956236673\r
+:203CF6006A3E018467EBE1732372210C00097EF60477237EF60077DD6E0ADD660B2323E545\r
+:203D1600210400DD4E0ADD460B09E5210600095E2356E1732372E17323726960732372214C\r
+:203D36000C00DD4E0ADD460B097EDDB6FC77237EDDB6FD77210A0009DD5E04DD5605732388\r
+:203D5600726960C3A381CD7582FEFFDD6E02DD6603DD75FEDD74FFDD6EFEDD66FFAFB6281F\r
+:203D76000ADD34FE2003DD34FF18ECDD4E02DD4603DD6EFEDD66FFA7ED42C3A381CD75827E\r
+:203D9600FAFFDD6E02DD6603DD75FADD74FBDD71FCDD70FDDD6EFCDD66FD23DD75FCDD740C\r
+:203DB600FD2B46DD70FFDD6EFADD66FB23DD75FADD74FB2B4EDD71FE79B82008AFDDB6FE97\r
+:143DD600280218D0DD4EFF0600DD6EFE2600A7ED42C3A3816B\r
+:2000D800EBE3F5E5210600397EB377237EB277D1237E73B14F237E72B047F1D1E1C9E3F55B\r
+:2000F800C54E2346237BEDB12002232309C38982F57E83775F237E8A7757237E89774F2319\r
+:090118007E8877472B2B2BF1C9DF\r
+:203DEA00CD7582E2FF210000394D44DD5E02DD56033E0021257ECD19827DA43C2812DD7E5A\r
+:203E0A00E6E6006FDD7EE7E6F0673E20ACB528052100001803210100C3A381CD0D82C5D5B7\r
+:203E2A00210D00E53E01216E4ECD1982F1F1F1C3A381CD7582FCFF21FCFFDD4E02DD4603F9\r
+:203E4A0009DD75FEDD74FF23237E23B6280621FFFFC3197F2A5088DD75FCDD74FDDD4EFCA5\r
+:203E6A00DD46FDDD6EFEDD66FFA7ED423817DD6EFCDD66FD232346236668DD4EFEDD46FF19\r
+:203E8A00A7ED423053DD6EFCDD66FD23234E2346DD6EFCDD66FDA7ED423829DD4EFEDD4631\r
+:203EAA00FFDD6EFCDD66FDA7ED423816DD6EFCDD66FD23234E2346DD6EFEDD66FFA7ED4269\r
+:203ECA0030021814DD6EFCDD66FD232346236668DD75FCDD74FD1885DD6EFEDD66FF23236C\r
+:203EEA00E5DD4EFCDD46FD030369604E2346E1712370DD6EFCDD66FD2323DD4EFEDD46FF09\r
+:123F0A00712370DD6EFCDD66FD225088210000C3A38118\r
+:19012100E1C5D5DDE5DD210000DD39E9E526806F7EED2039ED3939E3E9A2\r
+:203F1C00CD0D8259503E00215C7DCD198223E5DD4E04DD4605DD5E02DD56033E00211E751C\r
+:073F3C00CD1982F1C3A3813E\r
+:20013A00EBE3F5E5210600397EA377237EA277D1237E73A14F237E72A047F1D1E1C9EBE342\r
+:20015A00D5C5F5D5C5EB210F00397EEE8047722B4E73EBE17CEE8067ED42E1200AEB2B7E8C\r
+:20017A002B6E67EBA7ED52C178C1E1D13333C9E1C5D5DDE5DD210000DD395E235623EB394A\r
+:0D019A00F9EBE909097E23666FC1F1E3C9A5\r
+:163F4300CD0D82210A00E50100003E01217652CD1982F1C3A38193\r
+:20400000CD7582D6FFDD6E0ADD660BDD75F8DD74F921000039DD75FADD74FB212C0039DD7B\r
+:2040200075FCDD74FD213A00397ED60A77DD4E0CDD460D212400CDC3823811010280DD6E83\r
+:204040000CDD660D3E80AC67ED423003C38341DD6EFCDD66FD23237EE60047237EE680B01B\r
+:204060002831AFDDB60E282BDD6EF8DD66F923DD75F8DD74F92B362DDD4E04DD4605DD6EDE\r
+:2040800002DD6603CDDD82DD7502DD7403DD7104DD7005DD6EFCDD66FD23237E23B620021A\r
+:2040A000184EDD6E0CDD660D7C079F4F41C5E5DD4E04DD4605DD6E02DD6603CDF483E5DDA7\r
+:2040C0006EFADD66FB23DD75FADD74FB2BC171212C0039DD5E0CDD560D7A079F4F41CDE4B4\r
+:2040E00083DD6EFCDD66FD23237E23B620B41830DD5E02DD5603DD4E0CDD460DCDEF82DD08\r
+:204100006EFADD66FB23DD75FADD74FB2B73DD5E02DD5603CDF882DD6EFCDD66FD73237257\r
+:20412000DD6EFCDD66FD7E23B620C5210000394D44DD6EFADD66FBA7ED42DD75FFAFDDB6E5\r
+:20414000FF2840DD6EFADD66FB2BDD75FADD74FB46DD70FE78FE0A300ADD7EFEC630DD77C4\r
+:20416000FE1809DD7EFEDD8610DD77FEDD6EF8DD66F923DD75F8DD74F92BDD46FE70DD35FE\r
+:20418000FF18BADD6EF8DD66F93600DD6E0ADD660BC3A381CD7582FEFFDD36FE41DDCB0B49\r
+:2041A0007E2816DD36FE61DD4E0ADD460BA7210000ED42DD750ADD740BDD6EFEE50E01C5BD\r
+:2041C000DD6E0ADD660BE5DD6E04DD6605E53E0ADDAE0ADDB60B200DDD5E02DD56037A073F\r
+:2041E0009F4F411809DD5E02DD56030100003E01210040CD1982F1F1F1F1C3A381CD758284\r
+:20420000FCFFDD5E02DD5603CDAE81DD73FCDD72FD3E0121824ACD1982DD75FEDD74FF7DEB\r
+:20422000B42819DD6EFCDD66FDE5010000DD5EFEDD56FF3E0121984FCD1982F1DD6EFEDDEB\r
+:0542400066FFC3A3812D\r
+:2001A700EBE3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD7508AFCDA083CD0683DD\r
+:1001C700E1C1B7CC8A83C4D582DDE1F1D13333C92C\r
+:20424500CD7582FAFFAFDD77FBDD77FC59503E00215C7DCD1982DD75FDDD74FEDD6E04DD3B\r
+:2042650066057EFE2D2014DD6E04DD660523DD7504DD74052B46DD700A180EAFDDB60A2829\r
+:2042850008DD34FD2003DD34FEDD7E10DDA6113C281DDD4EFDDD46FEDD6E10DD6611CDC3C9\r
+:2042A50082300CDD6E10DD6611DD75FDDD74FEDD4EFDDD46FEDD6E0EDD660FCDC382300CAC\r
+:2042C500DD6EFDDD66FEDD750EDD740FDD6E0EDD660FDD75FBDD74FC211400397EDD96FDEF\r
+:2042E50077237EDD9EFE77DD7E0EDDB60F2009DD7EFDDDB6FECABC43DD7E08DDB609203478\r
+:20430500DD7E0EDDB60F282CDD7EFDDDB6FE280FAFDDB60A2809DD7E0CFE3020021823DDCD\r
+:20432500460CDD70FADD6E0EDD660F2BDD750EDD740F184EDD7EFDDDB6FE2833AFDDB60A53\r
+:20434500280CDD460ADD70FADD360A001812DD6E04DD660523DD7504DD74052B46DD70FA4B\r
+:20436500DD6EFDDD66FE2BDD75FDDD74FE1813DD460CDD70FADD6E0EDD660F2BDD750EDD32\r
+:20438500740FDD4E02DD4603DD5EFA16003E01210F51CD1982DD7EFAFE0A20183E01DDAE70\r
+:2043A50012DDB613200EDD5E02DD56033E0021EC72CD1982C3EC42DD6EFBDD66FCC3998325\r
+:2043C500CD7582A2FFAFDD77B0DD77B1210C00DD5E02DD5603197EE6034F237EE60047DDA1\r
+:2043E50071FDDD70FE210C00197EE6FC77237EE6FF77DD6E04DD6605AFB6CACA48DD6E04BE\r
+:20440500DD66057EFE25C27D483E02DDAEFDDDB6FE200EDD5E02DD56033E0021EC72CD198A\r
+:2044250082AFDD77A4DD77A5DD36B300DD36B220DD36ACFFDD36ADFFAFDD77AADD77ABDDA4\r
+:2044450036A8FFDD36A9FFDD36AE0ADD36AF00211B0039DD75B5DD74B6DD36B400AFDD77E5\r
+:20446500A6DD77A7AFDD77A2DD77A3DD34042003DD3405DD6E04DD66057EFE30380BDD6EDB\r
+:2044850004DD66053E39BE3002186521000039010A00CD8083DD6E04DD66054E060021D0D6\r
+:2044A500FF094D44210000397E8177237E8877DD7EAADDB6AB280EDD6EA2DD66A3DD75A8A8\r
+:2044C500DD74A91821DD7EA2DDB6A3200DDD7EB2FE202006DD36B230188ADD6EA2DD66A389\r
+:2044E500DD75ACDD74ADDD34042003DD34051883DD6E04DD66055ECDE28114000020212335\r
+:204505002A2B2D2E5862636468696C6F707375787948814689460C485C465246D845ED45B5\r
+:20452500E345ED45C94748467746CD454F455A456E456745AB475A453F45DD6E04DD660571\r
+:204545002BDD7504DD7405C37D48DD36A401DD36A500C36944DD6E04DD660546DD70B3C377\r
+:204565006944DD36B401C36944216800397EC60277237ECE00772B6E672B2B46236668DD82\r
+:2045850075A2DD74A3DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A9182ADD6EA2DD6659\r
+:2045A500A3DD75ACDD74ADCB7C281ADD36A401DD36A500DD4EA2DD46A3A7210000ED42DDF7\r
+:2045C50075ACDD74ADC36944DD36AA01DD36AB00C36944DD36A601DD36A700C36944AFDDEB\r
+:2045E50077A6DD77A7C36944210A00E5211D0039E5DD7EA6DDB6A7281D216C00397EC60434\r
+:2046050077237ECE00772B6E6701FCFF095E2356234E2346181A216C00397EC60277237E2C\r
+:20462500CE00772B6E672B2B5E23567A079F4F413E01213649CD1982F1F1DD75B5DD74B61C\r
+:20464500C33048DD36AE02DD36AF001837DD36AE08DD36AF00182DAFDD77A6DD77A7DD36BF\r
+:20466500B230DD36AC05DD36AD00DD36A808DD36A900DD36AE10DD36AF001808DD36AEF0EC\r
+:20468500DD36AFFFDD7EA6DDB6A7281E216800397EC60477237ECE00772B6E6701FCFF0967\r
+:2046A5005E2356234E2346EB1819216800397EC60277237ECE00772B6E672B2B4623666836\r
+:2046C500010000DD75B9DD74BADD71BBDD70BCDD5EAEDD56AFD5211D003901040009E5DDC5\r
+:2046E5004EBBDD46BCDD5EB9DD56BA3E01212152CD1982F1F1DD75B5DD74B6DD36B7E7DD33\r
+:2047050036B884AFDDB6B4CAA8473E02DDAEAEDDB6AF200ADD36B7E8DD36B88418493E08E6\r
+:20472500DDAEAEDDB6AF2018DD7EB9DDB6BADDB6BBDDB6BC2808DD36B7EBDD36B884182750\r
+:204745003E10DDAEAEDDB6AF200ADD36B7EDDD36B88418133E0FDDAEAEDDA6AF3C2008DD37\r
+:2047650036B7F0DD36B884DD6EB7DD66B8AFB62832DD36B200DD4EB7DD46B8211B00395DF8\r
+:20478500543E00211C7FCD1982DD4EB5DD46B6211B00395D543E0021127ACD1982DD75B525\r
+:2047A500DD74B6C33048DD6E04DD6605234E0600DD71A2DD70A379B02808DD34042003DD56\r
+:2047C5003405181C216800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A38D\r
+:2047E500DD46A2DD6EB5DD66B670DD6EB5DD66B6233600AFDDB6B4280CDD6EB5DD66B646CB\r
+:20480500DD70B21822181C216800397EC60277237ECE00772B6E672B2B46236668DD75B52D\r
+:20482500DD74B6DD36B220DD36B300DD6EFDDD66FEE5DD6EA8DD66A9E5DD6EACDD66ADE5C3\r
+:20484500DD6EB2E5DD6EB3E5DD6EA4DD66A5E5DD4EB5DD46B6DD5E02DD5603CD4542EB2146\r
+:204865000C0039F9EB4D44210E00397E8177237E8877180218021842DD4E02DD4603DD6ECF\r
+:2048850004DD66055E16003E01210F51CD1982DD34B02003DD34B1DD6E04DD66057EFE0A68\r
+:2048A50020183E01DDAEFDDDB6FE200EDD5E02DD56033E0021EC72CD1982DD34042003DD88\r
+:2048C5003405C3F743210C00DD4E02DD4603097EDDB6FD77237EDDB6FE773E02DDAEFDDD41\r
+:2048E500B6FE200EDD5E02DD56033E0021EC72CD19823E01DDAEFDDDB6FE2016210400DDA9\r
+:1B4905004E02DD460309E5210600094E2346E1712370DD6EB0DD66B1C3A38191\r
+:0C03FB0000306200300030780030580004\r
+:20492000CD0D82210A00E50100003E01217652CD1982F1C35E83CD7582FEFFDD36FE41DDF5\r
+:20494000CB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DD750CDD740DDD6EFEE53ECB\r
+:204960000ADDAE0CDDB60D20043E011801AF4FC5DD6E0CDD660DE5DD6E0ADD660BE5DD4E78\r
+:1949800004DD4605DD5E02DD56033E01210040CD1982F1F1F1F1C3A381CC\r
+:2001D700C5E5F57CEE806778EE8047F1A7ED42E1C1C92CC024C00CC004C9F5AF956F3E006A\r
+:0C01F7009C673E00994F3E009847F1C9FC\r
+:20499900CD0D82DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5211400E53E01216E16\r
+:0B49B9004ECD1982F1F1F1F1C3A38192\r
+:09020300F5E5CD6A83EBE1F1C9D8\r
+:2049C400CD7582FCFFDD6E02DD6603DD75FEDD74FF11F5843E0121884ECD1982DD75FCDD8E\r
+:2049E40074FD7DA43C281E3E0ADDAEFCDDB6FD2814DD46FCDD6EFEDD66FF23DD75FEDD7496\r
+:204A0400FF2B7018CCDD6EFEDD66FF3600DD7EFCDDA6FD3C2016DD6E02DD6603DD4EFEDD71\r
+:204A240046FFA7ED4220052100001806DD6E02DD6603C3A381CD7582FEFF010D85DD5E02E8\r
+:204A4400DD56033E01213353CD1982DD75FEDD74FF7DA43C2813010D85110A003E01210F79\r
+:1E4A640051CD19827DA43C200521FFFF180DDD6EFEDD66FF23DD75FEDD74FFC3A38180\r
+:0E020C00F5E5CD6A837B2F5F7A2F57E1F1C9AC\r
+:204A8200CD7582FAFFDD6E02DD6603232323CB3CCB1DCB3CCB1D23DD75FEDD74FF2A5088B8\r
+:204AA200DD75FCDD74FD7DB42011DD36FC4CDD36FD88214C88224E88225088DD6EFCDD6692\r
+:204AC200FD232346236668DD75FADD74FBDD6EFADD66FB232346236668DD4EFADD46FBA7D8\r
+:204AE200ED42CA724BDD6EFADD66FB462366682929DD4EFADD46FB09E5030369604E23463B\r
+:204B0200E1A7ED42206ADD6EFADD66FB232346236668ED4B5088A7ED422015DD6EFADD66AF\r
+:204B2200FB232346236668232346236668225088DD6EFADD66FB23237E23666F4E2346DDB1\r
+:204B42006EFADD66FB7E8177237E8877DD6EFADD66FB2323E5DD4EFADD46FB030369604E89\r
+:204B62002346030369604E2346E1712370C3CF4ADD6EFADD66FB46236668DD4EFEDD46FF7E\r
+:204B8200A7ED42DA304CDD6EFADD66FB46236668DD4EFEDD46FFA7ED42201CDD6EFCDD6646\r
+:204BA200FD2323E5DD4EFADD46FB030369604E2346E17123701856DD6EFEDD66FF2929DDF5\r
+:204BC2004EFADD46FB09225088DD6EFCDD66FD2323ED5B50887323722A50882323E5030342\r
+:204BE20069604E2346E1712370DD6EFADD66FB46236668DD4EFEDD46FFA7ED42E52A50888C\r
+:204C0200D1732372DD6EFADD66FB712370DD6EFCDD66FD225088DD6EFADD66FB2323AF77C2\r
+:204C22002377210400DD4EFADD46FB0918272A5088DD4EFADD46FBA7ED42204F1100043E4B\r
+:204C420001211E53CD1982DD75FADD74FB7DA43C2006210000C3A381DD6EFADD66FB36007B\r
+:204C6200233601DD6EFADD66FB2323AF772377210400DD4EFADD46FB09EB3E00213C7ECD0D\r
+:204C820019822A5088DD75FADD74FBDD6EFADD66FBDD75FCDD74FDDD6EFADD66FB232346AF\r
+:0C4CA200236668DD75FADD74FBC3CF4AA1\r
+:204CAE00CD0D822A49863A4B86B5B42812010000DD5E02DD56033A4B862A4986CD1982DD26\r
+:104CCE005E02DD56033E0121FA50CD1982C3A38147\r
+:20021A00F5210000010000DD36F82118021937DDCBFC16DDCBFD16DDCBFE16DDCBFF16DD4C\r
+:20023A0035F8282ECB11CB10CB15CB14ED5238DD201078DD960738D5200879DD960638CD09\r
+:18025A00180479DD96064F78DD9E074730C12BA718BDF1E56069C1C92D\r
+:204CDE00CD0D82DD6E0ADD660BE5C5D5211700E53E01216E4ECD1982F1F1F1F1C3A381CD1F\r
+:204CFE007582FAFFAFDD77FADD77FBDD7E02DDB603200C21160022478621FFFFC36B4EDD9D\r
+:204D1E005E02DD56033E0021EC72CD19827DB4280621FFFFC36B4E210A00DD4E02DD460342\r
+:204D3E00095E23563E00218E7ACD19827DB42808DD36FAFFDD36FBFF210A00DD4E02DD46B1\r
+:204D5E00030936FF2336FF210C00097EE6042834210600DD4E02DD4603095E23563E0021E9\r
+:204D7E003C7ECD1982210C00097EE6FB77237EE6FF7721060009E521080009AF772377E102\r
+:204D9E00AF772377210C00DD4E02DD4603097EE608CA574E2AF384DD75FCDD74FDAFDD7791\r
+:204DBE00FEDD77FF210C00DD4E02DD460309AF772377DD7EFCDDB6FD2827DD6E02DD660372\r
+:204DDE00DD4EFCDD46FDA7ED422816211600DD4EFCDD46FD095623666ADD75FCDD74FD18D6\r
+:204DFE00D1DD6E02DD6603DD4EFCDD46FDA7ED422037DD7EFEDDB6FF2013211600DD4E023B\r
+:204E1E00DD4603094623666822F384181C211600DD4EFEDD46FF09E5211600DD4E02DD464A\r
+:204E3E0003094E2346E1712370DD5E02DD56033E00213C7ECD1982180E210C00DD4E02DD5B\r
+:104E5E00460309AF772377DD6EFADD66FBC3A381C8\r
+:20027200DDF9DDE1D13333F1ED3939C92100003E11CB13CB123DC8CB15CB14ED4230F2093F\r
+:0202920018EF63\r
+:1A4E6E0021040039C5D55E2356234D44F7300622478621FFFFD1C1C3A981ED\r
+:0A0294005E2356CDAE81722B73C9B4\r
+:204E8800CD7582FEFF210C00DD4E02DD4603097EE680280EDD5E02DD56033E0021EC72CDA9\r
+:204EA8001982210C00DD4E02DD4603097EE6104F237EE603473E10A9B0280621FFFFC395E6\r
+:204EC8004FDD6E02DD660323234E2346DD6E02DD66035623666AA7ED42DA7B4FDD6E02DD6B\r
+:204EE80066032323E5210600DD4E02DD4603095E2356E17323726960732372DD6E02DD6672\r
+:204F080003E5210600DD4E02DD4603095E2356210800097E23666FA7ED52E5010100DD6E87\r
+:204F280002DD66035E23563E0021DD70CD1982F1F1DD75FEDD74FF7DB4200521FFFF184DDA\r
+:204F4800DD6E02DD660323237EDD86FE77237EDD8EFF77210C00DD4E02DD4603097EF6405B\r
+:204F680077237EF60077210C00097EE6FF77237EE6FB77DD6E02DD66034E234603702B7142\r
+:104F88000B0A4F0600DD71FEDD70FF6960C3A38167\r
+:0F029E00F57D2F6F7C2F67792F4F782F47F1C990\r
+:204F9800CD7582FEFFDD6E02DD6603DD75FEDD74FFDD6E0ADD660B2BDD750ADD740B237DDF\r
+:204FB800B42814DD4604DD6EFEDD66FF23DD75FEDD74FF2B7018DADD6E02DD6603C3A3816D\r
+:204FD800CD7582FAFF2A3F852BDD75FADD74FB21FFFF223F853E00210000324B86224986F3\r
+:204FF800DDCBFB7E2053010500DD5EFADD56FBCDAE81215288195E23562346EBDD75FCDD36\r
+:2050180074FDDD70FE110500DD4EFADD46FBCDAE81215588194E2346DD5E02DD5603DD7ECB\r
+:20503800FEDD6EFCDD66FDCD1982DD6EFADD66FB2BDD75FADD74FB18A7C3A381CD0D822AF9\r
+:205058003F85CB7C200E010A802A3F853E80AC67ED42380B210C0022478621FFFF18533E5F\r
+:205078000121D84F324B86224986DD7E02DDB603DDB604283A010500ED5B3F85CDAE8121C0\r
+:20509800528819DD5604DD4E02DD46037123702372010500ED5B3F85CDAE8121558819DDE0\r
+:2050B8004E0ADD460B7123702A3F8523223F85210000C3A381CD0D82210000E53E01215439\r
+:0850D80050CD1982F1C3A38140\r
+:020453000000A7\r
+:2050E00021040039D55E2356234D44F7300822478621FFFF4D44D1C3A981CD0D82D5210B09\r
+:0F51000000E53E01216E4ECD1982F1F1C3A3816E\r
+:0702AD00DDF9DDE1D1C1C95B\r
+:20510F00CD7582FEFF3E0021B877CD1982210C000946236668DD75FEDD74FF7DE6402818D9\r
+:20512F00DD5E04DD56053E0021EC72CD19827DB4280621FFFFC31E52DD7EFEE6206FDD7EEA\r
+:20514F00FFE603673E20ADB4280621FFFFC31E52210800DD4E04DD4605095E23560A6F03D6\r
+:20516F000A67A7ED523818DD5E04DD56053E0021EC72CD19827DB4280621FFFFC31E52DD4F\r
+:20518F006E04DD66054E234603702B710B6960DD460270210C00DD4E04DD4605097EF68096\r
+:2051AF0077237EF600773E0ADDAE02DDB6032007DD7EFEE6012007DD7EFEE6022817DD5EA7\r
+:2051CF0004DD56053E0021EC72CD19827DB4280521FFFF183ADD7EFEE6032818210400DD0C\r
+:2051EF004E04DD460509E5210600094E2346E17123701816210400DD4E04DD460509E521B3\r
+:20520F000800094E2346E1712370DD6E022600C3A381CD7582FEFFDD36FE41DDCB0D7E280A\r
+:20522F0016DD36FE61DD4E0CDD460DA7210000ED42DD750CDD740DDD6EFEE50E00C5DD6E71\r
+:20524F000CDD660DE5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E01210040CD1982A4\r
+:20526F00F1F1F1F1C3A381CD7582F8FFAFDD77FCDD77FDDD6E02DD6603DD75FEDD74FFDD59\r
+:20528F006EFEDD66FF4E0600214185097EE610280ADD34FE2003DD34FF18E4DD6EFEDD669D\r
+:2052AF00FF7EFE2D2012DD34FC2003DD34FDDD34FE2003DD34FF1813DD6EFEDD66FF7EFE53\r
+:2052CF002B2008DD34FE2003DD34FFDD6E0ADD660BE5DD4E04DD4605DD5EFEDD56FF3E01A1\r
+:2052EF00211754CD1982F1DD75F8DD74F9DD71FADD70FBDD7EFCDDB6FD2805CDDD82180C32\r
+:0F530F00DD4EFADD46FBDD6EF8DD66F9C35E8329\r
+:2002B400CB7A2818424BDD6607DD6E06CD8A83CDD5825059DD7407DD75063E01DDCBFF7EC2\r
+:2002D400C8F5DD46FFDD4EFEDD66FDDD6EFCCD8A83CDD582DD70FFDD71FEDD74FDDD75FC49\r
+:2002F400F1EE01C9C5D55E2356234E2346EBCD1984C34184EBE3F5DDE5DD210000DD39C5BB\r
+:20031400D5DD5609DD7409DD5E08DD7508CD0683DDF9DDE1F1D13333C9EBE3F5DDE5DD2163\r
+:200334000000DD39C5D5DD5609DD7409DD5E08DD7508CD0683E1C1CD8A83DDE1F1D133330E\r
+:01035400C9DF\r
+:20531E00CD0D82D5211800E53E01216E4ECD1982F1F1C3A381CD7582FCFFAFDD77FCDD77C1\r
+:20533E00FDDD6E02DD6603DD75FEDD74FFDD6EFEDD66FFAFB62833DD4E04DD4605DD6EFE34\r
+:20535E00DD66FF23DD75FEDD74FF2B5E16003E01210F51CD19827DA43C200521FFFF18109A\r
+:13537E00DD34FC2003DD34FD18C3DD6EFCDD66FDC3A38195\r
+:09035500EB702B712B722B73C9A4\r
+:20539100CD7582FEFFDD36FEFFDD36FFFFDD5E021600214185197EE608280FDD4E020600F1\r
+:2053B10021D0FF09DD75FEDD74FFDD4E020600214185097EE604280FDD4E02060021A9FF85\r
+:2053D10009DD75FEDD74FFDD4E020600214185097EE602280FDD4E02060021B0FF09DD75F5\r
+:2053F100FEDD74FFDD4E04DD4605DD6EFEDD66FFCDC3823808DD36FEFFDD36FFFFDD6EFEB0\r
+:20541100DD66FFC39983CD7582FAFF110280DD6E0ADD660B3E80AC67ED52380EDD4E0ADDFF\r
+:20543100460B212400CDC3823007AFDD770ADD770BDD6E02DD66034E0600214185097EE6D5\r
+:2054510010280ADD34022003DD340318E4DD6E02DD66037EFE2B200ADD34022003DD340305\r
+:20547100186DDD7E0ADDB60B2065DD6E02DD66037EFE30205ADD6E02DD6603237EEE20FE15\r
+:20549100582017DD360A10DD360B00210800397EC60277237ECE00771835DD6E02DD66033C\r
+:2054B100237EEE20FE422017DD360A02DD360B00210800397EC60277237ECE00771810DD6E\r
+:2054D100360A08DD360B00DD34022003DD3403DD7E0ADDB60B2008DD360A0ADD360B00AFEC\r
+:2054F100DD77FADD77FBDD77FCDD77FDDD4E0ADD460BDD6E02DD66035ECD9153DD75FEDD2B\r
+:2055110074FF7DA43C282E21000039DD5E0ADD560B7A079F4F41CD4A8421000039DD5EFE99\r
+:20553100DD56FF7A079F4F41CDF481DD34022003DD340318B7DD7E04DDB6052811DD6E02A0\r
+:20555100DD6603E5DD6E04DD6605C1712370DD4EFCDD46FDDD6EFADD66FBC35E83CD0D82E9\r
+:205571001600214185197EE604280EDD7E02EE206FDD7E03EE00671806DD6E02DD6603C365\r
+:20559100A381CD0D821600214185197EE602280EDD7E02EE206FDD7E03EE00671806DD6ED2\r
+:0755B10002DD6603C3A381C4\r
+:20045500010101010101010101111111111101010101010101010101010101010101010117\r
+:200475001020202020202020202020202020202048484848484848484848202020202020E7\r
+:200495002042424242424202020202020202020202020202020202020202022020202020D3\r
+:2004B50020444444444444040404040404040404040404040404040404040420202020019E\r
+:2004D500000000000000000000000000000000000000000000000000000000000000000007\r
+:2004F5000000000000000000000000000000000000000000000000000000000000000000E7\r
+:200515000000000000000000000000000000000000000000000000000000000000000000C6\r
+:200535000000000000000000000000000000000000000000000000000000000000000000A6\r
+:10035E00C5D55E2356234E2346EBCD1F81C3418464\r
+:00000001FF\r
diff --git a/src/db/db.lnk b/src/db/db.lnk
new file mode 100644 (file)
index 0000000..a17ca65
--- /dev/null
@@ -0,0 +1,14 @@
+-k ..\..\lib\r
+-l libcb.lib\r
+-l libsysb.lib\r
+-l libiar.lib\r
+-m\r
+-u\r
+-i\r
+-o db\r
+-bl RCODE=0x8100\r
+-bl CODE=0x4000,0x10000\r
+-bc CODE=0x4000\r
+..\..\lib\c0b.rel\r
+db\r
+main\r
diff --git a/src/db/db.lst b/src/db/db.lst
new file mode 100644 (file)
index 0000000..72cb74c
--- /dev/null
@@ -0,0 +1,6551 @@
+                                      1        NAME    db(17)\r
+                                      2        RSEG    CODE(0)\r
+                                      3        RSEG    CSTR(0)\r
+                                      4        EXTERN  __fopen\r
+                                      5        EXTERN  atoi\r
+                                      6        EXTERN  atol\r
+                                      7        PUBLIC  dbDeleteExpression\r
+                                      8        PUBLIC  dbDeleteList\r
+                                      9        PUBLIC  dbDeleteRow\r
+                                     10        PUBLIC  dbEvaluateExpression\r
+                                     11        PUBLIC  dbExecuteDelete\r
+                                     12        PUBLIC  dbExecuteInsert\r
+                                     13        PUBLIC  dbExecuteQuery\r
+                                     14        PUBLIC  dbExecuteStatement\r
+                                     15        PUBLIC  dbExecuteUpdate\r
+                                     16        PUBLIC  dbFieldOffset\r
+                                     17        PUBLIC  dbFieldSearch\r
+                                     18        PUBLIC  dbGetInt\r
+                                     19        PUBLIC  dbGetLong\r
+                                     20        PUBLIC  dbGetString\r
+                                     21        PUBLIC  dbListIndex\r
+                                     22        PUBLIC  dbListSize\r
+                                     23        PUBLIC  dbNewExpression\r
+                                     24        PUBLIC  dbNewRow\r
+                                     25        PUBLIC  dbNextRow\r
+                                     26        PUBLIC  dbOperatorPrecedence\r
+                                     27        PUBLIC  dbParseDelete\r
+                                     28        PUBLIC  dbParseExpression\r
+                                     29        PUBLIC  dbParseInsert\r
+                                     30        PUBLIC  dbParseList\r
+                                     31        PUBLIC  dbParseSelect\r
+                                     32        PUBLIC  dbParseStatement\r
+                                     33        PUBLIC  dbParseUpdate\r
+                                     34        PUBLIC  dbRecordSize\r
+                                     35        PUBLIC  dbReplaceChar\r
+                                     36        PUBLIC  dbResultSetClose\r
+                                     37        PUBLIC  dbSkipLiteral\r
+                                     38        PUBLIC  dbStatementClose\r
+                                     39        PUBLIC  dbTableClose\r
+                                     40        PUBLIC  dbTableOpen\r
+                                     41        PUBLIC  dbTrimString\r
+                                     42        EXTERN  fclose\r
+                                     43        EXTERN  fread\r
+                                     44        EXTERN  free\r
+                                     45        EXTERN  fseek\r
+                                     46        EXTERN  fwrite\r
+                                     47        EXTERN  itoa\r
+                                     48        EXTERN  ltoa\r
+                                     49        EXTERN  malloc\r
+                                     50        EXTERN  memcpy\r
+                                     51        EXTERN  strcat\r
+                                     52        EXTERN  strcmp\r
+                                     53        EXTERN  strcpy\r
+                                     54        EXTERN  strlen\r
+                                     55        EXTERN  strncmp\r
+                                     56        EXTERN  ?CL64180B_4_06_L00\r
+                                     57        EXTERN  ?L_MUL_L03\r
+                                     58        EXTERN  ?SL_DIV_L03\r
+                                     59        EXTERN  ?L_AND_L03\r
+                                     60        EXTERN  ?L_OR_L03\r
+                                     61        EXTERN  ?SL_CMP_L03\r
+                                     62        EXTERN  ?C_V_SWITCH_L06\r
+                                     63        EXTERN  ?BANK_CALL_DIRECT_L08\r
+                                     64        EXTERN  ?BANK_FAST_LEAVE_L08\r
+                                     65        RSEG    CODE\r
+    00000000                         66 dbDeleteList:\r
+    00000000 DD E5                   67        PUSH    IX\r
+    00000002 D5                      68        PUSH    DE\r
+    00000003 DD E1                   69        POP     IX\r
+    00000005 7B                      70        LD      A,E\r
+    00000006 B2                      71        OR      D\r
+    00000007 28 27                   72        JR      Z,?0001\r
+    00000009                         73 ?0000:\r
+    00000009 DD 7E 04                74        LD      A,(IX+4)\r
+    0000000C DD B6 05                75        OR      (IX+5)\r
+    0000000F 28 03                   76        JR      Z,?0003\r
+    00000011                         77 ?0002:\r
+    00000011 CD 35 00                78        CALL    LWRD ?0638\r
+    00000014                         79 ?0003:\r
+    00000014 DD 7E 02                80        LD      A,(IX+2)\r
+    00000017 DD B6 03                81        OR      (IX+3)\r
+    0000001A 28 0E                   82        JR      Z,?0005\r
+    0000001C                         83 ?0004:\r
+    0000001C DD 5E 02                84        LD      E,(IX+2)\r
+    0000001F DD 56 03                85        LD      D,(IX+3)\r
+    00000022 3E 00                   86        LD      A,BYTE3 dbDeleteList\r
+    00000024 21 00 00                87        LD      HL,LWRD dbDeleteList\r
+    00000027 CD 00 00                88        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000002A                         89 ?0005:\r
+    0000002A DD E5                   90        PUSH    IX\r
+    0000002C D1                      91        POP     DE\r
+    0000002D CD 3B 00                92        CALL    LWRD ?0639\r
+    00000030                         93 ?0001:\r
+    00000030 DD E1                   94        POP     IX\r
+    00000032 C3 00 00                95        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000035                         96 ?0638:\r
+    00000035 DD 5E 04                97        LD      E,(IX+4)\r
+    00000038 DD 56 05                98        LD      D,(IX+5)\r
+    0000003B                         99 ?0639:\r
+    0000003B 3E 00                  100        LD      A,BYTE3 free\r
+    0000003D 21 00 00               101        LD      HL,LWRD free\r
+    00000040 C3 00 00               102        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000043                        103 dbListIndex:\r
+    00000043 C5                     104        PUSH    BC\r
+    00000044 FD E5                  105        PUSH    IY\r
+    00000046 DD E5                  106        PUSH    IX\r
+    00000048 D5                     107        PUSH    DE\r
+    00000049 6B                     108        LD      L,E\r
+    0000004A 62                     109        LD      H,D\r
+    0000004B E5                     110        PUSH    HL\r
+    0000004C DD E1                  111        POP     IX\r
+    0000004E FD 21 00 00            112        LD      IY,0\r
+    00000052                        113 ?0007:\r
+    00000052 DD 7E 00               114        LD      A,(IX+0)\r
+    00000055 DD B6 01               115        OR      (IX+1)\r
+    00000058 28 0D                  116        JR      Z,?0006\r
+    0000005A                        117 ?0008:\r
+    0000005A DD 6E 00               118        LD      L,(IX+0)\r
+    0000005D DD 66 01               119        LD      H,(IX+1)\r
+    00000060 E5                     120        PUSH    HL\r
+    00000061 DD E1                  121        POP     IX\r
+    00000063 FD 23                  122        INC     IY\r
+    00000065 18 EB                  123        JR      ?0007\r
+    00000067                        124 ?0006:\r
+    00000067 FD E5                  125        PUSH    IY\r
+    00000069 E1                     126        POP     HL\r
+    0000006A F1                     127        POP     AF\r
+    0000006B                        128 ?0614:\r
+    0000006B DD E1                  129        POP     IX\r
+    0000006D FD E1                  130        POP     IY\r
+    0000006F C1                     131        POP     BC\r
+    00000070 C3 00 00               132        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000073                        133 dbListSize:\r
+    00000073 C5                     134        PUSH    BC\r
+    00000074 FD E5                  135        PUSH    IY\r
+    00000076 DD E5                  136        PUSH    IX\r
+    00000078 D5                     137        PUSH    DE\r
+    00000079 6B                     138        LD      L,E\r
+    0000007A 62                     139        LD      H,D\r
+    0000007B E5                     140        PUSH    HL\r
+    0000007C DD E1                  141        POP     IX\r
+    0000007E EB                     142        EX      DE,HL\r
+    0000007F 3E 43                  143        LD      A,BYTE3 dbListIndex\r
+    00000081 21 43 00               144        LD      HL,LWRD dbListIndex\r
+    00000084 CD 00 00               145        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000087 23                     146        INC     HL\r
+    00000088 E5                     147        PUSH    HL\r
+    00000089 FD E1                  148        POP     IY\r
+    0000008B                        149 ?0010:\r
+    0000008B DD 7E 02               150        LD      A,(IX+2)\r
+    0000008E DD B6 03               151        OR      (IX+3)\r
+    00000091 28 0D                  152        JR      Z,?0009\r
+    00000093                        153 ?0011:\r
+    00000093 DD 6E 02               154        LD      L,(IX+2)\r
+    00000096 DD 66 03               155        LD      H,(IX+3)\r
+    00000099 E5                     156        PUSH    HL\r
+    0000009A DD E1                  157        POP     IX\r
+    0000009C FD 23                  158        INC     IY\r
+    0000009E 18 EB                  159        JR      ?0010\r
+    000000A0                        160 ?0009:\r
+    000000A0 C3 67 00               161        JP      LWRD ?0006\r
+    000000A3                        162 dbSkipLiteral:\r
+    000000A3 FD E5                  163        PUSH    IY\r
+    000000A5 DD E5                  164        PUSH    IX\r
+    000000A7 D5                     165        PUSH    DE\r
+    000000A8 C5                     166        PUSH    BC\r
+    000000A9 DD E1                  167        POP     IX\r
+    000000AB 21 0A 00               168        LD      HL,10\r
+    000000AE 39                     169        ADD     HL,SP\r
+    000000AF 5E                     170        LD      E,(HL)\r
+    000000B0 23                     171        INC     HL\r
+    000000B1 56                     172        LD      D,(HL)\r
+    000000B2 D5                     173        PUSH    DE\r
+    000000B3 FD E1                  174        POP     IY\r
+    000000B5 FD 6E 00               175        LD      L,(IY+0)\r
+    000000B8 FD 66 01               176        LD      H,(IY+1)\r
+    000000BB 09                     177        ADD     HL,BC\r
+    000000BC 56                     178        LD      D,(HL)\r
+    000000BD 21 0C 00               179        LD      HL,12\r
+    000000C0 39                     180        ADD     HL,SP\r
+    000000C1 7E                     181        LD      A,(HL)\r
+    000000C2 23                     182        INC     HL\r
+    000000C3 66                     183        LD      H,(HL)\r
+    000000C4 6F                     184        LD      L,A\r
+    000000C5 5E                     185        LD      E,(HL)\r
+    000000C6 23                     186        INC     HL\r
+    000000C7 66                     187        LD      H,(HL)\r
+    000000C8 6B                     188        LD      L,E\r
+    000000C9 09                     189        ADD     HL,BC\r
+    000000CA                        190 ?0458:\r
+    000000CA 72                     191        LD      (HL),D\r
+    000000CB                        192 ?0013:\r
+    000000CB FD E5                  193        PUSH    IY\r
+    000000CD E1                     194        POP     HL\r
+    000000CE 4E                     195        LD      C,(HL)\r
+    000000CF 23                     196        INC     HL\r
+    000000D0 46                     197        LD      B,(HL)\r
+    000000D1 03                     198        INC     BC\r
+    000000D2 70                     199        LD      (HL),B\r
+    000000D3 2B                     200        DEC     HL\r
+    000000D4 71                     201        LD      (HL),C\r
+    000000D5 DD E5                  202        PUSH    IX\r
+    000000D7 E1                     203        POP     HL\r
+    000000D8 09                     204        ADD     HL,BC\r
+    000000D9 7E                     205        LD      A,(HL)\r
+    000000DA 21 00 00               206        LD      HL,0\r
+    000000DD 39                     207        ADD     HL,SP\r
+    000000DE BE                     208        CP      (HL)\r
+    000000DF FD 6E 00               209        LD      L,(IY+0)\r
+    000000E2 FD 66 01               210        LD      H,(IY+1)\r
+    000000E5 DD E5                  211        PUSH    IX\r
+    000000E7 C1                     212        POP     BC\r
+    000000E8 09                     213        ADD     HL,BC\r
+    000000E9 56                     214        LD      D,(HL)\r
+    000000EA D5                     215        PUSH    DE\r
+    000000EB 21 0E 00               216        LD      HL,14\r
+    000000EE 39                     217        ADD     HL,SP\r
+    000000EF 7E                     218        LD      A,(HL)\r
+    000000F0 23                     219        INC     HL\r
+    000000F1 66                     220        LD      H,(HL)\r
+    000000F2 6F                     221        LD      L,A\r
+    000000F3 5E                     222        LD      E,(HL)\r
+    000000F4 23                     223        INC     HL\r
+    000000F5 56                     224        LD      D,(HL)\r
+    000000F6 13                     225        INC     DE\r
+    000000F7 72                     226        LD      (HL),D\r
+    000000F8 2B                     227        DEC     HL\r
+    000000F9 73                     228        LD      (HL),E\r
+    000000FA 69                     229        LD      L,C\r
+    000000FB 60                     230        LD      H,B\r
+    000000FC 19                     231        ADD     HL,DE\r
+    000000FD D1                     232        POP     DE\r
+    000000FE 20 CA                  233        JR      NZ,?0458\r
+    00000100                        234 ?0014:\r
+    00000100                        235 ?0012:\r
+    00000100 72                     236        LD      (HL),D\r
+    00000101                        237 ?0625:\r
+    00000101 E1                     238        POP     HL\r
+    00000102 DD E1                  239        POP     IX\r
+    00000104 FD E1                  240        POP     IY\r
+    00000106 C3 00 00               241        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000109                        242 dbTrimString:\r
+    00000109 C5                     243        PUSH    BC\r
+    0000010A FD E5                  244        PUSH    IY\r
+    0000010C DD E5                  245        PUSH    IX\r
+    0000010E DD 21 00 00            246        LD      IX,0\r
+    00000112 DD 39                  247        ADD     IX,SP\r
+    00000114 F5                     248        PUSH    AF\r
+    00000115 F5                     249        PUSH    AF\r
+    00000116 F5                     250        PUSH    AF\r
+    00000117 D5                     251        PUSH    DE\r
+    00000118 FD E1                  252        POP     IY\r
+    0000011A AF                     253        XOR     A\r
+    0000011B DD 77 FA               254        LD      (IX-6),A\r
+    0000011E DD 77 FB               255        LD      (IX-5),A\r
+    00000121 DD 77 FC               256        LD      (IX-4),A\r
+    00000124 DD 77 FD               257        LD      (IX-3),A\r
+    00000127 DD 36 FE 20            258        LD      (IX-2),32\r
+    0000012B                        259 ?0016:\r
+    0000012B DD 6E FA               260        LD      L,(IX-6)\r
+    0000012E DD 66 FB               261        LD      H,(IX-5)\r
+    00000131 FD E5                  262        PUSH    IY\r
+    00000133 C1                     263        POP     BC\r
+    00000134 09                     264        ADD     HL,BC\r
+    00000135 7E                     265        LD      A,(HL)\r
+    00000136 B7                     266        OR      A\r
+    00000137 CA 89 02               267        JP      Z,?0015\r
+    0000013A                        268 ?0017:\r
+    0000013A DD 6E FA               269        LD      L,(IX-6)\r
+    0000013D DD 66 FB               270        LD      H,(IX-5)\r
+    00000140 09                     271        ADD     HL,BC\r
+    00000141 7E                     272        LD      A,(HL)\r
+    00000142 FE 27                  273        CP      39\r
+    00000144 28 0C                  274        JR      Z,?0020\r
+    00000146 DD 6E FA               275        LD      L,(IX-6)\r
+    00000149 DD 66 FB               276        LD      H,(IX-5)\r
+    0000014C 09                     277        ADD     HL,BC\r
+    0000014D 7E                     278        LD      A,(HL)\r
+    0000014E FE 22                  279        CP      34\r
+    00000150 20 1D                  280        JR      NZ,?0019\r
+    00000152                        281 ?0020:\r
+    00000152                        282 ?0021:\r
+    00000152                        283 ?0018:\r
+    00000152 21 02 00               284        LD      HL,2\r
+    00000155 39                     285        ADD     HL,SP\r
+    00000156 E5                     286        PUSH    HL\r
+    00000157 2B                     287        DEC     HL\r
+    00000158 2B                     288        DEC     HL\r
+    00000159 E5                     289        PUSH    HL\r
+    0000015A DD 6E FA               290        LD      L,(IX-6)\r
+    0000015D DD 66 FB               291        LD      H,(IX-5)\r
+    00000160 FD E5                  292        PUSH    IY\r
+    00000162 D1                     293        POP     DE\r
+    00000163 19                     294        ADD     HL,DE\r
+    00000164 5E                     295        LD      E,(HL)\r
+    00000165 3E A3                  296        LD      A,BYTE3 dbSkipLiteral\r
+    00000167 21 A3 00               297        LD      HL,LWRD dbSkipLiteral\r
+    0000016A CD 00 00               298        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000016D E1                     299        POP     HL\r
+    0000016E E1                     300        POP     HL\r
+    0000016F                        301 ?0019:\r
+    0000016F DD 7E FE               302        LD      A,(IX-2)\r
+    00000172 FE 20                  303        CP      32\r
+    00000174 C2 18 02               304        JP      NZ,?0023\r
+    00000177 DD 6E FA               305        LD      L,(IX-6)\r
+    0000017A DD 66 FB               306        LD      H,(IX-5)\r
+    0000017D FD E5                  307        PUSH    IY\r
+    0000017F C1                     308        POP     BC\r
+    00000180 09                     309        ADD     HL,BC\r
+    00000181 7E                     310        LD      A,(HL)\r
+    00000182 FE 2C                  311        CP      44\r
+    00000184 CA 0B 02               312        JP      Z,?0026\r
+    00000187 DD 6E FA               313        LD      L,(IX-6)\r
+    0000018A DD 66 FB               314        LD      H,(IX-5)\r
+    0000018D 09                     315        ADD     HL,BC\r
+    0000018E 7E                     316        LD      A,(HL)\r
+    0000018F FE 29                  317        CP      41\r
+    00000191 28 78                  318        JR      Z,?0026\r
+    00000193 DD 6E FA               319        LD      L,(IX-6)\r
+    00000196 DD 66 FB               320        LD      H,(IX-5)\r
+    00000199 09                     321        ADD     HL,BC\r
+    0000019A 7E                     322        LD      A,(HL)\r
+    0000019B FE 28                  323        CP      40\r
+    0000019D 28 6C                  324        JR      Z,?0026\r
+    0000019F DD 6E FA               325        LD      L,(IX-6)\r
+    000001A2 DD 66 FB               326        LD      H,(IX-5)\r
+    000001A5 09                     327        ADD     HL,BC\r
+    000001A6 7E                     328        LD      A,(HL)\r
+    000001A7 FE 2B                  329        CP      43\r
+    000001A9 28 60                  330        JR      Z,?0026\r
+    000001AB DD 6E FA               331        LD      L,(IX-6)\r
+    000001AE DD 66 FB               332        LD      H,(IX-5)\r
+    000001B1 09                     333        ADD     HL,BC\r
+    000001B2 7E                     334        LD      A,(HL)\r
+    000001B3 FE 2D                  335        CP      45\r
+    000001B5 28 54                  336        JR      Z,?0026\r
+    000001B7 DD 6E FA               337        LD      L,(IX-6)\r
+    000001BA DD 66 FB               338        LD      H,(IX-5)\r
+    000001BD 09                     339        ADD     HL,BC\r
+    000001BE 7E                     340        LD      A,(HL)\r
+    000001BF FE 2A                  341        CP      42\r
+    000001C1 28 48                  342        JR      Z,?0026\r
+    000001C3 DD 6E FA               343        LD      L,(IX-6)\r
+    000001C6 DD 66 FB               344        LD      H,(IX-5)\r
+    000001C9 09                     345        ADD     HL,BC\r
+    000001CA 7E                     346        LD      A,(HL)\r
+    000001CB FE 2F                  347        CP      47\r
+    000001CD 28 3C                  348        JR      Z,?0026\r
+    000001CF DD 6E FA               349        LD      L,(IX-6)\r
+    000001D2 DD 66 FB               350        LD      H,(IX-5)\r
+    000001D5 09                     351        ADD     HL,BC\r
+    000001D6 7E                     352        LD      A,(HL)\r
+    000001D7 FE 26                  353        CP      38\r
+    000001D9 28 30                  354        JR      Z,?0026\r
+    000001DB DD 6E FA               355        LD      L,(IX-6)\r
+    000001DE DD 66 FB               356        LD      H,(IX-5)\r
+    000001E1 09                     357        ADD     HL,BC\r
+    000001E2 7E                     358        LD      A,(HL)\r
+    000001E3 FE 7C                  359        CP      124\r
+    000001E5 28 24                  360        JR      Z,?0026\r
+    000001E7 DD 6E FA               361        LD      L,(IX-6)\r
+    000001EA DD 66 FB               362        LD      H,(IX-5)\r
+    000001ED 09                     363        ADD     HL,BC\r
+    000001EE 7E                     364        LD      A,(HL)\r
+    000001EF FE 3D                  365        CP      61\r
+    000001F1 28 18                  366        JR      Z,?0026\r
+    000001F3 DD 6E FA               367        LD      L,(IX-6)\r
+    000001F6 DD 66 FB               368        LD      H,(IX-5)\r
+    000001F9 09                     369        ADD     HL,BC\r
+    000001FA 7E                     370        LD      A,(HL)\r
+    000001FB FE 3C                  371        CP      60\r
+    000001FD 28 0C                  372        JR      Z,?0026\r
+    000001FF DD 6E FA               373        LD      L,(IX-6)\r
+    00000202 DD 66 FB               374        LD      H,(IX-5)\r
+    00000205 09                     375        ADD     HL,BC\r
+    00000206 7E                     376        LD      A,(HL)\r
+    00000207 FE 3E                  377        CP      62\r
+    00000209 20 0D                  378        JR      NZ,?0023\r
+    0000020B                        379 ?0026:\r
+    0000020B                        380 ?0027:\r
+    0000020B                        381 ?0025:\r
+    0000020B                        382 ?0024:\r
+    0000020B                        383 ?0022:\r
+    0000020B DD 6E FC               384        LD      L,(IX-4)\r
+    0000020E DD 66 FD               385        LD      H,(IX-3)\r
+    00000211 2B                     386        DEC     HL\r
+    00000212 DD 75 FC               387        LD      (IX-4),L\r
+    00000215 DD 74 FD               388        LD      (IX-3),H\r
+    00000218                        389 ?0023:\r
+    00000218 DD 6E FA               390        LD      L,(IX-6)\r
+    0000021B DD 66 FB               391        LD      H,(IX-5)\r
+    0000021E FD E5                  392        PUSH    IY\r
+    00000220 C1                     393        POP     BC\r
+    00000221 09                     394        ADD     HL,BC\r
+    00000222 56                     395        LD      D,(HL)\r
+    00000223 DD 6E FC               396        LD      L,(IX-4)\r
+    00000226 DD 66 FD               397        LD      H,(IX-3)\r
+    00000229 09                     398        ADD     HL,BC\r
+    0000022A 72                     399        LD      (HL),D\r
+    0000022B DD 7E FE               400        LD      A,(IX-2)\r
+    0000022E FE 2C                  401        CP      44\r
+    00000230 28 2C                  402        JR      Z,?0031\r
+    00000232 FE 20                  403        CP      32\r
+    00000234 28 28                  404        JR      Z,?0031\r
+    00000236 FE 28                  405        CP      40\r
+    00000238 28 24                  406        JR      Z,?0031\r
+    0000023A FE 2B                  407        CP      43\r
+    0000023C 28 20                  408        JR      Z,?0031\r
+    0000023E FE 2D                  409        CP      45\r
+    00000240 28 1C                  410        JR      Z,?0031\r
+    00000242 FE 2A                  411        CP      42\r
+    00000244 28 18                  412        JR      Z,?0031\r
+    00000246 FE 2F                  413        CP      47\r
+    00000248 28 14                  414        JR      Z,?0031\r
+    0000024A FE 26                  415        CP      38\r
+    0000024C 28 10                  416        JR      Z,?0031\r
+    0000024E FE 7C                  417        CP      124\r
+    00000250 28 0C                  418        JR      Z,?0031\r
+    00000252 FE 3D                  419        CP      61\r
+    00000254 28 08                  420        JR      Z,?0031\r
+    00000256 FE 3E                  421        CP      62\r
+    00000258 28 04                  422        JR      Z,?0031\r
+    0000025A FE 3C                  423        CP      60\r
+    0000025C 20 0C                  424        JR      NZ,?0032\r
+    0000025E                        425 ?0031:\r
+    0000025E                        426 ?0030:\r
+    0000025E DD 6E FA               427        LD      L,(IX-6)\r
+    00000261 DD 66 FB               428        LD      H,(IX-5)\r
+    00000264 09                     429        ADD     HL,BC\r
+    00000265 7E                     430        LD      A,(HL)\r
+    00000266 FE 20                  431        CP      32\r
+    00000268 28 08                  432        JR      Z,?0459\r
+    0000026A                        433 ?0032:\r
+    0000026A                        434 ?0033:\r
+    0000026A                        435 ?0028:\r
+    0000026A DD 34 FC               436        INC     (IX-4)\r
+    0000026D 20 03                  437        JR      NZ,?0459\r
+    0000026F DD 34 FD               438        INC     (IX-3)\r
+    00000272                        439 ?0459:\r
+    00000272                        440 ?0029:\r
+    00000272 DD 6E FA               441        LD      L,(IX-6)\r
+    00000275 DD 66 FB               442        LD      H,(IX-5)\r
+    00000278 09                     443        ADD     HL,BC\r
+    00000279 46                     444        LD      B,(HL)\r
+    0000027A DD 70 FE               445        LD      (IX-2),B\r
+    0000027D DD 34 FA               446        INC     (IX-6)\r
+    00000280 C2 2B 01               447        JP      NZ,?0016\r
+    00000283 DD 34 FB               448        INC     (IX-5)\r
+    00000286 C3 2B 01               449        JP      LWRD ?0016\r
+    00000289                        450 ?0015:\r
+    00000289 DD 7E FE               451        LD      A,(IX-2)\r
+    0000028C FE 20                  452        CP      32\r
+    0000028E DD 6E FC               453        LD      L,(IX-4)\r
+    00000291 DD 66 FD               454        LD      H,(IX-3)\r
+    00000294 20 01                  455        JR      NZ,?0035\r
+    00000296                        456 ?0034:\r
+    00000296 2B                     457        DEC     HL\r
+    00000297                        458 ?0035:\r
+    00000297 09                     459        ADD     HL,BC\r
+    00000298 36 00                  460        LD      (HL),0\r
+    0000029A                        461 ?0036:\r
+    0000029A DD F9                  462        LD      SP,IX\r
+    0000029C C3 6B 00               463        JP      LWRD ?0614\r
+    0000029F                        464 dbReplaceChar:\r
+    0000029F FD E5                  465        PUSH    IY\r
+    000002A1 DD E5                  466        PUSH    IX\r
+    000002A3 C5                     467        PUSH    BC\r
+    000002A4 D5                     468        PUSH    DE\r
+    000002A5 FD E1                  469        POP     IY\r
+    000002A7 DD 21 00 00            470        LD      IX,0\r
+    000002AB                        471 ?0038:\r
+    000002AB DD E5                  472        PUSH    IX\r
+    000002AD E1                     473        POP     HL\r
+    000002AE FD E5                  474        PUSH    IY\r
+    000002B0 C1                     475        POP     BC\r
+    000002B1 09                     476        ADD     HL,BC\r
+    000002B2 7E                     477        LD      A,(HL)\r
+    000002B3 21 00 00               478        LD      HL,0\r
+    000002B6 39                     479        ADD     HL,SP\r
+    000002B7 BE                     480        CP      (HL)\r
+    000002B8 28 0C                  481        JR      Z,?0037\r
+    000002BA DD E5                  482        PUSH    IX\r
+    000002BC E1                     483        POP     HL\r
+    000002BD 09                     484        ADD     HL,BC\r
+    000002BE 7E                     485        LD      A,(HL)\r
+    000002BF B7                     486        OR      A\r
+    000002C0 28 04                  487        JR      Z,?0037\r
+    000002C2                        488 ?0041:\r
+    000002C2                        489 ?0040:\r
+    000002C2                        490 ?0039:\r
+    000002C2 DD 23                  491        INC     IX\r
+    000002C4 18 E5                  492        JR      ?0038\r
+    000002C6                        493 ?0037:\r
+    000002C6 DD E5                  494        PUSH    IX\r
+    000002C8 E1                     495        POP     HL\r
+    000002C9 09                     496        ADD     HL,BC\r
+    000002CA 7E                     497        LD      A,(HL)\r
+    000002CB B7                     498        OR      A\r
+    000002CC 28 0C                  499        JR      Z,?0043\r
+    000002CE                        500 ?0042:\r
+    000002CE DD E5                  501        PUSH    IX\r
+    000002D0 E1                     502        POP     HL\r
+    000002D1 09                     503        ADD     HL,BC\r
+    000002D2 E5                     504        PUSH    HL\r
+    000002D3 21 0C 00               505        LD      HL,12\r
+    000002D6 39                     506        ADD     HL,SP\r
+    000002D7 46                     507        LD      B,(HL)\r
+    000002D8 E1                     508        POP     HL\r
+    000002D9 70                     509        LD      (HL),B\r
+    000002DA                        510 ?0043:\r
+    000002DA DD E5                  511        PUSH    IX\r
+    000002DC E1                     512        POP     HL\r
+    000002DD FD E5                  513        PUSH    IY\r
+    000002DF C1                     514        POP     BC\r
+    000002E0 09                     515        ADD     HL,BC\r
+    000002E1                        516 ?0626:\r
+    000002E1 F1                     517        POP     AF\r
+    000002E2 DD E1                  518        POP     IX\r
+    000002E4 FD E1                  519        POP     IY\r
+    000002E6 C3 00 00               520        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000002E9                        521 dbParseList:\r
+    000002E9 FD E5                  522        PUSH    IY\r
+    000002EB DD E5                  523        PUSH    IX\r
+    000002ED DD 21 00 00            524        LD      IX,0\r
+    000002F1 DD 39                  525        ADD     IX,SP\r
+    000002F3 C5                     526        PUSH    BC\r
+    000002F4 D5                     527        PUSH    DE\r
+    000002F5 21 D8 FF               528        LD      HL,65496\r
+    000002F8 39                     529        ADD     HL,SP\r
+    000002F9 F9                     530        LD      SP,HL\r
+    000002FA 11 06 00               531        LD      DE,6\r
+    000002FD CD 8F 04               532        CALL    LWRD ?0641\r
+    00000300 E5                     533        PUSH    HL\r
+    00000301 FD E1                  534        POP     IY\r
+    00000303 DD 75 DA               535        LD      (IX-38),L\r
+    00000306 DD 74 DB               536        LD      (IX-37),H\r
+    00000309 AF                     537        XOR     A\r
+    0000030A 77                     538        LD      (HL),A\r
+    0000030B 23                     539        INC     HL\r
+    0000030C 77                     540        LD      (HL),A\r
+    0000030D DD 77 D6               541        LD      (IX-42),A\r
+    00000310 DD 77 D7               542        LD      (IX-41),A\r
+    00000313 DD 77 D4               543        LD      (IX-44),A\r
+    00000316 DD 77 D5               544        LD      (IX-43),A\r
+    00000319                        545 ?0045:\r
+    00000319 DD 6E 0A               546        LD      L,(IX+10)\r
+    0000031C DD 66 0B               547        LD      H,(IX+11)\r
+    0000031F 46                     548        LD      B,(HL)\r
+    00000320 23                     549        INC     HL\r
+    00000321 66                     550        LD      H,(HL)\r
+    00000322 68                     551        LD      L,B\r
+    00000323 DD 4E FC               552        LD      C,(IX-4)\r
+    00000326 DD 46 FD               553        LD      B,(IX-3)\r
+    00000329 09                     554        ADD     HL,BC\r
+    0000032A 7E                     555        LD      A,(HL)\r
+    0000032B DD BE 08               556        CP      (IX+8)\r
+    0000032E 20 07                  557        JR      NZ,?0047\r
+    00000330 AF                     558        XOR     A\r
+    00000331 DD B6 D4               559        OR      (IX-44)\r
+    00000334 CA 41 04               560        JP      Z,?0044\r
+    00000337                        561 ?0047:\r
+    00000337                        562 ?0048:\r
+    00000337 DD 6E 0A               563        LD      L,(IX+10)\r
+    0000033A DD 66 0B               564        LD      H,(IX+11)\r
+    0000033D 46                     565        LD      B,(HL)\r
+    0000033E 23                     566        INC     HL\r
+    0000033F 66                     567        LD      H,(HL)\r
+    00000340 68                     568        LD      L,B\r
+    00000341 DD 46 FD               569        LD      B,(IX-3)\r
+    00000344 09                     570        ADD     HL,BC\r
+    00000345 7E                     571        LD      A,(HL)\r
+    00000346 B7                     572        OR      A\r
+    00000347 CA 41 04               573        JP      Z,?0044\r
+    0000034A                        574 ?0050:\r
+    0000034A                        575 ?0049:\r
+    0000034A                        576 ?0046:\r
+    0000034A DD 6E 0A               577        LD      L,(IX+10)\r
+    0000034D DD 66 0B               578        LD      H,(IX+11)\r
+    00000350 46                     579        LD      B,(HL)\r
+    00000351 23                     580        INC     HL\r
+    00000352 66                     581        LD      H,(HL)\r
+    00000353 68                     582        LD      L,B\r
+    00000354 DD 46 FD               583        LD      B,(IX-3)\r
+    00000357 09                     584        ADD     HL,BC\r
+    00000358 7E                     585        LD      A,(HL)\r
+    00000359 FE 22                  586        CP      34\r
+    0000035B 28 04                  587        JR      Z,?0052\r
+    0000035D FE 27                  588        CP      39\r
+    0000035F 20 10                  589        JR      NZ,?0053\r
+    00000361                        590 ?0052:\r
+    00000361 AF                     591        XOR     A\r
+    00000362 DD B6 D4               592        OR      (IX-44)\r
+    00000365 20 04                  593        JR      NZ,?0463\r
+    00000367 3E 01                  594        LD      A,1\r
+    00000369 18 01                  595        JR      ?0464\r
+    0000036B                        596 ?0463:\r
+    0000036B AF                     597        XOR     A\r
+    0000036C                        598 ?0464:\r
+    0000036C DD 77 D4               599        LD      (IX-44),A\r
+    0000036F 18 1C                  600        JR      ?0058\r
+    00000371                        601 ?0053:\r
+    00000371 FE 28                  602        CP      40\r
+    00000373 20 0B                  603        JR      NZ,?0056\r
+    00000375 AF                     604        XOR     A\r
+    00000376 DD B6 D4               605        OR      (IX-44)\r
+    00000379 20 12                  606        JR      NZ,?0058\r
+    0000037B                        607 ?0054:\r
+    0000037B DD 34 D5               608        INC     (IX-43)\r
+    0000037E                        609 ?0055:\r
+    0000037E 18 0D                  610        JR      ?0058\r
+    00000380                        611 ?0056:\r
+    00000380 FE 29                  612        CP      41\r
+    00000382 20 09                  613        JR      NZ,?0058\r
+    00000384 AF                     614        XOR     A\r
+    00000385 DD B6 D4               615        OR      (IX-44)\r
+    00000388 20 03                  616        JR      NZ,?0058\r
+    0000038A                        617 ?0057:\r
+    0000038A DD 35 D5               618        DEC     (IX-43)\r
+    0000038D                        619 ?0058:\r
+    0000038D                        620 ?0051:\r
+    0000038D DD 6E 0A               621        LD      L,(IX+10)\r
+    00000390 DD 66 0B               622        LD      H,(IX+11)\r
+    00000393 46                     623        LD      B,(HL)\r
+    00000394 23                     624        INC     HL\r
+    00000395 66                     625        LD      H,(HL)\r
+    00000396 68                     626        LD      L,B\r
+    00000397 DD 46 FD               627        LD      B,(IX-3)\r
+    0000039A 09                     628        ADD     HL,BC\r
+    0000039B 7E                     629        LD      A,(HL)\r
+    0000039C DD BE FE               630        CP      (IX-2)\r
+    0000039F 20 0B                  631        JR      NZ,?0061\r
+    000003A1 AF                     632        XOR     A\r
+    000003A2 DD B6 D4               633        OR      (IX-44)\r
+    000003A5 20 05                  634        JR      NZ,?0061\r
+    000003A7 DD B6 D5               635        OR      (IX-43)\r
+    000003AA 28 1D                  636        JR      Z,?0060\r
+    000003AC                        637 ?0061:\r
+    000003AC                        638 ?0062:\r
+    000003AC                        639 ?0059:\r
+    000003AC DD 6E 0A               640        LD      L,(IX+10)\r
+    000003AF DD 66 0B               641        LD      H,(IX+11)\r
+    000003B2 46                     642        LD      B,(HL)\r
+    000003B3 23                     643        INC     HL\r
+    000003B4 66                     644        LD      H,(HL)\r
+    000003B5 68                     645        LD      L,B\r
+    000003B6 DD 46 FD               646        LD      B,(IX-3)\r
+    000003B9 09                     647        ADD     HL,BC\r
+    000003BA 46                     648        LD      B,(HL)\r
+    000003BB 21 08 00               649        LD      HL,8\r
+    000003BE 39                     650        ADD     HL,SP\r
+    000003BF DD 5E D6               651        LD      E,(IX-42)\r
+    000003C2 DD 56 D7               652        LD      D,(IX-41)\r
+    000003C5 19                     653        ADD     HL,DE\r
+    000003C6 70                     654        LD      (HL),B\r
+    000003C7 18 61                  655        JR      ?0063\r
+    000003C9                        656 ?0060:\r
+    000003C9 21 08 00               657        LD      HL,8\r
+    000003CC 39                     658        ADD     HL,SP\r
+    000003CD DD 4E D6               659        LD      C,(IX-42)\r
+    000003D0 DD 46 D7               660        LD      B,(IX-41)\r
+    000003D3 09                     661        ADD     HL,BC\r
+    000003D4 77                     662        LD      (HL),A\r
+    000003D5 21 08 00               663        LD      HL,8\r
+    000003D8 39                     664        ADD     HL,SP\r
+    000003D9 CD 97 04               665        CALL    LWRD ?0648\r
+    000003DC EB                     666        EX      DE,HL\r
+    000003DD 13                     667        INC     DE\r
+    000003DE CD 8F 04               668        CALL    LWRD ?0641\r
+    000003E1 FD 75 04               669        LD      (IY+4),L\r
+    000003E4 FD 74 05               670        LD      (IY+5),H\r
+    000003E7 21 08 00               671        LD      HL,8\r
+    000003EA 39                     672        ADD     HL,SP\r
+    000003EB 4D                     673        LD      C,L\r
+    000003EC 44                     674        LD      B,H\r
+    000003ED FD 5E 04               675        LD      E,(IY+4)\r
+    000003F0 FD 56 05               676        LD      D,(IY+5)\r
+    000003F3 CD AD 04               677        CALL    LWRD ?0651\r
+    000003F6 FD E5                  678        PUSH    IY\r
+    000003F8 E1                     679        POP     HL\r
+    000003F9 DD 75 D8               680        LD      (IX-40),L\r
+    000003FC DD 74 D9               681        LD      (IX-39),H\r
+    000003FF 11 06 00               682        LD      DE,6\r
+    00000402 CD 8F 04               683        CALL    LWRD ?0641\r
+    00000405 FD 75 02               684        LD      (IY+2),L\r
+    00000408 FD 74 03               685        LD      (IY+3),H\r
+    0000040B FD 6E 02               686        LD      L,(IY+2)\r
+    0000040E FD 66 03               687        LD      H,(IY+3)\r
+    00000411 E5                     688        PUSH    HL\r
+    00000412 FD E1                  689        POP     IY\r
+    00000414 DD 6E D8               690        LD      L,(IX-40)\r
+    00000417 DD 66 D9               691        LD      H,(IX-39)\r
+    0000041A E5                     692        PUSH    HL\r
+    0000041B FD E5                  693        PUSH    IY\r
+    0000041D E1                     694        POP     HL\r
+    0000041E C1                     695        POP     BC\r
+    0000041F 71                     696        LD      (HL),C\r
+    00000420 23                     697        INC     HL\r
+    00000421 70                     698        LD      (HL),B\r
+    00000422 DD 36 D6 FF            699        LD      (IX-42),255\r
+    00000426 DD 36 D7 FF            700        LD      (IX-41),255\r
+    0000042A                        701 ?0063:\r
+    0000042A DD 6E 0A               702        LD      L,(IX+10)\r
+    0000042D DD 66 0B               703        LD      H,(IX+11)\r
+    00000430 34                     704        INC     (HL)\r
+    00000431 23                     705        INC     HL\r
+    00000432 20 01                  706        JR      NZ,?0465\r
+    00000434 34                     707        INC     (HL)\r
+    00000435                        708 ?0465:\r
+    00000435 DD 34 D6               709        INC     (IX-42)\r
+    00000438 C2 19 03               710        JP      NZ,?0045\r
+    0000043B DD 34 D7               711        INC     (IX-41)\r
+    0000043E C3 19 03               712        JP      LWRD ?0045\r
+    00000441                        713 ?0044:\r
+    00000441 21 08 00               714        LD      HL,8\r
+    00000444 39                     715        ADD     HL,SP\r
+    00000445 DD 4E D6               716        LD      C,(IX-42)\r
+    00000448 DD 46 D7               717        LD      B,(IX-41)\r
+    0000044B 09                     718        ADD     HL,BC\r
+    0000044C 77                     719        LD      (HL),A\r
+    0000044D 21 08 00               720        LD      HL,8\r
+    00000450 39                     721        ADD     HL,SP\r
+    00000451 CD 97 04               722        CALL    LWRD ?0648\r
+    00000454 EB                     723        EX      DE,HL\r
+    00000455 13                     724        INC     DE\r
+    00000456 CD 8F 04               725        CALL    LWRD ?0641\r
+    00000459 FD 75 04               726        LD      (IY+4),L\r
+    0000045C FD 74 05               727        LD      (IY+5),H\r
+    0000045F 21 08 00               728        LD      HL,8\r
+    00000462 39                     729        ADD     HL,SP\r
+    00000463 4D                     730        LD      C,L\r
+    00000464 44                     731        LD      B,H\r
+    00000465 FD 5E 04               732        LD      E,(IY+4)\r
+    00000468 FD 56 05               733        LD      D,(IY+5)\r
+    0000046B CD AD 04               734        CALL    LWRD ?0651\r
+    0000046E AF                     735        XOR     A\r
+    0000046F FD 77 02               736        LD      (IY+2),A\r
+    00000472 FD 77 03               737        LD      (IY+3),A\r
+    00000475 DD 6E DA               738        LD      L,(IX-38)\r
+    00000478 DD 66 DB               739        LD      H,(IX-37)\r
+    0000047B                        740 ?0630:\r
+    0000047B DD F9                  741        LD      SP,IX\r
+    0000047D DD E1                  742        POP     IX\r
+    0000047F FD E1                  743        POP     IY\r
+    00000481 C3 00 00               744        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000484                        745 ?0643:\r
+    00000484 71                     746        LD      (HL),C\r
+    00000485 23                     747        INC     HL\r
+    00000486 70                     748        LD      (HL),B\r
+    00000487 FD 6E 00               749        LD      L,(IY+0)\r
+    0000048A FD 66 01               750        LD      H,(IY+1)\r
+    0000048D                        751 ?0644:\r
+    0000048D 29                     752        ADD     HL,HL\r
+    0000048E                        753 ?0642:\r
+    0000048E EB                     754        EX      DE,HL\r
+    0000048F                        755 ?0641:\r
+    0000048F 3E 00                  756        LD      A,BYTE3 malloc\r
+    00000491 21 00 00               757        LD      HL,LWRD malloc\r
+    00000494 C3 00 00               758        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000497                        759 ?0648:\r
+    00000497 EB                     760        EX      DE,HL\r
+    00000498                        761 ?0649:\r
+    00000498 3E 00                  762        LD      A,BYTE3 strlen\r
+    0000049A 21 00 00               763        LD      HL,LWRD strlen\r
+    0000049D C3 00 00               764        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000004A0                        765 ?0655:\r
+    000004A0 4D                     766        LD      C,L\r
+    000004A1 44                     767        LD      B,H\r
+    000004A2 FD 6E 4A               768        LD      L,(IY+74)\r
+    000004A5 FD 66 4B               769        LD      H,(IY+75)\r
+    000004A8                        770 ?0654:\r
+    000004A8 11 04 00               771        LD      DE,4\r
+    000004AB                        772 ?0653:\r
+    000004AB 19                     773        ADD     HL,DE\r
+    000004AC                        774 ?0652:\r
+    000004AC EB                     775        EX      DE,HL\r
+    000004AD                        776 ?0651:\r
+    000004AD 3E 00                  777        LD      A,BYTE3 strcpy\r
+    000004AF 21 00 00               778        LD      HL,LWRD strcpy\r
+    000004B2 C3 00 00               779        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000004B5                        780 dbParseStatement:\r
+    000004B5 C5                     781        PUSH    BC\r
+    000004B6 FD E5                  782        PUSH    IY\r
+    000004B8 DD E5                  783        PUSH    IX\r
+    000004BA D5                     784        PUSH    DE\r
+    000004BB FD E1                  785        POP     IY\r
+    000004BD CD 98 04               786        CALL    LWRD ?0649\r
+    000004C0 EB                     787        EX      DE,HL\r
+    000004C1 13                     788        INC     DE\r
+    000004C2 CD 8F 04               789        CALL    LWRD ?0641\r
+    000004C5 E5                     790        PUSH    HL\r
+    000004C6 DD E1                  791        POP     IX\r
+    000004C8 FD E5                  792        PUSH    IY\r
+    000004CA C1                     793        POP     BC\r
+    000004CB CD AC 04               794        CALL    LWRD ?0652\r
+    000004CE DD E5                  795        PUSH    IX\r
+    000004D0 D1                     796        POP     DE\r
+    000004D1 3E 09                  797        LD      A,BYTE3 dbTrimString\r
+    000004D3 21 09 01               798        LD      HL,LWRD dbTrimString\r
+    000004D6 CD 00 00               799        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000004D9 21 03 00               800        LD      HL,3\r
+    000004DC E5                     801        PUSH    HL\r
+    000004DD 01 00 00               802        LD      BC,?0066\r
+    000004E0 DD E5                  803        PUSH    IX\r
+    000004E2 D1                     804        POP     DE\r
+    000004E3 CD 60 05               805        CALL    LWRD ?0656\r
+    000004E6 F1                     806        POP     AF\r
+    000004E7 7D                     807        LD      A,L\r
+    000004E8 B4                     808        OR      H\r
+    000004E9 20 0A                  809        JR      NZ,?0065\r
+    000004EB                        810 ?0064:\r
+    000004EB DD E5                  811        PUSH    IX\r
+    000004ED D1                     812        POP     DE\r
+    000004EE 3E 68                  813        LD      A,BYTE3 dbParseSelect\r
+    000004F0 21 68 05               814        LD      HL,LWRD dbParseSelect\r
+    000004F3 18 52                  815        JR      ?0472\r
+    000004F5                        816 ?0065:\r
+    000004F5 21 03 00               817        LD      HL,3\r
+    000004F8 E5                     818        PUSH    HL\r
+    000004F9 01 04 00               819        LD      BC,?0069\r
+    000004FC DD E5                  820        PUSH    IX\r
+    000004FE D1                     821        POP     DE\r
+    000004FF CD 60 05               822        CALL    LWRD ?0656\r
+    00000502 F1                     823        POP     AF\r
+    00000503 7D                     824        LD      A,L\r
+    00000504 B4                     825        OR      H\r
+    00000505 20 0A                  826        JR      NZ,?0068\r
+    00000507                        827 ?0067:\r
+    00000507 DD E5                  828        PUSH    IX\r
+    00000509 D1                     829        POP     DE\r
+    0000050A 3E 97                  830        LD      A,BYTE3 dbParseInsert\r
+    0000050C 21 97 06               831        LD      HL,LWRD dbParseInsert\r
+    0000050F 18 36                  832        JR      ?0472\r
+    00000511                        833 ?0068:\r
+    00000511 21 03 00               834        LD      HL,3\r
+    00000514 E5                     835        PUSH    HL\r
+    00000515 01 08 00               836        LD      BC,?0072\r
+    00000518 DD E5                  837        PUSH    IX\r
+    0000051A D1                     838        POP     DE\r
+    0000051B CD 60 05               839        CALL    LWRD ?0656\r
+    0000051E F1                     840        POP     AF\r
+    0000051F 7D                     841        LD      A,L\r
+    00000520 B4                     842        OR      H\r
+    00000521 20 0A                  843        JR      NZ,?0071\r
+    00000523                        844 ?0070:\r
+    00000523 DD E5                  845        PUSH    IX\r
+    00000525 D1                     846        POP     DE\r
+    00000526 3E 3E                  847        LD      A,BYTE3 dbParseUpdate\r
+    00000528 21 3E 07               848        LD      HL,LWRD dbParseUpdate\r
+    0000052B 18 1A                  849        JR      ?0472\r
+    0000052D                        850 ?0071:\r
+    0000052D 21 03 00               851        LD      HL,3\r
+    00000530 E5                     852        PUSH    HL\r
+    00000531 01 0C 00               853        LD      BC,?0075\r
+    00000534 DD E5                  854        PUSH    IX\r
+    00000536 D1                     855        POP     DE\r
+    00000537 CD 60 05               856        CALL    LWRD ?0656\r
+    0000053A F1                     857        POP     AF\r
+    0000053B 7D                     858        LD      A,L\r
+    0000053C B4                     859        OR      H\r
+    0000053D 20 0D                  860        JR      NZ,?0074\r
+    0000053F                        861 ?0073:\r
+    0000053F DD E5                  862        PUSH    IX\r
+    00000541 D1                     863        POP     DE\r
+    00000542 3E 0B                  864        LD      A,BYTE3 dbParseDelete\r
+    00000544 21 0B 08               865        LD      HL,LWRD dbParseDelete\r
+    00000547                        866 ?0472:\r
+    00000547 CD 00 00               867        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000054A 18 03                  868        JR      ?0076\r
+    0000054C                        869 ?0074:\r
+    0000054C 21 00 00               870        LD      HL,0\r
+    0000054F                        871 ?0076:\r
+    0000054F C3 6B 00               872        JP      LWRD ?0614\r
+    00000552                        873 ?0657:\r
+    00000552 DD 6E FC               874        LD      L,(IX-4)\r
+    00000555 DD 66 FD               875        LD      H,(IX-3)\r
+    00000558 DD 5E FE               876        LD      E,(IX-2)\r
+    0000055B DD 56 FF               877        LD      D,(IX-1)\r
+    0000055E                        878 ?0658:\r
+    0000055E 19                     879        ADD     HL,DE\r
+    0000055F EB                     880        EX      DE,HL\r
+    00000560                        881 ?0656:\r
+    00000560 3E 00                  882        LD      A,BYTE3 strncmp\r
+    00000562 21 00 00               883        LD      HL,LWRD strncmp\r
+    00000565 C3 00 00               884        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000568                        885 dbParseSelect:\r
+    00000568 C5                     886        PUSH    BC\r
+    00000569 FD E5                  887        PUSH    IY\r
+    0000056B DD E5                  888        PUSH    IX\r
+    0000056D DD 21 00 00            889        LD      IX,0\r
+    00000571 DD 39                  890        ADD     IX,SP\r
+    00000573 D5                     891        PUSH    DE\r
+    00000574 F5                     892        PUSH    AF\r
+    00000575 11 09 00               893        LD      DE,9\r
+    00000578 CD 8F 04               894        CALL    LWRD ?0641\r
+    0000057B E5                     895        PUSH    HL\r
+    0000057C FD E1                  896        POP     IY\r
+    0000057E 36 73                  897        LD      (HL),115\r
+    00000580 AF                     898        XOR     A\r
+    00000581 FD 77 05               899        LD      (IY+5),A\r
+    00000584 FD 77 06               900        LD      (IY+6),A\r
+    00000587 FD 77 07               901        LD      (IY+7),A\r
+    0000058A FD 77 08               902        LD      (IY+8),A\r
+    0000058D DD 36 FC 03            903        LD      (IX-4),3\r
+    00000591 DD 77 FD               904        LD      (IX-3),A\r
+    00000594 DD 6E FE               905        LD      L,(IX-2)\r
+    00000597 DD 66 FF               906        LD      H,(IX-1)\r
+    0000059A 23                     907        INC     HL\r
+    0000059B 23                     908        INC     HL\r
+    0000059C 23                     909        INC     HL\r
+    0000059D 7E                     910        LD      A,(HL)\r
+    0000059E FE 20                  911        CP      32\r
+    000005A0 20 08                  912        JR      NZ,?0473\r
+    000005A2                        913 ?0077:\r
+    000005A2 DD 34 FC               914        INC     (IX-4)\r
+    000005A5 20 03                  915        JR      NZ,?0473\r
+    000005A7 DD 34 FD               916        INC     (IX-3)\r
+    000005AA                        917 ?0473:\r
+    000005AA                        918 ?0078:\r
+    000005AA 21 00 00               919        LD      HL,0\r
+    000005AD 39                     920        ADD     HL,SP\r
+    000005AE E5                     921        PUSH    HL\r
+    000005AF 0E 20                  922        LD      C,32\r
+    000005B1 C5                     923        PUSH    BC\r
+    000005B2 0E 2C                  924        LD      C,44\r
+    000005B4 DD 5E FE               925        LD      E,(IX-2)\r
+    000005B7 DD 56 FF               926        LD      D,(IX-1)\r
+    000005BA CD 8F 06               927        CALL    LWRD ?0659\r
+    000005BD F1                     928        POP     AF\r
+    000005BE F1                     929        POP     AF\r
+    000005BF FD 75 01               930        LD      (IY+1),L\r
+    000005C2 FD 74 02               931        LD      (IY+2),H\r
+    000005C5 21 04 00               932        LD      HL,4\r
+    000005C8 E5                     933        PUSH    HL\r
+    000005C9 01 10 00               934        LD      BC,?0081\r
+    000005CC CD 52 05               935        CALL    LWRD ?0657\r
+    000005CF F1                     936        POP     AF\r
+    000005D0 7D                     937        LD      A,L\r
+    000005D1 B4                     938        OR      H\r
+    000005D2 20 0D                  939        JR      NZ,?0080\r
+    000005D4                        940 ?0079:\r
+    000005D4 6F                     941        LD      L,A\r
+    000005D5 67                     942        LD      H,A\r
+    000005D6 39                     943        ADD     HL,SP\r
+    000005D7 7E                     944        LD      A,(HL)\r
+    000005D8 C6 04                  945        ADD     A,4\r
+    000005DA 77                     946        LD      (HL),A\r
+    000005DB 30 0A                  947        JR      NC,?0082\r
+    000005DD 23                     948        INC     HL\r
+    000005DE 34                     949        INC     (HL)\r
+    000005DF 18 06                  950        JR      ?0082\r
+    000005E1                        951 ?0080:\r
+    000005E1 21 00 00               952        LD      HL,0\r
+    000005E4 C3 85 06               953        JP      LWRD ?0091\r
+    000005E7                        954 ?0082:\r
+    000005E7 21 00 00               955        LD      HL,0\r
+    000005EA 39                     956        ADD     HL,SP\r
+    000005EB E5                     957        PUSH    HL\r
+    000005EC 0E 20                  958        LD      C,32\r
+    000005EE C5                     959        PUSH    BC\r
+    000005EF 0E 2C                  960        LD      C,44\r
+    000005F1 DD 5E FE               961        LD      E,(IX-2)\r
+    000005F4 DD 56 FF               962        LD      D,(IX-1)\r
+    000005F7 CD 8F 06               963        CALL    LWRD ?0659\r
+    000005FA F1                     964        POP     AF\r
+    000005FB F1                     965        POP     AF\r
+    000005FC FD 75 03               966        LD      (IY+3),L\r
+    000005FF FD 74 04               967        LD      (IY+4),H\r
+    00000602 21 03 00               968        LD      HL,3\r
+    00000605 E5                     969        PUSH    HL\r
+    00000606 01 15 00               970        LD      BC,?0085\r
+    00000609 CD 52 05               971        CALL    LWRD ?0657\r
+    0000060C F1                     972        POP     AF\r
+    0000060D 7D                     973        LD      A,L\r
+    0000060E B4                     974        OR      H\r
+    0000060F 20 3C                  975        JR      NZ,?0084\r
+    00000611                        976 ?0083:\r
+    00000611 6F                     977        LD      L,A\r
+    00000612 67                     978        LD      H,A\r
+    00000613 39                     979        ADD     HL,SP\r
+    00000614 7E                     980        LD      A,(HL)\r
+    00000615 C6 03                  981        ADD     A,3\r
+    00000617 77                     982        LD      (HL),A\r
+    00000618 30 02                  983        JR      NC,?0475\r
+    0000061A 23                     984        INC     HL\r
+    0000061B 34                     985        INC     (HL)\r
+    0000061C                        986 ?0475:\r
+    0000061C 6F                     987        LD      L,A\r
+    0000061D DD 66 FD               988        LD      H,(IX-3)\r
+    00000620 DD 4E FE               989        LD      C,(IX-2)\r
+    00000623 DD 46 FF               990        LD      B,(IX-1)\r
+    00000626 09                     991        ADD     HL,BC\r
+    00000627 7E                     992        LD      A,(HL)\r
+    00000628 FE 20                  993        CP      32\r
+    0000062A 20 08                  994        JR      NZ,?0476\r
+    0000062C                        995 ?0086:\r
+    0000062C DD 34 FC               996        INC     (IX-4)\r
+    0000062F 20 03                  997        JR      NZ,?0476\r
+    00000631 DD 34 FD               998        INC     (IX-3)\r
+    00000634                        999 ?0476:\r
+    00000634                       1000 ?0087:\r
+    00000634 21 00 00              1001        LD      HL,0\r
+    00000637 39                    1002        ADD     HL,SP\r
+    00000638 E5                    1003        PUSH    HL\r
+    00000639 0E 20                 1004        LD      C,32\r
+    0000063B C5                    1005        PUSH    BC\r
+    0000063C 0E 2C                 1006        LD      C,44\r
+    0000063E DD 5E FE              1007        LD      E,(IX-2)\r
+    00000641 50                    1008        LD      D,B\r
+    00000642 CD 8F 06              1009        CALL    LWRD ?0659\r
+    00000645 F1                    1010        POP     AF\r
+    00000646 F1                    1011        POP     AF\r
+    00000647 FD 75 05              1012        LD      (IY+5),L\r
+    0000064A FD 74 06              1013        LD      (IY+6),H\r
+    0000064D                       1014 ?0084:\r
+    0000064D 21 05 00              1015        LD      HL,5\r
+    00000650 E5                    1016        PUSH    HL\r
+    00000651 01 19 00              1017        LD      BC,?0090\r
+    00000654 CD 52 05              1018        CALL    LWRD ?0657\r
+    00000657 F1                    1019        POP     AF\r
+    00000658 7D                    1020        LD      A,L\r
+    00000659 B4                    1021        OR      H\r
+    0000065A 20 26                 1022        JR      NZ,?0089\r
+    0000065C                       1023 ?0088:\r
+    0000065C 6F                    1024        LD      L,A\r
+    0000065D 67                    1025        LD      H,A\r
+    0000065E 39                    1026        ADD     HL,SP\r
+    0000065F 7E                    1027        LD      A,(HL)\r
+    00000660 C6 05                 1028        ADD     A,5\r
+    00000662 77                    1029        LD      (HL),A\r
+    00000663 30 02                 1030        JR      NC,?0477\r
+    00000665 23                    1031        INC     HL\r
+    00000666 34                    1032        INC     (HL)\r
+    00000667                       1033 ?0477:\r
+    00000667 21 00 00              1034        LD      HL,0\r
+    0000066A 39                    1035        ADD     HL,SP\r
+    0000066B E5                    1036        PUSH    HL\r
+    0000066C 0E 20                 1037        LD      C,32\r
+    0000066E C5                    1038        PUSH    BC\r
+    0000066F 0E 2C                 1039        LD      C,44\r
+    00000671 DD 5E FE              1040        LD      E,(IX-2)\r
+    00000674 DD 56 FF              1041        LD      D,(IX-1)\r
+    00000677 CD 8F 06              1042        CALL    LWRD ?0659\r
+    0000067A F1                    1043        POP     AF\r
+    0000067B F1                    1044        POP     AF\r
+    0000067C FD 75 07              1045        LD      (IY+7),L\r
+    0000067F FD 74 08              1046        LD      (IY+8),H\r
+    00000682                       1047 ?0089:\r
+    00000682 FD E5                 1048        PUSH    IY\r
+    00000684 E1                    1049        POP     HL\r
+    00000685                       1050 ?0091:\r
+    00000685 DD F9                 1051        LD      SP,IX\r
+    00000687 C3 6B 00              1052        JP      LWRD ?0614\r
+    0000068A                       1053 ?0660:\r
+    0000068A 0E 2C                 1054        LD      C,44\r
+    0000068C FD E5                 1055        PUSH    IY\r
+    0000068E D1                    1056        POP     DE\r
+    0000068F                       1057 ?0659:\r
+    0000068F 3E E9                 1058        LD      A,BYTE3 dbParseList\r
+    00000691 21 E9 02              1059        LD      HL,LWRD dbParseList\r
+    00000694 C3 00 00              1060        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000697                       1061 dbParseInsert:\r
+    00000697 C5                    1062        PUSH    BC\r
+    00000698 FD E5                 1063        PUSH    IY\r
+    0000069A DD E5                 1064        PUSH    IX\r
+    0000069C F5                    1065        PUSH    AF\r
+    0000069D D5                    1066        PUSH    DE\r
+    0000069E FD E1                 1067        POP     IY\r
+    000006A0 11 09 00              1068        LD      DE,9\r
+    000006A3 CD 8F 04              1069        CALL    LWRD ?0641\r
+    000006A6 E5                    1070        PUSH    HL\r
+    000006A7 DD E1                 1071        POP     IX\r
+    000006A9 36 69                 1072        LD      (HL),105\r
+    000006AB AF                    1073        XOR     A\r
+    000006AC DD 77 05              1074        LD      (IX+5),A\r
+    000006AF DD 77 06              1075        LD      (IX+6),A\r
+    000006B2 6F                    1076        LD      L,A\r
+    000006B3 67                    1077        LD      H,A\r
+    000006B4 39                    1078        ADD     HL,SP\r
+    000006B5 36 04                 1079        LD      (HL),4\r
+    000006B7 23                    1080        INC     HL\r
+    000006B8 77                    1081        LD      (HL),A\r
+    000006B9 2B                    1082        DEC     HL\r
+    000006BA E5                    1083        PUSH    HL\r
+    000006BB 0E 28                 1084        LD      C,40\r
+    000006BD C5                    1085        PUSH    BC\r
+    000006BE CD 8A 06              1086        CALL    LWRD ?0660\r
+    000006C1 F1                    1087        POP     AF\r
+    000006C2 F1                    1088        POP     AF\r
+    000006C3 DD 75 03              1089        LD      (IX+3),L\r
+    000006C6 DD 74 04              1090        LD      (IX+4),H\r
+    000006C9 21 01 00              1091        LD      HL,1\r
+    000006CC E5                    1092        PUSH    HL\r
+    000006CD 01 1F 00              1093        LD      BC,?0094\r
+    000006D0 23                    1094        INC     HL\r
+    000006D1 39                    1095        ADD     HL,SP\r
+    000006D2 56                    1096        LD      D,(HL)\r
+    000006D3 23                    1097        INC     HL\r
+    000006D4 66                    1098        LD      H,(HL)\r
+    000006D5 6A                    1099        LD      L,D\r
+    000006D6 FD E5                 1100        PUSH    IY\r
+    000006D8 D1                    1101        POP     DE\r
+    000006D9 CD 5E 05              1102        CALL    LWRD ?0658\r
+    000006DC F1                    1103        POP     AF\r
+    000006DD 7D                    1104        LD      A,L\r
+    000006DE B4                    1105        OR      H\r
+    000006DF 20 51                 1106        JR      NZ,?0097\r
+    000006E1                       1107 ?0092:\r
+    000006E1 6F                    1108        LD      L,A\r
+    000006E2 67                    1109        LD      H,A\r
+    000006E3 39                    1110        ADD     HL,SP\r
+    000006E4 34                    1111        INC     (HL)\r
+    000006E5 23                    1112        INC     HL\r
+    000006E6 20 01                 1113        JR      NZ,?0481\r
+    000006E8 34                    1114        INC     (HL)\r
+    000006E9                       1115 ?0481:\r
+    000006E9                       1116 ?0093:\r
+    000006E9                       1117 ?0095:\r
+    000006E9 2B                    1118        DEC     HL\r
+    000006EA E5                    1119        PUSH    HL\r
+    000006EB 0E 29                 1120        LD      C,41\r
+    000006ED C5                    1121        PUSH    BC\r
+    000006EE CD 8A 06              1122        CALL    LWRD ?0660\r
+    000006F1 F1                    1123        POP     AF\r
+    000006F2 F1                    1124        POP     AF\r
+    000006F3 DD 75 01              1125        LD      (IX+1),L\r
+    000006F6 DD 74 02              1126        LD      (IX+2),H\r
+    000006F9 21 06 00              1127        LD      HL,6\r
+    000006FC E5                    1128        PUSH    HL\r
+    000006FD 01 21 00              1129        LD      BC,?0098\r
+    00000700 2E 02                 1130        LD      L,2\r
+    00000702 39                    1131        ADD     HL,SP\r
+    00000703 56                    1132        LD      D,(HL)\r
+    00000704 23                    1133        INC     HL\r
+    00000705 66                    1134        LD      H,(HL)\r
+    00000706 6A                    1135        LD      L,D\r
+    00000707 FD E5                 1136        PUSH    IY\r
+    00000709 D1                    1137        POP     DE\r
+    0000070A CD 5E 05              1138        CALL    LWRD ?0658\r
+    0000070D F1                    1139        POP     AF\r
+    0000070E 7D                    1140        LD      A,L\r
+    0000070F B4                    1141        OR      H\r
+    00000710 20 20                 1142        JR      NZ,?0097\r
+    00000712                       1143 ?0096:\r
+    00000712 6F                    1144        LD      L,A\r
+    00000713 67                    1145        LD      H,A\r
+    00000714 39                    1146        ADD     HL,SP\r
+    00000715 7E                    1147        LD      A,(HL)\r
+    00000716 C6 06                 1148        ADD     A,6\r
+    00000718 77                    1149        LD      (HL),A\r
+    00000719 30 02                 1150        JR      NC,?0482\r
+    0000071B 23                    1151        INC     HL\r
+    0000071C 34                    1152        INC     (HL)\r
+    0000071D                       1153 ?0482:\r
+    0000071D 21 00 00              1154        LD      HL,0\r
+    00000720 39                    1155        ADD     HL,SP\r
+    00000721 E5                    1156        PUSH    HL\r
+    00000722 0E 29                 1157        LD      C,41\r
+    00000724 C5                    1158        PUSH    BC\r
+    00000725 CD 8A 06              1159        CALL    LWRD ?0660\r
+    00000728 F1                    1160        POP     AF\r
+    00000729 F1                    1161        POP     AF\r
+    0000072A DD 75 07              1162        LD      (IX+7),L\r
+    0000072D DD 74 08              1163        LD      (IX+8),H\r
+    00000730 18 05                 1164        JR      ?0099\r
+    00000732                       1165 ?0097:\r
+    00000732 21 00 00              1166        LD      HL,0\r
+    00000735 18 03                 1167        JR      ?0100\r
+    00000737                       1168 ?0099:\r
+    00000737 DD E5                 1169        PUSH    IX\r
+    00000739 E1                    1170        POP     HL\r
+    0000073A                       1171 ?0100:\r
+    0000073A F1                    1172        POP     AF\r
+    0000073B C3 6B 00              1173        JP      LWRD ?0614\r
+    0000073E                       1174 dbParseUpdate:\r
+    0000073E C5                    1175        PUSH    BC\r
+    0000073F FD E5                 1176        PUSH    IY\r
+    00000741 DD E5                 1177        PUSH    IX\r
+    00000743 F5                    1178        PUSH    AF\r
+    00000744 D5                    1179        PUSH    DE\r
+    00000745 FD E1                 1180        POP     IY\r
+    00000747 11 09 00              1181        LD      DE,9\r
+    0000074A CD 8F 04              1182        CALL    LWRD ?0641\r
+    0000074D E5                    1183        PUSH    HL\r
+    0000074E DD E1                 1184        POP     IX\r
+    00000750 36 75                 1185        LD      (HL),117\r
+    00000752 AF                    1186        XOR     A\r
+    00000753 DD 77 05              1187        LD      (IX+5),A\r
+    00000756 DD 77 06              1188        LD      (IX+6),A\r
+    00000759 DD 77 07              1189        LD      (IX+7),A\r
+    0000075C DD 77 08              1190        LD      (IX+8),A\r
+    0000075F 6F                    1191        LD      L,A\r
+    00000760 67                    1192        LD      H,A\r
+    00000761 39                    1193        ADD     HL,SP\r
+    00000762 36 04                 1194        LD      (HL),4\r
+    00000764 23                    1195        INC     HL\r
+    00000765 77                    1196        LD      (HL),A\r
+    00000766 2B                    1197        DEC     HL\r
+    00000767 E5                    1198        PUSH    HL\r
+    00000768 0E 20                 1199        LD      C,32\r
+    0000076A C5                    1200        PUSH    BC\r
+    0000076B CD 8A 06              1201        CALL    LWRD ?0660\r
+    0000076E F1                    1202        POP     AF\r
+    0000076F F1                    1203        POP     AF\r
+    00000770 DD 75 03              1204        LD      (IX+3),L\r
+    00000773 DD 74 04              1205        LD      (IX+4),H\r
+    00000776 21 04 00              1206        LD      HL,4\r
+    00000779 E5                    1207        PUSH    HL\r
+    0000077A 01 28 00              1208        LD      BC,?0103\r
+    0000077D 2B                    1209        DEC     HL\r
+    0000077E 2B                    1210        DEC     HL\r
+    0000077F 39                    1211        ADD     HL,SP\r
+    00000780 56                    1212        LD      D,(HL)\r
+    00000781 23                    1213        INC     HL\r
+    00000782 66                    1214        LD      H,(HL)\r
+    00000783 6A                    1215        LD      L,D\r
+    00000784 FD E5                 1216        PUSH    IY\r
+    00000786 D1                    1217        POP     DE\r
+    00000787 CD 5E 05              1218        CALL    LWRD ?0658\r
+    0000078A F1                    1219        POP     AF\r
+    0000078B 7D                    1220        LD      A,L\r
+    0000078C B4                    1221        OR      H\r
+    0000078D 20 0D                 1222        JR      NZ,?0102\r
+    0000078F                       1223 ?0101:\r
+    0000078F 6F                    1224        LD      L,A\r
+    00000790 67                    1225        LD      H,A\r
+    00000791 39                    1226        ADD     HL,SP\r
+    00000792 7E                    1227        LD      A,(HL)\r
+    00000793 C6 04                 1228        ADD     A,4\r
+    00000795 77                    1229        LD      (HL),A\r
+    00000796 30 09                 1230        JR      NC,?0104\r
+    00000798 23                    1231        INC     HL\r
+    00000799 34                    1232        INC     (HL)\r
+    0000079A 18 05                 1233        JR      ?0104\r
+    0000079C                       1234 ?0102:\r
+    0000079C 21 00 00              1235        LD      HL,0\r
+    0000079F 18 66                 1236        JR      ?0109\r
+    000007A1                       1237 ?0104:\r
+    000007A1 21 00 00              1238        LD      HL,0\r
+    000007A4 39                    1239        ADD     HL,SP\r
+    000007A5 E5                    1240        PUSH    HL\r
+    000007A6 0E 20                 1241        LD      C,32\r
+    000007A8 C5                    1242        PUSH    BC\r
+    000007A9 CD 8A 06              1243        CALL    LWRD ?0660\r
+    000007AC F1                    1244        POP     AF\r
+    000007AD F1                    1245        POP     AF\r
+    000007AE DD 75 01              1246        LD      (IX+1),L\r
+    000007B1 DD 74 02              1247        LD      (IX+2),H\r
+    000007B4 21 03 00              1248        LD      HL,3\r
+    000007B7 E5                    1249        PUSH    HL\r
+    000007B8 01 15 00              1250        LD      BC,?0085\r
+    000007BB 2B                    1251        DEC     HL\r
+    000007BC 39                    1252        ADD     HL,SP\r
+    000007BD 56                    1253        LD      D,(HL)\r
+    000007BE 23                    1254        INC     HL\r
+    000007BF 66                    1255        LD      H,(HL)\r
+    000007C0 6A                    1256        LD      L,D\r
+    000007C1 FD E5                 1257        PUSH    IY\r
+    000007C3 D1                    1258        POP     DE\r
+    000007C4 CD 5E 05              1259        CALL    LWRD ?0658\r
+    000007C7 F1                    1260        POP     AF\r
+    000007C8 7D                    1261        LD      A,L\r
+    000007C9 B4                    1262        OR      H\r
+    000007CA 20 38                 1263        JR      NZ,?0106\r
+    000007CC                       1264 ?0105:\r
+    000007CC 6F                    1265        LD      L,A\r
+    000007CD 67                    1266        LD      H,A\r
+    000007CE 39                    1267        ADD     HL,SP\r
+    000007CF 7E                    1268        LD      A,(HL)\r
+    000007D0 C6 03                 1269        ADD     A,3\r
+    000007D2 77                    1270        LD      (HL),A\r
+    000007D3 30 02                 1271        JR      NC,?0488\r
+    000007D5 23                    1272        INC     HL\r
+    000007D6 34                    1273        INC     (HL)\r
+    000007D7                       1274 ?0488:\r
+    000007D7 21 00 00              1275        LD      HL,0\r
+    000007DA 39                    1276        ADD     HL,SP\r
+    000007DB 47                    1277        LD      B,A\r
+    000007DC 23                    1278        INC     HL\r
+    000007DD 66                    1279        LD      H,(HL)\r
+    000007DE 68                    1280        LD      L,B\r
+    000007DF FD E5                 1281        PUSH    IY\r
+    000007E1 C1                    1282        POP     BC\r
+    000007E2 09                    1283        ADD     HL,BC\r
+    000007E3 7E                    1284        LD      A,(HL)\r
+    000007E4 FE 20                 1285        CP      32\r
+    000007E6 20 09                 1286        JR      NZ,?0489\r
+    000007E8                       1287 ?0107:\r
+    000007E8 21 00 00              1288        LD      HL,0\r
+    000007EB 39                    1289        ADD     HL,SP\r
+    000007EC 34                    1290        INC     (HL)\r
+    000007ED 23                    1291        INC     HL\r
+    000007EE 20 01                 1292        JR      NZ,?0489\r
+    000007F0 34                    1293        INC     (HL)\r
+    000007F1                       1294 ?0489:\r
+    000007F1                       1295 ?0108:\r
+    000007F1 21 00 00              1296        LD      HL,0\r
+    000007F4 39                    1297        ADD     HL,SP\r
+    000007F5 E5                    1298        PUSH    HL\r
+    000007F6 0E 20                 1299        LD      C,32\r
+    000007F8 C5                    1300        PUSH    BC\r
+    000007F9 CD 8A 06              1301        CALL    LWRD ?0660\r
+    000007FC F1                    1302        POP     AF\r
+    000007FD F1                    1303        POP     AF\r
+    000007FE DD 75 05              1304        LD      (IX+5),L\r
+    00000801 DD 74 06              1305        LD      (IX+6),H\r
+    00000804                       1306 ?0106:\r
+    00000804 DD E5                 1307        PUSH    IX\r
+    00000806 E1                    1308        POP     HL\r
+    00000807                       1309 ?0109:\r
+    00000807 F1                    1310        POP     AF\r
+    00000808 C3 6B 00              1311        JP      LWRD ?0614\r
+    0000080B                       1312 dbParseDelete:\r
+    0000080B C5                    1313        PUSH    BC\r
+    0000080C FD E5                 1314        PUSH    IY\r
+    0000080E DD E5                 1315        PUSH    IX\r
+    00000810 F5                    1316        PUSH    AF\r
+    00000811 D5                    1317        PUSH    DE\r
+    00000812 FD E1                 1318        POP     IY\r
+    00000814 11 09 00              1319        LD      DE,9\r
+    00000817 CD 8F 04              1320        CALL    LWRD ?0641\r
+    0000081A E5                    1321        PUSH    HL\r
+    0000081B DD E1                 1322        POP     IX\r
+    0000081D 36 64                 1323        LD      (HL),100\r
+    0000081F AF                    1324        XOR     A\r
+    00000820 DD 77 05              1325        LD      (IX+5),A\r
+    00000823 DD 77 06              1326        LD      (IX+6),A\r
+    00000826 DD 77 07              1327        LD      (IX+7),A\r
+    00000829 DD 77 08              1328        LD      (IX+8),A\r
+    0000082C DD 77 01              1329        LD      (IX+1),A\r
+    0000082F DD 77 02              1330        LD      (IX+2),A\r
+    00000832 6F                    1331        LD      L,A\r
+    00000833 67                    1332        LD      H,A\r
+    00000834 39                    1333        ADD     HL,SP\r
+    00000835 36 04                 1334        LD      (HL),4\r
+    00000837 23                    1335        INC     HL\r
+    00000838 77                    1336        LD      (HL),A\r
+    00000839 2B                    1337        DEC     HL\r
+    0000083A E5                    1338        PUSH    HL\r
+    0000083B 0E 20                 1339        LD      C,32\r
+    0000083D C5                    1340        PUSH    BC\r
+    0000083E CD 8A 06              1341        CALL    LWRD ?0660\r
+    00000841 F1                    1342        POP     AF\r
+    00000842 F1                    1343        POP     AF\r
+    00000843 DD 75 03              1344        LD      (IX+3),L\r
+    00000846 DD 74 04              1345        LD      (IX+4),H\r
+    00000849 21 03 00              1346        LD      HL,3\r
+    0000084C E5                    1347        PUSH    HL\r
+    0000084D 01 15 00              1348        LD      BC,?0085\r
+    00000850 2B                    1349        DEC     HL\r
+    00000851 39                    1350        ADD     HL,SP\r
+    00000852 56                    1351        LD      D,(HL)\r
+    00000853 23                    1352        INC     HL\r
+    00000854 66                    1353        LD      H,(HL)\r
+    00000855 6A                    1354        LD      L,D\r
+    00000856 FD E5                 1355        PUSH    IY\r
+    00000858 D1                    1356        POP     DE\r
+    00000859 CD 5E 05              1357        CALL    LWRD ?0658\r
+    0000085C F1                    1358        POP     AF\r
+    0000085D 7D                    1359        LD      A,L\r
+    0000085E B4                    1360        OR      H\r
+    0000085F 20 38                 1361        JR      NZ,?0111\r
+    00000861                       1362 ?0110:\r
+    00000861 6F                    1363        LD      L,A\r
+    00000862 67                    1364        LD      H,A\r
+    00000863 39                    1365        ADD     HL,SP\r
+    00000864 7E                    1366        LD      A,(HL)\r
+    00000865 C6 03                 1367        ADD     A,3\r
+    00000867 77                    1368        LD      (HL),A\r
+    00000868 30 02                 1369        JR      NC,?0492\r
+    0000086A 23                    1370        INC     HL\r
+    0000086B 34                    1371        INC     (HL)\r
+    0000086C                       1372 ?0492:\r
+    0000086C 21 00 00              1373        LD      HL,0\r
+    0000086F 39                    1374        ADD     HL,SP\r
+    00000870 47                    1375        LD      B,A\r
+    00000871 23                    1376        INC     HL\r
+    00000872 66                    1377        LD      H,(HL)\r
+    00000873 68                    1378        LD      L,B\r
+    00000874 FD E5                 1379        PUSH    IY\r
+    00000876 C1                    1380        POP     BC\r
+    00000877 09                    1381        ADD     HL,BC\r
+    00000878 7E                    1382        LD      A,(HL)\r
+    00000879 FE 20                 1383        CP      32\r
+    0000087B 20 09                 1384        JR      NZ,?0493\r
+    0000087D                       1385 ?0112:\r
+    0000087D 21 00 00              1386        LD      HL,0\r
+    00000880 39                    1387        ADD     HL,SP\r
+    00000881 34                    1388        INC     (HL)\r
+    00000882 23                    1389        INC     HL\r
+    00000883 20 01                 1390        JR      NZ,?0493\r
+    00000885 34                    1391        INC     (HL)\r
+    00000886                       1392 ?0493:\r
+    00000886                       1393 ?0113:\r
+    00000886 21 00 00              1394        LD      HL,0\r
+    00000889 39                    1395        ADD     HL,SP\r
+    0000088A E5                    1396        PUSH    HL\r
+    0000088B 0E 20                 1397        LD      C,32\r
+    0000088D C5                    1398        PUSH    BC\r
+    0000088E CD 8A 06              1399        CALL    LWRD ?0660\r
+    00000891 F1                    1400        POP     AF\r
+    00000892 F1                    1401        POP     AF\r
+    00000893 DD 75 05              1402        LD      (IX+5),L\r
+    00000896 DD 74 06              1403        LD      (IX+6),H\r
+    00000899                       1404 ?0111:\r
+    00000899 DD E5                 1405        PUSH    IX\r
+    0000089B E1                    1406        POP     HL\r
+    0000089C F1                    1407        POP     AF\r
+    0000089D C3 6B 00              1408        JP      LWRD ?0614\r
+    000008A0                       1409 dbTableOpen:\r
+    000008A0 C5                    1410        PUSH    BC\r
+    000008A1 FD E5                 1411        PUSH    IY\r
+    000008A3 DD E5                 1412        PUSH    IX\r
+    000008A5 DD 21 00 00           1413        LD      IX,0\r
+    000008A9 DD 39                 1414        ADD     IX,SP\r
+    000008AB F5                    1415        PUSH    AF\r
+    000008AC F5                    1416        PUSH    AF\r
+    000008AD F5                    1417        PUSH    AF\r
+    000008AE F5                    1418        PUSH    AF\r
+    000008AF D5                    1419        PUSH    DE\r
+    000008B0 FD E1                 1420        POP     IY\r
+    000008B2 11 40 00              1421        LD      DE,64\r
+    000008B5 CD 8F 04              1422        CALL    LWRD ?0641\r
+    000008B8 DD 75 F8              1423        LD      (IX-8),L\r
+    000008BB DD 74 F9              1424        LD      (IX-7),H\r
+    000008BE 01 2D 00              1425        LD      BC,?0114\r
+    000008C1 EB                    1426        EX      DE,HL\r
+    000008C2 CD 53 0B              1427        CALL    LWRD ?0650\r
+    000008C5 CD 00 00              1428        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000008C8 01 36 00              1429        LD      BC,?0115\r
+    000008CB DD 5E F8              1430        LD      E,(IX-8)\r
+    000008CE DD 56 F9              1431        LD      D,(IX-7)\r
+    000008D1 3E 00                 1432        LD      A,BYTE3 strcat\r
+    000008D3 21 00 00              1433        LD      HL,LWRD strcat\r
+    000008D6 CD 00 00              1434        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000008D9 FD 36 0A 00           1435        LD      (IY+10),0\r
+    000008DD 21 3B 00              1436        LD      HL,?0116\r
+    000008E0 E5                    1437        PUSH    HL\r
+    000008E1 21 00 00              1438        LD      HL,0\r
+    000008E4 E5                    1439        PUSH    HL\r
+    000008E5 01 FF FF              1440        LD      BC,65535\r
+    000008E8 DD 5E F8              1441        LD      E,(IX-8)\r
+    000008EB DD 56 F9              1442        LD      D,(IX-7)\r
+    000008EE 3E 00                 1443        LD      A,BYTE3 __fopen\r
+    000008F0 21 00 00              1444        LD      HL,LWRD __fopen\r
+    000008F3 CD 00 00              1445        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000008F6 F1                    1446        POP     AF\r
+    000008F7 F1                    1447        POP     AF\r
+    000008F8 DD 75 FC              1448        LD      (IX-4),L\r
+    000008FB DD 74 FD              1449        LD      (IX-3),H\r
+    000008FE E5                    1450        PUSH    HL\r
+    000008FF 21 01 00              1451        LD      HL,1\r
+    00000902 E5                    1452        PUSH    HL\r
+    00000903 01 04 00              1453        LD      BC,4\r
+    00000906 DD 5E F8              1454        LD      E,(IX-8)\r
+    00000909 DD 56 F9              1455        LD      D,(IX-7)\r
+    0000090C 3E 00                 1456        LD      A,BYTE3 fread\r
+    0000090E 21 00 00              1457        LD      HL,LWRD fread\r
+    00000911 CD 00 00              1458        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000914 F1                    1459        POP     AF\r
+    00000915 F1                    1460        POP     AF\r
+    00000916 DD 6E F8              1461        LD      L,(IX-8)\r
+    00000919 DD 66 F9              1462        LD      H,(IX-7)\r
+    0000091C 7E                    1463        LD      A,(HL)\r
+    0000091D FE 54                 1464        CP      84\r
+    0000091F C2 2A 0B              1465        JP      NZ,?0132\r
+    00000922 23                    1466        INC     HL\r
+    00000923 7E                    1467        LD      A,(HL)\r
+    00000924 FE 42                 1468        CP      66\r
+    00000926 C2 2A 0B              1469        JP      NZ,?0132\r
+    00000929 23                    1470        INC     HL\r
+    0000092A 7E                    1471        LD      A,(HL)\r
+    0000092B FE 4C                 1472        CP      76\r
+    0000092D C2 2A 0B              1473        JP      NZ,?0132\r
+    00000930 23                    1474        INC     HL\r
+    00000931 7E                    1475        LD      A,(HL)\r
+    00000932 FE 20                 1476        CP      32\r
+    00000934 C2 2A 0B              1477        JP      NZ,?0132\r
+    00000937                       1478 ?0119:\r
+    00000937                       1479 ?0120:\r
+    00000937                       1480 ?0117:\r
+    00000937                       1481 ?0118:\r
+    00000937 DD 6E FC              1482        LD      L,(IX-4)\r
+    0000093A DD 66 FD              1483        LD      H,(IX-3)\r
+    0000093D E5                    1484        PUSH    HL\r
+    0000093E 21 01 00              1485        LD      HL,1\r
+    00000941 E5                    1486        PUSH    HL\r
+    00000942 01 04 00              1487        LD      BC,4\r
+    00000945 DD 5E F8              1488        LD      E,(IX-8)\r
+    00000948 DD 56 F9              1489        LD      D,(IX-7)\r
+    0000094B 3E 00                 1490        LD      A,BYTE3 fread\r
+    0000094D 21 00 00              1491        LD      HL,LWRD fread\r
+    00000950 CD 00 00              1492        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000953 F1                    1493        POP     AF\r
+    00000954 F1                    1494        POP     AF\r
+    00000955 DD 6E F8              1495        LD      L,(IX-8)\r
+    00000958 DD 66 F9              1496        LD      H,(IX-7)\r
+    0000095B 4E                    1497        LD      C,(HL)\r
+    0000095C DD 71 FE              1498        LD      (IX-2),C\r
+    0000095F 06 00                 1499        LD      B,0\r
+    00000961 DD 70 FF              1500        LD      (IX-1),B\r
+    00000964 FD E5                 1501        PUSH    IY\r
+    00000966 E1                    1502        POP     HL\r
+    00000967 71                    1503        LD      (HL),C\r
+    00000968 23                    1504        INC     HL\r
+    00000969 70                    1505        LD      (HL),B\r
+    0000096A 69                    1506        LD      L,C\r
+    0000096B 60                    1507        LD      H,B\r
+    0000096C 29                    1508        ADD     HL,HL\r
+    0000096D 29                    1509        ADD     HL,HL\r
+    0000096E 4D                    1510        LD      C,L\r
+    0000096F 44                    1511        LD      B,H\r
+    00000970 29                    1512        ADD     HL,HL\r
+    00000971 09                    1513        ADD     HL,BC\r
+    00000972 CD 8E 04              1514        CALL    LWRD ?0642\r
+    00000975 FD 75 02              1515        LD      (IY+2),L\r
+    00000978 FD 74 03              1516        LD      (IY+3),H\r
+    0000097B AF                    1517        XOR     A\r
+    0000097C DD 77 FA              1518        LD      (IX-6),A\r
+    0000097F DD 77 FB              1519        LD      (IX-5),A\r
+    00000982                       1520 ?0123:\r
+    00000982 DD 4E FE              1521        LD      C,(IX-2)\r
+    00000985 DD 46 FF              1522        LD      B,(IX-1)\r
+    00000988 DD 6E FA              1523        LD      L,(IX-6)\r
+    0000098B DD 66 FB              1524        LD      H,(IX-5)\r
+    0000098E F6 80                 1525        OR      128\r
+    00000990 ED 42                 1526        SBC     HL,BC\r
+    00000992 E2 96 09              1527        JP      PO,?0494\r
+    00000995 AC                    1528        XOR     H\r
+    00000996                       1529 ?0494:\r
+    00000996 F2 3F 0A              1530        JP      P,?0122\r
+    00000999                       1531 ?0124:\r
+    00000999 DD 6E FC              1532        LD      L,(IX-4)\r
+    0000099C DD 66 FD              1533        LD      H,(IX-3)\r
+    0000099F E5                    1534        PUSH    HL\r
+    000009A0 21 01 00              1535        LD      HL,1\r
+    000009A3 E5                    1536        PUSH    HL\r
+    000009A4 01 08 00              1537        LD      BC,8\r
+    000009A7 FD 6E 02              1538        LD      L,(IY+2)\r
+    000009AA FD 66 03              1539        LD      H,(IY+3)\r
+    000009AD E5                    1540        PUSH    HL\r
+    000009AE DD 6E FA              1541        LD      L,(IX-6)\r
+    000009B1 DD 66 FB              1542        LD      H,(IX-5)\r
+    000009B4 29                    1543        ADD     HL,HL\r
+    000009B5 29                    1544        ADD     HL,HL\r
+    000009B6 5D                    1545        LD      E,L\r
+    000009B7 54                    1546        LD      D,H\r
+    000009B8 29                    1547        ADD     HL,HL\r
+    000009B9 19                    1548        ADD     HL,DE\r
+    000009BA EB                    1549        EX      DE,HL\r
+    000009BB E1                    1550        POP     HL\r
+    000009BC 19                    1551        ADD     HL,DE\r
+    000009BD EB                    1552        EX      DE,HL\r
+    000009BE 3E 00                 1553        LD      A,BYTE3 fread\r
+    000009C0 21 00 00              1554        LD      HL,LWRD fread\r
+    000009C3 CD 00 00              1555        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000009C6 F1                    1556        POP     AF\r
+    000009C7 F1                    1557        POP     AF\r
+    000009C8 FD 6E 02              1558        LD      L,(IY+2)\r
+    000009CB FD 66 03              1559        LD      H,(IY+3)\r
+    000009CE E5                    1560        PUSH    HL\r
+    000009CF DD 6E FA              1561        LD      L,(IX-6)\r
+    000009D2 DD 66 FB              1562        LD      H,(IX-5)\r
+    000009D5 29                    1563        ADD     HL,HL\r
+    000009D6 29                    1564        ADD     HL,HL\r
+    000009D7 4D                    1565        LD      C,L\r
+    000009D8 44                    1566        LD      B,H\r
+    000009D9 29                    1567        ADD     HL,HL\r
+    000009DA 09                    1568        ADD     HL,BC\r
+    000009DB 4D                    1569        LD      C,L\r
+    000009DC 44                    1570        LD      B,H\r
+    000009DD E1                    1571        POP     HL\r
+    000009DE 09                    1572        ADD     HL,BC\r
+    000009DF 01 08 00              1573        LD      BC,8\r
+    000009E2 09                    1574        ADD     HL,BC\r
+    000009E3 70                    1575        LD      (HL),B\r
+    000009E4 DD 6E FC              1576        LD      L,(IX-4)\r
+    000009E7 DD 66 FD              1577        LD      H,(IX-3)\r
+    000009EA E5                    1578        PUSH    HL\r
+    000009EB 21 01 00              1579        LD      HL,1\r
+    000009EE E5                    1580        PUSH    HL\r
+    000009EF 0E 03                 1581        LD      C,3\r
+    000009F1 FD 6E 02              1582        LD      L,(IY+2)\r
+    000009F4 FD 66 03              1583        LD      H,(IY+3)\r
+    000009F7 E5                    1584        PUSH    HL\r
+    000009F8 DD 6E FA              1585        LD      L,(IX-6)\r
+    000009FB DD 66 FB              1586        LD      H,(IX-5)\r
+    000009FE 29                    1587        ADD     HL,HL\r
+    000009FF 29                    1588        ADD     HL,HL\r
+    00000A00 5D                    1589        LD      E,L\r
+    00000A01 54                    1590        LD      D,H\r
+    00000A02 29                    1591        ADD     HL,HL\r
+    00000A03 19                    1592        ADD     HL,DE\r
+    00000A04 EB                    1593        EX      DE,HL\r
+    00000A05 E1                    1594        POP     HL\r
+    00000A06 19                    1595        ADD     HL,DE\r
+    00000A07 11 09 00              1596        LD      DE,9\r
+    00000A0A 19                    1597        ADD     HL,DE\r
+    00000A0B EB                    1598        EX      DE,HL\r
+    00000A0C 3E 00                 1599        LD      A,BYTE3 fread\r
+    00000A0E 21 00 00              1600        LD      HL,LWRD fread\r
+    00000A11 CD 00 00              1601        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000A14 F1                    1602        POP     AF\r
+    00000A15 F1                    1603        POP     AF\r
+    00000A16 DD 6E FC              1604        LD      L,(IX-4)\r
+    00000A19 DD 66 FD              1605        LD      H,(IX-3)\r
+    00000A1C E5                    1606        PUSH    HL\r
+    00000A1D 21 01 00              1607        LD      HL,1\r
+    00000A20 E5                    1608        PUSH    HL\r
+    00000A21 4D                    1609        LD      C,L\r
+    00000A22 44                    1610        LD      B,H\r
+    00000A23 DD 5E F8              1611        LD      E,(IX-8)\r
+    00000A26 DD 56 F9              1612        LD      D,(IX-7)\r
+    00000A29 3E 00                 1613        LD      A,BYTE3 fread\r
+    00000A2B 21 00 00              1614        LD      HL,LWRD fread\r
+    00000A2E CD 00 00              1615        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000A31 F1                    1616        POP     AF\r
+    00000A32 F1                    1617        POP     AF\r
+    00000A33 DD 34 FA              1618        INC     (IX-6)\r
+    00000A36 C2 82 09              1619        JP      NZ,?0123\r
+    00000A39 DD 34 FB              1620        INC     (IX-5)\r
+    00000A3C C3 82 09              1621        JP      LWRD ?0123\r
+    00000A3F                       1622 ?0122:\r
+    00000A3F 01 2D 00              1623        LD      BC,?0114\r
+    00000A42 DD 5E F8              1624        LD      E,(IX-8)\r
+    00000A45 DD 56 F9              1625        LD      D,(IX-7)\r
+    00000A48 CD 53 0B              1626        CALL    LWRD ?0650\r
+    00000A4B CD 00 00              1627        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000A4E 01 3E 00              1628        LD      BC,?0126\r
+    00000A51 DD 5E F8              1629        LD      E,(IX-8)\r
+    00000A54 DD 56 F9              1630        LD      D,(IX-7)\r
+    00000A57 3E 00                 1631        LD      A,BYTE3 strcat\r
+    00000A59 21 00 00              1632        LD      HL,LWRD strcat\r
+    00000A5C CD 00 00              1633        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000A5F 21 43 00              1634        LD      HL,?0127\r
+    00000A62 E5                    1635        PUSH    HL\r
+    00000A63 21 00 00              1636        LD      HL,0\r
+    00000A66 E5                    1637        PUSH    HL\r
+    00000A67 01 FF FF              1638        LD      BC,65535\r
+    00000A6A DD 5E F8              1639        LD      E,(IX-8)\r
+    00000A6D DD 56 F9              1640        LD      D,(IX-7)\r
+    00000A70 3E 00                 1641        LD      A,BYTE3 __fopen\r
+    00000A72 21 00 00              1642        LD      HL,LWRD __fopen\r
+    00000A75 CD 00 00              1643        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000A78 F1                    1644        POP     AF\r
+    00000A79 F1                    1645        POP     AF\r
+    00000A7A FD 75 08              1646        LD      (IY+8),L\r
+    00000A7D FD 74 09              1647        LD      (IY+9),H\r
+    00000A80 FD 36 0A 01           1648        LD      (IY+10),1\r
+    00000A84 FD 6E 08              1649        LD      L,(IY+8)\r
+    00000A87 FD 66 09              1650        LD      H,(IY+9)\r
+    00000A8A E5                    1651        PUSH    HL\r
+    00000A8B 21 01 00              1652        LD      HL,1\r
+    00000A8E E5                    1653        PUSH    HL\r
+    00000A8F 01 04 00              1654        LD      BC,4\r
+    00000A92 DD 5E F8              1655        LD      E,(IX-8)\r
+    00000A95 DD 56 F9              1656        LD      D,(IX-7)\r
+    00000A98 3E 00                 1657        LD      A,BYTE3 fread\r
+    00000A9A 21 00 00              1658        LD      HL,LWRD fread\r
+    00000A9D CD 00 00              1659        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000AA0 F1                    1660        POP     AF\r
+    00000AA1 F1                    1661        POP     AF\r
+    00000AA2 DD 6E F8              1662        LD      L,(IX-8)\r
+    00000AA5 DD 66 F9              1663        LD      H,(IX-7)\r
+    00000AA8 7E                    1664        LD      A,(HL)\r
+    00000AA9 FE 44                 1665        CP      68\r
+    00000AAB 20 12                 1666        JR      NZ,?0130\r
+    00000AAD 23                    1667        INC     HL\r
+    00000AAE 7E                    1668        LD      A,(HL)\r
+    00000AAF FE 41                 1669        CP      65\r
+    00000AB1 20 0C                 1670        JR      NZ,?0130\r
+    00000AB3 23                    1671        INC     HL\r
+    00000AB4 7E                    1672        LD      A,(HL)\r
+    00000AB5 FE 54                 1673        CP      84\r
+    00000AB7 20 06                 1674        JR      NZ,?0130\r
+    00000AB9 23                    1675        INC     HL\r
+    00000ABA 7E                    1676        LD      A,(HL)\r
+    00000ABB FE 20                 1677        CP      32\r
+    00000ABD 28 0F                 1678        JR      Z,?0129\r
+    00000ABF                       1679 ?0130:\r
+    00000ABF                       1680 ?0131:\r
+    00000ABF                       1681 ?0128:\r
+    00000ABF FD 36 0A 00           1682        LD      (IY+10),0\r
+    00000AC3 FD 5E 08              1683        LD      E,(IY+8)\r
+    00000AC6 FD 56 09              1684        LD      D,(IY+9)\r
+    00000AC9 CD 4B 0B              1685        CALL    LWRD ?0645\r
+    00000ACC 18 5C                 1686        JR      ?0132\r
+    00000ACE                       1687 ?0129:\r
+    00000ACE FD 6E 08              1688        LD      L,(IY+8)\r
+    00000AD1 FD 66 09              1689        LD      H,(IY+9)\r
+    00000AD4 E5                    1690        PUSH    HL\r
+    00000AD5 21 01 00              1691        LD      HL,1\r
+    00000AD8 E5                    1692        PUSH    HL\r
+    00000AD9 01 02 00              1693        LD      BC,2\r
+    00000ADC 2E 04                 1694        LD      L,4\r
+    00000ADE FD E5                 1695        PUSH    IY\r
+    00000AE0 D1                    1696        POP     DE\r
+    00000AE1 19                    1697        ADD     HL,DE\r
+    00000AE2 EB                    1698        EX      DE,HL\r
+    00000AE3 3E 00                 1699        LD      A,BYTE3 fread\r
+    00000AE5 21 00 00              1700        LD      HL,LWRD fread\r
+    00000AE8 CD 00 00              1701        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000AEB F1                    1702        POP     AF\r
+    00000AEC F1                    1703        POP     AF\r
+    00000AED FD 6E 08              1704        LD      L,(IY+8)\r
+    00000AF0 FD 66 09              1705        LD      H,(IY+9)\r
+    00000AF3 E5                    1706        PUSH    HL\r
+    00000AF4 21 01 00              1707        LD      HL,1\r
+    00000AF7 E5                    1708        PUSH    HL\r
+    00000AF8 01 02 00              1709        LD      BC,2\r
+    00000AFB 2E 06                 1710        LD      L,6\r
+    00000AFD FD E5                 1711        PUSH    IY\r
+    00000AFF D1                    1712        POP     DE\r
+    00000B00 19                    1713        ADD     HL,DE\r
+    00000B01 EB                    1714        EX      DE,HL\r
+    00000B02 3E 00                 1715        LD      A,BYTE3 fread\r
+    00000B04 21 00 00              1716        LD      HL,LWRD fread\r
+    00000B07 CD 00 00              1717        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000B0A F1                    1718        POP     AF\r
+    00000B0B F1                    1719        POP     AF\r
+    00000B0C FD 6E 08              1720        LD      L,(IY+8)\r
+    00000B0F FD 66 09              1721        LD      H,(IY+9)\r
+    00000B12 E5                    1722        PUSH    HL\r
+    00000B13 21 01 00              1723        LD      HL,1\r
+    00000B16 E5                    1724        PUSH    HL\r
+    00000B17 01 02 00              1725        LD      BC,2\r
+    00000B1A DD 5E F8              1726        LD      E,(IX-8)\r
+    00000B1D DD 56 F9              1727        LD      D,(IX-7)\r
+    00000B20 3E 00                 1728        LD      A,BYTE3 fread\r
+    00000B22 21 00 00              1729        LD      HL,LWRD fread\r
+    00000B25 CD 00 00              1730        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000B28 F1                    1731        POP     AF\r
+    00000B29 F1                    1732        POP     AF\r
+    00000B2A                       1733 ?0132:\r
+    00000B2A                       1734 ?0121:\r
+    00000B2A DD 5E FC              1735        LD      E,(IX-4)\r
+    00000B2D DD 56 FD              1736        LD      D,(IX-3)\r
+    00000B30 CD 4B 0B              1737        CALL    LWRD ?0645\r
+    00000B33 DD 5E F8              1738        LD      E,(IX-8)\r
+    00000B36 DD 56 F9              1739        LD      D,(IX-7)\r
+    00000B39 CD 3B 00              1740        CALL    LWRD ?0639\r
+    00000B3C DD F9                 1741        LD      SP,IX\r
+    00000B3E C3 6B 00              1742        JP      LWRD ?0614\r
+    00000B41                       1743 ?0646:\r
+    00000B41 D5                    1744        PUSH    DE\r
+    00000B42 DD E1                 1745        POP     IX\r
+    00000B44 21 08 00              1746        LD      HL,8\r
+    00000B47 19                    1747        ADD     HL,DE\r
+    00000B48 5E                    1748        LD      E,(HL)\r
+    00000B49 23                    1749        INC     HL\r
+    00000B4A 56                    1750        LD      D,(HL)\r
+    00000B4B                       1751 ?0645:\r
+    00000B4B 3E 00                 1752        LD      A,BYTE3 fclose\r
+    00000B4D 21 00 00              1753        LD      HL,LWRD fclose\r
+    00000B50 C3 00 00              1754        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000B53                       1755 ?0650:\r
+    00000B53 3E 00                 1756        LD      A,BYTE3 strcpy\r
+    00000B55 21 00 00              1757        LD      HL,LWRD strcpy\r
+    00000B58 CD 00 00              1758        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000B5B 21 0B 00              1759        LD      HL,11\r
+    00000B5E FD E5                 1760        PUSH    IY\r
+    00000B60 C1                    1761        POP     BC\r
+    00000B61 09                    1762        ADD     HL,BC\r
+    00000B62 4D                    1763        LD      C,L\r
+    00000B63 44                    1764        LD      B,H\r
+    00000B64 DD 5E F8              1765        LD      E,(IX-8)\r
+    00000B67 DD 56 F9              1766        LD      D,(IX-7)\r
+    00000B6A 3E 00                 1767        LD      A,BYTE3 strcat\r
+    00000B6C 21 00 00              1768        LD      HL,LWRD strcat\r
+    00000B6F C9                    1769        RET\r
+    00000B70                       1770 dbTableClose:\r
+    00000B70 DD E5                 1771        PUSH    IX\r
+    00000B72 CD 41 0B              1772        CALL    LWRD ?0646\r
+    00000B75 DD 5E 02              1773        LD      E,(IX+2)\r
+    00000B78 DD 56 03              1774        LD      D,(IX+3)\r
+    00000B7B 3E 00                 1775        LD      A,BYTE3 free\r
+    00000B7D 21 00 00              1776        LD      HL,LWRD free\r
+    00000B80                       1777 ?0634:\r
+    00000B80 CD 00 00              1778        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000B83                       1779 ?0636:\r
+    00000B83 DD E5                 1780        PUSH    IX\r
+    00000B85 D1                    1781        POP     DE\r
+    00000B86 CD 3B 00              1782        CALL    LWRD ?0639\r
+    00000B89 DD E1                 1783        POP     IX\r
+    00000B8B C3 00 00              1784        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000B8E                       1785 dbStatementClose:\r
+    00000B8E DD E5                 1786        PUSH    IX\r
+    00000B90 D5                    1787        PUSH    DE\r
+    00000B91 DD E1                 1788        POP     IX\r
+    00000B93 13                    1789        INC     DE\r
+    00000B94 EB                    1790        EX      DE,HL\r
+    00000B95 5E                    1791        LD      E,(HL)\r
+    00000B96 23                    1792        INC     HL\r
+    00000B97 56                    1793        LD      D,(HL)\r
+    00000B98 3E 00                 1794        LD      A,BYTE3 dbDeleteList\r
+    00000B9A 21 00 00              1795        LD      HL,LWRD dbDeleteList\r
+    00000B9D CD 00 00              1796        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000BA0 DD 5E 03              1797        LD      E,(IX+3)\r
+    00000BA3 DD 56 04              1798        LD      D,(IX+4)\r
+    00000BA6 3E 00                 1799        LD      A,BYTE3 dbDeleteList\r
+    00000BA8 21 00 00              1800        LD      HL,LWRD dbDeleteList\r
+    00000BAB CD 00 00              1801        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000BAE DD 5E 05              1802        LD      E,(IX+5)\r
+    00000BB1 DD 56 06              1803        LD      D,(IX+6)\r
+    00000BB4 3E 00                 1804        LD      A,BYTE3 dbDeleteList\r
+    00000BB6 21 00 00              1805        LD      HL,LWRD dbDeleteList\r
+    00000BB9 CD 00 00              1806        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000BBC DD 5E 07              1807        LD      E,(IX+7)\r
+    00000BBF DD 56 08              1808        LD      D,(IX+8)\r
+    00000BC2 3E 00                 1809        LD      A,BYTE3 dbDeleteList\r
+    00000BC4 21 00 00              1810        LD      HL,LWRD dbDeleteList\r
+    00000BC7 C3 80 0B              1811        JP      LWRD ?0634\r
+    00000BCA                       1812 dbResultSetClose:\r
+    00000BCA DD E5                 1813        PUSH    IX\r
+    00000BCC CD 41 0B              1814        CALL    LWRD ?0646\r
+    00000BCF DD 5E 02              1815        LD      E,(IX+2)\r
+    00000BD2 DD 56 03              1816        LD      D,(IX+3)\r
+    00000BD5 3E 00                 1817        LD      A,BYTE3 free\r
+    00000BD7 21 00 00              1818        LD      HL,LWRD free\r
+    00000BDA C3 80 0B              1819        JP      LWRD ?0634\r
+    00000BDD                       1820 dbFieldOffset:\r
+    00000BDD FD E5                 1821        PUSH    IY\r
+    00000BDF DD E5                 1822        PUSH    IX\r
+    00000BE1 C5                    1823        PUSH    BC\r
+    00000BE2 D5                    1824        PUSH    DE\r
+    00000BE3 DD 21 00 00           1825        LD      IX,0\r
+    00000BE7 FD 21 00 00           1826        LD      IY,0\r
+    00000BEB                       1827 ?0134:\r
+    00000BEB 21 02 00              1828        LD      HL,2\r
+    00000BEE 39                    1829        ADD     HL,SP\r
+    00000BEF 4E                    1830        LD      C,(HL)\r
+    00000BF0 23                    1831        INC     HL\r
+    00000BF1 46                    1832        LD      B,(HL)\r
+    00000BF2 FD E5                 1833        PUSH    IY\r
+    00000BF4 E1                    1834        POP     HL\r
+    00000BF5 F6 80                 1835        OR      128\r
+    00000BF7 ED 42                 1836        SBC     HL,BC\r
+    00000BF9 E2 FD 0B              1837        JP      PO,?0498\r
+    00000BFC AC                    1838        XOR     H\r
+    00000BFD                       1839 ?0498:\r
+    00000BFD F2 27 0C              1840        JP      P,?0133\r
+    00000C00                       1841 ?0135:\r
+    00000C00 21 00 00              1842        LD      HL,0\r
+    00000C03 39                    1843        ADD     HL,SP\r
+    00000C04 46                    1844        LD      B,(HL)\r
+    00000C05 23                    1845        INC     HL\r
+    00000C06 66                    1846        LD      H,(HL)\r
+    00000C07 68                    1847        LD      L,B\r
+    00000C08 23                    1848        INC     HL\r
+    00000C09 23                    1849        INC     HL\r
+    00000C0A 46                    1850        LD      B,(HL)\r
+    00000C0B 23                    1851        INC     HL\r
+    00000C0C 66                    1852        LD      H,(HL)\r
+    00000C0D 68                    1853        LD      L,B\r
+    00000C0E E5                    1854        PUSH    HL\r
+    00000C0F FD E5                 1855        PUSH    IY\r
+    00000C11 E1                    1856        POP     HL\r
+    00000C12 29                    1857        ADD     HL,HL\r
+    00000C13 29                    1858        ADD     HL,HL\r
+    00000C14 4D                    1859        LD      C,L\r
+    00000C15 44                    1860        LD      B,H\r
+    00000C16 29                    1861        ADD     HL,HL\r
+    00000C17 09                    1862        ADD     HL,BC\r
+    00000C18 4D                    1863        LD      C,L\r
+    00000C19 44                    1864        LD      B,H\r
+    00000C1A E1                    1865        POP     HL\r
+    00000C1B 09                    1866        ADD     HL,BC\r
+    00000C1C 01 0A 00              1867        LD      BC,10\r
+    00000C1F 09                    1868        ADD     HL,BC\r
+    00000C20 4E                    1869        LD      C,(HL)\r
+    00000C21 DD 09                 1870        ADD     IX,BC\r
+    00000C23 FD 23                 1871        INC     IY\r
+    00000C25 18 C4                 1872        JR      ?0134\r
+    00000C27                       1873 ?0133:\r
+    00000C27 DD 23                 1874        INC     IX\r
+    00000C29 DD 23                 1875        INC     IX\r
+    00000C2B DD E5                 1876        PUSH    IX\r
+    00000C2D E1                    1877        POP     HL\r
+    00000C2E F1                    1878        POP     AF\r
+    00000C2F C3 E1 02              1879        JP      LWRD ?0626\r
+    00000C32                       1880 dbRecordSize:\r
+    00000C32 C5                    1881        PUSH    BC\r
+    00000C33 DD E5                 1882        PUSH    IX\r
+    00000C35 D5                    1883        PUSH    DE\r
+    00000C36 DD E1                 1884        POP     IX\r
+    00000C38 1A                    1885        LD      A,(DE)\r
+    00000C39 4F                    1886        LD      C,A\r
+    00000C3A 13                    1887        INC     DE\r
+    00000C3B 1A                    1888        LD      A,(DE)\r
+    00000C3C 47                    1889        LD      B,A\r
+    00000C3D DD E5                 1890        PUSH    IX\r
+    00000C3F D1                    1891        POP     DE\r
+    00000C40 3E DD                 1892        LD      A,BYTE3 dbFieldOffset\r
+    00000C42 21 DD 0B              1893        LD      HL,LWRD dbFieldOffset\r
+    00000C45 CD 00 00              1894        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000C48 DD E1                 1895        POP     IX\r
+    00000C4A C1                    1896        POP     BC\r
+    00000C4B C3 00 00              1897        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000C4E                       1898 dbFieldSearch:\r
+    00000C4E FD E5                 1899        PUSH    IY\r
+    00000C50 DD E5                 1900        PUSH    IX\r
+    00000C52 C5                    1901        PUSH    BC\r
+    00000C53 D5                    1902        PUSH    DE\r
+    00000C54 FD E1                 1903        POP     IY\r
+    00000C56 DD 21 00 00           1904        LD      IX,0\r
+    00000C5A                       1905 ?0138:\r
+    00000C5A FD 4E 00              1906        LD      C,(IY+0)\r
+    00000C5D FD 46 01              1907        LD      B,(IY+1)\r
+    00000C60 DD E5                 1908        PUSH    IX\r
+    00000C62 E1                    1909        POP     HL\r
+    00000C63 F6 80                 1910        OR      128\r
+    00000C65 ED 42                 1911        SBC     HL,BC\r
+    00000C67 E2 6B 0C              1912        JP      PO,?0500\r
+    00000C6A AC                    1913        XOR     H\r
+    00000C6B                       1914 ?0500:\r
+    00000C6B F2 9E 0C              1915        JP      P,?0137\r
+    00000C6E                       1916 ?0139:\r
+    00000C6E 21 00 00              1917        LD      HL,0\r
+    00000C71 39                    1918        ADD     HL,SP\r
+    00000C72 4E                    1919        LD      C,(HL)\r
+    00000C73 23                    1920        INC     HL\r
+    00000C74 46                    1921        LD      B,(HL)\r
+    00000C75 FD 6E 02              1922        LD      L,(IY+2)\r
+    00000C78 FD 66 03              1923        LD      H,(IY+3)\r
+    00000C7B E5                    1924        PUSH    HL\r
+    00000C7C DD E5                 1925        PUSH    IX\r
+    00000C7E E1                    1926        POP     HL\r
+    00000C7F 29                    1927        ADD     HL,HL\r
+    00000C80 29                    1928        ADD     HL,HL\r
+    00000C81 5D                    1929        LD      E,L\r
+    00000C82 54                    1930        LD      D,H\r
+    00000C83 29                    1931        ADD     HL,HL\r
+    00000C84 19                    1932        ADD     HL,DE\r
+    00000C85 EB                    1933        EX      DE,HL\r
+    00000C86 E1                    1934        POP     HL\r
+    00000C87 19                    1935        ADD     HL,DE\r
+    00000C88 EB                    1936        EX      DE,HL\r
+    00000C89 3E 00                 1937        LD      A,BYTE3 strcmp\r
+    00000C8B 21 00 00              1938        LD      HL,LWRD strcmp\r
+    00000C8E CD 00 00              1939        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000C91 7D                    1940        LD      A,L\r
+    00000C92 B4                    1941        OR      H\r
+    00000C93 20 05                 1942        JR      NZ,?0142\r
+    00000C95                       1943 ?0141:\r
+    00000C95 DD E5                 1944        PUSH    IX\r
+    00000C97 E1                    1945        POP     HL\r
+    00000C98 18 07                 1946        JR      ?0143\r
+    00000C9A                       1947 ?0142:\r
+    00000C9A DD 23                 1948        INC     IX\r
+    00000C9C 18 BC                 1949        JR      ?0138\r
+    00000C9E                       1950 ?0137:\r
+    00000C9E 21 FF FF              1951        LD      HL,65535\r
+    00000CA1                       1952 ?0143:\r
+    00000CA1 C3 E1 02              1953        JP      LWRD ?0626\r
+    00000CA4                       1954 dbExecuteQuery:\r
+    00000CA4 C5                    1955        PUSH    BC\r
+    00000CA5 FD E5                 1956        PUSH    IY\r
+    00000CA7 DD E5                 1957        PUSH    IX\r
+    00000CA9 DD 21 00 00           1958        LD      IX,0\r
+    00000CAD DD 39                 1959        ADD     IX,SP\r
+    00000CAF D5                    1960        PUSH    DE\r
+    00000CB0 21 DE FF              1961        LD      HL,65502\r
+    00000CB3 39                    1962        ADD     HL,SP\r
+    00000CB4 F9                    1963        LD      SP,HL\r
+    00000CB5 11 0A 00              1964        LD      DE,10\r
+    00000CB8 CD 8F 04              1965        CALL    LWRD ?0641\r
+    00000CBB E5                    1966        PUSH    HL\r
+    00000CBC FD E1                 1967        POP     IY\r
+    00000CBE 11 14 00              1968        LD      DE,20\r
+    00000CC1 CD 8F 04              1969        CALL    LWRD ?0641\r
+    00000CC4 DD 75 DE              1970        LD      (IX-34),L\r
+    00000CC7 DD 74 DF              1971        LD      (IX-33),H\r
+    00000CCA AF                    1972        XOR     A\r
+    00000CCB DD 77 F8              1973        LD      (IX-8),A\r
+    00000CCE DD 77 F9              1974        LD      (IX-7),A\r
+    00000CD1 CD 2F 12              1975        CALL    LWRD ?0661\r
+    00000CD4 DD 75 FA              1976        LD      (IX-6),L\r
+    00000CD7 DD 74 FB              1977        LD      (IX-5),H\r
+    00000CDA DD 6E FE              1978        LD      L,(IX-2)\r
+    00000CDD DD 66 FF              1979        LD      H,(IX-1)\r
+    00000CE0 23                    1980        INC     HL\r
+    00000CE1 23                    1981        INC     HL\r
+    00000CE2 23                    1982        INC     HL\r
+    00000CE3 46                    1983        LD      B,(HL)\r
+    00000CE4 23                    1984        INC     HL\r
+    00000CE5 66                    1985        LD      H,(HL)\r
+    00000CE6 68                    1986        LD      L,B\r
+    00000CE7 01 04 00              1987        LD      BC,4\r
+    00000CEA 09                    1988        ADD     HL,BC\r
+    00000CEB 4E                    1989        LD      C,(HL)\r
+    00000CEC 23                    1990        INC     HL\r
+    00000CED 46                    1991        LD      B,(HL)\r
+    00000CEE 21 0B 00              1992        LD      HL,11\r
+    00000CF1 DD 5E DE              1993        LD      E,(IX-34)\r
+    00000CF4 DD 56 DF              1994        LD      D,(IX-33)\r
+    00000CF7 CD AB 04              1995        CALL    LWRD ?0653\r
+    00000CFA DD 5E DE              1996        LD      E,(IX-34)\r
+    00000CFD DD 56 DF              1997        LD      D,(IX-33)\r
+    00000D00 3E A0                 1998        LD      A,BYTE3 dbTableOpen\r
+    00000D02 21 A0 08              1999        LD      HL,LWRD dbTableOpen\r
+    00000D05 CD 00 00              2000        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000D08 AF                    2001        XOR     A\r
+    00000D09 FD 77 04              2002        LD      (IY+4),A\r
+    00000D0C FD 77 05              2003        LD      (IY+5),A\r
+    00000D0F FD 77 06              2004        LD      (IY+6),A\r
+    00000D12 FD 77 07              2005        LD      (IY+7),A\r
+    00000D15 01 47 00              2006        LD      BC,?0146\r
+    00000D18 DD 6E FE              2007        LD      L,(IX-2)\r
+    00000D1B DD 66 FF              2008        LD      H,(IX-1)\r
+    00000D1E 23                    2009        INC     HL\r
+    00000D1F 56                    2010        LD      D,(HL)\r
+    00000D20 23                    2011        INC     HL\r
+    00000D21 66                    2012        LD      H,(HL)\r
+    00000D22 6A                    2013        LD      L,D\r
+    00000D23 11 04 00              2014        LD      DE,4\r
+    00000D26 19                    2015        ADD     HL,DE\r
+    00000D27 5E                    2016        LD      E,(HL)\r
+    00000D28 23                    2017        INC     HL\r
+    00000D29 56                    2018        LD      D,(HL)\r
+    00000D2A 3E 00                 2019        LD      A,BYTE3 strcmp\r
+    00000D2C 21 00 00              2020        LD      HL,LWRD strcmp\r
+    00000D2F CD 00 00              2021        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000D32 7D                    2022        LD      A,L\r
+    00000D33 B4                    2023        OR      H\r
+    00000D34 C2 2E 0E              2024        JP      NZ,?0145\r
+    00000D37                       2025 ?0144:\r
+    00000D37 DD 6E DE              2026        LD      L,(IX-34)\r
+    00000D3A DD 66 DF              2027        LD      H,(IX-33)\r
+    00000D3D 46                    2028        LD      B,(HL)\r
+    00000D3E 23                    2029        INC     HL\r
+    00000D3F 66                    2030        LD      H,(HL)\r
+    00000D40 68                    2031        LD      L,B\r
+    00000D41 E5                    2032        PUSH    HL\r
+    00000D42 FD E5                 2033        PUSH    IY\r
+    00000D44 E1                    2034        POP     HL\r
+    00000D45 C1                    2035        POP     BC\r
+    00000D46 CD 84 04              2036        CALL    LWRD ?0643\r
+    00000D49 CD E0 11              2037        CALL    LWRD ?0640\r
+    00000D4C CD 00 00              2038        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000D4F FD 75 02              2039        LD      (IY+2),L\r
+    00000D52 FD 74 03              2040        LD      (IY+3),H\r
+    00000D55 AF                    2041        XOR     A\r
+    00000D56 DD 77 EE              2042        LD      (IX-18),A\r
+    00000D59 DD 77 EF              2043        LD      (IX-17),A\r
+    00000D5C                       2044 ?0148:\r
+    00000D5C FD 4E 00              2045        LD      C,(IY+0)\r
+    00000D5F FD 46 01              2046        LD      B,(IY+1)\r
+    00000D62 DD 6E EE              2047        LD      L,(IX-18)\r
+    00000D65 DD 66 EF              2048        LD      H,(IX-17)\r
+    00000D68 F6 80                 2049        OR      128\r
+    00000D6A ED 42                 2050        SBC     HL,BC\r
+    00000D6C E2 70 0D              2051        JP      PO,?0501\r
+    00000D6F AC                    2052        XOR     H\r
+    00000D70                       2053 ?0501:\r
+    00000D70 F2 61 0F              2054        JP      P,?0152\r
+    00000D73                       2055 ?0149:\r
+    00000D73 DD 6E DE              2056        LD      L,(IX-34)\r
+    00000D76 DD 66 DF              2057        LD      H,(IX-33)\r
+    00000D79 23                    2058        INC     HL\r
+    00000D7A 23                    2059        INC     HL\r
+    00000D7B 46                    2060        LD      B,(HL)\r
+    00000D7C 23                    2061        INC     HL\r
+    00000D7D 66                    2062        LD      H,(HL)\r
+    00000D7E 68                    2063        LD      L,B\r
+    00000D7F E5                    2064        PUSH    HL\r
+    00000D80 DD 6E EE              2065        LD      L,(IX-18)\r
+    00000D83 DD 66 EF              2066        LD      H,(IX-17)\r
+    00000D86 29                    2067        ADD     HL,HL\r
+    00000D87 29                    2068        ADD     HL,HL\r
+    00000D88 4D                    2069        LD      C,L\r
+    00000D89 44                    2070        LD      B,H\r
+    00000D8A 29                    2071        ADD     HL,HL\r
+    00000D8B 09                    2072        ADD     HL,BC\r
+    00000D8C 4D                    2073        LD      C,L\r
+    00000D8D 44                    2074        LD      B,H\r
+    00000D8E E1                    2075        POP     HL\r
+    00000D8F 09                    2076        ADD     HL,BC\r
+    00000D90 DD 75 E0              2077        LD      (IX-32),L\r
+    00000D93 DD 74 E1              2078        LD      (IX-31),H\r
+    00000D96 DD 6E EE              2079        LD      L,(IX-18)\r
+    00000D99 DD 66 EF              2080        LD      H,(IX-17)\r
+    00000D9C 29                    2081        ADD     HL,HL\r
+    00000D9D DD 4E E4              2082        LD      C,(IX-28)\r
+    00000DA0 DD 46 E5              2083        LD      B,(IX-27)\r
+    00000DA3 09                    2084        ADD     HL,BC\r
+    00000DA4 E5                    2085        PUSH    HL\r
+    00000DA5 DD 4E EE              2086        LD      C,(IX-18)\r
+    00000DA8 DD 46 EF              2087        LD      B,(IX-17)\r
+    00000DAB DD 5E DE              2088        LD      E,(IX-34)\r
+    00000DAE DD 56 DF              2089        LD      D,(IX-33)\r
+    00000DB1 3E DD                 2090        LD      A,BYTE3 dbFieldOffset\r
+    00000DB3 21 DD 0B              2091        LD      HL,LWRD dbFieldOffset\r
+    00000DB6 CD 00 00              2092        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000DB9 4D                    2093        LD      C,L\r
+    00000DBA 44                    2094        LD      B,H\r
+    00000DBB E1                    2095        POP     HL\r
+    00000DBC 71                    2096        LD      (HL),C\r
+    00000DBD 23                    2097        INC     HL\r
+    00000DBE 70                    2098        LD      (HL),B\r
+    00000DBF DD 6E EE              2099        LD      L,(IX-18)\r
+    00000DC2 DD 66 EF              2100        LD      H,(IX-17)\r
+    00000DC5 29                    2101        ADD     HL,HL\r
+    00000DC6 DD 4E E6              2102        LD      C,(IX-26)\r
+    00000DC9 DD 46 E7              2103        LD      B,(IX-25)\r
+    00000DCC 09                    2104        ADD     HL,BC\r
+    00000DCD E5                    2105        PUSH    HL\r
+    00000DCE 21 0A 00              2106        LD      HL,10\r
+    00000DD1 DD 4E E0              2107        LD      C,(IX-32)\r
+    00000DD4 DD 46 E1              2108        LD      B,(IX-31)\r
+    00000DD7 09                    2109        ADD     HL,BC\r
+    00000DD8 4E                    2110        LD      C,(HL)\r
+    00000DD9 06 00                 2111        LD      B,0\r
+    00000DDB E1                    2112        POP     HL\r
+    00000DDC 71                    2113        LD      (HL),C\r
+    00000DDD 23                    2114        INC     HL\r
+    00000DDE 70                    2115        LD      (HL),B\r
+    00000DDF 21 0C 00              2116        LD      HL,12\r
+    00000DE2 E5                    2117        PUSH    HL\r
+    00000DE3 DD 6E DE              2118        LD      L,(IX-34)\r
+    00000DE6 DD 66 DF              2119        LD      H,(IX-33)\r
+    00000DE9 23                    2120        INC     HL\r
+    00000DEA 23                    2121        INC     HL\r
+    00000DEB 46                    2122        LD      B,(HL)\r
+    00000DEC 23                    2123        INC     HL\r
+    00000DED 66                    2124        LD      H,(HL)\r
+    00000DEE 68                    2125        LD      L,B\r
+    00000DEF E5                    2126        PUSH    HL\r
+    00000DF0 DD 6E EE              2127        LD      L,(IX-18)\r
+    00000DF3 DD 66 EF              2128        LD      H,(IX-17)\r
+    00000DF6 29                    2129        ADD     HL,HL\r
+    00000DF7 29                    2130        ADD     HL,HL\r
+    00000DF8 4D                    2131        LD      C,L\r
+    00000DF9 44                    2132        LD      B,H\r
+    00000DFA 29                    2133        ADD     HL,HL\r
+    00000DFB 09                    2134        ADD     HL,BC\r
+    00000DFC 4D                    2135        LD      C,L\r
+    00000DFD 44                    2136        LD      B,H\r
+    00000DFE E1                    2137        POP     HL\r
+    00000DFF 09                    2138        ADD     HL,BC\r
+    00000E00 4D                    2139        LD      C,L\r
+    00000E01 44                    2140        LD      B,H\r
+    00000E02 FD 6E 02              2141        LD      L,(IY+2)\r
+    00000E05 FD 66 03              2142        LD      H,(IY+3)\r
+    00000E08 E5                    2143        PUSH    HL\r
+    00000E09 DD 6E EE              2144        LD      L,(IX-18)\r
+    00000E0C DD 66 EF              2145        LD      H,(IX-17)\r
+    00000E0F 29                    2146        ADD     HL,HL\r
+    00000E10 29                    2147        ADD     HL,HL\r
+    00000E11 5D                    2148        LD      E,L\r
+    00000E12 54                    2149        LD      D,H\r
+    00000E13 29                    2150        ADD     HL,HL\r
+    00000E14 19                    2151        ADD     HL,DE\r
+    00000E15 EB                    2152        EX      DE,HL\r
+    00000E16 E1                    2153        POP     HL\r
+    00000E17 19                    2154        ADD     HL,DE\r
+    00000E18 EB                    2155        EX      DE,HL\r
+    00000E19 3E 00                 2156        LD      A,BYTE3 memcpy\r
+    00000E1B 21 00 00              2157        LD      HL,LWRD memcpy\r
+    00000E1E CD 00 00              2158        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000E21 F1                    2159        POP     AF\r
+    00000E22 DD 34 EE              2160        INC     (IX-18)\r
+    00000E25 C2 5C 0D              2161        JP      NZ,?0148\r
+    00000E28 DD 34 EF              2162        INC     (IX-17)\r
+    00000E2B C3 5C 0D              2163        JP      LWRD ?0148\r
+    00000E2E                       2164 ?0147:\r
+    00000E2E                       2165 ?0145:\r
+    00000E2E CD 0F 12              2166        CALL    LWRD ?0647\r
+    00000E31 E5                    2167        PUSH    HL\r
+    00000E32 FD E5                 2168        PUSH    IY\r
+    00000E34 E1                    2169        POP     HL\r
+    00000E35 C1                    2170        POP     BC\r
+    00000E36 CD 84 04              2171        CALL    LWRD ?0643\r
+    00000E39 CD E0 11              2172        CALL    LWRD ?0640\r
+    00000E3C CD 00 00              2173        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000E3F FD 75 02              2174        LD      (IY+2),L\r
+    00000E42 FD 74 03              2175        LD      (IY+3),H\r
+    00000E45 DD 6E FE              2176        LD      L,(IX-2)\r
+    00000E48 DD 66 FF              2177        LD      H,(IX-1)\r
+    00000E4B 23                    2178        INC     HL\r
+    00000E4C 46                    2179        LD      B,(HL)\r
+    00000E4D DD 70 E2              2180        LD      (IX-30),B\r
+    00000E50 23                    2181        INC     HL\r
+    00000E51 66                    2182        LD      H,(HL)\r
+    00000E52 DD 74 E3              2183        LD      (IX-29),H\r
+    00000E55 AF                    2184        XOR     A\r
+    00000E56 DD 77 EE              2185        LD      (IX-18),A\r
+    00000E59 DD 77 EF              2186        LD      (IX-17),A\r
+    00000E5C                       2187 ?0153:\r
+    00000E5C FD 4E 00              2188        LD      C,(IY+0)\r
+    00000E5F FD 46 01              2189        LD      B,(IY+1)\r
+    00000E62 DD 6E EE              2190        LD      L,(IX-18)\r
+    00000E65 DD 66 EF              2191        LD      H,(IX-17)\r
+    00000E68 F6 80                 2192        OR      128\r
+    00000E6A ED 42                 2193        SBC     HL,BC\r
+    00000E6C E2 70 0E              2194        JP      PO,?0503\r
+    00000E6F AC                    2195        XOR     H\r
+    00000E70                       2196 ?0503:\r
+    00000E70 F2 61 0F              2197        JP      P,?0152\r
+    00000E73                       2198 ?0154:\r
+    00000E73 21 04 00              2199        LD      HL,4\r
+    00000E76 DD 4E E2              2200        LD      C,(IX-30)\r
+    00000E79 DD 46 E3              2201        LD      B,(IX-29)\r
+    00000E7C 09                    2202        ADD     HL,BC\r
+    00000E7D 4E                    2203        LD      C,(HL)\r
+    00000E7E 23                    2204        INC     HL\r
+    00000E7F 46                    2205        LD      B,(HL)\r
+    00000E80 DD 5E DE              2206        LD      E,(IX-34)\r
+    00000E83 DD 56 DF              2207        LD      D,(IX-33)\r
+    00000E86 3E 4E                 2208        LD      A,BYTE3 dbFieldSearch\r
+    00000E88 21 4E 0C              2209        LD      HL,LWRD dbFieldSearch\r
+    00000E8B CD 00 00              2210        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000E8E DD 75 FC              2211        LD      (IX-4),L\r
+    00000E91 DD 74 FD              2212        LD      (IX-3),H\r
+    00000E94 DD 4E DE              2213        LD      C,(IX-34)\r
+    00000E97 DD 46 DF              2214        LD      B,(IX-33)\r
+    00000E9A 03                    2215        INC     BC\r
+    00000E9B 03                    2216        INC     BC\r
+    00000E9C 0A                    2217        LD      A,(BC)\r
+    00000E9D 6F                    2218        LD      L,A\r
+    00000E9E 03                    2219        INC     BC\r
+    00000E9F 0A                    2220        LD      A,(BC)\r
+    00000EA0 67                    2221        LD      H,A\r
+    00000EA1 E5                    2222        PUSH    HL\r
+    00000EA2 DD 6E FC              2223        LD      L,(IX-4)\r
+    00000EA5 DD 66 FD              2224        LD      H,(IX-3)\r
+    00000EA8 29                    2225        ADD     HL,HL\r
+    00000EA9 29                    2226        ADD     HL,HL\r
+    00000EAA 4D                    2227        LD      C,L\r
+    00000EAB 44                    2228        LD      B,H\r
+    00000EAC 29                    2229        ADD     HL,HL\r
+    00000EAD 09                    2230        ADD     HL,BC\r
+    00000EAE 4D                    2231        LD      C,L\r
+    00000EAF 44                    2232        LD      B,H\r
+    00000EB0 E1                    2233        POP     HL\r
+    00000EB1 09                    2234        ADD     HL,BC\r
+    00000EB2 DD 75 E0              2235        LD      (IX-32),L\r
+    00000EB5 DD 74 E1              2236        LD      (IX-31),H\r
+    00000EB8 DD 6E EE              2237        LD      L,(IX-18)\r
+    00000EBB DD 66 EF              2238        LD      H,(IX-17)\r
+    00000EBE 29                    2239        ADD     HL,HL\r
+    00000EBF DD 4E E4              2240        LD      C,(IX-28)\r
+    00000EC2 DD 46 E5              2241        LD      B,(IX-27)\r
+    00000EC5 09                    2242        ADD     HL,BC\r
+    00000EC6 E5                    2243        PUSH    HL\r
+    00000EC7 DD 4E FC              2244        LD      C,(IX-4)\r
+    00000ECA DD 46 FD              2245        LD      B,(IX-3)\r
+    00000ECD DD 5E DE              2246        LD      E,(IX-34)\r
+    00000ED0 DD 56 DF              2247        LD      D,(IX-33)\r
+    00000ED3 3E DD                 2248        LD      A,BYTE3 dbFieldOffset\r
+    00000ED5 21 DD 0B              2249        LD      HL,LWRD dbFieldOffset\r
+    00000ED8 CD 00 00              2250        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000EDB 4D                    2251        LD      C,L\r
+    00000EDC 44                    2252        LD      B,H\r
+    00000EDD E1                    2253        POP     HL\r
+    00000EDE 71                    2254        LD      (HL),C\r
+    00000EDF 23                    2255        INC     HL\r
+    00000EE0 70                    2256        LD      (HL),B\r
+    00000EE1 DD 6E EE              2257        LD      L,(IX-18)\r
+    00000EE4 DD 66 EF              2258        LD      H,(IX-17)\r
+    00000EE7 29                    2259        ADD     HL,HL\r
+    00000EE8 DD 4E E6              2260        LD      C,(IX-26)\r
+    00000EEB DD 46 E7              2261        LD      B,(IX-25)\r
+    00000EEE 09                    2262        ADD     HL,BC\r
+    00000EEF E5                    2263        PUSH    HL\r
+    00000EF0 21 0A 00              2264        LD      HL,10\r
+    00000EF3 DD 4E E0              2265        LD      C,(IX-32)\r
+    00000EF6 DD 46 E1              2266        LD      B,(IX-31)\r
+    00000EF9 09                    2267        ADD     HL,BC\r
+    00000EFA 4E                    2268        LD      C,(HL)\r
+    00000EFB 06 00                 2269        LD      B,0\r
+    00000EFD E1                    2270        POP     HL\r
+    00000EFE 71                    2271        LD      (HL),C\r
+    00000EFF 23                    2272        INC     HL\r
+    00000F00 70                    2273        LD      (HL),B\r
+    00000F01 21 0C 00              2274        LD      HL,12\r
+    00000F04 E5                    2275        PUSH    HL\r
+    00000F05 DD 6E DE              2276        LD      L,(IX-34)\r
+    00000F08 DD 66 DF              2277        LD      H,(IX-33)\r
+    00000F0B 23                    2278        INC     HL\r
+    00000F0C 23                    2279        INC     HL\r
+    00000F0D 46                    2280        LD      B,(HL)\r
+    00000F0E 23                    2281        INC     HL\r
+    00000F0F 66                    2282        LD      H,(HL)\r
+    00000F10 68                    2283        LD      L,B\r
+    00000F11 E5                    2284        PUSH    HL\r
+    00000F12 DD 6E FC              2285        LD      L,(IX-4)\r
+    00000F15 DD 66 FD              2286        LD      H,(IX-3)\r
+    00000F18 29                    2287        ADD     HL,HL\r
+    00000F19 29                    2288        ADD     HL,HL\r
+    00000F1A 4D                    2289        LD      C,L\r
+    00000F1B 44                    2290        LD      B,H\r
+    00000F1C 29                    2291        ADD     HL,HL\r
+    00000F1D 09                    2292        ADD     HL,BC\r
+    00000F1E 4D                    2293        LD      C,L\r
+    00000F1F 44                    2294        LD      B,H\r
+    00000F20 E1                    2295        POP     HL\r
+    00000F21 09                    2296        ADD     HL,BC\r
+    00000F22 4D                    2297        LD      C,L\r
+    00000F23 44                    2298        LD      B,H\r
+    00000F24 FD 6E 02              2299        LD      L,(IY+2)\r
+    00000F27 FD 66 03              2300        LD      H,(IY+3)\r
+    00000F2A E5                    2301        PUSH    HL\r
+    00000F2B DD 6E EE              2302        LD      L,(IX-18)\r
+    00000F2E DD 66 EF              2303        LD      H,(IX-17)\r
+    00000F31 29                    2304        ADD     HL,HL\r
+    00000F32 29                    2305        ADD     HL,HL\r
+    00000F33 5D                    2306        LD      E,L\r
+    00000F34 54                    2307        LD      D,H\r
+    00000F35 29                    2308        ADD     HL,HL\r
+    00000F36 19                    2309        ADD     HL,DE\r
+    00000F37 EB                    2310        EX      DE,HL\r
+    00000F38 E1                    2311        POP     HL\r
+    00000F39 19                    2312        ADD     HL,DE\r
+    00000F3A EB                    2313        EX      DE,HL\r
+    00000F3B 3E 00                 2314        LD      A,BYTE3 memcpy\r
+    00000F3D 21 00 00              2315        LD      HL,LWRD memcpy\r
+    00000F40 CD 00 00              2316        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F43 F1                    2317        POP     AF\r
+    00000F44 DD 6E E2              2318        LD      L,(IX-30)\r
+    00000F47 DD 66 E3              2319        LD      H,(IX-29)\r
+    00000F4A 23                    2320        INC     HL\r
+    00000F4B 23                    2321        INC     HL\r
+    00000F4C 46                    2322        LD      B,(HL)\r
+    00000F4D DD 70 E2              2323        LD      (IX-30),B\r
+    00000F50 23                    2324        INC     HL\r
+    00000F51 66                    2325        LD      H,(HL)\r
+    00000F52 DD 74 E3              2326        LD      (IX-29),H\r
+    00000F55 DD 34 EE              2327        INC     (IX-18)\r
+    00000F58 C2 5C 0E              2328        JP      NZ,?0153\r
+    00000F5B DD 34 EF              2329        INC     (IX-17)\r
+    00000F5E C3 5C 0E              2330        JP      LWRD ?0153\r
+    00000F61                       2331 ?0152:\r
+    00000F61                       2332 ?0151:\r
+    00000F61 DD 5E DE              2333        LD      E,(IX-34)\r
+    00000F64 DD 56 DF              2334        LD      D,(IX-33)\r
+    00000F67 3E 32                 2335        LD      A,BYTE3 dbRecordSize\r
+    00000F69 21 32 0C              2336        LD      HL,LWRD dbRecordSize\r
+    00000F6C CD 00 00              2337        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F6F DD 75 F4              2338        LD      (IX-12),L\r
+    00000F72 DD 74 F5              2339        LD      (IX-11),H\r
+    00000F75 CD 8E 04              2340        CALL    LWRD ?0642\r
+    00000F78 DD 75 E8              2341        LD      (IX-24),L\r
+    00000F7B DD 74 E9              2342        LD      (IX-23),H\r
+    00000F7E FD E5                 2343        PUSH    IY\r
+    00000F80 D1                    2344        POP     DE\r
+    00000F81 3E 32                 2345        LD      A,BYTE3 dbRecordSize\r
+    00000F83 21 32 0C              2346        LD      HL,LWRD dbRecordSize\r
+    00000F86 CD 00 00              2347        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F89 DD 75 F2              2348        LD      (IX-14),L\r
+    00000F8C DD 74 F3              2349        LD      (IX-13),H\r
+    00000F8F CD 8E 04              2350        CALL    LWRD ?0642\r
+    00000F92 DD 75 EA              2351        LD      (IX-22),L\r
+    00000F95 DD 74 EB              2352        LD      (IX-21),H\r
+    00000F98 DD 6E DE              2353        LD      L,(IX-34)\r
+    00000F9B DD 66 DF              2354        LD      H,(IX-33)\r
+    00000F9E E5                    2355        PUSH    HL\r
+    00000F9F DD 6E FA              2356        LD      L,(IX-6)\r
+    00000FA2 DD 66 FB              2357        LD      H,(IX-5)\r
+    00000FA5 C1                    2358        POP     BC\r
+    00000FA6 71                    2359        LD      (HL),C\r
+    00000FA7 23                    2360        INC     HL\r
+    00000FA8 70                    2361        LD      (HL),B\r
+    00000FA9 DD 6E FA              2362        LD      L,(IX-6)\r
+    00000FAC DD 66 FB              2363        LD      H,(IX-5)\r
+    00000FAF 23                    2364        INC     HL\r
+    00000FB0 23                    2365        INC     HL\r
+    00000FB1 AF                    2366        XOR     A\r
+    00000FB2 77                    2367        LD      (HL),A\r
+    00000FB3 23                    2368        INC     HL\r
+    00000FB4 77                    2369        LD      (HL),A\r
+    00000FB5 21 04 00              2370        LD      HL,4\r
+    00000FB8 DD 4E FA              2371        LD      C,(IX-6)\r
+    00000FBB DD 46 FB              2372        LD      B,(IX-5)\r
+    00000FBE 09                    2373        ADD     HL,BC\r
+    00000FBF DD 4E E8              2374        LD      C,(IX-24)\r
+    00000FC2 71                    2375        LD      (HL),C\r
+    00000FC3 DD 46 E9              2376        LD      B,(IX-23)\r
+    00000FC6 23                    2377        INC     HL\r
+    00000FC7 70                    2378        LD      (HL),B\r
+    00000FC8 21 52 00              2379        LD      HL,?0157\r
+    00000FCB E5                    2380        PUSH    HL\r
+    00000FCC 6F                    2381        LD      L,A\r
+    00000FCD 67                    2382        LD      H,A\r
+    00000FCE E5                    2383        PUSH    HL\r
+    00000FCF 01 FF FF              2384        LD      BC,65535\r
+    00000FD2 11 4B 00              2385        LD      DE,?0156\r
+    00000FD5 3E 00                 2386        LD      A,BYTE3 __fopen\r
+    00000FD7 21 00 00              2387        LD      HL,LWRD __fopen\r
+    00000FDA CD 00 00              2388        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000FDD F1                    2389        POP     AF\r
+    00000FDE F1                    2390        POP     AF\r
+    00000FDF FD 75 08              2391        LD      (IY+8),L\r
+    00000FE2 FD 74 09              2392        LD      (IY+9),H\r
+    00000FE5 21 05 00              2393        LD      HL,5\r
+    00000FE8 DD 4E FE              2394        LD      C,(IX-2)\r
+    00000FEB DD 46 FF              2395        LD      B,(IX-1)\r
+    00000FEE 09                    2396        ADD     HL,BC\r
+    00000FEF 7E                    2397        LD      A,(HL)\r
+    00000FF0 23                    2398        INC     HL\r
+    00000FF1 B6                    2399        OR      (HL)\r
+    00000FF2 21 1C 00              2400        LD      HL,28\r
+    00000FF5 39                    2401        ADD     HL,SP\r
+    00000FF6 4D                    2402        LD      C,L\r
+    00000FF7 44                    2403        LD      B,H\r
+    00000FF8 28 17                 2404        JR      Z,?0159\r
+    00000FFA                       2405 ?0158:\r
+    00000FFA 21 05 00              2406        LD      HL,5\r
+    00000FFD DD 5E FE              2407        LD      E,(IX-2)\r
+    00001000 DD 56 FF              2408        LD      D,(IX-1)\r
+    00001003 19                    2409        ADD     HL,DE\r
+    00001004 56                    2410        LD      D,(HL)\r
+    00001005 23                    2411        INC     HL\r
+    00001006 66                    2412        LD      H,(HL)\r
+    00001007 6A                    2413        LD      L,D\r
+    00001008 11 04 00              2414        LD      DE,4\r
+    0000100B 19                    2415        ADD     HL,DE\r
+    0000100C 5E                    2416        LD      E,(HL)\r
+    0000100D 23                    2417        INC     HL\r
+    0000100E 56                    2418        LD      D,(HL)\r
+    0000100F 18 02                 2419        JR      ?0510\r
+    00001011                       2420 ?0159:\r
+    00001011 5F                    2421        LD      E,A\r
+    00001012 57                    2422        LD      D,A\r
+    00001013                       2423 ?0510:\r
+    00001013 3E 5D                 2424        LD      A,BYTE3 dbParseExpression\r
+    00001015 21 5D 20              2425        LD      HL,LWRD dbParseExpression\r
+    00001018 CD 00 00              2426        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000101B DD 75 F6              2427        LD      (IX-10),L\r
+    0000101E DD 74 F7              2428        LD      (IX-9),H\r
+    00001021                       2429 ?0160:\r
+    00001021 AF                    2430        XOR     A\r
+    00001022 DD 77 EE              2431        LD      (IX-18),A\r
+    00001025 DD 77 EF              2432        LD      (IX-17),A\r
+    00001028                       2433 ?0162:\r
+    00001028 21 04 00              2434        LD      HL,4\r
+    0000102B DD 4E DE              2435        LD      C,(IX-34)\r
+    0000102E DD 46 DF              2436        LD      B,(IX-33)\r
+    00001031 09                    2437        ADD     HL,BC\r
+    00001032 4E                    2438        LD      C,(HL)\r
+    00001033 23                    2439        INC     HL\r
+    00001034 46                    2440        LD      B,(HL)\r
+    00001035 DD 6E EE              2441        LD      L,(IX-18)\r
+    00001038 DD 66 EF              2442        LD      H,(IX-17)\r
+    0000103B F6 80                 2443        OR      128\r
+    0000103D ED 42                 2444        SBC     HL,BC\r
+    0000103F E2 43 10              2445        JP      PO,?0505\r
+    00001042 AC                    2446        XOR     H\r
+    00001043                       2447 ?0505:\r
+    00001043 F2 71 11              2448        JP      P,?0161\r
+    00001046                       2449 ?0163:\r
+    00001046 21 08 00              2450        LD      HL,8\r
+    00001049 DD 4E DE              2451        LD      C,(IX-34)\r
+    0000104C DD 46 DF              2452        LD      B,(IX-33)\r
+    0000104F 09                    2453        ADD     HL,BC\r
+    00001050 4E                    2454        LD      C,(HL)\r
+    00001051 23                    2455        INC     HL\r
+    00001052 46                    2456        LD      B,(HL)\r
+    00001053 C5                    2457        PUSH    BC\r
+    00001054 21 01 00              2458        LD      HL,1\r
+    00001057 E5                    2459        PUSH    HL\r
+    00001058 DD 4E F4              2460        LD      C,(IX-12)\r
+    0000105B DD 46 F5              2461        LD      B,(IX-11)\r
+    0000105E DD 5E E8              2462        LD      E,(IX-24)\r
+    00001061 DD 56 E9              2463        LD      D,(IX-23)\r
+    00001064 3E 00                 2464        LD      A,BYTE3 fread\r
+    00001066 21 00 00              2465        LD      HL,LWRD fread\r
+    00001069 CD 00 00              2466        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000106C F1                    2467        POP     AF\r
+    0000106D F1                    2468        POP     AF\r
+    0000106E DD 6E E8              2469        LD      L,(IX-24)\r
+    00001071 DD 66 E9              2470        LD      H,(IX-23)\r
+    00001074 46                    2471        LD      B,(HL)\r
+    00001075 05                    2472        DEC     B\r
+    00001076 C2 65 11              2473        JP      NZ,?0508\r
+    00001079                       2474 ?0165:\r
+    00001079 DD 6E EA              2475        LD      L,(IX-22)\r
+    0000107C DD 66 EB              2476        LD      H,(IX-21)\r
+    0000107F 36 01                 2477        LD      (HL),1\r
+    00001081 23                    2478        INC     HL\r
+    00001082 70                    2479        LD      (HL),B\r
+    00001083 DD 36 EC 02           2480        LD      (IX-20),2\r
+    00001087 DD 70 ED              2481        LD      (IX-19),B\r
+    0000108A AF                    2482        XOR     A\r
+    0000108B DD 77 F0              2483        LD      (IX-16),A\r
+    0000108E DD 77 F1              2484        LD      (IX-15),A\r
+    00001091                       2485 ?0168:\r
+    00001091 FD 4E 00              2486        LD      C,(IY+0)\r
+    00001094 FD 46 01              2487        LD      B,(IY+1)\r
+    00001097 DD 6E F0              2488        LD      L,(IX-16)\r
+    0000109A DD 66 F1              2489        LD      H,(IX-15)\r
+    0000109D F6 80                 2490        OR      128\r
+    0000109F ED 42                 2491        SBC     HL,BC\r
+    000010A1 E2 A5 10              2492        JP      PO,?0506\r
+    000010A4 AC                    2493        XOR     H\r
+    000010A5                       2494 ?0506:\r
+    000010A5 F2 13 11              2495        JP      P,?0167\r
+    000010A8                       2496 ?0169:\r
+    000010A8 DD 6E F0              2497        LD      L,(IX-16)\r
+    000010AB DD 66 F1              2498        LD      H,(IX-15)\r
+    000010AE 29                    2499        ADD     HL,HL\r
+    000010AF DD 4E E6              2500        LD      C,(IX-26)\r
+    000010B2 DD 46 E7              2501        LD      B,(IX-25)\r
+    000010B5 09                    2502        ADD     HL,BC\r
+    000010B6 5E                    2503        LD      E,(HL)\r
+    000010B7 23                    2504        INC     HL\r
+    000010B8 56                    2505        LD      D,(HL)\r
+    000010B9 D5                    2506        PUSH    DE\r
+    000010BA DD 6E F0              2507        LD      L,(IX-16)\r
+    000010BD DD 66 F1              2508        LD      H,(IX-15)\r
+    000010C0 29                    2509        ADD     HL,HL\r
+    000010C1 DD 5E E4              2510        LD      E,(IX-28)\r
+    000010C4 DD 56 E5              2511        LD      D,(IX-27)\r
+    000010C7 19                    2512        ADD     HL,DE\r
+    000010C8 56                    2513        LD      D,(HL)\r
+    000010C9 23                    2514        INC     HL\r
+    000010CA 66                    2515        LD      H,(HL)\r
+    000010CB 6A                    2516        LD      L,D\r
+    000010CC DD 5E E8              2517        LD      E,(IX-24)\r
+    000010CF DD 56 E9              2518        LD      D,(IX-23)\r
+    000010D2 19                    2519        ADD     HL,DE\r
+    000010D3 4D                    2520        LD      C,L\r
+    000010D4 44                    2521        LD      B,H\r
+    000010D5 DD 6E EC              2522        LD      L,(IX-20)\r
+    000010D8 DD 66 ED              2523        LD      H,(IX-19)\r
+    000010DB DD 5E EA              2524        LD      E,(IX-22)\r
+    000010DE DD 56 EB              2525        LD      D,(IX-21)\r
+    000010E1 19                    2526        ADD     HL,DE\r
+    000010E2 EB                    2527        EX      DE,HL\r
+    000010E3 3E 00                 2528        LD      A,BYTE3 memcpy\r
+    000010E5 21 00 00              2529        LD      HL,LWRD memcpy\r
+    000010E8 CD 00 00              2530        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000010EB F1                    2531        POP     AF\r
+    000010EC DD 6E F0              2532        LD      L,(IX-16)\r
+    000010EF DD 66 F1              2533        LD      H,(IX-15)\r
+    000010F2 29                    2534        ADD     HL,HL\r
+    000010F3 DD 4E E6              2535        LD      C,(IX-26)\r
+    000010F6 DD 46 E7              2536        LD      B,(IX-25)\r
+    000010F9 09                    2537        ADD     HL,BC\r
+    000010FA 4E                    2538        LD      C,(HL)\r
+    000010FB 23                    2539        INC     HL\r
+    000010FC 46                    2540        LD      B,(HL)\r
+    000010FD 21 10 00              2541        LD      HL,16\r
+    00001100 39                    2542        ADD     HL,SP\r
+    00001101 7E                    2543        LD      A,(HL)\r
+    00001102 81                    2544        ADD     A,C\r
+    00001103 77                    2545        LD      (HL),A\r
+    00001104 23                    2546        INC     HL\r
+    00001105 7E                    2547        LD      A,(HL)\r
+    00001106 88                    2548        ADC     A,B\r
+    00001107 77                    2549        LD      (HL),A\r
+    00001108 DD 34 F0              2550        INC     (IX-16)\r
+    0000110B 20 84                 2551        JR      NZ,?0168\r
+    0000110D DD 34 F1              2552        INC     (IX-15)\r
+    00001110 C3 91 10              2553        JP      LWRD ?0168\r
+    00001113                       2554 ?0167:\r
+    00001113 DD 4E FA              2555        LD      C,(IX-6)\r
+    00001116 DD 46 FB              2556        LD      B,(IX-5)\r
+    00001119 DD 5E F6              2557        LD      E,(IX-10)\r
+    0000111C DD 56 F7              2558        LD      D,(IX-9)\r
+    0000111F 3E C0                 2559        LD      A,BYTE3 dbEvaluateExpression\r
+    00001121 21 C0 24              2560        LD      HL,LWRD dbEvaluateExpression\r
+    00001124 CD 00 00              2561        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001127 21 24 00              2562        LD      HL,36\r
+    0000112A DD 4E F6              2563        LD      C,(IX-10)\r
+    0000112D DD 46 F7              2564        LD      B,(IX-9)\r
+    00001130 09                    2565        ADD     HL,BC\r
+    00001131 3E 01                 2566        LD      A,1\r
+    00001133 AE                    2567        XOR     (HL)\r
+    00001134 23                    2568        INC     HL\r
+    00001135 B6                    2569        OR      (HL)\r
+    00001136 23                    2570        INC     HL\r
+    00001137 B6                    2571        OR      (HL)\r
+    00001138 23                    2572        INC     HL\r
+    00001139 B6                    2573        OR      (HL)\r
+    0000113A 20 29                 2574        JR      NZ,?0508\r
+    0000113C                       2575 ?0171:\r
+    0000113C FD 6E 08              2576        LD      L,(IY+8)\r
+    0000113F FD 66 09              2577        LD      H,(IY+9)\r
+    00001142 E5                    2578        PUSH    HL\r
+    00001143 21 01 00              2579        LD      HL,1\r
+    00001146 E5                    2580        PUSH    HL\r
+    00001147 DD 4E F2              2581        LD      C,(IX-14)\r
+    0000114A DD 46 F3              2582        LD      B,(IX-13)\r
+    0000114D DD 5E EA              2583        LD      E,(IX-22)\r
+    00001150 DD 56 EB              2584        LD      D,(IX-21)\r
+    00001153 3E 00                 2585        LD      A,BYTE3 fwrite\r
+    00001155 21 00 00              2586        LD      HL,LWRD fwrite\r
+    00001158 CD 00 00              2587        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000115B F1                    2588        POP     AF\r
+    0000115C F1                    2589        POP     AF\r
+    0000115D FD 34 04              2590        INC     (IY+4)\r
+    00001160 20 03                 2591        JR      NZ,?0508\r
+    00001162 FD 34 05              2592        INC     (IY+5)\r
+    00001165                       2593 ?0508:\r
+    00001165                       2594 ?0172:\r
+    00001165                       2595 ?0166:\r
+    00001165 DD 34 EE              2596        INC     (IX-18)\r
+    00001168 C2 28 10              2597        JP      NZ,?0162\r
+    0000116B DD 34 EF              2598        INC     (IX-17)\r
+    0000116E C3 28 10              2599        JP      LWRD ?0162\r
+    00001171                       2600 ?0161:\r
+    00001171 DD 5E E8              2601        LD      E,(IX-24)\r
+    00001174 DD 56 E9              2602        LD      D,(IX-23)\r
+    00001177 CD 3B 00              2603        CALL    LWRD ?0639\r
+    0000117A DD 5E E4              2604        LD      E,(IX-28)\r
+    0000117D DD 56 E5              2605        LD      D,(IX-27)\r
+    00001180 CD 3B 00              2606        CALL    LWRD ?0639\r
+    00001183 DD 5E E6              2607        LD      E,(IX-26)\r
+    00001186 DD 56 E7              2608        LD      D,(IX-25)\r
+    00001189 CD 3B 00              2609        CALL    LWRD ?0639\r
+    0000118C DD 5E FA              2610        LD      E,(IX-6)\r
+    0000118F DD 56 FB              2611        LD      D,(IX-5)\r
+    00001192 CD 3B 00              2612        CALL    LWRD ?0639\r
+    00001195 DD 5E F6              2613        LD      E,(IX-10)\r
+    00001198 DD 56 F7              2614        LD      D,(IX-9)\r
+    0000119B 3E 97                 2615        LD      A,BYTE3 dbDeleteExpression\r
+    0000119D 21 97 24              2616        LD      HL,LWRD dbDeleteExpression\r
+    000011A0 CD 00 00              2617        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000011A3 DD 5E DE              2618        LD      E,(IX-34)\r
+    000011A6 DD 56 DF              2619        LD      D,(IX-33)\r
+    000011A9 3E 70                 2620        LD      A,BYTE3 dbTableClose\r
+    000011AB 21 70 0B              2621        LD      HL,LWRD dbTableClose\r
+    000011AE CD 00 00              2622        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000011B1 FD 5E 08              2623        LD      E,(IY+8)\r
+    000011B4 FD 56 09              2624        LD      D,(IY+9)\r
+    000011B7 CD 4B 0B              2625        CALL    LWRD ?0645\r
+    000011BA 21 43 00              2626        LD      HL,?0127\r
+    000011BD E5                    2627        PUSH    HL\r
+    000011BE 21 00 00              2628        LD      HL,0\r
+    000011C1 E5                    2629        PUSH    HL\r
+    000011C2 01 FF FF              2630        LD      BC,65535\r
+    000011C5 11 4B 00              2631        LD      DE,?0156\r
+    000011C8 3E 00                 2632        LD      A,BYTE3 __fopen\r
+    000011CA 21 00 00              2633        LD      HL,LWRD __fopen\r
+    000011CD CD 00 00              2634        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000011D0 F1                    2635        POP     AF\r
+    000011D1 F1                    2636        POP     AF\r
+    000011D2 FD 75 08              2637        LD      (IY+8),L\r
+    000011D5 FD 74 09              2638        LD      (IY+9),H\r
+    000011D8 FD E5                 2639        PUSH    IY\r
+    000011DA E1                    2640        POP     HL\r
+    000011DB DD F9                 2641        LD      SP,IX\r
+    000011DD C3 6B 00              2642        JP      LWRD ?0614\r
+    000011E0                       2643 ?0640:\r
+    000011E0 DD 75 E4              2644        LD      (IX-28),L\r
+    000011E3 DD 74 E5              2645        LD      (IX-27),H\r
+    000011E6 FD 6E 00              2646        LD      L,(IY+0)\r
+    000011E9 FD 66 01              2647        LD      H,(IY+1)\r
+    000011EC 29                    2648        ADD     HL,HL\r
+    000011ED EB                    2649        EX      DE,HL\r
+    000011EE 3E 00                 2650        LD      A,BYTE3 malloc\r
+    000011F0 21 00 00              2651        LD      HL,LWRD malloc\r
+    000011F3 CD 00 00              2652        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000011F6 DD 75 E6              2653        LD      (IX-26),L\r
+    000011F9 DD 74 E7              2654        LD      (IX-25),H\r
+    000011FC FD 6E 00              2655        LD      L,(IY+0)\r
+    000011FF FD 66 01              2656        LD      H,(IY+1)\r
+    00001202 29                    2657        ADD     HL,HL\r
+    00001203 29                    2658        ADD     HL,HL\r
+    00001204 4D                    2659        LD      C,L\r
+    00001205 44                    2660        LD      B,H\r
+    00001206 29                    2661        ADD     HL,HL\r
+    00001207 09                    2662        ADD     HL,BC\r
+    00001208 EB                    2663        EX      DE,HL\r
+    00001209 3E 00                 2664        LD      A,BYTE3 malloc\r
+    0000120B 21 00 00              2665        LD      HL,LWRD malloc\r
+    0000120E C9                    2666        RET\r
+    0000120F                       2667 ?0647:\r
+    0000120F DD 6E FE              2668        LD      L,(IX-2)\r
+    00001212 DD 66 FF              2669        LD      H,(IX-1)\r
+    00001215 23                    2670        INC     HL\r
+    00001216 5E                    2671        LD      E,(HL)\r
+    00001217 23                    2672        INC     HL\r
+    00001218 56                    2673        LD      D,(HL)\r
+    00001219 3E 73                 2674        LD      A,BYTE3 dbListSize\r
+    0000121B 21 73 00              2675        LD      HL,LWRD dbListSize\r
+    0000121E C3 00 00              2676        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00001221                       2677 ?0662:\r
+    00001221 3E 5D                 2678        LD      A,BYTE3 dbParseExpression\r
+    00001223 21 5D 20              2679        LD      HL,LWRD dbParseExpression\r
+    00001226 CD 00 00              2680        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001229 DD 75 F8              2681        LD      (IX-8),L\r
+    0000122C DD 74 F9              2682        LD      (IX-7),H\r
+    0000122F                       2683 ?0661:\r
+    0000122F 3E 44                 2684        LD      A,BYTE3 dbNewRow\r
+    00001231 21 44 1D              2685        LD      HL,LWRD dbNewRow\r
+    00001234 C3 00 00              2686        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00001237                       2687 ?0663:\r
+    00001237 DD 5E F8              2688        LD      E,(IX-8)\r
+    0000123A DD 56 F9              2689        LD      D,(IX-7)\r
+    0000123D 3E C0                 2690        LD      A,BYTE3 dbEvaluateExpression\r
+    0000123F 21 C0 24              2691        LD      HL,LWRD dbEvaluateExpression\r
+    00001242 CD 00 00              2692        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001245 21 24 00              2693        LD      HL,36\r
+    00001248 DD 4E F8              2694        LD      C,(IX-8)\r
+    0000124B DD 46 F9              2695        LD      B,(IX-7)\r
+    0000124E 09                    2696        ADD     HL,BC\r
+    0000124F 3E 01                 2697        LD      A,1\r
+    00001251 AE                    2698        XOR     (HL)\r
+    00001252 23                    2699        INC     HL\r
+    00001253 B6                    2700        OR      (HL)\r
+    00001254 23                    2701        INC     HL\r
+    00001255 B6                    2702        OR      (HL)\r
+    00001256 23                    2703        INC     HL\r
+    00001257 B6                    2704        OR      (HL)\r
+    00001258 C9                    2705        RET\r
+    00001259                       2706 dbExecuteInsert:\r
+    00001259 C5                    2707        PUSH    BC\r
+    0000125A FD E5                 2708        PUSH    IY\r
+    0000125C DD E5                 2709        PUSH    IX\r
+    0000125E DD 21 00 00           2710        LD      IX,0\r
+    00001262 DD 39                 2711        ADD     IX,SP\r
+    00001264 D5                    2712        PUSH    DE\r
+    00001265 21 E8 FF              2713        LD      HL,65512\r
+    00001268 39                    2714        ADD     HL,SP\r
+    00001269 F9                    2715        LD      SP,HL\r
+    0000126A 11 14 00              2716        LD      DE,20\r
+    0000126D CD 8F 04              2717        CALL    LWRD ?0641\r
+    00001270 DD 75 E6              2718        LD      (IX-26),L\r
+    00001273 DD 74 E7              2719        LD      (IX-25),H\r
+    00001276 DD 4E FE              2720        LD      C,(IX-2)\r
+    00001279 DD 46 FF              2721        LD      B,(IX-1)\r
+    0000127C 03                    2722        INC     BC\r
+    0000127D 03                    2723        INC     BC\r
+    0000127E 03                    2724        INC     BC\r
+    0000127F 0A                    2725        LD      A,(BC)\r
+    00001280 6F                    2726        LD      L,A\r
+    00001281 03                    2727        INC     BC\r
+    00001282 0A                    2728        LD      A,(BC)\r
+    00001283 67                    2729        LD      H,A\r
+    00001284 01 04 00              2730        LD      BC,4\r
+    00001287 09                    2731        ADD     HL,BC\r
+    00001288 4E                    2732        LD      C,(HL)\r
+    00001289 23                    2733        INC     HL\r
+    0000128A 46                    2734        LD      B,(HL)\r
+    0000128B 21 0B 00              2735        LD      HL,11\r
+    0000128E DD 5E E6              2736        LD      E,(IX-26)\r
+    00001291 DD 56 E7              2737        LD      D,(IX-25)\r
+    00001294 CD AB 04              2738        CALL    LWRD ?0653\r
+    00001297 DD 5E E6              2739        LD      E,(IX-26)\r
+    0000129A DD 56 E7              2740        LD      D,(IX-25)\r
+    0000129D 3E A0                 2741        LD      A,BYTE3 dbTableOpen\r
+    0000129F 21 A0 08              2742        LD      HL,LWRD dbTableOpen\r
+    000012A2 CD 00 00              2743        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000012A5 DD 5E E6              2744        LD      E,(IX-26)\r
+    000012A8 DD 56 E7              2745        LD      D,(IX-25)\r
+    000012AB 3E 32                 2746        LD      A,BYTE3 dbRecordSize\r
+    000012AD 21 32 0C              2747        LD      HL,LWRD dbRecordSize\r
+    000012B0 CD 00 00              2748        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000012B3 DD 75 FA              2749        LD      (IX-6),L\r
+    000012B6 DD 74 FB              2750        LD      (IX-5),H\r
+    000012B9 CD 8E 04              2751        CALL    LWRD ?0642\r
+    000012BC DD 75 E8              2752        LD      (IX-24),L\r
+    000012BF DD 74 E9              2753        LD      (IX-23),H\r
+    000012C2 AF                    2754        XOR     A\r
+    000012C3 DD 77 F4              2755        LD      (IX-12),A\r
+    000012C6 DD 77 F5              2756        LD      (IX-11),A\r
+    000012C9                       2757 ?0174:\r
+    000012C9 DD 4E FA              2758        LD      C,(IX-6)\r
+    000012CC DD 46 FB              2759        LD      B,(IX-5)\r
+    000012CF DD 6E F4              2760        LD      L,(IX-12)\r
+    000012D2 DD 66 F5              2761        LD      H,(IX-11)\r
+    000012D5 F6 80                 2762        OR      128\r
+    000012D7 ED 42                 2763        SBC     HL,BC\r
+    000012D9 E2 DD 12              2764        JP      PO,?0511\r
+    000012DC AC                    2765        XOR     H\r
+    000012DD                       2766 ?0511:\r
+    000012DD F2 F9 12              2767        JP      P,?0173\r
+    000012E0                       2768 ?0175:\r
+    000012E0 DD 6E F4              2769        LD      L,(IX-12)\r
+    000012E3 DD 66 F5              2770        LD      H,(IX-11)\r
+    000012E6 DD 4E E8              2771        LD      C,(IX-24)\r
+    000012E9 DD 46 E9              2772        LD      B,(IX-23)\r
+    000012EC 09                    2773        ADD     HL,BC\r
+    000012ED 36 00                 2774        LD      (HL),0\r
+    000012EF DD 34 F4              2775        INC     (IX-12)\r
+    000012F2 20 D5                 2776        JR      NZ,?0174\r
+    000012F4 DD 34 F5              2777        INC     (IX-11)\r
+    000012F7 18 D0                 2778        JR      ?0174\r
+    000012F9                       2779 ?0173:\r
+    000012F9 59                    2780        LD      E,C\r
+    000012FA 50                    2781        LD      D,B\r
+    000012FB CD 8F 04              2782        CALL    LWRD ?0641\r
+    000012FE DD 75 EA              2783        LD      (IX-22),L\r
+    00001301 DD 74 EB              2784        LD      (IX-21),H\r
+    00001304 DD 6E E8              2785        LD      L,(IX-24)\r
+    00001307 DD 66 E9              2786        LD      H,(IX-23)\r
+    0000130A 36 01                 2787        LD      (HL),1\r
+    0000130C 23                    2788        INC     HL\r
+    0000130D 36 00                 2789        LD      (HL),0\r
+    0000130F CD 0F 12              2790        CALL    LWRD ?0647\r
+    00001312 DD 75 F2              2791        LD      (IX-14),L\r
+    00001315 DD 74 F3              2792        LD      (IX-13),H\r
+    00001318 DD 6E FE              2793        LD      L,(IX-2)\r
+    0000131B DD 66 FF              2794        LD      H,(IX-1)\r
+    0000131E 23                    2795        INC     HL\r
+    0000131F 46                    2796        LD      B,(HL)\r
+    00001320 DD 70 EC              2797        LD      (IX-20),B\r
+    00001323 23                    2798        INC     HL\r
+    00001324 66                    2799        LD      H,(HL)\r
+    00001325 DD 74 ED              2800        LD      (IX-19),H\r
+    00001328 21 07 00              2801        LD      HL,7\r
+    0000132B DD 4E FE              2802        LD      C,(IX-2)\r
+    0000132E DD 46 FF              2803        LD      B,(IX-1)\r
+    00001331 09                    2804        ADD     HL,BC\r
+    00001332 46                    2805        LD      B,(HL)\r
+    00001333 23                    2806        INC     HL\r
+    00001334 66                    2807        LD      H,(HL)\r
+    00001335 68                    2808        LD      L,B\r
+    00001336 E5                    2809        PUSH    HL\r
+    00001337 FD E1                 2810        POP     IY\r
+    00001339 AF                    2811        XOR     A\r
+    0000133A DD 77 F4              2812        LD      (IX-12),A\r
+    0000133D DD 77 F5              2813        LD      (IX-11),A\r
+    00001340                       2814 ?0178:\r
+    00001340 DD 4E F2              2815        LD      C,(IX-14)\r
+    00001343 DD 46 F3              2816        LD      B,(IX-13)\r
+    00001346 DD 6E F4              2817        LD      L,(IX-12)\r
+    00001349 DD 66 F5              2818        LD      H,(IX-11)\r
+    0000134C F6 80                 2819        OR      128\r
+    0000134E ED 42                 2820        SBC     HL,BC\r
+    00001350 E2 54 13              2821        JP      PO,?0513\r
+    00001353 AC                    2822        XOR     H\r
+    00001354                       2823 ?0513:\r
+    00001354 F2 E4 14              2824        JP      P,?0177\r
+    00001357                       2825 ?0179:\r
+    00001357 21 04 00              2826        LD      HL,4\r
+    0000135A DD 4E EC              2827        LD      C,(IX-20)\r
+    0000135D DD 46 ED              2828        LD      B,(IX-19)\r
+    00001360 09                    2829        ADD     HL,BC\r
+    00001361 4E                    2830        LD      C,(HL)\r
+    00001362 23                    2831        INC     HL\r
+    00001363 46                    2832        LD      B,(HL)\r
+    00001364 DD 5E E6              2833        LD      E,(IX-26)\r
+    00001367 DD 56 E7              2834        LD      D,(IX-25)\r
+    0000136A 3E 4E                 2835        LD      A,BYTE3 dbFieldSearch\r
+    0000136C 21 4E 0C              2836        LD      HL,LWRD dbFieldSearch\r
+    0000136F CD 00 00              2837        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001372 DD 75 FC              2838        LD      (IX-4),L\r
+    00001375 DD 74 FD              2839        LD      (IX-3),H\r
+    00001378 DD 4E E6              2840        LD      C,(IX-26)\r
+    0000137B DD 46 E7              2841        LD      B,(IX-25)\r
+    0000137E 03                    2842        INC     BC\r
+    0000137F 03                    2843        INC     BC\r
+    00001380 0A                    2844        LD      A,(BC)\r
+    00001381 6F                    2845        LD      L,A\r
+    00001382 03                    2846        INC     BC\r
+    00001383 0A                    2847        LD      A,(BC)\r
+    00001384 67                    2848        LD      H,A\r
+    00001385 E5                    2849        PUSH    HL\r
+    00001386 DD 6E FC              2850        LD      L,(IX-4)\r
+    00001389 DD 66 FD              2851        LD      H,(IX-3)\r
+    0000138C 29                    2852        ADD     HL,HL\r
+    0000138D 29                    2853        ADD     HL,HL\r
+    0000138E 4D                    2854        LD      C,L\r
+    0000138F 44                    2855        LD      B,H\r
+    00001390 29                    2856        ADD     HL,HL\r
+    00001391 09                    2857        ADD     HL,BC\r
+    00001392 4D                    2858        LD      C,L\r
+    00001393 44                    2859        LD      B,H\r
+    00001394 E1                    2860        POP     HL\r
+    00001395 09                    2861        ADD     HL,BC\r
+    00001396 DD 75 F0              2862        LD      (IX-16),L\r
+    00001399 DD 74 F1              2863        LD      (IX-15),H\r
+    0000139C DD 4E FC              2864        LD      C,(IX-4)\r
+    0000139F DD 46 FD              2865        LD      B,(IX-3)\r
+    000013A2 DD 5E E6              2866        LD      E,(IX-26)\r
+    000013A5 DD 56 E7              2867        LD      D,(IX-25)\r
+    000013A8 3E DD                 2868        LD      A,BYTE3 dbFieldOffset\r
+    000013AA 21 DD 0B              2869        LD      HL,LWRD dbFieldOffset\r
+    000013AD CD 00 00              2870        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000013B0 DD 75 F6              2871        LD      (IX-10),L\r
+    000013B3 DD 74 F7              2872        LD      (IX-9),H\r
+    000013B6 21 0A 00              2873        LD      HL,10\r
+    000013B9 DD 4E F0              2874        LD      C,(IX-16)\r
+    000013BC DD 46 F1              2875        LD      B,(IX-15)\r
+    000013BF 09                    2876        ADD     HL,BC\r
+    000013C0 4E                    2877        LD      C,(HL)\r
+    000013C1 DD 71 F8              2878        LD      (IX-8),C\r
+    000013C4 DD 36 F9 00           2879        LD      (IX-7),0\r
+    000013C8 FD 6E 04              2880        LD      L,(IY+4)\r
+    000013CB FD 66 05              2881        LD      H,(IY+5)\r
+    000013CE 7E                    2882        LD      A,(HL)\r
+    000013CF FE 27                 2883        CP      39\r
+    000013D1 C2 58 14              2884        JP      NZ,?0182\r
+    000013D4                       2885 ?0181:\r
+    000013D4 FD 5E 04              2886        LD      E,(IY+4)\r
+    000013D7 FD 56 05              2887        LD      D,(IY+5)\r
+    000013DA CD 98 04              2888        CALL    LWRD ?0649\r
+    000013DD FD 4E 04              2889        LD      C,(IY+4)\r
+    000013E0 FD 46 05              2890        LD      B,(IY+5)\r
+    000013E3 09                    2891        ADD     HL,BC\r
+    000013E4 2B                    2892        DEC     HL\r
+    000013E5 36 00                 2893        LD      (HL),0\r
+    000013E7 21 09 00              2894        LD      HL,9\r
+    000013EA DD 4E F0              2895        LD      C,(IX-16)\r
+    000013ED DD 46 F1              2896        LD      B,(IX-15)\r
+    000013F0 09                    2897        ADD     HL,BC\r
+    000013F1 7E                    2898        LD      A,(HL)\r
+    000013F2 FE 53                 2899        CP      83\r
+    000013F4 20 28                 2900        JR      NZ,?0185\r
+    000013F6                       2901 ?0184:\r
+    000013F6 DD 6E F8              2902        LD      L,(IX-8)\r
+    000013F9 DD 66 F9              2903        LD      H,(IX-7)\r
+    000013FC E5                    2904        PUSH    HL\r
+    000013FD FD 4E 04              2905        LD      C,(IY+4)\r
+    00001400 FD 46 05              2906        LD      B,(IY+5)\r
+    00001403 03                    2907        INC     BC\r
+    00001404 DD 6E F6              2908        LD      L,(IX-10)\r
+    00001407 DD 66 F7              2909        LD      H,(IX-9)\r
+    0000140A DD 5E E8              2910        LD      E,(IX-24)\r
+    0000140D DD 56 E9              2911        LD      D,(IX-23)\r
+    00001410 19                    2912        ADD     HL,DE\r
+    00001411 EB                    2913        EX      DE,HL\r
+    00001412 3E 00                 2914        LD      A,BYTE3 memcpy\r
+    00001414 21 00 00              2915        LD      HL,LWRD memcpy\r
+    00001417 CD 00 00              2916        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000141A F1                    2917        POP     AF\r
+    0000141B C3 BE 14              2918        JP      LWRD ?0198\r
+    0000141E                       2919 ?0185:\r
+    0000141E FE 49                 2920        CP      73\r
+    00001420 C2 BE 14              2921        JP      NZ,?0198\r
+    00001423 21 0A 00              2922        LD      HL,10\r
+    00001426 09                    2923        ADD     HL,BC\r
+    00001427 46                    2924        LD      B,(HL)\r
+    00001428 05                    2925        DEC     B\r
+    00001429 05                    2926        DEC     B\r
+    0000142A 20 17                 2927        JR      NZ,?0187\r
+    0000142C                       2928 ?0186:\r
+    0000142C DD 6E F6              2929        LD      L,(IX-10)\r
+    0000142F DD 66 F7              2930        LD      H,(IX-9)\r
+    00001432 DD 4E E8              2931        LD      C,(IX-24)\r
+    00001435 DD 46 E9              2932        LD      B,(IX-23)\r
+    00001438 09                    2933        ADD     HL,BC\r
+    00001439 E5                    2934        PUSH    HL\r
+    0000143A FD 5E 04              2935        LD      E,(IY+4)\r
+    0000143D FD 56 05              2936        LD      D,(IY+5)\r
+    00001440 13                    2937        INC     DE\r
+    00001441 18 3E                 2938        JR      ?0520\r
+    00001443                       2939 ?0187:\r
+    00001443 21 0A 00              2940        LD      HL,10\r
+    00001446 DD 46 F1              2941        LD      B,(IX-15)\r
+    00001449 09                    2942        ADD     HL,BC\r
+    0000144A 7E                    2943        LD      A,(HL)\r
+    0000144B FE 04                 2944        CP      4\r
+    0000144D 20 6F                 2945        JR      NZ,?0198\r
+    0000144F                       2946 ?0189:\r
+    0000144F FD 5E 04              2947        LD      E,(IY+4)\r
+    00001452 FD 56 05              2948        LD      D,(IY+5)\r
+    00001455 13                    2949        INC     DE\r
+    00001456 18 48                 2950        JR      ?0519\r
+    00001458                       2951 ?0190:\r
+    00001458                       2952 ?0188:\r
+    00001458                       2953 ?0183:\r
+    00001458                       2954 ?0182:\r
+    00001458 21 09 00              2955        LD      HL,9\r
+    0000145B DD 4E F0              2956        LD      C,(IX-16)\r
+    0000145E 09                    2957        ADD     HL,BC\r
+    0000145F 7E                    2958        LD      A,(HL)\r
+    00001460 FE 49                 2959        CP      73\r
+    00001462 20 5A                 2960        JR      NZ,?0198\r
+    00001464                       2961 ?0193:\r
+    00001464 21 0A 00              2962        LD      HL,10\r
+    00001467 09                    2963        ADD     HL,BC\r
+    00001468 46                    2964        LD      B,(HL)\r
+    00001469 05                    2965        DEC     B\r
+    0000146A 05                    2966        DEC     B\r
+    0000146B 20 21                 2967        JR      NZ,?0195\r
+    0000146D                       2968 ?0194:\r
+    0000146D DD 6E F6              2969        LD      L,(IX-10)\r
+    00001470 DD 66 F7              2970        LD      H,(IX-9)\r
+    00001473 DD 4E E8              2971        LD      C,(IX-24)\r
+    00001476 DD 46 E9              2972        LD      B,(IX-23)\r
+    00001479 09                    2973        ADD     HL,BC\r
+    0000147A E5                    2974        PUSH    HL\r
+    0000147B FD 5E 04              2975        LD      E,(IY+4)\r
+    0000147E FD 56 05              2976        LD      D,(IY+5)\r
+    00001481                       2977 ?0520:\r
+    00001481 3E 00                 2978        LD      A,BYTE3 atoi\r
+    00001483 21 00 00              2979        LD      HL,LWRD atoi\r
+    00001486 CD 00 00              2980        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001489 4D                    2981        LD      C,L\r
+    0000148A 44                    2982        LD      B,H\r
+    0000148B E1                    2983        POP     HL\r
+    0000148C 18 2D                 2984        JR      ?0516\r
+    0000148E                       2985 ?0195:\r
+    0000148E 21 0A 00              2986        LD      HL,10\r
+    00001491 DD 46 F1              2987        LD      B,(IX-15)\r
+    00001494 09                    2988        ADD     HL,BC\r
+    00001495 7E                    2989        LD      A,(HL)\r
+    00001496 FE 04                 2990        CP      4\r
+    00001498 20 24                 2991        JR      NZ,?0198\r
+    0000149A                       2992 ?0197:\r
+    0000149A FD 5E 04              2993        LD      E,(IY+4)\r
+    0000149D FD 56 05              2994        LD      D,(IY+5)\r
+    000014A0                       2995 ?0519:\r
+    000014A0 3E 00                 2996        LD      A,BYTE3 atol\r
+    000014A2 21 00 00              2997        LD      HL,LWRD atol\r
+    000014A5 CD 00 00              2998        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000014A8 E5                    2999        PUSH    HL\r
+    000014A9 DD 6E F6              3000        LD      L,(IX-10)\r
+    000014AC DD 66 F7              3001        LD      H,(IX-9)\r
+    000014AF DD 5E E8              3002        LD      E,(IX-24)\r
+    000014B2 DD 56 E9              3003        LD      D,(IX-23)\r
+    000014B5 19                    3004        ADD     HL,DE\r
+    000014B6 D1                    3005        POP     DE\r
+    000014B7 73                    3006        LD      (HL),E\r
+    000014B8 23                    3007        INC     HL\r
+    000014B9 72                    3008        LD      (HL),D\r
+    000014BA 23                    3009        INC     HL\r
+    000014BB                       3010 ?0516:\r
+    000014BB 71                    3011        LD      (HL),C\r
+    000014BC 23                    3012        INC     HL\r
+    000014BD 70                    3013        LD      (HL),B\r
+    000014BE                       3014 ?0198:\r
+    000014BE                       3015 ?0196:\r
+    000014BE                       3016 ?0192:\r
+    000014BE                       3017 ?0191:\r
+    000014BE DD 6E EC              3018        LD      L,(IX-20)\r
+    000014C1 DD 66 ED              3019        LD      H,(IX-19)\r
+    000014C4 23                    3020        INC     HL\r
+    000014C5 23                    3021        INC     HL\r
+    000014C6 46                    3022        LD      B,(HL)\r
+    000014C7 DD 70 EC              3023        LD      (IX-20),B\r
+    000014CA 23                    3024        INC     HL\r
+    000014CB 66                    3025        LD      H,(HL)\r
+    000014CC DD 74 ED              3026        LD      (IX-19),H\r
+    000014CF FD 6E 02              3027        LD      L,(IY+2)\r
+    000014D2 FD 66 03              3028        LD      H,(IY+3)\r
+    000014D5 E5                    3029        PUSH    HL\r
+    000014D6 FD E1                 3030        POP     IY\r
+    000014D8 DD 34 F4              3031        INC     (IX-12)\r
+    000014DB C2 40 13              3032        JP      NZ,?0178\r
+    000014DE DD 34 F5              3033        INC     (IX-11)\r
+    000014E1 C3 40 13              3034        JP      LWRD ?0178\r
+    000014E4                       3035 ?0177:\r
+    000014E4 21 06 00              3036        LD      HL,6\r
+    000014E7 DD 4E E6              3037        LD      C,(IX-26)\r
+    000014EA DD 46 E7              3038        LD      B,(IX-25)\r
+    000014ED 09                    3039        ADD     HL,BC\r
+    000014EE 7E                    3040        LD      A,(HL)\r
+    000014EF 23                    3041        INC     HL\r
+    000014F0 B6                    3042        OR      (HL)\r
+    000014F1 20 50                 3043        JR      NZ,?0200\r
+    000014F3                       3044 ?0199:\r
+    000014F3 6F                    3045        LD      L,A\r
+    000014F4 67                    3046        LD      H,A\r
+    000014F5 E5                    3047        PUSH    HL\r
+    000014F6 E5                    3048        PUSH    HL\r
+    000014F7 2E 04                 3049        LD      L,4\r
+    000014F9 E5                    3050        PUSH    HL\r
+    000014FA 2E 08                 3051        LD      L,8\r
+    000014FC 09                    3052        ADD     HL,BC\r
+    000014FD 5E                    3053        LD      E,(HL)\r
+    000014FE 23                    3054        INC     HL\r
+    000014FF 56                    3055        LD      D,(HL)\r
+    00001500 CD 5A 16              3056        CALL    LWRD ?0664\r
+    00001503 F1                    3057        POP     AF\r
+    00001504 F1                    3058        POP     AF\r
+    00001505 F1                    3059        POP     AF\r
+    00001506 21 04 00              3060        LD      HL,4\r
+    00001509 09                    3061        ADD     HL,BC\r
+    0000150A 56                    3062        LD      D,(HL)\r
+    0000150B 23                    3063        INC     HL\r
+    0000150C 66                    3064        LD      H,(HL)\r
+    0000150D 6A                    3065        LD      L,D\r
+    0000150E 23                    3066        INC     HL\r
+    0000150F E5                    3067        PUSH    HL\r
+    00001510 DD 6E EA              3068        LD      L,(IX-22)\r
+    00001513 DD 66 EB              3069        LD      H,(IX-21)\r
+    00001516 D1                    3070        POP     DE\r
+    00001517 73                    3071        LD      (HL),E\r
+    00001518 23                    3072        INC     HL\r
+    00001519 72                    3073        LD      (HL),D\r
+    0000151A 21 08 00              3074        LD      HL,8\r
+    0000151D 09                    3075        ADD     HL,BC\r
+    0000151E 5E                    3076        LD      E,(HL)\r
+    0000151F 23                    3077        INC     HL\r
+    00001520 56                    3078        LD      D,(HL)\r
+    00001521 D5                    3079        PUSH    DE\r
+    00001522 21 01 00              3080        LD      HL,1\r
+    00001525 E5                    3081        PUSH    HL\r
+    00001526 01 02 00              3082        LD      BC,2\r
+    00001529 DD 5E EA              3083        LD      E,(IX-22)\r
+    0000152C DD 56 EB              3084        LD      D,(IX-21)\r
+    0000152F 3E 00                 3085        LD      A,BYTE3 fwrite\r
+    00001531 21 00 00              3086        LD      HL,LWRD fwrite\r
+    00001534 CD 00 00              3087        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001537 F1                    3088        POP     AF\r
+    00001538 F1                    3089        POP     AF\r
+    00001539 21 02 00              3090        LD      HL,2\r
+    0000153C E5                    3091        PUSH    HL\r
+    0000153D 2B                    3092        DEC     HL\r
+    0000153E 2B                    3093        DEC     HL\r
+    0000153F E5                    3094        PUSH    HL\r
+    00001540 C3 F6 15              3095        JP      LWRD ?0517\r
+    00001543                       3096 ?0200:\r
+    00001543 21 00 00              3097        LD      HL,0\r
+    00001546 E5                    3098        PUSH    HL\r
+    00001547 E5                    3099        PUSH    HL\r
+    00001548 2E 06                 3100        LD      L,6\r
+    0000154A E5                    3101        PUSH    HL\r
+    0000154B 23                    3102        INC     HL\r
+    0000154C 23                    3103        INC     HL\r
+    0000154D 09                    3104        ADD     HL,BC\r
+    0000154E 5E                    3105        LD      E,(HL)\r
+    0000154F 23                    3106        INC     HL\r
+    00001550 56                    3107        LD      D,(HL)\r
+    00001551 CD 5A 16              3108        CALL    LWRD ?0664\r
+    00001554 F1                    3109        POP     AF\r
+    00001555 F1                    3110        POP     AF\r
+    00001556 F1                    3111        POP     AF\r
+    00001557 21 06 00              3112        LD      HL,6\r
+    0000155A 09                    3113        ADD     HL,BC\r
+    0000155B 56                    3114        LD      D,(HL)\r
+    0000155C 23                    3115        INC     HL\r
+    0000155D 66                    3116        LD      H,(HL)\r
+    0000155E 6A                    3117        LD      L,D\r
+    0000155F 2B                    3118        DEC     HL\r
+    00001560 E5                    3119        PUSH    HL\r
+    00001561 DD 6E EA              3120        LD      L,(IX-22)\r
+    00001564 DD 66 EB              3121        LD      H,(IX-21)\r
+    00001567 D1                    3122        POP     DE\r
+    00001568 73                    3123        LD      (HL),E\r
+    00001569 23                    3124        INC     HL\r
+    0000156A 72                    3125        LD      (HL),D\r
+    0000156B 21 08 00              3126        LD      HL,8\r
+    0000156E 09                    3127        ADD     HL,BC\r
+    0000156F 5E                    3128        LD      E,(HL)\r
+    00001570 23                    3129        INC     HL\r
+    00001571 56                    3130        LD      D,(HL)\r
+    00001572 D5                    3131        PUSH    DE\r
+    00001573 21 01 00              3132        LD      HL,1\r
+    00001576 E5                    3133        PUSH    HL\r
+    00001577 01 02 00              3134        LD      BC,2\r
+    0000157A DD 5E EA              3135        LD      E,(IX-22)\r
+    0000157D DD 56 EB              3136        LD      D,(IX-21)\r
+    00001580 3E 00                 3137        LD      A,BYTE3 fwrite\r
+    00001582 21 00 00              3138        LD      HL,LWRD fwrite\r
+    00001585 CD 00 00              3139        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001588 F1                    3140        POP     AF\r
+    00001589 F1                    3141        POP     AF\r
+    0000158A 21 00 00              3142        LD      HL,0\r
+    0000158D E5                    3143        PUSH    HL\r
+    0000158E E5                    3144        PUSH    HL\r
+    0000158F 2E 0A                 3145        LD      L,10\r
+    00001591 E5                    3146        PUSH    HL\r
+    00001592 2B                    3147        DEC     HL\r
+    00001593 2B                    3148        DEC     HL\r
+    00001594 DD 4E E6              3149        LD      C,(IX-26)\r
+    00001597 DD 46 E7              3150        LD      B,(IX-25)\r
+    0000159A 09                    3151        ADD     HL,BC\r
+    0000159B 5E                    3152        LD      E,(HL)\r
+    0000159C 23                    3153        INC     HL\r
+    0000159D 56                    3154        LD      D,(HL)\r
+    0000159E CD 5A 16              3155        CALL    LWRD ?0664\r
+    000015A1 F1                    3156        POP     AF\r
+    000015A2 F1                    3157        POP     AF\r
+    000015A3 F1                    3158        POP     AF\r
+    000015A4 DD 6E EA              3159        LD      L,(IX-22)\r
+    000015A7 DD 66 EB              3160        LD      H,(IX-21)\r
+    000015AA 36 FF                 3161        LD      (HL),255\r
+    000015AC 23                    3162        INC     HL\r
+    000015AD 36 FF                 3163        LD      (HL),255\r
+    000015AF                       3164 ?0203:\r
+    000015AF DD 6E EA              3165        LD      L,(IX-22)\r
+    000015B2 DD 66 EB              3166        LD      H,(IX-21)\r
+    000015B5 AF                    3167        XOR     A\r
+    000015B6 B6                    3168        OR      (HL)\r
+    000015B7 28 2A                 3169        JR      Z,?0202\r
+    000015B9                       3170 ?0204:\r
+    000015B9 21 08 00              3171        LD      HL,8\r
+    000015BC DD 4E E6              3172        LD      C,(IX-26)\r
+    000015BF DD 46 E7              3173        LD      B,(IX-25)\r
+    000015C2 09                    3174        ADD     HL,BC\r
+    000015C3 4E                    3175        LD      C,(HL)\r
+    000015C4 23                    3176        INC     HL\r
+    000015C5 46                    3177        LD      B,(HL)\r
+    000015C6 C5                    3178        PUSH    BC\r
+    000015C7 21 01 00              3179        LD      HL,1\r
+    000015CA E5                    3180        PUSH    HL\r
+    000015CB DD 4E FA              3181        LD      C,(IX-6)\r
+    000015CE DD 46 FB              3182        LD      B,(IX-5)\r
+    000015D1 DD 5E EA              3183        LD      E,(IX-22)\r
+    000015D4 DD 56 EB              3184        LD      D,(IX-21)\r
+    000015D7 3E 00                 3185        LD      A,BYTE3 fread\r
+    000015D9 21 00 00              3186        LD      HL,LWRD fread\r
+    000015DC CD 00 00              3187        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000015DF F1                    3188        POP     AF\r
+    000015E0 F1                    3189        POP     AF\r
+    000015E1 18 CC                 3190        JR      ?0203\r
+    000015E3                       3191 ?0202:\r
+    000015E3 21 01 00              3192        LD      HL,1\r
+    000015E6 E5                    3193        PUSH    HL\r
+    000015E7 DD 4E FA              3194        LD      C,(IX-6)\r
+    000015EA DD 46 FB              3195        LD      B,(IX-5)\r
+    000015ED 2B                    3196        DEC     HL\r
+    000015EE ED 42                 3197        SBC     HL,BC\r
+    000015F0 7C                    3198        LD      A,H\r
+    000015F1 07                    3199        RLCA\r
+    000015F2 9F                    3200        SBC     A,A\r
+    000015F3 4F                    3201        LD      C,A\r
+    000015F4 41                    3202        LD      B,C\r
+    000015F5 C5                    3203        PUSH    BC\r
+    000015F6                       3204 ?0517:\r
+    000015F6 E5                    3205        PUSH    HL\r
+    000015F7 21 08 00              3206        LD      HL,8\r
+    000015FA DD 4E E6              3207        LD      C,(IX-26)\r
+    000015FD DD 46 E7              3208        LD      B,(IX-25)\r
+    00001600 09                    3209        ADD     HL,BC\r
+    00001601 5E                    3210        LD      E,(HL)\r
+    00001602 23                    3211        INC     HL\r
+    00001603 56                    3212        LD      D,(HL)\r
+    00001604 CD 5A 16              3213        CALL    LWRD ?0664\r
+    00001607 F1                    3214        POP     AF\r
+    00001608 F1                    3215        POP     AF\r
+    00001609 F1                    3216        POP     AF\r
+    0000160A                       3217 ?0201:\r
+    0000160A 21 08 00              3218        LD      HL,8\r
+    0000160D 09                    3219        ADD     HL,BC\r
+    0000160E 5E                    3220        LD      E,(HL)\r
+    0000160F 23                    3221        INC     HL\r
+    00001610 56                    3222        LD      D,(HL)\r
+    00001611 D5                    3223        PUSH    DE\r
+    00001612 21 01 00              3224        LD      HL,1\r
+    00001615 E5                    3225        PUSH    HL\r
+    00001616 DD 4E FA              3226        LD      C,(IX-6)\r
+    00001619 DD 46 FB              3227        LD      B,(IX-5)\r
+    0000161C DD 5E E8              3228        LD      E,(IX-24)\r
+    0000161F DD 56 E9              3229        LD      D,(IX-23)\r
+    00001622 3E 00                 3230        LD      A,BYTE3 fwrite\r
+    00001624 21 00 00              3231        LD      HL,LWRD fwrite\r
+    00001627 CD 00 00              3232        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000162A F1                    3233        POP     AF\r
+    0000162B F1                    3234        POP     AF\r
+    0000162C DD 5E E8              3235        LD      E,(IX-24)\r
+    0000162F DD 56 E9              3236        LD      D,(IX-23)\r
+    00001632 CD 3B 00              3237        CALL    LWRD ?0639\r
+    00001635 DD 5E EA              3238        LD      E,(IX-22)\r
+    00001638 DD 56 EB              3239        LD      D,(IX-21)\r
+    0000163B CD 3B 00              3240        CALL    LWRD ?0639\r
+    0000163E DD 5E E6              3241        LD      E,(IX-26)\r
+    00001641 DD 56 E7              3242        LD      D,(IX-25)\r
+    00001644 3E 70                 3243        LD      A,BYTE3 dbTableClose\r
+    00001646 21 70 0B              3244        LD      HL,LWRD dbTableClose\r
+    00001649 CD 00 00              3245        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000164C 21 00 00              3246        LD      HL,0\r
+    0000164F DD F9                 3247        LD      SP,IX\r
+    00001651 C3 6B 00              3248        JP      LWRD ?0614\r
+    00001654                       3249 ?0665:\r
+    00001654 FD 5E 08              3250        LD      E,(IY+8)\r
+    00001657 FD 56 09              3251        LD      D,(IY+9)\r
+    0000165A                       3252 ?0664:\r
+    0000165A 3E 00                 3253        LD      A,BYTE3 fseek\r
+    0000165C 21 00 00              3254        LD      HL,LWRD fseek\r
+    0000165F C3 00 00              3255        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00001662                       3256 dbExecuteDelete:\r
+    00001662 C5                    3257        PUSH    BC\r
+    00001663 FD E5                 3258        PUSH    IY\r
+    00001665 DD E5                 3259        PUSH    IX\r
+    00001667 DD 21 00 00           3260        LD      IX,0\r
+    0000166B DD 39                 3261        ADD     IX,SP\r
+    0000166D D5                    3262        PUSH    DE\r
+    0000166E 21 F4 FF              3263        LD      HL,65524\r
+    00001671 39                    3264        ADD     HL,SP\r
+    00001672 F9                    3265        LD      SP,HL\r
+    00001673 CD 14 18              3266        CALL    LWRD ?0637\r
+    00001676 DD 75 FA              3267        LD      (IX-6),L\r
+    00001679 DD 74 FB              3268        LD      (IX-5),H\r
+    0000167C CD 8E 04              3269        CALL    LWRD ?0642\r
+    0000167F DD 75 FC              3270        LD      (IX-4),L\r
+    00001682 DD 74 FD              3271        LD      (IX-3),H\r
+    00001685 AF                    3272        XOR     A\r
+    00001686 DD 77 F4              3273        LD      (IX-12),A\r
+    00001689 DD 77 F5              3274        LD      (IX-11),A\r
+    0000168C 21 05 00              3275        LD      HL,5\r
+    0000168F DD 4E FE              3276        LD      C,(IX-2)\r
+    00001692 DD 46 FF              3277        LD      B,(IX-1)\r
+    00001695 09                    3278        ADD     HL,BC\r
+    00001696 7E                    3279        LD      A,(HL)\r
+    00001697 23                    3280        INC     HL\r
+    00001698 B6                    3281        OR      (HL)\r
+    00001699 21 02 00              3282        LD      HL,2\r
+    0000169C 39                    3283        ADD     HL,SP\r
+    0000169D 4D                    3284        LD      C,L\r
+    0000169E 44                    3285        LD      B,H\r
+    0000169F 28 17                 3286        JR      Z,?0206\r
+    000016A1                       3287 ?0205:\r
+    000016A1 21 05 00              3288        LD      HL,5\r
+    000016A4 DD 5E FE              3289        LD      E,(IX-2)\r
+    000016A7 DD 56 FF              3290        LD      D,(IX-1)\r
+    000016AA 19                    3291        ADD     HL,DE\r
+    000016AB 56                    3292        LD      D,(HL)\r
+    000016AC 23                    3293        INC     HL\r
+    000016AD 66                    3294        LD      H,(HL)\r
+    000016AE 6A                    3295        LD      L,D\r
+    000016AF 11 04 00              3296        LD      DE,4\r
+    000016B2 19                    3297        ADD     HL,DE\r
+    000016B3 5E                    3298        LD      E,(HL)\r
+    000016B4 23                    3299        INC     HL\r
+    000016B5 56                    3300        LD      D,(HL)\r
+    000016B6 18 02                 3301        JR      ?0524\r
+    000016B8                       3302 ?0206:\r
+    000016B8 5F                    3303        LD      E,A\r
+    000016B9 57                    3304        LD      D,A\r
+    000016BA                       3305 ?0524:\r
+    000016BA                       3306 ?0207:\r
+    000016BA CD 21 12              3307        CALL    LWRD ?0662\r
+    000016BD DD 75 F2              3308        LD      (IX-14),L\r
+    000016C0 DD 74 F3              3309        LD      (IX-13),H\r
+    000016C3 FD E5                 3310        PUSH    IY\r
+    000016C5 C1                    3311        POP     BC\r
+    000016C6 71                    3312        LD      (HL),C\r
+    000016C7 23                    3313        INC     HL\r
+    000016C8 70                    3314        LD      (HL),B\r
+    000016C9 21 04 00              3315        LD      HL,4\r
+    000016CC DD 4E F2              3316        LD      C,(IX-14)\r
+    000016CF DD 46 F3              3317        LD      B,(IX-13)\r
+    000016D2 09                    3318        ADD     HL,BC\r
+    000016D3 DD 5E FC              3319        LD      E,(IX-4)\r
+    000016D6 73                    3320        LD      (HL),E\r
+    000016D7 DD 56 FD              3321        LD      D,(IX-3)\r
+    000016DA 23                    3322        INC     HL\r
+    000016DB 72                    3323        LD      (HL),D\r
+    000016DC 69                    3324        LD      L,C\r
+    000016DD 60                    3325        LD      H,B\r
+    000016DE 23                    3326        INC     HL\r
+    000016DF 23                    3327        INC     HL\r
+    000016E0 AF                    3328        XOR     A\r
+    000016E1 77                    3329        LD      (HL),A\r
+    000016E2 23                    3330        INC     HL\r
+    000016E3 77                    3331        LD      (HL),A\r
+    000016E4 DD 77 F6              3332        LD      (IX-10),A\r
+    000016E7 DD 77 F7              3333        LD      (IX-9),A\r
+    000016EA DD 77 F4              3334        LD      (IX-12),A\r
+    000016ED DD 77 F5              3335        LD      (IX-11),A\r
+    000016F0                       3336 ?0209:\r
+    000016F0 FD 4E 04              3337        LD      C,(IY+4)\r
+    000016F3 FD 46 05              3338        LD      B,(IY+5)\r
+    000016F6 DD 6E F4              3339        LD      L,(IX-12)\r
+    000016F9 DD 66 F5              3340        LD      H,(IX-11)\r
+    000016FC F6 80                 3341        OR      128\r
+    000016FE ED 42                 3342        SBC     HL,BC\r
+    00001700 E2 04 17              3343        JP      PO,?0521\r
+    00001703 AC                    3344        XOR     H\r
+    00001704                       3345 ?0521:\r
+    00001704 F2 AC 17              3346        JP      P,?0208\r
+    00001707                       3347 ?0210:\r
+    00001707 FD 6E 08              3348        LD      L,(IY+8)\r
+    0000170A FD 66 09              3349        LD      H,(IY+9)\r
+    0000170D E5                    3350        PUSH    HL\r
+    0000170E 21 01 00              3351        LD      HL,1\r
+    00001711 E5                    3352        PUSH    HL\r
+    00001712 DD 4E FA              3353        LD      C,(IX-6)\r
+    00001715 DD 46 FB              3354        LD      B,(IX-5)\r
+    00001718 2E 04                 3355        LD      L,4\r
+    0000171A DD 5E F2              3356        LD      E,(IX-14)\r
+    0000171D DD 56 F3              3357        LD      D,(IX-13)\r
+    00001720 19                    3358        ADD     HL,DE\r
+    00001721 5E                    3359        LD      E,(HL)\r
+    00001722 23                    3360        INC     HL\r
+    00001723 56                    3361        LD      D,(HL)\r
+    00001724 3E 00                 3362        LD      A,BYTE3 fread\r
+    00001726 21 00 00              3363        LD      HL,LWRD fread\r
+    00001729 CD 00 00              3364        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000172C F1                    3365        POP     AF\r
+    0000172D F1                    3366        POP     AF\r
+    0000172E DD 6E FC              3367        LD      L,(IX-4)\r
+    00001731 DD 66 FD              3368        LD      H,(IX-3)\r
+    00001734 46                    3369        LD      B,(HL)\r
+    00001735 05                    3370        DEC     B\r
+    00001736 20 68                 3371        JR      NZ,?0522\r
+    00001738                       3372 ?0212:\r
+    00001738 DD 4E F2              3373        LD      C,(IX-14)\r
+    0000173B DD 46 F3              3374        LD      B,(IX-13)\r
+    0000173E CD 37 12              3375        CALL    LWRD ?0663\r
+    00001741 20 5D                 3376        JR      NZ,?0522\r
+    00001743                       3377 ?0214:\r
+    00001743 DD 6E FC              3378        LD      L,(IX-4)\r
+    00001746 DD 66 FD              3379        LD      H,(IX-3)\r
+    00001749 77                    3380        LD      (HL),A\r
+    0000174A 21 01 00              3381        LD      HL,1\r
+    0000174D E5                    3382        PUSH    HL\r
+    0000174E DD 4E FA              3383        LD      C,(IX-6)\r
+    00001751 DD 46 FB              3384        LD      B,(IX-5)\r
+    00001754 2B                    3385        DEC     HL\r
+    00001755 ED 42                 3386        SBC     HL,BC\r
+    00001757 7C                    3387        LD      A,H\r
+    00001758 07                    3388        RLCA\r
+    00001759 9F                    3389        SBC     A,A\r
+    0000175A 4F                    3390        LD      C,A\r
+    0000175B 41                    3391        LD      B,C\r
+    0000175C C5                    3392        PUSH    BC\r
+    0000175D E5                    3393        PUSH    HL\r
+    0000175E CD 54 16              3394        CALL    LWRD ?0665\r
+    00001761 F1                    3395        POP     AF\r
+    00001762 F1                    3396        POP     AF\r
+    00001763 F1                    3397        POP     AF\r
+    00001764 FD 6E 08              3398        LD      L,(IY+8)\r
+    00001767 FD 66 09              3399        LD      H,(IY+9)\r
+    0000176A E5                    3400        PUSH    HL\r
+    0000176B 21 01 00              3401        LD      HL,1\r
+    0000176E E5                    3402        PUSH    HL\r
+    0000176F DD 4E FA              3403        LD      C,(IX-6)\r
+    00001772 DD 46 FB              3404        LD      B,(IX-5)\r
+    00001775 2E 04                 3405        LD      L,4\r
+    00001777 DD 5E F2              3406        LD      E,(IX-14)\r
+    0000177A DD 56 F3              3407        LD      D,(IX-13)\r
+    0000177D 19                    3408        ADD     HL,DE\r
+    0000177E 5E                    3409        LD      E,(HL)\r
+    0000177F 23                    3410        INC     HL\r
+    00001780 56                    3411        LD      D,(HL)\r
+    00001781 3E 00                 3412        LD      A,BYTE3 fwrite\r
+    00001783 21 00 00              3413        LD      HL,LWRD fwrite\r
+    00001786 CD 00 00              3414        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001789 F1                    3415        POP     AF\r
+    0000178A F1                    3416        POP     AF\r
+    0000178B 21 01 00              3417        LD      HL,1\r
+    0000178E E5                    3418        PUSH    HL\r
+    0000178F 2B                    3419        DEC     HL\r
+    00001790 E5                    3420        PUSH    HL\r
+    00001791 E5                    3421        PUSH    HL\r
+    00001792 CD 54 16              3422        CALL    LWRD ?0665\r
+    00001795 F1                    3423        POP     AF\r
+    00001796 F1                    3424        POP     AF\r
+    00001797 F1                    3425        POP     AF\r
+    00001798 DD 34 F6              3426        INC     (IX-10)\r
+    0000179B 20 03                 3427        JR      NZ,?0522\r
+    0000179D DD 34 F7              3428        INC     (IX-9)\r
+    000017A0                       3429 ?0522:\r
+    000017A0                       3430 ?0215:\r
+    000017A0                       3431 ?0213:\r
+    000017A0 DD 34 F4              3432        INC     (IX-12)\r
+    000017A3 C2 F0 16              3433        JP      NZ,?0209\r
+    000017A6 DD 34 F5              3434        INC     (IX-11)\r
+    000017A9 C3 F0 16              3435        JP      LWRD ?0209\r
+    000017AC                       3436 ?0208:\r
+    000017AC DD 5E F2              3437        LD      E,(IX-14)\r
+    000017AF DD 56 F3              3438        LD      D,(IX-13)\r
+    000017B2 3E 25                 3439        LD      A,BYTE3 dbDeleteRow\r
+    000017B4 21 25 1D              3440        LD      HL,LWRD dbDeleteRow\r
+    000017B7 CD 00 00              3441        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000017BA 21 00 00              3442        LD      HL,0\r
+    000017BD E5                    3443        PUSH    HL\r
+    000017BE E5                    3444        PUSH    HL\r
+    000017BF 2E 06                 3445        LD      L,6\r
+    000017C1 E5                    3446        PUSH    HL\r
+    000017C2 CD 54 16              3447        CALL    LWRD ?0665\r
+    000017C5 F1                    3448        POP     AF\r
+    000017C6 F1                    3449        POP     AF\r
+    000017C7 F1                    3450        POP     AF\r
+    000017C8 21 04 00              3451        LD      HL,4\r
+    000017CB 39                    3452        ADD     HL,SP\r
+    000017CC 7E                    3453        LD      A,(HL)\r
+    000017CD FD 86 06              3454        ADD     A,(IY+6)\r
+    000017D0 77                    3455        LD      (HL),A\r
+    000017D1 23                    3456        INC     HL\r
+    000017D2 7E                    3457        LD      A,(HL)\r
+    000017D3 FD 8E 07              3458        ADC     A,(IY+7)\r
+    000017D6 77                    3459        LD      (HL),A\r
+    000017D7 FD 6E 08              3460        LD      L,(IY+8)\r
+    000017DA FD 66 09              3461        LD      H,(IY+9)\r
+    000017DD E5                    3462        PUSH    HL\r
+    000017DE 21 01 00              3463        LD      HL,1\r
+    000017E1 E5                    3464        PUSH    HL\r
+    000017E2 01 02 00              3465        LD      BC,2\r
+    000017E5 2E 08                 3466        LD      L,8\r
+    000017E7 39                    3467        ADD     HL,SP\r
+    000017E8 EB                    3468        EX      DE,HL\r
+    000017E9 3E 00                 3469        LD      A,BYTE3 fwrite\r
+    000017EB 21 00 00              3470        LD      HL,LWRD fwrite\r
+    000017EE CD 00 00              3471        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000017F1 F1                    3472        POP     AF\r
+    000017F2 F1                    3473        POP     AF\r
+    000017F3 DD 5E F8              3474        LD      E,(IX-8)\r
+    000017F6 DD 56 F9              3475        LD      D,(IX-7)\r
+    000017F9 3E 97                 3476        LD      A,BYTE3 dbDeleteExpression\r
+    000017FB 21 97 24              3477        LD      HL,LWRD dbDeleteExpression\r
+    000017FE CD 00 00              3478        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001801 FD E5                 3479        PUSH    IY\r
+    00001803 D1                    3480        POP     DE\r
+    00001804 3E 70                 3481        LD      A,BYTE3 dbTableClose\r
+    00001806 21 70 0B              3482        LD      HL,LWRD dbTableClose\r
+    00001809 CD 00 00              3483        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000180C 21 00 00              3484        LD      HL,0\r
+    0000180F DD F9                 3485        LD      SP,IX\r
+    00001811 C3 6B 00              3486        JP      LWRD ?0614\r
+    00001814                       3487 ?0637:\r
+    00001814 11 14 00              3488        LD      DE,20\r
+    00001817 3E 00                 3489        LD      A,BYTE3 malloc\r
+    00001819 21 00 00              3490        LD      HL,LWRD malloc\r
+    0000181C CD 00 00              3491        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000181F E5                    3492        PUSH    HL\r
+    00001820 FD E1                 3493        POP     IY\r
+    00001822 DD 4E FE              3494        LD      C,(IX-2)\r
+    00001825 DD 46 FF              3495        LD      B,(IX-1)\r
+    00001828 03                    3496        INC     BC\r
+    00001829 03                    3497        INC     BC\r
+    0000182A 03                    3498        INC     BC\r
+    0000182B 0A                    3499        LD      A,(BC)\r
+    0000182C 6F                    3500        LD      L,A\r
+    0000182D 03                    3501        INC     BC\r
+    0000182E 0A                    3502        LD      A,(BC)\r
+    0000182F 67                    3503        LD      H,A\r
+    00001830 01 04 00              3504        LD      BC,4\r
+    00001833 09                    3505        ADD     HL,BC\r
+    00001834 4E                    3506        LD      C,(HL)\r
+    00001835 23                    3507        INC     HL\r
+    00001836 46                    3508        LD      B,(HL)\r
+    00001837 21 0B 00              3509        LD      HL,11\r
+    0000183A FD E5                 3510        PUSH    IY\r
+    0000183C D1                    3511        POP     DE\r
+    0000183D 19                    3512        ADD     HL,DE\r
+    0000183E EB                    3513        EX      DE,HL\r
+    0000183F 3E 00                 3514        LD      A,BYTE3 strcpy\r
+    00001841 21 00 00              3515        LD      HL,LWRD strcpy\r
+    00001844 CD 00 00              3516        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001847 FD E5                 3517        PUSH    IY\r
+    00001849 D1                    3518        POP     DE\r
+    0000184A 3E A0                 3519        LD      A,BYTE3 dbTableOpen\r
+    0000184C 21 A0 08              3520        LD      HL,LWRD dbTableOpen\r
+    0000184F CD 00 00              3521        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001852 FD E5                 3522        PUSH    IY\r
+    00001854 D1                    3523        POP     DE\r
+    00001855 3E 32                 3524        LD      A,BYTE3 dbRecordSize\r
+    00001857 21 32 0C              3525        LD      HL,LWRD dbRecordSize\r
+    0000185A CD 00 00              3526        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000185D C9                    3527        RET\r
+    0000185E                       3528 dbExecuteUpdate:\r
+    0000185E C5                    3529        PUSH    BC\r
+    0000185F FD E5                 3530        PUSH    IY\r
+    00001861 DD E5                 3531        PUSH    IX\r
+    00001863 DD 21 00 00           3532        LD      IX,0\r
+    00001867 DD 39                 3533        ADD     IX,SP\r
+    00001869 D5                    3534        PUSH    DE\r
+    0000186A 21 E8 FF              3535        LD      HL,65512\r
+    0000186D 39                    3536        ADD     HL,SP\r
+    0000186E F9                    3537        LD      SP,HL\r
+    0000186F CD 14 18              3538        CALL    LWRD ?0637\r
+    00001872 DD 75 F2              3539        LD      (IX-14),L\r
+    00001875 DD 74 F3              3540        LD      (IX-13),H\r
+    00001878 CD 8E 04              3541        CALL    LWRD ?0642\r
+    0000187B DD 75 FA              3542        LD      (IX-6),L\r
+    0000187E DD 74 FB              3543        LD      (IX-5),H\r
+    00001881 AF                    3544        XOR     A\r
+    00001882 DD 77 EE              3545        LD      (IX-18),A\r
+    00001885 DD 77 EF              3546        LD      (IX-17),A\r
+    00001888 21 05 00              3547        LD      HL,5\r
+    0000188B DD 4E FE              3548        LD      C,(IX-2)\r
+    0000188E DD 46 FF              3549        LD      B,(IX-1)\r
+    00001891 09                    3550        ADD     HL,BC\r
+    00001892 7E                    3551        LD      A,(HL)\r
+    00001893 23                    3552        INC     HL\r
+    00001894 B6                    3553        OR      (HL)\r
+    00001895 21 08 00              3554        LD      HL,8\r
+    00001898 39                    3555        ADD     HL,SP\r
+    00001899 4D                    3556        LD      C,L\r
+    0000189A 44                    3557        LD      B,H\r
+    0000189B 28 17                 3558        JR      Z,?0217\r
+    0000189D                       3559 ?0216:\r
+    0000189D 21 05 00              3560        LD      HL,5\r
+    000018A0 DD 5E FE              3561        LD      E,(IX-2)\r
+    000018A3 DD 56 FF              3562        LD      D,(IX-1)\r
+    000018A6 19                    3563        ADD     HL,DE\r
+    000018A7 56                    3564        LD      D,(HL)\r
+    000018A8 23                    3565        INC     HL\r
+    000018A9 66                    3566        LD      H,(HL)\r
+    000018AA 6A                    3567        LD      L,D\r
+    000018AB 11 04 00              3568        LD      DE,4\r
+    000018AE 19                    3569        ADD     HL,DE\r
+    000018AF 5E                    3570        LD      E,(HL)\r
+    000018B0 23                    3571        INC     HL\r
+    000018B1 56                    3572        LD      D,(HL)\r
+    000018B2 18 02                 3573        JR      ?0535\r
+    000018B4                       3574 ?0217:\r
+    000018B4 5F                    3575        LD      E,A\r
+    000018B5 57                    3576        LD      D,A\r
+    000018B6                       3577 ?0535:\r
+    000018B6                       3578 ?0218:\r
+    000018B6 CD 21 12              3579        CALL    LWRD ?0662\r
+    000018B9 DD 75 E8              3580        LD      (IX-24),L\r
+    000018BC DD 74 E9              3581        LD      (IX-23),H\r
+    000018BF FD E5                 3582        PUSH    IY\r
+    000018C1 C1                    3583        POP     BC\r
+    000018C2 71                    3584        LD      (HL),C\r
+    000018C3 23                    3585        INC     HL\r
+    000018C4 70                    3586        LD      (HL),B\r
+    000018C5 21 04 00              3587        LD      HL,4\r
+    000018C8 DD 4E E8              3588        LD      C,(IX-24)\r
+    000018CB DD 46 E9              3589        LD      B,(IX-23)\r
+    000018CE 09                    3590        ADD     HL,BC\r
+    000018CF DD 5E FA              3591        LD      E,(IX-6)\r
+    000018D2 73                    3592        LD      (HL),E\r
+    000018D3 DD 56 FB              3593        LD      D,(IX-5)\r
+    000018D6 23                    3594        INC     HL\r
+    000018D7 72                    3595        LD      (HL),D\r
+    000018D8 69                    3596        LD      L,C\r
+    000018D9 60                    3597        LD      H,B\r
+    000018DA 23                    3598        INC     HL\r
+    000018DB 23                    3599        INC     HL\r
+    000018DC AF                    3600        XOR     A\r
+    000018DD 77                    3601        LD      (HL),A\r
+    000018DE 23                    3602        INC     HL\r
+    000018DF 77                    3603        LD      (HL),A\r
+    000018E0 CD 0F 12              3604        CALL    LWRD ?0647\r
+    000018E3 DD 75 F0              3605        LD      (IX-16),L\r
+    000018E6 DD 74 F1              3606        LD      (IX-15),H\r
+    000018E9 CD 8D 04              3607        CALL    LWRD ?0644\r
+    000018EC DD 75 EC              3608        LD      (IX-20),L\r
+    000018EF DD 74 ED              3609        LD      (IX-19),H\r
+    000018F2 DD 6E FE              3610        LD      L,(IX-2)\r
+    000018F5 DD 66 FF              3611        LD      H,(IX-1)\r
+    000018F8 23                    3612        INC     HL\r
+    000018F9 46                    3613        LD      B,(HL)\r
+    000018FA DD 70 EA              3614        LD      (IX-22),B\r
+    000018FD 23                    3615        INC     HL\r
+    000018FE 66                    3616        LD      H,(HL)\r
+    000018FF DD 74 EB              3617        LD      (IX-21),H\r
+    00001902 AF                    3618        XOR     A\r
+    00001903 DD 77 E6              3619        LD      (IX-26),A\r
+    00001906 DD 77 E7              3620        LD      (IX-25),A\r
+    00001909                       3621 ?0220:\r
+    00001909 DD 4E F0              3622        LD      C,(IX-16)\r
+    0000190C DD 46 F1              3623        LD      B,(IX-15)\r
+    0000190F DD 6E E6              3624        LD      L,(IX-26)\r
+    00001912 DD 66 E7              3625        LD      H,(IX-25)\r
+    00001915 F6 80                 3626        OR      128\r
+    00001917 ED 42                 3627        SBC     HL,BC\r
+    00001919 E2 1D 19              3628        JP      PO,?0525\r
+    0000191C AC                    3629        XOR     H\r
+    0000191D                       3630 ?0525:\r
+    0000191D F2 8E 19              3631        JP      P,?0219\r
+    00001920                       3632 ?0221:\r
+    00001920 0E 00                 3633        LD      C,0\r
+    00001922 C5                    3634        PUSH    BC\r
+    00001923 0E 3D                 3635        LD      C,61\r
+    00001925 21 04 00              3636        LD      HL,4\r
+    00001928 DD 5E EA              3637        LD      E,(IX-22)\r
+    0000192B DD 56 EB              3638        LD      D,(IX-21)\r
+    0000192E 19                    3639        ADD     HL,DE\r
+    0000192F 5E                    3640        LD      E,(HL)\r
+    00001930 23                    3641        INC     HL\r
+    00001931 56                    3642        LD      D,(HL)\r
+    00001932 3E 9F                 3643        LD      A,BYTE3 dbReplaceChar\r
+    00001934 21 9F 02              3644        LD      HL,LWRD dbReplaceChar\r
+    00001937 CD 00 00              3645        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000193A F1                    3646        POP     AF\r
+    0000193B DD 75 FC              3647        LD      (IX-4),L\r
+    0000193E DD 74 FD              3648        LD      (IX-3),H\r
+    00001941 AF                    3649        XOR     A\r
+    00001942 DD 77 F4              3650        LD      (IX-12),A\r
+    00001945 DD 77 F5              3651        LD      (IX-11),A\r
+    00001948 DD 6E E6              3652        LD      L,(IX-26)\r
+    0000194B DD 66 E7              3653        LD      H,(IX-25)\r
+    0000194E 29                    3654        ADD     HL,HL\r
+    0000194F DD 4E EC              3655        LD      C,(IX-20)\r
+    00001952 DD 46 ED              3656        LD      B,(IX-19)\r
+    00001955 09                    3657        ADD     HL,BC\r
+    00001956 E5                    3658        PUSH    HL\r
+    00001957 21 10 00              3659        LD      HL,16\r
+    0000195A 39                    3660        ADD     HL,SP\r
+    0000195B 4D                    3661        LD      C,L\r
+    0000195C 44                    3662        LD      B,H\r
+    0000195D DD 5E FC              3663        LD      E,(IX-4)\r
+    00001960 DD 56 FD              3664        LD      D,(IX-3)\r
+    00001963 13                    3665        INC     DE\r
+    00001964 3E 5D                 3666        LD      A,BYTE3 dbParseExpression\r
+    00001966 21 5D 20              3667        LD      HL,LWRD dbParseExpression\r
+    00001969 CD 00 00              3668        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000196C 4D                    3669        LD      C,L\r
+    0000196D 44                    3670        LD      B,H\r
+    0000196E E1                    3671        POP     HL\r
+    0000196F 71                    3672        LD      (HL),C\r
+    00001970 23                    3673        INC     HL\r
+    00001971 70                    3674        LD      (HL),B\r
+    00001972 DD 6E EA              3675        LD      L,(IX-22)\r
+    00001975 DD 66 EB              3676        LD      H,(IX-21)\r
+    00001978 23                    3677        INC     HL\r
+    00001979 23                    3678        INC     HL\r
+    0000197A 46                    3679        LD      B,(HL)\r
+    0000197B DD 70 EA              3680        LD      (IX-22),B\r
+    0000197E 23                    3681        INC     HL\r
+    0000197F 66                    3682        LD      H,(HL)\r
+    00001980 DD 74 EB              3683        LD      (IX-21),H\r
+    00001983 DD 34 E6              3684        INC     (IX-26)\r
+    00001986 20 81                 3685        JR      NZ,?0220\r
+    00001988 DD 34 E7              3686        INC     (IX-25)\r
+    0000198B C3 09 19              3687        JP      LWRD ?0220\r
+    0000198E                       3688 ?0219:\r
+    0000198E AF                    3689        XOR     A\r
+    0000198F DD 77 EE              3690        LD      (IX-18),A\r
+    00001992 DD 77 EF              3691        LD      (IX-17),A\r
+    00001995                       3692 ?0224:\r
+    00001995 FD 4E 04              3693        LD      C,(IY+4)\r
+    00001998 FD 46 05              3694        LD      B,(IY+5)\r
+    0000199B DD 6E EE              3695        LD      L,(IX-18)\r
+    0000199E DD 66 EF              3696        LD      H,(IX-17)\r
+    000019A1 F6 80                 3697        OR      128\r
+    000019A3 ED 42                 3698        SBC     HL,BC\r
+    000019A5 E2 A9 19              3699        JP      PO,?0527\r
+    000019A8 AC                    3700        XOR     H\r
+    000019A9                       3701 ?0527:\r
+    000019A9 F2 B3 1B              3702        JP      P,?0223\r
+    000019AC                       3703 ?0225:\r
+    000019AC FD 6E 08              3704        LD      L,(IY+8)\r
+    000019AF FD 66 09              3705        LD      H,(IY+9)\r
+    000019B2 E5                    3706        PUSH    HL\r
+    000019B3 21 01 00              3707        LD      HL,1\r
+    000019B6 E5                    3708        PUSH    HL\r
+    000019B7 DD 4E F2              3709        LD      C,(IX-14)\r
+    000019BA DD 46 F3              3710        LD      B,(IX-13)\r
+    000019BD 2E 04                 3711        LD      L,4\r
+    000019BF DD 5E E8              3712        LD      E,(IX-24)\r
+    000019C2 DD 56 E9              3713        LD      D,(IX-23)\r
+    000019C5 19                    3714        ADD     HL,DE\r
+    000019C6 5E                    3715        LD      E,(HL)\r
+    000019C7 23                    3716        INC     HL\r
+    000019C8 56                    3717        LD      D,(HL)\r
+    000019C9 3E 00                 3718        LD      A,BYTE3 fread\r
+    000019CB 21 00 00              3719        LD      HL,LWRD fread\r
+    000019CE CD 00 00              3720        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000019D1 F1                    3721        POP     AF\r
+    000019D2 F1                    3722        POP     AF\r
+    000019D3 DD 6E FA              3723        LD      L,(IX-6)\r
+    000019D6 DD 66 FB              3724        LD      H,(IX-5)\r
+    000019D9 46                    3725        LD      B,(HL)\r
+    000019DA 05                    3726        DEC     B\r
+    000019DB C2 A7 1B              3727        JP      NZ,?0230\r
+    000019DE                       3728 ?0227:\r
+    000019DE DD 4E E8              3729        LD      C,(IX-24)\r
+    000019E1 DD 46 E9              3730        LD      B,(IX-23)\r
+    000019E4 CD 37 12              3731        CALL    LWRD ?0663\r
+    000019E7 C2 A7 1B              3732        JP      NZ,?0230\r
+    000019EA                       3733 ?0229:\r
+    000019EA 21 01 00              3734        LD      HL,1\r
+    000019ED E5                    3735        PUSH    HL\r
+    000019EE DD 4E F2              3736        LD      C,(IX-14)\r
+    000019F1 DD 46 F3              3737        LD      B,(IX-13)\r
+    000019F4 2B                    3738        DEC     HL\r
+    000019F5 ED 42                 3739        SBC     HL,BC\r
+    000019F7 7C                    3740        LD      A,H\r
+    000019F8 07                    3741        RLCA\r
+    000019F9 9F                    3742        SBC     A,A\r
+    000019FA 4F                    3743        LD      C,A\r
+    000019FB 41                    3744        LD      B,C\r
+    000019FC C5                    3745        PUSH    BC\r
+    000019FD E5                    3746        PUSH    HL\r
+    000019FE CD 54 16              3747        CALL    LWRD ?0665\r
+    00001A01 F1                    3748        POP     AF\r
+    00001A02 F1                    3749        POP     AF\r
+    00001A03 F1                    3750        POP     AF\r
+    00001A04 AF                    3751        XOR     A\r
+    00001A05 DD 77 E6              3752        LD      (IX-26),A\r
+    00001A08 DD 77 E7              3753        LD      (IX-25),A\r
+    00001A0B                       3754 ?0232:\r
+    00001A0B DD 4E F0              3755        LD      C,(IX-16)\r
+    00001A0E DD 46 F1              3756        LD      B,(IX-15)\r
+    00001A11 DD 6E E6              3757        LD      L,(IX-26)\r
+    00001A14 DD 66 E7              3758        LD      H,(IX-25)\r
+    00001A17 F6 80                 3759        OR      128\r
+    00001A19 ED 42                 3760        SBC     HL,BC\r
+    00001A1B E2 1F 1A              3761        JP      PO,?0528\r
+    00001A1E AC                    3762        XOR     H\r
+    00001A1F                       3763 ?0528:\r
+    00001A1F F2 4B 1A              3764        JP      P,?0231\r
+    00001A22                       3765 ?0233:\r
+    00001A22 DD 4E E8              3766        LD      C,(IX-24)\r
+    00001A25 DD 46 E9              3767        LD      B,(IX-23)\r
+    00001A28 DD 6E E6              3768        LD      L,(IX-26)\r
+    00001A2B DD 66 E7              3769        LD      H,(IX-25)\r
+    00001A2E 29                    3770        ADD     HL,HL\r
+    00001A2F DD 5E EC              3771        LD      E,(IX-20)\r
+    00001A32 DD 56 ED              3772        LD      D,(IX-19)\r
+    00001A35 19                    3773        ADD     HL,DE\r
+    00001A36 5E                    3774        LD      E,(HL)\r
+    00001A37 23                    3775        INC     HL\r
+    00001A38 56                    3776        LD      D,(HL)\r
+    00001A39 3E C0                 3777        LD      A,BYTE3 dbEvaluateExpression\r
+    00001A3B 21 C0 24              3778        LD      HL,LWRD dbEvaluateExpression\r
+    00001A3E CD 00 00              3779        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001A41 DD 34 E6              3780        INC     (IX-26)\r
+    00001A44 20 C5                 3781        JR      NZ,?0232\r
+    00001A46 DD 34 E7              3782        INC     (IX-25)\r
+    00001A49 18 C0                 3783        JR      ?0232\r
+    00001A4B                       3784 ?0231:\r
+    00001A4B DD 6E FE              3785        LD      L,(IX-2)\r
+    00001A4E DD 66 FF              3786        LD      H,(IX-1)\r
+    00001A51 23                    3787        INC     HL\r
+    00001A52 46                    3788        LD      B,(HL)\r
+    00001A53 DD 70 EA              3789        LD      (IX-22),B\r
+    00001A56 23                    3790        INC     HL\r
+    00001A57 66                    3791        LD      H,(HL)\r
+    00001A58 DD 74 EB              3792        LD      (IX-21),H\r
+    00001A5B AF                    3793        XOR     A\r
+    00001A5C DD 77 E6              3794        LD      (IX-26),A\r
+    00001A5F DD 77 E7              3795        LD      (IX-25),A\r
+    00001A62                       3796 ?0236:\r
+    00001A62 DD 4E F0              3797        LD      C,(IX-16)\r
+    00001A65 DD 46 F1              3798        LD      B,(IX-15)\r
+    00001A68 DD 6E E6              3799        LD      L,(IX-26)\r
+    00001A6B DD 66 E7              3800        LD      H,(IX-25)\r
+    00001A6E F6 80                 3801        OR      128\r
+    00001A70 ED 42                 3802        SBC     HL,BC\r
+    00001A72 E2 76 1A              3803        JP      PO,?0530\r
+    00001A75 AC                    3804        XOR     H\r
+    00001A76                       3805 ?0530:\r
+    00001A76 F2 73 1B              3806        JP      P,?0235\r
+    00001A79                       3807 ?0237:\r
+    00001A79 21 04 00              3808        LD      HL,4\r
+    00001A7C DD 4E EA              3809        LD      C,(IX-22)\r
+    00001A7F DD 46 EB              3810        LD      B,(IX-21)\r
+    00001A82 09                    3811        ADD     HL,BC\r
+    00001A83 4E                    3812        LD      C,(HL)\r
+    00001A84 23                    3813        INC     HL\r
+    00001A85 46                    3814        LD      B,(HL)\r
+    00001A86 FD E5                 3815        PUSH    IY\r
+    00001A88 D1                    3816        POP     DE\r
+    00001A89 3E 4E                 3817        LD      A,BYTE3 dbFieldSearch\r
+    00001A8B 21 4E 0C              3818        LD      HL,LWRD dbFieldSearch\r
+    00001A8E CD 00 00              3819        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001A91 DD 75 F6              3820        LD      (IX-10),L\r
+    00001A94 DD 74 F7              3821        LD      (IX-9),H\r
+    00001A97 4D                    3822        LD      C,L\r
+    00001A98 44                    3823        LD      B,H\r
+    00001A99 FD E5                 3824        PUSH    IY\r
+    00001A9B D1                    3825        POP     DE\r
+    00001A9C 3E DD                 3826        LD      A,BYTE3 dbFieldOffset\r
+    00001A9E 21 DD 0B              3827        LD      HL,LWRD dbFieldOffset\r
+    00001AA1 CD 00 00              3828        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001AA4 DD 75 F4              3829        LD      (IX-12),L\r
+    00001AA7 DD 74 F5              3830        LD      (IX-11),H\r
+    00001AAA FD 6E 02              3831        LD      L,(IY+2)\r
+    00001AAD FD 66 03              3832        LD      H,(IY+3)\r
+    00001AB0 E5                    3833        PUSH    HL\r
+    00001AB1 DD 6E F6              3834        LD      L,(IX-10)\r
+    00001AB4 DD 66 F7              3835        LD      H,(IX-9)\r
+    00001AB7 29                    3836        ADD     HL,HL\r
+    00001AB8 29                    3837        ADD     HL,HL\r
+    00001AB9 4D                    3838        LD      C,L\r
+    00001ABA 44                    3839        LD      B,H\r
+    00001ABB 29                    3840        ADD     HL,HL\r
+    00001ABC 09                    3841        ADD     HL,BC\r
+    00001ABD 4D                    3842        LD      C,L\r
+    00001ABE 44                    3843        LD      B,H\r
+    00001ABF E1                    3844        POP     HL\r
+    00001AC0 09                    3845        ADD     HL,BC\r
+    00001AC1 01 09 00              3846        LD      BC,9\r
+    00001AC4 09                    3847        ADD     HL,BC\r
+    00001AC5 7E                    3848        LD      A,(HL)\r
+    00001AC6 FE 53                 3849        CP      83\r
+    00001AC8 20 34                 3850        JR      NZ,?0241\r
+    00001ACA                       3851 ?0240:\r
+    00001ACA FD 6E 02              3852        LD      L,(IY+2)\r
+    00001ACD FD 66 03              3853        LD      H,(IY+3)\r
+    00001AD0 E5                    3854        PUSH    HL\r
+    00001AD1 DD 6E F6              3855        LD      L,(IX-10)\r
+    00001AD4 DD 66 F7              3856        LD      H,(IX-9)\r
+    00001AD7 29                    3857        ADD     HL,HL\r
+    00001AD8 29                    3858        ADD     HL,HL\r
+    00001AD9 4D                    3859        LD      C,L\r
+    00001ADA 44                    3860        LD      B,H\r
+    00001ADB 29                    3861        ADD     HL,HL\r
+    00001ADC 09                    3862        ADD     HL,BC\r
+    00001ADD 4D                    3863        LD      C,L\r
+    00001ADE 44                    3864        LD      B,H\r
+    00001ADF E1                    3865        POP     HL\r
+    00001AE0 09                    3866        ADD     HL,BC\r
+    00001AE1 01 0A 00              3867        LD      BC,10\r
+    00001AE4 09                    3868        ADD     HL,BC\r
+    00001AE5 4E                    3869        LD      C,(HL)\r
+    00001AE6 C5                    3870        PUSH    BC\r
+    00001AE7 DD 6E E6              3871        LD      L,(IX-26)\r
+    00001AEA DD 66 E7              3872        LD      H,(IX-25)\r
+    00001AED 29                    3873        ADD     HL,HL\r
+    00001AEE DD 4E EC              3874        LD      C,(IX-20)\r
+    00001AF1 DD 46 ED              3875        LD      B,(IX-19)\r
+    00001AF4 09                    3876        ADD     HL,BC\r
+    00001AF5 46                    3877        LD      B,(HL)\r
+    00001AF6 23                    3878        INC     HL\r
+    00001AF7 66                    3879        LD      H,(HL)\r
+    00001AF8 68                    3880        LD      L,B\r
+    00001AF9 01 28 00              3881        LD      BC,40\r
+    00001AFC 18 36                 3882        JR      ?0536\r
+    00001AFE                       3883 ?0241:\r
+    00001AFE FE 49                 3884        CP      73\r
+    00001B00 20 54                 3885        JR      NZ,?0239\r
+    00001B02 FD 6E 02              3886        LD      L,(IY+2)\r
+    00001B05 FD 66 03              3887        LD      H,(IY+3)\r
+    00001B08 E5                    3888        PUSH    HL\r
+    00001B09 DD 6E F6              3889        LD      L,(IX-10)\r
+    00001B0C DD 66 F7              3890        LD      H,(IX-9)\r
+    00001B0F 29                    3891        ADD     HL,HL\r
+    00001B10 29                    3892        ADD     HL,HL\r
+    00001B11 4D                    3893        LD      C,L\r
+    00001B12 44                    3894        LD      B,H\r
+    00001B13 29                    3895        ADD     HL,HL\r
+    00001B14 09                    3896        ADD     HL,BC\r
+    00001B15 4D                    3897        LD      C,L\r
+    00001B16 44                    3898        LD      B,H\r
+    00001B17 E1                    3899        POP     HL\r
+    00001B18 09                    3900        ADD     HL,BC\r
+    00001B19 01 0A 00              3901        LD      BC,10\r
+    00001B1C 09                    3902        ADD     HL,BC\r
+    00001B1D 4E                    3903        LD      C,(HL)\r
+    00001B1E C5                    3904        PUSH    BC\r
+    00001B1F DD 6E E6              3905        LD      L,(IX-26)\r
+    00001B22 DD 66 E7              3906        LD      H,(IX-25)\r
+    00001B25 29                    3907        ADD     HL,HL\r
+    00001B26 DD 4E EC              3908        LD      C,(IX-20)\r
+    00001B29 DD 46 ED              3909        LD      B,(IX-19)\r
+    00001B2C 09                    3910        ADD     HL,BC\r
+    00001B2D 46                    3911        LD      B,(HL)\r
+    00001B2E 23                    3912        INC     HL\r
+    00001B2F 66                    3913        LD      H,(HL)\r
+    00001B30 68                    3914        LD      L,B\r
+    00001B31 01 24 00              3915        LD      BC,36\r
+    00001B34                       3916 ?0536:\r
+    00001B34 09                    3917        ADD     HL,BC\r
+    00001B35 4D                    3918        LD      C,L\r
+    00001B36 44                    3919        LD      B,H\r
+    00001B37 21 04 00              3920        LD      HL,4\r
+    00001B3A DD 5E E8              3921        LD      E,(IX-24)\r
+    00001B3D DD 56 E9              3922        LD      D,(IX-23)\r
+    00001B40 19                    3923        ADD     HL,DE\r
+    00001B41 56                    3924        LD      D,(HL)\r
+    00001B42 23                    3925        INC     HL\r
+    00001B43 66                    3926        LD      H,(HL)\r
+    00001B44 6A                    3927        LD      L,D\r
+    00001B45 DD 5E F4              3928        LD      E,(IX-12)\r
+    00001B48 DD 56 F5              3929        LD      D,(IX-11)\r
+    00001B4B 19                    3930        ADD     HL,DE\r
+    00001B4C EB                    3931        EX      DE,HL\r
+    00001B4D 3E 00                 3932        LD      A,BYTE3 memcpy\r
+    00001B4F 21 00 00              3933        LD      HL,LWRD memcpy\r
+    00001B52 CD 00 00              3934        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001B55 F1                    3935        POP     AF\r
+    00001B56                       3936 ?0239:\r
+    00001B56 DD 6E EA              3937        LD      L,(IX-22)\r
+    00001B59 DD 66 EB              3938        LD      H,(IX-21)\r
+    00001B5C 23                    3939        INC     HL\r
+    00001B5D 23                    3940        INC     HL\r
+    00001B5E 46                    3941        LD      B,(HL)\r
+    00001B5F DD 70 EA              3942        LD      (IX-22),B\r
+    00001B62 23                    3943        INC     HL\r
+    00001B63 66                    3944        LD      H,(HL)\r
+    00001B64 DD 74 EB              3945        LD      (IX-21),H\r
+    00001B67 DD 34 E6              3946        INC     (IX-26)\r
+    00001B6A C2 62 1A              3947        JP      NZ,?0236\r
+    00001B6D DD 34 E7              3948        INC     (IX-25)\r
+    00001B70 C3 62 1A              3949        JP      LWRD ?0236\r
+    00001B73                       3950 ?0235:\r
+    00001B73 FD 6E 08              3951        LD      L,(IY+8)\r
+    00001B76 FD 66 09              3952        LD      H,(IY+9)\r
+    00001B79 E5                    3953        PUSH    HL\r
+    00001B7A 21 01 00              3954        LD      HL,1\r
+    00001B7D E5                    3955        PUSH    HL\r
+    00001B7E DD 4E F2              3956        LD      C,(IX-14)\r
+    00001B81 DD 46 F3              3957        LD      B,(IX-13)\r
+    00001B84 2E 04                 3958        LD      L,4\r
+    00001B86 DD 5E E8              3959        LD      E,(IX-24)\r
+    00001B89 DD 56 E9              3960        LD      D,(IX-23)\r
+    00001B8C 19                    3961        ADD     HL,DE\r
+    00001B8D 5E                    3962        LD      E,(HL)\r
+    00001B8E 23                    3963        INC     HL\r
+    00001B8F 56                    3964        LD      D,(HL)\r
+    00001B90 3E 00                 3965        LD      A,BYTE3 fwrite\r
+    00001B92 21 00 00              3966        LD      HL,LWRD fwrite\r
+    00001B95 CD 00 00              3967        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001B98 F1                    3968        POP     AF\r
+    00001B99 F1                    3969        POP     AF\r
+    00001B9A 21 01 00              3970        LD      HL,1\r
+    00001B9D E5                    3971        PUSH    HL\r
+    00001B9E 2B                    3972        DEC     HL\r
+    00001B9F E5                    3973        PUSH    HL\r
+    00001BA0 E5                    3974        PUSH    HL\r
+    00001BA1 CD 54 16              3975        CALL    LWRD ?0665\r
+    00001BA4 F1                    3976        POP     AF\r
+    00001BA5 F1                    3977        POP     AF\r
+    00001BA6 F1                    3978        POP     AF\r
+    00001BA7                       3979 ?0230:\r
+    00001BA7                       3980 ?0228:\r
+    00001BA7 DD 34 EE              3981        INC     (IX-18)\r
+    00001BAA C2 95 19              3982        JP      NZ,?0224\r
+    00001BAD DD 34 EF              3983        INC     (IX-17)\r
+    00001BB0 C3 95 19              3984        JP      LWRD ?0224\r
+    00001BB3                       3985 ?0223:\r
+    00001BB3 DD 5E E8              3986        LD      E,(IX-24)\r
+    00001BB6 DD 56 E9              3987        LD      D,(IX-23)\r
+    00001BB9 3E 25                 3988        LD      A,BYTE3 dbDeleteRow\r
+    00001BBB 21 25 1D              3989        LD      HL,LWRD dbDeleteRow\r
+    00001BBE CD 00 00              3990        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001BC1 AF                    3991        XOR     A\r
+    00001BC2 DD 77 E6              3992        LD      (IX-26),A\r
+    00001BC5 DD 77 E7              3993        LD      (IX-25),A\r
+    00001BC8                       3994 ?0243:\r
+    00001BC8 DD 4E F0              3995        LD      C,(IX-16)\r
+    00001BCB DD 46 F1              3996        LD      B,(IX-15)\r
+    00001BCE DD 6E E6              3997        LD      L,(IX-26)\r
+    00001BD1 DD 66 E7              3998        LD      H,(IX-25)\r
+    00001BD4 F6 80                 3999        OR      128\r
+    00001BD6 ED 42                 4000        SBC     HL,BC\r
+    00001BD8 E2 DC 1B              4001        JP      PO,?0533\r
+    00001BDB AC                    4002        XOR     H\r
+    00001BDC                       4003 ?0533:\r
+    00001BDC F2 02 1C              4004        JP      P,?0242\r
+    00001BDF                       4005 ?0244:\r
+    00001BDF DD 6E E6              4006        LD      L,(IX-26)\r
+    00001BE2 DD 66 E7              4007        LD      H,(IX-25)\r
+    00001BE5 29                    4008        ADD     HL,HL\r
+    00001BE6 DD 4E EC              4009        LD      C,(IX-20)\r
+    00001BE9 DD 46 ED              4010        LD      B,(IX-19)\r
+    00001BEC 09                    4011        ADD     HL,BC\r
+    00001BED 5E                    4012        LD      E,(HL)\r
+    00001BEE 23                    4013        INC     HL\r
+    00001BEF 56                    4014        LD      D,(HL)\r
+    00001BF0 3E 97                 4015        LD      A,BYTE3 dbDeleteExpression\r
+    00001BF2 21 97 24              4016        LD      HL,LWRD dbDeleteExpression\r
+    00001BF5 CD 00 00              4017        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001BF8 DD 34 E6              4018        INC     (IX-26)\r
+    00001BFB 20 CB                 4019        JR      NZ,?0243\r
+    00001BFD DD 34 E7              4020        INC     (IX-25)\r
+    00001C00 18 C6                 4021        JR      ?0243\r
+    00001C02                       4022 ?0242:\r
+    00001C02 DD 5E EC              4023        LD      E,(IX-20)\r
+    00001C05 DD 56 ED              4024        LD      D,(IX-19)\r
+    00001C08 CD 3B 00              4025        CALL    LWRD ?0639\r
+    00001C0B FD E5                 4026        PUSH    IY\r
+    00001C0D D1                    4027        POP     DE\r
+    00001C0E 3E 70                 4028        LD      A,BYTE3 dbTableClose\r
+    00001C10 21 70 0B              4029        LD      HL,LWRD dbTableClose\r
+    00001C13 CD 00 00              4030        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001C16 21 00 00              4031        LD      HL,0\r
+    00001C19 DD F9                 4032        LD      SP,IX\r
+    00001C1B C3 6B 00              4033        JP      LWRD ?0614\r
+    00001C1E                       4034 dbExecuteStatement:\r
+    00001C1E FD E5                 4035        PUSH    IY\r
+    00001C20 DD E5                 4036        PUSH    IX\r
+    00001C22 D5                    4037        PUSH    DE\r
+    00001C23 FD 21 00 00           4038        LD      IY,0\r
+    00001C27 3E B5                 4039        LD      A,BYTE3 dbParseStatement\r
+    00001C29 21 B5 04              4040        LD      HL,LWRD dbParseStatement\r
+    00001C2C CD 00 00              4041        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001C2F E5                    4042        PUSH    HL\r
+    00001C30 DD E1                 4043        POP     IX\r
+    00001C32 7D                    4044        LD      A,L\r
+    00001C33 B4                    4045        OR      H\r
+    00001C34 20 04                 4046        JR      NZ,?0247\r
+    00001C36                       4047 ?0246:\r
+    00001C36 6F                    4048        LD      L,A\r
+    00001C37 67                    4049        LD      H,A\r
+    00001C38 18 4D                 4050        JR      ?0253\r
+    00001C3A                       4051 ?0247:\r
+    00001C3A DD 7E 00              4052        LD      A,(IX+0)\r
+    00001C3D FE 73                 4053        CP      115\r
+    00001C3F 20 0A                 4054        JR      NZ,?0250\r
+    00001C41                       4055 ?0249:\r
+    00001C41 DD E5                 4056        PUSH    IX\r
+    00001C43 D1                    4057        POP     DE\r
+    00001C44 3E A4                 4058        LD      A,BYTE3 dbExecuteQuery\r
+    00001C46 21 A4 0C              4059        LD      HL,LWRD dbExecuteQuery\r
+    00001C49 18 28                 4060        JR      ?0545\r
+    00001C4B                       4061 ?0250:\r
+    00001C4B FE 69                 4062        CP      105\r
+    00001C4D 20 0A                 4063        JR      NZ,?0251\r
+    00001C4F DD E5                 4064        PUSH    IX\r
+    00001C51 D1                    4065        POP     DE\r
+    00001C52 3E 59                 4066        LD      A,BYTE3 dbExecuteInsert\r
+    00001C54 21 59 12              4067        LD      HL,LWRD dbExecuteInsert\r
+    00001C57 18 1A                 4068        JR      ?0545\r
+    00001C59                       4069 ?0251:\r
+    00001C59 FE 64                 4070        CP      100\r
+    00001C5B 20 0A                 4071        JR      NZ,?0252\r
+    00001C5D DD E5                 4072        PUSH    IX\r
+    00001C5F D1                    4073        POP     DE\r
+    00001C60 3E 62                 4074        LD      A,BYTE3 dbExecuteDelete\r
+    00001C62 21 62 16              4075        LD      HL,LWRD dbExecuteDelete\r
+    00001C65 18 0C                 4076        JR      ?0545\r
+    00001C67                       4077 ?0252:\r
+    00001C67 FE 75                 4078        CP      117\r
+    00001C69 20 0E                 4079        JR      NZ,?0248\r
+    00001C6B DD E5                 4080        PUSH    IX\r
+    00001C6D D1                    4081        POP     DE\r
+    00001C6E 3E 5E                 4082        LD      A,BYTE3 dbExecuteUpdate\r
+    00001C70 21 5E 18              4083        LD      HL,LWRD dbExecuteUpdate\r
+    00001C73                       4084 ?0545:\r
+    00001C73 CD 00 00              4085        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001C76 E5                    4086        PUSH    HL\r
+    00001C77 FD E1                 4087        POP     IY\r
+    00001C79                       4088 ?0248:\r
+    00001C79 DD E5                 4089        PUSH    IX\r
+    00001C7B D1                    4090        POP     DE\r
+    00001C7C 3E 8E                 4091        LD      A,BYTE3 dbStatementClose\r
+    00001C7E 21 8E 0B              4092        LD      HL,LWRD dbStatementClose\r
+    00001C81 CD 00 00              4093        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001C84 FD E5                 4094        PUSH    IY\r
+    00001C86 E1                    4095        POP     HL\r
+    00001C87                       4096 ?0253:\r
+    00001C87 C3 E1 02              4097        JP      LWRD ?0626\r
+    00001C8A                       4098 dbNextRow:\r
+    00001C8A FD E5                 4099        PUSH    IY\r
+    00001C8C DD E5                 4100        PUSH    IX\r
+    00001C8E F5                    4101        PUSH    AF\r
+    00001C8F C5                    4102        PUSH    BC\r
+    00001C90 DD E1                 4103        POP     IX\r
+    00001C92 D5                    4104        PUSH    DE\r
+    00001C93 FD E1                 4105        POP     IY\r
+    00001C95 21 00 00              4106        LD      HL,0\r
+    00001C98 39                    4107        ADD     HL,SP\r
+    00001C99 E5                    4108        PUSH    HL\r
+    00001C9A 3E 32                 4109        LD      A,BYTE3 dbRecordSize\r
+    00001C9C 21 32 0C              4110        LD      HL,LWRD dbRecordSize\r
+    00001C9F CD 00 00              4111        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001CA2 EB                    4112        EX      DE,HL\r
+    00001CA3 E1                    4113        POP     HL\r
+    00001CA4 73                    4114        LD      (HL),E\r
+    00001CA5 23                    4115        INC     HL\r
+    00001CA6 72                    4116        LD      (HL),D\r
+    00001CA7 21 04 00              4117        LD      HL,4\r
+    00001CAA 09                    4118        ADD     HL,BC\r
+    00001CAB 7E                    4119        LD      A,(HL)\r
+    00001CAC 23                    4120        INC     HL\r
+    00001CAD B6                    4121        OR      (HL)\r
+    00001CAE 20 09                 4122        JR      NZ,?0255\r
+    00001CB0                       4123 ?0254:\r
+    00001CB0 CD 8F 04              4124        CALL    LWRD ?0641\r
+    00001CB3 DD 75 04              4125        LD      (IX+4),L\r
+    00001CB6 DD 74 05              4126        LD      (IX+5),H\r
+    00001CB9                       4127 ?0255:\r
+    00001CB9 FD 4E 04              4128        LD      C,(IY+4)\r
+    00001CBC FD 46 05              4129        LD      B,(IY+5)\r
+    00001CBF FD 6E 06              4130        LD      L,(IY+6)\r
+    00001CC2 FD 66 07              4131        LD      H,(IY+7)\r
+    00001CC5 F6 80                 4132        OR      128\r
+    00001CC7 ED 42                 4133        SBC     HL,BC\r
+    00001CC9 E2 CD 1C              4134        JP      PO,?0547\r
+    00001CCC AC                    4135        XOR     H\r
+    00001CCD                       4136 ?0547:\r
+    00001CCD FA E4 1C              4137        JP      M,?0257\r
+    00001CD0                       4138 ?0256:\r
+    00001CD0 DD 36 02 FF           4139        LD      (IX+2),255\r
+    00001CD4 DD 36 03 FF           4140        LD      (IX+3),255\r
+    00001CD8 CD 35 00              4141        CALL    LWRD ?0638\r
+    00001CDB AF                    4142        XOR     A\r
+    00001CDC DD 77 04              4143        LD      (IX+4),A\r
+    00001CDF DD 77 05              4144        LD      (IX+5),A\r
+    00001CE2 18 3E                 4145        JR      ?0258\r
+    00001CE4                       4146 ?0257:\r
+    00001CE4 FD 6E 06              4147        LD      L,(IY+6)\r
+    00001CE7 FD 66 07              4148        LD      H,(IY+7)\r
+    00001CEA 23                    4149        INC     HL\r
+    00001CEB FD 75 06              4150        LD      (IY+6),L\r
+    00001CEE FD 74 07              4151        LD      (IY+7),H\r
+    00001CF1 2B                    4152        DEC     HL\r
+    00001CF2 DD 75 02              4153        LD      (IX+2),L\r
+    00001CF5 DD 74 03              4154        LD      (IX+3),H\r
+    00001CF8 FD E5                 4155        PUSH    IY\r
+    00001CFA DD E5                 4156        PUSH    IX\r
+    00001CFC E1                    4157        POP     HL\r
+    00001CFD C1                    4158        POP     BC\r
+    00001CFE 71                    4159        LD      (HL),C\r
+    00001CFF 23                    4160        INC     HL\r
+    00001D00 70                    4161        LD      (HL),B\r
+    00001D01 FD 6E 08              4162        LD      L,(IY+8)\r
+    00001D04 FD 66 09              4163        LD      H,(IY+9)\r
+    00001D07 E5                    4164        PUSH    HL\r
+    00001D08 21 01 00              4165        LD      HL,1\r
+    00001D0B E5                    4166        PUSH    HL\r
+    00001D0C 2E 04                 4167        LD      L,4\r
+    00001D0E 39                    4168        ADD     HL,SP\r
+    00001D0F 4E                    4169        LD      C,(HL)\r
+    00001D10 23                    4170        INC     HL\r
+    00001D11 46                    4171        LD      B,(HL)\r
+    00001D12 DD 5E 04              4172        LD      E,(IX+4)\r
+    00001D15 DD 56 05              4173        LD      D,(IX+5)\r
+    00001D18 3E 00                 4174        LD      A,BYTE3 fread\r
+    00001D1A 21 00 00              4175        LD      HL,LWRD fread\r
+    00001D1D CD 00 00              4176        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001D20 F1                    4177        POP     AF\r
+    00001D21 F1                    4178        POP     AF\r
+    00001D22                       4179 ?0258:\r
+    00001D22 C3 01 01              4180        JP      LWRD ?0625\r
+    00001D25                       4181 dbDeleteRow:\r
+    00001D25 DD E5                 4182        PUSH    IX\r
+    00001D27 D5                    4183        PUSH    DE\r
+    00001D28 DD E1                 4184        POP     IX\r
+    00001D2A 7B                    4185        LD      A,E\r
+    00001D2B B2                    4186        OR      D\r
+    00001D2C 28 11                 4187        JR      Z,?0260\r
+    00001D2E                       4188 ?0259:\r
+    00001D2E DD 7E 04              4189        LD      A,(IX+4)\r
+    00001D31 DD B6 05              4190        OR      (IX+5)\r
+    00001D34 28 03                 4191        JR      Z,?0262\r
+    00001D36                       4192 ?0261:\r
+    00001D36 CD 35 00              4193        CALL    LWRD ?0638\r
+    00001D39                       4194 ?0262:\r
+    00001D39 DD E5                 4195        PUSH    IX\r
+    00001D3B D1                    4196        POP     DE\r
+    00001D3C CD 3B 00              4197        CALL    LWRD ?0639\r
+    00001D3F                       4198 ?0260:\r
+    00001D3F DD E1                 4199        POP     IX\r
+    00001D41 C3 00 00              4200        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00001D44                       4201 dbNewRow:\r
+    00001D44 C5                    4202        PUSH    BC\r
+    00001D45 D5                    4203        PUSH    DE\r
+    00001D46 DD E5                 4204        PUSH    IX\r
+    00001D48 11 06 00              4205        LD      DE,6\r
+    00001D4B CD 8F 04              4206        CALL    LWRD ?0641\r
+    00001D4E E5                    4207        PUSH    HL\r
+    00001D4F DD E1                 4208        POP     IX\r
+    00001D51 01 04 00              4209        LD      BC,4\r
+    00001D54 09                    4210        ADD     HL,BC\r
+    00001D55 AF                    4211        XOR     A\r
+    00001D56 77                    4212        LD      (HL),A\r
+    00001D57 23                    4213        INC     HL\r
+    00001D58 77                    4214        LD      (HL),A\r
+    00001D59 DD E5                 4215        PUSH    IX\r
+    00001D5B E1                    4216        POP     HL\r
+    00001D5C 77                    4217        LD      (HL),A\r
+    00001D5D 23                    4218        INC     HL\r
+    00001D5E 77                    4219        LD      (HL),A\r
+    00001D5F DD 36 02 FF           4220        LD      (IX+2),255\r
+    00001D63 DD 36 03 FF           4221        LD      (IX+3),255\r
+    00001D67 DD E5                 4222        PUSH    IX\r
+    00001D69 E1                    4223        POP     HL\r
+    00001D6A DD E1                 4224        POP     IX\r
+    00001D6C D1                    4225        POP     DE\r
+    00001D6D C1                    4226        POP     BC\r
+    00001D6E C3 00 00              4227        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00001D71                       4228 dbGetString:\r
+    00001D71 FD E5                 4229        PUSH    IY\r
+    00001D73 DD E5                 4230        PUSH    IX\r
+    00001D75 DD 21 00 00           4231        LD      IX,0\r
+    00001D79 DD 39                 4232        ADD     IX,SP\r
+    00001D7B C5                    4233        PUSH    BC\r
+    00001D7C F5                    4234        PUSH    AF\r
+    00001D7D F5                    4235        PUSH    AF\r
+    00001D7E F5                    4236        PUSH    AF\r
+    00001D7F D5                    4237        PUSH    DE\r
+    00001D80 FD E1                 4238        POP     IY\r
+    00001D82 21 04 00              4239        LD      HL,4\r
+    00001D85 19                    4240        ADD     HL,DE\r
+    00001D86 7E                    4241        LD      A,(HL)\r
+    00001D87 DD 77 F8              4242        LD      (IX-8),A\r
+    00001D8A 23                    4243        INC     HL\r
+    00001D8B 66                    4244        LD      H,(HL)\r
+    00001D8C DD 74 F9              4245        LD      (IX-7),H\r
+    00001D8F EB                    4246        EX      DE,HL\r
+    00001D90 5E                    4247        LD      E,(HL)\r
+    00001D91 23                    4248        INC     HL\r
+    00001D92 56                    4249        LD      D,(HL)\r
+    00001D93 3E DD                 4250        LD      A,BYTE3 dbFieldOffset\r
+    00001D95 21 DD 0B              4251        LD      HL,LWRD dbFieldOffset\r
+    00001D98 CD 00 00              4252        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001D9B DD 75 FA              4253        LD      (IX-6),L\r
+    00001D9E DD 74 FB              4254        LD      (IX-5),H\r
+    00001DA1 FD 6E 00              4255        LD      L,(IY+0)\r
+    00001DA4 FD 66 01              4256        LD      H,(IY+1)\r
+    00001DA7 23                    4257        INC     HL\r
+    00001DA8 23                    4258        INC     HL\r
+    00001DA9 46                    4259        LD      B,(HL)\r
+    00001DAA 23                    4260        INC     HL\r
+    00001DAB 66                    4261        LD      H,(HL)\r
+    00001DAC 68                    4262        LD      L,B\r
+    00001DAD E5                    4263        PUSH    HL\r
+    00001DAE DD 6E FE              4264        LD      L,(IX-2)\r
+    00001DB1 DD 66 FF              4265        LD      H,(IX-1)\r
+    00001DB4 29                    4266        ADD     HL,HL\r
+    00001DB5 29                    4267        ADD     HL,HL\r
+    00001DB6 4D                    4268        LD      C,L\r
+    00001DB7 44                    4269        LD      B,H\r
+    00001DB8 29                    4270        ADD     HL,HL\r
+    00001DB9 09                    4271        ADD     HL,BC\r
+    00001DBA 4D                    4272        LD      C,L\r
+    00001DBB 44                    4273        LD      B,H\r
+    00001DBC E1                    4274        POP     HL\r
+    00001DBD 09                    4275        ADD     HL,BC\r
+    00001DBE 01 09 00              4276        LD      BC,9\r
+    00001DC1 09                    4277        ADD     HL,BC\r
+    00001DC2 7E                    4278        LD      A,(HL)\r
+    00001DC3 FE 53                 4279        CP      83\r
+    00001DC5 20 1B                 4280        JR      NZ,?0265\r
+    00001DC7                       4281 ?0264:\r
+    00001DC7 DD 6E FA              4282        LD      L,(IX-6)\r
+    00001DCA DD 66 FB              4283        LD      H,(IX-5)\r
+    00001DCD DD 4E F8              4284        LD      C,(IX-8)\r
+    00001DD0 DD 46 F9              4285        LD      B,(IX-7)\r
+    00001DD3 09                    4286        ADD     HL,BC\r
+    00001DD4 4D                    4287        LD      C,L\r
+    00001DD5 44                    4288        LD      B,H\r
+    00001DD6 DD 5E 08              4289        LD      E,(IX+8)\r
+    00001DD9 DD 56 09              4290        LD      D,(IX+9)\r
+    00001DDC CD AD 04              4291        CALL    LWRD ?0651\r
+    00001DDF C3 7A 1E              4292        JP      LWRD ?0270\r
+    00001DE2                       4293 ?0265:\r
+    00001DE2 FE 49                 4294        CP      73\r
+    00001DE4 C2 7A 1E              4295        JP      NZ,?0270\r
+    00001DE7 FD 6E 00              4296        LD      L,(IY+0)\r
+    00001DEA FD 66 01              4297        LD      H,(IY+1)\r
+    00001DED 23                    4298        INC     HL\r
+    00001DEE 23                    4299        INC     HL\r
+    00001DEF 46                    4300        LD      B,(HL)\r
+    00001DF0 23                    4301        INC     HL\r
+    00001DF1 66                    4302        LD      H,(HL)\r
+    00001DF2 68                    4303        LD      L,B\r
+    00001DF3 E5                    4304        PUSH    HL\r
+    00001DF4 DD 6E FE              4305        LD      L,(IX-2)\r
+    00001DF7 DD 66 FF              4306        LD      H,(IX-1)\r
+    00001DFA 29                    4307        ADD     HL,HL\r
+    00001DFB 29                    4308        ADD     HL,HL\r
+    00001DFC 4D                    4309        LD      C,L\r
+    00001DFD 44                    4310        LD      B,H\r
+    00001DFE 29                    4311        ADD     HL,HL\r
+    00001DFF 09                    4312        ADD     HL,BC\r
+    00001E00 4D                    4313        LD      C,L\r
+    00001E01 44                    4314        LD      B,H\r
+    00001E02 E1                    4315        POP     HL\r
+    00001E03 09                    4316        ADD     HL,BC\r
+    00001E04 01 0A 00              4317        LD      BC,10\r
+    00001E07 09                    4318        ADD     HL,BC\r
+    00001E08 46                    4319        LD      B,(HL)\r
+    00001E09 05                    4320        DEC     B\r
+    00001E0A 05                    4321        DEC     B\r
+    00001E0B 20 21                 4322        JR      NZ,?0267\r
+    00001E0D                       4323 ?0266:\r
+    00001E0D C5                    4324        PUSH    BC\r
+    00001E0E DD 4E 08              4325        LD      C,(IX+8)\r
+    00001E11 DD 46 09              4326        LD      B,(IX+9)\r
+    00001E14 DD 6E FA              4327        LD      L,(IX-6)\r
+    00001E17 DD 66 FB              4328        LD      H,(IX-5)\r
+    00001E1A DD 5E F8              4329        LD      E,(IX-8)\r
+    00001E1D DD 56 F9              4330        LD      D,(IX-7)\r
+    00001E20 19                    4331        ADD     HL,DE\r
+    00001E21 5E                    4332        LD      E,(HL)\r
+    00001E22 23                    4333        INC     HL\r
+    00001E23 56                    4334        LD      D,(HL)\r
+    00001E24 3E 00                 4335        LD      A,BYTE3 itoa\r
+    00001E26 21 00 00              4336        LD      HL,LWRD itoa\r
+    00001E29 CD 00 00              4337        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001E2C 18 4B                 4338        JR      ?0548\r
+    00001E2E                       4339 ?0267:\r
+    00001E2E FD 6E 00              4340        LD      L,(IY+0)\r
+    00001E31 FD 66 01              4341        LD      H,(IY+1)\r
+    00001E34 23                    4342        INC     HL\r
+    00001E35 23                    4343        INC     HL\r
+    00001E36 46                    4344        LD      B,(HL)\r
+    00001E37 23                    4345        INC     HL\r
+    00001E38 66                    4346        LD      H,(HL)\r
+    00001E39 68                    4347        LD      L,B\r
+    00001E3A E5                    4348        PUSH    HL\r
+    00001E3B DD 6E FE              4349        LD      L,(IX-2)\r
+    00001E3E DD 66 FF              4350        LD      H,(IX-1)\r
+    00001E41 29                    4351        ADD     HL,HL\r
+    00001E42 29                    4352        ADD     HL,HL\r
+    00001E43 4D                    4353        LD      C,L\r
+    00001E44 44                    4354        LD      B,H\r
+    00001E45 29                    4355        ADD     HL,HL\r
+    00001E46 09                    4356        ADD     HL,BC\r
+    00001E47 4D                    4357        LD      C,L\r
+    00001E48 44                    4358        LD      B,H\r
+    00001E49 E1                    4359        POP     HL\r
+    00001E4A 09                    4360        ADD     HL,BC\r
+    00001E4B 01 0A 00              4361        LD      BC,10\r
+    00001E4E 09                    4362        ADD     HL,BC\r
+    00001E4F 7E                    4363        LD      A,(HL)\r
+    00001E50 FE 04                 4364        CP      4\r
+    00001E52 20 26                 4365        JR      NZ,?0270\r
+    00001E54                       4366 ?0269:\r
+    00001E54 C5                    4367        PUSH    BC\r
+    00001E55 DD 6E 08              4368        LD      L,(IX+8)\r
+    00001E58 DD 66 09              4369        LD      H,(IX+9)\r
+    00001E5B E5                    4370        PUSH    HL\r
+    00001E5C DD 6E FA              4371        LD      L,(IX-6)\r
+    00001E5F DD 66 FB              4372        LD      H,(IX-5)\r
+    00001E62 DD 4E F8              4373        LD      C,(IX-8)\r
+    00001E65 DD 46 F9              4374        LD      B,(IX-7)\r
+    00001E68 09                    4375        ADD     HL,BC\r
+    00001E69 5E                    4376        LD      E,(HL)\r
+    00001E6A 23                    4377        INC     HL\r
+    00001E6B 56                    4378        LD      D,(HL)\r
+    00001E6C 23                    4379        INC     HL\r
+    00001E6D 4E                    4380        LD      C,(HL)\r
+    00001E6E 23                    4381        INC     HL\r
+    00001E6F 46                    4382        LD      B,(HL)\r
+    00001E70 3E 00                 4383        LD      A,BYTE3 ltoa\r
+    00001E72 21 00 00              4384        LD      HL,LWRD ltoa\r
+    00001E75 CD 00 00              4385        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001E78 F1                    4386        POP     AF\r
+    00001E79                       4387 ?0548:\r
+    00001E79 F1                    4388        POP     AF\r
+    00001E7A                       4389 ?0270:\r
+    00001E7A                       4390 ?0268:\r
+    00001E7A                       4391 ?0263:\r
+    00001E7A C3 7B 04              4392        JP      LWRD ?0630\r
+    00001E7D                       4393 dbGetInt:\r
+    00001E7D FD E5                 4394        PUSH    IY\r
+    00001E7F DD E5                 4395        PUSH    IX\r
+    00001E81 C5                    4396        PUSH    BC\r
+    00001E82 F5                    4397        PUSH    AF\r
+    00001E83 D5                    4398        PUSH    DE\r
+    00001E84 DD E1                 4399        POP     IX\r
+    00001E86 21 04 00              4400        LD      HL,4\r
+    00001E89 19                    4401        ADD     HL,DE\r
+    00001E8A 7E                    4402        LD      A,(HL)\r
+    00001E8B 23                    4403        INC     HL\r
+    00001E8C 66                    4404        LD      H,(HL)\r
+    00001E8D 6F                    4405        LD      L,A\r
+    00001E8E E5                    4406        PUSH    HL\r
+    00001E8F FD E1                 4407        POP     IY\r
+    00001E91 21 00 00              4408        LD      HL,0\r
+    00001E94 39                    4409        ADD     HL,SP\r
+    00001E95 E5                    4410        PUSH    HL\r
+    00001E96 EB                    4411        EX      DE,HL\r
+    00001E97 5E                    4412        LD      E,(HL)\r
+    00001E98 23                    4413        INC     HL\r
+    00001E99 56                    4414        LD      D,(HL)\r
+    00001E9A 3E DD                 4415        LD      A,BYTE3 dbFieldOffset\r
+    00001E9C 21 DD 0B              4416        LD      HL,LWRD dbFieldOffset\r
+    00001E9F CD 00 00              4417        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001EA2 4D                    4418        LD      C,L\r
+    00001EA3 44                    4419        LD      B,H\r
+    00001EA4 E1                    4420        POP     HL\r
+    00001EA5 71                    4421        LD      (HL),C\r
+    00001EA6 23                    4422        INC     HL\r
+    00001EA7 70                    4423        LD      (HL),B\r
+    00001EA8 DD 6E 00              4424        LD      L,(IX+0)\r
+    00001EAB DD 66 01              4425        LD      H,(IX+1)\r
+    00001EAE 23                    4426        INC     HL\r
+    00001EAF 23                    4427        INC     HL\r
+    00001EB0 46                    4428        LD      B,(HL)\r
+    00001EB1 23                    4429        INC     HL\r
+    00001EB2 66                    4430        LD      H,(HL)\r
+    00001EB3 68                    4431        LD      L,B\r
+    00001EB4 E5                    4432        PUSH    HL\r
+    00001EB5 21 04 00              4433        LD      HL,4\r
+    00001EB8 39                    4434        ADD     HL,SP\r
+    00001EB9 46                    4435        LD      B,(HL)\r
+    00001EBA 23                    4436        INC     HL\r
+    00001EBB 66                    4437        LD      H,(HL)\r
+    00001EBC 68                    4438        LD      L,B\r
+    00001EBD 29                    4439        ADD     HL,HL\r
+    00001EBE 29                    4440        ADD     HL,HL\r
+    00001EBF 4D                    4441        LD      C,L\r
+    00001EC0 44                    4442        LD      B,H\r
+    00001EC1 29                    4443        ADD     HL,HL\r
+    00001EC2 09                    4444        ADD     HL,BC\r
+    00001EC3 4D                    4445        LD      C,L\r
+    00001EC4 44                    4446        LD      B,H\r
+    00001EC5 E1                    4447        POP     HL\r
+    00001EC6 09                    4448        ADD     HL,BC\r
+    00001EC7 01 09 00              4449        LD      BC,9\r
+    00001ECA 09                    4450        ADD     HL,BC\r
+    00001ECB 7E                    4451        LD      A,(HL)\r
+    00001ECC FE 53                 4452        CP      83\r
+    00001ECE 20 16                 4453        JR      NZ,?0273\r
+    00001ED0                       4454 ?0272:\r
+    00001ED0 68                    4455        LD      L,B\r
+    00001ED1 60                    4456        LD      H,B\r
+    00001ED2 39                    4457        ADD     HL,SP\r
+    00001ED3 46                    4458        LD      B,(HL)\r
+    00001ED4 23                    4459        INC     HL\r
+    00001ED5 66                    4460        LD      H,(HL)\r
+    00001ED6 68                    4461        LD      L,B\r
+    00001ED7 FD E5                 4462        PUSH    IY\r
+    00001ED9 C1                    4463        POP     BC\r
+    00001EDA 09                    4464        ADD     HL,BC\r
+    00001EDB EB                    4465        EX      DE,HL\r
+    00001EDC 3E 00                 4466        LD      A,BYTE3 atoi\r
+    00001EDE 21 00 00              4467        LD      HL,LWRD atoi\r
+    00001EE1 CD 00 00              4468        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001EE4 18 13                 4469        JR      ?0274\r
+    00001EE6                       4470 ?0273:\r
+    00001EE6 FE 49                 4471        CP      73\r
+    00001EE8 68                    4472        LD      L,B\r
+    00001EE9 60                    4473        LD      H,B\r
+    00001EEA 20 0D                 4474        JR      NZ,?0274\r
+    00001EEC 39                    4475        ADD     HL,SP\r
+    00001EED 46                    4476        LD      B,(HL)\r
+    00001EEE 23                    4477        INC     HL\r
+    00001EEF 66                    4478        LD      H,(HL)\r
+    00001EF0 68                    4479        LD      L,B\r
+    00001EF1 FD E5                 4480        PUSH    IY\r
+    00001EF3 C1                    4481        POP     BC\r
+    00001EF4 09                    4482        ADD     HL,BC\r
+    00001EF5 46                    4483        LD      B,(HL)\r
+    00001EF6 23                    4484        INC     HL\r
+    00001EF7 66                    4485        LD      H,(HL)\r
+    00001EF8 68                    4486        LD      L,B\r
+    00001EF9                       4487 ?0274:\r
+    00001EF9                       4488 ?0275:\r
+    00001EF9 F1                    4489        POP     AF\r
+    00001EFA C3 E1 02              4490        JP      LWRD ?0626\r
+    00001EFD                       4491 ?0271:\r
+    00001EFD                       4492 dbGetLong:\r
+    00001EFD FD E5                 4493        PUSH    IY\r
+    00001EFF DD E5                 4494        PUSH    IX\r
+    00001F01 DD 21 00 00           4495        LD      IX,0\r
+    00001F05 DD 39                 4496        ADD     IX,SP\r
+    00001F07 C5                    4497        PUSH    BC\r
+    00001F08 F5                    4498        PUSH    AF\r
+    00001F09 F5                    4499        PUSH    AF\r
+    00001F0A D5                    4500        PUSH    DE\r
+    00001F0B FD E1                 4501        POP     IY\r
+    00001F0D 21 04 00              4502        LD      HL,4\r
+    00001F10 19                    4503        ADD     HL,DE\r
+    00001F11 7E                    4504        LD      A,(HL)\r
+    00001F12 DD 77 FA              4505        LD      (IX-6),A\r
+    00001F15 23                    4506        INC     HL\r
+    00001F16 66                    4507        LD      H,(HL)\r
+    00001F17 DD 74 FB              4508        LD      (IX-5),H\r
+    00001F1A EB                    4509        EX      DE,HL\r
+    00001F1B 5E                    4510        LD      E,(HL)\r
+    00001F1C 23                    4511        INC     HL\r
+    00001F1D 56                    4512        LD      D,(HL)\r
+    00001F1E 3E DD                 4513        LD      A,BYTE3 dbFieldOffset\r
+    00001F20 21 DD 0B              4514        LD      HL,LWRD dbFieldOffset\r
+    00001F23 CD 00 00              4515        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001F26 DD 75 FC              4516        LD      (IX-4),L\r
+    00001F29 DD 74 FD              4517        LD      (IX-3),H\r
+    00001F2C FD 6E 00              4518        LD      L,(IY+0)\r
+    00001F2F FD 66 01              4519        LD      H,(IY+1)\r
+    00001F32 23                    4520        INC     HL\r
+    00001F33 23                    4521        INC     HL\r
+    00001F34 46                    4522        LD      B,(HL)\r
+    00001F35 23                    4523        INC     HL\r
+    00001F36 66                    4524        LD      H,(HL)\r
+    00001F37 68                    4525        LD      L,B\r
+    00001F38 E5                    4526        PUSH    HL\r
+    00001F39 DD 6E FE              4527        LD      L,(IX-2)\r
+    00001F3C DD 66 FF              4528        LD      H,(IX-1)\r
+    00001F3F 29                    4529        ADD     HL,HL\r
+    00001F40 29                    4530        ADD     HL,HL\r
+    00001F41 4D                    4531        LD      C,L\r
+    00001F42 44                    4532        LD      B,H\r
+    00001F43 29                    4533        ADD     HL,HL\r
+    00001F44 09                    4534        ADD     HL,BC\r
+    00001F45 4D                    4535        LD      C,L\r
+    00001F46 44                    4536        LD      B,H\r
+    00001F47 E1                    4537        POP     HL\r
+    00001F48 09                    4538        ADD     HL,BC\r
+    00001F49 01 09 00              4539        LD      BC,9\r
+    00001F4C 09                    4540        ADD     HL,BC\r
+    00001F4D 7E                    4541        LD      A,(HL)\r
+    00001F4E FE 53                 4542        CP      83\r
+    00001F50 20 18                 4543        JR      NZ,?0278\r
+    00001F52                       4544 ?0277:\r
+    00001F52 DD 6E FC              4545        LD      L,(IX-4)\r
+    00001F55 DD 66 FD              4546        LD      H,(IX-3)\r
+    00001F58 DD 4E FA              4547        LD      C,(IX-6)\r
+    00001F5B DD 46 FB              4548        LD      B,(IX-5)\r
+    00001F5E 09                    4549        ADD     HL,BC\r
+    00001F5F EB                    4550        EX      DE,HL\r
+    00001F60 3E 00                 4551        LD      A,BYTE3 atol\r
+    00001F62 21 00 00              4552        LD      HL,LWRD atol\r
+    00001F65 CD 00 00              4553        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001F68 18 4F                 4554        JR      ?0282\r
+    00001F6A                       4555 ?0278:\r
+    00001F6A FE 49                 4556        CP      73\r
+    00001F6C 20 48                 4557        JR      NZ,?0281\r
+    00001F6E FD 6E 00              4558        LD      L,(IY+0)\r
+    00001F71 FD 66 01              4559        LD      H,(IY+1)\r
+    00001F74 23                    4560        INC     HL\r
+    00001F75 23                    4561        INC     HL\r
+    00001F76 46                    4562        LD      B,(HL)\r
+    00001F77 23                    4563        INC     HL\r
+    00001F78 66                    4564        LD      H,(HL)\r
+    00001F79 68                    4565        LD      L,B\r
+    00001F7A E5                    4566        PUSH    HL\r
+    00001F7B DD 6E FE              4567        LD      L,(IX-2)\r
+    00001F7E DD 66 FF              4568        LD      H,(IX-1)\r
+    00001F81 29                    4569        ADD     HL,HL\r
+    00001F82 29                    4570        ADD     HL,HL\r
+    00001F83 4D                    4571        LD      C,L\r
+    00001F84 44                    4572        LD      B,H\r
+    00001F85 29                    4573        ADD     HL,HL\r
+    00001F86 09                    4574        ADD     HL,BC\r
+    00001F87 4D                    4575        LD      C,L\r
+    00001F88 44                    4576        LD      B,H\r
+    00001F89 E1                    4577        POP     HL\r
+    00001F8A 09                    4578        ADD     HL,BC\r
+    00001F8B 01 0A 00              4579        LD      BC,10\r
+    00001F8E 09                    4580        ADD     HL,BC\r
+    00001F8F 46                    4581        LD      B,(HL)\r
+    00001F90 05                    4582        DEC     B\r
+    00001F91 05                    4583        DEC     B\r
+    00001F92 DD 6E FC              4584        LD      L,(IX-4)\r
+    00001F95 DD 66 FD              4585        LD      H,(IX-3)\r
+    00001F98 DD 4E FA              4586        LD      C,(IX-6)\r
+    00001F9B DD 46 FB              4587        LD      B,(IX-5)\r
+    00001F9E 09                    4588        ADD     HL,BC\r
+    00001F9F 20 0B                 4589        JR      NZ,?0280\r
+    00001FA1                       4590 ?0279:\r
+    00001FA1 46                    4591        LD      B,(HL)\r
+    00001FA2 23                    4592        INC     HL\r
+    00001FA3 66                    4593        LD      H,(HL)\r
+    00001FA4 7C                    4594        LD      A,H\r
+    00001FA5 68                    4595        LD      L,B\r
+    00001FA6 07                    4596        RLCA\r
+    00001FA7 9F                    4597        SBC     A,A\r
+    00001FA8 4F                    4598        LD      C,A\r
+    00001FA9 41                    4599        LD      B,C\r
+    00001FAA 18 0D                 4600        JR      ?0282\r
+    00001FAC                       4601 ?0280:\r
+    00001FAC 5E                    4602        LD      E,(HL)\r
+    00001FAD 23                    4603        INC     HL\r
+    00001FAE 56                    4604        LD      D,(HL)\r
+    00001FAF 23                    4605        INC     HL\r
+    00001FB0 4E                    4606        LD      C,(HL)\r
+    00001FB1 23                    4607        INC     HL\r
+    00001FB2 46                    4608        LD      B,(HL)\r
+    00001FB3 EB                    4609        EX      DE,HL\r
+    00001FB4 18 03                 4610        JR      ?0282\r
+    00001FB6                       4611 ?0281:\r
+    00001FB6 48                    4612        LD      C,B\r
+    00001FB7 69                    4613        LD      L,C\r
+    00001FB8 60                    4614        LD      H,B\r
+    00001FB9                       4615 ?0282:\r
+    00001FB9 C3 7B 04              4616        JP      LWRD ?0630\r
+    00001FBC                       4617 ?0276:\r
+    00001FBC                       4618 dbOperatorPrecedence:\r
+    00001FBC D5                    4619        PUSH    DE\r
+    00001FBD CD 00 00              4620        CALL    LWRD ?C_V_SWITCH_L06\r
+    00001FC0 10 00                 4621        DEFW    16\r
+    00001FC2 00                    4622        DEFB    0\r
+    00001FC3 26                    4623        DEFB    38\r
+    00001FC4 28                    4624        DEFB    40\r
+    00001FC5 29                    4625        DEFB    41\r
+    00001FC6 2A                    4626        DEFB    42\r
+    00001FC7 2B                    4627        DEFB    43\r
+    00001FC8 2D                    4628        DEFB    45\r
+    00001FC9 2F                    4629        DEFB    47\r
+    00001FCA 3B                    4630        DEFB    59\r
+    00001FCB 3C                    4631        DEFB    60\r
+    00001FCC 3D                    4632        DEFB    61\r
+    00001FCD 3E                    4633        DEFB    62\r
+    00001FCE 5B                    4634        DEFB    91\r
+    00001FCF 5D                    4635        DEFB    93\r
+    00001FD0 5E                    4636        DEFB    94\r
+    00001FD1 7C                    4637        DEFB    124\r
+    00001FD2 10 20                 4638        DEFW    ?0291\r
+    00001FD4 08 20                 4639        DEFW    ?0289\r
+    00001FD6 F8 1F                 4640        DEFW    ?0285\r
+    00001FD8 04 20                 4641        DEFW    ?0288\r
+    00001FDA 04 20                 4642        DEFW    ?0288\r
+    00001FDC 04 20                 4643        DEFW    ?0288\r
+    00001FDE 04 20                 4644        DEFW    ?0288\r
+    00001FE0 04 20                 4645        DEFW    ?0288\r
+    00001FE2 0C 20                 4646        DEFW    ?0290\r
+    00001FE4 FC 1F                 4647        DEFW    ?0286\r
+    00001FE6 00 20                 4648        DEFW    ?0287\r
+    00001FE8 00 20                 4649        DEFW    ?0287\r
+    00001FEA FC 1F                 4650        DEFW    ?0286\r
+    00001FEC 0C 20                 4651        DEFW    ?0290\r
+    00001FEE F4 1F                 4652        DEFW    ?0284\r
+    00001FF0 08 20                 4653        DEFW    ?0289\r
+    00001FF2 0C 20                 4654        DEFW    ?0290\r
+    00001FF4                       4655 ?0284:\r
+    00001FF4 2E 01                 4656        LD      L,1\r
+    00001FF6 18 1A                 4657        JR      ?0292\r
+    00001FF8                       4658 ?0285:\r
+    00001FF8 2E 02                 4659        LD      L,2\r
+    00001FFA 18 16                 4660        JR      ?0292\r
+    00001FFC                       4661 ?0286:\r
+    00001FFC 2E 03                 4662        LD      L,3\r
+    00001FFE 18 12                 4663        JR      ?0292\r
+    00002000                       4664 ?0287:\r
+    00002000 2E 04                 4665        LD      L,4\r
+    00002002 18 0E                 4666        JR      ?0292\r
+    00002004                       4667 ?0288:\r
+    00002004 2E 05                 4668        LD      L,5\r
+    00002006 18 0A                 4669        JR      ?0292\r
+    00002008                       4670 ?0289:\r
+    00002008 2E 06                 4671        LD      L,6\r
+    0000200A 18 06                 4672        JR      ?0292\r
+    0000200C                       4673 ?0290:\r
+    0000200C 2E 3F                 4674        LD      L,63\r
+    0000200E 18 02                 4675        JR      ?0292\r
+    00002010                       4676 ?0291:\r
+    00002010 2E 00                 4677        LD      L,0\r
+    00002012                       4678 ?0292:\r
+    00002012 F1                    4679        POP     AF\r
+    00002013 C3 00 00              4680        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00002016                       4681 ?0283:\r
+    00002016                       4682 dbNewExpression:\r
+    00002016 DD E5                 4683        PUSH    IX\r
+    00002018 C5                    4684        PUSH    BC\r
+    00002019 D5                    4685        PUSH    DE\r
+    0000201A 11 4E 00              4686        LD      DE,78\r
+    0000201D CD 8F 04              4687        CALL    LWRD ?0641\r
+    00002020 E5                    4688        PUSH    HL\r
+    00002021 DD E1                 4689        POP     IX\r
+    00002023 23                    4690        INC     HL\r
+    00002024 23                    4691        INC     HL\r
+    00002025 23                    4692        INC     HL\r
+    00002026 36 00                 4693        LD      (HL),0\r
+    00002028 AF                    4694        XOR     A\r
+    00002029 DD 77 48              4695        LD      (IX+72),A\r
+    0000202C DD 77 49              4696        LD      (IX+73),A\r
+    0000202F DD 77 4A              4697        LD      (IX+74),A\r
+    00002032 DD 77 4B              4698        LD      (IX+75),A\r
+    00002035 DD 77 02              4699        LD      (IX+2),A\r
+    00002038 6F                    4700        LD      L,A\r
+    00002039 67                    4701        LD      H,A\r
+    0000203A 39                    4702        ADD     HL,SP\r
+    0000203B 46                    4703        LD      B,(HL)\r
+    0000203C DD 70 4C              4704        LD      (IX+76),B\r
+    0000203F 23                    4705        INC     HL\r
+    00002040 66                    4706        LD      H,(HL)\r
+    00002041 DD 74 4D              4707        LD      (IX+77),H\r
+    00002044 DD 71 00              4708        LD      (IX+0),C\r
+    00002047 DD 77 24              4709        LD      (IX+36),A\r
+    0000204A DD 77 25              4710        LD      (IX+37),A\r
+    0000204D DD 77 26              4711        LD      (IX+38),A\r
+    00002050 DD 77 27              4712        LD      (IX+39),A\r
+    00002053 DD E5                 4713        PUSH    IX\r
+    00002055 E1                    4714        POP     HL\r
+    00002056 F1                    4715        POP     AF\r
+    00002057 F1                    4716        POP     AF\r
+    00002058 DD E1                 4717        POP     IX\r
+    0000205A C3 00 00              4718        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000205D                       4719 dbParseExpression:\r
+    0000205D FD E5                 4720        PUSH    IY\r
+    0000205F DD E5                 4721        PUSH    IX\r
+    00002061 DD 21 00 00           4722        LD      IX,0\r
+    00002065 DD 39                 4723        ADD     IX,SP\r
+    00002067 C5                    4724        PUSH    BC\r
+    00002068 D5                    4725        PUSH    DE\r
+    00002069 21 B2 FF              4726        LD      HL,65458\r
+    0000206C 39                    4727        ADD     HL,SP\r
+    0000206D F9                    4728        LD      SP,HL\r
+    0000206E AF                    4729        XOR     A\r
+    0000206F DD 77 F8              4730        LD      (IX-8),A\r
+    00002072 DD 77 F9              4731        LD      (IX-7),A\r
+    00002075 7B                    4732        LD      A,E\r
+    00002076 B2                    4733        OR      D\r
+    00002077 20 24                 4734        JR      NZ,?0294\r
+    00002079                       4735 ?0293:\r
+    00002079 0E 01                 4736        LD      C,1\r
+    0000207B 5F                    4737        LD      E,A\r
+    0000207C 57                    4738        LD      D,A\r
+    0000207D CD 5F 24              4739        CALL    LWRD ?0666\r
+    00002080 DD 75 AE              4740        LD      (IX-82),L\r
+    00002083 DD 74 AF              4741        LD      (IX-81),H\r
+    00002086 01 04 00              4742        LD      BC,4\r
+    00002089 09                    4743        ADD     HL,BC\r
+    0000208A 36 31                 4744        LD      (HL),49\r
+    0000208C 21 05 00              4745        LD      HL,5\r
+    0000208F DD 4E AE              4746        LD      C,(IX-82)\r
+    00002092 DD 46 AF              4747        LD      B,(IX-81)\r
+    00002095 09                    4748        ADD     HL,BC\r
+    00002096 36 00                 4749        LD      (HL),0\r
+    00002098 69                    4750        LD      L,C\r
+    00002099 60                    4751        LD      H,B\r
+    0000209A C3 57 24              4752        JP      LWRD ?0356\r
+    0000209D                       4753 ?0294:\r
+    0000209D AF                    4754        XOR     A\r
+    0000209E DD 77 F6              4755        LD      (IX-10),A\r
+    000020A1 DD 77 F7              4756        LD      (IX-9),A\r
+    000020A4                       4757 ?0296:\r
+    000020A4 01 40 80              4758        LD      BC,32832\r
+    000020A7 DD 6E F6              4759        LD      L,(IX-10)\r
+    000020AA DD 66 F7              4760        LD      H,(IX-9)\r
+    000020AD 78                    4761        LD      A,B\r
+    000020AE AC                    4762        XOR     H\r
+    000020AF 67                    4763        LD      H,A\r
+    000020B0 ED 42                 4764        SBC     HL,BC\r
+    000020B2 30 16                 4765        JR      NC,?0295\r
+    000020B4                       4766 ?0297:\r
+    000020B4 21 06 00              4767        LD      HL,6\r
+    000020B7 39                    4768        ADD     HL,SP\r
+    000020B8 DD 4E F6              4769        LD      C,(IX-10)\r
+    000020BB DD 46 F7              4770        LD      B,(IX-9)\r
+    000020BE 09                    4771        ADD     HL,BC\r
+    000020BF 36 00                 4772        LD      (HL),0\r
+    000020C1 03                    4773        INC     BC\r
+    000020C2 DD 71 F6              4774        LD      (IX-10),C\r
+    000020C5 DD 70 F7              4775        LD      (IX-9),B\r
+    000020C8 18 DA                 4776        JR      ?0296\r
+    000020CA                       4777 ?0295:\r
+    000020CA 0E 03                 4778        LD      C,3\r
+    000020CC 11 00 00              4779        LD      DE,0\r
+    000020CF CD 5F 24              4780        CALL    LWRD ?0666\r
+    000020D2 DD 75 AE              4781        LD      (IX-82),L\r
+    000020D5 DD 74 AF              4782        LD      (IX-81),H\r
+    000020D8 E5                    4783        PUSH    HL\r
+    000020D9 FD E1                 4784        POP     IY\r
+    000020DB                       4785 ?0301:\r
+    000020DB AF                    4786        XOR     A\r
+    000020DC DD 77 B2              4787        LD      (IX-78),A\r
+    000020DF DD 77 B3              4788        LD      (IX-77),A\r
+    000020E2                       4789 ?0302:\r
+    000020E2 DD 6E FE              4790        LD      L,(IX-2)\r
+    000020E5 DD 66 FF              4791        LD      H,(IX-1)\r
+    000020E8 46                    4792        LD      B,(HL)\r
+    000020E9 23                    4793        INC     HL\r
+    000020EA 66                    4794        LD      H,(HL)\r
+    000020EB 68                    4795        LD      L,B\r
+    000020EC DD 4E FC              4796        LD      C,(IX-4)\r
+    000020EF DD 46 FD              4797        LD      B,(IX-3)\r
+    000020F2 09                    4798        ADD     HL,BC\r
+    000020F3 5E                    4799        LD      E,(HL)\r
+    000020F4 3E BC                 4800        LD      A,BYTE3 dbOperatorPrecedence\r
+    000020F6 21 BC 1F              4801        LD      HL,LWRD dbOperatorPrecedence\r
+    000020F9 CD 00 00              4802        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000020FC 26 00                 4803        LD      H,0\r
+    000020FE DD 75 F4              4804        LD      (IX-12),L\r
+    00002101 DD 74 F5              4805        LD      (IX-11),H\r
+    00002104 7D                    4806        LD      A,L\r
+    00002105 B7                    4807        OR      A\r
+    00002106 20 1E                 4808        JR      NZ,?0304\r
+    00002108                       4809 ?0303:\r
+    00002108 DD 6E FE              4810        LD      L,(IX-2)\r
+    0000210B DD 66 FF              4811        LD      H,(IX-1)\r
+    0000210E 46                    4812        LD      B,(HL)\r
+    0000210F 23                    4813        INC     HL\r
+    00002110 66                    4814        LD      H,(HL)\r
+    00002111 68                    4815        LD      L,B\r
+    00002112 DD 46 FD              4816        LD      B,(IX-3)\r
+    00002115 09                    4817        ADD     HL,BC\r
+    00002116 46                    4818        LD      B,(HL)\r
+    00002117 21 06 00              4819        LD      HL,6\r
+    0000211A 39                    4820        ADD     HL,SP\r
+    0000211B DD 5E F8              4821        LD      E,(IX-8)\r
+    0000211E DD 56 F9              4822        LD      D,(IX-7)\r
+    00002121 19                    4823        ADD     HL,DE\r
+    00002122 70                    4824        LD      (HL),B\r
+    00002123 C3 03 24              4825        JP      LWRD ?0312\r
+    00002126                       4826 ?0304:\r
+    00002126 3E 01                 4827        LD      A,1\r
+    00002128 AD                    4828        XOR     L\r
+    00002129 20 5E                 4829        JR      NZ,?0307\r
+    0000212B                       4830 ?0306:\r
+    0000212B DD 6E FE              4831        LD      L,(IX-2)\r
+    0000212E DD 66 FF              4832        LD      H,(IX-1)\r
+    00002131 46                    4833        LD      B,(HL)\r
+    00002132 23                    4834        INC     HL\r
+    00002133 66                    4835        LD      H,(HL)\r
+    00002134 68                    4836        LD      L,B\r
+    00002135 DD 46 FD              4837        LD      B,(IX-3)\r
+    00002138 09                    4838        ADD     HL,BC\r
+    00002139 7E                    4839        LD      A,(HL)\r
+    0000213A FE 29                 4840        CP      41\r
+    0000213C 20 08                 4841        JR      NZ,?0309\r
+    0000213E                       4842 ?0308:\r
+    0000213E DD 36 F4 3F           4843        LD      (IX-12),63\r
+    00002142 DD 36 F5 00           4844        LD      (IX-11),0\r
+    00002146                       4845 ?0309:\r
+    00002146 DD 6E FE              4846        LD      L,(IX-2)\r
+    00002149 DD 66 FF              4847        LD      H,(IX-1)\r
+    0000214C 46                    4848        LD      B,(HL)\r
+    0000214D 23                    4849        INC     HL\r
+    0000214E 66                    4850        LD      H,(HL)\r
+    0000214F 68                    4851        LD      L,B\r
+    00002150 DD 46 FD              4852        LD      B,(IX-3)\r
+    00002153 09                    4853        ADD     HL,BC\r
+    00002154 7E                    4854        LD      A,(HL)\r
+    00002155 FE 28                 4855        CP      40\r
+    00002157 C2 03 24              4856        JP      NZ,?0312\r
+    0000215A                       4857 ?0310:\r
+    0000215A DD 6E FE              4858        LD      L,(IX-2)\r
+    0000215D DD 66 FF              4859        LD      H,(IX-1)\r
+    00002160 34                    4860        INC     (HL)\r
+    00002161 23                    4861        INC     HL\r
+    00002162 20 01                 4862        JR      NZ,?0549\r
+    00002164 34                    4863        INC     (HL)\r
+    00002165                       4864 ?0549:\r
+    00002165 DD 4E FE              4865        LD      C,(IX-2)\r
+    00002168 DD 46 FF              4866        LD      B,(IX-1)\r
+    0000216B DD 5E FC              4867        LD      E,(IX-4)\r
+    0000216E DD 56 FD              4868        LD      D,(IX-3)\r
+    00002171 3E 5D                 4869        LD      A,BYTE3 dbParseExpression\r
+    00002173 21 5D 20              4870        LD      HL,LWRD dbParseExpression\r
+    00002176 CD 00 00              4871        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002179 DD 75 B2              4872        LD      (IX-78),L\r
+    0000217C DD 74 B3              4873        LD      (IX-77),H\r
+    0000217F AF                    4874        XOR     A\r
+    00002180 DD 77 F8              4875        LD      (IX-8),A\r
+    00002183 DD 77 F9              4876        LD      (IX-7),A\r
+    00002186 C3 E2 20              4877        JP      LWRD ?0302\r
+    00002189                       4878 ?0311:\r
+    00002189                       4879 ?0307:\r
+    00002189 2E 06                 4880        LD      L,6\r
+    0000218B 39                    4881        ADD     HL,SP\r
+    0000218C DD 4E F8              4882        LD      C,(IX-8)\r
+    0000218F DD 46 F9              4883        LD      B,(IX-7)\r
+    00002192 09                    4884        ADD     HL,BC\r
+    00002193 36 00                 4885        LD      (HL),0\r
+    00002195 FD 7E 48              4886        LD      A,(IY+72)\r
+    00002198 FD B6 49              4887        OR      (IY+73)\r
+    0000219B 20 46                 4888        JR      NZ,?0314\r
+    0000219D                       4889 ?0313:\r
+    0000219D DD 7E B2              4890        LD      A,(IX-78)\r
+    000021A0 DD B6 B3              4891        OR      (IX-77)\r
+    000021A3 20 1A                 4892        JR      NZ,?0316\r
+    000021A5                       4893 ?0315:\r
+    000021A5 CD 5A 24              4894        CALL    LWRD ?0667\r
+    000021A8 FD 75 48              4895        LD      (IY+72),L\r
+    000021AB FD 74 49              4896        LD      (IY+73),H\r
+    000021AE 21 06 00              4897        LD      HL,6\r
+    000021B1 39                    4898        ADD     HL,SP\r
+    000021B2 4D                    4899        LD      C,L\r
+    000021B3 44                    4900        LD      B,H\r
+    000021B4 FD 6E 48              4901        LD      L,(IY+72)\r
+    000021B7 FD 66 49              4902        LD      H,(IY+73)\r
+    000021BA CD A8 04              4903        CALL    LWRD ?0654\r
+    000021BD 18 0C                 4904        JR      ?0317\r
+    000021BF                       4905 ?0316:\r
+    000021BF DD 6E B2              4906        LD      L,(IX-78)\r
+    000021C2 FD 75 48              4907        LD      (IY+72),L\r
+    000021C5 DD 66 B3              4908        LD      H,(IX-77)\r
+    000021C8 FD 74 49              4909        LD      (IY+73),H\r
+    000021CB                       4910 ?0317:\r
+    000021CB DD 6E FE              4911        LD      L,(IX-2)\r
+    000021CE DD 66 FF              4912        LD      H,(IX-1)\r
+    000021D1 46                    4913        LD      B,(HL)\r
+    000021D2 23                    4914        INC     HL\r
+    000021D3 66                    4915        LD      H,(HL)\r
+    000021D4 68                    4916        LD      L,B\r
+    000021D5 DD 4E FC              4917        LD      C,(IX-4)\r
+    000021D8 DD 46 FD              4918        LD      B,(IX-3)\r
+    000021DB 09                    4919        ADD     HL,BC\r
+    000021DC 46                    4920        LD      B,(HL)\r
+    000021DD FD 70 02              4921        LD      (IY+2),B\r
+    000021E0 C3 FB 23              4922        JP      LWRD ?0350\r
+    000021E3                       4923 ?0314:\r
+    000021E3 CD 67 24              4924        CALL    LWRD ?0669\r
+    000021E6 E2 EA 21              4925        JP      PO,?0550\r
+    000021E9 AC                    4926        XOR     H\r
+    000021EA                       4927 ?0550:\r
+    000021EA F2 64 22              4928        JP      P,?0320\r
+    000021ED                       4929 ?0319:\r
+    000021ED 0E 03                 4930        LD      C,3\r
+    000021EF CD 5C 24              4931        CALL    LWRD ?0668\r
+    000021F2 FD 75 4A              4932        LD      (IY+74),L\r
+    000021F5 FD 74 4B              4933        LD      (IY+75),H\r
+    000021F8 DD 7E B2              4934        LD      A,(IX-78)\r
+    000021FB DD B6 B3              4935        OR      (IX-77)\r
+    000021FE FD 6E 4A              4936        LD      L,(IY+74)\r
+    00002201 FD 66 4B              4937        LD      H,(IY+75)\r
+    00002204 01 48 00              4938        LD      BC,72\r
+    00002207 09                    4939        ADD     HL,BC\r
+    00002208 20 2B                 4940        JR      NZ,?0322\r
+    0000220A                       4941 ?0321:\r
+    0000220A E5                    4942        PUSH    HL\r
+    0000220B 0E 01                 4943        LD      C,1\r
+    0000220D FD 5E 4A              4944        LD      E,(IY+74)\r
+    00002210 FD 56 4B              4945        LD      D,(IY+75)\r
+    00002213 CD 5F 24              4946        CALL    LWRD ?0666\r
+    00002216 4D                    4947        LD      C,L\r
+    00002217 44                    4948        LD      B,H\r
+    00002218 E1                    4949        POP     HL\r
+    00002219 71                    4950        LD      (HL),C\r
+    0000221A 23                    4951        INC     HL\r
+    0000221B 70                    4952        LD      (HL),B\r
+    0000221C 21 06 00              4953        LD      HL,6\r
+    0000221F 39                    4954        ADD     HL,SP\r
+    00002220 4D                    4955        LD      C,L\r
+    00002221 44                    4956        LD      B,H\r
+    00002222 FD 6E 4A              4957        LD      L,(IY+74)\r
+    00002225 FD 66 4B              4958        LD      H,(IY+75)\r
+    00002228 11 48 00              4959        LD      DE,72\r
+    0000222B 19                    4960        ADD     HL,DE\r
+    0000222C 56                    4961        LD      D,(HL)\r
+    0000222D 23                    4962        INC     HL\r
+    0000222E 66                    4963        LD      H,(HL)\r
+    0000222F 6A                    4964        LD      L,D\r
+    00002230 CD A8 04              4965        CALL    LWRD ?0654\r
+    00002233 18 09                 4966        JR      ?0323\r
+    00002235                       4967 ?0322:\r
+    00002235 DD 4E B2              4968        LD      C,(IX-78)\r
+    00002238 71                    4969        LD      (HL),C\r
+    00002239 DD 46 B3              4970        LD      B,(IX-77)\r
+    0000223C 23                    4971        INC     HL\r
+    0000223D 70                    4972        LD      (HL),B\r
+    0000223E                       4973 ?0323:\r
+    0000223E FD 6E 4A              4974        LD      L,(IY+74)\r
+    00002241 FD 66 4B              4975        LD      H,(IY+75)\r
+    00002244 23                    4976        INC     HL\r
+    00002245 23                    4977        INC     HL\r
+    00002246 E5                    4978        PUSH    HL\r
+    00002247 DD 6E FE              4979        LD      L,(IX-2)\r
+    0000224A DD 66 FF              4980        LD      H,(IX-1)\r
+    0000224D 46                    4981        LD      B,(HL)\r
+    0000224E 23                    4982        INC     HL\r
+    0000224F 66                    4983        LD      H,(HL)\r
+    00002250 68                    4984        LD      L,B\r
+    00002251 DD 4E FC              4985        LD      C,(IX-4)\r
+    00002254 DD 46 FD              4986        LD      B,(IX-3)\r
+    00002257 09                    4987        ADD     HL,BC\r
+    00002258 46                    4988        LD      B,(HL)\r
+    00002259 E1                    4989        POP     HL\r
+    0000225A 70                    4990        LD      (HL),B\r
+    0000225B FD 6E 4A              4991        LD      L,(IY+74)\r
+    0000225E FD 66 4B              4992        LD      H,(IY+75)\r
+    00002261 C3 F8 23              4993        JP      LWRD ?0557\r
+    00002264                       4994 ?0320:\r
+    00002264 3E 3F                 4995        LD      A,63\r
+    00002266 DD AE F4              4996        XOR     (IX-12)\r
+    00002269 DD B6 F5              4997        OR      (IX-11)\r
+    0000226C 20 2A                 4998        JR      NZ,?0326\r
+    0000226E                       4999 ?0325:\r
+    0000226E DD 7E B2              5000        LD      A,(IX-78)\r
+    00002271 DD B6 B3              5001        OR      (IX-77)\r
+    00002274 20 13                 5002        JR      NZ,?0328\r
+    00002276                       5003 ?0327:\r
+    00002276 CD 5A 24              5004        CALL    LWRD ?0667\r
+    00002279 FD 75 4A              5005        LD      (IY+74),L\r
+    0000227C FD 74 4B              5006        LD      (IY+75),H\r
+    0000227F 21 06 00              5007        LD      HL,6\r
+    00002282 39                    5008        ADD     HL,SP\r
+    00002283 CD A0 04              5009        CALL    LWRD ?0655\r
+    00002286 C3 FB 23              5010        JP      LWRD ?0350\r
+    00002289                       5011 ?0328:\r
+    00002289 DD 6E B2              5012        LD      L,(IX-78)\r
+    0000228C FD 75 4A              5013        LD      (IY+74),L\r
+    0000228F DD 66 B3              5014        LD      H,(IX-77)\r
+    00002292 FD 74 4B              5015        LD      (IY+75),H\r
+    00002295                       5016 ?0329:\r
+    00002295 C3 FB 23              5017        JP      LWRD ?0350\r
+    00002298                       5018 ?0326:\r
+    00002298 CD 80 24              5019        CALL    LWRD ?0670\r
+    0000229B E2 9F 22              5020        JP      PO,?0551\r
+    0000229E AC                    5021        XOR     H\r
+    0000229F                       5022 ?0551:\r
+    0000229F FA FB 23              5023        JP      M,?0350\r
+    000022A2                       5024 ?0331:\r
+    000022A2 DD 7E B2              5025        LD      A,(IX-78)\r
+    000022A5 DD B6 B3              5026        OR      (IX-77)\r
+    000022A8 20 12                 5027        JR      NZ,?0334\r
+    000022AA                       5028 ?0333:\r
+    000022AA CD 5A 24              5029        CALL    LWRD ?0667\r
+    000022AD FD 75 4A              5030        LD      (IY+74),L\r
+    000022B0 FD 74 4B              5031        LD      (IY+75),H\r
+    000022B3 21 06 00              5032        LD      HL,6\r
+    000022B6 39                    5033        ADD     HL,SP\r
+    000022B7 CD A0 04              5034        CALL    LWRD ?0655\r
+    000022BA 18 0C                 5035        JR      ?0335\r
+    000022BC                       5036 ?0334:\r
+    000022BC DD 6E B2              5037        LD      L,(IX-78)\r
+    000022BF FD 75 4A              5038        LD      (IY+74),L\r
+    000022C2 DD 66 B3              5039        LD      H,(IX-77)\r
+    000022C5 FD 74 4B              5040        LD      (IY+75),H\r
+    000022C8                       5041 ?0335:\r
+    000022C8                       5042 ?0337:\r
+    000022C8 CD 67 24              5043        CALL    LWRD ?0669\r
+    000022CB E2 CF 22              5044        JP      PO,?0552\r
+    000022CE AC                    5045        XOR     H\r
+    000022CF                       5046 ?0552:\r
+    000022CF FA E5 22              5047        JP      M,?0336\r
+    000022D2 FD 7E 4C              5048        LD      A,(IY+76)\r
+    000022D5 FD B6 4D              5049        OR      (IY+77)\r
+    000022D8 28 0B                 5050        JR      Z,?0336\r
+    000022DA                       5051 ?0340:\r
+    000022DA                       5052 ?0339:\r
+    000022DA                       5053 ?0338:\r
+    000022DA FD 6E 4C              5054        LD      L,(IY+76)\r
+    000022DD FD 66 4D              5055        LD      H,(IY+77)\r
+    000022E0 E5                    5056        PUSH    HL\r
+    000022E1 FD E1                 5057        POP     IY\r
+    000022E3 18 E3                 5058        JR      ?0335\r
+    000022E5                       5059 ?0336:\r
+    000022E5 FD 7E 4C              5060        LD      A,(IY+76)\r
+    000022E8 FD B6 4D              5061        OR      (IY+77)\r
+    000022EB 20 41                 5062        JR      NZ,?0342\r
+    000022ED CD 80 24              5063        CALL    LWRD ?0670\r
+    000022F0 E2 F4 22              5064        JP      PO,?0553\r
+    000022F3 AC                    5065        XOR     H\r
+    000022F4                       5066 ?0553:\r
+    000022F4 FA 2E 23              5067        JP      M,?0342\r
+    000022F7                       5068 ?0344:\r
+    000022F7                       5069 ?0343:\r
+    000022F7                       5070 ?0341:\r
+    000022F7 0E 03                 5071        LD      C,3\r
+    000022F9 58                    5072        LD      E,B\r
+    000022FA 50                    5073        LD      D,B\r
+    000022FB CD 5F 24              5074        CALL    LWRD ?0666\r
+    000022FE DD 75 AE              5075        LD      (IX-82),L\r
+    00002301 DD 74 AF              5076        LD      (IX-81),H\r
+    00002304 01 48 00              5077        LD      BC,72\r
+    00002307 09                    5078        ADD     HL,BC\r
+    00002308 FD E5                 5079        PUSH    IY\r
+    0000230A C1                    5080        POP     BC\r
+    0000230B 71                    5081        LD      (HL),C\r
+    0000230C 23                    5082        INC     HL\r
+    0000230D 70                    5083        LD      (HL),B\r
+    0000230E DD 6E FE              5084        LD      L,(IX-2)\r
+    00002311 DD 66 FF              5085        LD      H,(IX-1)\r
+    00002314 56                    5086        LD      D,(HL)\r
+    00002315 23                    5087        INC     HL\r
+    00002316 66                    5088        LD      H,(HL)\r
+    00002317 6A                    5089        LD      L,D\r
+    00002318 DD 5E FC              5090        LD      E,(IX-4)\r
+    0000231B DD 56 FD              5091        LD      D,(IX-3)\r
+    0000231E 19                    5092        ADD     HL,DE\r
+    0000231F 56                    5093        LD      D,(HL)\r
+    00002320 DD 6E AE              5094        LD      L,(IX-82)\r
+    00002323 DD 66 AF              5095        LD      H,(IX-81)\r
+    00002326 23                    5096        INC     HL\r
+    00002327 23                    5097        INC     HL\r
+    00002328 72                    5098        LD      (HL),D\r
+    00002329 2B                    5099        DEC     HL\r
+    0000232A 2B                    5100        DEC     HL\r
+    0000232B C3 F8 23              5101        JP      LWRD ?0557\r
+    0000232E                       5102 ?0342:\r
+    0000232E FD 7E 4C              5103        LD      A,(IY+76)\r
+    00002331 FD B6 4D              5104        OR      (IY+77)\r
+    00002334 20 5C                 5105        JR      NZ,?0347\r
+    00002336 CD 80 24              5106        CALL    LWRD ?0670\r
+    00002339 E2 3D 23              5107        JP      PO,?0554\r
+    0000233C AC                    5108        XOR     H\r
+    0000233D                       5109 ?0554:\r
+    0000233D F2 92 23              5110        JP      P,?0347\r
+    00002340                       5111 ?0349:\r
+    00002340                       5112 ?0348:\r
+    00002340                       5113 ?0346:\r
+    00002340 0E 03                 5114        LD      C,3\r
+    00002342 CD 5C 24              5115        CALL    LWRD ?0668\r
+    00002345 DD 75 FA              5116        LD      (IX-6),L\r
+    00002348 DD 74 FB              5117        LD      (IX-5),H\r
+    0000234B 01 48 00              5118        LD      BC,72\r
+    0000234E 09                    5119        ADD     HL,BC\r
+    0000234F FD 4E 4A              5120        LD      C,(IY+74)\r
+    00002352 71                    5121        LD      (HL),C\r
+    00002353 FD 46 4B              5122        LD      B,(IY+75)\r
+    00002356 23                    5123        INC     HL\r
+    00002357 70                    5124        LD      (HL),B\r
+    00002358 DD 6E FE              5125        LD      L,(IX-2)\r
+    0000235B DD 66 FF              5126        LD      H,(IX-1)\r
+    0000235E 46                    5127        LD      B,(HL)\r
+    0000235F 23                    5128        INC     HL\r
+    00002360 66                    5129        LD      H,(HL)\r
+    00002361 68                    5130        LD      L,B\r
+    00002362 DD 4E FC              5131        LD      C,(IX-4)\r
+    00002365 DD 46 FD              5132        LD      B,(IX-3)\r
+    00002368 09                    5133        ADD     HL,BC\r
+    00002369 46                    5134        LD      B,(HL)\r
+    0000236A DD 6E FA              5135        LD      L,(IX-6)\r
+    0000236D DD 66 FB              5136        LD      H,(IX-5)\r
+    00002370 23                    5137        INC     HL\r
+    00002371 23                    5138        INC     HL\r
+    00002372 70                    5139        LD      (HL),B\r
+    00002373 21 48 00              5140        LD      HL,72\r
+    00002376 DD 4E FA              5141        LD      C,(IX-6)\r
+    00002379 DD 46 FB              5142        LD      B,(IX-5)\r
+    0000237C 09                    5143        ADD     HL,BC\r
+    0000237D 56                    5144        LD      D,(HL)\r
+    0000237E 23                    5145        INC     HL\r
+    0000237F 66                    5146        LD      H,(HL)\r
+    00002380 6A                    5147        LD      L,D\r
+    00002381 11 4C 00              5148        LD      DE,76\r
+    00002384 19                    5149        ADD     HL,DE\r
+    00002385 71                    5150        LD      (HL),C\r
+    00002386 23                    5151        INC     HL\r
+    00002387 70                    5152        LD      (HL),B\r
+    00002388 FD 71 4A              5153        LD      (IY+74),C\r
+    0000238B FD 70 4B              5154        LD      (IY+75),B\r
+    0000238E 69                    5155        LD      L,C\r
+    0000238F 60                    5156        LD      H,B\r
+    00002390 18 66                 5157        JR      ?0557\r
+    00002392                       5158 ?0347:\r
+    00002392 FD 6E 4C              5159        LD      L,(IY+76)\r
+    00002395 DD 75 FA              5160        LD      (IX-6),L\r
+    00002398 FD 66 4D              5161        LD      H,(IY+77)\r
+    0000239B DD 74 FB              5162        LD      (IX-5),H\r
+    0000239E 0E 4A                 5163        LD      C,74\r
+    000023A0 09                    5164        ADD     HL,BC\r
+    000023A1 E5                    5165        PUSH    HL\r
+    000023A2 0E 03                 5166        LD      C,3\r
+    000023A4 DD 5E FA              5167        LD      E,(IX-6)\r
+    000023A7 DD 56 FB              5168        LD      D,(IX-5)\r
+    000023AA CD 5F 24              5169        CALL    LWRD ?0666\r
+    000023AD 4D                    5170        LD      C,L\r
+    000023AE 44                    5171        LD      B,H\r
+    000023AF E1                    5172        POP     HL\r
+    000023B0 71                    5173        LD      (HL),C\r
+    000023B1 23                    5174        INC     HL\r
+    000023B2 70                    5175        LD      (HL),B\r
+    000023B3 21 4A 00              5176        LD      HL,74\r
+    000023B6 DD 4E FA              5177        LD      C,(IX-6)\r
+    000023B9 DD 46 FB              5178        LD      B,(IX-5)\r
+    000023BC 09                    5179        ADD     HL,BC\r
+    000023BD 56                    5180        LD      D,(HL)\r
+    000023BE 23                    5181        INC     HL\r
+    000023BF 66                    5182        LD      H,(HL)\r
+    000023C0 6A                    5183        LD      L,D\r
+    000023C1 11 48 00              5184        LD      DE,72\r
+    000023C4 19                    5185        ADD     HL,DE\r
+    000023C5 FD E5                 5186        PUSH    IY\r
+    000023C7 D1                    5187        POP     DE\r
+    000023C8 73                    5188        LD      (HL),E\r
+    000023C9 23                    5189        INC     HL\r
+    000023CA 72                    5190        LD      (HL),D\r
+    000023CB 21 4A 00              5191        LD      HL,74\r
+    000023CE 09                    5192        ADD     HL,BC\r
+    000023CF 7E                    5193        LD      A,(HL)\r
+    000023D0 23                    5194        INC     HL\r
+    000023D1 66                    5195        LD      H,(HL)\r
+    000023D2 6F                    5196        LD      L,A\r
+    000023D3 23                    5197        INC     HL\r
+    000023D4 23                    5198        INC     HL\r
+    000023D5 E5                    5199        PUSH    HL\r
+    000023D6 DD 6E FE              5200        LD      L,(IX-2)\r
+    000023D9 DD 66 FF              5201        LD      H,(IX-1)\r
+    000023DC 7E                    5202        LD      A,(HL)\r
+    000023DD 23                    5203        INC     HL\r
+    000023DE 66                    5204        LD      H,(HL)\r
+    000023DF 6F                    5205        LD      L,A\r
+    000023E0 DD 4E FC              5206        LD      C,(IX-4)\r
+    000023E3 DD 46 FD              5207        LD      B,(IX-3)\r
+    000023E6 09                    5208        ADD     HL,BC\r
+    000023E7 46                    5209        LD      B,(HL)\r
+    000023E8 E1                    5210        POP     HL\r
+    000023E9 70                    5211        LD      (HL),B\r
+    000023EA 21 4A 00              5212        LD      HL,74\r
+    000023ED DD 4E FA              5213        LD      C,(IX-6)\r
+    000023F0 DD 46 FB              5214        LD      B,(IX-5)\r
+    000023F3 09                    5215        ADD     HL,BC\r
+    000023F4 46                    5216        LD      B,(HL)\r
+    000023F5 23                    5217        INC     HL\r
+    000023F6 66                    5218        LD      H,(HL)\r
+    000023F7 68                    5219        LD      L,B\r
+    000023F8                       5220 ?0557:\r
+    000023F8 E5                    5221        PUSH    HL\r
+    000023F9 FD E1                 5222        POP     IY\r
+    000023FB                       5223 ?0350:\r
+    000023FB                       5224 ?0345:\r
+    000023FB                       5225 ?0332:\r
+    000023FB                       5226 ?0330:\r
+    000023FB                       5227 ?0324:\r
+    000023FB                       5228 ?0318:\r
+    000023FB DD 36 F8 FF           5229        LD      (IX-8),255\r
+    000023FF DD 36 F9 FF           5230        LD      (IX-7),255\r
+    00002403                       5231 ?0312:\r
+    00002403                       5232 ?0305:\r
+    00002403 DD 34 F8              5233        INC     (IX-8)\r
+    00002406 20 03                 5234        JR      NZ,?0555\r
+    00002408 DD 34 F9              5235        INC     (IX-7)\r
+    0000240B                       5236 ?0555:\r
+    0000240B DD 6E FE              5237        LD      L,(IX-2)\r
+    0000240E DD 66 FF              5238        LD      H,(IX-1)\r
+    00002411 34                    5239        INC     (HL)\r
+    00002412 23                    5240        INC     HL\r
+    00002413 20 01                 5241        JR      NZ,?0556\r
+    00002415 34                    5242        INC     (HL)\r
+    00002416                       5243 ?0556:\r
+    00002416 01 3F 80              5244        LD      BC,32831\r
+    00002419 DD 6E F4              5245        LD      L,(IX-12)\r
+    0000241C DD 66 F5              5246        LD      H,(IX-11)\r
+    0000241F 78                    5247        LD      A,B\r
+    00002420 AC                    5248        XOR     H\r
+    00002421 67                    5249        LD      H,A\r
+    00002422 ED 42                 5250        SBC     HL,BC\r
+    00002424 DA DB 20              5251        JP      C,?0301\r
+    00002427                       5252 ?0299:\r
+    00002427                       5253 ?0352:\r
+    00002427 21 4A 00              5254        LD      HL,74\r
+    0000242A DD 4E AE              5255        LD      C,(IX-82)\r
+    0000242D DD 46 AF              5256        LD      B,(IX-81)\r
+    00002430 09                    5257        ADD     HL,BC\r
+    00002431 7E                    5258        LD      A,(HL)\r
+    00002432 23                    5259        INC     HL\r
+    00002433 B6                    5260        OR      (HL)\r
+    00002434 20 1F                 5261        JR      NZ,?0351\r
+    00002436 69                    5262        LD      L,C\r
+    00002437 60                    5263        LD      H,B\r
+    00002438 7E                    5264        LD      A,(HL)\r
+    00002439 FE 03                 5265        CP      3\r
+    0000243B 20 18                 5266        JR      NZ,?0351\r
+    0000243D                       5267 ?0355:\r
+    0000243D                       5268 ?0354:\r
+    0000243D                       5269 ?0353:\r
+    0000243D E5                    5270        PUSH    HL\r
+    0000243E FD E1                 5271        POP     IY\r
+    00002440 21 48 00              5272        LD      HL,72\r
+    00002443 09                    5273        ADD     HL,BC\r
+    00002444 56                    5274        LD      D,(HL)\r
+    00002445 DD 72 AE              5275        LD      (IX-82),D\r
+    00002448 23                    5276        INC     HL\r
+    00002449 66                    5277        LD      H,(HL)\r
+    0000244A DD 74 AF              5278        LD      (IX-81),H\r
+    0000244D FD E5                 5279        PUSH    IY\r
+    0000244F D1                    5280        POP     DE\r
+    00002450 CD 3B 00              5281        CALL    LWRD ?0639\r
+    00002453 18 D2                 5282        JR      ?0299\r
+    00002455                       5283 ?0351:\r
+    00002455 69                    5284        LD      L,C\r
+    00002456 60                    5285        LD      H,B\r
+    00002457                       5286 ?0356:\r
+    00002457 C3 7B 04              5287        JP      LWRD ?0630\r
+    0000245A                       5288 ?0667:\r
+    0000245A 0E 01                 5289        LD      C,1\r
+    0000245C                       5290 ?0668:\r
+    0000245C FD E5                 5291        PUSH    IY\r
+    0000245E D1                    5292        POP     DE\r
+    0000245F                       5293 ?0666:\r
+    0000245F 3E 16                 5294        LD      A,BYTE3 dbNewExpression\r
+    00002461 21 16 20              5295        LD      HL,LWRD dbNewExpression\r
+    00002464 C3 00 00              5296        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00002467                       5297 ?0669:\r
+    00002467 FD 5E 02              5298        LD      E,(IY+2)\r
+    0000246A 3E BC                 5299        LD      A,BYTE3 dbOperatorPrecedence\r
+    0000246C 21 BC 1F              5300        LD      HL,LWRD dbOperatorPrecedence\r
+    0000246F CD 00 00              5301        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002472 4D                    5302        LD      C,L\r
+    00002473 06 00                 5303        LD      B,0\r
+    00002475 DD 6E F4              5304        LD      L,(IX-12)\r
+    00002478 DD 66 F5              5305        LD      H,(IX-11)\r
+    0000247B F6 80                 5306        OR      128\r
+    0000247D ED 42                 5307        SBC     HL,BC\r
+    0000247F C9                    5308        RET\r
+    00002480                       5309 ?0670:\r
+    00002480 FD 5E 02              5310        LD      E,(IY+2)\r
+    00002483 3E BC                 5311        LD      A,BYTE3 dbOperatorPrecedence\r
+    00002485 21 BC 1F              5312        LD      HL,LWRD dbOperatorPrecedence\r
+    00002488 CD 00 00              5313        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000248B 4D                    5314        LD      C,L\r
+    0000248C DD 6E F4              5315        LD      L,(IX-12)\r
+    0000248F DD 66 F5              5316        LD      H,(IX-11)\r
+    00002492 F6 80                 5317        OR      128\r
+    00002494 ED 42                 5318        SBC     HL,BC\r
+    00002496 C9                    5319        RET\r
+    00002497                       5320 dbDeleteExpression:\r
+    00002497 DD E5                 5321        PUSH    IX\r
+    00002499 D5                    5322        PUSH    DE\r
+    0000249A DD E1                 5323        POP     IX\r
+    0000249C 1A                    5324        LD      A,(DE)\r
+    0000249D FE 03                 5325        CP      3\r
+    0000249F 20 1C                 5326        JR      NZ,?0358\r
+    000024A1                       5327 ?0357:\r
+    000024A1 DD 5E 48              5328        LD      E,(IX+72)\r
+    000024A4 DD 56 49              5329        LD      D,(IX+73)\r
+    000024A7 3E 97                 5330        LD      A,BYTE3 dbDeleteExpression\r
+    000024A9 21 97 24              5331        LD      HL,LWRD dbDeleteExpression\r
+    000024AC CD 00 00              5332        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000024AF DD 5E 4A              5333        LD      E,(IX+74)\r
+    000024B2 DD 56 4B              5334        LD      D,(IX+75)\r
+    000024B5 3E 97                 5335        LD      A,BYTE3 dbDeleteExpression\r
+    000024B7 21 97 24              5336        LD      HL,LWRD dbDeleteExpression\r
+    000024BA CD 00 00              5337        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000024BD                       5338 ?0358:\r
+    000024BD C3 83 0B              5339        JP      LWRD ?0636\r
+    000024C0                       5340 dbEvaluateExpression:\r
+    000024C0 FD E5                 5341        PUSH    IY\r
+    000024C2 DD E5                 5342        PUSH    IX\r
+    000024C4 DD 21 00 00           5343        LD      IX,0\r
+    000024C8 DD 39                 5344        ADD     IX,SP\r
+    000024CA C5                    5345        PUSH    BC\r
+    000024CB F5                    5346        PUSH    AF\r
+    000024CC F5                    5347        PUSH    AF\r
+    000024CD F5                    5348        PUSH    AF\r
+    000024CE D5                    5349        PUSH    DE\r
+    000024CF FD E1                 5350        POP     IY\r
+    000024D1 1A                    5351        LD      A,(DE)\r
+    000024D2 FE 03                 5352        CP      3\r
+    000024D4 C2 90 28              5353        JP      NZ,?0360\r
+    000024D7                       5354 ?0359:\r
+    000024D7 FD 5E 48              5355        LD      E,(IY+72)\r
+    000024DA FD 56 49              5356        LD      D,(IY+73)\r
+    000024DD 3E C0                 5357        LD      A,BYTE3 dbEvaluateExpression\r
+    000024DF 21 C0 24              5358        LD      HL,LWRD dbEvaluateExpression\r
+    000024E2 CD 00 00              5359        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000024E5 DD 4E FE              5360        LD      C,(IX-2)\r
+    000024E8 DD 46 FF              5361        LD      B,(IX-1)\r
+    000024EB FD 5E 4A              5362        LD      E,(IY+74)\r
+    000024EE FD 56 4B              5363        LD      D,(IY+75)\r
+    000024F1 3E C0                 5364        LD      A,BYTE3 dbEvaluateExpression\r
+    000024F3 21 C0 24              5365        LD      HL,LWRD dbEvaluateExpression\r
+    000024F6 CD 00 00              5366        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000024F9 FD 5E 02              5367        LD      E,(IY+2)\r
+    000024FC 3E BC                 5368        LD      A,BYTE3 dbOperatorPrecedence\r
+    000024FE 21 BC 1F              5369        LD      HL,LWRD dbOperatorPrecedence\r
+    00002501 CD 00 00              5370        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002504 7D                    5371        LD      A,L\r
+    00002505 FE 05                 5372        CP      5\r
+    00002507 FD 6E 48              5373        LD      L,(IY+72)\r
+    0000250A FD 66 49              5374        LD      H,(IY+73)\r
+    0000250D 23                    5375        INC     HL\r
+    0000250E D2 05 26              5376        JP      NC,?0362\r
+    00002511                       5377 ?0361:\r
+    00002511 46                    5378        LD      B,(HL)\r
+    00002512 05                    5379        DEC     B\r
+    00002513 C2 05 2A              5380        JP      NZ,?0454\r
+    00002516 FD 6E 4A              5381        LD      L,(IY+74)\r
+    00002519 FD 66 4B              5382        LD      H,(IY+75)\r
+    0000251C 23                    5383        INC     HL\r
+    0000251D 46                    5384        LD      B,(HL)\r
+    0000251E 05                    5385        DEC     B\r
+    0000251F C2 05 2A              5386        JP      NZ,?0454\r
+    00002522                       5387 ?0366:\r
+    00002522                       5388 ?0365:\r
+    00002522                       5389 ?0363:\r
+    00002522 FD 36 01 01           5390        LD      (IY+1),1\r
+    00002526 FD 7E 02              5391        LD      A,(IY+2)\r
+    00002529 FE 2B                 5392        CP      43\r
+    0000252B 20 2D                 5393        JR      NZ,?0369\r
+    0000252D                       5394 ?0368:\r
+    0000252D FD 6E 4A              5395        LD      L,(IY+74)\r
+    00002530 FD 66 4B              5396        LD      H,(IY+75)\r
+    00002533 0E 24                 5397        LD      C,36\r
+    00002535 09                    5398        ADD     HL,BC\r
+    00002536 4E                    5399        LD      C,(HL)\r
+    00002537 23                    5400        INC     HL\r
+    00002538 46                    5401        LD      B,(HL)\r
+    00002539 23                    5402        INC     HL\r
+    0000253A 5E                    5403        LD      E,(HL)\r
+    0000253B 23                    5404        INC     HL\r
+    0000253C 56                    5405        LD      D,(HL)\r
+    0000253D D5                    5406        PUSH    DE\r
+    0000253E C5                    5407        PUSH    BC\r
+    0000253F FD 6E 48              5408        LD      L,(IY+72)\r
+    00002542 FD 66 49              5409        LD      H,(IY+73)\r
+    00002545 01 24 00              5410        LD      BC,36\r
+    00002548 09                    5411        ADD     HL,BC\r
+    00002549 4E                    5412        LD      C,(HL)\r
+    0000254A 23                    5413        INC     HL\r
+    0000254B 46                    5414        LD      B,(HL)\r
+    0000254C 23                    5415        INC     HL\r
+    0000254D 5E                    5416        LD      E,(HL)\r
+    0000254E 23                    5417        INC     HL\r
+    0000254F 56                    5418        LD      D,(HL)\r
+    00002550 69                    5419        LD      L,C\r
+    00002551 60                    5420        LD      H,B\r
+    00002552 C1                    5421        POP     BC\r
+    00002553 09                    5422        ADD     HL,BC\r
+    00002554 EB                    5423        EX      DE,HL\r
+    00002555 C1                    5424        POP     BC\r
+    00002556 ED 4A                 5425        ADC     HL,BC\r
+    00002558 18 33                 5426        JR      ?0564\r
+    0000255A                       5427 ?0369:\r
+    0000255A FE 2D                 5428        CP      45\r
+    0000255C 20 34                 5429        JR      NZ,?0370\r
+    0000255E FD 6E 4A              5430        LD      L,(IY+74)\r
+    00002561 FD 66 4B              5431        LD      H,(IY+75)\r
+    00002564 0E 24                 5432        LD      C,36\r
+    00002566 09                    5433        ADD     HL,BC\r
+    00002567 4E                    5434        LD      C,(HL)\r
+    00002568 23                    5435        INC     HL\r
+    00002569 46                    5436        LD      B,(HL)\r
+    0000256A 23                    5437        INC     HL\r
+    0000256B 5E                    5438        LD      E,(HL)\r
+    0000256C 23                    5439        INC     HL\r
+    0000256D 56                    5440        LD      D,(HL)\r
+    0000256E 69                    5441        LD      L,C\r
+    0000256F 60                    5442        LD      H,B\r
+    00002570 D5                    5443        PUSH    DE\r
+    00002571 E5                    5444        PUSH    HL\r
+    00002572 FD 6E 48              5445        LD      L,(IY+72)\r
+    00002575 FD 66 49              5446        LD      H,(IY+73)\r
+    00002578 01 24 00              5447        LD      BC,36\r
+    0000257B 09                    5448        ADD     HL,BC\r
+    0000257C 4E                    5449        LD      C,(HL)\r
+    0000257D 23                    5450        INC     HL\r
+    0000257E 46                    5451        LD      B,(HL)\r
+    0000257F 23                    5452        INC     HL\r
+    00002580 5E                    5453        LD      E,(HL)\r
+    00002581 23                    5454        INC     HL\r
+    00002582 56                    5455        LD      D,(HL)\r
+    00002583 69                    5456        LD      L,C\r
+    00002584 60                    5457        LD      H,B\r
+    00002585 A7                    5458        AND     A\r
+    00002586 C1                    5459        POP     BC\r
+    00002587 ED 42                 5460        SBC     HL,BC\r
+    00002589 EB                    5461        EX      DE,HL\r
+    0000258A C1                    5462        POP     BC\r
+    0000258B ED 42                 5463        SBC     HL,BC\r
+    0000258D                       5464 ?0564:\r
+    0000258D 4D                    5465        LD      C,L\r
+    0000258E 44                    5466        LD      B,H\r
+    0000258F EB                    5467        EX      DE,HL\r
+    00002590 18 58                 5468        JR      ?0583\r
+    00002592                       5469 ?0370:\r
+    00002592 FE 2A                 5470        CP      42\r
+    00002594 20 29                 5471        JR      NZ,?0371\r
+    00002596 FD 6E 48              5472        LD      L,(IY+72)\r
+    00002599 FD 66 49              5473        LD      H,(IY+73)\r
+    0000259C 0E 24                 5474        LD      C,36\r
+    0000259E 09                    5475        ADD     HL,BC\r
+    0000259F 4E                    5476        LD      C,(HL)\r
+    000025A0 23                    5477        INC     HL\r
+    000025A1 46                    5478        LD      B,(HL)\r
+    000025A2 23                    5479        INC     HL\r
+    000025A3 5E                    5480        LD      E,(HL)\r
+    000025A4 23                    5481        INC     HL\r
+    000025A5 56                    5482        LD      D,(HL)\r
+    000025A6 D5                    5483        PUSH    DE\r
+    000025A7 C5                    5484        PUSH    BC\r
+    000025A8 FD 6E 4A              5485        LD      L,(IY+74)\r
+    000025AB FD 66 4B              5486        LD      H,(IY+75)\r
+    000025AE 01 24 00              5487        LD      BC,36\r
+    000025B1 09                    5488        ADD     HL,BC\r
+    000025B2 5E                    5489        LD      E,(HL)\r
+    000025B3 23                    5490        INC     HL\r
+    000025B4 56                    5491        LD      D,(HL)\r
+    000025B5 23                    5492        INC     HL\r
+    000025B6 4E                    5493        LD      C,(HL)\r
+    000025B7 23                    5494        INC     HL\r
+    000025B8 46                    5495        LD      B,(HL)\r
+    000025B9 EB                    5496        EX      DE,HL\r
+    000025BA CD 00 00              5497        CALL    LWRD ?L_MUL_L03\r
+    000025BD 18 2B                 5498        JR      ?0583\r
+    000025BF                       5499 ?0371:\r
+    000025BF FE 2F                 5500        CP      47\r
+    000025C1 20 33                 5501        JR      NZ,?0367\r
+    000025C3 FD 6E 4A              5502        LD      L,(IY+74)\r
+    000025C6 FD 66 4B              5503        LD      H,(IY+75)\r
+    000025C9 0E 24                 5504        LD      C,36\r
+    000025CB 09                    5505        ADD     HL,BC\r
+    000025CC 4E                    5506        LD      C,(HL)\r
+    000025CD 23                    5507        INC     HL\r
+    000025CE 46                    5508        LD      B,(HL)\r
+    000025CF 23                    5509        INC     HL\r
+    000025D0 5E                    5510        LD      E,(HL)\r
+    000025D1 23                    5511        INC     HL\r
+    000025D2 56                    5512        LD      D,(HL)\r
+    000025D3 D5                    5513        PUSH    DE\r
+    000025D4 C5                    5514        PUSH    BC\r
+    000025D5 FD 6E 48              5515        LD      L,(IY+72)\r
+    000025D8 FD 66 49              5516        LD      H,(IY+73)\r
+    000025DB 01 24 00              5517        LD      BC,36\r
+    000025DE 09                    5518        ADD     HL,BC\r
+    000025DF 5E                    5519        LD      E,(HL)\r
+    000025E0 23                    5520        INC     HL\r
+    000025E1 56                    5521        LD      D,(HL)\r
+    000025E2 23                    5522        INC     HL\r
+    000025E3 4E                    5523        LD      C,(HL)\r
+    000025E4 23                    5524        INC     HL\r
+    000025E5 46                    5525        LD      B,(HL)\r
+    000025E6 EB                    5526        EX      DE,HL\r
+    000025E7 CD 00 00              5527        CALL    LWRD ?SL_DIV_L03\r
+    000025EA                       5528 ?0583:\r
+    000025EA DD 75 F8              5529        LD      (IX-8),L\r
+    000025ED DD 74 F9              5530        LD      (IX-7),H\r
+    000025F0 DD 71 FA              5531        LD      (IX-6),C\r
+    000025F3 DD 70 FB              5532        LD      (IX-5),B\r
+    000025F6                       5533 ?0367:\r
+    000025F6 DD 4E FA              5534        LD      C,(IX-6)\r
+    000025F9 DD 46 FB              5535        LD      B,(IX-5)\r
+    000025FC DD 6E F8              5536        LD      L,(IX-8)\r
+    000025FF DD 66 F9              5537        LD      H,(IX-7)\r
+    00002602 C3 AC 29              5538        JP      LWRD ?0606\r
+    00002605                       5539 ?0364:\r
+    00002605                       5540 ?0362:\r
+    00002605 7E                    5541        LD      A,(HL)\r
+    00002606 FE 03                 5542        CP      3\r
+    00002608 CA 3A 27              5543        JP      Z,?0377\r
+    0000260B FD 6E 4A              5544        LD      L,(IY+74)\r
+    0000260E FD 66 4B              5545        LD      H,(IY+75)\r
+    00002611 23                    5546        INC     HL\r
+    00002612 7E                    5547        LD      A,(HL)\r
+    00002613 FE 03                 5548        CP      3\r
+    00002615 CA 3A 27              5549        JP      Z,?0377\r
+    00002618                       5550 ?0376:\r
+    00002618                       5551 ?0375:\r
+    00002618                       5552 ?0373:\r
+    00002618 FD 36 01 04           5553        LD      (IY+1),4\r
+    0000261C FD 5E 02              5554        LD      E,(IY+2)\r
+    0000261F CD 00 00              5555        CALL    LWRD ?C_V_SWITCH_L06\r
+    00002622 07 00                 5556        DEFW    7\r
+    00002624 26                    5557        DEFB    38\r
+    00002625 3C                    5558        DEFB    60\r
+    00002626 3D                    5559        DEFB    61\r
+    00002627 3E                    5560        DEFB    62\r
+    00002628 5B                    5561        DEFB    91\r
+    00002629 5D                    5562        DEFB    93\r
+    0000262A 7C                    5563        DEFB    124\r
+    0000262B 3A 27                 5564        DEFW    ?0377\r
+    0000262D 18 27                 5565        DEFW    ?0399\r
+    0000262F DC 26                 5566        DEFW    ?0394\r
+    00002631 B9 26                 5567        DEFW    ?0390\r
+    00002633 96 26                 5568        DEFW    ?0386\r
+    00002635 3B 26                 5569        DEFW    ?0378\r
+    00002637 79 26                 5570        DEFW    ?0382\r
+    00002639 00 27                 5571        DEFW    ?0398\r
+    0000263B                       5572 ?0378:\r
+    0000263B FD 6E 4A              5573        LD      L,(IY+74)\r
+    0000263E FD 66 4B              5574        LD      H,(IY+75)\r
+    00002641 01 24 00              5575        LD      BC,36\r
+    00002644 09                    5576        ADD     HL,BC\r
+    00002645 4E                    5577        LD      C,(HL)\r
+    00002646 23                    5578        INC     HL\r
+    00002647 46                    5579        LD      B,(HL)\r
+    00002648 23                    5580        INC     HL\r
+    00002649 5E                    5581        LD      E,(HL)\r
+    0000264A 23                    5582        INC     HL\r
+    0000264B 56                    5583        LD      D,(HL)\r
+    0000264C D5                    5584        PUSH    DE\r
+    0000264D C5                    5585        PUSH    BC\r
+    0000264E FD 6E 48              5586        LD      L,(IY+72)\r
+    00002651 FD 66 49              5587        LD      H,(IY+73)\r
+    00002654 01 24 00              5588        LD      BC,36\r
+    00002657 09                    5589        ADD     HL,BC\r
+    00002658 4E                    5590        LD      C,(HL)\r
+    00002659 23                    5591        INC     HL\r
+    0000265A 46                    5592        LD      B,(HL)\r
+    0000265B 23                    5593        INC     HL\r
+    0000265C 5E                    5594        LD      E,(HL)\r
+    0000265D 23                    5595        INC     HL\r
+    0000265E 56                    5596        LD      D,(HL)\r
+    0000265F 69                    5597        LD      L,C\r
+    00002660 60                    5598        LD      H,B\r
+    00002661 C1                    5599        POP     BC\r
+    00002662 A7                    5600        AND     A\r
+    00002663 ED 42                 5601        SBC     HL,BC\r
+    00002665 C1                    5602        POP     BC\r
+    00002666 20 0B                 5603        JR      NZ,?0380\r
+    00002668 EB                    5604        EX      DE,HL\r
+    00002669 ED 42                 5605        SBC     HL,BC\r
+    0000266B 20 06                 5606        JR      NZ,?0380\r
+    0000266D 4D                    5607        LD      C,L\r
+    0000266E 44                    5608        LD      B,H\r
+    0000266F 23                    5609        INC     HL\r
+    00002670 C3 2E 27              5610        JP      LWRD ?0598\r
+    00002673                       5611 ?0380:\r
+    00002673 01 00 00              5612        LD      BC,0\r
+    00002676 C3 FC 26              5613        JP      LWRD ?0396\r
+    00002679                       5614 ?0382:\r
+    00002679 FD 6E 4A              5615        LD      L,(IY+74)\r
+    0000267C FD 66 4B              5616        LD      H,(IY+75)\r
+    0000267F 01 24 00              5617        LD      BC,36\r
+    00002682 09                    5618        ADD     HL,BC\r
+    00002683 4E                    5619        LD      C,(HL)\r
+    00002684 23                    5620        INC     HL\r
+    00002685 46                    5621        LD      B,(HL)\r
+    00002686 23                    5622        INC     HL\r
+    00002687 5E                    5623        LD      E,(HL)\r
+    00002688 23                    5624        INC     HL\r
+    00002689 56                    5625        LD      D,(HL)\r
+    0000268A D5                    5626        PUSH    DE\r
+    0000268B C5                    5627        PUSH    BC\r
+    0000268C CD 08 2A              5628        CALL    LWRD ?0671\r
+    0000268F 01 00 00              5629        LD      BC,0\r
+    00002692 30 68                 5630        JR      NC,?0396\r
+    00002694 18 61                 5631        JR      ?0597\r
+    00002696                       5632 ?0386:\r
+    00002696 FD 6E 48              5633        LD      L,(IY+72)\r
+    00002699 FD 66 49              5634        LD      H,(IY+73)\r
+    0000269C 01 24 00              5635        LD      BC,36\r
+    0000269F 09                    5636        ADD     HL,BC\r
+    000026A0 4E                    5637        LD      C,(HL)\r
+    000026A1 23                    5638        INC     HL\r
+    000026A2 46                    5639        LD      B,(HL)\r
+    000026A3 23                    5640        INC     HL\r
+    000026A4 5E                    5641        LD      E,(HL)\r
+    000026A5 23                    5642        INC     HL\r
+    000026A6 56                    5643        LD      D,(HL)\r
+    000026A7 D5                    5644        PUSH    DE\r
+    000026A8 C5                    5645        PUSH    BC\r
+    000026A9 FD 6E 4A              5646        LD      L,(IY+74)\r
+    000026AC FD 66 4B              5647        LD      H,(IY+75)\r
+    000026AF CD 0E 2A              5648        CALL    LWRD ?0672\r
+    000026B2 01 00 00              5649        LD      BC,0\r
+    000026B5 30 45                 5650        JR      NC,?0396\r
+    000026B7 18 3E                 5651        JR      ?0597\r
+    000026B9                       5652 ?0390:\r
+    000026B9 FD 6E 48              5653        LD      L,(IY+72)\r
+    000026BC FD 66 49              5654        LD      H,(IY+73)\r
+    000026BF 01 24 00              5655        LD      BC,36\r
+    000026C2 09                    5656        ADD     HL,BC\r
+    000026C3 4E                    5657        LD      C,(HL)\r
+    000026C4 23                    5658        INC     HL\r
+    000026C5 46                    5659        LD      B,(HL)\r
+    000026C6 23                    5660        INC     HL\r
+    000026C7 5E                    5661        LD      E,(HL)\r
+    000026C8 23                    5662        INC     HL\r
+    000026C9 56                    5663        LD      D,(HL)\r
+    000026CA D5                    5664        PUSH    DE\r
+    000026CB C5                    5665        PUSH    BC\r
+    000026CC FD 6E 4A              5666        LD      L,(IY+74)\r
+    000026CF FD 66 4B              5667        LD      H,(IY+75)\r
+    000026D2 CD 0E 2A              5668        CALL    LWRD ?0672\r
+    000026D5 01 00 00              5669        LD      BC,0\r
+    000026D8 38 22                 5670        JR      C,?0396\r
+    000026DA 18 1B                 5671        JR      ?0597\r
+    000026DC                       5672 ?0394:\r
+    000026DC FD 6E 4A              5673        LD      L,(IY+74)\r
+    000026DF FD 66 4B              5674        LD      H,(IY+75)\r
+    000026E2 01 24 00              5675        LD      BC,36\r
+    000026E5 09                    5676        ADD     HL,BC\r
+    000026E6 4E                    5677        LD      C,(HL)\r
+    000026E7 23                    5678        INC     HL\r
+    000026E8 46                    5679        LD      B,(HL)\r
+    000026E9 23                    5680        INC     HL\r
+    000026EA 5E                    5681        LD      E,(HL)\r
+    000026EB 23                    5682        INC     HL\r
+    000026EC 56                    5683        LD      D,(HL)\r
+    000026ED D5                    5684        PUSH    DE\r
+    000026EE C5                    5685        PUSH    BC\r
+    000026EF CD 08 2A              5686        CALL    LWRD ?0671\r
+    000026F2 01 00 00              5687        LD      BC,0\r
+    000026F5 38 05                 5688        JR      C,?0396\r
+    000026F7                       5689 ?0597:\r
+    000026F7 21 01 00              5690        LD      HL,1\r
+    000026FA 18 32                 5691        JR      ?0598\r
+    000026FC                       5692 ?0396:\r
+    000026FC 69                    5693        LD      L,C\r
+    000026FD 60                    5694        LD      H,B\r
+    000026FE 18 2E                 5695        JR      ?0598\r
+    00002700                       5696 ?0398:\r
+    00002700 FD 6E 4A              5697        LD      L,(IY+74)\r
+    00002703 FD 66 4B              5698        LD      H,(IY+75)\r
+    00002706 01 24 00              5699        LD      BC,36\r
+    00002709 09                    5700        ADD     HL,BC\r
+    0000270A 4E                    5701        LD      C,(HL)\r
+    0000270B 23                    5702        INC     HL\r
+    0000270C 46                    5703        LD      B,(HL)\r
+    0000270D 23                    5704        INC     HL\r
+    0000270E 5E                    5705        LD      E,(HL)\r
+    0000270F 23                    5706        INC     HL\r
+    00002710 56                    5707        LD      D,(HL)\r
+    00002711 D5                    5708        PUSH    DE\r
+    00002712 C5                    5709        PUSH    BC\r
+    00002713 CD 1D 2A              5710        CALL    LWRD ?0673\r
+    00002716 18 16                 5711        JR      ?0598\r
+    00002718                       5712 ?0399:\r
+    00002718 FD 6E 4A              5713        LD      L,(IY+74)\r
+    0000271B FD 66 4B              5714        LD      H,(IY+75)\r
+    0000271E 01 24 00              5715        LD      BC,36\r
+    00002721 09                    5716        ADD     HL,BC\r
+    00002722 4E                    5717        LD      C,(HL)\r
+    00002723 23                    5718        INC     HL\r
+    00002724 46                    5719        LD      B,(HL)\r
+    00002725 23                    5720        INC     HL\r
+    00002726 5E                    5721        LD      E,(HL)\r
+    00002727 23                    5722        INC     HL\r
+    00002728 56                    5723        LD      D,(HL)\r
+    00002729 D5                    5724        PUSH    DE\r
+    0000272A C5                    5725        PUSH    BC\r
+    0000272B CD 32 2A              5726        CALL    LWRD ?0674\r
+    0000272E                       5727 ?0598:\r
+    0000272E FD 75 24              5728        LD      (IY+36),L\r
+    00002731 FD 74 25              5729        LD      (IY+37),H\r
+    00002734 FD 71 26              5730        LD      (IY+38),C\r
+    00002737 FD 70 27              5731        LD      (IY+39),B\r
+    0000273A                       5732 ?0377:\r
+    0000273A                       5733 ?0374:\r
+    0000273A FD 6E 48              5734        LD      L,(IY+72)\r
+    0000273D FD 66 49              5735        LD      H,(IY+73)\r
+    00002740 23                    5736        INC     HL\r
+    00002741 7E                    5737        LD      A,(HL)\r
+    00002742 FE 03                 5738        CP      3\r
+    00002744 C2 34 28              5739        JP      NZ,?0404\r
+    00002747 FD 6E 4A              5740        LD      L,(IY+74)\r
+    0000274A FD 66 4B              5741        LD      H,(IY+75)\r
+    0000274D 23                    5742        INC     HL\r
+    0000274E 7E                    5743        LD      A,(HL)\r
+    0000274F FE 03                 5744        CP      3\r
+    00002751 C2 34 28              5745        JP      NZ,?0404\r
+    00002754                       5746 ?0403:\r
+    00002754                       5747 ?0402:\r
+    00002754                       5748 ?0400:\r
+    00002754 FD 6E 4A              5749        LD      L,(IY+74)\r
+    00002757 FD 66 4B              5750        LD      H,(IY+75)\r
+    0000275A 01 28 00              5751        LD      BC,40\r
+    0000275D 09                    5752        ADD     HL,BC\r
+    0000275E 4D                    5753        LD      C,L\r
+    0000275F 44                    5754        LD      B,H\r
+    00002760 FD 6E 48              5755        LD      L,(IY+72)\r
+    00002763 FD 66 49              5756        LD      H,(IY+73)\r
+    00002766 11 28 00              5757        LD      DE,40\r
+    00002769 19                    5758        ADD     HL,DE\r
+    0000276A EB                    5759        EX      DE,HL\r
+    0000276B 3E 00                 5760        LD      A,BYTE3 strcmp\r
+    0000276D 21 00 00              5761        LD      HL,LWRD strcmp\r
+    00002770 CD 00 00              5762        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002773 FD 5E 02              5763        LD      E,(IY+2)\r
+    00002776 CD 00 00              5764        CALL    LWRD ?C_V_SWITCH_L06\r
+    00002779 06 00                 5765        DEFW    6\r
+    0000277B 2B                    5766        DEFB    43\r
+    0000277C 3C                    5767        DEFB    60\r
+    0000277D 3D                    5768        DEFB    61\r
+    0000277E 3E                    5769        DEFB    62\r
+    0000277F 5B                    5770        DEFB    91\r
+    00002780 5D                    5771        DEFB    93\r
+    00002781 34 28                 5772        DEFW    ?0404\r
+    00002783 DF 27                 5773        DEFW    ?0421\r
+    00002785 C6 27                 5774        DEFW    ?0417\r
+    00002787 AD 27                 5775        DEFW    ?0413\r
+    00002789 8F 27                 5776        DEFW    ?0405\r
+    0000278B A0 27                 5777        DEFW    ?0409\r
+    0000278D FF 27                 5778        DEFW    ?0425\r
+    0000278F                       5779 ?0405:\r
+    0000278F FD 36 01 04           5780        LD      (IY+1),4\r
+    00002793 7D                    5781        LD      A,L\r
+    00002794 B4                    5782        OR      H\r
+    00002795 20 04                 5783        JR      NZ,?0407\r
+    00002797 4F                    5784        LD      C,A\r
+    00002798 47                    5785        LD      B,A\r
+    00002799 18 4F                 5786        JR      ?0604\r
+    0000279B                       5787 ?0407:\r
+    0000279B 01 00 00              5788        LD      BC,0\r
+    0000279E 18 4F                 5789        JR      ?0423\r
+    000027A0                       5790 ?0409:\r
+    000027A0 FD 36 01 04           5791        LD      (IY+1),4\r
+    000027A4 CB 7C                 5792        BIT     7,H\r
+    000027A6 01 00 00              5793        LD      BC,0\r
+    000027A9 28 44                 5794        JR      Z,?0423\r
+    000027AB 18 3D                 5795        JR      ?0604\r
+    000027AD                       5796 ?0413:\r
+    000027AD FD 36 01 04           5797        LD      (IY+1),4\r
+    000027B1 4D                    5798        LD      C,L\r
+    000027B2 44                    5799        LD      B,H\r
+    000027B3 21 00 00              5800        LD      HL,0\r
+    000027B6 F6 80                 5801        OR      128\r
+    000027B8 ED 42                 5802        SBC     HL,BC\r
+    000027BA E2 BE 27              5803        JP      PO,?0560\r
+    000027BD AC                    5804        XOR     H\r
+    000027BE                       5805 ?0560:\r
+    000027BE 01 00 00              5806        LD      BC,0\r
+    000027C1 F2 EF 27              5807        JP      P,?0423\r
+    000027C4 18 24                 5808        JR      ?0604\r
+    000027C6                       5809 ?0417:\r
+    000027C6 FD 36 01 04           5810        LD      (IY+1),4\r
+    000027CA 4D                    5811        LD      C,L\r
+    000027CB 44                    5812        LD      B,H\r
+    000027CC 21 00 00              5813        LD      HL,0\r
+    000027CF F6 80                 5814        OR      128\r
+    000027D1 ED 42                 5815        SBC     HL,BC\r
+    000027D3 E2 D7 27              5816        JP      PO,?0561\r
+    000027D6 AC                    5817        XOR     H\r
+    000027D7                       5818 ?0561:\r
+    000027D7 01 00 00              5819        LD      BC,0\r
+    000027DA FA EF 27              5820        JP      M,?0423\r
+    000027DD 18 0B                 5821        JR      ?0604\r
+    000027DF                       5822 ?0421:\r
+    000027DF FD 36 01 04           5823        LD      (IY+1),4\r
+    000027E3 CB 7C                 5824        BIT     7,H\r
+    000027E5 01 00 00              5825        LD      BC,0\r
+    000027E8 20 05                 5826        JR      NZ,?0423\r
+    000027EA                       5827 ?0604:\r
+    000027EA 21 01 00              5828        LD      HL,1\r
+    000027ED 18 02                 5829        JR      ?0424\r
+    000027EF                       5830 ?0423:\r
+    000027EF 69                    5831        LD      L,C\r
+    000027F0 60                    5832        LD      H,B\r
+    000027F1                       5833 ?0424:\r
+    000027F1 FD 75 24              5834        LD      (IY+36),L\r
+    000027F4 FD 74 25              5835        LD      (IY+37),H\r
+    000027F7 FD 71 26              5836        LD      (IY+38),C\r
+    000027FA FD 70 27              5837        LD      (IY+39),B\r
+    000027FD 18 35                 5838        JR      ?0404\r
+    000027FF                       5839 ?0425:\r
+    000027FF FD 36 01 03           5840        LD      (IY+1),3\r
+    00002803 FD 6E 48              5841        LD      L,(IY+72)\r
+    00002806 FD 66 49              5842        LD      H,(IY+73)\r
+    00002809 01 28 00              5843        LD      BC,40\r
+    0000280C 09                    5844        ADD     HL,BC\r
+    0000280D 4D                    5845        LD      C,L\r
+    0000280E 44                    5846        LD      B,H\r
+    0000280F 21 28 00              5847        LD      HL,40\r
+    00002812 FD E5                 5848        PUSH    IY\r
+    00002814 D1                    5849        POP     DE\r
+    00002815 CD AB 04              5850        CALL    LWRD ?0653\r
+    00002818 FD 6E 4A              5851        LD      L,(IY+74)\r
+    0000281B FD 66 4B              5852        LD      H,(IY+75)\r
+    0000281E 01 28 00              5853        LD      BC,40\r
+    00002821 09                    5854        ADD     HL,BC\r
+    00002822 4D                    5855        LD      C,L\r
+    00002823 44                    5856        LD      B,H\r
+    00002824 21 28 00              5857        LD      HL,40\r
+    00002827 FD E5                 5858        PUSH    IY\r
+    00002829 D1                    5859        POP     DE\r
+    0000282A 19                    5860        ADD     HL,DE\r
+    0000282B EB                    5861        EX      DE,HL\r
+    0000282C 3E 00                 5862        LD      A,BYTE3 strcat\r
+    0000282E 21 00 00              5863        LD      HL,LWRD strcat\r
+    00002831 CD 00 00              5864        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002834                       5865 ?0404:\r
+    00002834                       5866 ?0401:\r
+    00002834 FD 6E 48              5867        LD      L,(IY+72)\r
+    00002837 FD 66 49              5868        LD      H,(IY+73)\r
+    0000283A 23                    5869        INC     HL\r
+    0000283B 7E                    5870        LD      A,(HL)\r
+    0000283C FE 04                 5871        CP      4\r
+    0000283E C2 05 2A              5872        JP      NZ,?0454\r
+    00002841 FD 6E 4A              5873        LD      L,(IY+74)\r
+    00002844 FD 66 4B              5874        LD      H,(IY+75)\r
+    00002847 23                    5875        INC     HL\r
+    00002848 7E                    5876        LD      A,(HL)\r
+    00002849 FE 04                 5877        CP      4\r
+    0000284B C2 05 2A              5878        JP      NZ,?0454\r
+    0000284E                       5879 ?0429:\r
+    0000284E                       5880 ?0428:\r
+    0000284E                       5881 ?0426:\r
+    0000284E FD 36 01 04           5882        LD      (IY+1),4\r
+    00002852 FD 7E 02              5883        LD      A,(IY+2)\r
+    00002855 FE 26                 5884        CP      38\r
+    00002857 20 19                 5885        JR      NZ,?0432\r
+    00002859                       5886 ?0431:\r
+    00002859 FD 6E 4A              5887        LD      L,(IY+74)\r
+    0000285C FD 66 4B              5888        LD      H,(IY+75)\r
+    0000285F 01 24 00              5889        LD      BC,36\r
+    00002862 09                    5890        ADD     HL,BC\r
+    00002863 4E                    5891        LD      C,(HL)\r
+    00002864 23                    5892        INC     HL\r
+    00002865 46                    5893        LD      B,(HL)\r
+    00002866 23                    5894        INC     HL\r
+    00002867 5E                    5895        LD      E,(HL)\r
+    00002868 23                    5896        INC     HL\r
+    00002869 56                    5897        LD      D,(HL)\r
+    0000286A D5                    5898        PUSH    DE\r
+    0000286B C5                    5899        PUSH    BC\r
+    0000286C CD 1D 2A              5900        CALL    LWRD ?0673\r
+    0000286F C3 AC 29              5901        JP      LWRD ?0606\r
+    00002872                       5902 ?0432:\r
+    00002872 FE 7C                 5903        CP      124\r
+    00002874 C2 05 2A              5904        JP      NZ,?0454\r
+    00002877 FD 6E 4A              5905        LD      L,(IY+74)\r
+    0000287A FD 66 4B              5906        LD      H,(IY+75)\r
+    0000287D 01 24 00              5907        LD      BC,36\r
+    00002880 09                    5908        ADD     HL,BC\r
+    00002881 4E                    5909        LD      C,(HL)\r
+    00002882 23                    5910        INC     HL\r
+    00002883 46                    5911        LD      B,(HL)\r
+    00002884 23                    5912        INC     HL\r
+    00002885 5E                    5913        LD      E,(HL)\r
+    00002886 23                    5914        INC     HL\r
+    00002887 56                    5915        LD      D,(HL)\r
+    00002888 D5                    5916        PUSH    DE\r
+    00002889 C5                    5917        PUSH    BC\r
+    0000288A CD 32 2A              5918        CALL    LWRD ?0674\r
+    0000288D C3 AC 29              5919        JP      LWRD ?0606\r
+    00002890                       5920 ?0430:\r
+    00002890                       5921 ?0427:\r
+    00002890                       5922 ?0372:\r
+    00002890                       5923 ?0360:\r
+    00002890 DD 36 FC FF           5924        LD      (IX-4),255\r
+    00002894 DD 36 FD FF           5925        LD      (IX-3),255\r
+    00002898 79                    5926        LD      A,C\r
+    00002899 B0                    5927        OR      B\r
+    0000289A 28 79                 5928        JR      Z,?0436\r
+    0000289C                       5929 ?0434:\r
+    0000289C 69                    5930        LD      L,C\r
+    0000289D 60                    5931        LD      H,B\r
+    0000289E 7E                    5932        LD      A,(HL)\r
+    0000289F 23                    5933        INC     HL\r
+    000028A0 66                    5934        LD      H,(HL)\r
+    000028A1 6F                    5935        LD      L,A\r
+    000028A2 46                    5936        LD      B,(HL)\r
+    000028A3 DD 70 FA              5937        LD      (IX-6),B\r
+    000028A6 23                    5938        INC     HL\r
+    000028A7 66                    5939        LD      H,(HL)\r
+    000028A8 DD 74 FB              5940        LD      (IX-5),H\r
+    000028AB AF                    5941        XOR     A\r
+    000028AC DD 77 F8              5942        LD      (IX-8),A\r
+    000028AF DD 77 F9              5943        LD      (IX-7),A\r
+    000028B2                       5944 ?0437:\r
+    000028B2 DD 4E FA              5945        LD      C,(IX-6)\r
+    000028B5 DD 46 FB              5946        LD      B,(IX-5)\r
+    000028B8 DD 6E F8              5947        LD      L,(IX-8)\r
+    000028BB DD 66 F9              5948        LD      H,(IX-7)\r
+    000028BE F6 80                 5949        OR      128\r
+    000028C0 ED 42                 5950        SBC     HL,BC\r
+    000028C2 E2 C6 28              5951        JP      PO,?0562\r
+    000028C5 AC                    5952        XOR     H\r
+    000028C6                       5953 ?0562:\r
+    000028C6 F2 15 29              5954        JP      P,?0436\r
+    000028C9                       5955 ?0438:\r
+    000028C9 21 04 00              5956        LD      HL,4\r
+    000028CC FD E5                 5957        PUSH    IY\r
+    000028CE C1                    5958        POP     BC\r
+    000028CF 09                    5959        ADD     HL,BC\r
+    000028D0 4D                    5960        LD      C,L\r
+    000028D1 44                    5961        LD      B,H\r
+    000028D2 DD 6E FE              5962        LD      L,(IX-2)\r
+    000028D5 DD 66 FF              5963        LD      H,(IX-1)\r
+    000028D8 56                    5964        LD      D,(HL)\r
+    000028D9 23                    5965        INC     HL\r
+    000028DA 66                    5966        LD      H,(HL)\r
+    000028DB 6A                    5967        LD      L,D\r
+    000028DC 23                    5968        INC     HL\r
+    000028DD 23                    5969        INC     HL\r
+    000028DE 56                    5970        LD      D,(HL)\r
+    000028DF 23                    5971        INC     HL\r
+    000028E0 66                    5972        LD      H,(HL)\r
+    000028E1 6A                    5973        LD      L,D\r
+    000028E2 E5                    5974        PUSH    HL\r
+    000028E3 DD 6E F8              5975        LD      L,(IX-8)\r
+    000028E6 DD 66 F9              5976        LD      H,(IX-7)\r
+    000028E9 29                    5977        ADD     HL,HL\r
+    000028EA 29                    5978        ADD     HL,HL\r
+    000028EB 5D                    5979        LD      E,L\r
+    000028EC 54                    5980        LD      D,H\r
+    000028ED 29                    5981        ADD     HL,HL\r
+    000028EE 19                    5982        ADD     HL,DE\r
+    000028EF EB                    5983        EX      DE,HL\r
+    000028F0 E1                    5984        POP     HL\r
+    000028F1 19                    5985        ADD     HL,DE\r
+    000028F2 EB                    5986        EX      DE,HL\r
+    000028F3 3E 00                 5987        LD      A,BYTE3 strcmp\r
+    000028F5 21 00 00              5988        LD      HL,LWRD strcmp\r
+    000028F8 CD 00 00              5989        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000028FB 7D                    5990        LD      A,L\r
+    000028FC B4                    5991        OR      H\r
+    000028FD 20 0C                 5992        JR      NZ,?0441\r
+    000028FF                       5993 ?0440:\r
+    000028FF DD 6E F8              5994        LD      L,(IX-8)\r
+    00002902 DD 66 F9              5995        LD      H,(IX-7)\r
+    00002905 DD 75 FC              5996        LD      (IX-4),L\r
+    00002908 DD 74 FD              5997        LD      (IX-3),H\r
+    0000290B                       5998 ?0441:\r
+    0000290B DD 34 F8              5999        INC     (IX-8)\r
+    0000290E 20 A2                 6000        JR      NZ,?0437\r
+    00002910 DD 34 F9              6001        INC     (IX-7)\r
+    00002913 18 9D                 6002        JR      ?0437\r
+    00002915                       6003 ?0436:\r
+    00002915                       6004 ?0435:\r
+    00002915 DD CB FD 7E           6005        BIT     7,(IX-3)\r
+    00002919 20 08                 6006        JR      NZ,?0444\r
+    0000291B DD 7E FE              6007        LD      A,(IX-2)\r
+    0000291E DD B6 FF              6008        OR      (IX-1)\r
+    00002921 20 47                 6009        JR      NZ,?0443\r
+    00002923                       6010 ?0444:\r
+    00002923                       6011 ?0445:\r
+    00002923                       6012 ?0442:\r
+    00002923 FD 7E 04              6013        LD      A,(IY+4)\r
+    00002926 FE 27                 6014        CP      39\r
+    00002928 20 2A                 6015        JR      NZ,?0447\r
+    0000292A                       6016 ?0446:\r
+    0000292A FD 36 01 03           6017        LD      (IY+1),3\r
+    0000292E 21 04 00              6018        LD      HL,4\r
+    00002931 FD E5                 6019        PUSH    IY\r
+    00002933 C1                    6020        POP     BC\r
+    00002934 09                    6021        ADD     HL,BC\r
+    00002935 4D                    6022        LD      C,L\r
+    00002936 44                    6023        LD      B,H\r
+    00002937 03                    6024        INC     BC\r
+    00002938 21 28 00              6025        LD      HL,40\r
+    0000293B FD E5                 6026        PUSH    IY\r
+    0000293D D1                    6027        POP     DE\r
+    0000293E CD AB 04              6028        CALL    LWRD ?0653\r
+    00002941 21 28 00              6029        LD      HL,40\r
+    00002944 FD E5                 6030        PUSH    IY\r
+    00002946 C1                    6031        POP     BC\r
+    00002947 09                    6032        ADD     HL,BC\r
+    00002948 CD 97 04              6033        CALL    LWRD ?0648\r
+    0000294B 09                    6034        ADD     HL,BC\r
+    0000294C 01 27 00              6035        LD      BC,39\r
+    0000294F 09                    6036        ADD     HL,BC\r
+    00002950 70                    6037        LD      (HL),B\r
+    00002951 C3 05 2A              6038        JP      LWRD ?0454\r
+    00002954                       6039 ?0447:\r
+    00002954 FD 36 01 01           6040        LD      (IY+1),1\r
+    00002958 21 04 00              6041        LD      HL,4\r
+    0000295B FD E5                 6042        PUSH    IY\r
+    0000295D C1                    6043        POP     BC\r
+    0000295E 09                    6044        ADD     HL,BC\r
+    0000295F EB                    6045        EX      DE,HL\r
+    00002960 3E 00                 6046        LD      A,BYTE3 atol\r
+    00002962 21 00 00              6047        LD      HL,LWRD atol\r
+    00002965 CD 00 00              6048        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002968 18 42                 6049        JR      ?0606\r
+    0000296A                       6050 ?0448:\r
+    0000296A                       6051 ?0443:\r
+    0000296A DD 6E FE              6052        LD      L,(IX-2)\r
+    0000296D DD 66 FF              6053        LD      H,(IX-1)\r
+    00002970 46                    6054        LD      B,(HL)\r
+    00002971 23                    6055        INC     HL\r
+    00002972 66                    6056        LD      H,(HL)\r
+    00002973 68                    6057        LD      L,B\r
+    00002974 23                    6058        INC     HL\r
+    00002975 23                    6059        INC     HL\r
+    00002976 46                    6060        LD      B,(HL)\r
+    00002977 23                    6061        INC     HL\r
+    00002978 66                    6062        LD      H,(HL)\r
+    00002979 68                    6063        LD      L,B\r
+    0000297A E5                    6064        PUSH    HL\r
+    0000297B DD 6E FC              6065        LD      L,(IX-4)\r
+    0000297E DD 66 FD              6066        LD      H,(IX-3)\r
+    00002981 29                    6067        ADD     HL,HL\r
+    00002982 29                    6068        ADD     HL,HL\r
+    00002983 4D                    6069        LD      C,L\r
+    00002984 44                    6070        LD      B,H\r
+    00002985 29                    6071        ADD     HL,HL\r
+    00002986 09                    6072        ADD     HL,BC\r
+    00002987 4D                    6073        LD      C,L\r
+    00002988 44                    6074        LD      B,H\r
+    00002989 E1                    6075        POP     HL\r
+    0000298A 09                    6076        ADD     HL,BC\r
+    0000298B 01 09 00              6077        LD      BC,9\r
+    0000298E 09                    6078        ADD     HL,BC\r
+    0000298F 7E                    6079        LD      A,(HL)\r
+    00002990 FE 49                 6080        CP      73\r
+    00002992 20 26                 6081        JR      NZ,?0451\r
+    00002994                       6082 ?0450:\r
+    00002994 FD 36 01 01           6083        LD      (IY+1),1\r
+    00002998 DD 4E FC              6084        LD      C,(IX-4)\r
+    0000299B DD 46 FD              6085        LD      B,(IX-3)\r
+    0000299E DD 5E FE              6086        LD      E,(IX-2)\r
+    000029A1 DD 56 FF              6087        LD      D,(IX-1)\r
+    000029A4 3E FD                 6088        LD      A,BYTE3 dbGetLong\r
+    000029A6 21 FD 1E              6089        LD      HL,LWRD dbGetLong\r
+    000029A9 CD 00 00              6090        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000029AC                       6091 ?0606:\r
+    000029AC FD 75 24              6092        LD      (IY+36),L\r
+    000029AF FD 74 25              6093        LD      (IY+37),H\r
+    000029B2 FD 71 26              6094        LD      (IY+38),C\r
+    000029B5 FD 70 27              6095        LD      (IY+39),B\r
+    000029B8 18 4B                 6096        JR      ?0454\r
+    000029BA                       6097 ?0451:\r
+    000029BA DD 6E FE              6098        LD      L,(IX-2)\r
+    000029BD DD 66 FF              6099        LD      H,(IX-1)\r
+    000029C0 46                    6100        LD      B,(HL)\r
+    000029C1 23                    6101        INC     HL\r
+    000029C2 66                    6102        LD      H,(HL)\r
+    000029C3 68                    6103        LD      L,B\r
+    000029C4 23                    6104        INC     HL\r
+    000029C5 23                    6105        INC     HL\r
+    000029C6 46                    6106        LD      B,(HL)\r
+    000029C7 23                    6107        INC     HL\r
+    000029C8 66                    6108        LD      H,(HL)\r
+    000029C9 68                    6109        LD      L,B\r
+    000029CA E5                    6110        PUSH    HL\r
+    000029CB DD 6E FC              6111        LD      L,(IX-4)\r
+    000029CE DD 66 FD              6112        LD      H,(IX-3)\r
+    000029D1 29                    6113        ADD     HL,HL\r
+    000029D2 29                    6114        ADD     HL,HL\r
+    000029D3 4D                    6115        LD      C,L\r
+    000029D4 44                    6116        LD      B,H\r
+    000029D5 29                    6117        ADD     HL,HL\r
+    000029D6 09                    6118        ADD     HL,BC\r
+    000029D7 4D                    6119        LD      C,L\r
+    000029D8 44                    6120        LD      B,H\r
+    000029D9 E1                    6121        POP     HL\r
+    000029DA 09                    6122        ADD     HL,BC\r
+    000029DB 01 09 00              6123        LD      BC,9\r
+    000029DE 09                    6124        ADD     HL,BC\r
+    000029DF 7E                    6125        LD      A,(HL)\r
+    000029E0 FE 53                 6126        CP      83\r
+    000029E2 20 21                 6127        JR      NZ,?0454\r
+    000029E4                       6128 ?0453:\r
+    000029E4 FD 36 01 03           6129        LD      (IY+1),3\r
+    000029E8 21 28 00              6130        LD      HL,40\r
+    000029EB FD E5                 6131        PUSH    IY\r
+    000029ED C1                    6132        POP     BC\r
+    000029EE 09                    6133        ADD     HL,BC\r
+    000029EF E5                    6134        PUSH    HL\r
+    000029F0 DD 4E FC              6135        LD      C,(IX-4)\r
+    000029F3 DD 46 FD              6136        LD      B,(IX-3)\r
+    000029F6 DD 5E FE              6137        LD      E,(IX-2)\r
+    000029F9 DD 56 FF              6138        LD      D,(IX-1)\r
+    000029FC 3E 71                 6139        LD      A,BYTE3 dbGetString\r
+    000029FE 21 71 1D              6140        LD      HL,LWRD dbGetString\r
+    00002A01 CD 00 00              6141        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002A04 E1                    6142        POP     HL\r
+    00002A05                       6143 ?0454:\r
+    00002A05                       6144 ?0452:\r
+    00002A05                       6145 ?0449:\r
+    00002A05                       6146 ?0433:\r
+    00002A05 C3 7B 04              6147        JP      LWRD ?0630\r
+    00002A08                       6148 ?0671:\r
+    00002A08 FD 6E 48              6149        LD      L,(IY+72)\r
+    00002A0B FD 66 49              6150        LD      H,(IY+73)\r
+    00002A0E                       6151 ?0672:\r
+    00002A0E 01 24 00              6152        LD      BC,36\r
+    00002A11 09                    6153        ADD     HL,BC\r
+    00002A12 5E                    6154        LD      E,(HL)\r
+    00002A13 23                    6155        INC     HL\r
+    00002A14 56                    6156        LD      D,(HL)\r
+    00002A15 23                    6157        INC     HL\r
+    00002A16 4E                    6158        LD      C,(HL)\r
+    00002A17 23                    6159        INC     HL\r
+    00002A18 46                    6160        LD      B,(HL)\r
+    00002A19 EB                    6161        EX      DE,HL\r
+    00002A1A C3 00 00              6162        JP      LWRD ?SL_CMP_L03\r
+    00002A1D                       6163 ?0673:\r
+    00002A1D FD 6E 48              6164        LD      L,(IY+72)\r
+    00002A20 FD 66 49              6165        LD      H,(IY+73)\r
+    00002A23 01 24 00              6166        LD      BC,36\r
+    00002A26 09                    6167        ADD     HL,BC\r
+    00002A27 5E                    6168        LD      E,(HL)\r
+    00002A28 23                    6169        INC     HL\r
+    00002A29 56                    6170        LD      D,(HL)\r
+    00002A2A 23                    6171        INC     HL\r
+    00002A2B 4E                    6172        LD      C,(HL)\r
+    00002A2C 23                    6173        INC     HL\r
+    00002A2D 46                    6174        LD      B,(HL)\r
+    00002A2E EB                    6175        EX      DE,HL\r
+    00002A2F C3 00 00              6176        JP      LWRD ?L_AND_L03\r
+    00002A32                       6177 ?0674:\r
+    00002A32 FD 6E 48              6178        LD      L,(IY+72)\r
+    00002A35 FD 66 49              6179        LD      H,(IY+73)\r
+    00002A38 01 24 00              6180        LD      BC,36\r
+    00002A3B 09                    6181        ADD     HL,BC\r
+    00002A3C 5E                    6182        LD      E,(HL)\r
+    00002A3D 23                    6183        INC     HL\r
+    00002A3E 56                    6184        LD      D,(HL)\r
+    00002A3F 23                    6185        INC     HL\r
+    00002A40 4E                    6186        LD      C,(HL)\r
+    00002A41 23                    6187        INC     HL\r
+    00002A42 46                    6188        LD      B,(HL)\r
+    00002A43 EB                    6189        EX      DE,HL\r
+    00002A44 C3 00 00              6190        JP      LWRD ?L_OR_L03\r
+                                   6191        RSEG    CSTR\r
+    00000000                       6192 ?0066:\r
+    00000000 53 45 4C              6193        DEFB    'SEL'\r
+    00000003 00                    6194        DEFB    0\r
+    00000004                       6195 ?0069:\r
+    00000004 49 4E 53              6196        DEFB    'INS'\r
+    00000007 00                    6197        DEFB    0\r
+    00000008                       6198 ?0072:\r
+    00000008 55 50 44              6199        DEFB    'UPD'\r
+    0000000B 00                    6200        DEFB    0\r
+    0000000C                       6201 ?0075:\r
+    0000000C 44 45 4C              6202        DEFB    'DEL'\r
+    0000000F 00                    6203        DEFB    0\r
+    00000010                       6204 ?0081:\r
+    00000010 20 46 52 20           6205        DEFB    ' FR '\r
+    00000014 00                    6206        DEFB    0\r
+    00000015                       6207 ?0085:\r
+    00000015 20 57 48              6208        DEFB    ' WH'\r
+    00000018 00                    6209        DEFB    0\r
+    00000019                       6210 ?0090:\r
+    00000019 20 4F 52 44 20        6211        DEFB    ' ORD '\r
+    0000001E 00                    6212        DEFB    0\r
+    0000001F                       6213 ?0094:\r
+    0000001F 28                    6214        DEFB    '('\r
+    00000020 00                    6215        DEFB    0\r
+    00000021                       6216 ?0098:\r
+    00000021 29 20 56 41 4C 28     6217        DEFB    ') VAL('\r
+    00000027 00                    6218        DEFB    0\r
+    00000028                       6219 ?0103:\r
+    00000028 20 53 54 20           6220        DEFB    ' ST '\r
+    0000002C 00                    6221        DEFB    0\r
+    0000002D                       6222 ?0114:\r
+    0000002D 2F 75 73 72 2F 64 62  6223        DEFB    '/usr/db/'\r
+             2F\r
+    00000035 00                    6224        DEFB    0\r
+    00000036                       6225 ?0115:\r
+    00000036 2E 54 42 4C           6226        DEFB    '.TBL'\r
+    0000003A 00                    6227        DEFB    0\r
+    0000003B                       6228 ?0116:\r
+    0000003B 72 62                 6229        DEFB    'rb'\r
+    0000003D 00                    6230        DEFB    0\r
+    0000003E                       6231 ?0126:\r
+    0000003E 2E 44 41 54           6232        DEFB    '.DAT'\r
+    00000042 00                    6233        DEFB    0\r
+    00000043                       6234 ?0127:\r
+    00000043 72 2B 62              6235        DEFB    'r+b'\r
+    00000046 00                    6236        DEFB    0\r
+    00000047                       6237 ?0146:\r
+    00000047 22 2A 22              6238        DEFB    '"*"'\r
+    0000004A 00                    6239        DEFB    0\r
+    0000004B                       6240 ?0156:\r
+    0000004B 72 65 73 75 6C 74     6241        DEFB    'result'\r
+    00000051 00                    6242        DEFB    0\r
+    00000052                       6243 ?0157:\r
+    00000052 77 62                 6244        DEFB    'wb'\r
+    00000054 00                    6245        DEFB    0\r
+    00000055                       6246        END\r
+\fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
+Hexadecimal [32-Bits]\r
+\r
+Symbol Table\r
+\r
+    .__.ABS.       =    00000000 G   |   1 ?0000               00000009 R\r
+  1 ?0001               00000030 R   |   1 ?0002               00000011 R\r
+  1 ?0003               00000014 R   |   1 ?0004               0000001C R\r
+  1 ?0005               0000002A R   |   1 ?0006               00000067 R\r
+  1 ?0007               00000052 R   |   1 ?0008               0000005A R\r
+  1 ?0009               000000A0 R   |   1 ?0010               0000008B R\r
+  1 ?0011               00000093 R   |   1 ?0012               00000100 R\r
+  1 ?0013               000000CB R   |   1 ?0014               00000100 R\r
+  1 ?0015               00000289 R   |   1 ?0016               0000012B R\r
+  1 ?0017               0000013A R   |   1 ?0018               00000152 R\r
+  1 ?0019               0000016F R   |   1 ?0020               00000152 R\r
+  1 ?0021               00000152 R   |   1 ?0022               0000020B R\r
+  1 ?0023               00000218 R   |   1 ?0024               0000020B R\r
+  1 ?0025               0000020B R   |   1 ?0026               0000020B R\r
+  1 ?0027               0000020B R   |   1 ?0028               0000026A R\r
+  1 ?0029               00000272 R   |   1 ?0030               0000025E R\r
+  1 ?0031               0000025E R   |   1 ?0032               0000026A R\r
+  1 ?0033               0000026A R   |   1 ?0034               00000296 R\r
+  1 ?0035               00000297 R   |   1 ?0036               0000029A R\r
+  1 ?0037               000002C6 R   |   1 ?0038               000002AB R\r
+  1 ?0039               000002C2 R   |   1 ?0040               000002C2 R\r
+  1 ?0041               000002C2 R   |   1 ?0042               000002CE R\r
+  1 ?0043               000002DA R   |   1 ?0044               00000441 R\r
+  1 ?0045               00000319 R   |   1 ?0046               0000034A R\r
+  1 ?0047               00000337 R   |   1 ?0048               00000337 R\r
+  1 ?0049               0000034A R   |   1 ?0050               0000034A R\r
+  1 ?0051               0000038D R   |   1 ?0052               00000361 R\r
+  1 ?0053               00000371 R   |   1 ?0054               0000037B R\r
+  1 ?0055               0000037E R   |   1 ?0056               00000380 R\r
+  1 ?0057               0000038A R   |   1 ?0058               0000038D R\r
+  1 ?0059               000003AC R   |   1 ?0060               000003C9 R\r
+  1 ?0061               000003AC R   |   1 ?0062               000003AC R\r
+  1 ?0063               0000042A R   |   1 ?0064               000004EB R\r
+  1 ?0065               000004F5 R   |   2 ?0066               00000000 R\r
+  1 ?0067               00000507 R   |   1 ?0068               00000511 R\r
+  2 ?0069               00000004 R   |   1 ?0070               00000523 R\r
+  1 ?0071               0000052D R   |   2 ?0072               00000008 R\r
+  1 ?0073               0000053F R   |   1 ?0074               0000054C R\r
+  2 ?0075               0000000C R   |   1 ?0076               0000054F R\r
+  1 ?0077               000005A2 R   |   1 ?0078               000005AA R\r
+  1 ?0079               000005D4 R   |   1 ?0080               000005E1 R\r
+  2 ?0081               00000010 R   |   1 ?0082               000005E7 R\r
+  1 ?0083               00000611 R   |   1 ?0084               0000064D R\r
+  2 ?0085               00000015 R   |   1 ?0086               0000062C R\r
+  1 ?0087               00000634 R   |   1 ?0088               0000065C R\r
+  1 ?0089               00000682 R   |   2 ?0090               00000019 R\r
+  1 ?0091               00000685 R   |   1 ?0092               000006E1 R\r
+  1 ?0093               000006E9 R   |   2 ?0094               0000001F R\r
+  1 ?0095               000006E9 R   |   1 ?0096               00000712 R\r
+  1 ?0097               00000732 R   |   2 ?0098               00000021 R\r
+  1 ?0099               00000737 R   |   1 ?0100               0000073A R\r
+  1 ?0101               0000078F R   |   1 ?0102               0000079C R\r
+  2 ?0103               00000028 R   |   1 ?0104               000007A1 R\r
+  1 ?0105               000007CC R   |   1 ?0106               00000804 R\r
+  1 ?0107               000007E8 R   |   1 ?0108               000007F1 R\r
+  1 ?0109               00000807 R   |   1 ?0110               00000861 R\r
+  1 ?0111               00000899 R   |   1 ?0112               0000087D R\r
+  1 ?0113               00000886 R   |   2 ?0114               0000002D R\r
+  2 ?0115               00000036 R   |   2 ?0116               0000003B R\r
+  1 ?0117               00000937 R   |   1 ?0118               00000937 R\r
+  1 ?0119               00000937 R   |   1 ?0120               00000937 R\r
+  1 ?0121               00000B2A R   |   1 ?0122               00000A3F R\r
+  1 ?0123               00000982 R   |   1 ?0124               00000999 R\r
+  2 ?0126               0000003E R   |   2 ?0127               00000043 R\r
+  1 ?0128               00000ABF R   |   1 ?0129               00000ACE R\r
+  1 ?0130               00000ABF R   |   1 ?0131               00000ABF R\r
+  1 ?0132               00000B2A R   |   1 ?0133               00000C27 R\r
+  1 ?0134               00000BEB R   |   1 ?0135               00000C00 R\r
+  1 ?0137               00000C9E R   |   1 ?0138               00000C5A R\r
+  1 ?0139               00000C6E R   |   1 ?0141               00000C95 R\r
+  1 ?0142               00000C9A R   |   1 ?0143               00000CA1 R\r
+  1 ?0144               00000D37 R   |   1 ?0145               00000E2E R\r
+  2 ?0146               00000047 R   |   1 ?0147               00000E2E R\r
+  1 ?0148               00000D5C R   |   1 ?0149               00000D73 R\r
+  1 ?0151               00000F61 R   |   1 ?0152               00000F61 R\r
+  1 ?0153               00000E5C R   |   1 ?0154               00000E73 R\r
+  2 ?0156               0000004B R   |   2 ?0157               00000052 R\r
+  1 ?0158               00000FFA R   |   1 ?0159               00001011 R\r
+  1 ?0160               00001021 R   |   1 ?0161               00001171 R\r
+  1 ?0162               00001028 R   |   1 ?0163               00001046 R\r
+  1 ?0165               00001079 R   |   1 ?0166               00001165 R\r
+  1 ?0167               00001113 R   |   1 ?0168               00001091 R\r
+  1 ?0169               000010A8 R   |   1 ?0171               0000113C R\r
+  1 ?0172               00001165 R   |   1 ?0173               000012F9 R\r
+  1 ?0174               000012C9 R   |   1 ?0175               000012E0 R\r
+  1 ?0177               000014E4 R   |   1 ?0178               00001340 R\r
+  1 ?0179               00001357 R   |   1 ?0181               000013D4 R\r
+  1 ?0182               00001458 R   |   1 ?0183               00001458 R\r
+  1 ?0184               000013F6 R   |   1 ?0185               0000141E R\r
+  1 ?0186               0000142C R   |   1 ?0187               00001443 R\r
+  1 ?0188               00001458 R   |   1 ?0189               0000144F R\r
+  1 ?0190               00001458 R   |   1 ?0191               000014BE R\r
+  1 ?0192               000014BE R   |   1 ?0193               00001464 R\r
+  1 ?0194               0000146D R   |   1 ?0195               0000148E R\r
+  1 ?0196               000014BE R   |   1 ?0197               0000149A R\r
+  1 ?0198               000014BE R   |   1 ?0199               000014F3 R\r
+  1 ?0200               00001543 R   |   1 ?0201               0000160A R\r
+  1 ?0202               000015E3 R   |   1 ?0203               000015AF R\r
+  1 ?0204               000015B9 R   |   1 ?0205               000016A1 R\r
+  1 ?0206               000016B8 R   |   1 ?0207               000016BA R\r
+  1 ?0208               000017AC R   |   1 ?0209               000016F0 R\r
+  1 ?0210               00001707 R   |   1 ?0212               00001738 R\r
+  1 ?0213               000017A0 R   |   1 ?0214               00001743 R\r
+  1 ?0215               000017A0 R   |   1 ?0216               0000189D R\r
+  1 ?0217               000018B4 R   |   1 ?0218               000018B6 R\r
+  1 ?0219               0000198E R   |   1 ?0220               00001909 R\r
+  1 ?0221               00001920 R   |   1 ?0223               00001BB3 R\r
+  1 ?0224               00001995 R   |   1 ?0225               000019AC R\r
+  1 ?0227               000019DE R   |   1 ?0228               00001BA7 R\r
+  1 ?0229               000019EA R   |   1 ?0230               00001BA7 R\r
+  1 ?0231               00001A4B R   |   1 ?0232               00001A0B R\r
+  1 ?0233               00001A22 R   |   1 ?0235               00001B73 R\r
+  1 ?0236               00001A62 R   |   1 ?0237               00001A79 R\r
+  1 ?0239               00001B56 R   |   1 ?0240               00001ACA R\r
+  1 ?0241               00001AFE R   |   1 ?0242               00001C02 R\r
+  1 ?0243               00001BC8 R   |   1 ?0244               00001BDF R\r
+  1 ?0246               00001C36 R   |   1 ?0247               00001C3A R\r
+  1 ?0248               00001C79 R   |   1 ?0249               00001C41 R\r
+  1 ?0250               00001C4B R   |   1 ?0251               00001C59 R\r
+  1 ?0252               00001C67 R   |   1 ?0253               00001C87 R\r
+  1 ?0254               00001CB0 R   |   1 ?0255               00001CB9 R\r
+  1 ?0256               00001CD0 R   |   1 ?0257               00001CE4 R\r
+  1 ?0258               00001D22 R   |   1 ?0259               00001D2E R\r
+  1 ?0260               00001D3F R   |   1 ?0261               00001D36 R\r
+  1 ?0262               00001D39 R   |   1 ?0263               00001E7A R\r
+  1 ?0264               00001DC7 R   |   1 ?0265               00001DE2 R\r
+  1 ?0266               00001E0D R   |   1 ?0267               00001E2E R\r
+  1 ?0268               00001E7A R   |   1 ?0269               00001E54 R\r
+  1 ?0270               00001E7A R   |   1 ?0271               00001EFD R\r
+  1 ?0272               00001ED0 R   |   1 ?0273               00001EE6 R\r
+  1 ?0274               00001EF9 R   |   1 ?0275               00001EF9 R\r
+  1 ?0276               00001FBC R   |   1 ?0277               00001F52 R\r
+  1 ?0278               00001F6A R   |   1 ?0279               00001FA1 R\r
+  1 ?0280               00001FAC R   |   1 ?0281               00001FB6 R\r
+  1 ?0282               00001FB9 R   |   1 ?0283               00002016 R\r
+  1 ?0284               00001FF4 R   |   1 ?0285               00001FF8 R\r
+  1 ?0286               00001FFC R   |   1 ?0287               00002000 R\r
+  1 ?0288               00002004 R   |   1 ?0289               00002008 R\r
+  1 ?0290               0000200C R   |   1 ?0291               00002010 R\r
+  1 ?0292               00002012 R   |   1 ?0293               00002079 R\r
+  1 ?0294               0000209D R   |   1 ?0295               000020CA R\r
+  1 ?0296               000020A4 R   |   1 ?0297               000020B4 R\r
+  1 ?0299               00002427 R   |   1 ?0301               000020DB R\r
+  1 ?0302               000020E2 R   |   1 ?0303               00002108 R\r
+  1 ?0304               00002126 R   |   1 ?0305               00002403 R\r
+  1 ?0306               0000212B R   |   1 ?0307               00002189 R\r
+  1 ?0308               0000213E R   |   1 ?0309               00002146 R\r
+  1 ?0310               0000215A R   |   1 ?0311               00002189 R\r
+  1 ?0312               00002403 R   |   1 ?0313               0000219D R\r
+  1 ?0314               000021E3 R   |   1 ?0315               000021A5 R\r
+  1 ?0316               000021BF R   |   1 ?0317               000021CB R\r
+  1 ?0318               000023FB R   |   1 ?0319               000021ED R\r
+  1 ?0320               00002264 R   |   1 ?0321               0000220A R\r
+  1 ?0322               00002235 R   |   1 ?0323               0000223E R\r
+  1 ?0324               000023FB R   |   1 ?0325               0000226E R\r
+  1 ?0326               00002298 R   |   1 ?0327               00002276 R\r
+  1 ?0328               00002289 R   |   1 ?0329               00002295 R\r
+  1 ?0330               000023FB R   |   1 ?0331               000022A2 R\r
+  1 ?0332               000023FB R   |   1 ?0333               000022AA R\r
+  1 ?0334               000022BC R   |   1 ?0335               000022C8 R\r
+  1 ?0336               000022E5 R   |   1 ?0337               000022C8 R\r
+  1 ?0338               000022DA R   |   1 ?0339               000022DA R\r
+  1 ?0340               000022DA R   |   1 ?0341               000022F7 R\r
+  1 ?0342               0000232E R   |   1 ?0343               000022F7 R\r
+  1 ?0344               000022F7 R   |   1 ?0345               000023FB R\r
+  1 ?0346               00002340 R   |   1 ?0347               00002392 R\r
+  1 ?0348               00002340 R   |   1 ?0349               00002340 R\r
+  1 ?0350               000023FB R   |   1 ?0351               00002455 R\r
+  1 ?0352               00002427 R   |   1 ?0353               0000243D R\r
+  1 ?0354               0000243D R   |   1 ?0355               0000243D R\r
+  1 ?0356               00002457 R   |   1 ?0357               000024A1 R\r
+  1 ?0358               000024BD R   |   1 ?0359               000024D7 R\r
+  1 ?0360               00002890 R   |   1 ?0361               00002511 R\r
+  1 ?0362               00002605 R   |   1 ?0363               00002522 R\r
+  1 ?0364               00002605 R   |   1 ?0365               00002522 R\r
+  1 ?0366               00002522 R   |   1 ?0367               000025F6 R\r
+  1 ?0368               0000252D R   |   1 ?0369               0000255A R\r
+  1 ?0370               00002592 R   |   1 ?0371               000025BF R\r
+  1 ?0372               00002890 R   |   1 ?0373               00002618 R\r
+  1 ?0374               0000273A R   |   1 ?0375               00002618 R\r
+  1 ?0376               00002618 R   |   1 ?0377               0000273A R\r
+  1 ?0378               0000263B R   |   1 ?0380               00002673 R\r
+  1 ?0382               00002679 R   |   1 ?0386               00002696 R\r
+  1 ?0390               000026B9 R   |   1 ?0394               000026DC R\r
+  1 ?0396               000026FC R   |   1 ?0398               00002700 R\r
+  1 ?0399               00002718 R   |   1 ?0400               00002754 R\r
+  1 ?0401               00002834 R   |   1 ?0402               00002754 R\r
+  1 ?0403               00002754 R   |   1 ?0404               00002834 R\r
+  1 ?0405               0000278F R   |   1 ?0407               0000279B R\r
+  1 ?0409               000027A0 R   |   1 ?0413               000027AD R\r
+  1 ?0417               000027C6 R   |   1 ?0421               000027DF R\r
+  1 ?0423               000027EF R   |   1 ?0424               000027F1 R\r
+  1 ?0425               000027FF R   |   1 ?0426               0000284E R\r
+  1 ?0427               00002890 R   |   1 ?0428               0000284E R\r
+  1 ?0429               0000284E R   |   1 ?0430               00002890 R\r
+  1 ?0431               00002859 R   |   1 ?0432               00002872 R\r
+  1 ?0433               00002A05 R   |   1 ?0434               0000289C R\r
+  1 ?0435               00002915 R   |   1 ?0436               00002915 R\r
+  1 ?0437               000028B2 R   |   1 ?0438               000028C9 R\r
+  1 ?0440               000028FF R   |   1 ?0441               0000290B R\r
+  1 ?0442               00002923 R   |   1 ?0443               0000296A R\r
+  1 ?0444               00002923 R   |   1 ?0445               00002923 R\r
+  1 ?0446               0000292A R   |   1 ?0447               00002954 R\r
+  1 ?0448               0000296A R   |   1 ?0449               00002A05 R\r
+  1 ?0450               00002994 R   |   1 ?0451               000029BA R\r
+  1 ?0452               00002A05 R   |   1 ?0453               000029E4 R\r
+  1 ?0454               00002A05 R   |   1 ?0458               000000CA R\r
+  1 ?0459               00000272 R   |   1 ?0463               0000036B R\r
+  1 ?0464               0000036C R   |   1 ?0465               00000435 R\r
+  1 ?0472               00000547 R   |   1 ?0473               000005AA R\r
+  1 ?0475               0000061C R   |   1 ?0476               00000634 R\r
+  1 ?0477               00000667 R   |   1 ?0481               000006E9 R\r
+  1 ?0482               0000071D R   |   1 ?0488               000007D7 R\r
+  1 ?0489               000007F1 R   |   1 ?0492               0000086C R\r
+  1 ?0493               00000886 R   |   1 ?0494               00000996 R\r
+  1 ?0498               00000BFD R   |   1 ?0500               00000C6B R\r
+  1 ?0501               00000D70 R   |   1 ?0503               00000E70 R\r
+  1 ?0505               00001043 R   |   1 ?0506               000010A5 R\r
+  1 ?0508               00001165 R   |   1 ?0510               00001013 R\r
+  1 ?0511               000012DD R   |   1 ?0513               00001354 R\r
+  1 ?0516               000014BB R   |   1 ?0517               000015F6 R\r
+  1 ?0519               000014A0 R   |   1 ?0520               00001481 R\r
+  1 ?0521               00001704 R   |   1 ?0522               000017A0 R\r
+  1 ?0524               000016BA R   |   1 ?0525               0000191D R\r
+  1 ?0527               000019A9 R   |   1 ?0528               00001A1F R\r
+  1 ?0530               00001A76 R   |   1 ?0533               00001BDC R\r
+  1 ?0535               000018B6 R   |   1 ?0536               00001B34 R\r
+  1 ?0545               00001C73 R   |   1 ?0547               00001CCD R\r
+  1 ?0548               00001E79 R   |   1 ?0549               00002165 R\r
+  1 ?0550               000021EA R   |   1 ?0551               0000229F R\r
+  1 ?0552               000022CF R   |   1 ?0553               000022F4 R\r
+  1 ?0554               0000233D R   |   1 ?0555               0000240B R\r
+  1 ?0556               00002416 R   |   1 ?0557               000023F8 R\r
+  1 ?0560               000027BE R   |   1 ?0561               000027D7 R\r
+  1 ?0562               000028C6 R   |   1 ?0564               0000258D R\r
+  1 ?0583               000025EA R   |   1 ?0597               000026F7 R\r
+  1 ?0598               0000272E R   |   1 ?0604               000027EA R\r
+  1 ?0606               000029AC R   |   1 ?0614               0000006B R\r
+  1 ?0625               00000101 R   |   1 ?0626               000002E1 R\r
+  1 ?0630               0000047B R   |   1 ?0634               00000B80 R\r
+  1 ?0636               00000B83 R   |   1 ?0637               00001814 R\r
+  1 ?0638               00000035 R   |   1 ?0639               0000003B R\r
+  1 ?0640               000011E0 R   |   1 ?0641               0000048F R\r
+  1 ?0642               0000048E R   |   1 ?0643               00000484 R\r
+  1 ?0644               0000048D R   |   1 ?0645               00000B4B R\r
+  1 ?0646               00000B41 R   |   1 ?0647               0000120F R\r
+  1 ?0648               00000497 R   |   1 ?0649               00000498 R\r
+  1 ?0650               00000B53 R   |   1 ?0651               000004AD R\r
+  1 ?0652               000004AC R   |   1 ?0653               000004AB R\r
+  1 ?0654               000004A8 R   |   1 ?0655               000004A0 R\r
+  1 ?0656               00000560 R   |   1 ?0657               00000552 R\r
+  1 ?0658               0000055E R   |   1 ?0659               0000068F R\r
+  1 ?0660               0000068A R   |   1 ?0661               0000122F R\r
+  1 ?0662               00001221 R   |   1 ?0663               00001237 R\r
+  1 ?0664               0000165A R   |   1 ?0665               00001654 R\r
+  1 ?0666               0000245F R   |   1 ?0667               0000245A R\r
+  1 ?0668               0000245C R   |   1 ?0669               00002467 R\r
+  1 ?0670               00002480 R   |   1 ?0671               00002A08 R\r
+  1 ?0672               00002A0E R   |   1 ?0673               00002A1D R\r
+  1 ?0674               00002A32 R   |     ?BANK_CALL_DIR      ******** GX\r
+    ?BANK_FAST_LEA      ******** GX  |     ?CL64180B_4_06      ******** GX\r
+    ?C_V_SWITCH_L0      ******** GX  |     ?L_AND_L03          ******** GX\r
+    ?L_MUL_L03          ******** GX  |     ?L_OR_L03           ******** GX\r
+    ?SL_CMP_L03         ******** GX  |     ?SL_DIV_L03         ******** GX\r
+    __fopen             ******** GX  |     atoi                ******** GX\r
+    atol                ******** GX  |   1 dbDeleteExpres      00002497 GR\r
+  1 dbDeleteList        00000000 GR  |   1 dbDeleteRow         00001D25 GR\r
+  1 dbEvaluateExpr      000024C0 GR  |   1 dbExecuteDelet      00001662 GR\r
+  1 dbExecuteInser      00001259 GR  |   1 dbExecuteQuery      00000CA4 GR\r
+  1 dbExecuteState      00001C1E GR  |   1 dbExecuteUpdat      0000185E GR\r
+  1 dbFieldOffset       00000BDD GR  |   1 dbFieldSearch       00000C4E GR\r
+  1 dbGetInt            00001E7D GR  |   1 dbGetLong           00001EFD GR\r
+  1 dbGetString         00001D71 GR  |   1 dbListIndex         00000043 GR\r
+  1 dbListSize          00000073 GR  |   1 dbNewExpressio      00002016 GR\r
+  1 dbNewRow            00001D44 GR  |   1 dbNextRow           00001C8A GR\r
+  1 dbOperatorPrec      00001FBC GR  |   1 dbParseDelete       0000080B GR\r
+  1 dbParseExpress      0000205D GR  |   1 dbParseInsert       00000697 GR\r
+  1 dbParseList         000002E9 GR  |   1 dbParseSelect       00000568 GR\r
+  1 dbParseStateme      000004B5 GR  |   1 dbParseUpdate       0000073E GR\r
+  1 dbRecordSize        00000C32 GR  |   1 dbReplaceChar       0000029F GR\r
+  1 dbResultSetClo      00000BCA GR  |   1 dbSkipLiteral       000000A3 GR\r
+  1 dbStatementClo      00000B8E GR  |   1 dbTableClose        00000B70 GR\r
+  1 dbTableOpen         000008A0 GR  |   1 dbTrimString        00000109 GR\r
+    fclose              ******** GX  |     fread               ******** GX\r
+    free                ******** GX  |     fseek               ******** GX\r
+    fwrite              ******** GX  |     itoa                ******** GX\r
+    ltoa                ******** GX  |     malloc              ******** GX\r
+    memcpy              ******** GX  |     strcat              ******** GX\r
+    strcmp              ******** GX  |     strcpy              ******** GX\r
+    strlen              ******** GX  |     strncmp             ******** GX\r
+\r
+\fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
+Hexadecimal [32-Bits]\r
+\r
+Area Table\r
+\r
+   0 _DEFAULT         size        0   flags   0\r
+   1 CODE             size     2A47   flags   0\r
+   2 CSTR             size       55   flags   0\r
similarity index 52%
rename from src/gui/wnd.map
rename to src/db/db.map
index b5732b9..789ad46 100644 (file)
@@ -8,16 +8,16 @@ Area                       Addr        Size        Decimal Bytes (Attributes)
         -----  ------            -----  ------            -----  ------    \r
      00000000  s__DEFAUL |    00000000  l_CCSTR   |    00000000  l_ECSTR  \r
      00000000  .__.ABS.  |    00000000  ?CL64180L |    00000000  ?CL64180B\r
-     00000014  e__DEFAUL |    00000014  l__DEFAUL |    0000002F  l_CONST  \r
-     00000153  l_CSTR    |    00000170  l_CDATA0  |    00000170  l_IDATA0 \r
-     000003B5  l_UDATA0  |    00000430  l_RCODE   |    00001000  l_CSTACK \r
-     00004000  s_CODE    |    00008100  s_RCODE   |    00008530  e_RCODE  \r
-     00008530  s_CONST   |    0000855F  s_CSTR    |    0000855F  e_CONST  \r
-     000086B2  e_CSTR    |    000086B2  s_IDATA0  |    000086B2  s_CDATA0 \r
-     00008822  s_UDATA0  |    00008822  e_CCSTR   |    00008822  e_ECSTR  \r
-     00008822  s_CCSTR   |    00008822  e_CDATA0  |    00008822  s_ECSTR  \r
-     00008822  e_IDATA0  |    00008BD7  e_UDATA0  |    00008BD7  s_CSTACK \r
-     00009BD7  e_CSTACK  |    0000C257  l_CODE    |    00010257  e_CODE   \r
+     00000014  e__DEFAUL |    00000014  l__DEFAUL |    00000027  l_CONST  \r
+     00000072  l_CSTR    |    0000014E  l_CDATA0  |    0000014E  l_IDATA0 \r
+     00000243  l_UDATA0  |    0000035A  l_RCODE   |    00001000  l_CSTACK \r
+     00004000  s_CODE    |    00008100  s_RCODE   |    0000845A  e_RCODE  \r
+     0000845A  s_CONST   |    00008481  s_CSTR    |    00008481  e_CONST  \r
+     000084F3  e_CSTR    |    000084F3  s_IDATA0  |    000084F3  s_CDATA0 \r
+     00008641  s_UDATA0  |    00008641  e_CCSTR   |    00008641  e_ECSTR  \r
+     00008641  s_CCSTR   |    00008641  e_CDATA0  |    00008641  s_ECSTR  \r
+     00008641  e_IDATA0  |    00008884  e_UDATA0  |    00008884  s_CSTACK \r
+     00009884  e_CSTACK  |    0000C0A7  l_CODE    |    000100A7  e_CODE   \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
@@ -30,30 +30,26 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-RCODE                  00008100    00000430 =        1072. bytes (REL,CON)\r
+RCODE                  00008100    0000035A =         858. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
      00008100  __init    |    0000811F  ?L_MUL_L0 |    000081A3  ?BANK_LEA\r
-     000081A9  ?BANK_FAS |    000081AE  ?S_MUL_L0 |    000081C4  ?C_V_SWIT\r
-     000081D6  ?L_ADDASG |    000081EF  ?ENT_PARM |    000081FB  ?BANK_CAL\r
-     00008208  ?S_S_SWIT |    0000821C  ?S_V_SWIT |    00008239  ?S_SWITCH\r
-     00008247  ?SL_MOD_L |    0000827A  ?ENT_AUTO |    0000828E  ?V_SWITCH\r
-     00008298  ?SL_DIV_L |    000082C8  ?SS_CMP_L |    000082DA  ?L_INC_L0\r
-     000082E2  ?US_MOD_L |    000082EB  ?SS_DIV_L |    00008307  ?UL_RSHAS\r
-     00008315  ?US_DIV_L |    00008323  ?SL_RSH_L |    00008331  ?UL_RSH_L\r
-     0000834C  ?L_DIVMOD |    000083A4  ?BANK_LEA |    000083B0  ?SS_RSH_L\r
-     000083BA  ?L_LSH_L0 |    000083D2  ?S_DIVMOD |    000083E8  ?S_MULASG\r
-     000083F2  ?L_END_AS |    000083FB  ?L_NOT_L0 |    0000840A  ?L_XOR_L0\r
-     00008428  ?L_ORASG_ |    00008441  ?LEAVE_DI |    00008448  ?L_FIND_S\r
-     0000848C  ?UL_DIVAS |    0000849C  ?UL_MOD_L |    000084C1  ?S_FIND_S\r
-     000084DD  ?UL_DIV_L |    00008505  ?L_NEG_L0 |    00008517  ?L_MULASG\r
-     00008527  ?L_END_MU\r
+     000081A9  ?BANK_FAS |    000081AE  ?S_MUL_L0 |    000081C4  ?L_OR_L03\r
+     000081E2  ?C_V_SWIT |    000081F4  ?L_ADDASG |    0000820D  ?ENT_PARM\r
+     00008219  ?BANK_CAL |    00008226  ?L_AND_L0 |    00008244  ?SL_CMP_L\r
+     00008275  ?ENT_AUTO |    00008289  ?V_SWITCH |    00008293  ?SL_DIV_L\r
+     000082C3  ?SS_CMP_L |    000082D5  ?L_INC_L0 |    000082DD  ?L_NEG_L0\r
+     000082EF  ?US_MOD_L |    000082F8  ?US_DIV_L |    00008306  ?L_DIVMOD\r
+     0000835E  ?BANK_LEA |    0000836A  ?S_DIVMOD |    00008380  ?S_MULASG\r
+     0000838A  ?L_NOT_L0 |    00008399  ?LEAVE_DI |    000083A0  ?L_FIND_S\r
+     000083E4  ?UL_DIVAS |    000083F4  ?UL_MOD_L |    00008419  ?UL_DIV_L\r
+     00008441  ?L_END_MU |    0000844A  ?L_MULASG\r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CONST                  00008530    0000002F =          47. bytes (REL,CON)\r
+CONST                  0000845A    00000027 =          39. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -61,7 +57,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CSTR                   0000855F    00000153 =         339. bytes (REL,CON)\r
+CSTR                   00008481    00000072 =         114. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -69,18 +65,17 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-IDATA0                 000086B2    00000170 =         368. bytes (NUL,CON)\r
+IDATA0                 000084F3    0000014E =         334. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     000086CA  __IO_list |    000086CC  stdin     |    000086E4  stdout   \r
-     000086FC  stderr    |    0000871A  _path_pas |    0000871C  __sys_err\r
-     0000871E  __sys_ner |    00008720  __on_exit |    00008722  __ctype  \r
+     000084F3  __IO_list |    000084F5  stdin     |    0000850D  stdout   \r
+     00008525  stderr    |    0000853F  __on_exit |    00008541  __ctype  \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CDATA0                 000086B2    00000170 =         368. bytes (REL,CON)\r
+CDATA0                 000084F3    0000014E =         334. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -88,7 +83,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-ECSTR                  00008822    00000000 =           0. bytes (NUL,CON)\r
+ECSTR                  00008641    00000000 =           0. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -96,7 +91,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CCSTR                  00008822    00000000 =           0. bytes (REL,CON)\r
+CCSTR                  00008641    00000000 =           0. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -104,69 +99,55 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CODE                   00004000    0000C257 =       49751. bytes (NUL,CON)\r
+CODE                   00004000    0000C0A7 =       49319. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     00004736  GraphicsO |    000047D2  GraphicsC |    000047EA  Move     \r
-     00004829  ClearRect |    0000486C  DrawRectN |    000048B1  FillRect \r
-     000048F6  FillRectN |    0000493B  GrayRect  |    00004980  Text     \r
-     000049AC  TouchRegi |    00004A03  ClearScre |    00004A40  EnableScr\r
-     00004A7E  grSetFont |    00004ABB  fontSearc |    00004AEB  setCurren\r
-     00004B87  loadFont  |    00004C2E  stringwid |    00004CA7  stringhei\r
-     00004CC4  stringhei |    00004CD7  stringhei |    00004CE0  stringwid\r
-     00004CF1  stringwid |    00004CFA  stringwid |    00004D03  Component\r
-     00004DAD  Component |    00004DFA  Component |    00004E58  Component\r
-     00004E9E  Component |    00004EE2  Component |    00004F1A  Component\r
-     000050EB  Component |    0000510A  Component |    00005173  Component\r
-     00005226  Window_ha |    00005490  Window_pa |    0000561C  Root_pain\r
-     00005653  Window_ad |    00005661  Window_ne |    000056B3  Button_ha\r
-     0000576A  Button_dr |    00005838  Button_pa |    0000590B  Button_ad\r
-     00005911  Button_ne |    00005963  ToggleBut |    000059FC  ToggleBut\r
-     00005AE8  ToggleBut |    00005B3A  Dialog_ha |    00005BF3  Dialog_ne\r
-     00005CE2  Display_h |    00005D60  Display_p |    00005E7D  Display_n\r
-     00005ED7  Label_han |    00005EDD  Label_pai |    00005F3E  Label_new\r
-     00005F97  Transacti |    000065D5  rootWindo |    000065F3  screenbui\r
-     000069BB  root_acti |    00006CF0  read_stri |    00006DC5  gui_globa\r
-     00006DCB  GUIinit   |    00006EFB  GUIunit   |    00006F20  GUIgo    \r
-     00006F9F  login     |    000070C8  login_act |    0000723B  main     \r
-     000072A2  setgid    |    000072BC  unix      |    000072D6  sprintf  \r
-     0000731A  strrchr   |    00007382  fflush    |    00007595  chdir    \r
-     000075AA  _write    |    000075C9  setuid    |    000075E3  printf   \r
-     00007612  lseek     |    0000763F  __stdio_c |    000076AA  __stdio_i\r
-     000076E8  setenv    |    00007964  unsetenv  |    00007A04  close    \r
-     00007A19  strlen    |    00007A50  strcmp    |    00007AF1  perror   \r
-     00007B2E  execv     |    00007B41  ioctl     |    00007B6C  isatty   \r
-     00007BA7  fstat     |    00007BBE  free      |    00007C9E  getpwnam \r
-     00007D00  setpwent  |    00007D45  endpwent  |    00007D64  getpwent \r
-     00007D82  strcpy    |    00014000  __getpwen |    00014288  atoi     \r
-     0001441E  vfprintf  |    00014979  ltoa      |    000149DC  atol     \r
-     000149F2  __longtoa |    00014B86  itoa      |    00014BEF  crypt    \r
-     00014E9C  fputs     |    00014EFA  open      |    00014F25  malloc   \r
-     00015151  exit      |    00015181  _read     |    000151A0  memcmp   \r
-     0001520D  execve    |    0001522C  strerror  |    000153E9  memset   \r
-     00015429  memcpy    |    000154F7  on_exit   |    00015570  atexit   \r
-     00015583  strcat    |    000155A3  unix_long |    000155BD  strchr   \r
-     000155F8  _exit     |    00015693  strtoul   |    000157EA  fputc    \r
-     000158FC  toupper   |    00015921  tolower   |    00015946  ultoa    \r
-     0001599B  strtol    |    00015A43  sbrk     \r
+     00004555  dbDeleteL |    00004598  dbListInd |    000045C8  dbListSiz\r
+     000045F8  dbSkipLit |    0000465E  dbTrimStr |    000047F4  dbReplace\r
+     0000483E  dbParseLi |    00004A0A  dbParseSt |    00004ABD  dbParseSe\r
+     00004BEC  dbParseIn |    00004C93  dbParseUp |    00004D60  dbParseDe\r
+     00004DF5  dbTableOp |    000050C5  dbTableCl |    000050E3  dbStateme\r
+     0000511F  dbResultS |    00005132  dbFieldOf |    00005187  dbRecordS\r
+     000051A3  dbFieldSe |    000051F9  dbExecute |    000057AE  dbExecute\r
+     00005BB7  dbExecute |    00005DB3  dbExecute |    00006173  dbExecute\r
+     000061DF  dbNextRow |    0000627A  dbDeleteR |    00006299  dbNewRow \r
+     000062C6  dbGetStri |    000063D2  dbGetInt  |    00006452  dbGetLong\r
+     00006511  dbOperato |    0000656B  dbNewExpr |    000065B2  dbParseEx\r
+     000069EC  dbDeleteE |    00006A15  dbEvaluat |    00006F9C  main     \r
+     000070DD  fread     |    0000728B  strncmp   |    000072EC  fflush   \r
+     000074FF  _write    |    0000751E  memcpy    |    00007570  rewind   \r
+     000075A0  fseek     |    0000774D  __stdio_c |    000077B8  __stdio_i\r
+     000077F6  fwrite    |    00007A12  strcat    |    00007A32  printf   \r
+     00007A61  lseek     |    00007A8E  close     |    00007AA3  __fopen  \r
+     00007D5C  strlen    |    00007D93  strcmp    |    00007DEA  isatty   \r
+     00007E25  fstat     |    00007E3C  free      |    00007F1C  strcpy   \r
+     00007F43  atoi      |    00014000  __longtoa |    00014194  itoa     \r
+     000141FD  calloc    |    000143C5  vfprintf  |    00014920  atol     \r
+     00014936  ltoa      |    00014999  open      |    000149C4  gets     \r
+     00014A39  puts      |    00014A82  malloc    |    00014CAE  exit     \r
+     00014CDE  _read     |    00014CFD  fclose    |    00014E6E  unix     \r
+     00014E88  fgetc     |    00014F98  memset    |    00015054  on_exit  \r
+     000150CD  atexit    |    000150E0  unix_long |    000150FA  _exit    \r
+     0001510F  fputc     |    00015221  ultoa     |    00015276  strtol   \r
+     0001531E  sbrk      |    00015333  fputs     |    00015417  strtoul  \r
+     0001556E  toupper   |    00015593  tolower  \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-UDATA0                 00008822    000003B5 =         949. bytes (REL,CON)\r
+UDATA0                 00008641    00000243 =         579. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     00008822  _argc     |    00008824  _argv     |    00008826  environ  \r
-     00008828  errno     |    0000882A  __cleanup |    0000882D  global   \r
-     0000882F  trans     |    00008B4F  __malloc_ |    00008B53  __malloc_\r
-     00008BA5  __on_exit\r
+     00008641  _argc     |    00008643  _argv     |    00008645  environ  \r
+     00008647  errno     |    00008649  __cleanup |    0000884C  __malloc_\r
+     00008850  __malloc_ |    00008852  __on_exit\r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CSTACK                 00008BD7    00001000 =        4096. bytes (REL,CON)\r
+CSTACK                 00008884    00001000 =        4096. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -174,106 +155,87 @@ CSTACK                 00008BD7    00001000 =        4096. bytes (REL,CON)
 Files Linked                              [ module(s) ]\r
 \r
 ..\..\lib\c0b.rel                         [ _c0b ]\r
-wnd                                       [ wnd ]\r
-login                                     [ login ]\r
+db                                        [ db ]\r
+main                                      [ main ]\r
 \r
 \r
 Libraries Linked                          [ object file ]\r
 \r
-..\..\lib\libsysb.lib                     [ relsysb\setgid.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\sys0b.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\sprintf.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\fread.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LMUL.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\strncmp.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\BANKLEAVEDIRECT.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strrchr.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\fflush.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\chdir.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\write.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\memcpy.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SMUL.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\setuid.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\rewind.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\stdio0.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\fwrite.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\strcat.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\printf.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\lseek.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\stdio0.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\setenv.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\close.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\fopen.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\strlen.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\strcmp.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\LOR.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\CVSWITCH.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\perror.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\execv.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\ioctl.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LADDASG.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\isatty.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\fstat.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\free.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\getpwnam.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\ENTPARMDIRECT.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\BANKCALLDIRECT.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\setpwent.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\strcpy.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSSWITCH.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SVSWITCH.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSWITCHEND.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SLMOD.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\getpwent.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\LAND.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\SLCMP.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\ENTAUTODIRECT.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\VSWITCHEND.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\atoi.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\itoa.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\calloc.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SLDIV.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\vfprintf.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\ltoa.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\atol.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\ltoa.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SSCMP.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\itoa.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LINC.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\crypt.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\fputs.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\LNEG.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\open.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\USMOD.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSDIV.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULRSHASG.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\gets.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\USDIV.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LIBVERSION.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\malloc.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SLRSH.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULRSH.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\exit.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LDIVMOD.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\read.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\fclose.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\BANKLEAVE32.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSRSH.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LLSH.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\memcmp.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\execve.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SDIVMOD.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\error.rel ]\r
+..\..\lib\libsysb.lib                     [ relsysb\sys0b.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SMULASG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LENDASG.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\fgetc.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LNOT.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\memset.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\memcpy.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\atexit.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LXOR.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strcat.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\sys1b.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LORASG.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strchr.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\_exit.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LEAVEDIRECT.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strtoul.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\fputc.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\ctype.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\ultoa.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\strtol.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LFINDSIGN.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\ULDIVASG.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\ULMOD.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SFINDSIGN.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\ULDIV.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\sbrk.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LNEG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LMULASG.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\fputs.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LENDMULDIVASG.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\strtoul.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\ctype.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\LMULASG.rel ]\r
 \r
 \r
 User Base Address Definitions\r
diff --git a/src/db/db.rel b/src/db/db.rel
new file mode 100644 (file)
index 0000000..0c10afd
--- /dev/null
@@ -0,0 +1,3930 @@
+XL4\r
+H 3 areas 3E global symbols\r
+M db\r
+S fread Ref00000000\r
+S ?L_MUL_L03 Ref00000000\r
+S ?BANK_FAST_LEAVE_L08 Ref00000000\r
+S strncmp Ref00000000\r
+S memcpy Ref00000000\r
+S fseek Ref00000000\r
+S strcat Ref00000000\r
+S fwrite Ref00000000\r
+S __fopen Ref00000000\r
+S strlen Ref00000000\r
+S ?C_V_SWITCH_L06 Ref00000000\r
+S ?L_OR_L03 Ref00000000\r
+S strcmp Ref00000000\r
+S free Ref00000000\r
+S ?BANK_CALL_DIRECT_L08 Ref00000000\r
+S strcpy Ref00000000\r
+S ?SL_CMP_L03 Ref00000000\r
+S ?L_AND_L03 Ref00000000\r
+S itoa Ref00000000\r
+S atoi Ref00000000\r
+S ?SL_DIV_L03 Ref00000000\r
+S ltoa Ref00000000\r
+S atol Ref00000000\r
+S ?CL64180B_4_06_L00 Ref00000000\r
+S malloc Ref00000000\r
+S fclose Ref00000000\r
+S .__.ABS. Def00000000\r
+A _DEFAULT size 0 flags 0\r
+A CODE size 2A47 flags 0\r
+S dbTableOpen Def000008A0\r
+S dbReplaceChar Def0000029F\r
+S dbRecordSize Def00000C32\r
+S dbOperatorPrecedence Def00001FBC\r
+S dbFieldSearch Def00000C4E\r
+S dbResultSetClose Def00000BCA\r
+S dbDeleteExpression Def00002497\r
+S dbExecuteStatement Def00001C1E\r
+S dbExecuteInsert Def00001259\r
+S dbGetInt Def00001E7D\r
+S dbFieldOffset Def00000BDD\r
+S dbDeleteRow Def00001D25\r
+S dbParseDelete Def0000080B\r
+S dbTrimString Def00000109\r
+S dbListIndex Def00000043\r
+S dbParseList Def000002E9\r
+S dbNextRow Def00001C8A\r
+S dbGetString Def00001D71\r
+S dbNewExpression Def00002016\r
+S dbParseSelect Def00000568\r
+S dbTableClose Def00000B70\r
+S dbParseUpdate Def0000073E\r
+S dbNewRow Def00001D44\r
+S dbSkipLiteral Def000000A3\r
+S dbExecuteDelete Def00001662\r
+S dbEvaluateExpression Def000024C0\r
+S dbExecuteQuery Def00000CA4\r
+S dbStatementClose Def00000B8E\r
+S dbParseExpression Def0000205D\r
+S dbDeleteList Def00000000\r
+S dbParseStatement Def000004B5\r
+S dbParseInsert Def00000697\r
+S dbGetLong Def00001EFD\r
+S dbExecuteUpdate Def0000185E\r
+S dbListSize Def00000073\r
+A CSTR size 55 flags 0\r
+T 00 00 00 00\r
+R 00 00 01 00\r
+T 00 00 00 00 DD E5 D5 DD E1 7B B2 28 27\r
+R 00 00 01 00\r
+T 09 00 00 00\r
+R 00 00 01 00\r
+T 09 00 00 00 DD 7E 04 DD B6 05 28 03\r
+R 00 00 01 00\r
+T 11 00 00 00\r
+R 00 00 01 00\r
+T 11 00 00 00 CD 35 00 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 14 00 00 00\r
+R 00 00 01 00\r
+T 14 00 00 00 DD 7E 02 DD B6 03 28 0E\r
+R 00 00 01 00\r
+T 1C 00 00 00\r
+R 00 00 01 00\r
+T 1C 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T 24 00 00 00 21 00 00 00 00 CD 00 00 00 00\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T 2A 00 00 00\r
+R 00 00 01 00\r
+T 2A 00 00 00 DD E5 D1 CD 3B 00 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T 30 00 00 00\r
+R 00 00 01 00\r
+T 30 00 00 00 DD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 02 00\r
+T 35 00 00 00\r
+R 00 00 01 00\r
+T 35 00 00 00 DD 5E 04 DD 56 05\r
+R 00 00 01 00\r
+T 3B 00 00 00\r
+R 00 00 01 00\r
+T 3B 00 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 0D 00 02 0A 0D 00\r
+T 41 00 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 43 00 00 00\r
+R 00 00 01 00\r
+T 43 00 00 00 C5 FD E5 DD E5 D5 6B 62 E5 DD E1\r
+R 00 00 01 00\r
+T 4E 00 00 00 FD 21 00 00\r
+R 00 00 01 00\r
+T 52 00 00 00\r
+R 00 00 01 00\r
+T 52 00 00 00 DD 7E 00 DD B6 01 28 0D\r
+R 00 00 01 00\r
+T 5A 00 00 00\r
+R 00 00 01 00\r
+T 5A 00 00 00 DD 6E 00 DD 66 01 E5 DD E1 FD 23\r
+R 00 00 01 00\r
+T 65 00 00 00 18 EB\r
+R 00 00 01 00\r
+T 67 00 00 00\r
+R 00 00 01 00\r
+T 67 00 00 00 FD E5 E1 F1\r
+R 00 00 01 00\r
+T 6B 00 00 00\r
+R 00 00 01 00\r
+T 6B 00 00 00 DD E1 FD E1 C1 C3 00 00 00 00\r
+R 00 00 01 00 02 0A 02 00\r
+T 73 00 00 00\r
+R 00 00 01 00\r
+T 73 00 00 00 C5 FD E5 DD E5 D5 6B 62 E5 DD E1\r
+R 00 00 01 00\r
+T 7E 00 00 00 EB 3E 43 00 00 00 21 43 00 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T 84 00 00 00 CD 00 00 00 00 23 E5 FD E1\r
+R 00 00 01 00 02 05 0E 00\r
+T 8B 00 00 00\r
+R 00 00 01 00\r
+T 8B 00 00 00 DD 7E 02 DD B6 03 28 0D\r
+R 00 00 01 00\r
+T 93 00 00 00\r
+R 00 00 01 00\r
+T 93 00 00 00 DD 6E 02 DD 66 03 E5 DD E1 FD 23\r
+R 00 00 01 00\r
+T 9E 00 00 00 18 EB\r
+R 00 00 01 00\r
+T A0 00 00 00\r
+R 00 00 01 00\r
+T A0 00 00 00 C3 67 00 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T A3 00 00 00\r
+R 00 00 01 00\r
+T A3 00 00 00 FD E5 DD E5 D5 C5 DD E1 21 0A 00\r
+R 00 00 01 00\r
+T AE 00 00 00 39 5E 23 56 D5 FD E1 FD 6E 00 FD\r
+R 00 00 01 00\r
+T B9 00 00 00 66 01 09 56 21 0C 00 39 7E 23 66\r
+R 00 00 01 00\r
+T C4 00 00 00 6F 5E 23 66 6B 09\r
+R 00 00 01 00\r
+T CA 00 00 00\r
+R 00 00 01 00\r
+T CA 00 00 00 72\r
+R 00 00 01 00\r
+T CB 00 00 00\r
+R 00 00 01 00\r
+T CB 00 00 00 FD E5 E1 4E 23 46 03 70 2B 71 DD\r
+R 00 00 01 00\r
+T D6 00 00 00 E5 E1 09 7E 21 00 00 39 BE FD 6E\r
+R 00 00 01 00\r
+T E1 00 00 00 00 FD 66 01 DD E5 C1 09 56 D5 21\r
+R 00 00 01 00\r
+T EC 00 00 00 0E 00 39 7E 23 66 6F 5E 23 56 13\r
+R 00 00 01 00\r
+T F7 00 00 00 72 2B 73 69 60 19 D1 20 CA\r
+R 00 00 01 00\r
+T 00 01 00 00\r
+R 00 00 01 00\r
+T 00 01 00 00\r
+R 00 00 01 00\r
+T 00 01 00 00 72\r
+R 00 00 01 00\r
+T 01 01 00 00\r
+R 00 00 01 00\r
+T 01 01 00 00 E1 DD E1 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 0A 02 00\r
+T 09 01 00 00\r
+R 00 00 01 00\r
+T 09 01 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39\r
+R 00 00 01 00\r
+T 14 01 00 00 F5 F5 F5 D5 FD E1 AF DD 77 FA DD\r
+R 00 00 01 00\r
+T 1F 01 00 00 77 FB DD 77 FC DD 77 FD DD 36 FE\r
+R 00 00 01 00\r
+T 2A 01 00 00 20\r
+R 00 00 01 00\r
+T 2B 01 00 00\r
+R 00 00 01 00\r
+T 2B 01 00 00 DD 6E FA DD 66 FB FD E5 C1 09 7E\r
+R 00 00 01 00\r
+T 36 01 00 00 B7 CA 89 02 00 00\r
+R 00 00 01 00 00 06 01 00\r
+T 3A 01 00 00\r
+R 00 00 01 00\r
+T 3A 01 00 00 DD 6E FA DD 66 FB 09 7E FE 27 28\r
+R 00 00 01 00\r
+T 45 01 00 00 0C DD 6E FA DD 66 FB 09 7E FE 22\r
+R 00 00 01 00\r
+T 50 01 00 00 20 1D\r
+R 00 00 01 00\r
+T 52 01 00 00\r
+R 00 00 01 00\r
+T 52 01 00 00\r
+R 00 00 01 00\r
+T 52 01 00 00\r
+R 00 00 01 00\r
+T 52 01 00 00 21 02 00 39 E5 2B 2B E5 DD 6E FA\r
+R 00 00 01 00\r
+T 5D 01 00 00 DD 66 FB FD E5 D1 19 5E 3E\r
+R 00 00 01 00\r
+T 66 01 00 00 A3 00 00 00 21 A3 00 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 6B 01 00 00 00 00 00 00 E1 E1\r
+R 00 00 01 00 02 04 0E 00\r
+T 6F 01 00 00\r
+R 00 00 01 00\r
+T 6F 01 00 00 DD 7E FE FE 20 C2 18 02 00 00 DD\r
+R 00 00 01 00 00 0A 01 00\r
+T 78 01 00 00 6E FA DD 66 FB FD E5 C1 09 7E FE\r
+R 00 00 01 00\r
+T 83 01 00 00 2C CA 0B 02 00 00 DD 6E FA DD 66\r
+R 00 00 01 00 00 06 01 00\r
+T 8C 01 00 00 FB 09 7E FE 29 28 78 DD 6E FA DD\r
+R 00 00 01 00\r
+T 97 01 00 00 66 FB 09 7E FE 28 28 6C DD 6E FA\r
+R 00 00 01 00\r
+T A2 01 00 00 DD 66 FB 09 7E FE 2B 28 60 DD 6E\r
+R 00 00 01 00\r
+T AD 01 00 00 FA DD 66 FB 09 7E FE 2D 28 54 DD\r
+R 00 00 01 00\r
+T B8 01 00 00 6E FA DD 66 FB 09 7E FE 2A 28 48\r
+R 00 00 01 00\r
+T C3 01 00 00 DD 6E FA DD 66 FB 09 7E FE 2F 28\r
+R 00 00 01 00\r
+T CE 01 00 00 3C DD 6E FA DD 66 FB 09 7E FE 26\r
+R 00 00 01 00\r
+T D9 01 00 00 28 30 DD 6E FA DD 66 FB 09 7E FE\r
+R 00 00 01 00\r
+T E4 01 00 00 7C 28 24 DD 6E FA DD 66 FB 09 7E\r
+R 00 00 01 00\r
+T EF 01 00 00 FE 3D 28 18 DD 6E FA DD 66 FB 09\r
+R 00 00 01 00\r
+T FA 01 00 00 7E FE 3C 28 0C DD 6E FA DD 66 FB\r
+R 00 00 01 00\r
+T 05 02 00 00 09 7E FE 3E 20 0D\r
+R 00 00 01 00\r
+T 0B 02 00 00\r
+R 00 00 01 00\r
+T 0B 02 00 00\r
+R 00 00 01 00\r
+T 0B 02 00 00\r
+R 00 00 01 00\r
+T 0B 02 00 00\r
+R 00 00 01 00\r
+T 0B 02 00 00\r
+R 00 00 01 00\r
+T 0B 02 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD\r
+R 00 00 01 00\r
+T 16 02 00 00 74 FD\r
+R 00 00 01 00\r
+T 18 02 00 00\r
+R 00 00 01 00\r
+T 18 02 00 00 DD 6E FA DD 66 FB FD E5 C1 09 56\r
+R 00 00 01 00\r
+T 23 02 00 00 DD 6E FC DD 66 FD 09 72 DD 7E FE\r
+R 00 00 01 00\r
+T 2E 02 00 00 FE 2C 28 2C FE 20 28 28 FE 28 28\r
+R 00 00 01 00\r
+T 39 02 00 00 24 FE 2B 28 20 FE 2D 28 1C FE 2A\r
+R 00 00 01 00\r
+T 44 02 00 00 28 18 FE 2F 28 14 FE 26 28 10 FE\r
+R 00 00 01 00\r
+T 4F 02 00 00 7C 28 0C FE 3D 28 08 FE 3E 28 04\r
+R 00 00 01 00\r
+T 5A 02 00 00 FE 3C 20 0C\r
+R 00 00 01 00\r
+T 5E 02 00 00\r
+R 00 00 01 00\r
+T 5E 02 00 00\r
+R 00 00 01 00\r
+T 5E 02 00 00 DD 6E FA DD 66 FB 09 7E FE 20 28\r
+R 00 00 01 00\r
+T 69 02 00 00 08\r
+R 00 00 01 00\r
+T 6A 02 00 00\r
+R 00 00 01 00\r
+T 6A 02 00 00\r
+R 00 00 01 00\r
+T 6A 02 00 00\r
+R 00 00 01 00\r
+T 6A 02 00 00 DD 34 FC 20 03 DD 34 FD\r
+R 00 00 01 00\r
+T 72 02 00 00\r
+R 00 00 01 00\r
+T 72 02 00 00\r
+R 00 00 01 00\r
+T 72 02 00 00 DD 6E FA DD 66 FB 09 46 DD 70 FE\r
+R 00 00 01 00\r
+T 7D 02 00 00 DD 34 FA C2 2B 01 00 00 DD 34 FB\r
+R 00 00 01 00 00 08 01 00\r
+T 86 02 00 00 C3 2B 01 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 89 02 00 00\r
+R 00 00 01 00\r
+T 89 02 00 00 DD 7E FE FE 20 DD 6E FC DD 66 FD\r
+R 00 00 01 00\r
+T 94 02 00 00 20 01\r
+R 00 00 01 00\r
+T 96 02 00 00\r
+R 00 00 01 00\r
+T 96 02 00 00 2B\r
+R 00 00 01 00\r
+T 97 02 00 00\r
+R 00 00 01 00\r
+T 97 02 00 00 09 36 00\r
+R 00 00 01 00\r
+T 9A 02 00 00\r
+R 00 00 01 00\r
+T 9A 02 00 00 DD F9 C3 6B 00 00 00\r
+R 00 00 01 00 00 07 01 00\r
+T 9F 02 00 00\r
+R 00 00 01 00\r
+T 9F 02 00 00 FD E5 DD E5 C5 D5 FD E1 DD 21\r
+R 00 00 01 00\r
+T A9 02 00 00 00 00\r
+R 00 00 01 00\r
+T AB 02 00 00\r
+R 00 00 01 00\r
+T AB 02 00 00 DD E5 E1 FD E5 C1 09 7E 21 00 00\r
+R 00 00 01 00\r
+T B6 02 00 00 39 BE 28 0C DD E5 E1 09 7E B7 28\r
+R 00 00 01 00\r
+T C1 02 00 00 04\r
+R 00 00 01 00\r
+T C2 02 00 00\r
+R 00 00 01 00\r
+T C2 02 00 00\r
+R 00 00 01 00\r
+T C2 02 00 00\r
+R 00 00 01 00\r
+T C2 02 00 00 DD 23 18 E5\r
+R 00 00 01 00\r
+T C6 02 00 00\r
+R 00 00 01 00\r
+T C6 02 00 00 DD E5 E1 09 7E B7 28 0C\r
+R 00 00 01 00\r
+T CE 02 00 00\r
+R 00 00 01 00\r
+T CE 02 00 00 DD E5 E1 09 E5 21 0C 00 39 46 E1\r
+R 00 00 01 00\r
+T D9 02 00 00 70\r
+R 00 00 01 00\r
+T DA 02 00 00\r
+R 00 00 01 00\r
+T DA 02 00 00 DD E5 E1 FD E5 C1 09\r
+R 00 00 01 00\r
+T E1 02 00 00\r
+R 00 00 01 00\r
+T E1 02 00 00 F1 DD E1 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 0A 02 00\r
+T E9 02 00 00\r
+R 00 00 01 00\r
+T E9 02 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5\r
+R 00 00 01 00\r
+T F4 02 00 00 D5 21 D8 FF 39 F9 11 06 00 CD\r
+R 00 00 01 00\r
+T FE 02 00 00 8F 04 00 00 E5 FD E1 DD 75 DA DD\r
+R 00 00 01 00 00 04 01 00\r
+T 07 03 00 00 74 DB AF 77 23 77 DD 77 D6 DD 77\r
+R 00 00 01 00\r
+T 12 03 00 00 D7 DD 77 D4 DD 77 D5\r
+R 00 00 01 00\r
+T 19 03 00 00\r
+R 00 00 01 00\r
+T 19 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD\r
+R 00 00 01 00\r
+T 24 03 00 00 4E FC DD 46 FD 09 7E DD BE 08 20\r
+R 00 00 01 00\r
+T 2F 03 00 00 07 AF DD B6 D4 CA 41 04 00 00\r
+R 00 00 01 00 00 0A 01 00\r
+T 37 03 00 00\r
+R 00 00 01 00\r
+T 37 03 00 00\r
+R 00 00 01 00\r
+T 37 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD\r
+R 00 00 01 00\r
+T 42 03 00 00 46 FD 09 7E B7 CA 41 04 00 00\r
+R 00 00 01 00 00 0A 01 00\r
+T 4A 03 00 00\r
+R 00 00 01 00\r
+T 4A 03 00 00\r
+R 00 00 01 00\r
+T 4A 03 00 00\r
+R 00 00 01 00\r
+T 4A 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD\r
+R 00 00 01 00\r
+T 55 03 00 00 46 FD 09 7E FE 22 28 04 FE 27 20\r
+R 00 00 01 00\r
+T 60 03 00 00 10\r
+R 00 00 01 00\r
+T 61 03 00 00\r
+R 00 00 01 00\r
+T 61 03 00 00 AF DD B6 D4 20 04 3E 01 18 01\r
+R 00 00 01 00\r
+T 6B 03 00 00\r
+R 00 00 01 00\r
+T 6B 03 00 00 AF\r
+R 00 00 01 00\r
+T 6C 03 00 00\r
+R 00 00 01 00\r
+T 6C 03 00 00 DD 77 D4 18 1C\r
+R 00 00 01 00\r
+T 71 03 00 00\r
+R 00 00 01 00\r
+T 71 03 00 00 FE 28 20 0B AF DD B6 D4 20 12\r
+R 00 00 01 00\r
+T 7B 03 00 00\r
+R 00 00 01 00\r
+T 7B 03 00 00 DD 34 D5\r
+R 00 00 01 00\r
+T 7E 03 00 00\r
+R 00 00 01 00\r
+T 7E 03 00 00 18 0D\r
+R 00 00 01 00\r
+T 80 03 00 00\r
+R 00 00 01 00\r
+T 80 03 00 00 FE 29 20 09 AF DD B6 D4 20 03\r
+R 00 00 01 00\r
+T 8A 03 00 00\r
+R 00 00 01 00\r
+T 8A 03 00 00 DD 35 D5\r
+R 00 00 01 00\r
+T 8D 03 00 00\r
+R 00 00 01 00\r
+T 8D 03 00 00\r
+R 00 00 01 00\r
+T 8D 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD\r
+R 00 00 01 00\r
+T 98 03 00 00 46 FD 09 7E DD BE FE 20 0B AF DD\r
+R 00 00 01 00\r
+T A3 03 00 00 B6 D4 20 05 DD B6 D5 28 1D\r
+R 00 00 01 00\r
+T AC 03 00 00\r
+R 00 00 01 00\r
+T AC 03 00 00\r
+R 00 00 01 00\r
+T AC 03 00 00\r
+R 00 00 01 00\r
+T AC 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD\r
+R 00 00 01 00\r
+T B7 03 00 00 46 FD 09 46 21 08 00 39 DD 5E D6\r
+R 00 00 01 00\r
+T C2 03 00 00 DD 56 D7 19 70 18 61\r
+R 00 00 01 00\r
+T C9 03 00 00\r
+R 00 00 01 00\r
+T C9 03 00 00 21 08 00 39 DD 4E D6 DD 46 D7 09\r
+R 00 00 01 00\r
+T D4 03 00 00 77 21 08 00 39 CD 97 04 00 00 EB\r
+R 00 00 01 00 00 0A 01 00\r
+T DD 03 00 00 13 CD 8F 04 00 00 FD 75 04 FD 74\r
+R 00 00 01 00 00 06 01 00\r
+T E6 03 00 00 05 21 08 00 39 4D 44 FD 5E 04 FD\r
+R 00 00 01 00\r
+T F1 03 00 00 56 05 CD AD 04 00 00 FD E5 E1 DD\r
+R 00 00 01 00 00 07 01 00\r
+T FA 03 00 00 75 D8 DD 74 D9 11 06 00 CD\r
+R 00 00 01 00\r
+T 03 04 00 00 8F 04 00 00 FD 75 02 FD 74 03 FD\r
+R 00 00 01 00 00 04 01 00\r
+T 0C 04 00 00 6E 02 FD 66 03 E5 FD E1 DD 6E D8\r
+R 00 00 01 00\r
+T 17 04 00 00 DD 66 D9 E5 FD E5 E1 C1 71 23 70\r
+R 00 00 01 00\r
+T 22 04 00 00 DD 36 D6 FF DD 36 D7 FF\r
+R 00 00 01 00\r
+T 2A 04 00 00\r
+R 00 00 01 00\r
+T 2A 04 00 00 DD 6E 0A DD 66 0B 34 23 20 01 34\r
+R 00 00 01 00\r
+T 35 04 00 00\r
+R 00 00 01 00\r
+T 35 04 00 00 DD 34 D6 C2 19 03 00 00 DD 34 D7\r
+R 00 00 01 00 00 08 01 00\r
+T 3E 04 00 00 C3 19 03 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 41 04 00 00\r
+R 00 00 01 00\r
+T 41 04 00 00 21 08 00 39 DD 4E D6 DD 46 D7 09\r
+R 00 00 01 00\r
+T 4C 04 00 00 77 21 08 00 39 CD 97 04 00 00 EB\r
+R 00 00 01 00 00 0A 01 00\r
+T 55 04 00 00 13 CD 8F 04 00 00 FD 75 04 FD 74\r
+R 00 00 01 00 00 06 01 00\r
+T 5E 04 00 00 05 21 08 00 39 4D 44 FD 5E 04 FD\r
+R 00 00 01 00\r
+T 69 04 00 00 56 05 CD AD 04 00 00 AF FD 77 02\r
+R 00 00 01 00 00 07 01 00\r
+T 72 04 00 00 FD 77 03 DD 6E DA DD 66 DB\r
+R 00 00 01 00\r
+T 7B 04 00 00\r
+R 00 00 01 00\r
+T 7B 04 00 00 DD F9 DD E1 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 0B 02 00\r
+T 84 04 00 00\r
+R 00 00 01 00\r
+T 84 04 00 00 71 23 70 FD 6E 00 FD 66 01\r
+R 00 00 01 00\r
+T 8D 04 00 00\r
+R 00 00 01 00\r
+T 8D 04 00 00 29\r
+R 00 00 01 00\r
+T 8E 04 00 00\r
+R 00 00 01 00\r
+T 8E 04 00 00 EB\r
+R 00 00 01 00\r
+T 8F 04 00 00\r
+R 00 00 01 00\r
+T 8F 04 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 18 00 02 0A 18 00\r
+T 95 04 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 97 04 00 00\r
+R 00 00 01 00\r
+T 97 04 00 00 EB\r
+R 00 00 01 00\r
+T 98 04 00 00\r
+R 00 00 01 00\r
+T 98 04 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 09 00 02 0A 09 00\r
+T 9E 04 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T A0 04 00 00\r
+R 00 00 01 00\r
+T A0 04 00 00 4D 44 FD 6E 4A FD 66 4B\r
+R 00 00 01 00\r
+T A8 04 00 00\r
+R 00 00 01 00\r
+T A8 04 00 00 11 04 00\r
+R 00 00 01 00\r
+T AB 04 00 00\r
+R 00 00 01 00\r
+T AB 04 00 00 19\r
+R 00 00 01 00\r
+T AC 04 00 00\r
+R 00 00 01 00\r
+T AC 04 00 00 EB\r
+R 00 00 01 00\r
+T AD 04 00 00\r
+R 00 00 01 00\r
+T AD 04 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 0F 00 02 0A 0F 00\r
+T B3 04 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T B5 04 00 00\r
+R 00 00 01 00\r
+T B5 04 00 00 C5 FD E5 DD E5 D5 FD E1 CD\r
+R 00 00 01 00\r
+T BE 04 00 00 98 04 00 00 EB 13 CD 8F 04 00 00\r
+R 00 00 01 00 00 04 01 00 00 0B 01 00\r
+T C5 04 00 00 E5 DD E1 FD E5 C1 CD AC 04 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T CE 04 00 00 DD E5 D1 3E 09 01 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T D4 04 00 00 09 01 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T DA 04 00 00 03 00 E5 01 00 00 00 00 DD E5 D1\r
+R 00 00 01 00 00 08 02 00\r
+T E3 04 00 00 CD 60 05 00 00 F1 7D B4 20 0A\r
+R 00 00 01 00 00 05 01 00\r
+T EB 04 00 00\r
+R 00 00 01 00\r
+T EB 04 00 00 DD E5 D1 3E 68 05 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T F1 04 00 00 68 05 00 00 18 52\r
+R 00 00 01 00 00 04 01 00\r
+T F5 04 00 00\r
+R 00 00 01 00\r
+T F5 04 00 00 21 03 00 E5 01 04 00 00 00 DD E5\r
+R 00 00 01 00 00 09 02 00\r
+T FE 04 00 00 D1 CD 60 05 00 00 F1 7D B4 20 0A\r
+R 00 00 01 00 00 06 01 00\r
+T 07 05 00 00\r
+R 00 00 01 00\r
+T 07 05 00 00 DD E5 D1 3E 97 06 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 0D 05 00 00 97 06 00 00 18 36\r
+R 00 00 01 00 00 04 01 00\r
+T 11 05 00 00\r
+R 00 00 01 00\r
+T 11 05 00 00 21 03 00 E5 01 08 00 00 00 DD E5\r
+R 00 00 01 00 00 09 02 00\r
+T 1A 05 00 00 D1 CD 60 05 00 00 F1 7D B4 20 0A\r
+R 00 00 01 00 00 06 01 00\r
+T 23 05 00 00\r
+R 00 00 01 00\r
+T 23 05 00 00 DD E5 D1 3E 3E 07 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 29 05 00 00 3E 07 00 00 18 1A\r
+R 00 00 01 00 00 04 01 00\r
+T 2D 05 00 00\r
+R 00 00 01 00\r
+T 2D 05 00 00 21 03 00 E5 01 0C 00 00 00 DD E5\r
+R 00 00 01 00 00 09 02 00\r
+T 36 05 00 00 D1 CD 60 05 00 00 F1 7D B4 20 0D\r
+R 00 00 01 00 00 06 01 00\r
+T 3F 05 00 00\r
+R 00 00 01 00\r
+T 3F 05 00 00 DD E5 D1 3E 0B 08 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 45 05 00 00 0B 08 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 47 05 00 00\r
+R 00 00 01 00\r
+T 47 05 00 00 CD 00 00 00 00 18 03\r
+R 00 00 01 00 02 05 0E 00\r
+T 4C 05 00 00\r
+R 00 00 01 00\r
+T 4C 05 00 00 21 00 00\r
+R 00 00 01 00\r
+T 4F 05 00 00\r
+R 00 00 01 00\r
+T 4F 05 00 00 C3 6B 00 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 52 05 00 00\r
+R 00 00 01 00\r
+T 52 05 00 00 DD 6E FC DD 66 FD DD 5E FE DD 56\r
+R 00 00 01 00\r
+T 5D 05 00 00 FF\r
+R 00 00 01 00\r
+T 5E 05 00 00\r
+R 00 00 01 00\r
+T 5E 05 00 00 19 EB\r
+R 00 00 01 00\r
+T 60 05 00 00\r
+R 00 00 01 00\r
+T 60 05 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 03 00 02 0A 03 00\r
+T 66 05 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 68 05 00 00\r
+R 00 00 01 00\r
+T 68 05 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39\r
+R 00 00 01 00\r
+T 73 05 00 00 D5 F5 11 09 00 CD 8F 04 00 00 E5\r
+R 00 00 01 00 00 0A 01 00\r
+T 7C 05 00 00 FD E1 36 73 AF FD 77 05 FD 77 06\r
+R 00 00 01 00\r
+T 87 05 00 00 FD 77 07 FD 77 08 DD 36 FC 03 DD\r
+R 00 00 01 00\r
+T 92 05 00 00 77 FD DD 6E FE DD 66 FF 23 23 23\r
+R 00 00 01 00\r
+T 9D 05 00 00 7E FE 20 20 08\r
+R 00 00 01 00\r
+T A2 05 00 00\r
+R 00 00 01 00\r
+T A2 05 00 00 DD 34 FC 20 03 DD 34 FD\r
+R 00 00 01 00\r
+T AA 05 00 00\r
+R 00 00 01 00\r
+T AA 05 00 00\r
+R 00 00 01 00\r
+T AA 05 00 00 21 00 00 39 E5 0E 20 C5 0E 2C DD\r
+R 00 00 01 00\r
+T B5 05 00 00 5E FE DD 56 FF CD 8F 06 00 00 F1\r
+R 00 00 01 00 00 0A 01 00\r
+T BE 05 00 00 F1 FD 75 01 FD 74 02 21 04 00 E5\r
+R 00 00 01 00\r
+T C9 05 00 00 01 10 00 00 00 CD 52 05 00 00 F1\r
+R 00 00 01 00 00 05 02 00 00 0A 01 00\r
+T D0 05 00 00 7D B4 20 0D\r
+R 00 00 01 00\r
+T D4 05 00 00\r
+R 00 00 01 00\r
+T D4 05 00 00 6F 67 39 7E C6 04 77 30 0A 23 34\r
+R 00 00 01 00\r
+T DF 05 00 00 18 06\r
+R 00 00 01 00\r
+T E1 05 00 00\r
+R 00 00 01 00\r
+T E1 05 00 00 21 00 00 C3 85 06 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T E7 05 00 00\r
+R 00 00 01 00\r
+T E7 05 00 00 21 00 00 39 E5 0E 20 C5 0E 2C DD\r
+R 00 00 01 00\r
+T F2 05 00 00 5E FE DD 56 FF CD 8F 06 00 00 F1\r
+R 00 00 01 00 00 0A 01 00\r
+T FB 05 00 00 F1 FD 75 03 FD 74 04 21 03 00 E5\r
+R 00 00 01 00\r
+T 06 06 00 00 01 15 00 00 00 CD 52 05 00 00 F1\r
+R 00 00 01 00 00 05 02 00 00 0A 01 00\r
+T 0D 06 00 00 7D B4 20 3C\r
+R 00 00 01 00\r
+T 11 06 00 00\r
+R 00 00 01 00\r
+T 11 06 00 00 6F 67 39 7E C6 03 77 30 02 23 34\r
+R 00 00 01 00\r
+T 1C 06 00 00\r
+R 00 00 01 00\r
+T 1C 06 00 00 6F DD 66 FD DD 4E FE DD 46 FF 09\r
+R 00 00 01 00\r
+T 27 06 00 00 7E FE 20 20 08\r
+R 00 00 01 00\r
+T 2C 06 00 00\r
+R 00 00 01 00\r
+T 2C 06 00 00 DD 34 FC 20 03 DD 34 FD\r
+R 00 00 01 00\r
+T 34 06 00 00\r
+R 00 00 01 00\r
+T 34 06 00 00\r
+R 00 00 01 00\r
+T 34 06 00 00 21 00 00 39 E5 0E 20 C5 0E 2C DD\r
+R 00 00 01 00\r
+T 3F 06 00 00 5E FE 50 CD 8F 06 00 00 F1 F1 FD\r
+R 00 00 01 00 00 08 01 00\r
+T 48 06 00 00 75 05 FD 74 06\r
+R 00 00 01 00\r
+T 4D 06 00 00\r
+R 00 00 01 00\r
+T 4D 06 00 00 21 05 00 E5 01 19 00 00 00 CD\r
+R 00 00 01 00 00 09 02 00\r
+T 55 06 00 00 52 05 00 00 F1 7D B4 20 26\r
+R 00 00 01 00 00 04 01 00\r
+T 5C 06 00 00\r
+R 00 00 01 00\r
+T 5C 06 00 00 6F 67 39 7E C6 05 77 30 02 23 34\r
+R 00 00 01 00\r
+T 67 06 00 00\r
+R 00 00 01 00\r
+T 67 06 00 00 21 00 00 39 E5 0E 20 C5 0E 2C DD\r
+R 00 00 01 00\r
+T 72 06 00 00 5E FE DD 56 FF CD 8F 06 00 00 F1\r
+R 00 00 01 00 00 0A 01 00\r
+T 7B 06 00 00 F1 FD 75 07 FD 74 08\r
+R 00 00 01 00\r
+T 82 06 00 00\r
+R 00 00 01 00\r
+T 82 06 00 00 FD E5 E1\r
+R 00 00 01 00\r
+T 85 06 00 00\r
+R 00 00 01 00\r
+T 85 06 00 00 DD F9 C3 6B 00 00 00\r
+R 00 00 01 00 00 07 01 00\r
+T 8A 06 00 00\r
+R 00 00 01 00\r
+T 8A 06 00 00 0E 2C FD E5 D1\r
+R 00 00 01 00\r
+T 8F 06 00 00\r
+R 00 00 01 00\r
+T 8F 06 00 00 3E E9 02 00 00 21 E9 02 00 00 C3\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 95 06 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 97 06 00 00\r
+R 00 00 01 00\r
+T 97 06 00 00 C5 FD E5 DD E5 F5 D5 FD E1 11\r
+R 00 00 01 00\r
+T A1 06 00 00 09 00 CD 8F 04 00 00 E5 DD E1 36\r
+R 00 00 01 00 00 07 01 00\r
+T AA 06 00 00 69 AF DD 77 05 DD 77 06 6F 67 39\r
+R 00 00 01 00\r
+T B5 06 00 00 36 04 23 77 2B E5 0E 28 C5 CD\r
+R 00 00 01 00\r
+T BF 06 00 00 8A 06 00 00 F1 F1 DD 75 03 DD 74\r
+R 00 00 01 00 00 04 01 00\r
+T C8 06 00 00 04 21 01 00 E5 01 1F 00 00 00 23\r
+R 00 00 01 00 00 0A 02 00\r
+T D1 06 00 00 39 56 23 66 6A FD E5 D1 CD\r
+R 00 00 01 00\r
+T DA 06 00 00 5E 05 00 00 F1 7D B4 20 51\r
+R 00 00 01 00 00 04 01 00\r
+T E1 06 00 00\r
+R 00 00 01 00\r
+T E1 06 00 00 6F 67 39 34 23 20 01 34\r
+R 00 00 01 00\r
+T E9 06 00 00\r
+R 00 00 01 00\r
+T E9 06 00 00\r
+R 00 00 01 00\r
+T E9 06 00 00\r
+R 00 00 01 00\r
+T E9 06 00 00 2B E5 0E 29 C5 CD 8A 06 00 00 F1\r
+R 00 00 01 00 00 0A 01 00\r
+T F2 06 00 00 F1 DD 75 01 DD 74 02 21 06 00 E5\r
+R 00 00 01 00\r
+T FD 06 00 00 01 21 00 00 00 2E 02 39 56 23 66\r
+R 00 00 01 00 00 05 02 00\r
+T 06 07 00 00 6A FD E5 D1 CD 5E 05 00 00 F1 7D\r
+R 00 00 01 00 00 09 01 00\r
+T 0F 07 00 00 B4 20 20\r
+R 00 00 01 00\r
+T 12 07 00 00\r
+R 00 00 01 00\r
+T 12 07 00 00 6F 67 39 7E C6 06 77 30 02 23 34\r
+R 00 00 01 00\r
+T 1D 07 00 00\r
+R 00 00 01 00\r
+T 1D 07 00 00 21 00 00 39 E5 0E 29 C5 CD\r
+R 00 00 01 00\r
+T 26 07 00 00 8A 06 00 00 F1 F1 DD 75 07 DD 74\r
+R 00 00 01 00 00 04 01 00\r
+T 2F 07 00 00 08 18 05\r
+R 00 00 01 00\r
+T 32 07 00 00\r
+R 00 00 01 00\r
+T 32 07 00 00 21 00 00 18 03\r
+R 00 00 01 00\r
+T 37 07 00 00\r
+R 00 00 01 00\r
+T 37 07 00 00 DD E5 E1\r
+R 00 00 01 00\r
+T 3A 07 00 00\r
+R 00 00 01 00\r
+T 3A 07 00 00 F1 C3 6B 00 00 00\r
+R 00 00 01 00 00 06 01 00\r
+T 3E 07 00 00\r
+R 00 00 01 00\r
+T 3E 07 00 00 C5 FD E5 DD E5 F5 D5 FD E1 11\r
+R 00 00 01 00\r
+T 48 07 00 00 09 00 CD 8F 04 00 00 E5 DD E1 36\r
+R 00 00 01 00 00 07 01 00\r
+T 51 07 00 00 75 AF DD 77 05 DD 77 06 DD 77 07\r
+R 00 00 01 00\r
+T 5C 07 00 00 DD 77 08 6F 67 39 36 04 23 77 2B\r
+R 00 00 01 00\r
+T 67 07 00 00 E5 0E 20 C5 CD 8A 06 00 00 F1 F1\r
+R 00 00 01 00 00 09 01 00\r
+T 70 07 00 00 DD 75 03 DD 74 04 21 04 00 E5 01\r
+R 00 00 01 00\r
+T 7B 07 00 00 28 00 00 00 2B 2B 39 56 23 66 6A\r
+R 00 00 01 00 00 04 02 00\r
+T 84 07 00 00 FD E5 D1 CD 5E 05 00 00 F1 7D B4\r
+R 00 00 01 00 00 08 01 00\r
+T 8D 07 00 00 20 0D\r
+R 00 00 01 00\r
+T 8F 07 00 00\r
+R 00 00 01 00\r
+T 8F 07 00 00 6F 67 39 7E C6 04 77 30 09 23 34\r
+R 00 00 01 00\r
+T 9A 07 00 00 18 05\r
+R 00 00 01 00\r
+T 9C 07 00 00\r
+R 00 00 01 00\r
+T 9C 07 00 00 21 00 00 18 66\r
+R 00 00 01 00\r
+T A1 07 00 00\r
+R 00 00 01 00\r
+T A1 07 00 00 21 00 00 39 E5 0E 20 C5 CD\r
+R 00 00 01 00\r
+T AA 07 00 00 8A 06 00 00 F1 F1 DD 75 01 DD 74\r
+R 00 00 01 00 00 04 01 00\r
+T B3 07 00 00 02 21 03 00 E5 01 15 00 00 00 2B\r
+R 00 00 01 00 00 0A 02 00\r
+T BC 07 00 00 39 56 23 66 6A FD E5 D1 CD\r
+R 00 00 01 00\r
+T C5 07 00 00 5E 05 00 00 F1 7D B4 20 38\r
+R 00 00 01 00 00 04 01 00\r
+T CC 07 00 00\r
+R 00 00 01 00\r
+T CC 07 00 00 6F 67 39 7E C6 03 77 30 02 23 34\r
+R 00 00 01 00\r
+T D7 07 00 00\r
+R 00 00 01 00\r
+T D7 07 00 00 21 00 00 39 47 23 66 68 FD E5 C1\r
+R 00 00 01 00\r
+T E2 07 00 00 09 7E FE 20 20 09\r
+R 00 00 01 00\r
+T E8 07 00 00\r
+R 00 00 01 00\r
+T E8 07 00 00 21 00 00 39 34 23 20 01 34\r
+R 00 00 01 00\r
+T F1 07 00 00\r
+R 00 00 01 00\r
+T F1 07 00 00\r
+R 00 00 01 00\r
+T F1 07 00 00 21 00 00 39 E5 0E 20 C5 CD\r
+R 00 00 01 00\r
+T FA 07 00 00 8A 06 00 00 F1 F1 DD 75 05 DD 74\r
+R 00 00 01 00 00 04 01 00\r
+T 03 08 00 00 06\r
+R 00 00 01 00\r
+T 04 08 00 00\r
+R 00 00 01 00\r
+T 04 08 00 00 DD E5 E1\r
+R 00 00 01 00\r
+T 07 08 00 00\r
+R 00 00 01 00\r
+T 07 08 00 00 F1 C3 6B 00 00 00\r
+R 00 00 01 00 00 06 01 00\r
+T 0B 08 00 00\r
+R 00 00 01 00\r
+T 0B 08 00 00 C5 FD E5 DD E5 F5 D5 FD E1 11\r
+R 00 00 01 00\r
+T 15 08 00 00 09 00 CD 8F 04 00 00 E5 DD E1 36\r
+R 00 00 01 00 00 07 01 00\r
+T 1E 08 00 00 64 AF DD 77 05 DD 77 06 DD 77 07\r
+R 00 00 01 00\r
+T 29 08 00 00 DD 77 08 DD 77 01 DD 77 02 6F 67\r
+R 00 00 01 00\r
+T 34 08 00 00 39 36 04 23 77 2B E5 0E 20 C5 CD\r
+R 00 00 01 00\r
+T 3F 08 00 00 8A 06 00 00 F1 F1 DD 75 03 DD 74\r
+R 00 00 01 00 00 04 01 00\r
+T 48 08 00 00 04 21 03 00 E5 01 15 00 00 00 2B\r
+R 00 00 01 00 00 0A 02 00\r
+T 51 08 00 00 39 56 23 66 6A FD E5 D1 CD\r
+R 00 00 01 00\r
+T 5A 08 00 00 5E 05 00 00 F1 7D B4 20 38\r
+R 00 00 01 00 00 04 01 00\r
+T 61 08 00 00\r
+R 00 00 01 00\r
+T 61 08 00 00 6F 67 39 7E C6 03 77 30 02 23 34\r
+R 00 00 01 00\r
+T 6C 08 00 00\r
+R 00 00 01 00\r
+T 6C 08 00 00 21 00 00 39 47 23 66 68 FD E5 C1\r
+R 00 00 01 00\r
+T 77 08 00 00 09 7E FE 20 20 09\r
+R 00 00 01 00\r
+T 7D 08 00 00\r
+R 00 00 01 00\r
+T 7D 08 00 00 21 00 00 39 34 23 20 01 34\r
+R 00 00 01 00\r
+T 86 08 00 00\r
+R 00 00 01 00\r
+T 86 08 00 00\r
+R 00 00 01 00\r
+T 86 08 00 00 21 00 00 39 E5 0E 20 C5 CD\r
+R 00 00 01 00\r
+T 8F 08 00 00 8A 06 00 00 F1 F1 DD 75 05 DD 74\r
+R 00 00 01 00 00 04 01 00\r
+T 98 08 00 00 06\r
+R 00 00 01 00\r
+T 99 08 00 00\r
+R 00 00 01 00\r
+T 99 08 00 00 DD E5 E1 F1 C3 6B 00 00 00\r
+R 00 00 01 00 00 09 01 00\r
+T A0 08 00 00\r
+R 00 00 01 00\r
+T A0 08 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39\r
+R 00 00 01 00\r
+T AB 08 00 00 F5 F5 F5 F5 D5 FD E1 11 40 00 CD\r
+R 00 00 01 00\r
+T B6 08 00 00 8F 04 00 00 DD 75 F8 DD 74 F9 01\r
+R 00 00 01 00 00 04 01 00\r
+T BF 08 00 00 2D 00 00 00 EB CD 53 0B 00 00 CD\r
+R 00 00 01 00 00 04 02 00 00 0A 01 00\r
+T C6 08 00 00 00 00 00 00 01 36 00 00 00 DD 5E\r
+R 00 00 01 00 02 04 0E 00 00 09 02 00\r
+T CD 08 00 00 F8 DD 56 F9 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 09 06 00\r
+T D4 08 00 00 00 00 00 00 CD 00 00 00 00 FD 36\r
+R 00 00 01 00 02 04 06 00 02 09 0E 00\r
+T DB 08 00 00 0A 00 21 3B 00 00 00 E5 21 00 00\r
+R 00 00 01 00 00 07 02 00\r
+T E4 08 00 00 E5 01 FF FF DD 5E F8 DD 56 F9 3E\r
+R 00 00 01 00\r
+T EF 08 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 08 00 02 09 08 00\r
+T F4 08 00 00 00 00 00 00 F1 F1 DD 75 FC DD 74\r
+R 00 00 01 00 02 04 0E 00\r
+T FD 08 00 00 FD E5 21 01 00 E5 01 04 00 DD 5E\r
+R 00 00 01 00\r
+T 08 09 00 00 F8 DD 56 F9 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 09 00 00\r
+T 0F 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 00 00 02 09 0E 00\r
+T 16 09 00 00 DD 6E F8 DD 66 F9 7E FE 54 C2\r
+R 00 00 01 00\r
+T 20 09 00 00 2A 0B 00 00 23 7E FE 42 C2\r
+R 00 00 01 00 00 04 01 00\r
+T 27 09 00 00 2A 0B 00 00 23 7E FE 4C C2\r
+R 00 00 01 00 00 04 01 00\r
+T 2E 09 00 00 2A 0B 00 00 23 7E FE 20 C2\r
+R 00 00 01 00 00 04 01 00\r
+T 35 09 00 00 2A 0B 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 37 09 00 00\r
+R 00 00 01 00\r
+T 37 09 00 00\r
+R 00 00 01 00\r
+T 37 09 00 00\r
+R 00 00 01 00\r
+T 37 09 00 00\r
+R 00 00 01 00\r
+T 37 09 00 00 DD 6E FC DD 66 FD E5 21 01 00 E5\r
+R 00 00 01 00\r
+T 42 09 00 00 01 04 00 DD 5E F8 DD 56 F9 3E\r
+R 00 00 01 00\r
+T 4C 09 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T 51 09 00 00 00 00 00 00 F1 F1 DD 6E F8 DD 66\r
+R 00 00 01 00 02 04 0E 00\r
+T 5A 09 00 00 F9 4E DD 71 FE 06 00 DD 70 FF FD\r
+R 00 00 01 00\r
+T 65 09 00 00 E5 E1 71 23 70 69 60 29 29 4D 44\r
+R 00 00 01 00\r
+T 70 09 00 00 29 09 CD 8E 04 00 00 FD 75 02 FD\r
+R 00 00 01 00 00 07 01 00\r
+T 79 09 00 00 74 03 AF DD 77 FA DD 77 FB\r
+R 00 00 01 00\r
+T 82 09 00 00\r
+R 00 00 01 00\r
+T 82 09 00 00 DD 4E FE DD 46 FF DD 6E FA DD 66\r
+R 00 00 01 00\r
+T 8D 09 00 00 FB F6 80 ED 42 E2 96 09 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T 96 09 00 00\r
+R 00 00 01 00\r
+T 96 09 00 00 F2 3F 0A 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 99 09 00 00\r
+R 00 00 01 00\r
+T 99 09 00 00 DD 6E FC DD 66 FD E5 21 01 00 E5\r
+R 00 00 01 00\r
+T A4 09 00 00 01 08 00 FD 6E 02 FD 66 03 E5 DD\r
+R 00 00 01 00\r
+T AF 09 00 00 6E FA DD 66 FB 29 29 5D 54 29 19\r
+R 00 00 01 00\r
+T BA 09 00 00 EB E1 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 09 00 00\r
+T C1 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 00 00 02 09 0E 00\r
+T C8 09 00 00 FD 6E 02 FD 66 03 E5 DD 6E FA DD\r
+R 00 00 01 00\r
+T D3 09 00 00 66 FB 29 29 4D 44 29 09 4D 44 E1\r
+R 00 00 01 00\r
+T DE 09 00 00 09 01 08 00 09 70 DD 6E FC DD 66\r
+R 00 00 01 00\r
+T E9 09 00 00 FD E5 21 01 00 E5 0E 03 FD 6E 02\r
+R 00 00 01 00\r
+T F4 09 00 00 FD 66 03 E5 DD 6E FA DD 66 FB 29\r
+R 00 00 01 00\r
+T FF 09 00 00 29 5D 54 29 19 EB E1 19 11 09 00\r
+R 00 00 01 00\r
+T 0A 0A 00 00 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 07 00 00\r
+T 0F 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 00 00 02 09 0E 00\r
+T 16 0A 00 00 DD 6E FC DD 66 FD E5 21 01 00 E5\r
+R 00 00 01 00\r
+T 21 0A 00 00 4D 44 DD 5E F8 DD 56 F9 3E\r
+R 00 00 01 00\r
+T 2A 0A 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T 2F 0A 00 00 00 00 00 00 F1 F1 DD 34 FA C2\r
+R 00 00 01 00 02 04 0E 00\r
+T 37 0A 00 00 82 09 00 00 DD 34 FB C3\r
+R 00 00 01 00 00 04 01 00\r
+T 3D 0A 00 00 82 09 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 3F 0A 00 00\r
+R 00 00 01 00\r
+T 3F 0A 00 00 01 2D 00 00 00 DD 5E F8 DD 56 F9\r
+R 00 00 01 00 00 05 02 00\r
+T 48 0A 00 00 CD 53 0B 00 00 CD 00 00 00 00 01\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T 4F 0A 00 00 3E 00 00 00 DD 5E F8 DD 56 F9 3E\r
+R 00 00 01 00 00 04 02 00\r
+T 58 0A 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 06 00 02 09 06 00\r
+T 5D 0A 00 00 00 00 00 00 21 43 00 00 00 E5 21\r
+R 00 00 01 00 02 04 0E 00 00 09 02 00\r
+T 64 0A 00 00 00 00 E5 01 FF FF DD 5E F8 DD 56\r
+R 00 00 01 00\r
+T 6F 0A 00 00 F9 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 06 08 00 02 0B 08 00\r
+T 75 0A 00 00 CD 00 00 00 00 F1 F1 FD 75 08 FD\r
+R 00 00 01 00 02 05 0E 00\r
+T 7E 0A 00 00 74 09 FD 36 0A 01 FD 6E 08 FD 66\r
+R 00 00 01 00\r
+T 89 0A 00 00 09 E5 21 01 00 E5 01 04 00 DD 5E\r
+R 00 00 01 00\r
+T 94 0A 00 00 F8 DD 56 F9 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 09 00 00\r
+T 9B 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 00 00 02 09 0E 00\r
+T A2 0A 00 00 DD 6E F8 DD 66 F9 7E FE 44 20 12\r
+R 00 00 01 00\r
+T AD 0A 00 00 23 7E FE 41 20 0C 23 7E FE 54 20\r
+R 00 00 01 00\r
+T B8 0A 00 00 06 23 7E FE 20 28 0F\r
+R 00 00 01 00\r
+T BF 0A 00 00\r
+R 00 00 01 00\r
+T BF 0A 00 00\r
+R 00 00 01 00\r
+T BF 0A 00 00\r
+R 00 00 01 00\r
+T BF 0A 00 00 FD 36 0A 00 FD 5E 08 FD 56 09 CD\r
+R 00 00 01 00\r
+T CA 0A 00 00 4B 0B 00 00 18 5C\r
+R 00 00 01 00 00 04 01 00\r
+T CE 0A 00 00\r
+R 00 00 01 00\r
+T CE 0A 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5\r
+R 00 00 01 00\r
+T D9 0A 00 00 01 02 00 2E 04 FD E5 D1 19 EB 3E\r
+R 00 00 01 00\r
+T E4 0A 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T E9 0A 00 00 00 00 00 00 F1 F1 FD 6E 08 FD 66\r
+R 00 00 01 00 02 04 0E 00\r
+T F2 0A 00 00 09 E5 21 01 00 E5 01 02 00 2E 06\r
+R 00 00 01 00\r
+T FD 0A 00 00 FD E5 D1 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 0A 00 00\r
+T 05 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 00 00 02 09 0E 00\r
+T 0C 0B 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5\r
+R 00 00 01 00\r
+T 17 0B 00 00 01 02 00 DD 5E F8 DD 56 F9 3E\r
+R 00 00 01 00\r
+T 21 0B 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T 26 0B 00 00 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 0E 00\r
+T 2A 0B 00 00\r
+R 00 00 01 00\r
+T 2A 0B 00 00\r
+R 00 00 01 00\r
+T 2A 0B 00 00 DD 5E FC DD 56 FD CD 4B 0B 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 33 0B 00 00 DD 5E F8 DD 56 F9 CD 3B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 3C 0B 00 00 DD F9 C3 6B 00 00 00\r
+R 00 00 01 00 00 07 01 00\r
+T 41 0B 00 00\r
+R 00 00 01 00\r
+T 41 0B 00 00 D5 DD E1 21 08 00 19 5E 23 56\r
+R 00 00 01 00\r
+T 4B 0B 00 00\r
+R 00 00 01 00\r
+T 4B 0B 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 19 00 02 0A 19 00\r
+T 51 0B 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 53 0B 00 00\r
+R 00 00 01 00\r
+T 53 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 05 0F 00 02 0A 0F 00\r
+T 59 0B 00 00 00 00 00 00 21 0B 00 FD E5 C1 09\r
+R 00 00 01 00 02 04 0E 00\r
+T 62 0B 00 00 4D 44 DD 5E F8 DD 56 F9 3E\r
+R 00 00 01 00\r
+T 6B 0B 00 00 00 00 00 00 21 00 00 00 00 C9\r
+R 00 00 01 00 2B 04 06 00 02 09 06 00\r
+T 70 0B 00 00\r
+R 00 00 01 00\r
+T 70 0B 00 00 DD E5 CD 41 0B 00 00 DD 5E 02 DD\r
+R 00 00 01 00 00 07 01 00\r
+T 79 0B 00 00 56 03 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 07 0D 00\r
+T 7E 0B 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0D 00\r
+T 80 0B 00 00\r
+R 00 00 01 00\r
+T 80 0B 00 00 CD 00 00 00 00\r
+R 00 00 01 00 02 05 0E 00\r
+T 83 0B 00 00\r
+R 00 00 01 00\r
+T 83 0B 00 00 DD E5 D1 CD 3B 00 00 00 DD E1 C3\r
+R 00 00 01 00 00 08 01 00\r
+T 8C 0B 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 02 00\r
+T 8E 0B 00 00\r
+R 00 00 01 00\r
+T 8E 0B 00 00 DD E5 D5 DD E1 13 EB 5E 23 56 3E\r
+R 00 00 01 00\r
+T 99 0B 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 9E 0B 00 00 00 00 00 00 DD 5E 03 DD 56 04 3E\r
+R 00 00 01 00 02 04 0E 00\r
+T A7 0B 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T AC 0B 00 00 00 00 00 00 DD 5E 05 DD 56 06 3E\r
+R 00 00 01 00 02 04 0E 00\r
+T B5 0B 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T BA 0B 00 00 00 00 00 00 DD 5E 07 DD 56 08 3E\r
+R 00 00 01 00 02 04 0E 00\r
+T C3 0B 00 00 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T C8 0B 00 00 80 0B 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T CA 0B 00 00\r
+R 00 00 01 00\r
+T CA 0B 00 00 DD E5 CD 41 0B 00 00 DD 5E 02 DD\r
+R 00 00 01 00 00 07 01 00\r
+T D3 0B 00 00 56 03 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 07 0D 00\r
+T D8 0B 00 00 00 00 00 00 C3 80 0B 00 00\r
+R 00 00 01 00 02 04 0D 00 00 09 01 00\r
+T DD 0B 00 00\r
+R 00 00 01 00\r
+T DD 0B 00 00 FD E5 DD E5 C5 D5 DD 21 00 00 FD\r
+R 00 00 01 00\r
+T E8 0B 00 00 21 00 00\r
+R 00 00 01 00\r
+T EB 0B 00 00\r
+R 00 00 01 00\r
+T EB 0B 00 00 21 02 00 39 4E 23 46 FD E5 E1 F6\r
+R 00 00 01 00\r
+T F6 0B 00 00 80 ED 42 E2 FD 0B 00 00 AC\r
+R 00 00 01 00 00 08 01 00\r
+T FD 0B 00 00\r
+R 00 00 01 00\r
+T FD 0B 00 00 F2 27 0C 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 00 0C 00 00\r
+R 00 00 01 00\r
+T 00 0C 00 00 21 00 00 39 46 23 66 68 23 23 46\r
+R 00 00 01 00\r
+T 0B 0C 00 00 23 66 68 E5 FD E5 E1 29 29 4D 44\r
+R 00 00 01 00\r
+T 16 0C 00 00 29 09 4D 44 E1 09 01 0A 00 09 4E\r
+R 00 00 01 00\r
+T 21 0C 00 00 DD 09 FD 23 18 C4\r
+R 00 00 01 00\r
+T 27 0C 00 00\r
+R 00 00 01 00\r
+T 27 0C 00 00 DD 23 DD 23 DD E5 E1 F1 C3\r
+R 00 00 01 00\r
+T 30 0C 00 00 E1 02 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 32 0C 00 00\r
+R 00 00 01 00\r
+T 32 0C 00 00 C5 DD E5 D5 DD E1 1A 4F 13 1A 47\r
+R 00 00 01 00\r
+T 3D 0C 00 00 DD E5 D1 3E DD 0B 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 43 0C 00 00 DD 0B 00 00 CD 00 00 00 00 DD E1\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 4A 0C 00 00 C1 C3 00 00 00 00\r
+R 00 00 01 00 02 06 02 00\r
+T 4E 0C 00 00\r
+R 00 00 01 00\r
+T 4E 0C 00 00 FD E5 DD E5 C5 D5 FD E1 DD 21\r
+R 00 00 01 00\r
+T 58 0C 00 00 00 00\r
+R 00 00 01 00\r
+T 5A 0C 00 00\r
+R 00 00 01 00\r
+T 5A 0C 00 00 FD 4E 00 FD 46 01 DD E5 E1 F6 80\r
+R 00 00 01 00\r
+T 65 0C 00 00 ED 42 E2 6B 0C 00 00 AC\r
+R 00 00 01 00 00 07 01 00\r
+T 6B 0C 00 00\r
+R 00 00 01 00\r
+T 6B 0C 00 00 F2 9E 0C 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 6E 0C 00 00\r
+R 00 00 01 00\r
+T 6E 0C 00 00 21 00 00 39 4E 23 46 FD 6E 02 FD\r
+R 00 00 01 00\r
+T 79 0C 00 00 66 03 E5 DD E5 E1 29 29 5D 54 29\r
+R 00 00 01 00\r
+T 84 0C 00 00 19 EB E1 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 0A 0C 00\r
+T 8C 0C 00 00 00 00 00 00 CD 00 00 00 00 7D B4\r
+R 00 00 01 00 02 04 0C 00 02 09 0E 00\r
+T 93 0C 00 00 20 05\r
+R 00 00 01 00\r
+T 95 0C 00 00\r
+R 00 00 01 00\r
+T 95 0C 00 00 DD E5 E1 18 07\r
+R 00 00 01 00\r
+T 9A 0C 00 00\r
+R 00 00 01 00\r
+T 9A 0C 00 00 DD 23 18 BC\r
+R 00 00 01 00\r
+T 9E 0C 00 00\r
+R 00 00 01 00\r
+T 9E 0C 00 00 21 FF FF\r
+R 00 00 01 00\r
+T A1 0C 00 00\r
+R 00 00 01 00\r
+T A1 0C 00 00 C3 E1 02 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T A4 0C 00 00\r
+R 00 00 01 00\r
+T A4 0C 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39\r
+R 00 00 01 00\r
+T AF 0C 00 00 D5 21 DE FF 39 F9 11 0A 00 CD\r
+R 00 00 01 00\r
+T B9 0C 00 00 8F 04 00 00 E5 FD E1 11 14 00 CD\r
+R 00 00 01 00 00 04 01 00\r
+T C2 0C 00 00 8F 04 00 00 DD 75 DE DD 74 DF AF\r
+R 00 00 01 00 00 04 01 00\r
+T CB 0C 00 00 DD 77 F8 DD 77 F9 CD 2F 12 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T D4 0C 00 00 DD 75 FA DD 74 FB DD 6E FE DD 66\r
+R 00 00 01 00\r
+T DF 0C 00 00 FF 23 23 23 46 23 66 68 01 04 00\r
+R 00 00 01 00\r
+T EA 0C 00 00 09 4E 23 46 21 0B 00 DD 5E DE DD\r
+R 00 00 01 00\r
+T F5 0C 00 00 56 DF CD AB 04 00 00 DD 5E DE DD\r
+R 00 00 01 00 00 07 01 00\r
+T FE 0C 00 00 56 DF 3E A0 08 00 00 21\r
+R 00 00 01 00 29 07 01 00\r
+T 03 0D 00 00 A0 08 00 00 CD 00 00 00 00 AF FD\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 0A 0D 00 00 77 04 FD 77 05 FD 77 06 FD 77 07\r
+R 00 00 01 00\r
+T 15 0D 00 00 01 47 00 00 00 DD 6E FE DD 66 FF\r
+R 00 00 01 00 00 05 02 00\r
+T 1E 0D 00 00 23 56 23 66 6A 11 04 00 19 5E 23\r
+R 00 00 01 00\r
+T 29 0D 00 00 56 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 06 0C 00 02 0B 0C 00\r
+T 2F 0D 00 00 CD 00 00 00 00 7D B4 C2\r
+R 00 00 01 00 02 05 0E 00\r
+T 35 0D 00 00 2E 0E 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 37 0D 00 00\r
+R 00 00 01 00\r
+T 37 0D 00 00 DD 6E DE DD 66 DF 46 23 66 68 E5\r
+R 00 00 01 00\r
+T 42 0D 00 00 FD E5 E1 C1 CD 84 04 00 00 CD\r
+R 00 00 01 00 00 09 01 00\r
+T 4A 0D 00 00 E0 11 00 00 CD 00 00 00 00 FD 75\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 51 0D 00 00 02 FD 74 03 AF DD 77 EE DD 77 EF\r
+R 00 00 01 00\r
+T 5C 0D 00 00\r
+R 00 00 01 00\r
+T 5C 0D 00 00 FD 4E 00 FD 46 01 DD 6E EE DD 66\r
+R 00 00 01 00\r
+T 67 0D 00 00 EF F6 80 ED 42 E2 70 0D 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T 70 0D 00 00\r
+R 00 00 01 00\r
+T 70 0D 00 00 F2 61 0F 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 73 0D 00 00\r
+R 00 00 01 00\r
+T 73 0D 00 00 DD 6E DE DD 66 DF 23 23 46 23 66\r
+R 00 00 01 00\r
+T 7E 0D 00 00 68 E5 DD 6E EE DD 66 EF 29 29 4D\r
+R 00 00 01 00\r
+T 89 0D 00 00 44 29 09 4D 44 E1 09 DD 75 E0 DD\r
+R 00 00 01 00\r
+T 94 0D 00 00 74 E1 DD 6E EE DD 66 EF 29 DD 4E\r
+R 00 00 01 00\r
+T 9F 0D 00 00 E4 DD 46 E5 09 E5 DD 4E EE DD 46\r
+R 00 00 01 00\r
+T AA 0D 00 00 EF DD 5E DE DD 56 DF 3E\r
+R 00 00 01 00\r
+T B2 0D 00 00 DD 0B 00 00 21 DD 0B 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T B7 0D 00 00 00 00 00 00 4D 44 E1 71 23 70 DD\r
+R 00 00 01 00 02 04 0E 00\r
+T C0 0D 00 00 6E EE DD 66 EF 29 DD 4E E6 DD 46\r
+R 00 00 01 00\r
+T CB 0D 00 00 E7 09 E5 21 0A 00 DD 4E E0 DD 46\r
+R 00 00 01 00\r
+T D6 0D 00 00 E1 09 4E 06 00 E1 71 23 70 21\r
+R 00 00 01 00\r
+T E0 0D 00 00 0C 00 E5 DD 6E DE DD 66 DF 23 23\r
+R 00 00 01 00\r
+T EB 0D 00 00 46 23 66 68 E5 DD 6E EE DD 66 EF\r
+R 00 00 01 00\r
+T F6 0D 00 00 29 29 4D 44 29 09 4D 44 E1 09 4D\r
+R 00 00 01 00\r
+T 01 0E 00 00 44 FD 6E 02 FD 66 03 E5 DD 6E EE\r
+R 00 00 01 00\r
+T 0C 0E 00 00 DD 66 EF 29 29 5D 54 29 19 EB E1\r
+R 00 00 01 00\r
+T 17 0E 00 00 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 07 04 00\r
+T 1C 0E 00 00 00 00 00 00 CD 00 00 00 00 F1 DD\r
+R 00 00 01 00 02 04 04 00 02 09 0E 00\r
+T 23 0E 00 00 34 EE C2 5C 0D 00 00 DD 34 EF C3\r
+R 00 00 01 00 00 07 01 00\r
+T 2C 0E 00 00 5C 0D 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 2E 0E 00 00\r
+R 00 00 01 00\r
+T 2E 0E 00 00\r
+R 00 00 01 00\r
+T 2E 0E 00 00 CD 0F 12 00 00 E5 FD E5 E1 C1 CD\r
+R 00 00 01 00 00 05 01 00\r
+T 37 0E 00 00 84 04 00 00 CD E0 11 00 00 CD\r
+R 00 00 01 00 00 04 01 00 00 09 01 00\r
+T 3D 0E 00 00 00 00 00 00 FD 75 02 FD 74 03 DD\r
+R 00 00 01 00 02 04 0E 00\r
+T 46 0E 00 00 6E FE DD 66 FF 23 46 DD 70 E2 23\r
+R 00 00 01 00\r
+T 51 0E 00 00 66 DD 74 E3 AF DD 77 EE DD 77 EF\r
+R 00 00 01 00\r
+T 5C 0E 00 00\r
+R 00 00 01 00\r
+T 5C 0E 00 00 FD 4E 00 FD 46 01 DD 6E EE DD 66\r
+R 00 00 01 00\r
+T 67 0E 00 00 EF F6 80 ED 42 E2 70 0E 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T 70 0E 00 00\r
+R 00 00 01 00\r
+T 70 0E 00 00 F2 61 0F 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 73 0E 00 00\r
+R 00 00 01 00\r
+T 73 0E 00 00 21 04 00 DD 4E E2 DD 46 E3 09 4E\r
+R 00 00 01 00\r
+T 7E 0E 00 00 23 46 DD 5E DE DD 56 DF 3E\r
+R 00 00 01 00\r
+T 87 0E 00 00 4E 0C 00 00 21 4E 0C 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 8C 0E 00 00 00 00 00 00 DD 75 FC DD 74 FD DD\r
+R 00 00 01 00 02 04 0E 00\r
+T 95 0E 00 00 4E DE DD 46 DF 03 03 0A 6F 03 0A\r
+R 00 00 01 00\r
+T A0 0E 00 00 67 E5 DD 6E FC DD 66 FD 29 29 4D\r
+R 00 00 01 00\r
+T AB 0E 00 00 44 29 09 4D 44 E1 09 DD 75 E0 DD\r
+R 00 00 01 00\r
+T B6 0E 00 00 74 E1 DD 6E EE DD 66 EF 29 DD 4E\r
+R 00 00 01 00\r
+T C1 0E 00 00 E4 DD 46 E5 09 E5 DD 4E FC DD 46\r
+R 00 00 01 00\r
+T CC 0E 00 00 FD DD 5E DE DD 56 DF 3E\r
+R 00 00 01 00\r
+T D4 0E 00 00 DD 0B 00 00 21 DD 0B 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T D9 0E 00 00 00 00 00 00 4D 44 E1 71 23 70 DD\r
+R 00 00 01 00 02 04 0E 00\r
+T E2 0E 00 00 6E EE DD 66 EF 29 DD 4E E6 DD 46\r
+R 00 00 01 00\r
+T ED 0E 00 00 E7 09 E5 21 0A 00 DD 4E E0 DD 46\r
+R 00 00 01 00\r
+T F8 0E 00 00 E1 09 4E 06 00 E1 71 23 70 21\r
+R 00 00 01 00\r
+T 02 0F 00 00 0C 00 E5 DD 6E DE DD 66 DF 23 23\r
+R 00 00 01 00\r
+T 0D 0F 00 00 46 23 66 68 E5 DD 6E FC DD 66 FD\r
+R 00 00 01 00\r
+T 18 0F 00 00 29 29 4D 44 29 09 4D 44 E1 09 4D\r
+R 00 00 01 00\r
+T 23 0F 00 00 44 FD 6E 02 FD 66 03 E5 DD 6E EE\r
+R 00 00 01 00\r
+T 2E 0F 00 00 DD 66 EF 29 29 5D 54 29 19 EB E1\r
+R 00 00 01 00\r
+T 39 0F 00 00 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 07 04 00\r
+T 3E 0F 00 00 00 00 00 00 CD 00 00 00 00 F1 DD\r
+R 00 00 01 00 02 04 04 00 02 09 0E 00\r
+T 45 0F 00 00 6E E2 DD 66 E3 23 23 46 DD 70 E2\r
+R 00 00 01 00\r
+T 50 0F 00 00 23 66 DD 74 E3 DD 34 EE C2\r
+R 00 00 01 00\r
+T 59 0F 00 00 5C 0E 00 00 DD 34 EF C3\r
+R 00 00 01 00 00 04 01 00\r
+T 5F 0F 00 00 5C 0E 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 61 0F 00 00\r
+R 00 00 01 00\r
+T 61 0F 00 00\r
+R 00 00 01 00\r
+T 61 0F 00 00 DD 5E DE DD 56 DF 3E 32 0C 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T 69 0F 00 00 21 32 0C 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T 70 0F 00 00 75 F4 DD 74 F5 CD 8E 04 00 00 DD\r
+R 00 00 01 00 00 0A 01 00\r
+T 79 0F 00 00 75 E8 DD 74 E9 FD E5 D1 3E\r
+R 00 00 01 00\r
+T 82 0F 00 00 32 0C 00 00 21 32 0C 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 87 0F 00 00 00 00 00 00 DD 75 F2 DD 74 F3 CD\r
+R 00 00 01 00 02 04 0E 00\r
+T 90 0F 00 00 8E 04 00 00 DD 75 EA DD 74 EB DD\r
+R 00 00 01 00 00 04 01 00\r
+T 99 0F 00 00 6E DE DD 66 DF E5 DD 6E FA DD 66\r
+R 00 00 01 00\r
+T A4 0F 00 00 FB C1 71 23 70 DD 6E FA DD 66 FB\r
+R 00 00 01 00\r
+T AF 0F 00 00 23 23 AF 77 23 77 21 04 00 DD 4E\r
+R 00 00 01 00\r
+T BA 0F 00 00 FA DD 46 FB 09 DD 4E E8 71 DD 46\r
+R 00 00 01 00\r
+T C5 0F 00 00 E9 23 70 21 52 00 00 00 E5 6F 67\r
+R 00 00 01 00 00 08 02 00\r
+T CE 0F 00 00 E5 01 FF FF 11 4B 00 00 00 3E\r
+R 00 00 01 00 00 09 02 00\r
+T D6 0F 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 08 00 02 09 08 00\r
+T DB 0F 00 00 00 00 00 00 F1 F1 FD 75 08 FD 74\r
+R 00 00 01 00 02 04 0E 00\r
+T E4 0F 00 00 09 21 05 00 DD 4E FE DD 46 FF 09\r
+R 00 00 01 00\r
+T EF 0F 00 00 7E 23 B6 21 1C 00 39 4D 44 28 17\r
+R 00 00 01 00\r
+T FA 0F 00 00\r
+R 00 00 01 00\r
+T FA 0F 00 00 21 05 00 DD 5E FE DD 56 FF 19 56\r
+R 00 00 01 00\r
+T 05 10 00 00 23 66 6A 11 04 00 19 5E 23 56 18\r
+R 00 00 01 00\r
+T 10 10 00 00 02\r
+R 00 00 01 00\r
+T 11 10 00 00\r
+R 00 00 01 00\r
+T 11 10 00 00 5F 57\r
+R 00 00 01 00\r
+T 13 10 00 00\r
+R 00 00 01 00\r
+T 13 10 00 00 3E 5D 20 00 00 21 5D 20 00 00 CD\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 19 10 00 00 00 00 00 00 DD 75 F6 DD 74 F7\r
+R 00 00 01 00 02 04 0E 00\r
+T 21 10 00 00\r
+R 00 00 01 00\r
+T 21 10 00 00 AF DD 77 EE DD 77 EF\r
+R 00 00 01 00\r
+T 28 10 00 00\r
+R 00 00 01 00\r
+T 28 10 00 00 21 04 00 DD 4E DE DD 46 DF 09 4E\r
+R 00 00 01 00\r
+T 33 10 00 00 23 46 DD 6E EE DD 66 EF F6 80 ED\r
+R 00 00 01 00\r
+T 3E 10 00 00 42 E2 43 10 00 00 AC\r
+R 00 00 01 00 00 06 01 00\r
+T 43 10 00 00\r
+R 00 00 01 00\r
+T 43 10 00 00 F2 71 11 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 46 10 00 00\r
+R 00 00 01 00\r
+T 46 10 00 00 21 08 00 DD 4E DE DD 46 DF 09 4E\r
+R 00 00 01 00\r
+T 51 10 00 00 23 46 C5 21 01 00 E5 DD 4E F4 DD\r
+R 00 00 01 00\r
+T 5C 10 00 00 46 F5 DD 5E E8 DD 56 E9 3E\r
+R 00 00 01 00\r
+T 65 10 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T 6A 10 00 00 00 00 00 00 F1 F1 DD 6E E8 DD 66\r
+R 00 00 01 00 02 04 0E 00\r
+T 73 10 00 00 E9 46 05 C2 65 11 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T 79 10 00 00\r
+R 00 00 01 00\r
+T 79 10 00 00 DD 6E EA DD 66 EB 36 01 23 70 DD\r
+R 00 00 01 00\r
+T 84 10 00 00 36 EC 02 DD 70 ED AF DD 77 F0 DD\r
+R 00 00 01 00\r
+T 8F 10 00 00 77 F1\r
+R 00 00 01 00\r
+T 91 10 00 00\r
+R 00 00 01 00\r
+T 91 10 00 00 FD 4E 00 FD 46 01 DD 6E F0 DD 66\r
+R 00 00 01 00\r
+T 9C 10 00 00 F1 F6 80 ED 42 E2 A5 10 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T A5 10 00 00\r
+R 00 00 01 00\r
+T A5 10 00 00 F2 13 11 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T A8 10 00 00\r
+R 00 00 01 00\r
+T A8 10 00 00 DD 6E F0 DD 66 F1 29 DD 4E E6 DD\r
+R 00 00 01 00\r
+T B3 10 00 00 46 E7 09 5E 23 56 D5 DD 6E F0 DD\r
+R 00 00 01 00\r
+T BE 10 00 00 66 F1 29 DD 5E E4 DD 56 E5 19 56\r
+R 00 00 01 00\r
+T C9 10 00 00 23 66 6A DD 5E E8 DD 56 E9 19 4D\r
+R 00 00 01 00\r
+T D4 10 00 00 44 DD 6E EC DD 66 ED DD 5E EA DD\r
+R 00 00 01 00\r
+T DF 10 00 00 56 EB 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 09 04 00\r
+T E6 10 00 00 00 00 00 00 CD 00 00 00 00 F1 DD\r
+R 00 00 01 00 02 04 04 00 02 09 0E 00\r
+T ED 10 00 00 6E F0 DD 66 F1 29 DD 4E E6 DD 46\r
+R 00 00 01 00\r
+T F8 10 00 00 E7 09 4E 23 46 21 10 00 39 7E 81\r
+R 00 00 01 00\r
+T 03 11 00 00 77 23 7E 88 77 DD 34 F0 20 84 DD\r
+R 00 00 01 00\r
+T 0E 11 00 00 34 F1 C3 91 10 00 00\r
+R 00 00 01 00 00 07 01 00\r
+T 13 11 00 00\r
+R 00 00 01 00\r
+T 13 11 00 00 DD 4E FA DD 46 FB DD 5E F6 DD 56\r
+R 00 00 01 00\r
+T 1E 11 00 00 F7 3E C0 24 00 00 21 C0 24 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T 24 11 00 00 CD 00 00 00 00 21 24 00 DD 4E F6\r
+R 00 00 01 00 02 05 0E 00\r
+T 2D 11 00 00 DD 46 F7 09 3E 01 AE 23 B6 23 B6\r
+R 00 00 01 00\r
+T 38 11 00 00 23 B6 20 29\r
+R 00 00 01 00\r
+T 3C 11 00 00\r
+R 00 00 01 00\r
+T 3C 11 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5\r
+R 00 00 01 00\r
+T 47 11 00 00 DD 4E F2 DD 46 F3 DD 5E EA DD 56\r
+R 00 00 01 00\r
+T 52 11 00 00 EB 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 06 07 00 02 0B 07 00\r
+T 58 11 00 00 CD 00 00 00 00 F1 F1 FD 34 04 20\r
+R 00 00 01 00 02 05 0E 00\r
+T 61 11 00 00 03 FD 34 05\r
+R 00 00 01 00\r
+T 65 11 00 00\r
+R 00 00 01 00\r
+T 65 11 00 00\r
+R 00 00 01 00\r
+T 65 11 00 00\r
+R 00 00 01 00\r
+T 65 11 00 00 DD 34 EE C2 28 10 00 00 DD 34 EF\r
+R 00 00 01 00 00 08 01 00\r
+T 6E 11 00 00 C3 28 10 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 71 11 00 00\r
+R 00 00 01 00\r
+T 71 11 00 00 DD 5E E8 DD 56 E9 CD 3B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 7A 11 00 00 DD 5E E4 DD 56 E5 CD 3B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 83 11 00 00 DD 5E E6 DD 56 E7 CD 3B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 8C 11 00 00 DD 5E FA DD 56 FB CD 3B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 95 11 00 00 DD 5E F6 DD 56 F7 3E 97 24 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T 9D 11 00 00 21 97 24 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T A4 11 00 00 5E DE DD 56 DF 3E 70 0B 00 00 21\r
+R 00 00 01 00 29 0A 01 00\r
+T AC 11 00 00 70 0B 00 00 CD 00 00 00 00 FD 5E\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T B3 11 00 00 08 FD 56 09 CD 4B 0B 00 00 21\r
+R 00 00 01 00 00 09 01 00\r
+T BB 11 00 00 43 00 00 00 E5 21 00 00 E5 01\r
+R 00 00 01 00 00 04 02 00\r
+T C3 11 00 00 FF FF 11 4B 00 00 00 3E\r
+R 00 00 01 00 00 07 02 00\r
+T C9 11 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 08 00 02 09 08 00\r
+T CE 11 00 00 00 00 00 00 F1 F1 FD 75 08 FD 74\r
+R 00 00 01 00 02 04 0E 00\r
+T D7 11 00 00 09 FD E5 E1 DD F9 C3 6B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T E0 11 00 00\r
+R 00 00 01 00\r
+T E0 11 00 00 DD 75 E4 DD 74 E5 FD 6E 00 FD 66\r
+R 00 00 01 00\r
+T EB 11 00 00 01 29 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 08 18 00\r
+T F1 11 00 00 00 00 00 00 CD 00 00 00 00 DD 75\r
+R 00 00 01 00 02 04 18 00 02 09 0E 00\r
+T F8 11 00 00 E6 DD 74 E7 FD 6E 00 FD 66 01 29\r
+R 00 00 01 00\r
+T 03 12 00 00 29 4D 44 29 09 EB 3E 00 00 00 00\r
+R 00 00 01 00 2B 0B 18 00\r
+T 0B 12 00 00 21 00 00 00 00 C9\r
+R 00 00 01 00 02 05 18 00\r
+T 0F 12 00 00\r
+R 00 00 01 00\r
+T 0F 12 00 00 DD 6E FE DD 66 FF 23 5E 23 56 3E\r
+R 00 00 01 00\r
+T 1A 12 00 00 73 00 00 00 21 73 00 00 00 C3\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 1F 12 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 21 12 00 00\r
+R 00 00 01 00\r
+T 21 12 00 00 3E 5D 20 00 00 21 5D 20 00 00 CD\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 27 12 00 00 00 00 00 00 DD 75 F8 DD 74 F9\r
+R 00 00 01 00 02 04 0E 00\r
+T 2F 12 00 00\r
+R 00 00 01 00\r
+T 2F 12 00 00 3E 44 1D 00 00 21 44 1D 00 00 C3\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 35 12 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 37 12 00 00\r
+R 00 00 01 00\r
+T 37 12 00 00 DD 5E F8 DD 56 F9 3E C0 24 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T 3F 12 00 00 21 C0 24 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T 46 12 00 00 24 00 DD 4E F8 DD 46 F9 09 3E 01\r
+R 00 00 01 00\r
+T 51 12 00 00 AE 23 B6 23 B6 23 B6 C9\r
+R 00 00 01 00\r
+T 59 12 00 00\r
+R 00 00 01 00\r
+T 59 12 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39\r
+R 00 00 01 00\r
+T 64 12 00 00 D5 21 E8 FF 39 F9 11 14 00 CD\r
+R 00 00 01 00\r
+T 6E 12 00 00 8F 04 00 00 DD 75 E6 DD 74 E7 DD\r
+R 00 00 01 00 00 04 01 00\r
+T 77 12 00 00 4E FE DD 46 FF 03 03 03 0A 6F 03\r
+R 00 00 01 00\r
+T 82 12 00 00 0A 67 01 04 00 09 4E 23 46 21\r
+R 00 00 01 00\r
+T 8C 12 00 00 0B 00 DD 5E E6 DD 56 E7 CD\r
+R 00 00 01 00\r
+T 95 12 00 00 AB 04 00 00 DD 5E E6 DD 56 E7 3E\r
+R 00 00 01 00 00 04 01 00\r
+T 9E 12 00 00 A0 08 00 00 21 A0 08 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T A3 12 00 00 00 00 00 00 DD 5E E6 DD 56 E7 3E\r
+R 00 00 01 00 02 04 0E 00\r
+T AC 12 00 00 32 0C 00 00 21 32 0C 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T B1 12 00 00 00 00 00 00 DD 75 FA DD 74 FB CD\r
+R 00 00 01 00 02 04 0E 00\r
+T BA 12 00 00 8E 04 00 00 DD 75 E8 DD 74 E9 AF\r
+R 00 00 01 00 00 04 01 00\r
+T C3 12 00 00 DD 77 F4 DD 77 F5\r
+R 00 00 01 00\r
+T C9 12 00 00\r
+R 00 00 01 00\r
+T C9 12 00 00 DD 4E FA DD 46 FB DD 6E F4 DD 66\r
+R 00 00 01 00\r
+T D4 12 00 00 F5 F6 80 ED 42 E2 DD 12 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T DD 12 00 00\r
+R 00 00 01 00\r
+T DD 12 00 00 F2 F9 12 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T E0 12 00 00\r
+R 00 00 01 00\r
+T E0 12 00 00 DD 6E F4 DD 66 F5 DD 4E E8 DD 46\r
+R 00 00 01 00\r
+T EB 12 00 00 E9 09 36 00 DD 34 F4 20 D5 DD 34\r
+R 00 00 01 00\r
+T F6 12 00 00 F5 18 D0\r
+R 00 00 01 00\r
+T F9 12 00 00\r
+R 00 00 01 00\r
+T F9 12 00 00 59 50 CD 8F 04 00 00 DD 75 EA DD\r
+R 00 00 01 00 00 07 01 00\r
+T 02 13 00 00 74 EB DD 6E E8 DD 66 E9 36 01 23\r
+R 00 00 01 00\r
+T 0D 13 00 00 36 00 CD 0F 12 00 00 DD 75 F2 DD\r
+R 00 00 01 00 00 07 01 00\r
+T 16 13 00 00 74 F3 DD 6E FE DD 66 FF 23 46 DD\r
+R 00 00 01 00\r
+T 21 13 00 00 70 EC 23 66 DD 74 ED 21 07 00 DD\r
+R 00 00 01 00\r
+T 2C 13 00 00 4E FE DD 46 FF 09 46 23 66 68 E5\r
+R 00 00 01 00\r
+T 37 13 00 00 FD E1 AF DD 77 F4 DD 77 F5\r
+R 00 00 01 00\r
+T 40 13 00 00\r
+R 00 00 01 00\r
+T 40 13 00 00 DD 4E F2 DD 46 F3 DD 6E F4 DD 66\r
+R 00 00 01 00\r
+T 4B 13 00 00 F5 F6 80 ED 42 E2 54 13 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T 54 13 00 00\r
+R 00 00 01 00\r
+T 54 13 00 00 F2 E4 14 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 57 13 00 00\r
+R 00 00 01 00\r
+T 57 13 00 00 21 04 00 DD 4E EC DD 46 ED 09 4E\r
+R 00 00 01 00\r
+T 62 13 00 00 23 46 DD 5E E6 DD 56 E7 3E\r
+R 00 00 01 00\r
+T 6B 13 00 00 4E 0C 00 00 21 4E 0C 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 70 13 00 00 00 00 00 00 DD 75 FC DD 74 FD DD\r
+R 00 00 01 00 02 04 0E 00\r
+T 79 13 00 00 4E E6 DD 46 E7 03 03 0A 6F 03 0A\r
+R 00 00 01 00\r
+T 84 13 00 00 67 E5 DD 6E FC DD 66 FD 29 29 4D\r
+R 00 00 01 00\r
+T 8F 13 00 00 44 29 09 4D 44 E1 09 DD 75 F0 DD\r
+R 00 00 01 00\r
+T 9A 13 00 00 74 F1 DD 4E FC DD 46 FD DD 5E E6\r
+R 00 00 01 00\r
+T A5 13 00 00 DD 56 E7 3E DD 0B 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T AB 13 00 00 DD 0B 00 00 CD 00 00 00 00 DD 75\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T B2 13 00 00 F6 DD 74 F7 21 0A 00 DD 4E F0 DD\r
+R 00 00 01 00\r
+T BD 13 00 00 46 F1 09 4E DD 71 F8 DD 36 F9 00\r
+R 00 00 01 00\r
+T C8 13 00 00 FD 6E 04 FD 66 05 7E FE 27 C2\r
+R 00 00 01 00\r
+T D2 13 00 00 58 14 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T D4 13 00 00\r
+R 00 00 01 00\r
+T D4 13 00 00 FD 5E 04 FD 56 05 CD 98 04 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T DD 13 00 00 FD 4E 04 FD 46 05 09 2B 36 00 21\r
+R 00 00 01 00\r
+T E8 13 00 00 09 00 DD 4E F0 DD 46 F1 09 7E FE\r
+R 00 00 01 00\r
+T F3 13 00 00 53 20 28\r
+R 00 00 01 00\r
+T F6 13 00 00\r
+R 00 00 01 00\r
+T F6 13 00 00 DD 6E F8 DD 66 F9 E5 FD 4E 04 FD\r
+R 00 00 01 00\r
+T 01 14 00 00 46 05 03 DD 6E F6 DD 66 F7 DD 5E\r
+R 00 00 01 00\r
+T 0C 14 00 00 E8 DD 56 E9 19 EB 3E 00 00 00 00\r
+R 00 00 01 00 2B 0B 04 00\r
+T 14 14 00 00 21 00 00 00 00 CD 00 00 00 00 F1\r
+R 00 00 01 00 02 05 04 00 02 0A 0E 00\r
+T 1B 14 00 00 C3 BE 14 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 1E 14 00 00\r
+R 00 00 01 00\r
+T 1E 14 00 00 FE 49 C2 BE 14 00 00 21 0A 00 09\r
+R 00 00 01 00 00 07 01 00\r
+T 27 14 00 00 46 05 05 20 17\r
+R 00 00 01 00\r
+T 2C 14 00 00\r
+R 00 00 01 00\r
+T 2C 14 00 00 DD 6E F6 DD 66 F7 DD 4E E8 DD 46\r
+R 00 00 01 00\r
+T 37 14 00 00 E9 09 E5 FD 5E 04 FD 56 05 13 18\r
+R 00 00 01 00\r
+T 42 14 00 00 3E\r
+R 00 00 01 00\r
+T 43 14 00 00\r
+R 00 00 01 00\r
+T 43 14 00 00 21 0A 00 DD 46 F1 09 7E FE 04 20\r
+R 00 00 01 00\r
+T 4E 14 00 00 6F\r
+R 00 00 01 00\r
+T 4F 14 00 00\r
+R 00 00 01 00\r
+T 4F 14 00 00 FD 5E 04 FD 56 05 13 18 48\r
+R 00 00 01 00\r
+T 58 14 00 00\r
+R 00 00 01 00\r
+T 58 14 00 00\r
+R 00 00 01 00\r
+T 58 14 00 00\r
+R 00 00 01 00\r
+T 58 14 00 00\r
+R 00 00 01 00\r
+T 58 14 00 00 21 09 00 DD 4E F0 09 7E FE 49 20\r
+R 00 00 01 00\r
+T 63 14 00 00 5A\r
+R 00 00 01 00\r
+T 64 14 00 00\r
+R 00 00 01 00\r
+T 64 14 00 00 21 0A 00 09 46 05 05 20 21\r
+R 00 00 01 00\r
+T 6D 14 00 00\r
+R 00 00 01 00\r
+T 6D 14 00 00 DD 6E F6 DD 66 F7 DD 4E E8 DD 46\r
+R 00 00 01 00\r
+T 78 14 00 00 E9 09 E5 FD 5E 04 FD 56 05\r
+R 00 00 01 00\r
+T 81 14 00 00\r
+R 00 00 01 00\r
+T 81 14 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 05 13 00 02 0A 13 00\r
+T 87 14 00 00 00 00 00 00 4D 44 E1 18 2D\r
+R 00 00 01 00 02 04 0E 00\r
+T 8E 14 00 00\r
+R 00 00 01 00\r
+T 8E 14 00 00 21 0A 00 DD 46 F1 09 7E FE 04 20\r
+R 00 00 01 00\r
+T 99 14 00 00 24\r
+R 00 00 01 00\r
+T 9A 14 00 00\r
+R 00 00 01 00\r
+T 9A 14 00 00 FD 5E 04 FD 56 05\r
+R 00 00 01 00\r
+T A0 14 00 00\r
+R 00 00 01 00\r
+T A0 14 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 05 16 00 02 0A 16 00\r
+T A6 14 00 00 00 00 00 00 E5 DD 6E F6 DD 66 F7\r
+R 00 00 01 00 02 04 0E 00\r
+T AF 14 00 00 DD 5E E8 DD 56 E9 19 D1 73 23 72\r
+R 00 00 01 00\r
+T BA 14 00 00 23\r
+R 00 00 01 00\r
+T BB 14 00 00\r
+R 00 00 01 00\r
+T BB 14 00 00 71 23 70\r
+R 00 00 01 00\r
+T BE 14 00 00\r
+R 00 00 01 00\r
+T BE 14 00 00\r
+R 00 00 01 00\r
+T BE 14 00 00\r
+R 00 00 01 00\r
+T BE 14 00 00\r
+R 00 00 01 00\r
+T BE 14 00 00 DD 6E EC DD 66 ED 23 23 46 DD 70\r
+R 00 00 01 00\r
+T C9 14 00 00 EC 23 66 DD 74 ED FD 6E 02 FD 66\r
+R 00 00 01 00\r
+T D4 14 00 00 03 E5 FD E1 DD 34 F4 C2\r
+R 00 00 01 00\r
+T DC 14 00 00 40 13 00 00 DD 34 F5 C3\r
+R 00 00 01 00 00 04 01 00\r
+T E2 14 00 00 40 13 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T E4 14 00 00\r
+R 00 00 01 00\r
+T E4 14 00 00 21 06 00 DD 4E E6 DD 46 E7 09 7E\r
+R 00 00 01 00\r
+T EF 14 00 00 23 B6 20 50\r
+R 00 00 01 00\r
+T F3 14 00 00\r
+R 00 00 01 00\r
+T F3 14 00 00 6F 67 E5 E5 2E 04 E5 2E 08 09 5E\r
+R 00 00 01 00\r
+T FE 14 00 00 23 56 CD 5A 16 00 00 F1 F1 F1 21\r
+R 00 00 01 00 00 07 01 00\r
+T 07 15 00 00 04 00 09 56 23 66 6A 23 E5 DD 6E\r
+R 00 00 01 00\r
+T 12 15 00 00 EA DD 66 EB D1 73 23 72 21 08 00\r
+R 00 00 01 00\r
+T 1D 15 00 00 09 5E 23 56 D5 21 01 00 E5 01\r
+R 00 00 01 00\r
+T 27 15 00 00 02 00 DD 5E EA DD 56 EB 3E\r
+R 00 00 01 00\r
+T 30 15 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 07 00 02 09 07 00\r
+T 35 15 00 00 00 00 00 00 F1 F1 21 02 00 E5 2B\r
+R 00 00 01 00 02 04 0E 00\r
+T 3E 15 00 00 2B E5 C3 F6 15 00 00\r
+R 00 00 01 00 00 07 01 00\r
+T 43 15 00 00\r
+R 00 00 01 00\r
+T 43 15 00 00 21 00 00 E5 E5 2E 06 E5 23 23 09\r
+R 00 00 01 00\r
+T 4E 15 00 00 5E 23 56 CD 5A 16 00 00 F1 F1 F1\r
+R 00 00 01 00 00 08 01 00\r
+T 57 15 00 00 21 06 00 09 56 23 66 6A 2B E5 DD\r
+R 00 00 01 00\r
+T 62 15 00 00 6E EA DD 66 EB D1 73 23 72 21\r
+R 00 00 01 00\r
+T 6C 15 00 00 08 00 09 5E 23 56 D5 21 01 00 E5\r
+R 00 00 01 00\r
+T 77 15 00 00 01 02 00 DD 5E EA DD 56 EB 3E\r
+R 00 00 01 00\r
+T 81 15 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 07 00 02 09 07 00\r
+T 86 15 00 00 00 00 00 00 F1 F1 21 00 00 E5 E5\r
+R 00 00 01 00 02 04 0E 00\r
+T 8F 15 00 00 2E 0A E5 2B 2B DD 4E E6 DD 46 E7\r
+R 00 00 01 00\r
+T 9A 15 00 00 09 5E 23 56 CD 5A 16 00 00 F1 F1\r
+R 00 00 01 00 00 09 01 00\r
+T A3 15 00 00 F1 DD 6E EA DD 66 EB 36 FF 23 36\r
+R 00 00 01 00\r
+T AE 15 00 00 FF\r
+R 00 00 01 00\r
+T AF 15 00 00\r
+R 00 00 01 00\r
+T AF 15 00 00 DD 6E EA DD 66 EB AF B6 28 2A\r
+R 00 00 01 00\r
+T B9 15 00 00\r
+R 00 00 01 00\r
+T B9 15 00 00 21 08 00 DD 4E E6 DD 46 E7 09 4E\r
+R 00 00 01 00\r
+T C4 15 00 00 23 46 C5 21 01 00 E5 DD 4E FA DD\r
+R 00 00 01 00\r
+T CF 15 00 00 46 FB DD 5E EA DD 56 EB 3E\r
+R 00 00 01 00\r
+T D8 15 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T DD 15 00 00 00 00 00 00 F1 F1 18 CC\r
+R 00 00 01 00 02 04 0E 00\r
+T E3 15 00 00\r
+R 00 00 01 00\r
+T E3 15 00 00 21 01 00 E5 DD 4E FA DD 46 FB 2B\r
+R 00 00 01 00\r
+T EE 15 00 00 ED 42 7C 07 9F 4F 41 C5\r
+R 00 00 01 00\r
+T F6 15 00 00\r
+R 00 00 01 00\r
+T F6 15 00 00 E5 21 08 00 DD 4E E6 DD 46 E7 09\r
+R 00 00 01 00\r
+T 01 16 00 00 5E 23 56 CD 5A 16 00 00 F1 F1 F1\r
+R 00 00 01 00 00 08 01 00\r
+T 0A 16 00 00\r
+R 00 00 01 00\r
+T 0A 16 00 00 21 08 00 09 5E 23 56 D5 21 01 00\r
+R 00 00 01 00\r
+T 15 16 00 00 E5 DD 4E FA DD 46 FB DD 5E E8 DD\r
+R 00 00 01 00\r
+T 20 16 00 00 56 E9 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 07 07 00\r
+T 25 16 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 07 00 02 09 0E 00\r
+T 2C 16 00 00 DD 5E E8 DD 56 E9 CD 3B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 35 16 00 00 DD 5E EA DD 56 EB CD 3B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 3E 16 00 00 DD 5E E6 DD 56 E7 3E 70 0B 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T 46 16 00 00 21 70 0B 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T 4D 16 00 00 00 00 DD F9 C3 6B 00 00 00\r
+R 00 00 01 00 00 09 01 00\r
+T 54 16 00 00\r
+R 00 00 01 00\r
+T 54 16 00 00 FD 5E 08 FD 56 09\r
+R 00 00 01 00\r
+T 5A 16 00 00\r
+R 00 00 01 00\r
+T 5A 16 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 05 00 02 0A 05 00\r
+T 60 16 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 62 16 00 00\r
+R 00 00 01 00\r
+T 62 16 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39\r
+R 00 00 01 00\r
+T 6D 16 00 00 D5 21 F4 FF 39 F9 CD 14 18 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 76 16 00 00 DD 75 FA DD 74 FB CD 8E 04 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 7F 16 00 00 DD 75 FC DD 74 FD AF DD 77 F4 DD\r
+R 00 00 01 00\r
+T 8A 16 00 00 77 F5 21 05 00 DD 4E FE DD 46 FF\r
+R 00 00 01 00\r
+T 95 16 00 00 09 7E 23 B6 21 02 00 39 4D 44 28\r
+R 00 00 01 00\r
+T A0 16 00 00 17\r
+R 00 00 01 00\r
+T A1 16 00 00\r
+R 00 00 01 00\r
+T A1 16 00 00 21 05 00 DD 5E FE DD 56 FF 19 56\r
+R 00 00 01 00\r
+T AC 16 00 00 23 66 6A 11 04 00 19 5E 23 56 18\r
+R 00 00 01 00\r
+T B7 16 00 00 02\r
+R 00 00 01 00\r
+T B8 16 00 00\r
+R 00 00 01 00\r
+T B8 16 00 00 5F 57\r
+R 00 00 01 00\r
+T BA 16 00 00\r
+R 00 00 01 00\r
+T BA 16 00 00\r
+R 00 00 01 00\r
+T BA 16 00 00 CD 21 12 00 00 DD 75 F2 DD 74 F3\r
+R 00 00 01 00 00 05 01 00\r
+T C3 16 00 00 FD E5 C1 71 23 70 21 04 00 DD 4E\r
+R 00 00 01 00\r
+T CE 16 00 00 F2 DD 46 F3 09 DD 5E FC 73 DD 56\r
+R 00 00 01 00\r
+T D9 16 00 00 FD 23 72 69 60 23 23 AF 77 23 77\r
+R 00 00 01 00\r
+T E4 16 00 00 DD 77 F6 DD 77 F7 DD 77 F4 DD 77\r
+R 00 00 01 00\r
+T EF 16 00 00 F5\r
+R 00 00 01 00\r
+T F0 16 00 00\r
+R 00 00 01 00\r
+T F0 16 00 00 FD 4E 04 FD 46 05 DD 6E F4 DD 66\r
+R 00 00 01 00\r
+T FB 16 00 00 F5 F6 80 ED 42 E2 04 17 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T 04 17 00 00\r
+R 00 00 01 00\r
+T 04 17 00 00 F2 AC 17 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 07 17 00 00\r
+R 00 00 01 00\r
+T 07 17 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5\r
+R 00 00 01 00\r
+T 12 17 00 00 DD 4E FA DD 46 FB 2E 04 DD 5E F2\r
+R 00 00 01 00\r
+T 1D 17 00 00 DD 56 F3 19 5E 23 56 3E\r
+R 00 00 01 00\r
+T 25 17 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T 2A 17 00 00 00 00 00 00 F1 F1 DD 6E FC DD 66\r
+R 00 00 01 00 02 04 0E 00\r
+T 33 17 00 00 FD 46 05 20 68\r
+R 00 00 01 00\r
+T 38 17 00 00\r
+R 00 00 01 00\r
+T 38 17 00 00 DD 4E F2 DD 46 F3 CD 37 12 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 41 17 00 00 20 5D\r
+R 00 00 01 00\r
+T 43 17 00 00\r
+R 00 00 01 00\r
+T 43 17 00 00 DD 6E FC DD 66 FD 77 21 01 00 E5\r
+R 00 00 01 00\r
+T 4E 17 00 00 DD 4E FA DD 46 FB 2B ED 42 7C 07\r
+R 00 00 01 00\r
+T 59 17 00 00 9F 4F 41 C5 E5 CD 54 16 00 00 F1\r
+R 00 00 01 00 00 0A 01 00\r
+T 62 17 00 00 F1 F1 FD 6E 08 FD 66 09 E5 21\r
+R 00 00 01 00\r
+T 6C 17 00 00 01 00 E5 DD 4E FA DD 46 FB 2E 04\r
+R 00 00 01 00\r
+T 77 17 00 00 DD 5E F2 DD 56 F3 19 5E 23 56 3E\r
+R 00 00 01 00\r
+T 82 17 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 07 00 02 09 07 00\r
+T 87 17 00 00 00 00 00 00 F1 F1 21 01 00 E5 2B\r
+R 00 00 01 00 02 04 0E 00\r
+T 90 17 00 00 E5 E5 CD 54 16 00 00 F1 F1 F1 DD\r
+R 00 00 01 00 00 07 01 00\r
+T 99 17 00 00 34 F6 20 03 DD 34 F7\r
+R 00 00 01 00\r
+T A0 17 00 00\r
+R 00 00 01 00\r
+T A0 17 00 00\r
+R 00 00 01 00\r
+T A0 17 00 00\r
+R 00 00 01 00\r
+T A0 17 00 00 DD 34 F4 C2 F0 16 00 00 DD 34 F5\r
+R 00 00 01 00 00 08 01 00\r
+T A9 17 00 00 C3 F0 16 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T AC 17 00 00\r
+R 00 00 01 00\r
+T AC 17 00 00 DD 5E F2 DD 56 F3 3E 25 1D 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T B4 17 00 00 21 25 1D 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T BB 17 00 00 00 00 E5 E5 2E 06 E5 CD\r
+R 00 00 01 00\r
+T C3 17 00 00 54 16 00 00 F1 F1 F1 21 04 00 39\r
+R 00 00 01 00 00 04 01 00\r
+T CC 17 00 00 7E FD 86 06 77 23 7E FD 8E 07 77\r
+R 00 00 01 00\r
+T D7 17 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5\r
+R 00 00 01 00\r
+T E2 17 00 00 01 02 00 2E 08 39 EB 3E\r
+R 00 00 01 00\r
+T EA 17 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 07 00 02 09 07 00\r
+T EF 17 00 00 00 00 00 00 F1 F1 DD 5E F8 DD 56\r
+R 00 00 01 00 02 04 0E 00\r
+T F8 17 00 00 F9 3E 97 24 00 00 21 97 24 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T FE 17 00 00 CD 00 00 00 00 FD E5 D1 3E\r
+R 00 00 01 00 02 05 0E 00\r
+T 05 18 00 00 70 0B 00 00 21 70 0B 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 0A 18 00 00 00 00 00 00 21 00 00 DD F9 C3\r
+R 00 00 01 00 02 04 0E 00\r
+T 12 18 00 00 6B 00 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 14 18 00 00\r
+R 00 00 01 00\r
+T 14 18 00 00 11 14 00 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 08 18 00\r
+T 1A 18 00 00 00 00 00 00 CD 00 00 00 00 E5 FD\r
+R 00 00 01 00 02 04 18 00 02 09 0E 00\r
+T 21 18 00 00 E1 DD 4E FE DD 46 FF 03 03 03 0A\r
+R 00 00 01 00\r
+T 2C 18 00 00 6F 03 0A 67 01 04 00 09 4E 23 46\r
+R 00 00 01 00\r
+T 37 18 00 00 21 0B 00 FD E5 D1 19 EB 3E\r
+R 00 00 01 00\r
+T 40 18 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 0F 00 02 09 0F 00\r
+T 45 18 00 00 00 00 00 00 FD E5 D1 3E\r
+R 00 00 01 00 02 04 0E 00\r
+T 4B 18 00 00 A0 08 00 00 21 A0 08 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 50 18 00 00 00 00 00 00 FD E5 D1 3E\r
+R 00 00 01 00 02 04 0E 00\r
+T 56 18 00 00 32 0C 00 00 21 32 0C 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 5B 18 00 00 00 00 00 00 C9\r
+R 00 00 01 00 02 04 0E 00\r
+T 5E 18 00 00\r
+R 00 00 01 00\r
+T 5E 18 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39\r
+R 00 00 01 00\r
+T 69 18 00 00 D5 21 E8 FF 39 F9 CD 14 18 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 72 18 00 00 DD 75 F2 DD 74 F3 CD 8E 04 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 7B 18 00 00 DD 75 FA DD 74 FB AF DD 77 EE DD\r
+R 00 00 01 00\r
+T 86 18 00 00 77 EF 21 05 00 DD 4E FE DD 46 FF\r
+R 00 00 01 00\r
+T 91 18 00 00 09 7E 23 B6 21 08 00 39 4D 44 28\r
+R 00 00 01 00\r
+T 9C 18 00 00 17\r
+R 00 00 01 00\r
+T 9D 18 00 00\r
+R 00 00 01 00\r
+T 9D 18 00 00 21 05 00 DD 5E FE DD 56 FF 19 56\r
+R 00 00 01 00\r
+T A8 18 00 00 23 66 6A 11 04 00 19 5E 23 56 18\r
+R 00 00 01 00\r
+T B3 18 00 00 02\r
+R 00 00 01 00\r
+T B4 18 00 00\r
+R 00 00 01 00\r
+T B4 18 00 00 5F 57\r
+R 00 00 01 00\r
+T B6 18 00 00\r
+R 00 00 01 00\r
+T B6 18 00 00\r
+R 00 00 01 00\r
+T B6 18 00 00 CD 21 12 00 00 DD 75 E8 DD 74 E9\r
+R 00 00 01 00 00 05 01 00\r
+T BF 18 00 00 FD E5 C1 71 23 70 21 04 00 DD 4E\r
+R 00 00 01 00\r
+T CA 18 00 00 E8 DD 46 E9 09 DD 5E FA 73 DD 56\r
+R 00 00 01 00\r
+T D5 18 00 00 FB 23 72 69 60 23 23 AF 77 23 77\r
+R 00 00 01 00\r
+T E0 18 00 00 CD 0F 12 00 00 DD 75 F0 DD 74 F1\r
+R 00 00 01 00 00 05 01 00\r
+T E9 18 00 00 CD 8D 04 00 00 DD 75 EC DD 74 ED\r
+R 00 00 01 00 00 05 01 00\r
+T F2 18 00 00 DD 6E FE DD 66 FF 23 46 DD 70 EA\r
+R 00 00 01 00\r
+T FD 18 00 00 23 66 DD 74 EB AF DD 77 E6 DD 77\r
+R 00 00 01 00\r
+T 08 19 00 00 E7\r
+R 00 00 01 00\r
+T 09 19 00 00\r
+R 00 00 01 00\r
+T 09 19 00 00 DD 4E F0 DD 46 F1 DD 6E E6 DD 66\r
+R 00 00 01 00\r
+T 14 19 00 00 E7 F6 80 ED 42 E2 1D 19 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T 1D 19 00 00\r
+R 00 00 01 00\r
+T 1D 19 00 00 F2 8E 19 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 20 19 00 00\r
+R 00 00 01 00\r
+T 20 19 00 00 0E 00 C5 0E 3D 21 04 00 DD 5E EA\r
+R 00 00 01 00\r
+T 2B 19 00 00 DD 56 EB 19 5E 23 56 3E\r
+R 00 00 01 00\r
+T 33 19 00 00 9F 02 00 00 21 9F 02 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 38 19 00 00 00 00 00 00 F1 DD 75 FC DD 74 FD\r
+R 00 00 01 00 02 04 0E 00\r
+T 41 19 00 00 AF DD 77 F4 DD 77 F5 DD 6E E6 DD\r
+R 00 00 01 00\r
+T 4C 19 00 00 66 E7 29 DD 4E EC DD 46 ED 09 E5\r
+R 00 00 01 00\r
+T 57 19 00 00 21 10 00 39 4D 44 DD 5E FC DD 56\r
+R 00 00 01 00\r
+T 62 19 00 00 FD 13 3E 5D 20 00 00 21\r
+R 00 00 01 00 29 07 01 00\r
+T 67 19 00 00 5D 20 00 00 CD 00 00 00 00 4D 44\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 6E 19 00 00 E1 71 23 70 DD 6E EA DD 66 EB 23\r
+R 00 00 01 00\r
+T 79 19 00 00 23 46 DD 70 EA 23 66 DD 74 EB DD\r
+R 00 00 01 00\r
+T 84 19 00 00 34 E6 20 81 DD 34 E7 C3\r
+R 00 00 01 00\r
+T 8C 19 00 00 09 19 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 8E 19 00 00\r
+R 00 00 01 00\r
+T 8E 19 00 00 AF DD 77 EE DD 77 EF\r
+R 00 00 01 00\r
+T 95 19 00 00\r
+R 00 00 01 00\r
+T 95 19 00 00 FD 4E 04 FD 46 05 DD 6E EE DD 66\r
+R 00 00 01 00\r
+T A0 19 00 00 EF F6 80 ED 42 E2 A9 19 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T A9 19 00 00\r
+R 00 00 01 00\r
+T A9 19 00 00 F2 B3 1B 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T AC 19 00 00\r
+R 00 00 01 00\r
+T AC 19 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5\r
+R 00 00 01 00\r
+T B7 19 00 00 DD 4E F2 DD 46 F3 2E 04 DD 5E E8\r
+R 00 00 01 00\r
+T C2 19 00 00 DD 56 E9 19 5E 23 56 3E\r
+R 00 00 01 00\r
+T CA 19 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T CF 19 00 00 00 00 00 00 F1 F1 DD 6E FA DD 66\r
+R 00 00 01 00 02 04 0E 00\r
+T D8 19 00 00 FB 46 05 C2 A7 1B 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T DE 19 00 00\r
+R 00 00 01 00\r
+T DE 19 00 00 DD 4E E8 DD 46 E9 CD 37 12 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T E7 19 00 00 C2 A7 1B 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T EA 19 00 00\r
+R 00 00 01 00\r
+T EA 19 00 00 21 01 00 E5 DD 4E F2 DD 46 F3 2B\r
+R 00 00 01 00\r
+T F5 19 00 00 ED 42 7C 07 9F 4F 41 C5 E5 CD\r
+R 00 00 01 00\r
+T FF 19 00 00 54 16 00 00 F1 F1 F1 AF DD 77 E6\r
+R 00 00 01 00 00 04 01 00\r
+T 08 1A 00 00 DD 77 E7\r
+R 00 00 01 00\r
+T 0B 1A 00 00\r
+R 00 00 01 00\r
+T 0B 1A 00 00 DD 4E F0 DD 46 F1 DD 6E E6 DD 66\r
+R 00 00 01 00\r
+T 16 1A 00 00 E7 F6 80 ED 42 E2 1F 1A 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T 1F 1A 00 00\r
+R 00 00 01 00\r
+T 1F 1A 00 00 F2 4B 1A 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 22 1A 00 00\r
+R 00 00 01 00\r
+T 22 1A 00 00 DD 4E E8 DD 46 E9 DD 6E E6 DD 66\r
+R 00 00 01 00\r
+T 2D 1A 00 00 E7 29 DD 5E EC DD 56 ED 19 5E 23\r
+R 00 00 01 00\r
+T 38 1A 00 00 56 3E C0 24 00 00 21 C0 24 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T 3E 1A 00 00 CD 00 00 00 00 DD 34 E6 20 C5 DD\r
+R 00 00 01 00 02 05 0E 00\r
+T 47 1A 00 00 34 E7 18 C0\r
+R 00 00 01 00\r
+T 4B 1A 00 00\r
+R 00 00 01 00\r
+T 4B 1A 00 00 DD 6E FE DD 66 FF 23 46 DD 70 EA\r
+R 00 00 01 00\r
+T 56 1A 00 00 23 66 DD 74 EB AF DD 77 E6 DD 77\r
+R 00 00 01 00\r
+T 61 1A 00 00 E7\r
+R 00 00 01 00\r
+T 62 1A 00 00\r
+R 00 00 01 00\r
+T 62 1A 00 00 DD 4E F0 DD 46 F1 DD 6E E6 DD 66\r
+R 00 00 01 00\r
+T 6D 1A 00 00 E7 F6 80 ED 42 E2 76 1A 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T 76 1A 00 00\r
+R 00 00 01 00\r
+T 76 1A 00 00 F2 73 1B 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 79 1A 00 00\r
+R 00 00 01 00\r
+T 79 1A 00 00 21 04 00 DD 4E EA DD 46 EB 09 4E\r
+R 00 00 01 00\r
+T 84 1A 00 00 23 46 FD E5 D1 3E 4E 0C 00 00 21\r
+R 00 00 01 00 29 0A 01 00\r
+T 8C 1A 00 00 4E 0C 00 00 CD 00 00 00 00 DD 75\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 93 1A 00 00 F6 DD 74 F7 4D 44 FD E5 D1 3E\r
+R 00 00 01 00\r
+T 9D 1A 00 00 DD 0B 00 00 21 DD 0B 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T A2 1A 00 00 00 00 00 00 DD 75 F4 DD 74 F5 FD\r
+R 00 00 01 00 02 04 0E 00\r
+T AB 1A 00 00 6E 02 FD 66 03 E5 DD 6E F6 DD 66\r
+R 00 00 01 00\r
+T B6 1A 00 00 F7 29 29 4D 44 29 09 4D 44 E1 09\r
+R 00 00 01 00\r
+T C1 1A 00 00 01 09 00 09 7E FE 53 20 34\r
+R 00 00 01 00\r
+T CA 1A 00 00\r
+R 00 00 01 00\r
+T CA 1A 00 00 FD 6E 02 FD 66 03 E5 DD 6E F6 DD\r
+R 00 00 01 00\r
+T D5 1A 00 00 66 F7 29 29 4D 44 29 09 4D 44 E1\r
+R 00 00 01 00\r
+T E0 1A 00 00 09 01 0A 00 09 4E C5 DD 6E E6 DD\r
+R 00 00 01 00\r
+T EB 1A 00 00 66 E7 29 DD 4E EC DD 46 ED 09 46\r
+R 00 00 01 00\r
+T F6 1A 00 00 23 66 68 01 28 00 18 36\r
+R 00 00 01 00\r
+T FE 1A 00 00\r
+R 00 00 01 00\r
+T FE 1A 00 00 FE 49 20 54 FD 6E 02 FD 66 03 E5\r
+R 00 00 01 00\r
+T 09 1B 00 00 DD 6E F6 DD 66 F7 29 29 4D 44 29\r
+R 00 00 01 00\r
+T 14 1B 00 00 09 4D 44 E1 09 01 0A 00 09 4E C5\r
+R 00 00 01 00\r
+T 1F 1B 00 00 DD 6E E6 DD 66 E7 29 DD 4E EC DD\r
+R 00 00 01 00\r
+T 2A 1B 00 00 46 ED 09 46 23 66 68 01 24 00\r
+R 00 00 01 00\r
+T 34 1B 00 00\r
+R 00 00 01 00\r
+T 34 1B 00 00 09 4D 44 21 04 00 DD 5E E8 DD 56\r
+R 00 00 01 00\r
+T 3F 1B 00 00 E9 19 56 23 66 6A DD 5E F4 DD 56\r
+R 00 00 01 00\r
+T 4A 1B 00 00 F5 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 08 04 00\r
+T 50 1B 00 00 00 00 00 00 CD 00 00 00 00 F1\r
+R 00 00 01 00 02 04 04 00 02 09 0E 00\r
+T 56 1B 00 00\r
+R 00 00 01 00\r
+T 56 1B 00 00 DD 6E EA DD 66 EB 23 23 46 DD 70\r
+R 00 00 01 00\r
+T 61 1B 00 00 EA 23 66 DD 74 EB DD 34 E6 C2\r
+R 00 00 01 00\r
+T 6B 1B 00 00 62 1A 00 00 DD 34 E7 C3\r
+R 00 00 01 00 00 04 01 00\r
+T 71 1B 00 00 62 1A 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 73 1B 00 00\r
+R 00 00 01 00\r
+T 73 1B 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5\r
+R 00 00 01 00\r
+T 7E 1B 00 00 DD 4E F2 DD 46 F3 2E 04 DD 5E E8\r
+R 00 00 01 00\r
+T 89 1B 00 00 DD 56 E9 19 5E 23 56 3E\r
+R 00 00 01 00\r
+T 91 1B 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 07 00 02 09 07 00\r
+T 96 1B 00 00 00 00 00 00 F1 F1 21 01 00 E5 2B\r
+R 00 00 01 00 02 04 0E 00\r
+T 9F 1B 00 00 E5 E5 CD 54 16 00 00 F1 F1 F1\r
+R 00 00 01 00 00 07 01 00\r
+T A7 1B 00 00\r
+R 00 00 01 00\r
+T A7 1B 00 00\r
+R 00 00 01 00\r
+T A7 1B 00 00 DD 34 EE C2 95 19 00 00 DD 34 EF\r
+R 00 00 01 00 00 08 01 00\r
+T B0 1B 00 00 C3 95 19 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T B3 1B 00 00\r
+R 00 00 01 00\r
+T B3 1B 00 00 DD 5E E8 DD 56 E9 3E 25 1D 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T BB 1B 00 00 21 25 1D 00 00 CD 00 00 00 00 AF\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T C2 1B 00 00 DD 77 E6 DD 77 E7\r
+R 00 00 01 00\r
+T C8 1B 00 00\r
+R 00 00 01 00\r
+T C8 1B 00 00 DD 4E F0 DD 46 F1 DD 6E E6 DD 66\r
+R 00 00 01 00\r
+T D3 1B 00 00 E7 F6 80 ED 42 E2 DC 1B 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T DC 1B 00 00\r
+R 00 00 01 00\r
+T DC 1B 00 00 F2 02 1C 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T DF 1B 00 00\r
+R 00 00 01 00\r
+T DF 1B 00 00 DD 6E E6 DD 66 E7 29 DD 4E EC DD\r
+R 00 00 01 00\r
+T EA 1B 00 00 46 ED 09 5E 23 56 3E 97 24 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T F2 1B 00 00 21 97 24 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T F9 1B 00 00 34 E6 20 CB DD 34 E7 18 C6\r
+R 00 00 01 00\r
+T 02 1C 00 00\r
+R 00 00 01 00\r
+T 02 1C 00 00 DD 5E EC DD 56 ED CD 3B 00 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 0B 1C 00 00 FD E5 D1 3E 70 0B 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 11 1C 00 00 70 0B 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 17 1C 00 00 00 00 DD F9 C3 6B 00 00 00\r
+R 00 00 01 00 00 09 01 00\r
+T 1E 1C 00 00\r
+R 00 00 01 00\r
+T 1E 1C 00 00 FD E5 DD E5 D5 FD 21 00 00 3E\r
+R 00 00 01 00\r
+T 28 1C 00 00 B5 04 00 00 21 B5 04 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 2D 1C 00 00 00 00 00 00 E5 DD E1 7D B4 20 04\r
+R 00 00 01 00 02 04 0E 00\r
+T 36 1C 00 00\r
+R 00 00 01 00\r
+T 36 1C 00 00 6F 67 18 4D\r
+R 00 00 01 00\r
+T 3A 1C 00 00\r
+R 00 00 01 00\r
+T 3A 1C 00 00 DD 7E 00 FE 73 20 0A\r
+R 00 00 01 00\r
+T 41 1C 00 00\r
+R 00 00 01 00\r
+T 41 1C 00 00 DD E5 D1 3E A4 0C 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 47 1C 00 00 A4 0C 00 00 18 28\r
+R 00 00 01 00 00 04 01 00\r
+T 4B 1C 00 00\r
+R 00 00 01 00\r
+T 4B 1C 00 00 FE 69 20 0A DD E5 D1 3E\r
+R 00 00 01 00\r
+T 53 1C 00 00 59 12 00 00 21 59 12 00 00 18 1A\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 59 1C 00 00\r
+R 00 00 01 00\r
+T 59 1C 00 00 FE 64 20 0A DD E5 D1 3E\r
+R 00 00 01 00\r
+T 61 1C 00 00 62 16 00 00 21 62 16 00 00 18 0C\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 67 1C 00 00\r
+R 00 00 01 00\r
+T 67 1C 00 00 FE 75 20 0E DD E5 D1 3E\r
+R 00 00 01 00\r
+T 6F 1C 00 00 5E 18 00 00 21 5E 18 00 00\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 73 1C 00 00\r
+R 00 00 01 00\r
+T 73 1C 00 00 CD 00 00 00 00 E5 FD E1\r
+R 00 00 01 00 02 05 0E 00\r
+T 79 1C 00 00\r
+R 00 00 01 00\r
+T 79 1C 00 00 DD E5 D1 3E 8E 0B 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 7F 1C 00 00 8E 0B 00 00 CD 00 00 00 00 FD E5\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 86 1C 00 00 E1\r
+R 00 00 01 00\r
+T 87 1C 00 00\r
+R 00 00 01 00\r
+T 87 1C 00 00 C3 E1 02 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 8A 1C 00 00\r
+R 00 00 01 00\r
+T 8A 1C 00 00 FD E5 DD E5 F5 C5 DD E1 D5 FD E1\r
+R 00 00 01 00\r
+T 95 1C 00 00 21 00 00 39 E5 3E 32 0C 00 00 21\r
+R 00 00 01 00 29 0A 01 00\r
+T 9D 1C 00 00 32 0C 00 00 CD 00 00 00 00 EB E1\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T A4 1C 00 00 73 23 72 21 04 00 09 7E 23 B6 20\r
+R 00 00 01 00\r
+T AF 1C 00 00 09\r
+R 00 00 01 00\r
+T B0 1C 00 00\r
+R 00 00 01 00\r
+T B0 1C 00 00 CD 8F 04 00 00 DD 75 04 DD 74 05\r
+R 00 00 01 00 00 05 01 00\r
+T B9 1C 00 00\r
+R 00 00 01 00\r
+T B9 1C 00 00 FD 4E 04 FD 46 05 FD 6E 06 FD 66\r
+R 00 00 01 00\r
+T C4 1C 00 00 07 F6 80 ED 42 E2 CD 1C 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T CD 1C 00 00\r
+R 00 00 01 00\r
+T CD 1C 00 00 FA E4 1C 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T D0 1C 00 00\r
+R 00 00 01 00\r
+T D0 1C 00 00 DD 36 02 FF DD 36 03 FF CD\r
+R 00 00 01 00\r
+T D9 1C 00 00 35 00 00 00 AF DD 77 04 DD 77 05\r
+R 00 00 01 00 00 04 01 00\r
+T E2 1C 00 00 18 3E\r
+R 00 00 01 00\r
+T E4 1C 00 00\r
+R 00 00 01 00\r
+T E4 1C 00 00 FD 6E 06 FD 66 07 23 FD 75 06 FD\r
+R 00 00 01 00\r
+T EF 1C 00 00 74 07 2B DD 75 02 DD 74 03 FD E5\r
+R 00 00 01 00\r
+T FA 1C 00 00 DD E5 E1 C1 71 23 70 FD 6E 08 FD\r
+R 00 00 01 00\r
+T 05 1D 00 00 66 09 E5 21 01 00 E5 2E 04 39 4E\r
+R 00 00 01 00\r
+T 10 1D 00 00 23 46 DD 5E 04 DD 56 05 3E\r
+R 00 00 01 00\r
+T 19 1D 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 00 00 02 09 00 00\r
+T 1E 1D 00 00 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 0E 00\r
+T 22 1D 00 00\r
+R 00 00 01 00\r
+T 22 1D 00 00 C3 01 01 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 25 1D 00 00\r
+R 00 00 01 00\r
+T 25 1D 00 00 DD E5 D5 DD E1 7B B2 28 11\r
+R 00 00 01 00\r
+T 2E 1D 00 00\r
+R 00 00 01 00\r
+T 2E 1D 00 00 DD 7E 04 DD B6 05 28 03\r
+R 00 00 01 00\r
+T 36 1D 00 00\r
+R 00 00 01 00\r
+T 36 1D 00 00 CD 35 00 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 39 1D 00 00\r
+R 00 00 01 00\r
+T 39 1D 00 00 DD E5 D1 CD 3B 00 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T 3F 1D 00 00\r
+R 00 00 01 00\r
+T 3F 1D 00 00 DD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 02 00\r
+T 44 1D 00 00\r
+R 00 00 01 00\r
+T 44 1D 00 00 C5 D5 DD E5 11 06 00 CD\r
+R 00 00 01 00\r
+T 4C 1D 00 00 8F 04 00 00 E5 DD E1 01 04 00 09\r
+R 00 00 01 00 00 04 01 00\r
+T 55 1D 00 00 AF 77 23 77 DD E5 E1 77 23 77 DD\r
+R 00 00 01 00\r
+T 60 1D 00 00 36 02 FF DD 36 03 FF DD E5 E1 DD\r
+R 00 00 01 00\r
+T 6B 1D 00 00 E1 D1 C1 C3 00 00 00 00\r
+R 00 00 01 00 02 08 02 00\r
+T 71 1D 00 00\r
+R 00 00 01 00\r
+T 71 1D 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5\r
+R 00 00 01 00\r
+T 7C 1D 00 00 F5 F5 F5 D5 FD E1 21 04 00 19 7E\r
+R 00 00 01 00\r
+T 87 1D 00 00 DD 77 F8 23 66 DD 74 F9 EB 5E 23\r
+R 00 00 01 00\r
+T 92 1D 00 00 56 3E DD 0B 00 00 21 DD 0B 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T 98 1D 00 00 CD 00 00 00 00 DD 75 FA DD 74 FB\r
+R 00 00 01 00 02 05 0E 00\r
+T A1 1D 00 00 FD 6E 00 FD 66 01 23 23 46 23 66\r
+R 00 00 01 00\r
+T AC 1D 00 00 68 E5 DD 6E FE DD 66 FF 29 29 4D\r
+R 00 00 01 00\r
+T B7 1D 00 00 44 29 09 4D 44 E1 09 01 09 00 09\r
+R 00 00 01 00\r
+T C2 1D 00 00 7E FE 53 20 1B\r
+R 00 00 01 00\r
+T C7 1D 00 00\r
+R 00 00 01 00\r
+T C7 1D 00 00 DD 6E FA DD 66 FB DD 4E F8 DD 46\r
+R 00 00 01 00\r
+T D2 1D 00 00 F9 09 4D 44 DD 5E 08 DD 56 09 CD\r
+R 00 00 01 00\r
+T DD 1D 00 00 AD 04 00 00 C3 7A 1E 00 00\r
+R 00 00 01 00 00 04 01 00 00 09 01 00\r
+T E2 1D 00 00\r
+R 00 00 01 00\r
+T E2 1D 00 00 FE 49 C2 7A 1E 00 00 FD 6E 00 FD\r
+R 00 00 01 00 00 07 01 00\r
+T EB 1D 00 00 66 01 23 23 46 23 66 68 E5 DD 6E\r
+R 00 00 01 00\r
+T F6 1D 00 00 FE DD 66 FF 29 29 4D 44 29 09 4D\r
+R 00 00 01 00\r
+T 01 1E 00 00 44 E1 09 01 0A 00 09 46 05 05 20\r
+R 00 00 01 00\r
+T 0C 1E 00 00 21\r
+R 00 00 01 00\r
+T 0D 1E 00 00\r
+R 00 00 01 00\r
+T 0D 1E 00 00 C5 DD 4E 08 DD 46 09 DD 6E FA DD\r
+R 00 00 01 00\r
+T 18 1E 00 00 66 FB DD 5E F8 DD 56 F9 19 5E 23\r
+R 00 00 01 00\r
+T 23 1E 00 00 56 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 06 12 00 02 0B 12 00\r
+T 29 1E 00 00 CD 00 00 00 00 18 4B\r
+R 00 00 01 00 02 05 0E 00\r
+T 2E 1E 00 00\r
+R 00 00 01 00\r
+T 2E 1E 00 00 FD 6E 00 FD 66 01 23 23 46 23 66\r
+R 00 00 01 00\r
+T 39 1E 00 00 68 E5 DD 6E FE DD 66 FF 29 29 4D\r
+R 00 00 01 00\r
+T 44 1E 00 00 44 29 09 4D 44 E1 09 01 0A 00 09\r
+R 00 00 01 00\r
+T 4F 1E 00 00 7E FE 04 20 26\r
+R 00 00 01 00\r
+T 54 1E 00 00\r
+R 00 00 01 00\r
+T 54 1E 00 00 C5 DD 6E 08 DD 66 09 E5 DD 6E FA\r
+R 00 00 01 00\r
+T 5F 1E 00 00 DD 66 FB DD 4E F8 DD 46 F9 09 5E\r
+R 00 00 01 00\r
+T 6A 1E 00 00 23 56 23 4E 23 46 3E 00 00 00 00\r
+R 00 00 01 00 2B 0B 15 00\r
+T 72 1E 00 00 21 00 00 00 00 CD 00 00 00 00 F1\r
+R 00 00 01 00 02 05 15 00 02 0A 0E 00\r
+T 79 1E 00 00\r
+R 00 00 01 00\r
+T 79 1E 00 00 F1\r
+R 00 00 01 00\r
+T 7A 1E 00 00\r
+R 00 00 01 00\r
+T 7A 1E 00 00\r
+R 00 00 01 00\r
+T 7A 1E 00 00\r
+R 00 00 01 00\r
+T 7A 1E 00 00 C3 7B 04 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 7D 1E 00 00\r
+R 00 00 01 00\r
+T 7D 1E 00 00 FD E5 DD E5 C5 F5 D5 DD E1 21\r
+R 00 00 01 00\r
+T 87 1E 00 00 04 00 19 7E 23 66 6F E5 FD E1 21\r
+R 00 00 01 00\r
+T 92 1E 00 00 00 00 39 E5 EB 5E 23 56 3E\r
+R 00 00 01 00\r
+T 9B 1E 00 00 DD 0B 00 00 21 DD 0B 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T A0 1E 00 00 00 00 00 00 4D 44 E1 71 23 70 DD\r
+R 00 00 01 00 02 04 0E 00\r
+T A9 1E 00 00 6E 00 DD 66 01 23 23 46 23 66 68\r
+R 00 00 01 00\r
+T B4 1E 00 00 E5 21 04 00 39 46 23 66 68 29 29\r
+R 00 00 01 00\r
+T BF 1E 00 00 4D 44 29 09 4D 44 E1 09 01 09 00\r
+R 00 00 01 00\r
+T CA 1E 00 00 09 7E FE 53 20 16\r
+R 00 00 01 00\r
+T D0 1E 00 00\r
+R 00 00 01 00\r
+T D0 1E 00 00 68 60 39 46 23 66 68 FD E5 C1 09\r
+R 00 00 01 00\r
+T DB 1E 00 00 EB 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 06 13 00 02 0B 13 00\r
+T E1 1E 00 00 CD 00 00 00 00 18 13\r
+R 00 00 01 00 02 05 0E 00\r
+T E6 1E 00 00\r
+R 00 00 01 00\r
+T E6 1E 00 00 FE 49 68 60 20 0D 39 46 23 66 68\r
+R 00 00 01 00\r
+T F1 1E 00 00 FD E5 C1 09 46 23 66 68\r
+R 00 00 01 00\r
+T F9 1E 00 00\r
+R 00 00 01 00\r
+T F9 1E 00 00\r
+R 00 00 01 00\r
+T F9 1E 00 00 F1 C3 E1 02 00 00\r
+R 00 00 01 00 00 06 01 00\r
+T FD 1E 00 00\r
+R 00 00 01 00\r
+T FD 1E 00 00\r
+R 00 00 01 00\r
+T FD 1E 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5\r
+R 00 00 01 00\r
+T 08 1F 00 00 F5 F5 D5 FD E1 21 04 00 19 7E DD\r
+R 00 00 01 00\r
+T 13 1F 00 00 77 FA 23 66 DD 74 FB EB 5E 23 56\r
+R 00 00 01 00\r
+T 1E 1F 00 00 3E DD 0B 00 00 21 DD 0B 00 00 CD\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 24 1F 00 00 00 00 00 00 DD 75 FC DD 74 FD FD\r
+R 00 00 01 00 02 04 0E 00\r
+T 2D 1F 00 00 6E 00 FD 66 01 23 23 46 23 66 68\r
+R 00 00 01 00\r
+T 38 1F 00 00 E5 DD 6E FE DD 66 FF 29 29 4D 44\r
+R 00 00 01 00\r
+T 43 1F 00 00 29 09 4D 44 E1 09 01 09 00 09 7E\r
+R 00 00 01 00\r
+T 4E 1F 00 00 FE 53 20 18\r
+R 00 00 01 00\r
+T 52 1F 00 00\r
+R 00 00 01 00\r
+T 52 1F 00 00 DD 6E FC DD 66 FD DD 4E FA DD 46\r
+R 00 00 01 00\r
+T 5D 1F 00 00 FB 09 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 08 16 00\r
+T 63 1F 00 00 00 00 00 00 CD 00 00 00 00 18 4F\r
+R 00 00 01 00 02 04 16 00 02 09 0E 00\r
+T 6A 1F 00 00\r
+R 00 00 01 00\r
+T 6A 1F 00 00 FE 49 20 48 FD 6E 00 FD 66 01 23\r
+R 00 00 01 00\r
+T 75 1F 00 00 23 46 23 66 68 E5 DD 6E FE DD 66\r
+R 00 00 01 00\r
+T 80 1F 00 00 FF 29 29 4D 44 29 09 4D 44 E1 09\r
+R 00 00 01 00\r
+T 8B 1F 00 00 01 0A 00 09 46 05 05 DD 6E FC DD\r
+R 00 00 01 00\r
+T 96 1F 00 00 66 FD DD 4E FA DD 46 FB 09 20 0B\r
+R 00 00 01 00\r
+T A1 1F 00 00\r
+R 00 00 01 00\r
+T A1 1F 00 00 46 23 66 7C 68 07 9F 4F 41 18 0D\r
+R 00 00 01 00\r
+T AC 1F 00 00\r
+R 00 00 01 00\r
+T AC 1F 00 00 5E 23 56 23 4E 23 46 EB 18 03\r
+R 00 00 01 00\r
+T B6 1F 00 00\r
+R 00 00 01 00\r
+T B6 1F 00 00 48 69 60\r
+R 00 00 01 00\r
+T B9 1F 00 00\r
+R 00 00 01 00\r
+T B9 1F 00 00 C3 7B 04 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T BC 1F 00 00\r
+R 00 00 01 00\r
+T BC 1F 00 00\r
+R 00 00 01 00\r
+T BC 1F 00 00 D5 CD 00 00 00 00 10 00 00 26 28\r
+R 00 00 01 00 02 06 0A 00\r
+T C5 1F 00 00 29 2A 2B 2D 2F 3B 3C 3D 3E 5B 5D\r
+R 00 00 01 00\r
+T D0 1F 00 00 5E 7C 10 20 00 00 08 20 00 00\r
+R 00 00 01 00 00 06 01 00 00 0A 01 00\r
+T D6 1F 00 00 F8 1F 00 00 04 20 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T DA 1F 00 00 04 20 00 00 04 20 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T DE 1F 00 00 04 20 00 00 04 20 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T E2 1F 00 00 0C 20 00 00 FC 1F 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T E6 1F 00 00 00 20 00 00 00 20 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T EA 1F 00 00 FC 1F 00 00 0C 20 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T EE 1F 00 00 F4 1F 00 00 08 20 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T F2 1F 00 00 0C 20 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T F4 1F 00 00\r
+R 00 00 01 00\r
+T F4 1F 00 00 2E 01 18 1A\r
+R 00 00 01 00\r
+T F8 1F 00 00\r
+R 00 00 01 00\r
+T F8 1F 00 00 2E 02 18 16\r
+R 00 00 01 00\r
+T FC 1F 00 00\r
+R 00 00 01 00\r
+T FC 1F 00 00 2E 03 18 12\r
+R 00 00 01 00\r
+T 00 20 00 00\r
+R 00 00 01 00\r
+T 00 20 00 00 2E 04 18 0E\r
+R 00 00 01 00\r
+T 04 20 00 00\r
+R 00 00 01 00\r
+T 04 20 00 00 2E 05 18 0A\r
+R 00 00 01 00\r
+T 08 20 00 00\r
+R 00 00 01 00\r
+T 08 20 00 00 2E 06 18 06\r
+R 00 00 01 00\r
+T 0C 20 00 00\r
+R 00 00 01 00\r
+T 0C 20 00 00 2E 3F 18 02\r
+R 00 00 01 00\r
+T 10 20 00 00\r
+R 00 00 01 00\r
+T 10 20 00 00 2E 00\r
+R 00 00 01 00\r
+T 12 20 00 00\r
+R 00 00 01 00\r
+T 12 20 00 00 F1 C3 00 00 00 00\r
+R 00 00 01 00 02 06 02 00\r
+T 16 20 00 00\r
+R 00 00 01 00\r
+T 16 20 00 00\r
+R 00 00 01 00\r
+T 16 20 00 00 DD E5 C5 D5 11 4E 00 CD\r
+R 00 00 01 00\r
+T 1E 20 00 00 8F 04 00 00 E5 DD E1 23 23 23 36\r
+R 00 00 01 00 00 04 01 00\r
+T 27 20 00 00 00 AF DD 77 48 DD 77 49 DD 77 4A\r
+R 00 00 01 00\r
+T 32 20 00 00 DD 77 4B DD 77 02 6F 67 39 46 DD\r
+R 00 00 01 00\r
+T 3D 20 00 00 70 4C 23 66 DD 74 4D DD 71 00 DD\r
+R 00 00 01 00\r
+T 48 20 00 00 77 24 DD 77 25 DD 77 26 DD 77 27\r
+R 00 00 01 00\r
+T 53 20 00 00 DD E5 E1 F1 F1 DD E1 C3\r
+R 00 00 01 00\r
+T 5B 20 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 02 00\r
+T 5D 20 00 00\r
+R 00 00 01 00\r
+T 5D 20 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5\r
+R 00 00 01 00\r
+T 68 20 00 00 D5 21 B2 FF 39 F9 AF DD 77 F8 DD\r
+R 00 00 01 00\r
+T 73 20 00 00 77 F9 7B B2 20 24\r
+R 00 00 01 00\r
+T 79 20 00 00\r
+R 00 00 01 00\r
+T 79 20 00 00 0E 01 5F 57 CD 5F 24 00 00 DD 75\r
+R 00 00 01 00 00 09 01 00\r
+T 82 20 00 00 AE DD 74 AF 01 04 00 09 36 31 21\r
+R 00 00 01 00\r
+T 8D 20 00 00 05 00 DD 4E AE DD 46 AF 09 36 00\r
+R 00 00 01 00\r
+T 98 20 00 00 69 60 C3 57 24 00 00\r
+R 00 00 01 00 00 07 01 00\r
+T 9D 20 00 00\r
+R 00 00 01 00\r
+T 9D 20 00 00 AF DD 77 F6 DD 77 F7\r
+R 00 00 01 00\r
+T A4 20 00 00\r
+R 00 00 01 00\r
+T A4 20 00 00 01 40 80 DD 6E F6 DD 66 F7 78 AC\r
+R 00 00 01 00\r
+T AF 20 00 00 67 ED 42 30 16\r
+R 00 00 01 00\r
+T B4 20 00 00\r
+R 00 00 01 00\r
+T B4 20 00 00 21 06 00 39 DD 4E F6 DD 46 F7 09\r
+R 00 00 01 00\r
+T BF 20 00 00 36 00 03 DD 71 F6 DD 70 F7 18 DA\r
+R 00 00 01 00\r
+T CA 20 00 00\r
+R 00 00 01 00\r
+T CA 20 00 00 0E 03 11 00 00 CD 5F 24 00 00 DD\r
+R 00 00 01 00 00 0A 01 00\r
+T D3 20 00 00 75 AE DD 74 AF E5 FD E1\r
+R 00 00 01 00\r
+T DB 20 00 00\r
+R 00 00 01 00\r
+T DB 20 00 00 AF DD 77 B2 DD 77 B3\r
+R 00 00 01 00\r
+T E2 20 00 00\r
+R 00 00 01 00\r
+T E2 20 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD\r
+R 00 00 01 00\r
+T ED 20 00 00 4E FC DD 46 FD 09 5E 3E\r
+R 00 00 01 00\r
+T F5 20 00 00 BC 1F 00 00 21 BC 1F 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T FA 20 00 00 00 00 00 00 26 00 DD 75 F4 DD 74\r
+R 00 00 01 00 02 04 0E 00\r
+T 03 21 00 00 F5 7D B7 20 1E\r
+R 00 00 01 00\r
+T 08 21 00 00\r
+R 00 00 01 00\r
+T 08 21 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD\r
+R 00 00 01 00\r
+T 13 21 00 00 46 FD 09 46 21 06 00 39 DD 5E F8\r
+R 00 00 01 00\r
+T 1E 21 00 00 DD 56 F9 19 70 C3 03 24 00 00\r
+R 00 00 01 00 00 0A 01 00\r
+T 26 21 00 00\r
+R 00 00 01 00\r
+T 26 21 00 00 3E 01 AD 20 5E\r
+R 00 00 01 00\r
+T 2B 21 00 00\r
+R 00 00 01 00\r
+T 2B 21 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD\r
+R 00 00 01 00\r
+T 36 21 00 00 46 FD 09 7E FE 29 20 08\r
+R 00 00 01 00\r
+T 3E 21 00 00\r
+R 00 00 01 00\r
+T 3E 21 00 00 DD 36 F4 3F DD 36 F5 00\r
+R 00 00 01 00\r
+T 46 21 00 00\r
+R 00 00 01 00\r
+T 46 21 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD\r
+R 00 00 01 00\r
+T 51 21 00 00 46 FD 09 7E FE 28 C2 03 24 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 5A 21 00 00\r
+R 00 00 01 00\r
+T 5A 21 00 00 DD 6E FE DD 66 FF 34 23 20 01 34\r
+R 00 00 01 00\r
+T 65 21 00 00\r
+R 00 00 01 00\r
+T 65 21 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56\r
+R 00 00 01 00\r
+T 70 21 00 00 FD 3E 5D 20 00 00 21 5D 20 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T 76 21 00 00 CD 00 00 00 00 DD 75 B2 DD 74 B3\r
+R 00 00 01 00 02 05 0E 00\r
+T 7F 21 00 00 AF DD 77 F8 DD 77 F9 C3\r
+R 00 00 01 00\r
+T 87 21 00 00 E2 20 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 89 21 00 00\r
+R 00 00 01 00\r
+T 89 21 00 00\r
+R 00 00 01 00\r
+T 89 21 00 00 2E 06 39 DD 4E F8 DD 46 F9 09 36\r
+R 00 00 01 00\r
+T 94 21 00 00 00 FD 7E 48 FD B6 49 20 46\r
+R 00 00 01 00\r
+T 9D 21 00 00\r
+R 00 00 01 00\r
+T 9D 21 00 00 DD 7E B2 DD B6 B3 20 1A\r
+R 00 00 01 00\r
+T A5 21 00 00\r
+R 00 00 01 00\r
+T A5 21 00 00 CD 5A 24 00 00 FD 75 48 FD 74 49\r
+R 00 00 01 00 00 05 01 00\r
+T AE 21 00 00 21 06 00 39 4D 44 FD 6E 48 FD 66\r
+R 00 00 01 00\r
+T B9 21 00 00 49 CD A8 04 00 00 18 0C\r
+R 00 00 01 00 00 06 01 00\r
+T BF 21 00 00\r
+R 00 00 01 00\r
+T BF 21 00 00 DD 6E B2 FD 75 48 DD 66 B3 FD 74\r
+R 00 00 01 00\r
+T CA 21 00 00 49\r
+R 00 00 01 00\r
+T CB 21 00 00\r
+R 00 00 01 00\r
+T CB 21 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD\r
+R 00 00 01 00\r
+T D6 21 00 00 4E FC DD 46 FD 09 46 FD 70 02 C3\r
+R 00 00 01 00\r
+T E1 21 00 00 FB 23 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T E3 21 00 00\r
+R 00 00 01 00\r
+T E3 21 00 00 CD 67 24 00 00 E2 EA 21 00 00 AC\r
+R 00 00 01 00 00 05 01 00 00 0A 01 00\r
+T EA 21 00 00\r
+R 00 00 01 00\r
+T EA 21 00 00 F2 64 22 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T ED 21 00 00\r
+R 00 00 01 00\r
+T ED 21 00 00 0E 03 CD 5C 24 00 00 FD 75 4A FD\r
+R 00 00 01 00 00 07 01 00\r
+T F6 21 00 00 74 4B DD 7E B2 DD B6 B3 FD 6E 4A\r
+R 00 00 01 00\r
+T 01 22 00 00 FD 66 4B 01 48 00 09 20 2B\r
+R 00 00 01 00\r
+T 0A 22 00 00\r
+R 00 00 01 00\r
+T 0A 22 00 00 E5 0E 01 FD 5E 4A FD 56 4B CD\r
+R 00 00 01 00\r
+T 14 22 00 00 5F 24 00 00 4D 44 E1 71 23 70 21\r
+R 00 00 01 00 00 04 01 00\r
+T 1D 22 00 00 06 00 39 4D 44 FD 6E 4A FD 66 4B\r
+R 00 00 01 00\r
+T 28 22 00 00 11 48 00 19 56 23 66 6A CD\r
+R 00 00 01 00\r
+T 31 22 00 00 A8 04 00 00 18 09\r
+R 00 00 01 00 00 04 01 00\r
+T 35 22 00 00\r
+R 00 00 01 00\r
+T 35 22 00 00 DD 4E B2 71 DD 46 B3 23 70\r
+R 00 00 01 00\r
+T 3E 22 00 00\r
+R 00 00 01 00\r
+T 3E 22 00 00 FD 6E 4A FD 66 4B 23 23 E5 DD 6E\r
+R 00 00 01 00\r
+T 49 22 00 00 FE DD 66 FF 46 23 66 68 DD 4E FC\r
+R 00 00 01 00\r
+T 54 22 00 00 DD 46 FD 09 46 E1 70 FD 6E 4A FD\r
+R 00 00 01 00\r
+T 5F 22 00 00 66 4B C3 F8 23 00 00\r
+R 00 00 01 00 00 07 01 00\r
+T 64 22 00 00\r
+R 00 00 01 00\r
+T 64 22 00 00 3E 3F DD AE F4 DD B6 F5 20 2A\r
+R 00 00 01 00\r
+T 6E 22 00 00\r
+R 00 00 01 00\r
+T 6E 22 00 00 DD 7E B2 DD B6 B3 20 13\r
+R 00 00 01 00\r
+T 76 22 00 00\r
+R 00 00 01 00\r
+T 76 22 00 00 CD 5A 24 00 00 FD 75 4A FD 74 4B\r
+R 00 00 01 00 00 05 01 00\r
+T 7F 22 00 00 21 06 00 39 CD A0 04 00 00 C3\r
+R 00 00 01 00 00 09 01 00\r
+T 87 22 00 00 FB 23 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 89 22 00 00\r
+R 00 00 01 00\r
+T 89 22 00 00 DD 6E B2 FD 75 4A DD 66 B3 FD 74\r
+R 00 00 01 00\r
+T 94 22 00 00 4B\r
+R 00 00 01 00\r
+T 95 22 00 00\r
+R 00 00 01 00\r
+T 95 22 00 00 C3 FB 23 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 98 22 00 00\r
+R 00 00 01 00\r
+T 98 22 00 00 CD 80 24 00 00 E2 9F 22 00 00 AC\r
+R 00 00 01 00 00 05 01 00 00 0A 01 00\r
+T 9F 22 00 00\r
+R 00 00 01 00\r
+T 9F 22 00 00 FA FB 23 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T A2 22 00 00\r
+R 00 00 01 00\r
+T A2 22 00 00 DD 7E B2 DD B6 B3 20 12\r
+R 00 00 01 00\r
+T AA 22 00 00\r
+R 00 00 01 00\r
+T AA 22 00 00 CD 5A 24 00 00 FD 75 4A FD 74 4B\r
+R 00 00 01 00 00 05 01 00\r
+T B3 22 00 00 21 06 00 39 CD A0 04 00 00 18 0C\r
+R 00 00 01 00 00 09 01 00\r
+T BC 22 00 00\r
+R 00 00 01 00\r
+T BC 22 00 00 DD 6E B2 FD 75 4A DD 66 B3 FD 74\r
+R 00 00 01 00\r
+T C7 22 00 00 4B\r
+R 00 00 01 00\r
+T C8 22 00 00\r
+R 00 00 01 00\r
+T C8 22 00 00\r
+R 00 00 01 00\r
+T C8 22 00 00 CD 67 24 00 00 E2 CF 22 00 00 AC\r
+R 00 00 01 00 00 05 01 00 00 0A 01 00\r
+T CF 22 00 00\r
+R 00 00 01 00\r
+T CF 22 00 00 FA E5 22 00 00 FD 7E 4C FD B6 4D\r
+R 00 00 01 00 00 05 01 00\r
+T D8 22 00 00 28 0B\r
+R 00 00 01 00\r
+T DA 22 00 00\r
+R 00 00 01 00\r
+T DA 22 00 00\r
+R 00 00 01 00\r
+T DA 22 00 00\r
+R 00 00 01 00\r
+T DA 22 00 00 FD 6E 4C FD 66 4D E5 FD E1 18 E3\r
+R 00 00 01 00\r
+T E5 22 00 00\r
+R 00 00 01 00\r
+T E5 22 00 00 FD 7E 4C FD B6 4D 20 41 CD\r
+R 00 00 01 00\r
+T EE 22 00 00 80 24 00 00 E2 F4 22 00 00 AC\r
+R 00 00 01 00 00 04 01 00 00 09 01 00\r
+T F4 22 00 00\r
+R 00 00 01 00\r
+T F4 22 00 00 FA 2E 23 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T F7 22 00 00\r
+R 00 00 01 00\r
+T F7 22 00 00\r
+R 00 00 01 00\r
+T F7 22 00 00\r
+R 00 00 01 00\r
+T F7 22 00 00 0E 03 58 50 CD 5F 24 00 00 DD 75\r
+R 00 00 01 00 00 09 01 00\r
+T 00 23 00 00 AE DD 74 AF 01 48 00 09 FD E5 C1\r
+R 00 00 01 00\r
+T 0B 23 00 00 71 23 70 DD 6E FE DD 66 FF 56 23\r
+R 00 00 01 00\r
+T 16 23 00 00 66 6A DD 5E FC DD 56 FD 19 56 DD\r
+R 00 00 01 00\r
+T 21 23 00 00 6E AE DD 66 AF 23 23 72 2B 2B C3\r
+R 00 00 01 00\r
+T 2C 23 00 00 F8 23 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 2E 23 00 00\r
+R 00 00 01 00\r
+T 2E 23 00 00 FD 7E 4C FD B6 4D 20 5C CD\r
+R 00 00 01 00\r
+T 37 23 00 00 80 24 00 00 E2 3D 23 00 00 AC\r
+R 00 00 01 00 00 04 01 00 00 09 01 00\r
+T 3D 23 00 00\r
+R 00 00 01 00\r
+T 3D 23 00 00 F2 92 23 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 40 23 00 00\r
+R 00 00 01 00\r
+T 40 23 00 00\r
+R 00 00 01 00\r
+T 40 23 00 00\r
+R 00 00 01 00\r
+T 40 23 00 00 0E 03 CD 5C 24 00 00 DD 75 FA DD\r
+R 00 00 01 00 00 07 01 00\r
+T 49 23 00 00 74 FB 01 48 00 09 FD 4E 4A 71 FD\r
+R 00 00 01 00\r
+T 54 23 00 00 46 4B 23 70 DD 6E FE DD 66 FF 46\r
+R 00 00 01 00\r
+T 5F 23 00 00 23 66 68 DD 4E FC DD 46 FD 09 46\r
+R 00 00 01 00\r
+T 6A 23 00 00 DD 6E FA DD 66 FB 23 23 70 21\r
+R 00 00 01 00\r
+T 74 23 00 00 48 00 DD 4E FA DD 46 FB 09 56 23\r
+R 00 00 01 00\r
+T 7F 23 00 00 66 6A 11 4C 00 19 71 23 70 FD 71\r
+R 00 00 01 00\r
+T 8A 23 00 00 4A FD 70 4B 69 60 18 66\r
+R 00 00 01 00\r
+T 92 23 00 00\r
+R 00 00 01 00\r
+T 92 23 00 00 FD 6E 4C DD 75 FA FD 66 4D DD 74\r
+R 00 00 01 00\r
+T 9D 23 00 00 FB 0E 4A 09 E5 0E 03 DD 5E FA DD\r
+R 00 00 01 00\r
+T A8 23 00 00 56 FB CD 5F 24 00 00 4D 44 E1 71\r
+R 00 00 01 00 00 07 01 00\r
+T B1 23 00 00 23 70 21 4A 00 DD 4E FA DD 46 FB\r
+R 00 00 01 00\r
+T BC 23 00 00 09 56 23 66 6A 11 48 00 19 FD E5\r
+R 00 00 01 00\r
+T C7 23 00 00 D1 73 23 72 21 4A 00 09 7E 23 66\r
+R 00 00 01 00\r
+T D2 23 00 00 6F 23 23 E5 DD 6E FE DD 66 FF 7E\r
+R 00 00 01 00\r
+T DD 23 00 00 23 66 6F DD 4E FC DD 46 FD 09 46\r
+R 00 00 01 00\r
+T E8 23 00 00 E1 70 21 4A 00 DD 4E FA DD 46 FB\r
+R 00 00 01 00\r
+T F3 23 00 00 09 46 23 66 68\r
+R 00 00 01 00\r
+T F8 23 00 00\r
+R 00 00 01 00\r
+T F8 23 00 00 E5 FD E1\r
+R 00 00 01 00\r
+T FB 23 00 00\r
+R 00 00 01 00\r
+T FB 23 00 00\r
+R 00 00 01 00\r
+T FB 23 00 00\r
+R 00 00 01 00\r
+T FB 23 00 00\r
+R 00 00 01 00\r
+T FB 23 00 00\r
+R 00 00 01 00\r
+T FB 23 00 00\r
+R 00 00 01 00\r
+T FB 23 00 00 DD 36 F8 FF DD 36 F9 FF\r
+R 00 00 01 00\r
+T 03 24 00 00\r
+R 00 00 01 00\r
+T 03 24 00 00\r
+R 00 00 01 00\r
+T 03 24 00 00 DD 34 F8 20 03 DD 34 F9\r
+R 00 00 01 00\r
+T 0B 24 00 00\r
+R 00 00 01 00\r
+T 0B 24 00 00 DD 6E FE DD 66 FF 34 23 20 01 34\r
+R 00 00 01 00\r
+T 16 24 00 00\r
+R 00 00 01 00\r
+T 16 24 00 00 01 3F 80 DD 6E F4 DD 66 F5 78 AC\r
+R 00 00 01 00\r
+T 21 24 00 00 67 ED 42 DA DB 20 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T 27 24 00 00\r
+R 00 00 01 00\r
+T 27 24 00 00\r
+R 00 00 01 00\r
+T 27 24 00 00 21 4A 00 DD 4E AE DD 46 AF 09 7E\r
+R 00 00 01 00\r
+T 32 24 00 00 23 B6 20 1F 69 60 7E FE 03 20 18\r
+R 00 00 01 00\r
+T 3D 24 00 00\r
+R 00 00 01 00\r
+T 3D 24 00 00\r
+R 00 00 01 00\r
+T 3D 24 00 00\r
+R 00 00 01 00\r
+T 3D 24 00 00 E5 FD E1 21 48 00 09 56 DD 72 AE\r
+R 00 00 01 00\r
+T 48 24 00 00 23 66 DD 74 AF FD E5 D1 CD\r
+R 00 00 01 00\r
+T 51 24 00 00 3B 00 00 00 18 D2\r
+R 00 00 01 00 00 04 01 00\r
+T 55 24 00 00\r
+R 00 00 01 00\r
+T 55 24 00 00 69 60\r
+R 00 00 01 00\r
+T 57 24 00 00\r
+R 00 00 01 00\r
+T 57 24 00 00 C3 7B 04 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 5A 24 00 00\r
+R 00 00 01 00\r
+T 5A 24 00 00 0E 01\r
+R 00 00 01 00\r
+T 5C 24 00 00\r
+R 00 00 01 00\r
+T 5C 24 00 00 FD E5 D1\r
+R 00 00 01 00\r
+T 5F 24 00 00\r
+R 00 00 01 00\r
+T 5F 24 00 00 3E 16 20 00 00 21 16 20 00 00 C3\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 65 24 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0E 00\r
+T 67 24 00 00\r
+R 00 00 01 00\r
+T 67 24 00 00 FD 5E 02 3E BC 1F 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 6D 24 00 00 BC 1F 00 00 CD 00 00 00 00 4D 06\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 74 24 00 00 00 DD 6E F4 DD 66 F5 F6 80 ED 42\r
+R 00 00 01 00\r
+T 7F 24 00 00 C9\r
+R 00 00 01 00\r
+T 80 24 00 00\r
+R 00 00 01 00\r
+T 80 24 00 00 FD 5E 02 3E BC 1F 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 86 24 00 00 BC 1F 00 00 CD 00 00 00 00 4D DD\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 8D 24 00 00 6E F4 DD 66 F5 F6 80 ED 42 C9\r
+R 00 00 01 00\r
+T 97 24 00 00\r
+R 00 00 01 00\r
+T 97 24 00 00 DD E5 D5 DD E1 1A FE 03 20 1C\r
+R 00 00 01 00\r
+T A1 24 00 00\r
+R 00 00 01 00\r
+T A1 24 00 00 DD 5E 48 DD 56 49 3E 97 24 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T A9 24 00 00 21 97 24 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T B0 24 00 00 5E 4A DD 56 4B 3E 97 24 00 00 21\r
+R 00 00 01 00 29 0A 01 00\r
+T B8 24 00 00 97 24 00 00 CD 00 00 00 00\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T BD 24 00 00\r
+R 00 00 01 00\r
+T BD 24 00 00 C3 83 0B 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T C0 24 00 00\r
+R 00 00 01 00\r
+T C0 24 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5\r
+R 00 00 01 00\r
+T CB 24 00 00 F5 F5 F5 D5 FD E1 1A FE 03 C2\r
+R 00 00 01 00\r
+T D5 24 00 00 90 28 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T D7 24 00 00\r
+R 00 00 01 00\r
+T D7 24 00 00 FD 5E 48 FD 56 49 3E C0 24 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T DF 24 00 00 21 C0 24 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0E 00\r
+T E6 24 00 00 4E FE DD 46 FF FD 5E 4A FD 56 4B\r
+R 00 00 01 00\r
+T F1 24 00 00 3E C0 24 00 00 21 C0 24 00 00 CD\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T F7 24 00 00 00 00 00 00 FD 5E 02 3E\r
+R 00 00 01 00 02 04 0E 00\r
+T FD 24 00 00 BC 1F 00 00 21 BC 1F 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 02 25 00 00 00 00 00 00 7D FE 05 FD 6E 48 FD\r
+R 00 00 01 00 02 04 0E 00\r
+T 0B 25 00 00 66 49 23 D2 05 26 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T 11 25 00 00\r
+R 00 00 01 00\r
+T 11 25 00 00 46 05 C2 05 2A 00 00 FD 6E 4A FD\r
+R 00 00 01 00 00 07 01 00\r
+T 1A 25 00 00 66 4B 23 46 05 C2 05 2A 00 00\r
+R 00 00 01 00 00 0A 01 00\r
+T 22 25 00 00\r
+R 00 00 01 00\r
+T 22 25 00 00\r
+R 00 00 01 00\r
+T 22 25 00 00\r
+R 00 00 01 00\r
+T 22 25 00 00 FD 36 01 01 FD 7E 02 FE 2B 20 2D\r
+R 00 00 01 00\r
+T 2D 25 00 00\r
+R 00 00 01 00\r
+T 2D 25 00 00 FD 6E 4A FD 66 4B 0E 24 09 4E 23\r
+R 00 00 01 00\r
+T 38 25 00 00 46 23 5E 23 56 D5 C5 FD 6E 48 FD\r
+R 00 00 01 00\r
+T 43 25 00 00 66 49 01 24 00 09 4E 23 46 23 5E\r
+R 00 00 01 00\r
+T 4E 25 00 00 23 56 69 60 C1 09 EB C1 ED 4A 18\r
+R 00 00 01 00\r
+T 59 25 00 00 33\r
+R 00 00 01 00\r
+T 5A 25 00 00\r
+R 00 00 01 00\r
+T 5A 25 00 00 FE 2D 20 34 FD 6E 4A FD 66 4B 0E\r
+R 00 00 01 00\r
+T 65 25 00 00 24 09 4E 23 46 23 5E 23 56 69 60\r
+R 00 00 01 00\r
+T 70 25 00 00 D5 E5 FD 6E 48 FD 66 49 01 24 00\r
+R 00 00 01 00\r
+T 7B 25 00 00 09 4E 23 46 23 5E 23 56 69 60 A7\r
+R 00 00 01 00\r
+T 86 25 00 00 C1 ED 42 EB C1 ED 42\r
+R 00 00 01 00\r
+T 8D 25 00 00\r
+R 00 00 01 00\r
+T 8D 25 00 00 4D 44 EB 18 58\r
+R 00 00 01 00\r
+T 92 25 00 00\r
+R 00 00 01 00\r
+T 92 25 00 00 FE 2A 20 29 FD 6E 48 FD 66 49 0E\r
+R 00 00 01 00\r
+T 9D 25 00 00 24 09 4E 23 46 23 5E 23 56 D5 C5\r
+R 00 00 01 00\r
+T A8 25 00 00 FD 6E 4A FD 66 4B 01 24 00 09 5E\r
+R 00 00 01 00\r
+T B3 25 00 00 23 56 23 4E 23 46 EB CD\r
+R 00 00 01 00\r
+T BB 25 00 00 00 00 00 00 18 2B\r
+R 00 00 01 00 02 04 01 00\r
+T BF 25 00 00\r
+R 00 00 01 00\r
+T BF 25 00 00 FE 2F 20 33 FD 6E 4A FD 66 4B 0E\r
+R 00 00 01 00\r
+T CA 25 00 00 24 09 4E 23 46 23 5E 23 56 D5 C5\r
+R 00 00 01 00\r
+T D5 25 00 00 FD 6E 48 FD 66 49 01 24 00 09 5E\r
+R 00 00 01 00\r
+T E0 25 00 00 23 56 23 4E 23 46 EB CD\r
+R 00 00 01 00\r
+T E8 25 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 14 00\r
+T EA 25 00 00\r
+R 00 00 01 00\r
+T EA 25 00 00 DD 75 F8 DD 74 F9 DD 71 FA DD 70\r
+R 00 00 01 00\r
+T F5 25 00 00 FB\r
+R 00 00 01 00\r
+T F6 25 00 00\r
+R 00 00 01 00\r
+T F6 25 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66\r
+R 00 00 01 00\r
+T 01 26 00 00 F9 C3 AC 29 00 00\r
+R 00 00 01 00 00 06 01 00\r
+T 05 26 00 00\r
+R 00 00 01 00\r
+T 05 26 00 00\r
+R 00 00 01 00\r
+T 05 26 00 00 7E FE 03 CA 3A 27 00 00 FD 6E 4A\r
+R 00 00 01 00 00 08 01 00\r
+T 0E 26 00 00 FD 66 4B 23 7E FE 03 CA\r
+R 00 00 01 00\r
+T 16 26 00 00 3A 27 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 18 26 00 00\r
+R 00 00 01 00\r
+T 18 26 00 00\r
+R 00 00 01 00\r
+T 18 26 00 00\r
+R 00 00 01 00\r
+T 18 26 00 00 FD 36 01 04 FD 5E 02 CD\r
+R 00 00 01 00\r
+T 20 26 00 00 00 00 00 00 07 00 26 3C 3D 3E 5B\r
+R 00 00 01 00 02 04 0A 00\r
+T 29 26 00 00 5D 7C 3A 27 00 00 18 27 00 00\r
+R 00 00 01 00 00 06 01 00 00 0A 01 00\r
+T 2F 26 00 00 DC 26 00 00 B9 26 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T 33 26 00 00 96 26 00 00 3B 26 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T 37 26 00 00 79 26 00 00 00 27 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T 3B 26 00 00\r
+R 00 00 01 00\r
+T 3B 26 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E\r
+R 00 00 01 00\r
+T 46 26 00 00 23 46 23 5E 23 56 D5 C5 FD 6E 48\r
+R 00 00 01 00\r
+T 51 26 00 00 FD 66 49 01 24 00 09 4E 23 46 23\r
+R 00 00 01 00\r
+T 5C 26 00 00 5E 23 56 69 60 C1 A7 ED 42 C1 20\r
+R 00 00 01 00\r
+T 67 26 00 00 0B EB ED 42 20 06 4D 44 23 C3\r
+R 00 00 01 00\r
+T 71 26 00 00 2E 27 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 73 26 00 00\r
+R 00 00 01 00\r
+T 73 26 00 00 01 00 00 C3 FC 26 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T 79 26 00 00\r
+R 00 00 01 00\r
+T 79 26 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E\r
+R 00 00 01 00\r
+T 84 26 00 00 23 46 23 5E 23 56 D5 C5 CD\r
+R 00 00 01 00\r
+T 8D 26 00 00 08 2A 00 00 01 00 00 30 68 18 61\r
+R 00 00 01 00 00 04 01 00\r
+T 96 26 00 00\r
+R 00 00 01 00\r
+T 96 26 00 00 FD 6E 48 FD 66 49 01 24 00 09 4E\r
+R 00 00 01 00\r
+T A1 26 00 00 23 46 23 5E 23 56 D5 C5 FD 6E 4A\r
+R 00 00 01 00\r
+T AC 26 00 00 FD 66 4B CD 0E 2A 00 00 01 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T B5 26 00 00 30 45 18 3E\r
+R 00 00 01 00\r
+T B9 26 00 00\r
+R 00 00 01 00\r
+T B9 26 00 00 FD 6E 48 FD 66 49 01 24 00 09 4E\r
+R 00 00 01 00\r
+T C4 26 00 00 23 46 23 5E 23 56 D5 C5 FD 6E 4A\r
+R 00 00 01 00\r
+T CF 26 00 00 FD 66 4B CD 0E 2A 00 00 01 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T D8 26 00 00 38 22 18 1B\r
+R 00 00 01 00\r
+T DC 26 00 00\r
+R 00 00 01 00\r
+T DC 26 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E\r
+R 00 00 01 00\r
+T E7 26 00 00 23 46 23 5E 23 56 D5 C5 CD\r
+R 00 00 01 00\r
+T F0 26 00 00 08 2A 00 00 01 00 00 38 05\r
+R 00 00 01 00 00 04 01 00\r
+T F7 26 00 00\r
+R 00 00 01 00\r
+T F7 26 00 00 21 01 00 18 32\r
+R 00 00 01 00\r
+T FC 26 00 00\r
+R 00 00 01 00\r
+T FC 26 00 00 69 60 18 2E\r
+R 00 00 01 00\r
+T 00 27 00 00\r
+R 00 00 01 00\r
+T 00 27 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E\r
+R 00 00 01 00\r
+T 0B 27 00 00 23 46 23 5E 23 56 D5 C5 CD\r
+R 00 00 01 00\r
+T 14 27 00 00 1D 2A 00 00 18 16\r
+R 00 00 01 00 00 04 01 00\r
+T 18 27 00 00\r
+R 00 00 01 00\r
+T 18 27 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E\r
+R 00 00 01 00\r
+T 23 27 00 00 23 46 23 5E 23 56 D5 C5 CD\r
+R 00 00 01 00\r
+T 2C 27 00 00 32 2A 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 2E 27 00 00\r
+R 00 00 01 00\r
+T 2E 27 00 00 FD 75 24 FD 74 25 FD 71 26 FD 70\r
+R 00 00 01 00\r
+T 39 27 00 00 27\r
+R 00 00 01 00\r
+T 3A 27 00 00\r
+R 00 00 01 00\r
+T 3A 27 00 00\r
+R 00 00 01 00\r
+T 3A 27 00 00 FD 6E 48 FD 66 49 23 7E FE 03 C2\r
+R 00 00 01 00\r
+T 45 27 00 00 34 28 00 00 FD 6E 4A FD 66 4B 23\r
+R 00 00 01 00 00 04 01 00\r
+T 4E 27 00 00 7E FE 03 C2 34 28 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T 54 27 00 00\r
+R 00 00 01 00\r
+T 54 27 00 00\r
+R 00 00 01 00\r
+T 54 27 00 00\r
+R 00 00 01 00\r
+T 54 27 00 00 FD 6E 4A FD 66 4B 01 28 00 09 4D\r
+R 00 00 01 00\r
+T 5F 27 00 00 44 FD 6E 48 FD 66 49 11 28 00 19\r
+R 00 00 01 00\r
+T 6A 27 00 00 EB 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 06 0C 00 02 0B 0C 00\r
+T 70 27 00 00 CD 00 00 00 00 FD 5E 02 CD\r
+R 00 00 01 00 02 05 0E 00\r
+T 77 27 00 00 00 00 00 00 06 00 2B 3C 3D 3E 5B\r
+R 00 00 01 00 02 04 0A 00\r
+T 80 27 00 00 5D 34 28 00 00 DF 27 00 00\r
+R 00 00 01 00 00 05 01 00 00 09 01 00\r
+T 85 27 00 00 C6 27 00 00 AD 27 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T 89 27 00 00 8F 27 00 00 A0 27 00 00\r
+R 00 00 01 00 00 04 01 00 00 08 01 00\r
+T 8D 27 00 00 FF 27 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 8F 27 00 00\r
+R 00 00 01 00\r
+T 8F 27 00 00 FD 36 01 04 7D B4 20 04 4F 47 18\r
+R 00 00 01 00\r
+T 9A 27 00 00 4F\r
+R 00 00 01 00\r
+T 9B 27 00 00\r
+R 00 00 01 00\r
+T 9B 27 00 00 01 00 00 18 4F\r
+R 00 00 01 00\r
+T A0 27 00 00\r
+R 00 00 01 00\r
+T A0 27 00 00 FD 36 01 04 CB 7C 01 00 00 28 44\r
+R 00 00 01 00\r
+T AB 27 00 00 18 3D\r
+R 00 00 01 00\r
+T AD 27 00 00\r
+R 00 00 01 00\r
+T AD 27 00 00 FD 36 01 04 4D 44 21 00 00 F6 80\r
+R 00 00 01 00\r
+T B8 27 00 00 ED 42 E2 BE 27 00 00 AC\r
+R 00 00 01 00 00 07 01 00\r
+T BE 27 00 00\r
+R 00 00 01 00\r
+T BE 27 00 00 01 00 00 F2 EF 27 00 00 18 24\r
+R 00 00 01 00 00 08 01 00\r
+T C6 27 00 00\r
+R 00 00 01 00\r
+T C6 27 00 00 FD 36 01 04 4D 44 21 00 00 F6 80\r
+R 00 00 01 00\r
+T D1 27 00 00 ED 42 E2 D7 27 00 00 AC\r
+R 00 00 01 00 00 07 01 00\r
+T D7 27 00 00\r
+R 00 00 01 00\r
+T D7 27 00 00 01 00 00 FA EF 27 00 00 18 0B\r
+R 00 00 01 00 00 08 01 00\r
+T DF 27 00 00\r
+R 00 00 01 00\r
+T DF 27 00 00 FD 36 01 04 CB 7C 01 00 00 20 05\r
+R 00 00 01 00\r
+T EA 27 00 00\r
+R 00 00 01 00\r
+T EA 27 00 00 21 01 00 18 02\r
+R 00 00 01 00\r
+T EF 27 00 00\r
+R 00 00 01 00\r
+T EF 27 00 00 69 60\r
+R 00 00 01 00\r
+T F1 27 00 00\r
+R 00 00 01 00\r
+T F1 27 00 00 FD 75 24 FD 74 25 FD 71 26 FD 70\r
+R 00 00 01 00\r
+T FC 27 00 00 27 18 35\r
+R 00 00 01 00\r
+T FF 27 00 00\r
+R 00 00 01 00\r
+T FF 27 00 00 FD 36 01 03 FD 6E 48 FD 66 49 01\r
+R 00 00 01 00\r
+T 0A 28 00 00 28 00 09 4D 44 21 28 00 FD E5 D1\r
+R 00 00 01 00\r
+T 15 28 00 00 CD AB 04 00 00 FD 6E 4A FD 66 4B\r
+R 00 00 01 00 00 05 01 00\r
+T 1E 28 00 00 01 28 00 09 4D 44 21 28 00 FD E5\r
+R 00 00 01 00\r
+T 29 28 00 00 D1 19 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 08 06 00\r
+T 2F 28 00 00 00 00 00 00 CD 00 00 00 00\r
+R 00 00 01 00 02 04 06 00 02 09 0E 00\r
+T 34 28 00 00\r
+R 00 00 01 00\r
+T 34 28 00 00\r
+R 00 00 01 00\r
+T 34 28 00 00 FD 6E 48 FD 66 49 23 7E FE 04 C2\r
+R 00 00 01 00\r
+T 3F 28 00 00 05 2A 00 00 FD 6E 4A FD 66 4B 23\r
+R 00 00 01 00 00 04 01 00\r
+T 48 28 00 00 7E FE 04 C2 05 2A 00 00\r
+R 00 00 01 00 00 08 01 00\r
+T 4E 28 00 00\r
+R 00 00 01 00\r
+T 4E 28 00 00\r
+R 00 00 01 00\r
+T 4E 28 00 00\r
+R 00 00 01 00\r
+T 4E 28 00 00 FD 36 01 04 FD 7E 02 FE 26 20 19\r
+R 00 00 01 00\r
+T 59 28 00 00\r
+R 00 00 01 00\r
+T 59 28 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E\r
+R 00 00 01 00\r
+T 64 28 00 00 23 46 23 5E 23 56 D5 C5 CD\r
+R 00 00 01 00\r
+T 6D 28 00 00 1D 2A 00 00 C3 AC 29 00 00\r
+R 00 00 01 00 00 04 01 00 00 09 01 00\r
+T 72 28 00 00\r
+R 00 00 01 00\r
+T 72 28 00 00 FE 7C C2 05 2A 00 00 FD 6E 4A FD\r
+R 00 00 01 00 00 07 01 00\r
+T 7B 28 00 00 66 4B 01 24 00 09 4E 23 46 23 5E\r
+R 00 00 01 00\r
+T 86 28 00 00 23 56 D5 C5 CD 32 2A 00 00 C3\r
+R 00 00 01 00 00 09 01 00\r
+T 8E 28 00 00 AC 29 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 90 28 00 00\r
+R 00 00 01 00\r
+T 90 28 00 00\r
+R 00 00 01 00\r
+T 90 28 00 00\r
+R 00 00 01 00\r
+T 90 28 00 00\r
+R 00 00 01 00\r
+T 90 28 00 00 DD 36 FC FF DD 36 FD FF 79 B0 28\r
+R 00 00 01 00\r
+T 9B 28 00 00 79\r
+R 00 00 01 00\r
+T 9C 28 00 00\r
+R 00 00 01 00\r
+T 9C 28 00 00 69 60 7E 23 66 6F 46 DD 70 FA 23\r
+R 00 00 01 00\r
+T A7 28 00 00 66 DD 74 FB AF DD 77 F8 DD 77 F9\r
+R 00 00 01 00\r
+T B2 28 00 00\r
+R 00 00 01 00\r
+T B2 28 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66\r
+R 00 00 01 00\r
+T BD 28 00 00 F9 F6 80 ED 42 E2 C6 28 00 00 AC\r
+R 00 00 01 00 00 0A 01 00\r
+T C6 28 00 00\r
+R 00 00 01 00\r
+T C6 28 00 00 F2 15 29 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T C9 28 00 00\r
+R 00 00 01 00\r
+T C9 28 00 00 21 04 00 FD E5 C1 09 4D 44 DD 6E\r
+R 00 00 01 00\r
+T D4 28 00 00 FE DD 66 FF 56 23 66 6A 23 23 56\r
+R 00 00 01 00\r
+T DF 28 00 00 23 66 6A E5 DD 6E F8 DD 66 F9 29\r
+R 00 00 01 00\r
+T EA 28 00 00 29 5D 54 29 19 EB E1 19 EB 3E\r
+R 00 00 01 00\r
+T F4 28 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 0C 00 02 09 0C 00\r
+T F9 28 00 00 00 00 00 00 7D B4 20 0C\r
+R 00 00 01 00 02 04 0E 00\r
+T FF 28 00 00\r
+R 00 00 01 00\r
+T FF 28 00 00 DD 6E F8 DD 66 F9 DD 75 FC DD 74\r
+R 00 00 01 00\r
+T 0A 29 00 00 FD\r
+R 00 00 01 00\r
+T 0B 29 00 00\r
+R 00 00 01 00\r
+T 0B 29 00 00 DD 34 F8 20 A2 DD 34 F9 18 9D\r
+R 00 00 01 00\r
+T 15 29 00 00\r
+R 00 00 01 00\r
+T 15 29 00 00\r
+R 00 00 01 00\r
+T 15 29 00 00 DD CB FD 7E 20 08 DD 7E FE DD B6\r
+R 00 00 01 00\r
+T 20 29 00 00 FF 20 47\r
+R 00 00 01 00\r
+T 23 29 00 00\r
+R 00 00 01 00\r
+T 23 29 00 00\r
+R 00 00 01 00\r
+T 23 29 00 00\r
+R 00 00 01 00\r
+T 23 29 00 00 FD 7E 04 FE 27 20 2A\r
+R 00 00 01 00\r
+T 2A 29 00 00\r
+R 00 00 01 00\r
+T 2A 29 00 00 FD 36 01 03 21 04 00 FD E5 C1 09\r
+R 00 00 01 00\r
+T 35 29 00 00 4D 44 03 21 28 00 FD E5 D1 CD\r
+R 00 00 01 00\r
+T 3F 29 00 00 AB 04 00 00 21 28 00 FD E5 C1 09\r
+R 00 00 01 00 00 04 01 00\r
+T 48 29 00 00 CD 97 04 00 00 09 01 27 00 09 70\r
+R 00 00 01 00 00 05 01 00\r
+T 51 29 00 00 C3 05 2A 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 54 29 00 00\r
+R 00 00 01 00\r
+T 54 29 00 00 FD 36 01 01 21 04 00 FD E5 C1 09\r
+R 00 00 01 00\r
+T 5F 29 00 00 EB 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 06 16 00 02 0B 16 00\r
+T 65 29 00 00 CD 00 00 00 00 18 42\r
+R 00 00 01 00 02 05 0E 00\r
+T 6A 29 00 00\r
+R 00 00 01 00\r
+T 6A 29 00 00\r
+R 00 00 01 00\r
+T 6A 29 00 00 DD 6E FE DD 66 FF 46 23 66 68 23\r
+R 00 00 01 00\r
+T 75 29 00 00 23 46 23 66 68 E5 DD 6E FC DD 66\r
+R 00 00 01 00\r
+T 80 29 00 00 FD 29 29 4D 44 29 09 4D 44 E1 09\r
+R 00 00 01 00\r
+T 8B 29 00 00 01 09 00 09 7E FE 49 20 26\r
+R 00 00 01 00\r
+T 94 29 00 00\r
+R 00 00 01 00\r
+T 94 29 00 00 FD 36 01 01 DD 4E FC DD 46 FD DD\r
+R 00 00 01 00\r
+T 9F 29 00 00 5E FE DD 56 FF 3E FD 1E 00 00 21\r
+R 00 00 01 00 29 0A 01 00\r
+T A7 29 00 00 FD 1E 00 00 CD 00 00 00 00\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T AC 29 00 00\r
+R 00 00 01 00\r
+T AC 29 00 00 FD 75 24 FD 74 25 FD 71 26 FD 70\r
+R 00 00 01 00\r
+T B7 29 00 00 27 18 4B\r
+R 00 00 01 00\r
+T BA 29 00 00\r
+R 00 00 01 00\r
+T BA 29 00 00 DD 6E FE DD 66 FF 46 23 66 68 23\r
+R 00 00 01 00\r
+T C5 29 00 00 23 46 23 66 68 E5 DD 6E FC DD 66\r
+R 00 00 01 00\r
+T D0 29 00 00 FD 29 29 4D 44 29 09 4D 44 E1 09\r
+R 00 00 01 00\r
+T DB 29 00 00 01 09 00 09 7E FE 53 20 21\r
+R 00 00 01 00\r
+T E4 29 00 00\r
+R 00 00 01 00\r
+T E4 29 00 00 FD 36 01 03 21 28 00 FD E5 C1 09\r
+R 00 00 01 00\r
+T EF 29 00 00 E5 DD 4E FC DD 46 FD DD 5E FE DD\r
+R 00 00 01 00\r
+T FA 29 00 00 56 FF 3E 71 1D 00 00 21\r
+R 00 00 01 00 29 07 01 00\r
+T FF 29 00 00 71 1D 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 00 04 01 00 02 09 0E 00\r
+T 05 2A 00 00\r
+R 00 00 01 00\r
+T 05 2A 00 00\r
+R 00 00 01 00\r
+T 05 2A 00 00\r
+R 00 00 01 00\r
+T 05 2A 00 00\r
+R 00 00 01 00\r
+T 05 2A 00 00 C3 7B 04 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 08 2A 00 00\r
+R 00 00 01 00\r
+T 08 2A 00 00 FD 6E 48 FD 66 49\r
+R 00 00 01 00\r
+T 0E 2A 00 00\r
+R 00 00 01 00\r
+T 0E 2A 00 00 01 24 00 09 5E 23 56 23 4E 23 46\r
+R 00 00 01 00\r
+T 19 2A 00 00 EB C3 00 00 00 00\r
+R 00 00 01 00 02 06 10 00\r
+T 1D 2A 00 00\r
+R 00 00 01 00\r
+T 1D 2A 00 00 FD 6E 48 FD 66 49 01 24 00 09 5E\r
+R 00 00 01 00\r
+T 28 2A 00 00 23 56 23 4E 23 46 EB C3\r
+R 00 00 01 00\r
+T 30 2A 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 11 00\r
+T 32 2A 00 00\r
+R 00 00 01 00\r
+T 32 2A 00 00 FD 6E 48 FD 66 49 01 24 00 09 5E\r
+R 00 00 01 00\r
+T 3D 2A 00 00 23 56 23 4E 23 46 EB C3\r
+R 00 00 01 00\r
+T 45 2A 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 00 00 00 00\r
+R 00 00 02 00\r
+T 00 00 00 00 53 45 4C 00\r
+R 00 00 02 00\r
+T 04 00 00 00\r
+R 00 00 02 00\r
+T 04 00 00 00 49 4E 53 00\r
+R 00 00 02 00\r
+T 08 00 00 00\r
+R 00 00 02 00\r
+T 08 00 00 00 55 50 44 00\r
+R 00 00 02 00\r
+T 0C 00 00 00\r
+R 00 00 02 00\r
+T 0C 00 00 00 44 45 4C 00\r
+R 00 00 02 00\r
+T 10 00 00 00\r
+R 00 00 02 00\r
+T 10 00 00 00 20 46 52 20 00\r
+R 00 00 02 00\r
+T 15 00 00 00\r
+R 00 00 02 00\r
+T 15 00 00 00 20 57 48 00\r
+R 00 00 02 00\r
+T 19 00 00 00\r
+R 00 00 02 00\r
+T 19 00 00 00 20 4F 52 44 20 00\r
+R 00 00 02 00\r
+T 1F 00 00 00\r
+R 00 00 02 00\r
+T 1F 00 00 00 28 00\r
+R 00 00 02 00\r
+T 21 00 00 00\r
+R 00 00 02 00\r
+T 21 00 00 00 29 20 56 41 4C 28 00\r
+R 00 00 02 00\r
+T 28 00 00 00\r
+R 00 00 02 00\r
+T 28 00 00 00 20 53 54 20 00\r
+R 00 00 02 00\r
+T 2D 00 00 00\r
+R 00 00 02 00\r
+T 2D 00 00 00 2F 75 73 72 2F 64 62 2F 00\r
+R 00 00 02 00\r
+T 36 00 00 00\r
+R 00 00 02 00\r
+T 36 00 00 00 2E 54 42 4C 00\r
+R 00 00 02 00\r
+T 3B 00 00 00\r
+R 00 00 02 00\r
+T 3B 00 00 00 72 62 00\r
+R 00 00 02 00\r
+T 3E 00 00 00\r
+R 00 00 02 00\r
+T 3E 00 00 00 2E 44 41 54 00\r
+R 00 00 02 00\r
+T 43 00 00 00\r
+R 00 00 02 00\r
+T 43 00 00 00 72 2B 62 00\r
+R 00 00 02 00\r
+T 47 00 00 00\r
+R 00 00 02 00\r
+T 47 00 00 00 22 2A 22 00\r
+R 00 00 02 00\r
+T 4B 00 00 00\r
+R 00 00 02 00\r
+T 4B 00 00 00 72 65 73 75 6C 74 00\r
+R 00 00 02 00\r
+T 52 00 00 00\r
+R 00 00 02 00\r
+T 52 00 00 00 77 62 00\r
+R 00 00 02 00\r
diff --git a/src/db/db.rst b/src/db/db.rst
new file mode 100644 (file)
index 0000000..ce9ceae
--- /dev/null
@@ -0,0 +1,6551 @@
+                                      1        NAME    db(17)\r
+                                      2        RSEG    CODE(0)\r
+                                      3        RSEG    CSTR(0)\r
+                                      4        EXTERN  __fopen\r
+                                      5        EXTERN  atoi\r
+                                      6        EXTERN  atol\r
+                                      7        PUBLIC  dbDeleteExpression\r
+                                      8        PUBLIC  dbDeleteList\r
+                                      9        PUBLIC  dbDeleteRow\r
+                                     10        PUBLIC  dbEvaluateExpression\r
+                                     11        PUBLIC  dbExecuteDelete\r
+                                     12        PUBLIC  dbExecuteInsert\r
+                                     13        PUBLIC  dbExecuteQuery\r
+                                     14        PUBLIC  dbExecuteStatement\r
+                                     15        PUBLIC  dbExecuteUpdate\r
+                                     16        PUBLIC  dbFieldOffset\r
+                                     17        PUBLIC  dbFieldSearch\r
+                                     18        PUBLIC  dbGetInt\r
+                                     19        PUBLIC  dbGetLong\r
+                                     20        PUBLIC  dbGetString\r
+                                     21        PUBLIC  dbListIndex\r
+                                     22        PUBLIC  dbListSize\r
+                                     23        PUBLIC  dbNewExpression\r
+                                     24        PUBLIC  dbNewRow\r
+                                     25        PUBLIC  dbNextRow\r
+                                     26        PUBLIC  dbOperatorPrecedence\r
+                                     27        PUBLIC  dbParseDelete\r
+                                     28        PUBLIC  dbParseExpression\r
+                                     29        PUBLIC  dbParseInsert\r
+                                     30        PUBLIC  dbParseList\r
+                                     31        PUBLIC  dbParseSelect\r
+                                     32        PUBLIC  dbParseStatement\r
+                                     33        PUBLIC  dbParseUpdate\r
+                                     34        PUBLIC  dbRecordSize\r
+                                     35        PUBLIC  dbReplaceChar\r
+                                     36        PUBLIC  dbResultSetClose\r
+                                     37        PUBLIC  dbSkipLiteral\r
+                                     38        PUBLIC  dbStatementClose\r
+                                     39        PUBLIC  dbTableClose\r
+                                     40        PUBLIC  dbTableOpen\r
+                                     41        PUBLIC  dbTrimString\r
+                                     42        EXTERN  fclose\r
+                                     43        EXTERN  fread\r
+                                     44        EXTERN  free\r
+                                     45        EXTERN  fseek\r
+                                     46        EXTERN  fwrite\r
+                                     47        EXTERN  itoa\r
+                                     48        EXTERN  ltoa\r
+                                     49        EXTERN  malloc\r
+                                     50        EXTERN  memcpy\r
+                                     51        EXTERN  strcat\r
+                                     52        EXTERN  strcmp\r
+                                     53        EXTERN  strcpy\r
+                                     54        EXTERN  strlen\r
+                                     55        EXTERN  strncmp\r
+                                     56        EXTERN  ?CL64180B_4_06_L00\r
+                                     57        EXTERN  ?L_MUL_L03\r
+                                     58        EXTERN  ?SL_DIV_L03\r
+                                     59        EXTERN  ?L_AND_L03\r
+                                     60        EXTERN  ?L_OR_L03\r
+                                     61        EXTERN  ?SL_CMP_L03\r
+                                     62        EXTERN  ?C_V_SWITCH_L06\r
+                                     63        EXTERN  ?BANK_CALL_DIRECT_L08\r
+                                     64        EXTERN  ?BANK_FAST_LEAVE_L08\r
+                                     65        RSEG    CODE\r
+    00004555                         66 dbDeleteList:\r
+    00004555 DD E5                   67        PUSH    IX\r
+    00004557 D5                      68        PUSH    DE\r
+    00004558 DD E1                   69        POP     IX\r
+    0000455A 7B                      70        LD      A,E\r
+    0000455B B2                      71        OR      D\r
+    0000455C 28 27                   72        JR      Z,?0001\r
+    0000455E                         73 ?0000:\r
+    0000455E DD 7E 04                74        LD      A,(IX+4)\r
+    00004561 DD B6 05                75        OR      (IX+5)\r
+    00004564 28 03                   76        JR      Z,?0003\r
+    00004566                         77 ?0002:\r
+    00004566 CD 8A 45                78        CALL    LWRD ?0638\r
+    00004569                         79 ?0003:\r
+    00004569 DD 7E 02                80        LD      A,(IX+2)\r
+    0000456C DD B6 03                81        OR      (IX+3)\r
+    0000456F 28 0E                   82        JR      Z,?0005\r
+    00004571                         83 ?0004:\r
+    00004571 DD 5E 02                84        LD      E,(IX+2)\r
+    00004574 DD 56 03                85        LD      D,(IX+3)\r
+    00004577 3E 00                   86        LD      A,BYTE3 dbDeleteList\r
+    00004579 21 55 45                87        LD      HL,LWRD dbDeleteList\r
+    0000457C CD 19 82                88        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000457F                         89 ?0005:\r
+    0000457F DD E5                   90        PUSH    IX\r
+    00004581 D1                      91        POP     DE\r
+    00004582 CD 90 45                92        CALL    LWRD ?0639\r
+    00004585                         93 ?0001:\r
+    00004585 DD E1                   94        POP     IX\r
+    00004587 C3 A9 81                95        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000458A                         96 ?0638:\r
+    0000458A DD 5E 04                97        LD      E,(IX+4)\r
+    0000458D DD 56 05                98        LD      D,(IX+5)\r
+    00004590                         99 ?0639:\r
+    00004590 3E 00                  100        LD      A,BYTE3 free\r
+    00004592 21 3C 7E               101        LD      HL,LWRD free\r
+    00004595 C3 19 82               102        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004598                        103 dbListIndex:\r
+    00004598 C5                     104        PUSH    BC\r
+    00004599 FD E5                  105        PUSH    IY\r
+    0000459B DD E5                  106        PUSH    IX\r
+    0000459D D5                     107        PUSH    DE\r
+    0000459E 6B                     108        LD      L,E\r
+    0000459F 62                     109        LD      H,D\r
+    000045A0 E5                     110        PUSH    HL\r
+    000045A1 DD E1                  111        POP     IX\r
+    000045A3 FD 21 00 00            112        LD      IY,0\r
+    000045A7                        113 ?0007:\r
+    000045A7 DD 7E 00               114        LD      A,(IX+0)\r
+    000045AA DD B6 01               115        OR      (IX+1)\r
+    000045AD 28 0D                  116        JR      Z,?0006\r
+    000045AF                        117 ?0008:\r
+    000045AF DD 6E 00               118        LD      L,(IX+0)\r
+    000045B2 DD 66 01               119        LD      H,(IX+1)\r
+    000045B5 E5                     120        PUSH    HL\r
+    000045B6 DD E1                  121        POP     IX\r
+    000045B8 FD 23                  122        INC     IY\r
+    000045BA 18 EB                  123        JR      ?0007\r
+    000045BC                        124 ?0006:\r
+    000045BC FD E5                  125        PUSH    IY\r
+    000045BE E1                     126        POP     HL\r
+    000045BF F1                     127        POP     AF\r
+    000045C0                        128 ?0614:\r
+    000045C0 DD E1                  129        POP     IX\r
+    000045C2 FD E1                  130        POP     IY\r
+    000045C4 C1                     131        POP     BC\r
+    000045C5 C3 A9 81               132        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000045C8                        133 dbListSize:\r
+    000045C8 C5                     134        PUSH    BC\r
+    000045C9 FD E5                  135        PUSH    IY\r
+    000045CB DD E5                  136        PUSH    IX\r
+    000045CD D5                     137        PUSH    DE\r
+    000045CE 6B                     138        LD      L,E\r
+    000045CF 62                     139        LD      H,D\r
+    000045D0 E5                     140        PUSH    HL\r
+    000045D1 DD E1                  141        POP     IX\r
+    000045D3 EB                     142        EX      DE,HL\r
+    000045D4 3E 00                  143        LD      A,BYTE3 dbListIndex\r
+    000045D6 21 98 45               144        LD      HL,LWRD dbListIndex\r
+    000045D9 CD 19 82               145        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000045DC 23                     146        INC     HL\r
+    000045DD E5                     147        PUSH    HL\r
+    000045DE FD E1                  148        POP     IY\r
+    000045E0                        149 ?0010:\r
+    000045E0 DD 7E 02               150        LD      A,(IX+2)\r
+    000045E3 DD B6 03               151        OR      (IX+3)\r
+    000045E6 28 0D                  152        JR      Z,?0009\r
+    000045E8                        153 ?0011:\r
+    000045E8 DD 6E 02               154        LD      L,(IX+2)\r
+    000045EB DD 66 03               155        LD      H,(IX+3)\r
+    000045EE E5                     156        PUSH    HL\r
+    000045EF DD E1                  157        POP     IX\r
+    000045F1 FD 23                  158        INC     IY\r
+    000045F3 18 EB                  159        JR      ?0010\r
+    000045F5                        160 ?0009:\r
+    000045F5 C3 BC 45               161        JP      LWRD ?0006\r
+    000045F8                        162 dbSkipLiteral:\r
+    000045F8 FD E5                  163        PUSH    IY\r
+    000045FA DD E5                  164        PUSH    IX\r
+    000045FC D5                     165        PUSH    DE\r
+    000045FD C5                     166        PUSH    BC\r
+    000045FE DD E1                  167        POP     IX\r
+    00004600 21 0A 00               168        LD      HL,10\r
+    00004603 39                     169        ADD     HL,SP\r
+    00004604 5E                     170        LD      E,(HL)\r
+    00004605 23                     171        INC     HL\r
+    00004606 56                     172        LD      D,(HL)\r
+    00004607 D5                     173        PUSH    DE\r
+    00004608 FD E1                  174        POP     IY\r
+    0000460A FD 6E 00               175        LD      L,(IY+0)\r
+    0000460D FD 66 01               176        LD      H,(IY+1)\r
+    00004610 09                     177        ADD     HL,BC\r
+    00004611 56                     178        LD      D,(HL)\r
+    00004612 21 0C 00               179        LD      HL,12\r
+    00004615 39                     180        ADD     HL,SP\r
+    00004616 7E                     181        LD      A,(HL)\r
+    00004617 23                     182        INC     HL\r
+    00004618 66                     183        LD      H,(HL)\r
+    00004619 6F                     184        LD      L,A\r
+    0000461A 5E                     185        LD      E,(HL)\r
+    0000461B 23                     186        INC     HL\r
+    0000461C 66                     187        LD      H,(HL)\r
+    0000461D 6B                     188        LD      L,E\r
+    0000461E 09                     189        ADD     HL,BC\r
+    0000461F                        190 ?0458:\r
+    0000461F 72                     191        LD      (HL),D\r
+    00004620                        192 ?0013:\r
+    00004620 FD E5                  193        PUSH    IY\r
+    00004622 E1                     194        POP     HL\r
+    00004623 4E                     195        LD      C,(HL)\r
+    00004624 23                     196        INC     HL\r
+    00004625 46                     197        LD      B,(HL)\r
+    00004626 03                     198        INC     BC\r
+    00004627 70                     199        LD      (HL),B\r
+    00004628 2B                     200        DEC     HL\r
+    00004629 71                     201        LD      (HL),C\r
+    0000462A DD E5                  202        PUSH    IX\r
+    0000462C E1                     203        POP     HL\r
+    0000462D 09                     204        ADD     HL,BC\r
+    0000462E 7E                     205        LD      A,(HL)\r
+    0000462F 21 00 00               206        LD      HL,0\r
+    00004632 39                     207        ADD     HL,SP\r
+    00004633 BE                     208        CP      (HL)\r
+    00004634 FD 6E 00               209        LD      L,(IY+0)\r
+    00004637 FD 66 01               210        LD      H,(IY+1)\r
+    0000463A DD E5                  211        PUSH    IX\r
+    0000463C C1                     212        POP     BC\r
+    0000463D 09                     213        ADD     HL,BC\r
+    0000463E 56                     214        LD      D,(HL)\r
+    0000463F D5                     215        PUSH    DE\r
+    00004640 21 0E 00               216        LD      HL,14\r
+    00004643 39                     217        ADD     HL,SP\r
+    00004644 7E                     218        LD      A,(HL)\r
+    00004645 23                     219        INC     HL\r
+    00004646 66                     220        LD      H,(HL)\r
+    00004647 6F                     221        LD      L,A\r
+    00004648 5E                     222        LD      E,(HL)\r
+    00004649 23                     223        INC     HL\r
+    0000464A 56                     224        LD      D,(HL)\r
+    0000464B 13                     225        INC     DE\r
+    0000464C 72                     226        LD      (HL),D\r
+    0000464D 2B                     227        DEC     HL\r
+    0000464E 73                     228        LD      (HL),E\r
+    0000464F 69                     229        LD      L,C\r
+    00004650 60                     230        LD      H,B\r
+    00004651 19                     231        ADD     HL,DE\r
+    00004652 D1                     232        POP     DE\r
+    00004653 20 CA                  233        JR      NZ,?0458\r
+    00004655                        234 ?0014:\r
+    00004655                        235 ?0012:\r
+    00004655 72                     236        LD      (HL),D\r
+    00004656                        237 ?0625:\r
+    00004656 E1                     238        POP     HL\r
+    00004657 DD E1                  239        POP     IX\r
+    00004659 FD E1                  240        POP     IY\r
+    0000465B C3 A9 81               241        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000465E                        242 dbTrimString:\r
+    0000465E C5                     243        PUSH    BC\r
+    0000465F FD E5                  244        PUSH    IY\r
+    00004661 DD E5                  245        PUSH    IX\r
+    00004663 DD 21 00 00            246        LD      IX,0\r
+    00004667 DD 39                  247        ADD     IX,SP\r
+    00004669 F5                     248        PUSH    AF\r
+    0000466A F5                     249        PUSH    AF\r
+    0000466B F5                     250        PUSH    AF\r
+    0000466C D5                     251        PUSH    DE\r
+    0000466D FD E1                  252        POP     IY\r
+    0000466F AF                     253        XOR     A\r
+    00004670 DD 77 FA               254        LD      (IX-6),A\r
+    00004673 DD 77 FB               255        LD      (IX-5),A\r
+    00004676 DD 77 FC               256        LD      (IX-4),A\r
+    00004679 DD 77 FD               257        LD      (IX-3),A\r
+    0000467C DD 36 FE 20            258        LD      (IX-2),32\r
+    00004680                        259 ?0016:\r
+    00004680 DD 6E FA               260        LD      L,(IX-6)\r
+    00004683 DD 66 FB               261        LD      H,(IX-5)\r
+    00004686 FD E5                  262        PUSH    IY\r
+    00004688 C1                     263        POP     BC\r
+    00004689 09                     264        ADD     HL,BC\r
+    0000468A 7E                     265        LD      A,(HL)\r
+    0000468B B7                     266        OR      A\r
+    0000468C CA DE 47               267        JP      Z,?0015\r
+    0000468F                        268 ?0017:\r
+    0000468F DD 6E FA               269        LD      L,(IX-6)\r
+    00004692 DD 66 FB               270        LD      H,(IX-5)\r
+    00004695 09                     271        ADD     HL,BC\r
+    00004696 7E                     272        LD      A,(HL)\r
+    00004697 FE 27                  273        CP      39\r
+    00004699 28 0C                  274        JR      Z,?0020\r
+    0000469B DD 6E FA               275        LD      L,(IX-6)\r
+    0000469E DD 66 FB               276        LD      H,(IX-5)\r
+    000046A1 09                     277        ADD     HL,BC\r
+    000046A2 7E                     278        LD      A,(HL)\r
+    000046A3 FE 22                  279        CP      34\r
+    000046A5 20 1D                  280        JR      NZ,?0019\r
+    000046A7                        281 ?0020:\r
+    000046A7                        282 ?0021:\r
+    000046A7                        283 ?0018:\r
+    000046A7 21 02 00               284        LD      HL,2\r
+    000046AA 39                     285        ADD     HL,SP\r
+    000046AB E5                     286        PUSH    HL\r
+    000046AC 2B                     287        DEC     HL\r
+    000046AD 2B                     288        DEC     HL\r
+    000046AE E5                     289        PUSH    HL\r
+    000046AF DD 6E FA               290        LD      L,(IX-6)\r
+    000046B2 DD 66 FB               291        LD      H,(IX-5)\r
+    000046B5 FD E5                  292        PUSH    IY\r
+    000046B7 D1                     293        POP     DE\r
+    000046B8 19                     294        ADD     HL,DE\r
+    000046B9 5E                     295        LD      E,(HL)\r
+    000046BA 3E 00                  296        LD      A,BYTE3 dbSkipLiteral\r
+    000046BC 21 F8 45               297        LD      HL,LWRD dbSkipLiteral\r
+    000046BF CD 19 82               298        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000046C2 E1                     299        POP     HL\r
+    000046C3 E1                     300        POP     HL\r
+    000046C4                        301 ?0019:\r
+    000046C4 DD 7E FE               302        LD      A,(IX-2)\r
+    000046C7 FE 20                  303        CP      32\r
+    000046C9 C2 6D 47               304        JP      NZ,?0023\r
+    000046CC DD 6E FA               305        LD      L,(IX-6)\r
+    000046CF DD 66 FB               306        LD      H,(IX-5)\r
+    000046D2 FD E5                  307        PUSH    IY\r
+    000046D4 C1                     308        POP     BC\r
+    000046D5 09                     309        ADD     HL,BC\r
+    000046D6 7E                     310        LD      A,(HL)\r
+    000046D7 FE 2C                  311        CP      44\r
+    000046D9 CA 60 47               312        JP      Z,?0026\r
+    000046DC DD 6E FA               313        LD      L,(IX-6)\r
+    000046DF DD 66 FB               314        LD      H,(IX-5)\r
+    000046E2 09                     315        ADD     HL,BC\r
+    000046E3 7E                     316        LD      A,(HL)\r
+    000046E4 FE 29                  317        CP      41\r
+    000046E6 28 78                  318        JR      Z,?0026\r
+    000046E8 DD 6E FA               319        LD      L,(IX-6)\r
+    000046EB DD 66 FB               320        LD      H,(IX-5)\r
+    000046EE 09                     321        ADD     HL,BC\r
+    000046EF 7E                     322        LD      A,(HL)\r
+    000046F0 FE 28                  323        CP      40\r
+    000046F2 28 6C                  324        JR      Z,?0026\r
+    000046F4 DD 6E FA               325        LD      L,(IX-6)\r
+    000046F7 DD 66 FB               326        LD      H,(IX-5)\r
+    000046FA 09                     327        ADD     HL,BC\r
+    000046FB 7E                     328        LD      A,(HL)\r
+    000046FC FE 2B                  329        CP      43\r
+    000046FE 28 60                  330        JR      Z,?0026\r
+    00004700 DD 6E FA               331        LD      L,(IX-6)\r
+    00004703 DD 66 FB               332        LD      H,(IX-5)\r
+    00004706 09                     333        ADD     HL,BC\r
+    00004707 7E                     334        LD      A,(HL)\r
+    00004708 FE 2D                  335        CP      45\r
+    0000470A 28 54                  336        JR      Z,?0026\r
+    0000470C DD 6E FA               337        LD      L,(IX-6)\r
+    0000470F DD 66 FB               338        LD      H,(IX-5)\r
+    00004712 09                     339        ADD     HL,BC\r
+    00004713 7E                     340        LD      A,(HL)\r
+    00004714 FE 2A                  341        CP      42\r
+    00004716 28 48                  342        JR      Z,?0026\r
+    00004718 DD 6E FA               343        LD      L,(IX-6)\r
+    0000471B DD 66 FB               344        LD      H,(IX-5)\r
+    0000471E 09                     345        ADD     HL,BC\r
+    0000471F 7E                     346        LD      A,(HL)\r
+    00004720 FE 2F                  347        CP      47\r
+    00004722 28 3C                  348        JR      Z,?0026\r
+    00004724 DD 6E FA               349        LD      L,(IX-6)\r
+    00004727 DD 66 FB               350        LD      H,(IX-5)\r
+    0000472A 09                     351        ADD     HL,BC\r
+    0000472B 7E                     352        LD      A,(HL)\r
+    0000472C FE 26                  353        CP      38\r
+    0000472E 28 30                  354        JR      Z,?0026\r
+    00004730 DD 6E FA               355        LD      L,(IX-6)\r
+    00004733 DD 66 FB               356        LD      H,(IX-5)\r
+    00004736 09                     357        ADD     HL,BC\r
+    00004737 7E                     358        LD      A,(HL)\r
+    00004738 FE 7C                  359        CP      124\r
+    0000473A 28 24                  360        JR      Z,?0026\r
+    0000473C DD 6E FA               361        LD      L,(IX-6)\r
+    0000473F DD 66 FB               362        LD      H,(IX-5)\r
+    00004742 09                     363        ADD     HL,BC\r
+    00004743 7E                     364        LD      A,(HL)\r
+    00004744 FE 3D                  365        CP      61\r
+    00004746 28 18                  366        JR      Z,?0026\r
+    00004748 DD 6E FA               367        LD      L,(IX-6)\r
+    0000474B DD 66 FB               368        LD      H,(IX-5)\r
+    0000474E 09                     369        ADD     HL,BC\r
+    0000474F 7E                     370        LD      A,(HL)\r
+    00004750 FE 3C                  371        CP      60\r
+    00004752 28 0C                  372        JR      Z,?0026\r
+    00004754 DD 6E FA               373        LD      L,(IX-6)\r
+    00004757 DD 66 FB               374        LD      H,(IX-5)\r
+    0000475A 09                     375        ADD     HL,BC\r
+    0000475B 7E                     376        LD      A,(HL)\r
+    0000475C FE 3E                  377        CP      62\r
+    0000475E 20 0D                  378        JR      NZ,?0023\r
+    00004760                        379 ?0026:\r
+    00004760                        380 ?0027:\r
+    00004760                        381 ?0025:\r
+    00004760                        382 ?0024:\r
+    00004760                        383 ?0022:\r
+    00004760 DD 6E FC               384        LD      L,(IX-4)\r
+    00004763 DD 66 FD               385        LD      H,(IX-3)\r
+    00004766 2B                     386        DEC     HL\r
+    00004767 DD 75 FC               387        LD      (IX-4),L\r
+    0000476A DD 74 FD               388        LD      (IX-3),H\r
+    0000476D                        389 ?0023:\r
+    0000476D DD 6E FA               390        LD      L,(IX-6)\r
+    00004770 DD 66 FB               391        LD      H,(IX-5)\r
+    00004773 FD E5                  392        PUSH    IY\r
+    00004775 C1                     393        POP     BC\r
+    00004776 09                     394        ADD     HL,BC\r
+    00004777 56                     395        LD      D,(HL)\r
+    00004778 DD 6E FC               396        LD      L,(IX-4)\r
+    0000477B DD 66 FD               397        LD      H,(IX-3)\r
+    0000477E 09                     398        ADD     HL,BC\r
+    0000477F 72                     399        LD      (HL),D\r
+    00004780 DD 7E FE               400        LD      A,(IX-2)\r
+    00004783 FE 2C                  401        CP      44\r
+    00004785 28 2C                  402        JR      Z,?0031\r
+    00004787 FE 20                  403        CP      32\r
+    00004789 28 28                  404        JR      Z,?0031\r
+    0000478B FE 28                  405        CP      40\r
+    0000478D 28 24                  406        JR      Z,?0031\r
+    0000478F FE 2B                  407        CP      43\r
+    00004791 28 20                  408        JR      Z,?0031\r
+    00004793 FE 2D                  409        CP      45\r
+    00004795 28 1C                  410        JR      Z,?0031\r
+    00004797 FE 2A                  411        CP      42\r
+    00004799 28 18                  412        JR      Z,?0031\r
+    0000479B FE 2F                  413        CP      47\r
+    0000479D 28 14                  414        JR      Z,?0031\r
+    0000479F FE 26                  415        CP      38\r
+    000047A1 28 10                  416        JR      Z,?0031\r
+    000047A3 FE 7C                  417        CP      124\r
+    000047A5 28 0C                  418        JR      Z,?0031\r
+    000047A7 FE 3D                  419        CP      61\r
+    000047A9 28 08                  420        JR      Z,?0031\r
+    000047AB FE 3E                  421        CP      62\r
+    000047AD 28 04                  422        JR      Z,?0031\r
+    000047AF FE 3C                  423        CP      60\r
+    000047B1 20 0C                  424        JR      NZ,?0032\r
+    000047B3                        425 ?0031:\r
+    000047B3                        426 ?0030:\r
+    000047B3 DD 6E FA               427        LD      L,(IX-6)\r
+    000047B6 DD 66 FB               428        LD      H,(IX-5)\r
+    000047B9 09                     429        ADD     HL,BC\r
+    000047BA 7E                     430        LD      A,(HL)\r
+    000047BB FE 20                  431        CP      32\r
+    000047BD 28 08                  432        JR      Z,?0459\r
+    000047BF                        433 ?0032:\r
+    000047BF                        434 ?0033:\r
+    000047BF                        435 ?0028:\r
+    000047BF DD 34 FC               436        INC     (IX-4)\r
+    000047C2 20 03                  437        JR      NZ,?0459\r
+    000047C4 DD 34 FD               438        INC     (IX-3)\r
+    000047C7                        439 ?0459:\r
+    000047C7                        440 ?0029:\r
+    000047C7 DD 6E FA               441        LD      L,(IX-6)\r
+    000047CA DD 66 FB               442        LD      H,(IX-5)\r
+    000047CD 09                     443        ADD     HL,BC\r
+    000047CE 46                     444        LD      B,(HL)\r
+    000047CF DD 70 FE               445        LD      (IX-2),B\r
+    000047D2 DD 34 FA               446        INC     (IX-6)\r
+    000047D5 C2 80 46               447        JP      NZ,?0016\r
+    000047D8 DD 34 FB               448        INC     (IX-5)\r
+    000047DB C3 80 46               449        JP      LWRD ?0016\r
+    000047DE                        450 ?0015:\r
+    000047DE DD 7E FE               451        LD      A,(IX-2)\r
+    000047E1 FE 20                  452        CP      32\r
+    000047E3 DD 6E FC               453        LD      L,(IX-4)\r
+    000047E6 DD 66 FD               454        LD      H,(IX-3)\r
+    000047E9 20 01                  455        JR      NZ,?0035\r
+    000047EB                        456 ?0034:\r
+    000047EB 2B                     457        DEC     HL\r
+    000047EC                        458 ?0035:\r
+    000047EC 09                     459        ADD     HL,BC\r
+    000047ED 36 00                  460        LD      (HL),0\r
+    000047EF                        461 ?0036:\r
+    000047EF DD F9                  462        LD      SP,IX\r
+    000047F1 C3 C0 45               463        JP      LWRD ?0614\r
+    000047F4                        464 dbReplaceChar:\r
+    000047F4 FD E5                  465        PUSH    IY\r
+    000047F6 DD E5                  466        PUSH    IX\r
+    000047F8 C5                     467        PUSH    BC\r
+    000047F9 D5                     468        PUSH    DE\r
+    000047FA FD E1                  469        POP     IY\r
+    000047FC DD 21 00 00            470        LD      IX,0\r
+    00004800                        471 ?0038:\r
+    00004800 DD E5                  472        PUSH    IX\r
+    00004802 E1                     473        POP     HL\r
+    00004803 FD E5                  474        PUSH    IY\r
+    00004805 C1                     475        POP     BC\r
+    00004806 09                     476        ADD     HL,BC\r
+    00004807 7E                     477        LD      A,(HL)\r
+    00004808 21 00 00               478        LD      HL,0\r
+    0000480B 39                     479        ADD     HL,SP\r
+    0000480C BE                     480        CP      (HL)\r
+    0000480D 28 0C                  481        JR      Z,?0037\r
+    0000480F DD E5                  482        PUSH    IX\r
+    00004811 E1                     483        POP     HL\r
+    00004812 09                     484        ADD     HL,BC\r
+    00004813 7E                     485        LD      A,(HL)\r
+    00004814 B7                     486        OR      A\r
+    00004815 28 04                  487        JR      Z,?0037\r
+    00004817                        488 ?0041:\r
+    00004817                        489 ?0040:\r
+    00004817                        490 ?0039:\r
+    00004817 DD 23                  491        INC     IX\r
+    00004819 18 E5                  492        JR      ?0038\r
+    0000481B                        493 ?0037:\r
+    0000481B DD E5                  494        PUSH    IX\r
+    0000481D E1                     495        POP     HL\r
+    0000481E 09                     496        ADD     HL,BC\r
+    0000481F 7E                     497        LD      A,(HL)\r
+    00004820 B7                     498        OR      A\r
+    00004821 28 0C                  499        JR      Z,?0043\r
+    00004823                        500 ?0042:\r
+    00004823 DD E5                  501        PUSH    IX\r
+    00004825 E1                     502        POP     HL\r
+    00004826 09                     503        ADD     HL,BC\r
+    00004827 E5                     504        PUSH    HL\r
+    00004828 21 0C 00               505        LD      HL,12\r
+    0000482B 39                     506        ADD     HL,SP\r
+    0000482C 46                     507        LD      B,(HL)\r
+    0000482D E1                     508        POP     HL\r
+    0000482E 70                     509        LD      (HL),B\r
+    0000482F                        510 ?0043:\r
+    0000482F DD E5                  511        PUSH    IX\r
+    00004831 E1                     512        POP     HL\r
+    00004832 FD E5                  513        PUSH    IY\r
+    00004834 C1                     514        POP     BC\r
+    00004835 09                     515        ADD     HL,BC\r
+    00004836                        516 ?0626:\r
+    00004836 F1                     517        POP     AF\r
+    00004837 DD E1                  518        POP     IX\r
+    00004839 FD E1                  519        POP     IY\r
+    0000483B C3 A9 81               520        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000483E                        521 dbParseList:\r
+    0000483E FD E5                  522        PUSH    IY\r
+    00004840 DD E5                  523        PUSH    IX\r
+    00004842 DD 21 00 00            524        LD      IX,0\r
+    00004846 DD 39                  525        ADD     IX,SP\r
+    00004848 C5                     526        PUSH    BC\r
+    00004849 D5                     527        PUSH    DE\r
+    0000484A 21 D8 FF               528        LD      HL,65496\r
+    0000484D 39                     529        ADD     HL,SP\r
+    0000484E F9                     530        LD      SP,HL\r
+    0000484F 11 06 00               531        LD      DE,6\r
+    00004852 CD E4 49               532        CALL    LWRD ?0641\r
+    00004855 E5                     533        PUSH    HL\r
+    00004856 FD E1                  534        POP     IY\r
+    00004858 DD 75 DA               535        LD      (IX-38),L\r
+    0000485B DD 74 DB               536        LD      (IX-37),H\r
+    0000485E AF                     537        XOR     A\r
+    0000485F 77                     538        LD      (HL),A\r
+    00004860 23                     539        INC     HL\r
+    00004861 77                     540        LD      (HL),A\r
+    00004862 DD 77 D6               541        LD      (IX-42),A\r
+    00004865 DD 77 D7               542        LD      (IX-41),A\r
+    00004868 DD 77 D4               543        LD      (IX-44),A\r
+    0000486B DD 77 D5               544        LD      (IX-43),A\r
+    0000486E                        545 ?0045:\r
+    0000486E DD 6E 0A               546        LD      L,(IX+10)\r
+    00004871 DD 66 0B               547        LD      H,(IX+11)\r
+    00004874 46                     548        LD      B,(HL)\r
+    00004875 23                     549        INC     HL\r
+    00004876 66                     550        LD      H,(HL)\r
+    00004877 68                     551        LD      L,B\r
+    00004878 DD 4E FC               552        LD      C,(IX-4)\r
+    0000487B DD 46 FD               553        LD      B,(IX-3)\r
+    0000487E 09                     554        ADD     HL,BC\r
+    0000487F 7E                     555        LD      A,(HL)\r
+    00004880 DD BE 08               556        CP      (IX+8)\r
+    00004883 20 07                  557        JR      NZ,?0047\r
+    00004885 AF                     558        XOR     A\r
+    00004886 DD B6 D4               559        OR      (IX-44)\r
+    00004889 CA 96 49               560        JP      Z,?0044\r
+    0000488C                        561 ?0047:\r
+    0000488C                        562 ?0048:\r
+    0000488C DD 6E 0A               563        LD      L,(IX+10)\r
+    0000488F DD 66 0B               564        LD      H,(IX+11)\r
+    00004892 46                     565        LD      B,(HL)\r
+    00004893 23                     566        INC     HL\r
+    00004894 66                     567        LD      H,(HL)\r
+    00004895 68                     568        LD      L,B\r
+    00004896 DD 46 FD               569        LD      B,(IX-3)\r
+    00004899 09                     570        ADD     HL,BC\r
+    0000489A 7E                     571        LD      A,(HL)\r
+    0000489B B7                     572        OR      A\r
+    0000489C CA 96 49               573        JP      Z,?0044\r
+    0000489F                        574 ?0050:\r
+    0000489F                        575 ?0049:\r
+    0000489F                        576 ?0046:\r
+    0000489F DD 6E 0A               577        LD      L,(IX+10)\r
+    000048A2 DD 66 0B               578        LD      H,(IX+11)\r
+    000048A5 46                     579        LD      B,(HL)\r
+    000048A6 23                     580        INC     HL\r
+    000048A7 66                     581        LD      H,(HL)\r
+    000048A8 68                     582        LD      L,B\r
+    000048A9 DD 46 FD               583        LD      B,(IX-3)\r
+    000048AC 09                     584        ADD     HL,BC\r
+    000048AD 7E                     585        LD      A,(HL)\r
+    000048AE FE 22                  586        CP      34\r
+    000048B0 28 04                  587        JR      Z,?0052\r
+    000048B2 FE 27                  588        CP      39\r
+    000048B4 20 10                  589        JR      NZ,?0053\r
+    000048B6                        590 ?0052:\r
+    000048B6 AF                     591        XOR     A\r
+    000048B7 DD B6 D4               592        OR      (IX-44)\r
+    000048BA 20 04                  593        JR      NZ,?0463\r
+    000048BC 3E 01                  594        LD      A,1\r
+    000048BE 18 01                  595        JR      ?0464\r
+    000048C0                        596 ?0463:\r
+    000048C0 AF                     597        XOR     A\r
+    000048C1                        598 ?0464:\r
+    000048C1 DD 77 D4               599        LD      (IX-44),A\r
+    000048C4 18 1C                  600        JR      ?0058\r
+    000048C6                        601 ?0053:\r
+    000048C6 FE 28                  602        CP      40\r
+    000048C8 20 0B                  603        JR      NZ,?0056\r
+    000048CA AF                     604        XOR     A\r
+    000048CB DD B6 D4               605        OR      (IX-44)\r
+    000048CE 20 12                  606        JR      NZ,?0058\r
+    000048D0                        607 ?0054:\r
+    000048D0 DD 34 D5               608        INC     (IX-43)\r
+    000048D3                        609 ?0055:\r
+    000048D3 18 0D                  610        JR      ?0058\r
+    000048D5                        611 ?0056:\r
+    000048D5 FE 29                  612        CP      41\r
+    000048D7 20 09                  613        JR      NZ,?0058\r
+    000048D9 AF                     614        XOR     A\r
+    000048DA DD B6 D4               615        OR      (IX-44)\r
+    000048DD 20 03                  616        JR      NZ,?0058\r
+    000048DF                        617 ?0057:\r
+    000048DF DD 35 D5               618        DEC     (IX-43)\r
+    000048E2                        619 ?0058:\r
+    000048E2                        620 ?0051:\r
+    000048E2 DD 6E 0A               621        LD      L,(IX+10)\r
+    000048E5 DD 66 0B               622        LD      H,(IX+11)\r
+    000048E8 46                     623        LD      B,(HL)\r
+    000048E9 23                     624        INC     HL\r
+    000048EA 66                     625        LD      H,(HL)\r
+    000048EB 68                     626        LD      L,B\r
+    000048EC DD 46 FD               627        LD      B,(IX-3)\r
+    000048EF 09                     628        ADD     HL,BC\r
+    000048F0 7E                     629        LD      A,(HL)\r
+    000048F1 DD BE FE               630        CP      (IX-2)\r
+    000048F4 20 0B                  631        JR      NZ,?0061\r
+    000048F6 AF                     632        XOR     A\r
+    000048F7 DD B6 D4               633        OR      (IX-44)\r
+    000048FA 20 05                  634        JR      NZ,?0061\r
+    000048FC DD B6 D5               635        OR      (IX-43)\r
+    000048FF 28 1D                  636        JR      Z,?0060\r
+    00004901                        637 ?0061:\r
+    00004901                        638 ?0062:\r
+    00004901                        639 ?0059:\r
+    00004901 DD 6E 0A               640        LD      L,(IX+10)\r
+    00004904 DD 66 0B               641        LD      H,(IX+11)\r
+    00004907 46                     642        LD      B,(HL)\r
+    00004908 23                     643        INC     HL\r
+    00004909 66                     644        LD      H,(HL)\r
+    0000490A 68                     645        LD      L,B\r
+    0000490B DD 46 FD               646        LD      B,(IX-3)\r
+    0000490E 09                     647        ADD     HL,BC\r
+    0000490F 46                     648        LD      B,(HL)\r
+    00004910 21 08 00               649        LD      HL,8\r
+    00004913 39                     650        ADD     HL,SP\r
+    00004914 DD 5E D6               651        LD      E,(IX-42)\r
+    00004917 DD 56 D7               652        LD      D,(IX-41)\r
+    0000491A 19                     653        ADD     HL,DE\r
+    0000491B 70                     654        LD      (HL),B\r
+    0000491C 18 61                  655        JR      ?0063\r
+    0000491E                        656 ?0060:\r
+    0000491E 21 08 00               657        LD      HL,8\r
+    00004921 39                     658        ADD     HL,SP\r
+    00004922 DD 4E D6               659        LD      C,(IX-42)\r
+    00004925 DD 46 D7               660        LD      B,(IX-41)\r
+    00004928 09                     661        ADD     HL,BC\r
+    00004929 77                     662        LD      (HL),A\r
+    0000492A 21 08 00               663        LD      HL,8\r
+    0000492D 39                     664        ADD     HL,SP\r
+    0000492E CD EC 49               665        CALL    LWRD ?0648\r
+    00004931 EB                     666        EX      DE,HL\r
+    00004932 13                     667        INC     DE\r
+    00004933 CD E4 49               668        CALL    LWRD ?0641\r
+    00004936 FD 75 04               669        LD      (IY+4),L\r
+    00004939 FD 74 05               670        LD      (IY+5),H\r
+    0000493C 21 08 00               671        LD      HL,8\r
+    0000493F 39                     672        ADD     HL,SP\r
+    00004940 4D                     673        LD      C,L\r
+    00004941 44                     674        LD      B,H\r
+    00004942 FD 5E 04               675        LD      E,(IY+4)\r
+    00004945 FD 56 05               676        LD      D,(IY+5)\r
+    00004948 CD 02 4A               677        CALL    LWRD ?0651\r
+    0000494B FD E5                  678        PUSH    IY\r
+    0000494D E1                     679        POP     HL\r
+    0000494E DD 75 D8               680        LD      (IX-40),L\r
+    00004951 DD 74 D9               681        LD      (IX-39),H\r
+    00004954 11 06 00               682        LD      DE,6\r
+    00004957 CD E4 49               683        CALL    LWRD ?0641\r
+    0000495A FD 75 02               684        LD      (IY+2),L\r
+    0000495D FD 74 03               685        LD      (IY+3),H\r
+    00004960 FD 6E 02               686        LD      L,(IY+2)\r
+    00004963 FD 66 03               687        LD      H,(IY+3)\r
+    00004966 E5                     688        PUSH    HL\r
+    00004967 FD E1                  689        POP     IY\r
+    00004969 DD 6E D8               690        LD      L,(IX-40)\r
+    0000496C DD 66 D9               691        LD      H,(IX-39)\r
+    0000496F E5                     692        PUSH    HL\r
+    00004970 FD E5                  693        PUSH    IY\r
+    00004972 E1                     694        POP     HL\r
+    00004973 C1                     695        POP     BC\r
+    00004974 71                     696        LD      (HL),C\r
+    00004975 23                     697        INC     HL\r
+    00004976 70                     698        LD      (HL),B\r
+    00004977 DD 36 D6 FF            699        LD      (IX-42),255\r
+    0000497B DD 36 D7 FF            700        LD      (IX-41),255\r
+    0000497F                        701 ?0063:\r
+    0000497F DD 6E 0A               702        LD      L,(IX+10)\r
+    00004982 DD 66 0B               703        LD      H,(IX+11)\r
+    00004985 34                     704        INC     (HL)\r
+    00004986 23                     705        INC     HL\r
+    00004987 20 01                  706        JR      NZ,?0465\r
+    00004989 34                     707        INC     (HL)\r
+    0000498A                        708 ?0465:\r
+    0000498A DD 34 D6               709        INC     (IX-42)\r
+    0000498D C2 6E 48               710        JP      NZ,?0045\r
+    00004990 DD 34 D7               711        INC     (IX-41)\r
+    00004993 C3 6E 48               712        JP      LWRD ?0045\r
+    00004996                        713 ?0044:\r
+    00004996 21 08 00               714        LD      HL,8\r
+    00004999 39                     715        ADD     HL,SP\r
+    0000499A DD 4E D6               716        LD      C,(IX-42)\r
+    0000499D DD 46 D7               717        LD      B,(IX-41)\r
+    000049A0 09                     718        ADD     HL,BC\r
+    000049A1 77                     719        LD      (HL),A\r
+    000049A2 21 08 00               720        LD      HL,8\r
+    000049A5 39                     721        ADD     HL,SP\r
+    000049A6 CD EC 49               722        CALL    LWRD ?0648\r
+    000049A9 EB                     723        EX      DE,HL\r
+    000049AA 13                     724        INC     DE\r
+    000049AB CD E4 49               725        CALL    LWRD ?0641\r
+    000049AE FD 75 04               726        LD      (IY+4),L\r
+    000049B1 FD 74 05               727        LD      (IY+5),H\r
+    000049B4 21 08 00               728        LD      HL,8\r
+    000049B7 39                     729        ADD     HL,SP\r
+    000049B8 4D                     730        LD      C,L\r
+    000049B9 44                     731        LD      B,H\r
+    000049BA FD 5E 04               732        LD      E,(IY+4)\r
+    000049BD FD 56 05               733        LD      D,(IY+5)\r
+    000049C0 CD 02 4A               734        CALL    LWRD ?0651\r
+    000049C3 AF                     735        XOR     A\r
+    000049C4 FD 77 02               736        LD      (IY+2),A\r
+    000049C7 FD 77 03               737        LD      (IY+3),A\r
+    000049CA DD 6E DA               738        LD      L,(IX-38)\r
+    000049CD DD 66 DB               739        LD      H,(IX-37)\r
+    000049D0                        740 ?0630:\r
+    000049D0 DD F9                  741        LD      SP,IX\r
+    000049D2 DD E1                  742        POP     IX\r
+    000049D4 FD E1                  743        POP     IY\r
+    000049D6 C3 A9 81               744        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000049D9                        745 ?0643:\r
+    000049D9 71                     746        LD      (HL),C\r
+    000049DA 23                     747        INC     HL\r
+    000049DB 70                     748        LD      (HL),B\r
+    000049DC FD 6E 00               749        LD      L,(IY+0)\r
+    000049DF FD 66 01               750        LD      H,(IY+1)\r
+    000049E2                        751 ?0644:\r
+    000049E2 29                     752        ADD     HL,HL\r
+    000049E3                        753 ?0642:\r
+    000049E3 EB                     754        EX      DE,HL\r
+    000049E4                        755 ?0641:\r
+    000049E4 3E 01                  756        LD      A,BYTE3 malloc\r
+    000049E6 21 82 4A               757        LD      HL,LWRD malloc\r
+    000049E9 C3 19 82               758        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000049EC                        759 ?0648:\r
+    000049EC EB                     760        EX      DE,HL\r
+    000049ED                        761 ?0649:\r
+    000049ED 3E 00                  762        LD      A,BYTE3 strlen\r
+    000049EF 21 5C 7D               763        LD      HL,LWRD strlen\r
+    000049F2 C3 19 82               764        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000049F5                        765 ?0655:\r
+    000049F5 4D                     766        LD      C,L\r
+    000049F6 44                     767        LD      B,H\r
+    000049F7 FD 6E 4A               768        LD      L,(IY+74)\r
+    000049FA FD 66 4B               769        LD      H,(IY+75)\r
+    000049FD                        770 ?0654:\r
+    000049FD 11 04 00               771        LD      DE,4\r
+    00004A00                        772 ?0653:\r
+    00004A00 19                     773        ADD     HL,DE\r
+    00004A01                        774 ?0652:\r
+    00004A01 EB                     775        EX      DE,HL\r
+    00004A02                        776 ?0651:\r
+    00004A02 3E 00                  777        LD      A,BYTE3 strcpy\r
+    00004A04 21 1C 7F               778        LD      HL,LWRD strcpy\r
+    00004A07 C3 19 82               779        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004A0A                        780 dbParseStatement:\r
+    00004A0A C5                     781        PUSH    BC\r
+    00004A0B FD E5                  782        PUSH    IY\r
+    00004A0D DD E5                  783        PUSH    IX\r
+    00004A0F D5                     784        PUSH    DE\r
+    00004A10 FD E1                  785        POP     IY\r
+    00004A12 CD ED 49               786        CALL    LWRD ?0649\r
+    00004A15 EB                     787        EX      DE,HL\r
+    00004A16 13                     788        INC     DE\r
+    00004A17 CD E4 49               789        CALL    LWRD ?0641\r
+    00004A1A E5                     790        PUSH    HL\r
+    00004A1B DD E1                  791        POP     IX\r
+    00004A1D FD E5                  792        PUSH    IY\r
+    00004A1F C1                     793        POP     BC\r
+    00004A20 CD 01 4A               794        CALL    LWRD ?0652\r
+    00004A23 DD E5                  795        PUSH    IX\r
+    00004A25 D1                     796        POP     DE\r
+    00004A26 3E 00                  797        LD      A,BYTE3 dbTrimString\r
+    00004A28 21 5E 46               798        LD      HL,LWRD dbTrimString\r
+    00004A2B CD 19 82               799        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004A2E 21 03 00               800        LD      HL,3\r
+    00004A31 E5                     801        PUSH    HL\r
+    00004A32 01 81 84               802        LD      BC,?0066\r
+    00004A35 DD E5                  803        PUSH    IX\r
+    00004A37 D1                     804        POP     DE\r
+    00004A38 CD B5 4A               805        CALL    LWRD ?0656\r
+    00004A3B F1                     806        POP     AF\r
+    00004A3C 7D                     807        LD      A,L\r
+    00004A3D B4                     808        OR      H\r
+    00004A3E 20 0A                  809        JR      NZ,?0065\r
+    00004A40                        810 ?0064:\r
+    00004A40 DD E5                  811        PUSH    IX\r
+    00004A42 D1                     812        POP     DE\r
+    00004A43 3E 00                  813        LD      A,BYTE3 dbParseSelect\r
+    00004A45 21 BD 4A               814        LD      HL,LWRD dbParseSelect\r
+    00004A48 18 52                  815        JR      ?0472\r
+    00004A4A                        816 ?0065:\r
+    00004A4A 21 03 00               817        LD      HL,3\r
+    00004A4D E5                     818        PUSH    HL\r
+    00004A4E 01 85 84               819        LD      BC,?0069\r
+    00004A51 DD E5                  820        PUSH    IX\r
+    00004A53 D1                     821        POP     DE\r
+    00004A54 CD B5 4A               822        CALL    LWRD ?0656\r
+    00004A57 F1                     823        POP     AF\r
+    00004A58 7D                     824        LD      A,L\r
+    00004A59 B4                     825        OR      H\r
+    00004A5A 20 0A                  826        JR      NZ,?0068\r
+    00004A5C                        827 ?0067:\r
+    00004A5C DD E5                  828        PUSH    IX\r
+    00004A5E D1                     829        POP     DE\r
+    00004A5F 3E 00                  830        LD      A,BYTE3 dbParseInsert\r
+    00004A61 21 EC 4B               831        LD      HL,LWRD dbParseInsert\r
+    00004A64 18 36                  832        JR      ?0472\r
+    00004A66                        833 ?0068:\r
+    00004A66 21 03 00               834        LD      HL,3\r
+    00004A69 E5                     835        PUSH    HL\r
+    00004A6A 01 89 84               836        LD      BC,?0072\r
+    00004A6D DD E5                  837        PUSH    IX\r
+    00004A6F D1                     838        POP     DE\r
+    00004A70 CD B5 4A               839        CALL    LWRD ?0656\r
+    00004A73 F1                     840        POP     AF\r
+    00004A74 7D                     841        LD      A,L\r
+    00004A75 B4                     842        OR      H\r
+    00004A76 20 0A                  843        JR      NZ,?0071\r
+    00004A78                        844 ?0070:\r
+    00004A78 DD E5                  845        PUSH    IX\r
+    00004A7A D1                     846        POP     DE\r
+    00004A7B 3E 00                  847        LD      A,BYTE3 dbParseUpdate\r
+    00004A7D 21 93 4C               848        LD      HL,LWRD dbParseUpdate\r
+    00004A80 18 1A                  849        JR      ?0472\r
+    00004A82                        850 ?0071:\r
+    00004A82 21 03 00               851        LD      HL,3\r
+    00004A85 E5                     852        PUSH    HL\r
+    00004A86 01 8D 84               853        LD      BC,?0075\r
+    00004A89 DD E5                  854        PUSH    IX\r
+    00004A8B D1                     855        POP     DE\r
+    00004A8C CD B5 4A               856        CALL    LWRD ?0656\r
+    00004A8F F1                     857        POP     AF\r
+    00004A90 7D                     858        LD      A,L\r
+    00004A91 B4                     859        OR      H\r
+    00004A92 20 0D                  860        JR      NZ,?0074\r
+    00004A94                        861 ?0073:\r
+    00004A94 DD E5                  862        PUSH    IX\r
+    00004A96 D1                     863        POP     DE\r
+    00004A97 3E 00                  864        LD      A,BYTE3 dbParseDelete\r
+    00004A99 21 60 4D               865        LD      HL,LWRD dbParseDelete\r
+    00004A9C                        866 ?0472:\r
+    00004A9C CD 19 82               867        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004A9F 18 03                  868        JR      ?0076\r
+    00004AA1                        869 ?0074:\r
+    00004AA1 21 00 00               870        LD      HL,0\r
+    00004AA4                        871 ?0076:\r
+    00004AA4 C3 C0 45               872        JP      LWRD ?0614\r
+    00004AA7                        873 ?0657:\r
+    00004AA7 DD 6E FC               874        LD      L,(IX-4)\r
+    00004AAA DD 66 FD               875        LD      H,(IX-3)\r
+    00004AAD DD 5E FE               876        LD      E,(IX-2)\r
+    00004AB0 DD 56 FF               877        LD      D,(IX-1)\r
+    00004AB3                        878 ?0658:\r
+    00004AB3 19                     879        ADD     HL,DE\r
+    00004AB4 EB                     880        EX      DE,HL\r
+    00004AB5                        881 ?0656:\r
+    00004AB5 3E 00                  882        LD      A,BYTE3 strncmp\r
+    00004AB7 21 8B 72               883        LD      HL,LWRD strncmp\r
+    00004ABA C3 19 82               884        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004ABD                        885 dbParseSelect:\r
+    00004ABD C5                     886        PUSH    BC\r
+    00004ABE FD E5                  887        PUSH    IY\r
+    00004AC0 DD E5                  888        PUSH    IX\r
+    00004AC2 DD 21 00 00            889        LD      IX,0\r
+    00004AC6 DD 39                  890        ADD     IX,SP\r
+    00004AC8 D5                     891        PUSH    DE\r
+    00004AC9 F5                     892        PUSH    AF\r
+    00004ACA 11 09 00               893        LD      DE,9\r
+    00004ACD CD E4 49               894        CALL    LWRD ?0641\r
+    00004AD0 E5                     895        PUSH    HL\r
+    00004AD1 FD E1                  896        POP     IY\r
+    00004AD3 36 73                  897        LD      (HL),115\r
+    00004AD5 AF                     898        XOR     A\r
+    00004AD6 FD 77 05               899        LD      (IY+5),A\r
+    00004AD9 FD 77 06               900        LD      (IY+6),A\r
+    00004ADC FD 77 07               901        LD      (IY+7),A\r
+    00004ADF FD 77 08               902        LD      (IY+8),A\r
+    00004AE2 DD 36 FC 03            903        LD      (IX-4),3\r
+    00004AE6 DD 77 FD               904        LD      (IX-3),A\r
+    00004AE9 DD 6E FE               905        LD      L,(IX-2)\r
+    00004AEC DD 66 FF               906        LD      H,(IX-1)\r
+    00004AEF 23                     907        INC     HL\r
+    00004AF0 23                     908        INC     HL\r
+    00004AF1 23                     909        INC     HL\r
+    00004AF2 7E                     910        LD      A,(HL)\r
+    00004AF3 FE 20                  911        CP      32\r
+    00004AF5 20 08                  912        JR      NZ,?0473\r
+    00004AF7                        913 ?0077:\r
+    00004AF7 DD 34 FC               914        INC     (IX-4)\r
+    00004AFA 20 03                  915        JR      NZ,?0473\r
+    00004AFC DD 34 FD               916        INC     (IX-3)\r
+    00004AFF                        917 ?0473:\r
+    00004AFF                        918 ?0078:\r
+    00004AFF 21 00 00               919        LD      HL,0\r
+    00004B02 39                     920        ADD     HL,SP\r
+    00004B03 E5                     921        PUSH    HL\r
+    00004B04 0E 20                  922        LD      C,32\r
+    00004B06 C5                     923        PUSH    BC\r
+    00004B07 0E 2C                  924        LD      C,44\r
+    00004B09 DD 5E FE               925        LD      E,(IX-2)\r
+    00004B0C DD 56 FF               926        LD      D,(IX-1)\r
+    00004B0F CD E4 4B               927        CALL    LWRD ?0659\r
+    00004B12 F1                     928        POP     AF\r
+    00004B13 F1                     929        POP     AF\r
+    00004B14 FD 75 01               930        LD      (IY+1),L\r
+    00004B17 FD 74 02               931        LD      (IY+2),H\r
+    00004B1A 21 04 00               932        LD      HL,4\r
+    00004B1D E5                     933        PUSH    HL\r
+    00004B1E 01 91 84               934        LD      BC,?0081\r
+    00004B21 CD A7 4A               935        CALL    LWRD ?0657\r
+    00004B24 F1                     936        POP     AF\r
+    00004B25 7D                     937        LD      A,L\r
+    00004B26 B4                     938        OR      H\r
+    00004B27 20 0D                  939        JR      NZ,?0080\r
+    00004B29                        940 ?0079:\r
+    00004B29 6F                     941        LD      L,A\r
+    00004B2A 67                     942        LD      H,A\r
+    00004B2B 39                     943        ADD     HL,SP\r
+    00004B2C 7E                     944        LD      A,(HL)\r
+    00004B2D C6 04                  945        ADD     A,4\r
+    00004B2F 77                     946        LD      (HL),A\r
+    00004B30 30 0A                  947        JR      NC,?0082\r
+    00004B32 23                     948        INC     HL\r
+    00004B33 34                     949        INC     (HL)\r
+    00004B34 18 06                  950        JR      ?0082\r
+    00004B36                        951 ?0080:\r
+    00004B36 21 00 00               952        LD      HL,0\r
+    00004B39 C3 DA 4B               953        JP      LWRD ?0091\r
+    00004B3C                        954 ?0082:\r
+    00004B3C 21 00 00               955        LD      HL,0\r
+    00004B3F 39                     956        ADD     HL,SP\r
+    00004B40 E5                     957        PUSH    HL\r
+    00004B41 0E 20                  958        LD      C,32\r
+    00004B43 C5                     959        PUSH    BC\r
+    00004B44 0E 2C                  960        LD      C,44\r
+    00004B46 DD 5E FE               961        LD      E,(IX-2)\r
+    00004B49 DD 56 FF               962        LD      D,(IX-1)\r
+    00004B4C CD E4 4B               963        CALL    LWRD ?0659\r
+    00004B4F F1                     964        POP     AF\r
+    00004B50 F1                     965        POP     AF\r
+    00004B51 FD 75 03               966        LD      (IY+3),L\r
+    00004B54 FD 74 04               967        LD      (IY+4),H\r
+    00004B57 21 03 00               968        LD      HL,3\r
+    00004B5A E5                     969        PUSH    HL\r
+    00004B5B 01 96 84               970        LD      BC,?0085\r
+    00004B5E CD A7 4A               971        CALL    LWRD ?0657\r
+    00004B61 F1                     972        POP     AF\r
+    00004B62 7D                     973        LD      A,L\r
+    00004B63 B4                     974        OR      H\r
+    00004B64 20 3C                  975        JR      NZ,?0084\r
+    00004B66                        976 ?0083:\r
+    00004B66 6F                     977        LD      L,A\r
+    00004B67 67                     978        LD      H,A\r
+    00004B68 39                     979        ADD     HL,SP\r
+    00004B69 7E                     980        LD      A,(HL)\r
+    00004B6A C6 03                  981        ADD     A,3\r
+    00004B6C 77                     982        LD      (HL),A\r
+    00004B6D 30 02                  983        JR      NC,?0475\r
+    00004B6F 23                     984        INC     HL\r
+    00004B70 34                     985        INC     (HL)\r
+    00004B71                        986 ?0475:\r
+    00004B71 6F                     987        LD      L,A\r
+    00004B72 DD 66 FD               988        LD      H,(IX-3)\r
+    00004B75 DD 4E FE               989        LD      C,(IX-2)\r
+    00004B78 DD 46 FF               990        LD      B,(IX-1)\r
+    00004B7B 09                     991        ADD     HL,BC\r
+    00004B7C 7E                     992        LD      A,(HL)\r
+    00004B7D FE 20                  993        CP      32\r
+    00004B7F 20 08                  994        JR      NZ,?0476\r
+    00004B81                        995 ?0086:\r
+    00004B81 DD 34 FC               996        INC     (IX-4)\r
+    00004B84 20 03                  997        JR      NZ,?0476\r
+    00004B86 DD 34 FD               998        INC     (IX-3)\r
+    00004B89                        999 ?0476:\r
+    00004B89                       1000 ?0087:\r
+    00004B89 21 00 00              1001        LD      HL,0\r
+    00004B8C 39                    1002        ADD     HL,SP\r
+    00004B8D E5                    1003        PUSH    HL\r
+    00004B8E 0E 20                 1004        LD      C,32\r
+    00004B90 C5                    1005        PUSH    BC\r
+    00004B91 0E 2C                 1006        LD      C,44\r
+    00004B93 DD 5E FE              1007        LD      E,(IX-2)\r
+    00004B96 50                    1008        LD      D,B\r
+    00004B97 CD E4 4B              1009        CALL    LWRD ?0659\r
+    00004B9A F1                    1010        POP     AF\r
+    00004B9B F1                    1011        POP     AF\r
+    00004B9C FD 75 05              1012        LD      (IY+5),L\r
+    00004B9F FD 74 06              1013        LD      (IY+6),H\r
+    00004BA2                       1014 ?0084:\r
+    00004BA2 21 05 00              1015        LD      HL,5\r
+    00004BA5 E5                    1016        PUSH    HL\r
+    00004BA6 01 9A 84              1017        LD      BC,?0090\r
+    00004BA9 CD A7 4A              1018        CALL    LWRD ?0657\r
+    00004BAC F1                    1019        POP     AF\r
+    00004BAD 7D                    1020        LD      A,L\r
+    00004BAE B4                    1021        OR      H\r
+    00004BAF 20 26                 1022        JR      NZ,?0089\r
+    00004BB1                       1023 ?0088:\r
+    00004BB1 6F                    1024        LD      L,A\r
+    00004BB2 67                    1025        LD      H,A\r
+    00004BB3 39                    1026        ADD     HL,SP\r
+    00004BB4 7E                    1027        LD      A,(HL)\r
+    00004BB5 C6 05                 1028        ADD     A,5\r
+    00004BB7 77                    1029        LD      (HL),A\r
+    00004BB8 30 02                 1030        JR      NC,?0477\r
+    00004BBA 23                    1031        INC     HL\r
+    00004BBB 34                    1032        INC     (HL)\r
+    00004BBC                       1033 ?0477:\r
+    00004BBC 21 00 00              1034        LD      HL,0\r
+    00004BBF 39                    1035        ADD     HL,SP\r
+    00004BC0 E5                    1036        PUSH    HL\r
+    00004BC1 0E 20                 1037        LD      C,32\r
+    00004BC3 C5                    1038        PUSH    BC\r
+    00004BC4 0E 2C                 1039        LD      C,44\r
+    00004BC6 DD 5E FE              1040        LD      E,(IX-2)\r
+    00004BC9 DD 56 FF              1041        LD      D,(IX-1)\r
+    00004BCC CD E4 4B              1042        CALL    LWRD ?0659\r
+    00004BCF F1                    1043        POP     AF\r
+    00004BD0 F1                    1044        POP     AF\r
+    00004BD1 FD 75 07              1045        LD      (IY+7),L\r
+    00004BD4 FD 74 08              1046        LD      (IY+8),H\r
+    00004BD7                       1047 ?0089:\r
+    00004BD7 FD E5                 1048        PUSH    IY\r
+    00004BD9 E1                    1049        POP     HL\r
+    00004BDA                       1050 ?0091:\r
+    00004BDA DD F9                 1051        LD      SP,IX\r
+    00004BDC C3 C0 45              1052        JP      LWRD ?0614\r
+    00004BDF                       1053 ?0660:\r
+    00004BDF 0E 2C                 1054        LD      C,44\r
+    00004BE1 FD E5                 1055        PUSH    IY\r
+    00004BE3 D1                    1056        POP     DE\r
+    00004BE4                       1057 ?0659:\r
+    00004BE4 3E 00                 1058        LD      A,BYTE3 dbParseList\r
+    00004BE6 21 3E 48              1059        LD      HL,LWRD dbParseList\r
+    00004BE9 C3 19 82              1060        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004BEC                       1061 dbParseInsert:\r
+    00004BEC C5                    1062        PUSH    BC\r
+    00004BED FD E5                 1063        PUSH    IY\r
+    00004BEF DD E5                 1064        PUSH    IX\r
+    00004BF1 F5                    1065        PUSH    AF\r
+    00004BF2 D5                    1066        PUSH    DE\r
+    00004BF3 FD E1                 1067        POP     IY\r
+    00004BF5 11 09 00              1068        LD      DE,9\r
+    00004BF8 CD E4 49              1069        CALL    LWRD ?0641\r
+    00004BFB E5                    1070        PUSH    HL\r
+    00004BFC DD E1                 1071        POP     IX\r
+    00004BFE 36 69                 1072        LD      (HL),105\r
+    00004C00 AF                    1073        XOR     A\r
+    00004C01 DD 77 05              1074        LD      (IX+5),A\r
+    00004C04 DD 77 06              1075        LD      (IX+6),A\r
+    00004C07 6F                    1076        LD      L,A\r
+    00004C08 67                    1077        LD      H,A\r
+    00004C09 39                    1078        ADD     HL,SP\r
+    00004C0A 36 04                 1079        LD      (HL),4\r
+    00004C0C 23                    1080        INC     HL\r
+    00004C0D 77                    1081        LD      (HL),A\r
+    00004C0E 2B                    1082        DEC     HL\r
+    00004C0F E5                    1083        PUSH    HL\r
+    00004C10 0E 28                 1084        LD      C,40\r
+    00004C12 C5                    1085        PUSH    BC\r
+    00004C13 CD DF 4B              1086        CALL    LWRD ?0660\r
+    00004C16 F1                    1087        POP     AF\r
+    00004C17 F1                    1088        POP     AF\r
+    00004C18 DD 75 03              1089        LD      (IX+3),L\r
+    00004C1B DD 74 04              1090        LD      (IX+4),H\r
+    00004C1E 21 01 00              1091        LD      HL,1\r
+    00004C21 E5                    1092        PUSH    HL\r
+    00004C22 01 A0 84              1093        LD      BC,?0094\r
+    00004C25 23                    1094        INC     HL\r
+    00004C26 39                    1095        ADD     HL,SP\r
+    00004C27 56                    1096        LD      D,(HL)\r
+    00004C28 23                    1097        INC     HL\r
+    00004C29 66                    1098        LD      H,(HL)\r
+    00004C2A 6A                    1099        LD      L,D\r
+    00004C2B FD E5                 1100        PUSH    IY\r
+    00004C2D D1                    1101        POP     DE\r
+    00004C2E CD B3 4A              1102        CALL    LWRD ?0658\r
+    00004C31 F1                    1103        POP     AF\r
+    00004C32 7D                    1104        LD      A,L\r
+    00004C33 B4                    1105        OR      H\r
+    00004C34 20 51                 1106        JR      NZ,?0097\r
+    00004C36                       1107 ?0092:\r
+    00004C36 6F                    1108        LD      L,A\r
+    00004C37 67                    1109        LD      H,A\r
+    00004C38 39                    1110        ADD     HL,SP\r
+    00004C39 34                    1111        INC     (HL)\r
+    00004C3A 23                    1112        INC     HL\r
+    00004C3B 20 01                 1113        JR      NZ,?0481\r
+    00004C3D 34                    1114        INC     (HL)\r
+    00004C3E                       1115 ?0481:\r
+    00004C3E                       1116 ?0093:\r
+    00004C3E                       1117 ?0095:\r
+    00004C3E 2B                    1118        DEC     HL\r
+    00004C3F E5                    1119        PUSH    HL\r
+    00004C40 0E 29                 1120        LD      C,41\r
+    00004C42 C5                    1121        PUSH    BC\r
+    00004C43 CD DF 4B              1122        CALL    LWRD ?0660\r
+    00004C46 F1                    1123        POP     AF\r
+    00004C47 F1                    1124        POP     AF\r
+    00004C48 DD 75 01              1125        LD      (IX+1),L\r
+    00004C4B DD 74 02              1126        LD      (IX+2),H\r
+    00004C4E 21 06 00              1127        LD      HL,6\r
+    00004C51 E5                    1128        PUSH    HL\r
+    00004C52 01 A2 84              1129        LD      BC,?0098\r
+    00004C55 2E 02                 1130        LD      L,2\r
+    00004C57 39                    1131        ADD     HL,SP\r
+    00004C58 56                    1132        LD      D,(HL)\r
+    00004C59 23                    1133        INC     HL\r
+    00004C5A 66                    1134        LD      H,(HL)\r
+    00004C5B 6A                    1135        LD      L,D\r
+    00004C5C FD E5                 1136        PUSH    IY\r
+    00004C5E D1                    1137        POP     DE\r
+    00004C5F CD B3 4A              1138        CALL    LWRD ?0658\r
+    00004C62 F1                    1139        POP     AF\r
+    00004C63 7D                    1140        LD      A,L\r
+    00004C64 B4                    1141        OR      H\r
+    00004C65 20 20                 1142        JR      NZ,?0097\r
+    00004C67                       1143 ?0096:\r
+    00004C67 6F                    1144        LD      L,A\r
+    00004C68 67                    1145        LD      H,A\r
+    00004C69 39                    1146        ADD     HL,SP\r
+    00004C6A 7E                    1147        LD      A,(HL)\r
+    00004C6B C6 06                 1148        ADD     A,6\r
+    00004C6D 77                    1149        LD      (HL),A\r
+    00004C6E 30 02                 1150        JR      NC,?0482\r
+    00004C70 23                    1151        INC     HL\r
+    00004C71 34                    1152        INC     (HL)\r
+    00004C72                       1153 ?0482:\r
+    00004C72 21 00 00              1154        LD      HL,0\r
+    00004C75 39                    1155        ADD     HL,SP\r
+    00004C76 E5                    1156        PUSH    HL\r
+    00004C77 0E 29                 1157        LD      C,41\r
+    00004C79 C5                    1158        PUSH    BC\r
+    00004C7A CD DF 4B              1159        CALL    LWRD ?0660\r
+    00004C7D F1                    1160        POP     AF\r
+    00004C7E F1                    1161        POP     AF\r
+    00004C7F DD 75 07              1162        LD      (IX+7),L\r
+    00004C82 DD 74 08              1163        LD      (IX+8),H\r
+    00004C85 18 05                 1164        JR      ?0099\r
+    00004C87                       1165 ?0097:\r
+    00004C87 21 00 00              1166        LD      HL,0\r
+    00004C8A 18 03                 1167        JR      ?0100\r
+    00004C8C                       1168 ?0099:\r
+    00004C8C DD E5                 1169        PUSH    IX\r
+    00004C8E E1                    1170        POP     HL\r
+    00004C8F                       1171 ?0100:\r
+    00004C8F F1                    1172        POP     AF\r
+    00004C90 C3 C0 45              1173        JP      LWRD ?0614\r
+    00004C93                       1174 dbParseUpdate:\r
+    00004C93 C5                    1175        PUSH    BC\r
+    00004C94 FD E5                 1176        PUSH    IY\r
+    00004C96 DD E5                 1177        PUSH    IX\r
+    00004C98 F5                    1178        PUSH    AF\r
+    00004C99 D5                    1179        PUSH    DE\r
+    00004C9A FD E1                 1180        POP     IY\r
+    00004C9C 11 09 00              1181        LD      DE,9\r
+    00004C9F CD E4 49              1182        CALL    LWRD ?0641\r
+    00004CA2 E5                    1183        PUSH    HL\r
+    00004CA3 DD E1                 1184        POP     IX\r
+    00004CA5 36 75                 1185        LD      (HL),117\r
+    00004CA7 AF                    1186        XOR     A\r
+    00004CA8 DD 77 05              1187        LD      (IX+5),A\r
+    00004CAB DD 77 06              1188        LD      (IX+6),A\r
+    00004CAE DD 77 07              1189        LD      (IX+7),A\r
+    00004CB1 DD 77 08              1190        LD      (IX+8),A\r
+    00004CB4 6F                    1191        LD      L,A\r
+    00004CB5 67                    1192        LD      H,A\r
+    00004CB6 39                    1193        ADD     HL,SP\r
+    00004CB7 36 04                 1194        LD      (HL),4\r
+    00004CB9 23                    1195        INC     HL\r
+    00004CBA 77                    1196        LD      (HL),A\r
+    00004CBB 2B                    1197        DEC     HL\r
+    00004CBC E5                    1198        PUSH    HL\r
+    00004CBD 0E 20                 1199        LD      C,32\r
+    00004CBF C5                    1200        PUSH    BC\r
+    00004CC0 CD DF 4B              1201        CALL    LWRD ?0660\r
+    00004CC3 F1                    1202        POP     AF\r
+    00004CC4 F1                    1203        POP     AF\r
+    00004CC5 DD 75 03              1204        LD      (IX+3),L\r
+    00004CC8 DD 74 04              1205        LD      (IX+4),H\r
+    00004CCB 21 04 00              1206        LD      HL,4\r
+    00004CCE E5                    1207        PUSH    HL\r
+    00004CCF 01 A9 84              1208        LD      BC,?0103\r
+    00004CD2 2B                    1209        DEC     HL\r
+    00004CD3 2B                    1210        DEC     HL\r
+    00004CD4 39                    1211        ADD     HL,SP\r
+    00004CD5 56                    1212        LD      D,(HL)\r
+    00004CD6 23                    1213        INC     HL\r
+    00004CD7 66                    1214        LD      H,(HL)\r
+    00004CD8 6A                    1215        LD      L,D\r
+    00004CD9 FD E5                 1216        PUSH    IY\r
+    00004CDB D1                    1217        POP     DE\r
+    00004CDC CD B3 4A              1218        CALL    LWRD ?0658\r
+    00004CDF F1                    1219        POP     AF\r
+    00004CE0 7D                    1220        LD      A,L\r
+    00004CE1 B4                    1221        OR      H\r
+    00004CE2 20 0D                 1222        JR      NZ,?0102\r
+    00004CE4                       1223 ?0101:\r
+    00004CE4 6F                    1224        LD      L,A\r
+    00004CE5 67                    1225        LD      H,A\r
+    00004CE6 39                    1226        ADD     HL,SP\r
+    00004CE7 7E                    1227        LD      A,(HL)\r
+    00004CE8 C6 04                 1228        ADD     A,4\r
+    00004CEA 77                    1229        LD      (HL),A\r
+    00004CEB 30 09                 1230        JR      NC,?0104\r
+    00004CED 23                    1231        INC     HL\r
+    00004CEE 34                    1232        INC     (HL)\r
+    00004CEF 18 05                 1233        JR      ?0104\r
+    00004CF1                       1234 ?0102:\r
+    00004CF1 21 00 00              1235        LD      HL,0\r
+    00004CF4 18 66                 1236        JR      ?0109\r
+    00004CF6                       1237 ?0104:\r
+    00004CF6 21 00 00              1238        LD      HL,0\r
+    00004CF9 39                    1239        ADD     HL,SP\r
+    00004CFA E5                    1240        PUSH    HL\r
+    00004CFB 0E 20                 1241        LD      C,32\r
+    00004CFD C5                    1242        PUSH    BC\r
+    00004CFE CD DF 4B              1243        CALL    LWRD ?0660\r
+    00004D01 F1                    1244        POP     AF\r
+    00004D02 F1                    1245        POP     AF\r
+    00004D03 DD 75 01              1246        LD      (IX+1),L\r
+    00004D06 DD 74 02              1247        LD      (IX+2),H\r
+    00004D09 21 03 00              1248        LD      HL,3\r
+    00004D0C E5                    1249        PUSH    HL\r
+    00004D0D 01 96 84              1250        LD      BC,?0085\r
+    00004D10 2B                    1251        DEC     HL\r
+    00004D11 39                    1252        ADD     HL,SP\r
+    00004D12 56                    1253        LD      D,(HL)\r
+    00004D13 23                    1254        INC     HL\r
+    00004D14 66                    1255        LD      H,(HL)\r
+    00004D15 6A                    1256        LD      L,D\r
+    00004D16 FD E5                 1257        PUSH    IY\r
+    00004D18 D1                    1258        POP     DE\r
+    00004D19 CD B3 4A              1259        CALL    LWRD ?0658\r
+    00004D1C F1                    1260        POP     AF\r
+    00004D1D 7D                    1261        LD      A,L\r
+    00004D1E B4                    1262        OR      H\r
+    00004D1F 20 38                 1263        JR      NZ,?0106\r
+    00004D21                       1264 ?0105:\r
+    00004D21 6F                    1265        LD      L,A\r
+    00004D22 67                    1266        LD      H,A\r
+    00004D23 39                    1267        ADD     HL,SP\r
+    00004D24 7E                    1268        LD      A,(HL)\r
+    00004D25 C6 03                 1269        ADD     A,3\r
+    00004D27 77                    1270        LD      (HL),A\r
+    00004D28 30 02                 1271        JR      NC,?0488\r
+    00004D2A 23                    1272        INC     HL\r
+    00004D2B 34                    1273        INC     (HL)\r
+    00004D2C                       1274 ?0488:\r
+    00004D2C 21 00 00              1275        LD      HL,0\r
+    00004D2F 39                    1276        ADD     HL,SP\r
+    00004D30 47                    1277        LD      B,A\r
+    00004D31 23                    1278        INC     HL\r
+    00004D32 66                    1279        LD      H,(HL)\r
+    00004D33 68                    1280        LD      L,B\r
+    00004D34 FD E5                 1281        PUSH    IY\r
+    00004D36 C1                    1282        POP     BC\r
+    00004D37 09                    1283        ADD     HL,BC\r
+    00004D38 7E                    1284        LD      A,(HL)\r
+    00004D39 FE 20                 1285        CP      32\r
+    00004D3B 20 09                 1286        JR      NZ,?0489\r
+    00004D3D                       1287 ?0107:\r
+    00004D3D 21 00 00              1288        LD      HL,0\r
+    00004D40 39                    1289        ADD     HL,SP\r
+    00004D41 34                    1290        INC     (HL)\r
+    00004D42 23                    1291        INC     HL\r
+    00004D43 20 01                 1292        JR      NZ,?0489\r
+    00004D45 34                    1293        INC     (HL)\r
+    00004D46                       1294 ?0489:\r
+    00004D46                       1295 ?0108:\r
+    00004D46 21 00 00              1296        LD      HL,0\r
+    00004D49 39                    1297        ADD     HL,SP\r
+    00004D4A E5                    1298        PUSH    HL\r
+    00004D4B 0E 20                 1299        LD      C,32\r
+    00004D4D C5                    1300        PUSH    BC\r
+    00004D4E CD DF 4B              1301        CALL    LWRD ?0660\r
+    00004D51 F1                    1302        POP     AF\r
+    00004D52 F1                    1303        POP     AF\r
+    00004D53 DD 75 05              1304        LD      (IX+5),L\r
+    00004D56 DD 74 06              1305        LD      (IX+6),H\r
+    00004D59                       1306 ?0106:\r
+    00004D59 DD E5                 1307        PUSH    IX\r
+    00004D5B E1                    1308        POP     HL\r
+    00004D5C                       1309 ?0109:\r
+    00004D5C F1                    1310        POP     AF\r
+    00004D5D C3 C0 45              1311        JP      LWRD ?0614\r
+    00004D60                       1312 dbParseDelete:\r
+    00004D60 C5                    1313        PUSH    BC\r
+    00004D61 FD E5                 1314        PUSH    IY\r
+    00004D63 DD E5                 1315        PUSH    IX\r
+    00004D65 F5                    1316        PUSH    AF\r
+    00004D66 D5                    1317        PUSH    DE\r
+    00004D67 FD E1                 1318        POP     IY\r
+    00004D69 11 09 00              1319        LD      DE,9\r
+    00004D6C CD E4 49              1320        CALL    LWRD ?0641\r
+    00004D6F E5                    1321        PUSH    HL\r
+    00004D70 DD E1                 1322        POP     IX\r
+    00004D72 36 64                 1323        LD      (HL),100\r
+    00004D74 AF                    1324        XOR     A\r
+    00004D75 DD 77 05              1325        LD      (IX+5),A\r
+    00004D78 DD 77 06              1326        LD      (IX+6),A\r
+    00004D7B DD 77 07              1327        LD      (IX+7),A\r
+    00004D7E DD 77 08              1328        LD      (IX+8),A\r
+    00004D81 DD 77 01              1329        LD      (IX+1),A\r
+    00004D84 DD 77 02              1330        LD      (IX+2),A\r
+    00004D87 6F                    1331        LD      L,A\r
+    00004D88 67                    1332        LD      H,A\r
+    00004D89 39                    1333        ADD     HL,SP\r
+    00004D8A 36 04                 1334        LD      (HL),4\r
+    00004D8C 23                    1335        INC     HL\r
+    00004D8D 77                    1336        LD      (HL),A\r
+    00004D8E 2B                    1337        DEC     HL\r
+    00004D8F E5                    1338        PUSH    HL\r
+    00004D90 0E 20                 1339        LD      C,32\r
+    00004D92 C5                    1340        PUSH    BC\r
+    00004D93 CD DF 4B              1341        CALL    LWRD ?0660\r
+    00004D96 F1                    1342        POP     AF\r
+    00004D97 F1                    1343        POP     AF\r
+    00004D98 DD 75 03              1344        LD      (IX+3),L\r
+    00004D9B DD 74 04              1345        LD      (IX+4),H\r
+    00004D9E 21 03 00              1346        LD      HL,3\r
+    00004DA1 E5                    1347        PUSH    HL\r
+    00004DA2 01 96 84              1348        LD      BC,?0085\r
+    00004DA5 2B                    1349        DEC     HL\r
+    00004DA6 39                    1350        ADD     HL,SP\r
+    00004DA7 56                    1351        LD      D,(HL)\r
+    00004DA8 23                    1352        INC     HL\r
+    00004DA9 66                    1353        LD      H,(HL)\r
+    00004DAA 6A                    1354        LD      L,D\r
+    00004DAB FD E5                 1355        PUSH    IY\r
+    00004DAD D1                    1356        POP     DE\r
+    00004DAE CD B3 4A              1357        CALL    LWRD ?0658\r
+    00004DB1 F1                    1358        POP     AF\r
+    00004DB2 7D                    1359        LD      A,L\r
+    00004DB3 B4                    1360        OR      H\r
+    00004DB4 20 38                 1361        JR      NZ,?0111\r
+    00004DB6                       1362 ?0110:\r
+    00004DB6 6F                    1363        LD      L,A\r
+    00004DB7 67                    1364        LD      H,A\r
+    00004DB8 39                    1365        ADD     HL,SP\r
+    00004DB9 7E                    1366        LD      A,(HL)\r
+    00004DBA C6 03                 1367        ADD     A,3\r
+    00004DBC 77                    1368        LD      (HL),A\r
+    00004DBD 30 02                 1369        JR      NC,?0492\r
+    00004DBF 23                    1370        INC     HL\r
+    00004DC0 34                    1371        INC     (HL)\r
+    00004DC1                       1372 ?0492:\r
+    00004DC1 21 00 00              1373        LD      HL,0\r
+    00004DC4 39                    1374        ADD     HL,SP\r
+    00004DC5 47                    1375        LD      B,A\r
+    00004DC6 23                    1376        INC     HL\r
+    00004DC7 66                    1377        LD      H,(HL)\r
+    00004DC8 68                    1378        LD      L,B\r
+    00004DC9 FD E5                 1379        PUSH    IY\r
+    00004DCB C1                    1380        POP     BC\r
+    00004DCC 09                    1381        ADD     HL,BC\r
+    00004DCD 7E                    1382        LD      A,(HL)\r
+    00004DCE FE 20                 1383        CP      32\r
+    00004DD0 20 09                 1384        JR      NZ,?0493\r
+    00004DD2                       1385 ?0112:\r
+    00004DD2 21 00 00              1386        LD      HL,0\r
+    00004DD5 39                    1387        ADD     HL,SP\r
+    00004DD6 34                    1388        INC     (HL)\r
+    00004DD7 23                    1389        INC     HL\r
+    00004DD8 20 01                 1390        JR      NZ,?0493\r
+    00004DDA 34                    1391        INC     (HL)\r
+    00004DDB                       1392 ?0493:\r
+    00004DDB                       1393 ?0113:\r
+    00004DDB 21 00 00              1394        LD      HL,0\r
+    00004DDE 39                    1395        ADD     HL,SP\r
+    00004DDF E5                    1396        PUSH    HL\r
+    00004DE0 0E 20                 1397        LD      C,32\r
+    00004DE2 C5                    1398        PUSH    BC\r
+    00004DE3 CD DF 4B              1399        CALL    LWRD ?0660\r
+    00004DE6 F1                    1400        POP     AF\r
+    00004DE7 F1                    1401        POP     AF\r
+    00004DE8 DD 75 05              1402        LD      (IX+5),L\r
+    00004DEB DD 74 06              1403        LD      (IX+6),H\r
+    00004DEE                       1404 ?0111:\r
+    00004DEE DD E5                 1405        PUSH    IX\r
+    00004DF0 E1                    1406        POP     HL\r
+    00004DF1 F1                    1407        POP     AF\r
+    00004DF2 C3 C0 45              1408        JP      LWRD ?0614\r
+    00004DF5                       1409 dbTableOpen:\r
+    00004DF5 C5                    1410        PUSH    BC\r
+    00004DF6 FD E5                 1411        PUSH    IY\r
+    00004DF8 DD E5                 1412        PUSH    IX\r
+    00004DFA DD 21 00 00           1413        LD      IX,0\r
+    00004DFE DD 39                 1414        ADD     IX,SP\r
+    00004E00 F5                    1415        PUSH    AF\r
+    00004E01 F5                    1416        PUSH    AF\r
+    00004E02 F5                    1417        PUSH    AF\r
+    00004E03 F5                    1418        PUSH    AF\r
+    00004E04 D5                    1419        PUSH    DE\r
+    00004E05 FD E1                 1420        POP     IY\r
+    00004E07 11 40 00              1421        LD      DE,64\r
+    00004E0A CD E4 49              1422        CALL    LWRD ?0641\r
+    00004E0D DD 75 F8              1423        LD      (IX-8),L\r
+    00004E10 DD 74 F9              1424        LD      (IX-7),H\r
+    00004E13 01 AE 84              1425        LD      BC,?0114\r
+    00004E16 EB                    1426        EX      DE,HL\r
+    00004E17 CD A8 50              1427        CALL    LWRD ?0650\r
+    00004E1A CD 19 82              1428        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004E1D 01 B7 84              1429        LD      BC,?0115\r
+    00004E20 DD 5E F8              1430        LD      E,(IX-8)\r
+    00004E23 DD 56 F9              1431        LD      D,(IX-7)\r
+    00004E26 3E 00                 1432        LD      A,BYTE3 strcat\r
+    00004E28 21 12 7A              1433        LD      HL,LWRD strcat\r
+    00004E2B CD 19 82              1434        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004E2E FD 36 0A 00           1435        LD      (IY+10),0\r
+    00004E32 21 BC 84              1436        LD      HL,?0116\r
+    00004E35 E5                    1437        PUSH    HL\r
+    00004E36 21 00 00              1438        LD      HL,0\r
+    00004E39 E5                    1439        PUSH    HL\r
+    00004E3A 01 FF FF              1440        LD      BC,65535\r
+    00004E3D DD 5E F8              1441        LD      E,(IX-8)\r
+    00004E40 DD 56 F9              1442        LD      D,(IX-7)\r
+    00004E43 3E 00                 1443        LD      A,BYTE3 __fopen\r
+    00004E45 21 A3 7A              1444        LD      HL,LWRD __fopen\r
+    00004E48 CD 19 82              1445        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004E4B F1                    1446        POP     AF\r
+    00004E4C F1                    1447        POP     AF\r
+    00004E4D DD 75 FC              1448        LD      (IX-4),L\r
+    00004E50 DD 74 FD              1449        LD      (IX-3),H\r
+    00004E53 E5                    1450        PUSH    HL\r
+    00004E54 21 01 00              1451        LD      HL,1\r
+    00004E57 E5                    1452        PUSH    HL\r
+    00004E58 01 04 00              1453        LD      BC,4\r
+    00004E5B DD 5E F8              1454        LD      E,(IX-8)\r
+    00004E5E DD 56 F9              1455        LD      D,(IX-7)\r
+    00004E61 3E 00                 1456        LD      A,BYTE3 fread\r
+    00004E63 21 DD 70              1457        LD      HL,LWRD fread\r
+    00004E66 CD 19 82              1458        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004E69 F1                    1459        POP     AF\r
+    00004E6A F1                    1460        POP     AF\r
+    00004E6B DD 6E F8              1461        LD      L,(IX-8)\r
+    00004E6E DD 66 F9              1462        LD      H,(IX-7)\r
+    00004E71 7E                    1463        LD      A,(HL)\r
+    00004E72 FE 54                 1464        CP      84\r
+    00004E74 C2 7F 50              1465        JP      NZ,?0132\r
+    00004E77 23                    1466        INC     HL\r
+    00004E78 7E                    1467        LD      A,(HL)\r
+    00004E79 FE 42                 1468        CP      66\r
+    00004E7B C2 7F 50              1469        JP      NZ,?0132\r
+    00004E7E 23                    1470        INC     HL\r
+    00004E7F 7E                    1471        LD      A,(HL)\r
+    00004E80 FE 4C                 1472        CP      76\r
+    00004E82 C2 7F 50              1473        JP      NZ,?0132\r
+    00004E85 23                    1474        INC     HL\r
+    00004E86 7E                    1475        LD      A,(HL)\r
+    00004E87 FE 20                 1476        CP      32\r
+    00004E89 C2 7F 50              1477        JP      NZ,?0132\r
+    00004E8C                       1478 ?0119:\r
+    00004E8C                       1479 ?0120:\r
+    00004E8C                       1480 ?0117:\r
+    00004E8C                       1481 ?0118:\r
+    00004E8C DD 6E FC              1482        LD      L,(IX-4)\r
+    00004E8F DD 66 FD              1483        LD      H,(IX-3)\r
+    00004E92 E5                    1484        PUSH    HL\r
+    00004E93 21 01 00              1485        LD      HL,1\r
+    00004E96 E5                    1486        PUSH    HL\r
+    00004E97 01 04 00              1487        LD      BC,4\r
+    00004E9A DD 5E F8              1488        LD      E,(IX-8)\r
+    00004E9D DD 56 F9              1489        LD      D,(IX-7)\r
+    00004EA0 3E 00                 1490        LD      A,BYTE3 fread\r
+    00004EA2 21 DD 70              1491        LD      HL,LWRD fread\r
+    00004EA5 CD 19 82              1492        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004EA8 F1                    1493        POP     AF\r
+    00004EA9 F1                    1494        POP     AF\r
+    00004EAA DD 6E F8              1495        LD      L,(IX-8)\r
+    00004EAD DD 66 F9              1496        LD      H,(IX-7)\r
+    00004EB0 4E                    1497        LD      C,(HL)\r
+    00004EB1 DD 71 FE              1498        LD      (IX-2),C\r
+    00004EB4 06 00                 1499        LD      B,0\r
+    00004EB6 DD 70 FF              1500        LD      (IX-1),B\r
+    00004EB9 FD E5                 1501        PUSH    IY\r
+    00004EBB E1                    1502        POP     HL\r
+    00004EBC 71                    1503        LD      (HL),C\r
+    00004EBD 23                    1504        INC     HL\r
+    00004EBE 70                    1505        LD      (HL),B\r
+    00004EBF 69                    1506        LD      L,C\r
+    00004EC0 60                    1507        LD      H,B\r
+    00004EC1 29                    1508        ADD     HL,HL\r
+    00004EC2 29                    1509        ADD     HL,HL\r
+    00004EC3 4D                    1510        LD      C,L\r
+    00004EC4 44                    1511        LD      B,H\r
+    00004EC5 29                    1512        ADD     HL,HL\r
+    00004EC6 09                    1513        ADD     HL,BC\r
+    00004EC7 CD E3 49              1514        CALL    LWRD ?0642\r
+    00004ECA FD 75 02              1515        LD      (IY+2),L\r
+    00004ECD FD 74 03              1516        LD      (IY+3),H\r
+    00004ED0 AF                    1517        XOR     A\r
+    00004ED1 DD 77 FA              1518        LD      (IX-6),A\r
+    00004ED4 DD 77 FB              1519        LD      (IX-5),A\r
+    00004ED7                       1520 ?0123:\r
+    00004ED7 DD 4E FE              1521        LD      C,(IX-2)\r
+    00004EDA DD 46 FF              1522        LD      B,(IX-1)\r
+    00004EDD DD 6E FA              1523        LD      L,(IX-6)\r
+    00004EE0 DD 66 FB              1524        LD      H,(IX-5)\r
+    00004EE3 F6 80                 1525        OR      128\r
+    00004EE5 ED 42                 1526        SBC     HL,BC\r
+    00004EE7 E2 EB 4E              1527        JP      PO,?0494\r
+    00004EEA AC                    1528        XOR     H\r
+    00004EEB                       1529 ?0494:\r
+    00004EEB F2 94 4F              1530        JP      P,?0122\r
+    00004EEE                       1531 ?0124:\r
+    00004EEE DD 6E FC              1532        LD      L,(IX-4)\r
+    00004EF1 DD 66 FD              1533        LD      H,(IX-3)\r
+    00004EF4 E5                    1534        PUSH    HL\r
+    00004EF5 21 01 00              1535        LD      HL,1\r
+    00004EF8 E5                    1536        PUSH    HL\r
+    00004EF9 01 08 00              1537        LD      BC,8\r
+    00004EFC FD 6E 02              1538        LD      L,(IY+2)\r
+    00004EFF FD 66 03              1539        LD      H,(IY+3)\r
+    00004F02 E5                    1540        PUSH    HL\r
+    00004F03 DD 6E FA              1541        LD      L,(IX-6)\r
+    00004F06 DD 66 FB              1542        LD      H,(IX-5)\r
+    00004F09 29                    1543        ADD     HL,HL\r
+    00004F0A 29                    1544        ADD     HL,HL\r
+    00004F0B 5D                    1545        LD      E,L\r
+    00004F0C 54                    1546        LD      D,H\r
+    00004F0D 29                    1547        ADD     HL,HL\r
+    00004F0E 19                    1548        ADD     HL,DE\r
+    00004F0F EB                    1549        EX      DE,HL\r
+    00004F10 E1                    1550        POP     HL\r
+    00004F11 19                    1551        ADD     HL,DE\r
+    00004F12 EB                    1552        EX      DE,HL\r
+    00004F13 3E 00                 1553        LD      A,BYTE3 fread\r
+    00004F15 21 DD 70              1554        LD      HL,LWRD fread\r
+    00004F18 CD 19 82              1555        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004F1B F1                    1556        POP     AF\r
+    00004F1C F1                    1557        POP     AF\r
+    00004F1D FD 6E 02              1558        LD      L,(IY+2)\r
+    00004F20 FD 66 03              1559        LD      H,(IY+3)\r
+    00004F23 E5                    1560        PUSH    HL\r
+    00004F24 DD 6E FA              1561        LD      L,(IX-6)\r
+    00004F27 DD 66 FB              1562        LD      H,(IX-5)\r
+    00004F2A 29                    1563        ADD     HL,HL\r
+    00004F2B 29                    1564        ADD     HL,HL\r
+    00004F2C 4D                    1565        LD      C,L\r
+    00004F2D 44                    1566        LD      B,H\r
+    00004F2E 29                    1567        ADD     HL,HL\r
+    00004F2F 09                    1568        ADD     HL,BC\r
+    00004F30 4D                    1569        LD      C,L\r
+    00004F31 44                    1570        LD      B,H\r
+    00004F32 E1                    1571        POP     HL\r
+    00004F33 09                    1572        ADD     HL,BC\r
+    00004F34 01 08 00              1573        LD      BC,8\r
+    00004F37 09                    1574        ADD     HL,BC\r
+    00004F38 70                    1575        LD      (HL),B\r
+    00004F39 DD 6E FC              1576        LD      L,(IX-4)\r
+    00004F3C DD 66 FD              1577        LD      H,(IX-3)\r
+    00004F3F E5                    1578        PUSH    HL\r
+    00004F40 21 01 00              1579        LD      HL,1\r
+    00004F43 E5                    1580        PUSH    HL\r
+    00004F44 0E 03                 1581        LD      C,3\r
+    00004F46 FD 6E 02              1582        LD      L,(IY+2)\r
+    00004F49 FD 66 03              1583        LD      H,(IY+3)\r
+    00004F4C E5                    1584        PUSH    HL\r
+    00004F4D DD 6E FA              1585        LD      L,(IX-6)\r
+    00004F50 DD 66 FB              1586        LD      H,(IX-5)\r
+    00004F53 29                    1587        ADD     HL,HL\r
+    00004F54 29                    1588        ADD     HL,HL\r
+    00004F55 5D                    1589        LD      E,L\r
+    00004F56 54                    1590        LD      D,H\r
+    00004F57 29                    1591        ADD     HL,HL\r
+    00004F58 19                    1592        ADD     HL,DE\r
+    00004F59 EB                    1593        EX      DE,HL\r
+    00004F5A E1                    1594        POP     HL\r
+    00004F5B 19                    1595        ADD     HL,DE\r
+    00004F5C 11 09 00              1596        LD      DE,9\r
+    00004F5F 19                    1597        ADD     HL,DE\r
+    00004F60 EB                    1598        EX      DE,HL\r
+    00004F61 3E 00                 1599        LD      A,BYTE3 fread\r
+    00004F63 21 DD 70              1600        LD      HL,LWRD fread\r
+    00004F66 CD 19 82              1601        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004F69 F1                    1602        POP     AF\r
+    00004F6A F1                    1603        POP     AF\r
+    00004F6B DD 6E FC              1604        LD      L,(IX-4)\r
+    00004F6E DD 66 FD              1605        LD      H,(IX-3)\r
+    00004F71 E5                    1606        PUSH    HL\r
+    00004F72 21 01 00              1607        LD      HL,1\r
+    00004F75 E5                    1608        PUSH    HL\r
+    00004F76 4D                    1609        LD      C,L\r
+    00004F77 44                    1610        LD      B,H\r
+    00004F78 DD 5E F8              1611        LD      E,(IX-8)\r
+    00004F7B DD 56 F9              1612        LD      D,(IX-7)\r
+    00004F7E 3E 00                 1613        LD      A,BYTE3 fread\r
+    00004F80 21 DD 70              1614        LD      HL,LWRD fread\r
+    00004F83 CD 19 82              1615        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004F86 F1                    1616        POP     AF\r
+    00004F87 F1                    1617        POP     AF\r
+    00004F88 DD 34 FA              1618        INC     (IX-6)\r
+    00004F8B C2 D7 4E              1619        JP      NZ,?0123\r
+    00004F8E DD 34 FB              1620        INC     (IX-5)\r
+    00004F91 C3 D7 4E              1621        JP      LWRD ?0123\r
+    00004F94                       1622 ?0122:\r
+    00004F94 01 AE 84              1623        LD      BC,?0114\r
+    00004F97 DD 5E F8              1624        LD      E,(IX-8)\r
+    00004F9A DD 56 F9              1625        LD      D,(IX-7)\r
+    00004F9D CD A8 50              1626        CALL    LWRD ?0650\r
+    00004FA0 CD 19 82              1627        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004FA3 01 BF 84              1628        LD      BC,?0126\r
+    00004FA6 DD 5E F8              1629        LD      E,(IX-8)\r
+    00004FA9 DD 56 F9              1630        LD      D,(IX-7)\r
+    00004FAC 3E 00                 1631        LD      A,BYTE3 strcat\r
+    00004FAE 21 12 7A              1632        LD      HL,LWRD strcat\r
+    00004FB1 CD 19 82              1633        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004FB4 21 C4 84              1634        LD      HL,?0127\r
+    00004FB7 E5                    1635        PUSH    HL\r
+    00004FB8 21 00 00              1636        LD      HL,0\r
+    00004FBB E5                    1637        PUSH    HL\r
+    00004FBC 01 FF FF              1638        LD      BC,65535\r
+    00004FBF DD 5E F8              1639        LD      E,(IX-8)\r
+    00004FC2 DD 56 F9              1640        LD      D,(IX-7)\r
+    00004FC5 3E 00                 1641        LD      A,BYTE3 __fopen\r
+    00004FC7 21 A3 7A              1642        LD      HL,LWRD __fopen\r
+    00004FCA CD 19 82              1643        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004FCD F1                    1644        POP     AF\r
+    00004FCE F1                    1645        POP     AF\r
+    00004FCF FD 75 08              1646        LD      (IY+8),L\r
+    00004FD2 FD 74 09              1647        LD      (IY+9),H\r
+    00004FD5 FD 36 0A 01           1648        LD      (IY+10),1\r
+    00004FD9 FD 6E 08              1649        LD      L,(IY+8)\r
+    00004FDC FD 66 09              1650        LD      H,(IY+9)\r
+    00004FDF E5                    1651        PUSH    HL\r
+    00004FE0 21 01 00              1652        LD      HL,1\r
+    00004FE3 E5                    1653        PUSH    HL\r
+    00004FE4 01 04 00              1654        LD      BC,4\r
+    00004FE7 DD 5E F8              1655        LD      E,(IX-8)\r
+    00004FEA DD 56 F9              1656        LD      D,(IX-7)\r
+    00004FED 3E 00                 1657        LD      A,BYTE3 fread\r
+    00004FEF 21 DD 70              1658        LD      HL,LWRD fread\r
+    00004FF2 CD 19 82              1659        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004FF5 F1                    1660        POP     AF\r
+    00004FF6 F1                    1661        POP     AF\r
+    00004FF7 DD 6E F8              1662        LD      L,(IX-8)\r
+    00004FFA DD 66 F9              1663        LD      H,(IX-7)\r
+    00004FFD 7E                    1664        LD      A,(HL)\r
+    00004FFE FE 44                 1665        CP      68\r
+    00005000 20 12                 1666        JR      NZ,?0130\r
+    00005002 23                    1667        INC     HL\r
+    00005003 7E                    1668        LD      A,(HL)\r
+    00005004 FE 41                 1669        CP      65\r
+    00005006 20 0C                 1670        JR      NZ,?0130\r
+    00005008 23                    1671        INC     HL\r
+    00005009 7E                    1672        LD      A,(HL)\r
+    0000500A FE 54                 1673        CP      84\r
+    0000500C 20 06                 1674        JR      NZ,?0130\r
+    0000500E 23                    1675        INC     HL\r
+    0000500F 7E                    1676        LD      A,(HL)\r
+    00005010 FE 20                 1677        CP      32\r
+    00005012 28 0F                 1678        JR      Z,?0129\r
+    00005014                       1679 ?0130:\r
+    00005014                       1680 ?0131:\r
+    00005014                       1681 ?0128:\r
+    00005014 FD 36 0A 00           1682        LD      (IY+10),0\r
+    00005018 FD 5E 08              1683        LD      E,(IY+8)\r
+    0000501B FD 56 09              1684        LD      D,(IY+9)\r
+    0000501E CD A0 50              1685        CALL    LWRD ?0645\r
+    00005021 18 5C                 1686        JR      ?0132\r
+    00005023                       1687 ?0129:\r
+    00005023 FD 6E 08              1688        LD      L,(IY+8)\r
+    00005026 FD 66 09              1689        LD      H,(IY+9)\r
+    00005029 E5                    1690        PUSH    HL\r
+    0000502A 21 01 00              1691        LD      HL,1\r
+    0000502D E5                    1692        PUSH    HL\r
+    0000502E 01 02 00              1693        LD      BC,2\r
+    00005031 2E 04                 1694        LD      L,4\r
+    00005033 FD E5                 1695        PUSH    IY\r
+    00005035 D1                    1696        POP     DE\r
+    00005036 19                    1697        ADD     HL,DE\r
+    00005037 EB                    1698        EX      DE,HL\r
+    00005038 3E 00                 1699        LD      A,BYTE3 fread\r
+    0000503A 21 DD 70              1700        LD      HL,LWRD fread\r
+    0000503D CD 19 82              1701        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005040 F1                    1702        POP     AF\r
+    00005041 F1                    1703        POP     AF\r
+    00005042 FD 6E 08              1704        LD      L,(IY+8)\r
+    00005045 FD 66 09              1705        LD      H,(IY+9)\r
+    00005048 E5                    1706        PUSH    HL\r
+    00005049 21 01 00              1707        LD      HL,1\r
+    0000504C E5                    1708        PUSH    HL\r
+    0000504D 01 02 00              1709        LD      BC,2\r
+    00005050 2E 06                 1710        LD      L,6\r
+    00005052 FD E5                 1711        PUSH    IY\r
+    00005054 D1                    1712        POP     DE\r
+    00005055 19                    1713        ADD     HL,DE\r
+    00005056 EB                    1714        EX      DE,HL\r
+    00005057 3E 00                 1715        LD      A,BYTE3 fread\r
+    00005059 21 DD 70              1716        LD      HL,LWRD fread\r
+    0000505C CD 19 82              1717        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000505F F1                    1718        POP     AF\r
+    00005060 F1                    1719        POP     AF\r
+    00005061 FD 6E 08              1720        LD      L,(IY+8)\r
+    00005064 FD 66 09              1721        LD      H,(IY+9)\r
+    00005067 E5                    1722        PUSH    HL\r
+    00005068 21 01 00              1723        LD      HL,1\r
+    0000506B E5                    1724        PUSH    HL\r
+    0000506C 01 02 00              1725        LD      BC,2\r
+    0000506F DD 5E F8              1726        LD      E,(IX-8)\r
+    00005072 DD 56 F9              1727        LD      D,(IX-7)\r
+    00005075 3E 00                 1728        LD      A,BYTE3 fread\r
+    00005077 21 DD 70              1729        LD      HL,LWRD fread\r
+    0000507A CD 19 82              1730        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000507D F1                    1731        POP     AF\r
+    0000507E F1                    1732        POP     AF\r
+    0000507F                       1733 ?0132:\r
+    0000507F                       1734 ?0121:\r
+    0000507F DD 5E FC              1735        LD      E,(IX-4)\r
+    00005082 DD 56 FD              1736        LD      D,(IX-3)\r
+    00005085 CD A0 50              1737        CALL    LWRD ?0645\r
+    00005088 DD 5E F8              1738        LD      E,(IX-8)\r
+    0000508B DD 56 F9              1739        LD      D,(IX-7)\r
+    0000508E CD 90 45              1740        CALL    LWRD ?0639\r
+    00005091 DD F9                 1741        LD      SP,IX\r
+    00005093 C3 C0 45              1742        JP      LWRD ?0614\r
+    00005096                       1743 ?0646:\r
+    00005096 D5                    1744        PUSH    DE\r
+    00005097 DD E1                 1745        POP     IX\r
+    00005099 21 08 00              1746        LD      HL,8\r
+    0000509C 19                    1747        ADD     HL,DE\r
+    0000509D 5E                    1748        LD      E,(HL)\r
+    0000509E 23                    1749        INC     HL\r
+    0000509F 56                    1750        LD      D,(HL)\r
+    000050A0                       1751 ?0645:\r
+    000050A0 3E 01                 1752        LD      A,BYTE3 fclose\r
+    000050A2 21 FD 4C              1753        LD      HL,LWRD fclose\r
+    000050A5 C3 19 82              1754        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000050A8                       1755 ?0650:\r
+    000050A8 3E 00                 1756        LD      A,BYTE3 strcpy\r
+    000050AA 21 1C 7F              1757        LD      HL,LWRD strcpy\r
+    000050AD CD 19 82              1758        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000050B0 21 0B 00              1759        LD      HL,11\r
+    000050B3 FD E5                 1760        PUSH    IY\r
+    000050B5 C1                    1761        POP     BC\r
+    000050B6 09                    1762        ADD     HL,BC\r
+    000050B7 4D                    1763        LD      C,L\r
+    000050B8 44                    1764        LD      B,H\r
+    000050B9 DD 5E F8              1765        LD      E,(IX-8)\r
+    000050BC DD 56 F9              1766        LD      D,(IX-7)\r
+    000050BF 3E 00                 1767        LD      A,BYTE3 strcat\r
+    000050C1 21 12 7A              1768        LD      HL,LWRD strcat\r
+    000050C4 C9                    1769        RET\r
+    000050C5                       1770 dbTableClose:\r
+    000050C5 DD E5                 1771        PUSH    IX\r
+    000050C7 CD 96 50              1772        CALL    LWRD ?0646\r
+    000050CA DD 5E 02              1773        LD      E,(IX+2)\r
+    000050CD DD 56 03              1774        LD      D,(IX+3)\r
+    000050D0 3E 00                 1775        LD      A,BYTE3 free\r
+    000050D2 21 3C 7E              1776        LD      HL,LWRD free\r
+    000050D5                       1777 ?0634:\r
+    000050D5 CD 19 82              1778        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000050D8                       1779 ?0636:\r
+    000050D8 DD E5                 1780        PUSH    IX\r
+    000050DA D1                    1781        POP     DE\r
+    000050DB CD 90 45              1782        CALL    LWRD ?0639\r
+    000050DE DD E1                 1783        POP     IX\r
+    000050E0 C3 A9 81              1784        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000050E3                       1785 dbStatementClose:\r
+    000050E3 DD E5                 1786        PUSH    IX\r
+    000050E5 D5                    1787        PUSH    DE\r
+    000050E6 DD E1                 1788        POP     IX\r
+    000050E8 13                    1789        INC     DE\r
+    000050E9 EB                    1790        EX      DE,HL\r
+    000050EA 5E                    1791        LD      E,(HL)\r
+    000050EB 23                    1792        INC     HL\r
+    000050EC 56                    1793        LD      D,(HL)\r
+    000050ED 3E 00                 1794        LD      A,BYTE3 dbDeleteList\r
+    000050EF 21 55 45              1795        LD      HL,LWRD dbDeleteList\r
+    000050F2 CD 19 82              1796        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000050F5 DD 5E 03              1797        LD      E,(IX+3)\r
+    000050F8 DD 56 04              1798        LD      D,(IX+4)\r
+    000050FB 3E 00                 1799        LD      A,BYTE3 dbDeleteList\r
+    000050FD 21 55 45              1800        LD      HL,LWRD dbDeleteList\r
+    00005100 CD 19 82              1801        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005103 DD 5E 05              1802        LD      E,(IX+5)\r
+    00005106 DD 56 06              1803        LD      D,(IX+6)\r
+    00005109 3E 00                 1804        LD      A,BYTE3 dbDeleteList\r
+    0000510B 21 55 45              1805        LD      HL,LWRD dbDeleteList\r
+    0000510E CD 19 82              1806        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005111 DD 5E 07              1807        LD      E,(IX+7)\r
+    00005114 DD 56 08              1808        LD      D,(IX+8)\r
+    00005117 3E 00                 1809        LD      A,BYTE3 dbDeleteList\r
+    00005119 21 55 45              1810        LD      HL,LWRD dbDeleteList\r
+    0000511C C3 D5 50              1811        JP      LWRD ?0634\r
+    0000511F                       1812 dbResultSetClose:\r
+    0000511F DD E5                 1813        PUSH    IX\r
+    00005121 CD 96 50              1814        CALL    LWRD ?0646\r
+    00005124 DD 5E 02              1815        LD      E,(IX+2)\r
+    00005127 DD 56 03              1816        LD      D,(IX+3)\r
+    0000512A 3E 00                 1817        LD      A,BYTE3 free\r
+    0000512C 21 3C 7E              1818        LD      HL,LWRD free\r
+    0000512F C3 D5 50              1819        JP      LWRD ?0634\r
+    00005132                       1820 dbFieldOffset:\r
+    00005132 FD E5                 1821        PUSH    IY\r
+    00005134 DD E5                 1822        PUSH    IX\r
+    00005136 C5                    1823        PUSH    BC\r
+    00005137 D5                    1824        PUSH    DE\r
+    00005138 DD 21 00 00           1825        LD      IX,0\r
+    0000513C FD 21 00 00           1826        LD      IY,0\r
+    00005140                       1827 ?0134:\r
+    00005140 21 02 00              1828        LD      HL,2\r
+    00005143 39                    1829        ADD     HL,SP\r
+    00005144 4E                    1830        LD      C,(HL)\r
+    00005145 23                    1831        INC     HL\r
+    00005146 46                    1832        LD      B,(HL)\r
+    00005147 FD E5                 1833        PUSH    IY\r
+    00005149 E1                    1834        POP     HL\r
+    0000514A F6 80                 1835        OR      128\r
+    0000514C ED 42                 1836        SBC     HL,BC\r
+    0000514E E2 52 51              1837        JP      PO,?0498\r
+    00005151 AC                    1838        XOR     H\r
+    00005152                       1839 ?0498:\r
+    00005152 F2 7C 51              1840        JP      P,?0133\r
+    00005155                       1841 ?0135:\r
+    00005155 21 00 00              1842        LD      HL,0\r
+    00005158 39                    1843        ADD     HL,SP\r
+    00005159 46                    1844        LD      B,(HL)\r
+    0000515A 23                    1845        INC     HL\r
+    0000515B 66                    1846        LD      H,(HL)\r
+    0000515C 68                    1847        LD      L,B\r
+    0000515D 23                    1848        INC     HL\r
+    0000515E 23                    1849        INC     HL\r
+    0000515F 46                    1850        LD      B,(HL)\r
+    00005160 23                    1851        INC     HL\r
+    00005161 66                    1852        LD      H,(HL)\r
+    00005162 68                    1853        LD      L,B\r
+    00005163 E5                    1854        PUSH    HL\r
+    00005164 FD E5                 1855        PUSH    IY\r
+    00005166 E1                    1856        POP     HL\r
+    00005167 29                    1857        ADD     HL,HL\r
+    00005168 29                    1858        ADD     HL,HL\r
+    00005169 4D                    1859        LD      C,L\r
+    0000516A 44                    1860        LD      B,H\r
+    0000516B 29                    1861        ADD     HL,HL\r
+    0000516C 09                    1862        ADD     HL,BC\r
+    0000516D 4D                    1863        LD      C,L\r
+    0000516E 44                    1864        LD      B,H\r
+    0000516F E1                    1865        POP     HL\r
+    00005170 09                    1866        ADD     HL,BC\r
+    00005171 01 0A 00              1867        LD      BC,10\r
+    00005174 09                    1868        ADD     HL,BC\r
+    00005175 4E                    1869        LD      C,(HL)\r
+    00005176 DD 09                 1870        ADD     IX,BC\r
+    00005178 FD 23                 1871        INC     IY\r
+    0000517A 18 C4                 1872        JR      ?0134\r
+    0000517C                       1873 ?0133:\r
+    0000517C DD 23                 1874        INC     IX\r
+    0000517E DD 23                 1875        INC     IX\r
+    00005180 DD E5                 1876        PUSH    IX\r
+    00005182 E1                    1877        POP     HL\r
+    00005183 F1                    1878        POP     AF\r
+    00005184 C3 36 48              1879        JP      LWRD ?0626\r
+    00005187                       1880 dbRecordSize:\r
+    00005187 C5                    1881        PUSH    BC\r
+    00005188 DD E5                 1882        PUSH    IX\r
+    0000518A D5                    1883        PUSH    DE\r
+    0000518B DD E1                 1884        POP     IX\r
+    0000518D 1A                    1885        LD      A,(DE)\r
+    0000518E 4F                    1886        LD      C,A\r
+    0000518F 13                    1887        INC     DE\r
+    00005190 1A                    1888        LD      A,(DE)\r
+    00005191 47                    1889        LD      B,A\r
+    00005192 DD E5                 1890        PUSH    IX\r
+    00005194 D1                    1891        POP     DE\r
+    00005195 3E 00                 1892        LD      A,BYTE3 dbFieldOffset\r
+    00005197 21 32 51              1893        LD      HL,LWRD dbFieldOffset\r
+    0000519A CD 19 82              1894        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000519D DD E1                 1895        POP     IX\r
+    0000519F C1                    1896        POP     BC\r
+    000051A0 C3 A9 81              1897        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000051A3                       1898 dbFieldSearch:\r
+    000051A3 FD E5                 1899        PUSH    IY\r
+    000051A5 DD E5                 1900        PUSH    IX\r
+    000051A7 C5                    1901        PUSH    BC\r
+    000051A8 D5                    1902        PUSH    DE\r
+    000051A9 FD E1                 1903        POP     IY\r
+    000051AB DD 21 00 00           1904        LD      IX,0\r
+    000051AF                       1905 ?0138:\r
+    000051AF FD 4E 00              1906        LD      C,(IY+0)\r
+    000051B2 FD 46 01              1907        LD      B,(IY+1)\r
+    000051B5 DD E5                 1908        PUSH    IX\r
+    000051B7 E1                    1909        POP     HL\r
+    000051B8 F6 80                 1910        OR      128\r
+    000051BA ED 42                 1911        SBC     HL,BC\r
+    000051BC E2 C0 51              1912        JP      PO,?0500\r
+    000051BF AC                    1913        XOR     H\r
+    000051C0                       1914 ?0500:\r
+    000051C0 F2 F3 51              1915        JP      P,?0137\r
+    000051C3                       1916 ?0139:\r
+    000051C3 21 00 00              1917        LD      HL,0\r
+    000051C6 39                    1918        ADD     HL,SP\r
+    000051C7 4E                    1919        LD      C,(HL)\r
+    000051C8 23                    1920        INC     HL\r
+    000051C9 46                    1921        LD      B,(HL)\r
+    000051CA FD 6E 02              1922        LD      L,(IY+2)\r
+    000051CD FD 66 03              1923        LD      H,(IY+3)\r
+    000051D0 E5                    1924        PUSH    HL\r
+    000051D1 DD E5                 1925        PUSH    IX\r
+    000051D3 E1                    1926        POP     HL\r
+    000051D4 29                    1927        ADD     HL,HL\r
+    000051D5 29                    1928        ADD     HL,HL\r
+    000051D6 5D                    1929        LD      E,L\r
+    000051D7 54                    1930        LD      D,H\r
+    000051D8 29                    1931        ADD     HL,HL\r
+    000051D9 19                    1932        ADD     HL,DE\r
+    000051DA EB                    1933        EX      DE,HL\r
+    000051DB E1                    1934        POP     HL\r
+    000051DC 19                    1935        ADD     HL,DE\r
+    000051DD EB                    1936        EX      DE,HL\r
+    000051DE 3E 00                 1937        LD      A,BYTE3 strcmp\r
+    000051E0 21 93 7D              1938        LD      HL,LWRD strcmp\r
+    000051E3 CD 19 82              1939        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000051E6 7D                    1940        LD      A,L\r
+    000051E7 B4                    1941        OR      H\r
+    000051E8 20 05                 1942        JR      NZ,?0142\r
+    000051EA                       1943 ?0141:\r
+    000051EA DD E5                 1944        PUSH    IX\r
+    000051EC E1                    1945        POP     HL\r
+    000051ED 18 07                 1946        JR      ?0143\r
+    000051EF                       1947 ?0142:\r
+    000051EF DD 23                 1948        INC     IX\r
+    000051F1 18 BC                 1949        JR      ?0138\r
+    000051F3                       1950 ?0137:\r
+    000051F3 21 FF FF              1951        LD      HL,65535\r
+    000051F6                       1952 ?0143:\r
+    000051F6 C3 36 48              1953        JP      LWRD ?0626\r
+    000051F9                       1954 dbExecuteQuery:\r
+    000051F9 C5                    1955        PUSH    BC\r
+    000051FA FD E5                 1956        PUSH    IY\r
+    000051FC DD E5                 1957        PUSH    IX\r
+    000051FE DD 21 00 00           1958        LD      IX,0\r
+    00005202 DD 39                 1959        ADD     IX,SP\r
+    00005204 D5                    1960        PUSH    DE\r
+    00005205 21 DE FF              1961        LD      HL,65502\r
+    00005208 39                    1962        ADD     HL,SP\r
+    00005209 F9                    1963        LD      SP,HL\r
+    0000520A 11 0A 00              1964        LD      DE,10\r
+    0000520D CD E4 49              1965        CALL    LWRD ?0641\r
+    00005210 E5                    1966        PUSH    HL\r
+    00005211 FD E1                 1967        POP     IY\r
+    00005213 11 14 00              1968        LD      DE,20\r
+    00005216 CD E4 49              1969        CALL    LWRD ?0641\r
+    00005219 DD 75 DE              1970        LD      (IX-34),L\r
+    0000521C DD 74 DF              1971        LD      (IX-33),H\r
+    0000521F AF                    1972        XOR     A\r
+    00005220 DD 77 F8              1973        LD      (IX-8),A\r
+    00005223 DD 77 F9              1974        LD      (IX-7),A\r
+    00005226 CD 84 57              1975        CALL    LWRD ?0661\r
+    00005229 DD 75 FA              1976        LD      (IX-6),L\r
+    0000522C DD 74 FB              1977        LD      (IX-5),H\r
+    0000522F DD 6E FE              1978        LD      L,(IX-2)\r
+    00005232 DD 66 FF              1979        LD      H,(IX-1)\r
+    00005235 23                    1980        INC     HL\r
+    00005236 23                    1981        INC     HL\r
+    00005237 23                    1982        INC     HL\r
+    00005238 46                    1983        LD      B,(HL)\r
+    00005239 23                    1984        INC     HL\r
+    0000523A 66                    1985        LD      H,(HL)\r
+    0000523B 68                    1986        LD      L,B\r
+    0000523C 01 04 00              1987        LD      BC,4\r
+    0000523F 09                    1988        ADD     HL,BC\r
+    00005240 4E                    1989        LD      C,(HL)\r
+    00005241 23                    1990        INC     HL\r
+    00005242 46                    1991        LD      B,(HL)\r
+    00005243 21 0B 00              1992        LD      HL,11\r
+    00005246 DD 5E DE              1993        LD      E,(IX-34)\r
+    00005249 DD 56 DF              1994        LD      D,(IX-33)\r
+    0000524C CD 00 4A              1995        CALL    LWRD ?0653\r
+    0000524F DD 5E DE              1996        LD      E,(IX-34)\r
+    00005252 DD 56 DF              1997        LD      D,(IX-33)\r
+    00005255 3E 00                 1998        LD      A,BYTE3 dbTableOpen\r
+    00005257 21 F5 4D              1999        LD      HL,LWRD dbTableOpen\r
+    0000525A CD 19 82              2000        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000525D AF                    2001        XOR     A\r
+    0000525E FD 77 04              2002        LD      (IY+4),A\r
+    00005261 FD 77 05              2003        LD      (IY+5),A\r
+    00005264 FD 77 06              2004        LD      (IY+6),A\r
+    00005267 FD 77 07              2005        LD      (IY+7),A\r
+    0000526A 01 C8 84              2006        LD      BC,?0146\r
+    0000526D DD 6E FE              2007        LD      L,(IX-2)\r
+    00005270 DD 66 FF              2008        LD      H,(IX-1)\r
+    00005273 23                    2009        INC     HL\r
+    00005274 56                    2010        LD      D,(HL)\r
+    00005275 23                    2011        INC     HL\r
+    00005276 66                    2012        LD      H,(HL)\r
+    00005277 6A                    2013        LD      L,D\r
+    00005278 11 04 00              2014        LD      DE,4\r
+    0000527B 19                    2015        ADD     HL,DE\r
+    0000527C 5E                    2016        LD      E,(HL)\r
+    0000527D 23                    2017        INC     HL\r
+    0000527E 56                    2018        LD      D,(HL)\r
+    0000527F 3E 00                 2019        LD      A,BYTE3 strcmp\r
+    00005281 21 93 7D              2020        LD      HL,LWRD strcmp\r
+    00005284 CD 19 82              2021        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005287 7D                    2022        LD      A,L\r
+    00005288 B4                    2023        OR      H\r
+    00005289 C2 83 53              2024        JP      NZ,?0145\r
+    0000528C                       2025 ?0144:\r
+    0000528C DD 6E DE              2026        LD      L,(IX-34)\r
+    0000528F DD 66 DF              2027        LD      H,(IX-33)\r
+    00005292 46                    2028        LD      B,(HL)\r
+    00005293 23                    2029        INC     HL\r
+    00005294 66                    2030        LD      H,(HL)\r
+    00005295 68                    2031        LD      L,B\r
+    00005296 E5                    2032        PUSH    HL\r
+    00005297 FD E5                 2033        PUSH    IY\r
+    00005299 E1                    2034        POP     HL\r
+    0000529A C1                    2035        POP     BC\r
+    0000529B CD D9 49              2036        CALL    LWRD ?0643\r
+    0000529E CD 35 57              2037        CALL    LWRD ?0640\r
+    000052A1 CD 19 82              2038        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000052A4 FD 75 02              2039        LD      (IY+2),L\r
+    000052A7 FD 74 03              2040        LD      (IY+3),H\r
+    000052AA AF                    2041        XOR     A\r
+    000052AB DD 77 EE              2042        LD      (IX-18),A\r
+    000052AE DD 77 EF              2043        LD      (IX-17),A\r
+    000052B1                       2044 ?0148:\r
+    000052B1 FD 4E 00              2045        LD      C,(IY+0)\r
+    000052B4 FD 46 01              2046        LD      B,(IY+1)\r
+    000052B7 DD 6E EE              2047        LD      L,(IX-18)\r
+    000052BA DD 66 EF              2048        LD      H,(IX-17)\r
+    000052BD F6 80                 2049        OR      128\r
+    000052BF ED 42                 2050        SBC     HL,BC\r
+    000052C1 E2 C5 52              2051        JP      PO,?0501\r
+    000052C4 AC                    2052        XOR     H\r
+    000052C5                       2053 ?0501:\r
+    000052C5 F2 B6 54              2054        JP      P,?0152\r
+    000052C8                       2055 ?0149:\r
+    000052C8 DD 6E DE              2056        LD      L,(IX-34)\r
+    000052CB DD 66 DF              2057        LD      H,(IX-33)\r
+    000052CE 23                    2058        INC     HL\r
+    000052CF 23                    2059        INC     HL\r
+    000052D0 46                    2060        LD      B,(HL)\r
+    000052D1 23                    2061        INC     HL\r
+    000052D2 66                    2062        LD      H,(HL)\r
+    000052D3 68                    2063        LD      L,B\r
+    000052D4 E5                    2064        PUSH    HL\r
+    000052D5 DD 6E EE              2065        LD      L,(IX-18)\r
+    000052D8 DD 66 EF              2066        LD      H,(IX-17)\r
+    000052DB 29                    2067        ADD     HL,HL\r
+    000052DC 29                    2068        ADD     HL,HL\r
+    000052DD 4D                    2069        LD      C,L\r
+    000052DE 44                    2070        LD      B,H\r
+    000052DF 29                    2071        ADD     HL,HL\r
+    000052E0 09                    2072        ADD     HL,BC\r
+    000052E1 4D                    2073        LD      C,L\r
+    000052E2 44                    2074        LD      B,H\r
+    000052E3 E1                    2075        POP     HL\r
+    000052E4 09                    2076        ADD     HL,BC\r
+    000052E5 DD 75 E0              2077        LD      (IX-32),L\r
+    000052E8 DD 74 E1              2078        LD      (IX-31),H\r
+    000052EB DD 6E EE              2079        LD      L,(IX-18)\r
+    000052EE DD 66 EF              2080        LD      H,(IX-17)\r
+    000052F1 29                    2081        ADD     HL,HL\r
+    000052F2 DD 4E E4              2082        LD      C,(IX-28)\r
+    000052F5 DD 46 E5              2083        LD      B,(IX-27)\r
+    000052F8 09                    2084        ADD     HL,BC\r
+    000052F9 E5                    2085        PUSH    HL\r
+    000052FA DD 4E EE              2086        LD      C,(IX-18)\r
+    000052FD DD 46 EF              2087        LD      B,(IX-17)\r
+    00005300 DD 5E DE              2088        LD      E,(IX-34)\r
+    00005303 DD 56 DF              2089        LD      D,(IX-33)\r
+    00005306 3E 00                 2090        LD      A,BYTE3 dbFieldOffset\r
+    00005308 21 32 51              2091        LD      HL,LWRD dbFieldOffset\r
+    0000530B CD 19 82              2092        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000530E 4D                    2093        LD      C,L\r
+    0000530F 44                    2094        LD      B,H\r
+    00005310 E1                    2095        POP     HL\r
+    00005311 71                    2096        LD      (HL),C\r
+    00005312 23                    2097        INC     HL\r
+    00005313 70                    2098        LD      (HL),B\r
+    00005314 DD 6E EE              2099        LD      L,(IX-18)\r
+    00005317 DD 66 EF              2100        LD      H,(IX-17)\r
+    0000531A 29                    2101        ADD     HL,HL\r
+    0000531B DD 4E E6              2102        LD      C,(IX-26)\r
+    0000531E DD 46 E7              2103        LD      B,(IX-25)\r
+    00005321 09                    2104        ADD     HL,BC\r
+    00005322 E5                    2105        PUSH    HL\r
+    00005323 21 0A 00              2106        LD      HL,10\r
+    00005326 DD 4E E0              2107        LD      C,(IX-32)\r
+    00005329 DD 46 E1              2108        LD      B,(IX-31)\r
+    0000532C 09                    2109        ADD     HL,BC\r
+    0000532D 4E                    2110        LD      C,(HL)\r
+    0000532E 06 00                 2111        LD      B,0\r
+    00005330 E1                    2112        POP     HL\r
+    00005331 71                    2113        LD      (HL),C\r
+    00005332 23                    2114        INC     HL\r
+    00005333 70                    2115        LD      (HL),B\r
+    00005334 21 0C 00              2116        LD      HL,12\r
+    00005337 E5                    2117        PUSH    HL\r
+    00005338 DD 6E DE              2118        LD      L,(IX-34)\r
+    0000533B DD 66 DF              2119        LD      H,(IX-33)\r
+    0000533E 23                    2120        INC     HL\r
+    0000533F 23                    2121        INC     HL\r
+    00005340 46                    2122        LD      B,(HL)\r
+    00005341 23                    2123        INC     HL\r
+    00005342 66                    2124        LD      H,(HL)\r
+    00005343 68                    2125        LD      L,B\r
+    00005344 E5                    2126        PUSH    HL\r
+    00005345 DD 6E EE              2127        LD      L,(IX-18)\r
+    00005348 DD 66 EF              2128        LD      H,(IX-17)\r
+    0000534B 29                    2129        ADD     HL,HL\r
+    0000534C 29                    2130        ADD     HL,HL\r
+    0000534D 4D                    2131        LD      C,L\r
+    0000534E 44                    2132        LD      B,H\r
+    0000534F 29                    2133        ADD     HL,HL\r
+    00005350 09                    2134        ADD     HL,BC\r
+    00005351 4D                    2135        LD      C,L\r
+    00005352 44                    2136        LD      B,H\r
+    00005353 E1                    2137        POP     HL\r
+    00005354 09                    2138        ADD     HL,BC\r
+    00005355 4D                    2139        LD      C,L\r
+    00005356 44                    2140        LD      B,H\r
+    00005357 FD 6E 02              2141        LD      L,(IY+2)\r
+    0000535A FD 66 03              2142        LD      H,(IY+3)\r
+    0000535D E5                    2143        PUSH    HL\r
+    0000535E DD 6E EE              2144        LD      L,(IX-18)\r
+    00005361 DD 66 EF              2145        LD      H,(IX-17)\r
+    00005364 29                    2146        ADD     HL,HL\r
+    00005365 29                    2147        ADD     HL,HL\r
+    00005366 5D                    2148        LD      E,L\r
+    00005367 54                    2149        LD      D,H\r
+    00005368 29                    2150        ADD     HL,HL\r
+    00005369 19                    2151        ADD     HL,DE\r
+    0000536A EB                    2152        EX      DE,HL\r
+    0000536B E1                    2153        POP     HL\r
+    0000536C 19                    2154        ADD     HL,DE\r
+    0000536D EB                    2155        EX      DE,HL\r
+    0000536E 3E 00                 2156        LD      A,BYTE3 memcpy\r
+    00005370 21 1E 75              2157        LD      HL,LWRD memcpy\r
+    00005373 CD 19 82              2158        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005376 F1                    2159        POP     AF\r
+    00005377 DD 34 EE              2160        INC     (IX-18)\r
+    0000537A C2 B1 52              2161        JP      NZ,?0148\r
+    0000537D DD 34 EF              2162        INC     (IX-17)\r
+    00005380 C3 B1 52              2163        JP      LWRD ?0148\r
+    00005383                       2164 ?0147:\r
+    00005383                       2165 ?0145:\r
+    00005383 CD 64 57              2166        CALL    LWRD ?0647\r
+    00005386 E5                    2167        PUSH    HL\r
+    00005387 FD E5                 2168        PUSH    IY\r
+    00005389 E1                    2169        POP     HL\r
+    0000538A C1                    2170        POP     BC\r
+    0000538B CD D9 49              2171        CALL    LWRD ?0643\r
+    0000538E CD 35 57              2172        CALL    LWRD ?0640\r
+    00005391 CD 19 82              2173        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005394 FD 75 02              2174        LD      (IY+2),L\r
+    00005397 FD 74 03              2175        LD      (IY+3),H\r
+    0000539A DD 6E FE              2176        LD      L,(IX-2)\r
+    0000539D DD 66 FF              2177        LD      H,(IX-1)\r
+    000053A0 23                    2178        INC     HL\r
+    000053A1 46                    2179        LD      B,(HL)\r
+    000053A2 DD 70 E2              2180        LD      (IX-30),B\r
+    000053A5 23                    2181        INC     HL\r
+    000053A6 66                    2182        LD      H,(HL)\r
+    000053A7 DD 74 E3              2183        LD      (IX-29),H\r
+    000053AA AF                    2184        XOR     A\r
+    000053AB DD 77 EE              2185        LD      (IX-18),A\r
+    000053AE DD 77 EF              2186        LD      (IX-17),A\r
+    000053B1                       2187 ?0153:\r
+    000053B1 FD 4E 00              2188        LD      C,(IY+0)\r
+    000053B4 FD 46 01              2189        LD      B,(IY+1)\r
+    000053B7 DD 6E EE              2190        LD      L,(IX-18)\r
+    000053BA DD 66 EF              2191        LD      H,(IX-17)\r
+    000053BD F6 80                 2192        OR      128\r
+    000053BF ED 42                 2193        SBC     HL,BC\r
+    000053C1 E2 C5 53              2194        JP      PO,?0503\r
+    000053C4 AC                    2195        XOR     H\r
+    000053C5                       2196 ?0503:\r
+    000053C5 F2 B6 54              2197        JP      P,?0152\r
+    000053C8                       2198 ?0154:\r
+    000053C8 21 04 00              2199        LD      HL,4\r
+    000053CB DD 4E E2              2200        LD      C,(IX-30)\r
+    000053CE DD 46 E3              2201        LD      B,(IX-29)\r
+    000053D1 09                    2202        ADD     HL,BC\r
+    000053D2 4E                    2203        LD      C,(HL)\r
+    000053D3 23                    2204        INC     HL\r
+    000053D4 46                    2205        LD      B,(HL)\r
+    000053D5 DD 5E DE              2206        LD      E,(IX-34)\r
+    000053D8 DD 56 DF              2207        LD      D,(IX-33)\r
+    000053DB 3E 00                 2208        LD      A,BYTE3 dbFieldSearch\r
+    000053DD 21 A3 51              2209        LD      HL,LWRD dbFieldSearch\r
+    000053E0 CD 19 82              2210        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000053E3 DD 75 FC              2211        LD      (IX-4),L\r
+    000053E6 DD 74 FD              2212        LD      (IX-3),H\r
+    000053E9 DD 4E DE              2213        LD      C,(IX-34)\r
+    000053EC DD 46 DF              2214        LD      B,(IX-33)\r
+    000053EF 03                    2215        INC     BC\r
+    000053F0 03                    2216        INC     BC\r
+    000053F1 0A                    2217        LD      A,(BC)\r
+    000053F2 6F                    2218        LD      L,A\r
+    000053F3 03                    2219        INC     BC\r
+    000053F4 0A                    2220        LD      A,(BC)\r
+    000053F5 67                    2221        LD      H,A\r
+    000053F6 E5                    2222        PUSH    HL\r
+    000053F7 DD 6E FC              2223        LD      L,(IX-4)\r
+    000053FA DD 66 FD              2224        LD      H,(IX-3)\r
+    000053FD 29                    2225        ADD     HL,HL\r
+    000053FE 29                    2226        ADD     HL,HL\r
+    000053FF 4D                    2227        LD      C,L\r
+    00005400 44                    2228        LD      B,H\r
+    00005401 29                    2229        ADD     HL,HL\r
+    00005402 09                    2230        ADD     HL,BC\r
+    00005403 4D                    2231        LD      C,L\r
+    00005404 44                    2232        LD      B,H\r
+    00005405 E1                    2233        POP     HL\r
+    00005406 09                    2234        ADD     HL,BC\r
+    00005407 DD 75 E0              2235        LD      (IX-32),L\r
+    0000540A DD 74 E1              2236        LD      (IX-31),H\r
+    0000540D DD 6E EE              2237        LD      L,(IX-18)\r
+    00005410 DD 66 EF              2238        LD      H,(IX-17)\r
+    00005413 29                    2239        ADD     HL,HL\r
+    00005414 DD 4E E4              2240        LD      C,(IX-28)\r
+    00005417 DD 46 E5              2241        LD      B,(IX-27)\r
+    0000541A 09                    2242        ADD     HL,BC\r
+    0000541B E5                    2243        PUSH    HL\r
+    0000541C DD 4E FC              2244        LD      C,(IX-4)\r
+    0000541F DD 46 FD              2245        LD      B,(IX-3)\r
+    00005422 DD 5E DE              2246        LD      E,(IX-34)\r
+    00005425 DD 56 DF              2247        LD      D,(IX-33)\r
+    00005428 3E 00                 2248        LD      A,BYTE3 dbFieldOffset\r
+    0000542A 21 32 51              2249        LD      HL,LWRD dbFieldOffset\r
+    0000542D CD 19 82              2250        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005430 4D                    2251        LD      C,L\r
+    00005431 44                    2252        LD      B,H\r
+    00005432 E1                    2253        POP     HL\r
+    00005433 71                    2254        LD      (HL),C\r
+    00005434 23                    2255        INC     HL\r
+    00005435 70                    2256        LD      (HL),B\r
+    00005436 DD 6E EE              2257        LD      L,(IX-18)\r
+    00005439 DD 66 EF              2258        LD      H,(IX-17)\r
+    0000543C 29                    2259        ADD     HL,HL\r
+    0000543D DD 4E E6              2260        LD      C,(IX-26)\r
+    00005440 DD 46 E7              2261        LD      B,(IX-25)\r
+    00005443 09                    2262        ADD     HL,BC\r
+    00005444 E5                    2263        PUSH    HL\r
+    00005445 21 0A 00              2264        LD      HL,10\r
+    00005448 DD 4E E0              2265        LD      C,(IX-32)\r
+    0000544B DD 46 E1              2266        LD      B,(IX-31)\r
+    0000544E 09                    2267        ADD     HL,BC\r
+    0000544F 4E                    2268        LD      C,(HL)\r
+    00005450 06 00                 2269        LD      B,0\r
+    00005452 E1                    2270        POP     HL\r
+    00005453 71                    2271        LD      (HL),C\r
+    00005454 23                    2272        INC     HL\r
+    00005455 70                    2273        LD      (HL),B\r
+    00005456 21 0C 00              2274        LD      HL,12\r
+    00005459 E5                    2275        PUSH    HL\r
+    0000545A DD 6E DE              2276        LD      L,(IX-34)\r
+    0000545D DD 66 DF              2277        LD      H,(IX-33)\r
+    00005460 23                    2278        INC     HL\r
+    00005461 23                    2279        INC     HL\r
+    00005462 46                    2280        LD      B,(HL)\r
+    00005463 23                    2281        INC     HL\r
+    00005464 66                    2282        LD      H,(HL)\r
+    00005465 68                    2283        LD      L,B\r
+    00005466 E5                    2284        PUSH    HL\r
+    00005467 DD 6E FC              2285        LD      L,(IX-4)\r
+    0000546A DD 66 FD              2286        LD      H,(IX-3)\r
+    0000546D 29                    2287        ADD     HL,HL\r
+    0000546E 29                    2288        ADD     HL,HL\r
+    0000546F 4D                    2289        LD      C,L\r
+    00005470 44                    2290        LD      B,H\r
+    00005471 29                    2291        ADD     HL,HL\r
+    00005472 09                    2292        ADD     HL,BC\r
+    00005473 4D                    2293        LD      C,L\r
+    00005474 44                    2294        LD      B,H\r
+    00005475 E1                    2295        POP     HL\r
+    00005476 09                    2296        ADD     HL,BC\r
+    00005477 4D                    2297        LD      C,L\r
+    00005478 44                    2298        LD      B,H\r
+    00005479 FD 6E 02              2299        LD      L,(IY+2)\r
+    0000547C FD 66 03              2300        LD      H,(IY+3)\r
+    0000547F E5                    2301        PUSH    HL\r
+    00005480 DD 6E EE              2302        LD      L,(IX-18)\r
+    00005483 DD 66 EF              2303        LD      H,(IX-17)\r
+    00005486 29                    2304        ADD     HL,HL\r
+    00005487 29                    2305        ADD     HL,HL\r
+    00005488 5D                    2306        LD      E,L\r
+    00005489 54                    2307        LD      D,H\r
+    0000548A 29                    2308        ADD     HL,HL\r
+    0000548B 19                    2309        ADD     HL,DE\r
+    0000548C EB                    2310        EX      DE,HL\r
+    0000548D E1                    2311        POP     HL\r
+    0000548E 19                    2312        ADD     HL,DE\r
+    0000548F EB                    2313        EX      DE,HL\r
+    00005490 3E 00                 2314        LD      A,BYTE3 memcpy\r
+    00005492 21 1E 75              2315        LD      HL,LWRD memcpy\r
+    00005495 CD 19 82              2316        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005498 F1                    2317        POP     AF\r
+    00005499 DD 6E E2              2318        LD      L,(IX-30)\r
+    0000549C DD 66 E3              2319        LD      H,(IX-29)\r
+    0000549F 23                    2320        INC     HL\r
+    000054A0 23                    2321        INC     HL\r
+    000054A1 46                    2322        LD      B,(HL)\r
+    000054A2 DD 70 E2              2323        LD      (IX-30),B\r
+    000054A5 23                    2324        INC     HL\r
+    000054A6 66                    2325        LD      H,(HL)\r
+    000054A7 DD 74 E3              2326        LD      (IX-29),H\r
+    000054AA DD 34 EE              2327        INC     (IX-18)\r
+    000054AD C2 B1 53              2328        JP      NZ,?0153\r
+    000054B0 DD 34 EF              2329        INC     (IX-17)\r
+    000054B3 C3 B1 53              2330        JP      LWRD ?0153\r
+    000054B6                       2331 ?0152:\r
+    000054B6                       2332 ?0151:\r
+    000054B6 DD 5E DE              2333        LD      E,(IX-34)\r
+    000054B9 DD 56 DF              2334        LD      D,(IX-33)\r
+    000054BC 3E 00                 2335        LD      A,BYTE3 dbRecordSize\r
+    000054BE 21 87 51              2336        LD      HL,LWRD dbRecordSize\r
+    000054C1 CD 19 82              2337        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000054C4 DD 75 F4              2338        LD      (IX-12),L\r
+    000054C7 DD 74 F5              2339        LD      (IX-11),H\r
+    000054CA CD E3 49              2340        CALL    LWRD ?0642\r
+    000054CD DD 75 E8              2341        LD      (IX-24),L\r
+    000054D0 DD 74 E9              2342        LD      (IX-23),H\r
+    000054D3 FD E5                 2343        PUSH    IY\r
+    000054D5 D1                    2344        POP     DE\r
+    000054D6 3E 00                 2345        LD      A,BYTE3 dbRecordSize\r
+    000054D8 21 87 51              2346        LD      HL,LWRD dbRecordSize\r
+    000054DB CD 19 82              2347        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000054DE DD 75 F2              2348        LD      (IX-14),L\r
+    000054E1 DD 74 F3              2349        LD      (IX-13),H\r
+    000054E4 CD E3 49              2350        CALL    LWRD ?0642\r
+    000054E7 DD 75 EA              2351        LD      (IX-22),L\r
+    000054EA DD 74 EB              2352        LD      (IX-21),H\r
+    000054ED DD 6E DE              2353        LD      L,(IX-34)\r
+    000054F0 DD 66 DF              2354        LD      H,(IX-33)\r
+    000054F3 E5                    2355        PUSH    HL\r
+    000054F4 DD 6E FA              2356        LD      L,(IX-6)\r
+    000054F7 DD 66 FB              2357        LD      H,(IX-5)\r
+    000054FA C1                    2358        POP     BC\r
+    000054FB 71                    2359        LD      (HL),C\r
+    000054FC 23                    2360        INC     HL\r
+    000054FD 70                    2361        LD      (HL),B\r
+    000054FE DD 6E FA              2362        LD      L,(IX-6)\r
+    00005501 DD 66 FB              2363        LD      H,(IX-5)\r
+    00005504 23                    2364        INC     HL\r
+    00005505 23                    2365        INC     HL\r
+    00005506 AF                    2366        XOR     A\r
+    00005507 77                    2367        LD      (HL),A\r
+    00005508 23                    2368        INC     HL\r
+    00005509 77                    2369        LD      (HL),A\r
+    0000550A 21 04 00              2370        LD      HL,4\r
+    0000550D DD 4E FA              2371        LD      C,(IX-6)\r
+    00005510 DD 46 FB              2372        LD      B,(IX-5)\r
+    00005513 09                    2373        ADD     HL,BC\r
+    00005514 DD 4E E8              2374        LD      C,(IX-24)\r
+    00005517 71                    2375        LD      (HL),C\r
+    00005518 DD 46 E9              2376        LD      B,(IX-23)\r
+    0000551B 23                    2377        INC     HL\r
+    0000551C 70                    2378        LD      (HL),B\r
+    0000551D 21 D3 84              2379        LD      HL,?0157\r
+    00005520 E5                    2380        PUSH    HL\r
+    00005521 6F                    2381        LD      L,A\r
+    00005522 67                    2382        LD      H,A\r
+    00005523 E5                    2383        PUSH    HL\r
+    00005524 01 FF FF              2384        LD      BC,65535\r
+    00005527 11 CC 84              2385        LD      DE,?0156\r
+    0000552A 3E 00                 2386        LD      A,BYTE3 __fopen\r
+    0000552C 21 A3 7A              2387        LD      HL,LWRD __fopen\r
+    0000552F CD 19 82              2388        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005532 F1                    2389        POP     AF\r
+    00005533 F1                    2390        POP     AF\r
+    00005534 FD 75 08              2391        LD      (IY+8),L\r
+    00005537 FD 74 09              2392        LD      (IY+9),H\r
+    0000553A 21 05 00              2393        LD      HL,5\r
+    0000553D DD 4E FE              2394        LD      C,(IX-2)\r
+    00005540 DD 46 FF              2395        LD      B,(IX-1)\r
+    00005543 09                    2396        ADD     HL,BC\r
+    00005544 7E                    2397        LD      A,(HL)\r
+    00005545 23                    2398        INC     HL\r
+    00005546 B6                    2399        OR      (HL)\r
+    00005547 21 1C 00              2400        LD      HL,28\r
+    0000554A 39                    2401        ADD     HL,SP\r
+    0000554B 4D                    2402        LD      C,L\r
+    0000554C 44                    2403        LD      B,H\r
+    0000554D 28 17                 2404        JR      Z,?0159\r
+    0000554F                       2405 ?0158:\r
+    0000554F 21 05 00              2406        LD      HL,5\r
+    00005552 DD 5E FE              2407        LD      E,(IX-2)\r
+    00005555 DD 56 FF              2408        LD      D,(IX-1)\r
+    00005558 19                    2409        ADD     HL,DE\r
+    00005559 56                    2410        LD      D,(HL)\r
+    0000555A 23                    2411        INC     HL\r
+    0000555B 66                    2412        LD      H,(HL)\r
+    0000555C 6A                    2413        LD      L,D\r
+    0000555D 11 04 00              2414        LD      DE,4\r
+    00005560 19                    2415        ADD     HL,DE\r
+    00005561 5E                    2416        LD      E,(HL)\r
+    00005562 23                    2417        INC     HL\r
+    00005563 56                    2418        LD      D,(HL)\r
+    00005564 18 02                 2419        JR      ?0510\r
+    00005566                       2420 ?0159:\r
+    00005566 5F                    2421        LD      E,A\r
+    00005567 57                    2422        LD      D,A\r
+    00005568                       2423 ?0510:\r
+    00005568 3E 00                 2424        LD      A,BYTE3 dbParseExpression\r
+    0000556A 21 B2 65              2425        LD      HL,LWRD dbParseExpression\r
+    0000556D CD 19 82              2426        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005570 DD 75 F6              2427        LD      (IX-10),L\r
+    00005573 DD 74 F7              2428        LD      (IX-9),H\r
+    00005576                       2429 ?0160:\r
+    00005576 AF                    2430        XOR     A\r
+    00005577 DD 77 EE              2431        LD      (IX-18),A\r
+    0000557A DD 77 EF              2432        LD      (IX-17),A\r
+    0000557D                       2433 ?0162:\r
+    0000557D 21 04 00              2434        LD      HL,4\r
+    00005580 DD 4E DE              2435        LD      C,(IX-34)\r
+    00005583 DD 46 DF              2436        LD      B,(IX-33)\r
+    00005586 09                    2437        ADD     HL,BC\r
+    00005587 4E                    2438        LD      C,(HL)\r
+    00005588 23                    2439        INC     HL\r
+    00005589 46                    2440        LD      B,(HL)\r
+    0000558A DD 6E EE              2441        LD      L,(IX-18)\r
+    0000558D DD 66 EF              2442        LD      H,(IX-17)\r
+    00005590 F6 80                 2443        OR      128\r
+    00005592 ED 42                 2444        SBC     HL,BC\r
+    00005594 E2 98 55              2445        JP      PO,?0505\r
+    00005597 AC                    2446        XOR     H\r
+    00005598                       2447 ?0505:\r
+    00005598 F2 C6 56              2448        JP      P,?0161\r
+    0000559B                       2449 ?0163:\r
+    0000559B 21 08 00              2450        LD      HL,8\r
+    0000559E DD 4E DE              2451        LD      C,(IX-34)\r
+    000055A1 DD 46 DF              2452        LD      B,(IX-33)\r
+    000055A4 09                    2453        ADD     HL,BC\r
+    000055A5 4E                    2454        LD      C,(HL)\r
+    000055A6 23                    2455        INC     HL\r
+    000055A7 46                    2456        LD      B,(HL)\r
+    000055A8 C5                    2457        PUSH    BC\r
+    000055A9 21 01 00              2458        LD      HL,1\r
+    000055AC E5                    2459        PUSH    HL\r
+    000055AD DD 4E F4              2460        LD      C,(IX-12)\r
+    000055B0 DD 46 F5              2461        LD      B,(IX-11)\r
+    000055B3 DD 5E E8              2462        LD      E,(IX-24)\r
+    000055B6 DD 56 E9              2463        LD      D,(IX-23)\r
+    000055B9 3E 00                 2464        LD      A,BYTE3 fread\r
+    000055BB 21 DD 70              2465        LD      HL,LWRD fread\r
+    000055BE CD 19 82              2466        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000055C1 F1                    2467        POP     AF\r
+    000055C2 F1                    2468        POP     AF\r
+    000055C3 DD 6E E8              2469        LD      L,(IX-24)\r
+    000055C6 DD 66 E9              2470        LD      H,(IX-23)\r
+    000055C9 46                    2471        LD      B,(HL)\r
+    000055CA 05                    2472        DEC     B\r
+    000055CB C2 BA 56              2473        JP      NZ,?0508\r
+    000055CE                       2474 ?0165:\r
+    000055CE DD 6E EA              2475        LD      L,(IX-22)\r
+    000055D1 DD 66 EB              2476        LD      H,(IX-21)\r
+    000055D4 36 01                 2477        LD      (HL),1\r
+    000055D6 23                    2478        INC     HL\r
+    000055D7 70                    2479        LD      (HL),B\r
+    000055D8 DD 36 EC 02           2480        LD      (IX-20),2\r
+    000055DC DD 70 ED              2481        LD      (IX-19),B\r
+    000055DF AF                    2482        XOR     A\r
+    000055E0 DD 77 F0              2483        LD      (IX-16),A\r
+    000055E3 DD 77 F1              2484        LD      (IX-15),A\r
+    000055E6                       2485 ?0168:\r
+    000055E6 FD 4E 00              2486        LD      C,(IY+0)\r
+    000055E9 FD 46 01              2487        LD      B,(IY+1)\r
+    000055EC DD 6E F0              2488        LD      L,(IX-16)\r
+    000055EF DD 66 F1              2489        LD      H,(IX-15)\r
+    000055F2 F6 80                 2490        OR      128\r
+    000055F4 ED 42                 2491        SBC     HL,BC\r
+    000055F6 E2 FA 55              2492        JP      PO,?0506\r
+    000055F9 AC                    2493        XOR     H\r
+    000055FA                       2494 ?0506:\r
+    000055FA F2 68 56              2495        JP      P,?0167\r
+    000055FD                       2496 ?0169:\r
+    000055FD DD 6E F0              2497        LD      L,(IX-16)\r
+    00005600 DD 66 F1              2498        LD      H,(IX-15)\r
+    00005603 29                    2499        ADD     HL,HL\r
+    00005604 DD 4E E6              2500        LD      C,(IX-26)\r
+    00005607 DD 46 E7              2501        LD      B,(IX-25)\r
+    0000560A 09                    2502        ADD     HL,BC\r
+    0000560B 5E                    2503        LD      E,(HL)\r
+    0000560C 23                    2504        INC     HL\r
+    0000560D 56                    2505        LD      D,(HL)\r
+    0000560E D5                    2506        PUSH    DE\r
+    0000560F DD 6E F0              2507        LD      L,(IX-16)\r
+    00005612 DD 66 F1              2508        LD      H,(IX-15)\r
+    00005615 29                    2509        ADD     HL,HL\r
+    00005616 DD 5E E4              2510        LD      E,(IX-28)\r
+    00005619 DD 56 E5              2511        LD      D,(IX-27)\r
+    0000561C 19                    2512        ADD     HL,DE\r
+    0000561D 56                    2513        LD      D,(HL)\r
+    0000561E 23                    2514        INC     HL\r
+    0000561F 66                    2515        LD      H,(HL)\r
+    00005620 6A                    2516        LD      L,D\r
+    00005621 DD 5E E8              2517        LD      E,(IX-24)\r
+    00005624 DD 56 E9              2518        LD      D,(IX-23)\r
+    00005627 19                    2519        ADD     HL,DE\r
+    00005628 4D                    2520        LD      C,L\r
+    00005629 44                    2521        LD      B,H\r
+    0000562A DD 6E EC              2522        LD      L,(IX-20)\r
+    0000562D DD 66 ED              2523        LD      H,(IX-19)\r
+    00005630 DD 5E EA              2524        LD      E,(IX-22)\r
+    00005633 DD 56 EB              2525        LD      D,(IX-21)\r
+    00005636 19                    2526        ADD     HL,DE\r
+    00005637 EB                    2527        EX      DE,HL\r
+    00005638 3E 00                 2528        LD      A,BYTE3 memcpy\r
+    0000563A 21 1E 75              2529        LD      HL,LWRD memcpy\r
+    0000563D CD 19 82              2530        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005640 F1                    2531        POP     AF\r
+    00005641 DD 6E F0              2532        LD      L,(IX-16)\r
+    00005644 DD 66 F1              2533        LD      H,(IX-15)\r
+    00005647 29                    2534        ADD     HL,HL\r
+    00005648 DD 4E E6              2535        LD      C,(IX-26)\r
+    0000564B DD 46 E7              2536        LD      B,(IX-25)\r
+    0000564E 09                    2537        ADD     HL,BC\r
+    0000564F 4E                    2538        LD      C,(HL)\r
+    00005650 23                    2539        INC     HL\r
+    00005651 46                    2540        LD      B,(HL)\r
+    00005652 21 10 00              2541        LD      HL,16\r
+    00005655 39                    2542        ADD     HL,SP\r
+    00005656 7E                    2543        LD      A,(HL)\r
+    00005657 81                    2544        ADD     A,C\r
+    00005658 77                    2545        LD      (HL),A\r
+    00005659 23                    2546        INC     HL\r
+    0000565A 7E                    2547        LD      A,(HL)\r
+    0000565B 88                    2548        ADC     A,B\r
+    0000565C 77                    2549        LD      (HL),A\r
+    0000565D DD 34 F0              2550        INC     (IX-16)\r
+    00005660 20 84                 2551        JR      NZ,?0168\r
+    00005662 DD 34 F1              2552        INC     (IX-15)\r
+    00005665 C3 E6 55              2553        JP      LWRD ?0168\r
+    00005668                       2554 ?0167:\r
+    00005668 DD 4E FA              2555        LD      C,(IX-6)\r
+    0000566B DD 46 FB              2556        LD      B,(IX-5)\r
+    0000566E DD 5E F6              2557        LD      E,(IX-10)\r
+    00005671 DD 56 F7              2558        LD      D,(IX-9)\r
+    00005674 3E 00                 2559        LD      A,BYTE3 dbEvaluateExpression\r
+    00005676 21 15 6A              2560        LD      HL,LWRD dbEvaluateExpression\r
+    00005679 CD 19 82              2561        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000567C 21 24 00              2562        LD      HL,36\r
+    0000567F DD 4E F6              2563        LD      C,(IX-10)\r
+    00005682 DD 46 F7              2564        LD      B,(IX-9)\r
+    00005685 09                    2565        ADD     HL,BC\r
+    00005686 3E 01                 2566        LD      A,1\r
+    00005688 AE                    2567        XOR     (HL)\r
+    00005689 23                    2568        INC     HL\r
+    0000568A B6                    2569        OR      (HL)\r
+    0000568B 23                    2570        INC     HL\r
+    0000568C B6                    2571        OR      (HL)\r
+    0000568D 23                    2572        INC     HL\r
+    0000568E B6                    2573        OR      (HL)\r
+    0000568F 20 29                 2574        JR      NZ,?0508\r
+    00005691                       2575 ?0171:\r
+    00005691 FD 6E 08              2576        LD      L,(IY+8)\r
+    00005694 FD 66 09              2577        LD      H,(IY+9)\r
+    00005697 E5                    2578        PUSH    HL\r
+    00005698 21 01 00              2579        LD      HL,1\r
+    0000569B E5                    2580        PUSH    HL\r
+    0000569C DD 4E F2              2581        LD      C,(IX-14)\r
+    0000569F DD 46 F3              2582        LD      B,(IX-13)\r
+    000056A2 DD 5E EA              2583        LD      E,(IX-22)\r
+    000056A5 DD 56 EB              2584        LD      D,(IX-21)\r
+    000056A8 3E 00                 2585        LD      A,BYTE3 fwrite\r
+    000056AA 21 F6 77              2586        LD      HL,LWRD fwrite\r
+    000056AD CD 19 82              2587        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000056B0 F1                    2588        POP     AF\r
+    000056B1 F1                    2589        POP     AF\r
+    000056B2 FD 34 04              2590        INC     (IY+4)\r
+    000056B5 20 03                 2591        JR      NZ,?0508\r
+    000056B7 FD 34 05              2592        INC     (IY+5)\r
+    000056BA                       2593 ?0508:\r
+    000056BA                       2594 ?0172:\r
+    000056BA                       2595 ?0166:\r
+    000056BA DD 34 EE              2596        INC     (IX-18)\r
+    000056BD C2 7D 55              2597        JP      NZ,?0162\r
+    000056C0 DD 34 EF              2598        INC     (IX-17)\r
+    000056C3 C3 7D 55              2599        JP      LWRD ?0162\r
+    000056C6                       2600 ?0161:\r
+    000056C6 DD 5E E8              2601        LD      E,(IX-24)\r
+    000056C9 DD 56 E9              2602        LD      D,(IX-23)\r
+    000056CC CD 90 45              2603        CALL    LWRD ?0639\r
+    000056CF DD 5E E4              2604        LD      E,(IX-28)\r
+    000056D2 DD 56 E5              2605        LD      D,(IX-27)\r
+    000056D5 CD 90 45              2606        CALL    LWRD ?0639\r
+    000056D8 DD 5E E6              2607        LD      E,(IX-26)\r
+    000056DB DD 56 E7              2608        LD      D,(IX-25)\r
+    000056DE CD 90 45              2609        CALL    LWRD ?0639\r
+    000056E1 DD 5E FA              2610        LD      E,(IX-6)\r
+    000056E4 DD 56 FB              2611        LD      D,(IX-5)\r
+    000056E7 CD 90 45              2612        CALL    LWRD ?0639\r
+    000056EA DD 5E F6              2613        LD      E,(IX-10)\r
+    000056ED DD 56 F7              2614        LD      D,(IX-9)\r
+    000056F0 3E 00                 2615        LD      A,BYTE3 dbDeleteExpression\r
+    000056F2 21 EC 69              2616        LD      HL,LWRD dbDeleteExpression\r
+    000056F5 CD 19 82              2617        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000056F8 DD 5E DE              2618        LD      E,(IX-34)\r
+    000056FB DD 56 DF              2619        LD      D,(IX-33)\r
+    000056FE 3E 00                 2620        LD      A,BYTE3 dbTableClose\r
+    00005700 21 C5 50              2621        LD      HL,LWRD dbTableClose\r
+    00005703 CD 19 82              2622        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005706 FD 5E 08              2623        LD      E,(IY+8)\r
+    00005709 FD 56 09              2624        LD      D,(IY+9)\r
+    0000570C CD A0 50              2625        CALL    LWRD ?0645\r
+    0000570F 21 C4 84              2626        LD      HL,?0127\r
+    00005712 E5                    2627        PUSH    HL\r
+    00005713 21 00 00              2628        LD      HL,0\r
+    00005716 E5                    2629        PUSH    HL\r
+    00005717 01 FF FF              2630        LD      BC,65535\r
+    0000571A 11 CC 84              2631        LD      DE,?0156\r
+    0000571D 3E 00                 2632        LD      A,BYTE3 __fopen\r
+    0000571F 21 A3 7A              2633        LD      HL,LWRD __fopen\r
+    00005722 CD 19 82              2634        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005725 F1                    2635        POP     AF\r
+    00005726 F1                    2636        POP     AF\r
+    00005727 FD 75 08              2637        LD      (IY+8),L\r
+    0000572A FD 74 09              2638        LD      (IY+9),H\r
+    0000572D FD E5                 2639        PUSH    IY\r
+    0000572F E1                    2640        POP     HL\r
+    00005730 DD F9                 2641        LD      SP,IX\r
+    00005732 C3 C0 45              2642        JP      LWRD ?0614\r
+    00005735                       2643 ?0640:\r
+    00005735 DD 75 E4              2644        LD      (IX-28),L\r
+    00005738 DD 74 E5              2645        LD      (IX-27),H\r
+    0000573B FD 6E 00              2646        LD      L,(IY+0)\r
+    0000573E FD 66 01              2647        LD      H,(IY+1)\r
+    00005741 29                    2648        ADD     HL,HL\r
+    00005742 EB                    2649        EX      DE,HL\r
+    00005743 3E 01                 2650        LD      A,BYTE3 malloc\r
+    00005745 21 82 4A              2651        LD      HL,LWRD malloc\r
+    00005748 CD 19 82              2652        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000574B DD 75 E6              2653        LD      (IX-26),L\r
+    0000574E DD 74 E7              2654        LD      (IX-25),H\r
+    00005751 FD 6E 00              2655        LD      L,(IY+0)\r
+    00005754 FD 66 01              2656        LD      H,(IY+1)\r
+    00005757 29                    2657        ADD     HL,HL\r
+    00005758 29                    2658        ADD     HL,HL\r
+    00005759 4D                    2659        LD      C,L\r
+    0000575A 44                    2660        LD      B,H\r
+    0000575B 29                    2661        ADD     HL,HL\r
+    0000575C 09                    2662        ADD     HL,BC\r
+    0000575D EB                    2663        EX      DE,HL\r
+    0000575E 3E 01                 2664        LD      A,BYTE3 malloc\r
+    00005760 21 82 4A              2665        LD      HL,LWRD malloc\r
+    00005763 C9                    2666        RET\r
+    00005764                       2667 ?0647:\r
+    00005764 DD 6E FE              2668        LD      L,(IX-2)\r
+    00005767 DD 66 FF              2669        LD      H,(IX-1)\r
+    0000576A 23                    2670        INC     HL\r
+    0000576B 5E                    2671        LD      E,(HL)\r
+    0000576C 23                    2672        INC     HL\r
+    0000576D 56                    2673        LD      D,(HL)\r
+    0000576E 3E 00                 2674        LD      A,BYTE3 dbListSize\r
+    00005770 21 C8 45              2675        LD      HL,LWRD dbListSize\r
+    00005773 C3 19 82              2676        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00005776                       2677 ?0662:\r
+    00005776 3E 00                 2678        LD      A,BYTE3 dbParseExpression\r
+    00005778 21 B2 65              2679        LD      HL,LWRD dbParseExpression\r
+    0000577B CD 19 82              2680        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000577E DD 75 F8              2681        LD      (IX-8),L\r
+    00005781 DD 74 F9              2682        LD      (IX-7),H\r
+    00005784                       2683 ?0661:\r
+    00005784 3E 00                 2684        LD      A,BYTE3 dbNewRow\r
+    00005786 21 99 62              2685        LD      HL,LWRD dbNewRow\r
+    00005789 C3 19 82              2686        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    0000578C                       2687 ?0663:\r
+    0000578C DD 5E F8              2688        LD      E,(IX-8)\r
+    0000578F DD 56 F9              2689        LD      D,(IX-7)\r
+    00005792 3E 00                 2690        LD      A,BYTE3 dbEvaluateExpression\r
+    00005794 21 15 6A              2691        LD      HL,LWRD dbEvaluateExpression\r
+    00005797 CD 19 82              2692        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000579A 21 24 00              2693        LD      HL,36\r
+    0000579D DD 4E F8              2694        LD      C,(IX-8)\r
+    000057A0 DD 46 F9              2695        LD      B,(IX-7)\r
+    000057A3 09                    2696        ADD     HL,BC\r
+    000057A4 3E 01                 2697        LD      A,1\r
+    000057A6 AE                    2698        XOR     (HL)\r
+    000057A7 23                    2699        INC     HL\r
+    000057A8 B6                    2700        OR      (HL)\r
+    000057A9 23                    2701        INC     HL\r
+    000057AA B6                    2702        OR      (HL)\r
+    000057AB 23                    2703        INC     HL\r
+    000057AC B6                    2704        OR      (HL)\r
+    000057AD C9                    2705        RET\r
+    000057AE                       2706 dbExecuteInsert:\r
+    000057AE C5                    2707        PUSH    BC\r
+    000057AF FD E5                 2708        PUSH    IY\r
+    000057B1 DD E5                 2709        PUSH    IX\r
+    000057B3 DD 21 00 00           2710        LD      IX,0\r
+    000057B7 DD 39                 2711        ADD     IX,SP\r
+    000057B9 D5                    2712        PUSH    DE\r
+    000057BA 21 E8 FF              2713        LD      HL,65512\r
+    000057BD 39                    2714        ADD     HL,SP\r
+    000057BE F9                    2715        LD      SP,HL\r
+    000057BF 11 14 00              2716        LD      DE,20\r
+    000057C2 CD E4 49              2717        CALL    LWRD ?0641\r
+    000057C5 DD 75 E6              2718        LD      (IX-26),L\r
+    000057C8 DD 74 E7              2719        LD      (IX-25),H\r
+    000057CB DD 4E FE              2720        LD      C,(IX-2)\r
+    000057CE DD 46 FF              2721        LD      B,(IX-1)\r
+    000057D1 03                    2722        INC     BC\r
+    000057D2 03                    2723        INC     BC\r
+    000057D3 03                    2724        INC     BC\r
+    000057D4 0A                    2725        LD      A,(BC)\r
+    000057D5 6F                    2726        LD      L,A\r
+    000057D6 03                    2727        INC     BC\r
+    000057D7 0A                    2728        LD      A,(BC)\r
+    000057D8 67                    2729        LD      H,A\r
+    000057D9 01 04 00              2730        LD      BC,4\r
+    000057DC 09                    2731        ADD     HL,BC\r
+    000057DD 4E                    2732        LD      C,(HL)\r
+    000057DE 23                    2733        INC     HL\r
+    000057DF 46                    2734        LD      B,(HL)\r
+    000057E0 21 0B 00              2735        LD      HL,11\r
+    000057E3 DD 5E E6              2736        LD      E,(IX-26)\r
+    000057E6 DD 56 E7              2737        LD      D,(IX-25)\r
+    000057E9 CD 00 4A              2738        CALL    LWRD ?0653\r
+    000057EC DD 5E E6              2739        LD      E,(IX-26)\r
+    000057EF DD 56 E7              2740        LD      D,(IX-25)\r
+    000057F2 3E 00                 2741        LD      A,BYTE3 dbTableOpen\r
+    000057F4 21 F5 4D              2742        LD      HL,LWRD dbTableOpen\r
+    000057F7 CD 19 82              2743        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000057FA DD 5E E6              2744        LD      E,(IX-26)\r
+    000057FD DD 56 E7              2745        LD      D,(IX-25)\r
+    00005800 3E 00                 2746        LD      A,BYTE3 dbRecordSize\r
+    00005802 21 87 51              2747        LD      HL,LWRD dbRecordSize\r
+    00005805 CD 19 82              2748        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005808 DD 75 FA              2749        LD      (IX-6),L\r
+    0000580B DD 74 FB              2750        LD      (IX-5),H\r
+    0000580E CD E3 49              2751        CALL    LWRD ?0642\r
+    00005811 DD 75 E8              2752        LD      (IX-24),L\r
+    00005814 DD 74 E9              2753        LD      (IX-23),H\r
+    00005817 AF                    2754        XOR     A\r
+    00005818 DD 77 F4              2755        LD      (IX-12),A\r
+    0000581B DD 77 F5              2756        LD      (IX-11),A\r
+    0000581E                       2757 ?0174:\r
+    0000581E DD 4E FA              2758        LD      C,(IX-6)\r
+    00005821 DD 46 FB              2759        LD      B,(IX-5)\r
+    00005824 DD 6E F4              2760        LD      L,(IX-12)\r
+    00005827 DD 66 F5              2761        LD      H,(IX-11)\r
+    0000582A F6 80                 2762        OR      128\r
+    0000582C ED 42                 2763        SBC     HL,BC\r
+    0000582E E2 32 58              2764        JP      PO,?0511\r
+    00005831 AC                    2765        XOR     H\r
+    00005832                       2766 ?0511:\r
+    00005832 F2 4E 58              2767        JP      P,?0173\r
+    00005835                       2768 ?0175:\r
+    00005835 DD 6E F4              2769        LD      L,(IX-12)\r
+    00005838 DD 66 F5              2770        LD      H,(IX-11)\r
+    0000583B DD 4E E8              2771        LD      C,(IX-24)\r
+    0000583E DD 46 E9              2772        LD      B,(IX-23)\r
+    00005841 09                    2773        ADD     HL,BC\r
+    00005842 36 00                 2774        LD      (HL),0\r
+    00005844 DD 34 F4              2775        INC     (IX-12)\r
+    00005847 20 D5                 2776        JR      NZ,?0174\r
+    00005849 DD 34 F5              2777        INC     (IX-11)\r
+    0000584C 18 D0                 2778        JR      ?0174\r
+    0000584E                       2779 ?0173:\r
+    0000584E 59                    2780        LD      E,C\r
+    0000584F 50                    2781        LD      D,B\r
+    00005850 CD E4 49              2782        CALL    LWRD ?0641\r
+    00005853 DD 75 EA              2783        LD      (IX-22),L\r
+    00005856 DD 74 EB              2784        LD      (IX-21),H\r
+    00005859 DD 6E E8              2785        LD      L,(IX-24)\r
+    0000585C DD 66 E9              2786        LD      H,(IX-23)\r
+    0000585F 36 01                 2787        LD      (HL),1\r
+    00005861 23                    2788        INC     HL\r
+    00005862 36 00                 2789        LD      (HL),0\r
+    00005864 CD 64 57              2790        CALL    LWRD ?0647\r
+    00005867 DD 75 F2              2791        LD      (IX-14),L\r
+    0000586A DD 74 F3              2792        LD      (IX-13),H\r
+    0000586D DD 6E FE              2793        LD      L,(IX-2)\r
+    00005870 DD 66 FF              2794        LD      H,(IX-1)\r
+    00005873 23                    2795        INC     HL\r
+    00005874 46                    2796        LD      B,(HL)\r
+    00005875 DD 70 EC              2797        LD      (IX-20),B\r
+    00005878 23                    2798        INC     HL\r
+    00005879 66                    2799        LD      H,(HL)\r
+    0000587A DD 74 ED              2800        LD      (IX-19),H\r
+    0000587D 21 07 00              2801        LD      HL,7\r
+    00005880 DD 4E FE              2802        LD      C,(IX-2)\r
+    00005883 DD 46 FF              2803        LD      B,(IX-1)\r
+    00005886 09                    2804        ADD     HL,BC\r
+    00005887 46                    2805        LD      B,(HL)\r
+    00005888 23                    2806        INC     HL\r
+    00005889 66                    2807        LD      H,(HL)\r
+    0000588A 68                    2808        LD      L,B\r
+    0000588B E5                    2809        PUSH    HL\r
+    0000588C FD E1                 2810        POP     IY\r
+    0000588E AF                    2811        XOR     A\r
+    0000588F DD 77 F4              2812        LD      (IX-12),A\r
+    00005892 DD 77 F5              2813        LD      (IX-11),A\r
+    00005895                       2814 ?0178:\r
+    00005895 DD 4E F2              2815        LD      C,(IX-14)\r
+    00005898 DD 46 F3              2816        LD      B,(IX-13)\r
+    0000589B DD 6E F4              2817        LD      L,(IX-12)\r
+    0000589E DD 66 F5              2818        LD      H,(IX-11)\r
+    000058A1 F6 80                 2819        OR      128\r
+    000058A3 ED 42                 2820        SBC     HL,BC\r
+    000058A5 E2 A9 58              2821        JP      PO,?0513\r
+    000058A8 AC                    2822        XOR     H\r
+    000058A9                       2823 ?0513:\r
+    000058A9 F2 39 5A              2824        JP      P,?0177\r
+    000058AC                       2825 ?0179:\r
+    000058AC 21 04 00              2826        LD      HL,4\r
+    000058AF DD 4E EC              2827        LD      C,(IX-20)\r
+    000058B2 DD 46 ED              2828        LD      B,(IX-19)\r
+    000058B5 09                    2829        ADD     HL,BC\r
+    000058B6 4E                    2830        LD      C,(HL)\r
+    000058B7 23                    2831        INC     HL\r
+    000058B8 46                    2832        LD      B,(HL)\r
+    000058B9 DD 5E E6              2833        LD      E,(IX-26)\r
+    000058BC DD 56 E7              2834        LD      D,(IX-25)\r
+    000058BF 3E 00                 2835        LD      A,BYTE3 dbFieldSearch\r
+    000058C1 21 A3 51              2836        LD      HL,LWRD dbFieldSearch\r
+    000058C4 CD 19 82              2837        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000058C7 DD 75 FC              2838        LD      (IX-4),L\r
+    000058CA DD 74 FD              2839        LD      (IX-3),H\r
+    000058CD DD 4E E6              2840        LD      C,(IX-26)\r
+    000058D0 DD 46 E7              2841        LD      B,(IX-25)\r
+    000058D3 03                    2842        INC     BC\r
+    000058D4 03                    2843        INC     BC\r
+    000058D5 0A                    2844        LD      A,(BC)\r
+    000058D6 6F                    2845        LD      L,A\r
+    000058D7 03                    2846        INC     BC\r
+    000058D8 0A                    2847        LD      A,(BC)\r
+    000058D9 67                    2848        LD      H,A\r
+    000058DA E5                    2849        PUSH    HL\r
+    000058DB DD 6E FC              2850        LD      L,(IX-4)\r
+    000058DE DD 66 FD              2851        LD      H,(IX-3)\r
+    000058E1 29                    2852        ADD     HL,HL\r
+    000058E2 29                    2853        ADD     HL,HL\r
+    000058E3 4D                    2854        LD      C,L\r
+    000058E4 44                    2855        LD      B,H\r
+    000058E5 29                    2856        ADD     HL,HL\r
+    000058E6 09                    2857        ADD     HL,BC\r
+    000058E7 4D                    2858        LD      C,L\r
+    000058E8 44                    2859        LD      B,H\r
+    000058E9 E1                    2860        POP     HL\r
+    000058EA 09                    2861        ADD     HL,BC\r
+    000058EB DD 75 F0              2862        LD      (IX-16),L\r
+    000058EE DD 74 F1              2863        LD      (IX-15),H\r
+    000058F1 DD 4E FC              2864        LD      C,(IX-4)\r
+    000058F4 DD 46 FD              2865        LD      B,(IX-3)\r
+    000058F7 DD 5E E6              2866        LD      E,(IX-26)\r
+    000058FA DD 56 E7              2867        LD      D,(IX-25)\r
+    000058FD 3E 00                 2868        LD      A,BYTE3 dbFieldOffset\r
+    000058FF 21 32 51              2869        LD      HL,LWRD dbFieldOffset\r
+    00005902 CD 19 82              2870        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005905 DD 75 F6              2871        LD      (IX-10),L\r
+    00005908 DD 74 F7              2872        LD      (IX-9),H\r
+    0000590B 21 0A 00              2873        LD      HL,10\r
+    0000590E DD 4E F0              2874        LD      C,(IX-16)\r
+    00005911 DD 46 F1              2875        LD      B,(IX-15)\r
+    00005914 09                    2876        ADD     HL,BC\r
+    00005915 4E                    2877        LD      C,(HL)\r
+    00005916 DD 71 F8              2878        LD      (IX-8),C\r
+    00005919 DD 36 F9 00           2879        LD      (IX-7),0\r
+    0000591D FD 6E 04              2880        LD      L,(IY+4)\r
+    00005920 FD 66 05              2881        LD      H,(IY+5)\r
+    00005923 7E                    2882        LD      A,(HL)\r
+    00005924 FE 27                 2883        CP      39\r
+    00005926 C2 AD 59              2884        JP      NZ,?0182\r
+    00005929                       2885 ?0181:\r
+    00005929 FD 5E 04              2886        LD      E,(IY+4)\r
+    0000592C FD 56 05              2887        LD      D,(IY+5)\r
+    0000592F CD ED 49              2888        CALL    LWRD ?0649\r
+    00005932 FD 4E 04              2889        LD      C,(IY+4)\r
+    00005935 FD 46 05              2890        LD      B,(IY+5)\r
+    00005938 09                    2891        ADD     HL,BC\r
+    00005939 2B                    2892        DEC     HL\r
+    0000593A 36 00                 2893        LD      (HL),0\r
+    0000593C 21 09 00              2894        LD      HL,9\r
+    0000593F DD 4E F0              2895        LD      C,(IX-16)\r
+    00005942 DD 46 F1              2896        LD      B,(IX-15)\r
+    00005945 09                    2897        ADD     HL,BC\r
+    00005946 7E                    2898        LD      A,(HL)\r
+    00005947 FE 53                 2899        CP      83\r
+    00005949 20 28                 2900        JR      NZ,?0185\r
+    0000594B                       2901 ?0184:\r
+    0000594B DD 6E F8              2902        LD      L,(IX-8)\r
+    0000594E DD 66 F9              2903        LD      H,(IX-7)\r
+    00005951 E5                    2904        PUSH    HL\r
+    00005952 FD 4E 04              2905        LD      C,(IY+4)\r
+    00005955 FD 46 05              2906        LD      B,(IY+5)\r
+    00005958 03                    2907        INC     BC\r
+    00005959 DD 6E F6              2908        LD      L,(IX-10)\r
+    0000595C DD 66 F7              2909        LD      H,(IX-9)\r
+    0000595F DD 5E E8              2910        LD      E,(IX-24)\r
+    00005962 DD 56 E9              2911        LD      D,(IX-23)\r
+    00005965 19                    2912        ADD     HL,DE\r
+    00005966 EB                    2913        EX      DE,HL\r
+    00005967 3E 00                 2914        LD      A,BYTE3 memcpy\r
+    00005969 21 1E 75              2915        LD      HL,LWRD memcpy\r
+    0000596C CD 19 82              2916        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000596F F1                    2917        POP     AF\r
+    00005970 C3 13 5A              2918        JP      LWRD ?0198\r
+    00005973                       2919 ?0185:\r
+    00005973 FE 49                 2920        CP      73\r
+    00005975 C2 13 5A              2921        JP      NZ,?0198\r
+    00005978 21 0A 00              2922        LD      HL,10\r
+    0000597B 09                    2923        ADD     HL,BC\r
+    0000597C 46                    2924        LD      B,(HL)\r
+    0000597D 05                    2925        DEC     B\r
+    0000597E 05                    2926        DEC     B\r
+    0000597F 20 17                 2927        JR      NZ,?0187\r
+    00005981                       2928 ?0186:\r
+    00005981 DD 6E F6              2929        LD      L,(IX-10)\r
+    00005984 DD 66 F7              2930        LD      H,(IX-9)\r
+    00005987 DD 4E E8              2931        LD      C,(IX-24)\r
+    0000598A DD 46 E9              2932        LD      B,(IX-23)\r
+    0000598D 09                    2933        ADD     HL,BC\r
+    0000598E E5                    2934        PUSH    HL\r
+    0000598F FD 5E 04              2935        LD      E,(IY+4)\r
+    00005992 FD 56 05              2936        LD      D,(IY+5)\r
+    00005995 13                    2937        INC     DE\r
+    00005996 18 3E                 2938        JR      ?0520\r
+    00005998                       2939 ?0187:\r
+    00005998 21 0A 00              2940        LD      HL,10\r
+    0000599B DD 46 F1              2941        LD      B,(IX-15)\r
+    0000599E 09                    2942        ADD     HL,BC\r
+    0000599F 7E                    2943        LD      A,(HL)\r
+    000059A0 FE 04                 2944        CP      4\r
+    000059A2 20 6F                 2945        JR      NZ,?0198\r
+    000059A4                       2946 ?0189:\r
+    000059A4 FD 5E 04              2947        LD      E,(IY+4)\r
+    000059A7 FD 56 05              2948        LD      D,(IY+5)\r
+    000059AA 13                    2949        INC     DE\r
+    000059AB 18 48                 2950        JR      ?0519\r
+    000059AD                       2951 ?0190:\r
+    000059AD                       2952 ?0188:\r
+    000059AD                       2953 ?0183:\r
+    000059AD                       2954 ?0182:\r
+    000059AD 21 09 00              2955        LD      HL,9\r
+    000059B0 DD 4E F0              2956        LD      C,(IX-16)\r
+    000059B3 09                    2957        ADD     HL,BC\r
+    000059B4 7E                    2958        LD      A,(HL)\r
+    000059B5 FE 49                 2959        CP      73\r
+    000059B7 20 5A                 2960        JR      NZ,?0198\r
+    000059B9                       2961 ?0193:\r
+    000059B9 21 0A 00              2962        LD      HL,10\r
+    000059BC 09                    2963        ADD     HL,BC\r
+    000059BD 46                    2964        LD      B,(HL)\r
+    000059BE 05                    2965        DEC     B\r
+    000059BF 05                    2966        DEC     B\r
+    000059C0 20 21                 2967        JR      NZ,?0195\r
+    000059C2                       2968 ?0194:\r
+    000059C2 DD 6E F6              2969        LD      L,(IX-10)\r
+    000059C5 DD 66 F7              2970        LD      H,(IX-9)\r
+    000059C8 DD 4E E8              2971        LD      C,(IX-24)\r
+    000059CB DD 46 E9              2972        LD      B,(IX-23)\r
+    000059CE 09                    2973        ADD     HL,BC\r
+    000059CF E5                    2974        PUSH    HL\r
+    000059D0 FD 5E 04              2975        LD      E,(IY+4)\r
+    000059D3 FD 56 05              2976        LD      D,(IY+5)\r
+    000059D6                       2977 ?0520:\r
+    000059D6 3E 00                 2978        LD      A,BYTE3 atoi\r
+    000059D8 21 43 7F              2979        LD      HL,LWRD atoi\r
+    000059DB CD 19 82              2980        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000059DE 4D                    2981        LD      C,L\r
+    000059DF 44                    2982        LD      B,H\r
+    000059E0 E1                    2983        POP     HL\r
+    000059E1 18 2D                 2984        JR      ?0516\r
+    000059E3                       2985 ?0195:\r
+    000059E3 21 0A 00              2986        LD      HL,10\r
+    000059E6 DD 46 F1              2987        LD      B,(IX-15)\r
+    000059E9 09                    2988        ADD     HL,BC\r
+    000059EA 7E                    2989        LD      A,(HL)\r
+    000059EB FE 04                 2990        CP      4\r
+    000059ED 20 24                 2991        JR      NZ,?0198\r
+    000059EF                       2992 ?0197:\r
+    000059EF FD 5E 04              2993        LD      E,(IY+4)\r
+    000059F2 FD 56 05              2994        LD      D,(IY+5)\r
+    000059F5                       2995 ?0519:\r
+    000059F5 3E 01                 2996        LD      A,BYTE3 atol\r
+    000059F7 21 20 49              2997        LD      HL,LWRD atol\r
+    000059FA CD 19 82              2998        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000059FD E5                    2999        PUSH    HL\r
+    000059FE DD 6E F6              3000        LD      L,(IX-10)\r
+    00005A01 DD 66 F7              3001        LD      H,(IX-9)\r
+    00005A04 DD 5E E8              3002        LD      E,(IX-24)\r
+    00005A07 DD 56 E9              3003        LD      D,(IX-23)\r
+    00005A0A 19                    3004        ADD     HL,DE\r
+    00005A0B D1                    3005        POP     DE\r
+    00005A0C 73                    3006        LD      (HL),E\r
+    00005A0D 23                    3007        INC     HL\r
+    00005A0E 72                    3008        LD      (HL),D\r
+    00005A0F 23                    3009        INC     HL\r
+    00005A10                       3010 ?0516:\r
+    00005A10 71                    3011        LD      (HL),C\r
+    00005A11 23                    3012        INC     HL\r
+    00005A12 70                    3013        LD      (HL),B\r
+    00005A13                       3014 ?0198:\r
+    00005A13                       3015 ?0196:\r
+    00005A13                       3016 ?0192:\r
+    00005A13                       3017 ?0191:\r
+    00005A13 DD 6E EC              3018        LD      L,(IX-20)\r
+    00005A16 DD 66 ED              3019        LD      H,(IX-19)\r
+    00005A19 23                    3020        INC     HL\r
+    00005A1A 23                    3021        INC     HL\r
+    00005A1B 46                    3022        LD      B,(HL)\r
+    00005A1C DD 70 EC              3023        LD      (IX-20),B\r
+    00005A1F 23                    3024        INC     HL\r
+    00005A20 66                    3025        LD      H,(HL)\r
+    00005A21 DD 74 ED              3026        LD      (IX-19),H\r
+    00005A24 FD 6E 02              3027        LD      L,(IY+2)\r
+    00005A27 FD 66 03              3028        LD      H,(IY+3)\r
+    00005A2A E5                    3029        PUSH    HL\r
+    00005A2B FD E1                 3030        POP     IY\r
+    00005A2D DD 34 F4              3031        INC     (IX-12)\r
+    00005A30 C2 95 58              3032        JP      NZ,?0178\r
+    00005A33 DD 34 F5              3033        INC     (IX-11)\r
+    00005A36 C3 95 58              3034        JP      LWRD ?0178\r
+    00005A39                       3035 ?0177:\r
+    00005A39 21 06 00              3036        LD      HL,6\r
+    00005A3C DD 4E E6              3037        LD      C,(IX-26)\r
+    00005A3F DD 46 E7              3038        LD      B,(IX-25)\r
+    00005A42 09                    3039        ADD     HL,BC\r
+    00005A43 7E                    3040        LD      A,(HL)\r
+    00005A44 23                    3041        INC     HL\r
+    00005A45 B6                    3042        OR      (HL)\r
+    00005A46 20 50                 3043        JR      NZ,?0200\r
+    00005A48                       3044 ?0199:\r
+    00005A48 6F                    3045        LD      L,A\r
+    00005A49 67                    3046        LD      H,A\r
+    00005A4A E5                    3047        PUSH    HL\r
+    00005A4B E5                    3048        PUSH    HL\r
+    00005A4C 2E 04                 3049        LD      L,4\r
+    00005A4E E5                    3050        PUSH    HL\r
+    00005A4F 2E 08                 3051        LD      L,8\r
+    00005A51 09                    3052        ADD     HL,BC\r
+    00005A52 5E                    3053        LD      E,(HL)\r
+    00005A53 23                    3054        INC     HL\r
+    00005A54 56                    3055        LD      D,(HL)\r
+    00005A55 CD AF 5B              3056        CALL    LWRD ?0664\r
+    00005A58 F1                    3057        POP     AF\r
+    00005A59 F1                    3058        POP     AF\r
+    00005A5A F1                    3059        POP     AF\r
+    00005A5B 21 04 00              3060        LD      HL,4\r
+    00005A5E 09                    3061        ADD     HL,BC\r
+    00005A5F 56                    3062        LD      D,(HL)\r
+    00005A60 23                    3063        INC     HL\r
+    00005A61 66                    3064        LD      H,(HL)\r
+    00005A62 6A                    3065        LD      L,D\r
+    00005A63 23                    3066        INC     HL\r
+    00005A64 E5                    3067        PUSH    HL\r
+    00005A65 DD 6E EA              3068        LD      L,(IX-22)\r
+    00005A68 DD 66 EB              3069        LD      H,(IX-21)\r
+    00005A6B D1                    3070        POP     DE\r
+    00005A6C 73                    3071        LD      (HL),E\r
+    00005A6D 23                    3072        INC     HL\r
+    00005A6E 72                    3073        LD      (HL),D\r
+    00005A6F 21 08 00              3074        LD      HL,8\r
+    00005A72 09                    3075        ADD     HL,BC\r
+    00005A73 5E                    3076        LD      E,(HL)\r
+    00005A74 23                    3077        INC     HL\r
+    00005A75 56                    3078        LD      D,(HL)\r
+    00005A76 D5                    3079        PUSH    DE\r
+    00005A77 21 01 00              3080        LD      HL,1\r
+    00005A7A E5                    3081        PUSH    HL\r
+    00005A7B 01 02 00              3082        LD      BC,2\r
+    00005A7E DD 5E EA              3083        LD      E,(IX-22)\r
+    00005A81 DD 56 EB              3084        LD      D,(IX-21)\r
+    00005A84 3E 00                 3085        LD      A,BYTE3 fwrite\r
+    00005A86 21 F6 77              3086        LD      HL,LWRD fwrite\r
+    00005A89 CD 19 82              3087        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005A8C F1                    3088        POP     AF\r
+    00005A8D F1                    3089        POP     AF\r
+    00005A8E 21 02 00              3090        LD      HL,2\r
+    00005A91 E5                    3091        PUSH    HL\r
+    00005A92 2B                    3092        DEC     HL\r
+    00005A93 2B                    3093        DEC     HL\r
+    00005A94 E5                    3094        PUSH    HL\r
+    00005A95 C3 4B 5B              3095        JP      LWRD ?0517\r
+    00005A98                       3096 ?0200:\r
+    00005A98 21 00 00              3097        LD      HL,0\r
+    00005A9B E5                    3098        PUSH    HL\r
+    00005A9C E5                    3099        PUSH    HL\r
+    00005A9D 2E 06                 3100        LD      L,6\r
+    00005A9F E5                    3101        PUSH    HL\r
+    00005AA0 23                    3102        INC     HL\r
+    00005AA1 23                    3103        INC     HL\r
+    00005AA2 09                    3104        ADD     HL,BC\r
+    00005AA3 5E                    3105        LD      E,(HL)\r
+    00005AA4 23                    3106        INC     HL\r
+    00005AA5 56                    3107        LD      D,(HL)\r
+    00005AA6 CD AF 5B              3108        CALL    LWRD ?0664\r
+    00005AA9 F1                    3109        POP     AF\r
+    00005AAA F1                    3110        POP     AF\r
+    00005AAB F1                    3111        POP     AF\r
+    00005AAC 21 06 00              3112        LD      HL,6\r
+    00005AAF 09                    3113        ADD     HL,BC\r
+    00005AB0 56                    3114        LD      D,(HL)\r
+    00005AB1 23                    3115        INC     HL\r
+    00005AB2 66                    3116        LD      H,(HL)\r
+    00005AB3 6A                    3117        LD      L,D\r
+    00005AB4 2B                    3118        DEC     HL\r
+    00005AB5 E5                    3119        PUSH    HL\r
+    00005AB6 DD 6E EA              3120        LD      L,(IX-22)\r
+    00005AB9 DD 66 EB              3121        LD      H,(IX-21)\r
+    00005ABC D1                    3122        POP     DE\r
+    00005ABD 73                    3123        LD      (HL),E\r
+    00005ABE 23                    3124        INC     HL\r
+    00005ABF 72                    3125        LD      (HL),D\r
+    00005AC0 21 08 00              3126        LD      HL,8\r
+    00005AC3 09                    3127        ADD     HL,BC\r
+    00005AC4 5E                    3128        LD      E,(HL)\r
+    00005AC5 23                    3129        INC     HL\r
+    00005AC6 56                    3130        LD      D,(HL)\r
+    00005AC7 D5                    3131        PUSH    DE\r
+    00005AC8 21 01 00              3132        LD      HL,1\r
+    00005ACB E5                    3133        PUSH    HL\r
+    00005ACC 01 02 00              3134        LD      BC,2\r
+    00005ACF DD 5E EA              3135        LD      E,(IX-22)\r
+    00005AD2 DD 56 EB              3136        LD      D,(IX-21)\r
+    00005AD5 3E 00                 3137        LD      A,BYTE3 fwrite\r
+    00005AD7 21 F6 77              3138        LD      HL,LWRD fwrite\r
+    00005ADA CD 19 82              3139        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005ADD F1                    3140        POP     AF\r
+    00005ADE F1                    3141        POP     AF\r
+    00005ADF 21 00 00              3142        LD      HL,0\r
+    00005AE2 E5                    3143        PUSH    HL\r
+    00005AE3 E5                    3144        PUSH    HL\r
+    00005AE4 2E 0A                 3145        LD      L,10\r
+    00005AE6 E5                    3146        PUSH    HL\r
+    00005AE7 2B                    3147        DEC     HL\r
+    00005AE8 2B                    3148        DEC     HL\r
+    00005AE9 DD 4E E6              3149        LD      C,(IX-26)\r
+    00005AEC DD 46 E7              3150        LD      B,(IX-25)\r
+    00005AEF 09                    3151        ADD     HL,BC\r
+    00005AF0 5E                    3152        LD      E,(HL)\r
+    00005AF1 23                    3153        INC     HL\r
+    00005AF2 56                    3154        LD      D,(HL)\r
+    00005AF3 CD AF 5B              3155        CALL    LWRD ?0664\r
+    00005AF6 F1                    3156        POP     AF\r
+    00005AF7 F1                    3157        POP     AF\r
+    00005AF8 F1                    3158        POP     AF\r
+    00005AF9 DD 6E EA              3159        LD      L,(IX-22)\r
+    00005AFC DD 66 EB              3160        LD      H,(IX-21)\r
+    00005AFF 36 FF                 3161        LD      (HL),255\r
+    00005B01 23                    3162        INC     HL\r
+    00005B02 36 FF                 3163        LD      (HL),255\r
+    00005B04                       3164 ?0203:\r
+    00005B04 DD 6E EA              3165        LD      L,(IX-22)\r
+    00005B07 DD 66 EB              3166        LD      H,(IX-21)\r
+    00005B0A AF                    3167        XOR     A\r
+    00005B0B B6                    3168        OR      (HL)\r
+    00005B0C 28 2A                 3169        JR      Z,?0202\r
+    00005B0E                       3170 ?0204:\r
+    00005B0E 21 08 00              3171        LD      HL,8\r
+    00005B11 DD 4E E6              3172        LD      C,(IX-26)\r
+    00005B14 DD 46 E7              3173        LD      B,(IX-25)\r
+    00005B17 09                    3174        ADD     HL,BC\r
+    00005B18 4E                    3175        LD      C,(HL)\r
+    00005B19 23                    3176        INC     HL\r
+    00005B1A 46                    3177        LD      B,(HL)\r
+    00005B1B C5                    3178        PUSH    BC\r
+    00005B1C 21 01 00              3179        LD      HL,1\r
+    00005B1F E5                    3180        PUSH    HL\r
+    00005B20 DD 4E FA              3181        LD      C,(IX-6)\r
+    00005B23 DD 46 FB              3182        LD      B,(IX-5)\r
+    00005B26 DD 5E EA              3183        LD      E,(IX-22)\r
+    00005B29 DD 56 EB              3184        LD      D,(IX-21)\r
+    00005B2C 3E 00                 3185        LD      A,BYTE3 fread\r
+    00005B2E 21 DD 70              3186        LD      HL,LWRD fread\r
+    00005B31 CD 19 82              3187        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005B34 F1                    3188        POP     AF\r
+    00005B35 F1                    3189        POP     AF\r
+    00005B36 18 CC                 3190        JR      ?0203\r
+    00005B38                       3191 ?0202:\r
+    00005B38 21 01 00              3192        LD      HL,1\r
+    00005B3B E5                    3193        PUSH    HL\r
+    00005B3C DD 4E FA              3194        LD      C,(IX-6)\r
+    00005B3F DD 46 FB              3195        LD      B,(IX-5)\r
+    00005B42 2B                    3196        DEC     HL\r
+    00005B43 ED 42                 3197        SBC     HL,BC\r
+    00005B45 7C                    3198        LD      A,H\r
+    00005B46 07                    3199        RLCA\r
+    00005B47 9F                    3200        SBC     A,A\r
+    00005B48 4F                    3201        LD      C,A\r
+    00005B49 41                    3202        LD      B,C\r
+    00005B4A C5                    3203        PUSH    BC\r
+    00005B4B                       3204 ?0517:\r
+    00005B4B E5                    3205        PUSH    HL\r
+    00005B4C 21 08 00              3206        LD      HL,8\r
+    00005B4F DD 4E E6              3207        LD      C,(IX-26)\r
+    00005B52 DD 46 E7              3208        LD      B,(IX-25)\r
+    00005B55 09                    3209        ADD     HL,BC\r
+    00005B56 5E                    3210        LD      E,(HL)\r
+    00005B57 23                    3211        INC     HL\r
+    00005B58 56                    3212        LD      D,(HL)\r
+    00005B59 CD AF 5B              3213        CALL    LWRD ?0664\r
+    00005B5C F1                    3214        POP     AF\r
+    00005B5D F1                    3215        POP     AF\r
+    00005B5E F1                    3216        POP     AF\r
+    00005B5F                       3217 ?0201:\r
+    00005B5F 21 08 00              3218        LD      HL,8\r
+    00005B62 09                    3219        ADD     HL,BC\r
+    00005B63 5E                    3220        LD      E,(HL)\r
+    00005B64 23                    3221        INC     HL\r
+    00005B65 56                    3222        LD      D,(HL)\r
+    00005B66 D5                    3223        PUSH    DE\r
+    00005B67 21 01 00              3224        LD      HL,1\r
+    00005B6A E5                    3225        PUSH    HL\r
+    00005B6B DD 4E FA              3226        LD      C,(IX-6)\r
+    00005B6E DD 46 FB              3227        LD      B,(IX-5)\r
+    00005B71 DD 5E E8              3228        LD      E,(IX-24)\r
+    00005B74 DD 56 E9              3229        LD      D,(IX-23)\r
+    00005B77 3E 00                 3230        LD      A,BYTE3 fwrite\r
+    00005B79 21 F6 77              3231        LD      HL,LWRD fwrite\r
+    00005B7C CD 19 82              3232        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005B7F F1                    3233        POP     AF\r
+    00005B80 F1                    3234        POP     AF\r
+    00005B81 DD 5E E8              3235        LD      E,(IX-24)\r
+    00005B84 DD 56 E9              3236        LD      D,(IX-23)\r
+    00005B87 CD 90 45              3237        CALL    LWRD ?0639\r
+    00005B8A DD 5E EA              3238        LD      E,(IX-22)\r
+    00005B8D DD 56 EB              3239        LD      D,(IX-21)\r
+    00005B90 CD 90 45              3240        CALL    LWRD ?0639\r
+    00005B93 DD 5E E6              3241        LD      E,(IX-26)\r
+    00005B96 DD 56 E7              3242        LD      D,(IX-25)\r
+    00005B99 3E 00                 3243        LD      A,BYTE3 dbTableClose\r
+    00005B9B 21 C5 50              3244        LD      HL,LWRD dbTableClose\r
+    00005B9E CD 19 82              3245        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005BA1 21 00 00              3246        LD      HL,0\r
+    00005BA4 DD F9                 3247        LD      SP,IX\r
+    00005BA6 C3 C0 45              3248        JP      LWRD ?0614\r
+    00005BA9                       3249 ?0665:\r
+    00005BA9 FD 5E 08              3250        LD      E,(IY+8)\r
+    00005BAC FD 56 09              3251        LD      D,(IY+9)\r
+    00005BAF                       3252 ?0664:\r
+    00005BAF 3E 00                 3253        LD      A,BYTE3 fseek\r
+    00005BB1 21 A0 75              3254        LD      HL,LWRD fseek\r
+    00005BB4 C3 19 82              3255        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00005BB7                       3256 dbExecuteDelete:\r
+    00005BB7 C5                    3257        PUSH    BC\r
+    00005BB8 FD E5                 3258        PUSH    IY\r
+    00005BBA DD E5                 3259        PUSH    IX\r
+    00005BBC DD 21 00 00           3260        LD      IX,0\r
+    00005BC0 DD 39                 3261        ADD     IX,SP\r
+    00005BC2 D5                    3262        PUSH    DE\r
+    00005BC3 21 F4 FF              3263        LD      HL,65524\r
+    00005BC6 39                    3264        ADD     HL,SP\r
+    00005BC7 F9                    3265        LD      SP,HL\r
+    00005BC8 CD 69 5D              3266        CALL    LWRD ?0637\r
+    00005BCB DD 75 FA              3267        LD      (IX-6),L\r
+    00005BCE DD 74 FB              3268        LD      (IX-5),H\r
+    00005BD1 CD E3 49              3269        CALL    LWRD ?0642\r
+    00005BD4 DD 75 FC              3270        LD      (IX-4),L\r
+    00005BD7 DD 74 FD              3271        LD      (IX-3),H\r
+    00005BDA AF                    3272        XOR     A\r
+    00005BDB DD 77 F4              3273        LD      (IX-12),A\r
+    00005BDE DD 77 F5              3274        LD      (IX-11),A\r
+    00005BE1 21 05 00              3275        LD      HL,5\r
+    00005BE4 DD 4E FE              3276        LD      C,(IX-2)\r
+    00005BE7 DD 46 FF              3277        LD      B,(IX-1)\r
+    00005BEA 09                    3278        ADD     HL,BC\r
+    00005BEB 7E                    3279        LD      A,(HL)\r
+    00005BEC 23                    3280        INC     HL\r
+    00005BED B6                    3281        OR      (HL)\r
+    00005BEE 21 02 00              3282        LD      HL,2\r
+    00005BF1 39                    3283        ADD     HL,SP\r
+    00005BF2 4D                    3284        LD      C,L\r
+    00005BF3 44                    3285        LD      B,H\r
+    00005BF4 28 17                 3286        JR      Z,?0206\r
+    00005BF6                       3287 ?0205:\r
+    00005BF6 21 05 00              3288        LD      HL,5\r
+    00005BF9 DD 5E FE              3289        LD      E,(IX-2)\r
+    00005BFC DD 56 FF              3290        LD      D,(IX-1)\r
+    00005BFF 19                    3291        ADD     HL,DE\r
+    00005C00 56                    3292        LD      D,(HL)\r
+    00005C01 23                    3293        INC     HL\r
+    00005C02 66                    3294        LD      H,(HL)\r
+    00005C03 6A                    3295        LD      L,D\r
+    00005C04 11 04 00              3296        LD      DE,4\r
+    00005C07 19                    3297        ADD     HL,DE\r
+    00005C08 5E                    3298        LD      E,(HL)\r
+    00005C09 23                    3299        INC     HL\r
+    00005C0A 56                    3300        LD      D,(HL)\r
+    00005C0B 18 02                 3301        JR      ?0524\r
+    00005C0D                       3302 ?0206:\r
+    00005C0D 5F                    3303        LD      E,A\r
+    00005C0E 57                    3304        LD      D,A\r
+    00005C0F                       3305 ?0524:\r
+    00005C0F                       3306 ?0207:\r
+    00005C0F CD 76 57              3307        CALL    LWRD ?0662\r
+    00005C12 DD 75 F2              3308        LD      (IX-14),L\r
+    00005C15 DD 74 F3              3309        LD      (IX-13),H\r
+    00005C18 FD E5                 3310        PUSH    IY\r
+    00005C1A C1                    3311        POP     BC\r
+    00005C1B 71                    3312        LD      (HL),C\r
+    00005C1C 23                    3313        INC     HL\r
+    00005C1D 70                    3314        LD      (HL),B\r
+    00005C1E 21 04 00              3315        LD      HL,4\r
+    00005C21 DD 4E F2              3316        LD      C,(IX-14)\r
+    00005C24 DD 46 F3              3317        LD      B,(IX-13)\r
+    00005C27 09                    3318        ADD     HL,BC\r
+    00005C28 DD 5E FC              3319        LD      E,(IX-4)\r
+    00005C2B 73                    3320        LD      (HL),E\r
+    00005C2C DD 56 FD              3321        LD      D,(IX-3)\r
+    00005C2F 23                    3322        INC     HL\r
+    00005C30 72                    3323        LD      (HL),D\r
+    00005C31 69                    3324        LD      L,C\r
+    00005C32 60                    3325        LD      H,B\r
+    00005C33 23                    3326        INC     HL\r
+    00005C34 23                    3327        INC     HL\r
+    00005C35 AF                    3328        XOR     A\r
+    00005C36 77                    3329        LD      (HL),A\r
+    00005C37 23                    3330        INC     HL\r
+    00005C38 77                    3331        LD      (HL),A\r
+    00005C39 DD 77 F6              3332        LD      (IX-10),A\r
+    00005C3C DD 77 F7              3333        LD      (IX-9),A\r
+    00005C3F DD 77 F4              3334        LD      (IX-12),A\r
+    00005C42 DD 77 F5              3335        LD      (IX-11),A\r
+    00005C45                       3336 ?0209:\r
+    00005C45 FD 4E 04              3337        LD      C,(IY+4)\r
+    00005C48 FD 46 05              3338        LD      B,(IY+5)\r
+    00005C4B DD 6E F4              3339        LD      L,(IX-12)\r
+    00005C4E DD 66 F5              3340        LD      H,(IX-11)\r
+    00005C51 F6 80                 3341        OR      128\r
+    00005C53 ED 42                 3342        SBC     HL,BC\r
+    00005C55 E2 59 5C              3343        JP      PO,?0521\r
+    00005C58 AC                    3344        XOR     H\r
+    00005C59                       3345 ?0521:\r
+    00005C59 F2 01 5D              3346        JP      P,?0208\r
+    00005C5C                       3347 ?0210:\r
+    00005C5C FD 6E 08              3348        LD      L,(IY+8)\r
+    00005C5F FD 66 09              3349        LD      H,(IY+9)\r
+    00005C62 E5                    3350        PUSH    HL\r
+    00005C63 21 01 00              3351        LD      HL,1\r
+    00005C66 E5                    3352        PUSH    HL\r
+    00005C67 DD 4E FA              3353        LD      C,(IX-6)\r
+    00005C6A DD 46 FB              3354        LD      B,(IX-5)\r
+    00005C6D 2E 04                 3355        LD      L,4\r
+    00005C6F DD 5E F2              3356        LD      E,(IX-14)\r
+    00005C72 DD 56 F3              3357        LD      D,(IX-13)\r
+    00005C75 19                    3358        ADD     HL,DE\r
+    00005C76 5E                    3359        LD      E,(HL)\r
+    00005C77 23                    3360        INC     HL\r
+    00005C78 56                    3361        LD      D,(HL)\r
+    00005C79 3E 00                 3362        LD      A,BYTE3 fread\r
+    00005C7B 21 DD 70              3363        LD      HL,LWRD fread\r
+    00005C7E CD 19 82              3364        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005C81 F1                    3365        POP     AF\r
+    00005C82 F1                    3366        POP     AF\r
+    00005C83 DD 6E FC              3367        LD      L,(IX-4)\r
+    00005C86 DD 66 FD              3368        LD      H,(IX-3)\r
+    00005C89 46                    3369        LD      B,(HL)\r
+    00005C8A 05                    3370        DEC     B\r
+    00005C8B 20 68                 3371        JR      NZ,?0522\r
+    00005C8D                       3372 ?0212:\r
+    00005C8D DD 4E F2              3373        LD      C,(IX-14)\r
+    00005C90 DD 46 F3              3374        LD      B,(IX-13)\r
+    00005C93 CD 8C 57              3375        CALL    LWRD ?0663\r
+    00005C96 20 5D                 3376        JR      NZ,?0522\r
+    00005C98                       3377 ?0214:\r
+    00005C98 DD 6E FC              3378        LD      L,(IX-4)\r
+    00005C9B DD 66 FD              3379        LD      H,(IX-3)\r
+    00005C9E 77                    3380        LD      (HL),A\r
+    00005C9F 21 01 00              3381        LD      HL,1\r
+    00005CA2 E5                    3382        PUSH    HL\r
+    00005CA3 DD 4E FA              3383        LD      C,(IX-6)\r
+    00005CA6 DD 46 FB              3384        LD      B,(IX-5)\r
+    00005CA9 2B                    3385        DEC     HL\r
+    00005CAA ED 42                 3386        SBC     HL,BC\r
+    00005CAC 7C                    3387        LD      A,H\r
+    00005CAD 07                    3388        RLCA\r
+    00005CAE 9F                    3389        SBC     A,A\r
+    00005CAF 4F                    3390        LD      C,A\r
+    00005CB0 41                    3391        LD      B,C\r
+    00005CB1 C5                    3392        PUSH    BC\r
+    00005CB2 E5                    3393        PUSH    HL\r
+    00005CB3 CD A9 5B              3394        CALL    LWRD ?0665\r
+    00005CB6 F1                    3395        POP     AF\r
+    00005CB7 F1                    3396        POP     AF\r
+    00005CB8 F1                    3397        POP     AF\r
+    00005CB9 FD 6E 08              3398        LD      L,(IY+8)\r
+    00005CBC FD 66 09              3399        LD      H,(IY+9)\r
+    00005CBF E5                    3400        PUSH    HL\r
+    00005CC0 21 01 00              3401        LD      HL,1\r
+    00005CC3 E5                    3402        PUSH    HL\r
+    00005CC4 DD 4E FA              3403        LD      C,(IX-6)\r
+    00005CC7 DD 46 FB              3404        LD      B,(IX-5)\r
+    00005CCA 2E 04                 3405        LD      L,4\r
+    00005CCC DD 5E F2              3406        LD      E,(IX-14)\r
+    00005CCF DD 56 F3              3407        LD      D,(IX-13)\r
+    00005CD2 19                    3408        ADD     HL,DE\r
+    00005CD3 5E                    3409        LD      E,(HL)\r
+    00005CD4 23                    3410        INC     HL\r
+    00005CD5 56                    3411        LD      D,(HL)\r
+    00005CD6 3E 00                 3412        LD      A,BYTE3 fwrite\r
+    00005CD8 21 F6 77              3413        LD      HL,LWRD fwrite\r
+    00005CDB CD 19 82              3414        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005CDE F1                    3415        POP     AF\r
+    00005CDF F1                    3416        POP     AF\r
+    00005CE0 21 01 00              3417        LD      HL,1\r
+    00005CE3 E5                    3418        PUSH    HL\r
+    00005CE4 2B                    3419        DEC     HL\r
+    00005CE5 E5                    3420        PUSH    HL\r
+    00005CE6 E5                    3421        PUSH    HL\r
+    00005CE7 CD A9 5B              3422        CALL    LWRD ?0665\r
+    00005CEA F1                    3423        POP     AF\r
+    00005CEB F1                    3424        POP     AF\r
+    00005CEC F1                    3425        POP     AF\r
+    00005CED DD 34 F6              3426        INC     (IX-10)\r
+    00005CF0 20 03                 3427        JR      NZ,?0522\r
+    00005CF2 DD 34 F7              3428        INC     (IX-9)\r
+    00005CF5                       3429 ?0522:\r
+    00005CF5                       3430 ?0215:\r
+    00005CF5                       3431 ?0213:\r
+    00005CF5 DD 34 F4              3432        INC     (IX-12)\r
+    00005CF8 C2 45 5C              3433        JP      NZ,?0209\r
+    00005CFB DD 34 F5              3434        INC     (IX-11)\r
+    00005CFE C3 45 5C              3435        JP      LWRD ?0209\r
+    00005D01                       3436 ?0208:\r
+    00005D01 DD 5E F2              3437        LD      E,(IX-14)\r
+    00005D04 DD 56 F3              3438        LD      D,(IX-13)\r
+    00005D07 3E 00                 3439        LD      A,BYTE3 dbDeleteRow\r
+    00005D09 21 7A 62              3440        LD      HL,LWRD dbDeleteRow\r
+    00005D0C CD 19 82              3441        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005D0F 21 00 00              3442        LD      HL,0\r
+    00005D12 E5                    3443        PUSH    HL\r
+    00005D13 E5                    3444        PUSH    HL\r
+    00005D14 2E 06                 3445        LD      L,6\r
+    00005D16 E5                    3446        PUSH    HL\r
+    00005D17 CD A9 5B              3447        CALL    LWRD ?0665\r
+    00005D1A F1                    3448        POP     AF\r
+    00005D1B F1                    3449        POP     AF\r
+    00005D1C F1                    3450        POP     AF\r
+    00005D1D 21 04 00              3451        LD      HL,4\r
+    00005D20 39                    3452        ADD     HL,SP\r
+    00005D21 7E                    3453        LD      A,(HL)\r
+    00005D22 FD 86 06              3454        ADD     A,(IY+6)\r
+    00005D25 77                    3455        LD      (HL),A\r
+    00005D26 23                    3456        INC     HL\r
+    00005D27 7E                    3457        LD      A,(HL)\r
+    00005D28 FD 8E 07              3458        ADC     A,(IY+7)\r
+    00005D2B 77                    3459        LD      (HL),A\r
+    00005D2C FD 6E 08              3460        LD      L,(IY+8)\r
+    00005D2F FD 66 09              3461        LD      H,(IY+9)\r
+    00005D32 E5                    3462        PUSH    HL\r
+    00005D33 21 01 00              3463        LD      HL,1\r
+    00005D36 E5                    3464        PUSH    HL\r
+    00005D37 01 02 00              3465        LD      BC,2\r
+    00005D3A 2E 08                 3466        LD      L,8\r
+    00005D3C 39                    3467        ADD     HL,SP\r
+    00005D3D EB                    3468        EX      DE,HL\r
+    00005D3E 3E 00                 3469        LD      A,BYTE3 fwrite\r
+    00005D40 21 F6 77              3470        LD      HL,LWRD fwrite\r
+    00005D43 CD 19 82              3471        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005D46 F1                    3472        POP     AF\r
+    00005D47 F1                    3473        POP     AF\r
+    00005D48 DD 5E F8              3474        LD      E,(IX-8)\r
+    00005D4B DD 56 F9              3475        LD      D,(IX-7)\r
+    00005D4E 3E 00                 3476        LD      A,BYTE3 dbDeleteExpression\r
+    00005D50 21 EC 69              3477        LD      HL,LWRD dbDeleteExpression\r
+    00005D53 CD 19 82              3478        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005D56 FD E5                 3479        PUSH    IY\r
+    00005D58 D1                    3480        POP     DE\r
+    00005D59 3E 00                 3481        LD      A,BYTE3 dbTableClose\r
+    00005D5B 21 C5 50              3482        LD      HL,LWRD dbTableClose\r
+    00005D5E CD 19 82              3483        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005D61 21 00 00              3484        LD      HL,0\r
+    00005D64 DD F9                 3485        LD      SP,IX\r
+    00005D66 C3 C0 45              3486        JP      LWRD ?0614\r
+    00005D69                       3487 ?0637:\r
+    00005D69 11 14 00              3488        LD      DE,20\r
+    00005D6C 3E 01                 3489        LD      A,BYTE3 malloc\r
+    00005D6E 21 82 4A              3490        LD      HL,LWRD malloc\r
+    00005D71 CD 19 82              3491        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005D74 E5                    3492        PUSH    HL\r
+    00005D75 FD E1                 3493        POP     IY\r
+    00005D77 DD 4E FE              3494        LD      C,(IX-2)\r
+    00005D7A DD 46 FF              3495        LD      B,(IX-1)\r
+    00005D7D 03                    3496        INC     BC\r
+    00005D7E 03                    3497        INC     BC\r
+    00005D7F 03                    3498        INC     BC\r
+    00005D80 0A                    3499        LD      A,(BC)\r
+    00005D81 6F                    3500        LD      L,A\r
+    00005D82 03                    3501        INC     BC\r
+    00005D83 0A                    3502        LD      A,(BC)\r
+    00005D84 67                    3503        LD      H,A\r
+    00005D85 01 04 00              3504        LD      BC,4\r
+    00005D88 09                    3505        ADD     HL,BC\r
+    00005D89 4E                    3506        LD      C,(HL)\r
+    00005D8A 23                    3507        INC     HL\r
+    00005D8B 46                    3508        LD      B,(HL)\r
+    00005D8C 21 0B 00              3509        LD      HL,11\r
+    00005D8F FD E5                 3510        PUSH    IY\r
+    00005D91 D1                    3511        POP     DE\r
+    00005D92 19                    3512        ADD     HL,DE\r
+    00005D93 EB                    3513        EX      DE,HL\r
+    00005D94 3E 00                 3514        LD      A,BYTE3 strcpy\r
+    00005D96 21 1C 7F              3515        LD      HL,LWRD strcpy\r
+    00005D99 CD 19 82              3516        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005D9C FD E5                 3517        PUSH    IY\r
+    00005D9E D1                    3518        POP     DE\r
+    00005D9F 3E 00                 3519        LD      A,BYTE3 dbTableOpen\r
+    00005DA1 21 F5 4D              3520        LD      HL,LWRD dbTableOpen\r
+    00005DA4 CD 19 82              3521        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005DA7 FD E5                 3522        PUSH    IY\r
+    00005DA9 D1                    3523        POP     DE\r
+    00005DAA 3E 00                 3524        LD      A,BYTE3 dbRecordSize\r
+    00005DAC 21 87 51              3525        LD      HL,LWRD dbRecordSize\r
+    00005DAF CD 19 82              3526        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005DB2 C9                    3527        RET\r
+    00005DB3                       3528 dbExecuteUpdate:\r
+    00005DB3 C5                    3529        PUSH    BC\r
+    00005DB4 FD E5                 3530        PUSH    IY\r
+    00005DB6 DD E5                 3531        PUSH    IX\r
+    00005DB8 DD 21 00 00           3532        LD      IX,0\r
+    00005DBC DD 39                 3533        ADD     IX,SP\r
+    00005DBE D5                    3534        PUSH    DE\r
+    00005DBF 21 E8 FF              3535        LD      HL,65512\r
+    00005DC2 39                    3536        ADD     HL,SP\r
+    00005DC3 F9                    3537        LD      SP,HL\r
+    00005DC4 CD 69 5D              3538        CALL    LWRD ?0637\r
+    00005DC7 DD 75 F2              3539        LD      (IX-14),L\r
+    00005DCA DD 74 F3              3540        LD      (IX-13),H\r
+    00005DCD CD E3 49              3541        CALL    LWRD ?0642\r
+    00005DD0 DD 75 FA              3542        LD      (IX-6),L\r
+    00005DD3 DD 74 FB              3543        LD      (IX-5),H\r
+    00005DD6 AF                    3544        XOR     A\r
+    00005DD7 DD 77 EE              3545        LD      (IX-18),A\r
+    00005DDA DD 77 EF              3546        LD      (IX-17),A\r
+    00005DDD 21 05 00              3547        LD      HL,5\r
+    00005DE0 DD 4E FE              3548        LD      C,(IX-2)\r
+    00005DE3 DD 46 FF              3549        LD      B,(IX-1)\r
+    00005DE6 09                    3550        ADD     HL,BC\r
+    00005DE7 7E                    3551        LD      A,(HL)\r
+    00005DE8 23                    3552        INC     HL\r
+    00005DE9 B6                    3553        OR      (HL)\r
+    00005DEA 21 08 00              3554        LD      HL,8\r
+    00005DED 39                    3555        ADD     HL,SP\r
+    00005DEE 4D                    3556        LD      C,L\r
+    00005DEF 44                    3557        LD      B,H\r
+    00005DF0 28 17                 3558        JR      Z,?0217\r
+    00005DF2                       3559 ?0216:\r
+    00005DF2 21 05 00              3560        LD      HL,5\r
+    00005DF5 DD 5E FE              3561        LD      E,(IX-2)\r
+    00005DF8 DD 56 FF              3562        LD      D,(IX-1)\r
+    00005DFB 19                    3563        ADD     HL,DE\r
+    00005DFC 56                    3564        LD      D,(HL)\r
+    00005DFD 23                    3565        INC     HL\r
+    00005DFE 66                    3566        LD      H,(HL)\r
+    00005DFF 6A                    3567        LD      L,D\r
+    00005E00 11 04 00              3568        LD      DE,4\r
+    00005E03 19                    3569        ADD     HL,DE\r
+    00005E04 5E                    3570        LD      E,(HL)\r
+    00005E05 23                    3571        INC     HL\r
+    00005E06 56                    3572        LD      D,(HL)\r
+    00005E07 18 02                 3573        JR      ?0535\r
+    00005E09                       3574 ?0217:\r
+    00005E09 5F                    3575        LD      E,A\r
+    00005E0A 57                    3576        LD      D,A\r
+    00005E0B                       3577 ?0535:\r
+    00005E0B                       3578 ?0218:\r
+    00005E0B CD 76 57              3579        CALL    LWRD ?0662\r
+    00005E0E DD 75 E8              3580        LD      (IX-24),L\r
+    00005E11 DD 74 E9              3581        LD      (IX-23),H\r
+    00005E14 FD E5                 3582        PUSH    IY\r
+    00005E16 C1                    3583        POP     BC\r
+    00005E17 71                    3584        LD      (HL),C\r
+    00005E18 23                    3585        INC     HL\r
+    00005E19 70                    3586        LD      (HL),B\r
+    00005E1A 21 04 00              3587        LD      HL,4\r
+    00005E1D DD 4E E8              3588        LD      C,(IX-24)\r
+    00005E20 DD 46 E9              3589        LD      B,(IX-23)\r
+    00005E23 09                    3590        ADD     HL,BC\r
+    00005E24 DD 5E FA              3591        LD      E,(IX-6)\r
+    00005E27 73                    3592        LD      (HL),E\r
+    00005E28 DD 56 FB              3593        LD      D,(IX-5)\r
+    00005E2B 23                    3594        INC     HL\r
+    00005E2C 72                    3595        LD      (HL),D\r
+    00005E2D 69                    3596        LD      L,C\r
+    00005E2E 60                    3597        LD      H,B\r
+    00005E2F 23                    3598        INC     HL\r
+    00005E30 23                    3599        INC     HL\r
+    00005E31 AF                    3600        XOR     A\r
+    00005E32 77                    3601        LD      (HL),A\r
+    00005E33 23                    3602        INC     HL\r
+    00005E34 77                    3603        LD      (HL),A\r
+    00005E35 CD 64 57              3604        CALL    LWRD ?0647\r
+    00005E38 DD 75 F0              3605        LD      (IX-16),L\r
+    00005E3B DD 74 F1              3606        LD      (IX-15),H\r
+    00005E3E CD E2 49              3607        CALL    LWRD ?0644\r
+    00005E41 DD 75 EC              3608        LD      (IX-20),L\r
+    00005E44 DD 74 ED              3609        LD      (IX-19),H\r
+    00005E47 DD 6E FE              3610        LD      L,(IX-2)\r
+    00005E4A DD 66 FF              3611        LD      H,(IX-1)\r
+    00005E4D 23                    3612        INC     HL\r
+    00005E4E 46                    3613        LD      B,(HL)\r
+    00005E4F DD 70 EA              3614        LD      (IX-22),B\r
+    00005E52 23                    3615        INC     HL\r
+    00005E53 66                    3616        LD      H,(HL)\r
+    00005E54 DD 74 EB              3617        LD      (IX-21),H\r
+    00005E57 AF                    3618        XOR     A\r
+    00005E58 DD 77 E6              3619        LD      (IX-26),A\r
+    00005E5B DD 77 E7              3620        LD      (IX-25),A\r
+    00005E5E                       3621 ?0220:\r
+    00005E5E DD 4E F0              3622        LD      C,(IX-16)\r
+    00005E61 DD 46 F1              3623        LD      B,(IX-15)\r
+    00005E64 DD 6E E6              3624        LD      L,(IX-26)\r
+    00005E67 DD 66 E7              3625        LD      H,(IX-25)\r
+    00005E6A F6 80                 3626        OR      128\r
+    00005E6C ED 42                 3627        SBC     HL,BC\r
+    00005E6E E2 72 5E              3628        JP      PO,?0525\r
+    00005E71 AC                    3629        XOR     H\r
+    00005E72                       3630 ?0525:\r
+    00005E72 F2 E3 5E              3631        JP      P,?0219\r
+    00005E75                       3632 ?0221:\r
+    00005E75 0E 00                 3633        LD      C,0\r
+    00005E77 C5                    3634        PUSH    BC\r
+    00005E78 0E 3D                 3635        LD      C,61\r
+    00005E7A 21 04 00              3636        LD      HL,4\r
+    00005E7D DD 5E EA              3637        LD      E,(IX-22)\r
+    00005E80 DD 56 EB              3638        LD      D,(IX-21)\r
+    00005E83 19                    3639        ADD     HL,DE\r
+    00005E84 5E                    3640        LD      E,(HL)\r
+    00005E85 23                    3641        INC     HL\r
+    00005E86 56                    3642        LD      D,(HL)\r
+    00005E87 3E 00                 3643        LD      A,BYTE3 dbReplaceChar\r
+    00005E89 21 F4 47              3644        LD      HL,LWRD dbReplaceChar\r
+    00005E8C CD 19 82              3645        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005E8F F1                    3646        POP     AF\r
+    00005E90 DD 75 FC              3647        LD      (IX-4),L\r
+    00005E93 DD 74 FD              3648        LD      (IX-3),H\r
+    00005E96 AF                    3649        XOR     A\r
+    00005E97 DD 77 F4              3650        LD      (IX-12),A\r
+    00005E9A DD 77 F5              3651        LD      (IX-11),A\r
+    00005E9D DD 6E E6              3652        LD      L,(IX-26)\r
+    00005EA0 DD 66 E7              3653        LD      H,(IX-25)\r
+    00005EA3 29                    3654        ADD     HL,HL\r
+    00005EA4 DD 4E EC              3655        LD      C,(IX-20)\r
+    00005EA7 DD 46 ED              3656        LD      B,(IX-19)\r
+    00005EAA 09                    3657        ADD     HL,BC\r
+    00005EAB E5                    3658        PUSH    HL\r
+    00005EAC 21 10 00              3659        LD      HL,16\r
+    00005EAF 39                    3660        ADD     HL,SP\r
+    00005EB0 4D                    3661        LD      C,L\r
+    00005EB1 44                    3662        LD      B,H\r
+    00005EB2 DD 5E FC              3663        LD      E,(IX-4)\r
+    00005EB5 DD 56 FD              3664        LD      D,(IX-3)\r
+    00005EB8 13                    3665        INC     DE\r
+    00005EB9 3E 00                 3666        LD      A,BYTE3 dbParseExpression\r
+    00005EBB 21 B2 65              3667        LD      HL,LWRD dbParseExpression\r
+    00005EBE CD 19 82              3668        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005EC1 4D                    3669        LD      C,L\r
+    00005EC2 44                    3670        LD      B,H\r
+    00005EC3 E1                    3671        POP     HL\r
+    00005EC4 71                    3672        LD      (HL),C\r
+    00005EC5 23                    3673        INC     HL\r
+    00005EC6 70                    3674        LD      (HL),B\r
+    00005EC7 DD 6E EA              3675        LD      L,(IX-22)\r
+    00005ECA DD 66 EB              3676        LD      H,(IX-21)\r
+    00005ECD 23                    3677        INC     HL\r
+    00005ECE 23                    3678        INC     HL\r
+    00005ECF 46                    3679        LD      B,(HL)\r
+    00005ED0 DD 70 EA              3680        LD      (IX-22),B\r
+    00005ED3 23                    3681        INC     HL\r
+    00005ED4 66                    3682        LD      H,(HL)\r
+    00005ED5 DD 74 EB              3683        LD      (IX-21),H\r
+    00005ED8 DD 34 E6              3684        INC     (IX-26)\r
+    00005EDB 20 81                 3685        JR      NZ,?0220\r
+    00005EDD DD 34 E7              3686        INC     (IX-25)\r
+    00005EE0 C3 5E 5E              3687        JP      LWRD ?0220\r
+    00005EE3                       3688 ?0219:\r
+    00005EE3 AF                    3689        XOR     A\r
+    00005EE4 DD 77 EE              3690        LD      (IX-18),A\r
+    00005EE7 DD 77 EF              3691        LD      (IX-17),A\r
+    00005EEA                       3692 ?0224:\r
+    00005EEA FD 4E 04              3693        LD      C,(IY+4)\r
+    00005EED FD 46 05              3694        LD      B,(IY+5)\r
+    00005EF0 DD 6E EE              3695        LD      L,(IX-18)\r
+    00005EF3 DD 66 EF              3696        LD      H,(IX-17)\r
+    00005EF6 F6 80                 3697        OR      128\r
+    00005EF8 ED 42                 3698        SBC     HL,BC\r
+    00005EFA E2 FE 5E              3699        JP      PO,?0527\r
+    00005EFD AC                    3700        XOR     H\r
+    00005EFE                       3701 ?0527:\r
+    00005EFE F2 08 61              3702        JP      P,?0223\r
+    00005F01                       3703 ?0225:\r
+    00005F01 FD 6E 08              3704        LD      L,(IY+8)\r
+    00005F04 FD 66 09              3705        LD      H,(IY+9)\r
+    00005F07 E5                    3706        PUSH    HL\r
+    00005F08 21 01 00              3707        LD      HL,1\r
+    00005F0B E5                    3708        PUSH    HL\r
+    00005F0C DD 4E F2              3709        LD      C,(IX-14)\r
+    00005F0F DD 46 F3              3710        LD      B,(IX-13)\r
+    00005F12 2E 04                 3711        LD      L,4\r
+    00005F14 DD 5E E8              3712        LD      E,(IX-24)\r
+    00005F17 DD 56 E9              3713        LD      D,(IX-23)\r
+    00005F1A 19                    3714        ADD     HL,DE\r
+    00005F1B 5E                    3715        LD      E,(HL)\r
+    00005F1C 23                    3716        INC     HL\r
+    00005F1D 56                    3717        LD      D,(HL)\r
+    00005F1E 3E 00                 3718        LD      A,BYTE3 fread\r
+    00005F20 21 DD 70              3719        LD      HL,LWRD fread\r
+    00005F23 CD 19 82              3720        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005F26 F1                    3721        POP     AF\r
+    00005F27 F1                    3722        POP     AF\r
+    00005F28 DD 6E FA              3723        LD      L,(IX-6)\r
+    00005F2B DD 66 FB              3724        LD      H,(IX-5)\r
+    00005F2E 46                    3725        LD      B,(HL)\r
+    00005F2F 05                    3726        DEC     B\r
+    00005F30 C2 FC 60              3727        JP      NZ,?0230\r
+    00005F33                       3728 ?0227:\r
+    00005F33 DD 4E E8              3729        LD      C,(IX-24)\r
+    00005F36 DD 46 E9              3730        LD      B,(IX-23)\r
+    00005F39 CD 8C 57              3731        CALL    LWRD ?0663\r
+    00005F3C C2 FC 60              3732        JP      NZ,?0230\r
+    00005F3F                       3733 ?0229:\r
+    00005F3F 21 01 00              3734        LD      HL,1\r
+    00005F42 E5                    3735        PUSH    HL\r
+    00005F43 DD 4E F2              3736        LD      C,(IX-14)\r
+    00005F46 DD 46 F3              3737        LD      B,(IX-13)\r
+    00005F49 2B                    3738        DEC     HL\r
+    00005F4A ED 42                 3739        SBC     HL,BC\r
+    00005F4C 7C                    3740        LD      A,H\r
+    00005F4D 07                    3741        RLCA\r
+    00005F4E 9F                    3742        SBC     A,A\r
+    00005F4F 4F                    3743        LD      C,A\r
+    00005F50 41                    3744        LD      B,C\r
+    00005F51 C5                    3745        PUSH    BC\r
+    00005F52 E5                    3746        PUSH    HL\r
+    00005F53 CD A9 5B              3747        CALL    LWRD ?0665\r
+    00005F56 F1                    3748        POP     AF\r
+    00005F57 F1                    3749        POP     AF\r
+    00005F58 F1                    3750        POP     AF\r
+    00005F59 AF                    3751        XOR     A\r
+    00005F5A DD 77 E6              3752        LD      (IX-26),A\r
+    00005F5D DD 77 E7              3753        LD      (IX-25),A\r
+    00005F60                       3754 ?0232:\r
+    00005F60 DD 4E F0              3755        LD      C,(IX-16)\r
+    00005F63 DD 46 F1              3756        LD      B,(IX-15)\r
+    00005F66 DD 6E E6              3757        LD      L,(IX-26)\r
+    00005F69 DD 66 E7              3758        LD      H,(IX-25)\r
+    00005F6C F6 80                 3759        OR      128\r
+    00005F6E ED 42                 3760        SBC     HL,BC\r
+    00005F70 E2 74 5F              3761        JP      PO,?0528\r
+    00005F73 AC                    3762        XOR     H\r
+    00005F74                       3763 ?0528:\r
+    00005F74 F2 A0 5F              3764        JP      P,?0231\r
+    00005F77                       3765 ?0233:\r
+    00005F77 DD 4E E8              3766        LD      C,(IX-24)\r
+    00005F7A DD 46 E9              3767        LD      B,(IX-23)\r
+    00005F7D DD 6E E6              3768        LD      L,(IX-26)\r
+    00005F80 DD 66 E7              3769        LD      H,(IX-25)\r
+    00005F83 29                    3770        ADD     HL,HL\r
+    00005F84 DD 5E EC              3771        LD      E,(IX-20)\r
+    00005F87 DD 56 ED              3772        LD      D,(IX-19)\r
+    00005F8A 19                    3773        ADD     HL,DE\r
+    00005F8B 5E                    3774        LD      E,(HL)\r
+    00005F8C 23                    3775        INC     HL\r
+    00005F8D 56                    3776        LD      D,(HL)\r
+    00005F8E 3E 00                 3777        LD      A,BYTE3 dbEvaluateExpression\r
+    00005F90 21 15 6A              3778        LD      HL,LWRD dbEvaluateExpression\r
+    00005F93 CD 19 82              3779        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005F96 DD 34 E6              3780        INC     (IX-26)\r
+    00005F99 20 C5                 3781        JR      NZ,?0232\r
+    00005F9B DD 34 E7              3782        INC     (IX-25)\r
+    00005F9E 18 C0                 3783        JR      ?0232\r
+    00005FA0                       3784 ?0231:\r
+    00005FA0 DD 6E FE              3785        LD      L,(IX-2)\r
+    00005FA3 DD 66 FF              3786        LD      H,(IX-1)\r
+    00005FA6 23                    3787        INC     HL\r
+    00005FA7 46                    3788        LD      B,(HL)\r
+    00005FA8 DD 70 EA              3789        LD      (IX-22),B\r
+    00005FAB 23                    3790        INC     HL\r
+    00005FAC 66                    3791        LD      H,(HL)\r
+    00005FAD DD 74 EB              3792        LD      (IX-21),H\r
+    00005FB0 AF                    3793        XOR     A\r
+    00005FB1 DD 77 E6              3794        LD      (IX-26),A\r
+    00005FB4 DD 77 E7              3795        LD      (IX-25),A\r
+    00005FB7                       3796 ?0236:\r
+    00005FB7 DD 4E F0              3797        LD      C,(IX-16)\r
+    00005FBA DD 46 F1              3798        LD      B,(IX-15)\r
+    00005FBD DD 6E E6              3799        LD      L,(IX-26)\r
+    00005FC0 DD 66 E7              3800        LD      H,(IX-25)\r
+    00005FC3 F6 80                 3801        OR      128\r
+    00005FC5 ED 42                 3802        SBC     HL,BC\r
+    00005FC7 E2 CB 5F              3803        JP      PO,?0530\r
+    00005FCA AC                    3804        XOR     H\r
+    00005FCB                       3805 ?0530:\r
+    00005FCB F2 C8 60              3806        JP      P,?0235\r
+    00005FCE                       3807 ?0237:\r
+    00005FCE 21 04 00              3808        LD      HL,4\r
+    00005FD1 DD 4E EA              3809        LD      C,(IX-22)\r
+    00005FD4 DD 46 EB              3810        LD      B,(IX-21)\r
+    00005FD7 09                    3811        ADD     HL,BC\r
+    00005FD8 4E                    3812        LD      C,(HL)\r
+    00005FD9 23                    3813        INC     HL\r
+    00005FDA 46                    3814        LD      B,(HL)\r
+    00005FDB FD E5                 3815        PUSH    IY\r
+    00005FDD D1                    3816        POP     DE\r
+    00005FDE 3E 00                 3817        LD      A,BYTE3 dbFieldSearch\r
+    00005FE0 21 A3 51              3818        LD      HL,LWRD dbFieldSearch\r
+    00005FE3 CD 19 82              3819        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005FE6 DD 75 F6              3820        LD      (IX-10),L\r
+    00005FE9 DD 74 F7              3821        LD      (IX-9),H\r
+    00005FEC 4D                    3822        LD      C,L\r
+    00005FED 44                    3823        LD      B,H\r
+    00005FEE FD E5                 3824        PUSH    IY\r
+    00005FF0 D1                    3825        POP     DE\r
+    00005FF1 3E 00                 3826        LD      A,BYTE3 dbFieldOffset\r
+    00005FF3 21 32 51              3827        LD      HL,LWRD dbFieldOffset\r
+    00005FF6 CD 19 82              3828        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005FF9 DD 75 F4              3829        LD      (IX-12),L\r
+    00005FFC DD 74 F5              3830        LD      (IX-11),H\r
+    00005FFF FD 6E 02              3831        LD      L,(IY+2)\r
+    00006002 FD 66 03              3832        LD      H,(IY+3)\r
+    00006005 E5                    3833        PUSH    HL\r
+    00006006 DD 6E F6              3834        LD      L,(IX-10)\r
+    00006009 DD 66 F7              3835        LD      H,(IX-9)\r
+    0000600C 29                    3836        ADD     HL,HL\r
+    0000600D 29                    3837        ADD     HL,HL\r
+    0000600E 4D                    3838        LD      C,L\r
+    0000600F 44                    3839        LD      B,H\r
+    00006010 29                    3840        ADD     HL,HL\r
+    00006011 09                    3841        ADD     HL,BC\r
+    00006012 4D                    3842        LD      C,L\r
+    00006013 44                    3843        LD      B,H\r
+    00006014 E1                    3844        POP     HL\r
+    00006015 09                    3845        ADD     HL,BC\r
+    00006016 01 09 00              3846        LD      BC,9\r
+    00006019 09                    3847        ADD     HL,BC\r
+    0000601A 7E                    3848        LD      A,(HL)\r
+    0000601B FE 53                 3849        CP      83\r
+    0000601D 20 34                 3850        JR      NZ,?0241\r
+    0000601F                       3851 ?0240:\r
+    0000601F FD 6E 02              3852        LD      L,(IY+2)\r
+    00006022 FD 66 03              3853        LD      H,(IY+3)\r
+    00006025 E5                    3854        PUSH    HL\r
+    00006026 DD 6E F6              3855        LD      L,(IX-10)\r
+    00006029 DD 66 F7              3856        LD      H,(IX-9)\r
+    0000602C 29                    3857        ADD     HL,HL\r
+    0000602D 29                    3858        ADD     HL,HL\r
+    0000602E 4D                    3859        LD      C,L\r
+    0000602F 44                    3860        LD      B,H\r
+    00006030 29                    3861        ADD     HL,HL\r
+    00006031 09                    3862        ADD     HL,BC\r
+    00006032 4D                    3863        LD      C,L\r
+    00006033 44                    3864        LD      B,H\r
+    00006034 E1                    3865        POP     HL\r
+    00006035 09                    3866        ADD     HL,BC\r
+    00006036 01 0A 00              3867        LD      BC,10\r
+    00006039 09                    3868        ADD     HL,BC\r
+    0000603A 4E                    3869        LD      C,(HL)\r
+    0000603B C5                    3870        PUSH    BC\r
+    0000603C DD 6E E6              3871        LD      L,(IX-26)\r
+    0000603F DD 66 E7              3872        LD      H,(IX-25)\r
+    00006042 29                    3873        ADD     HL,HL\r
+    00006043 DD 4E EC              3874        LD      C,(IX-20)\r
+    00006046 DD 46 ED              3875        LD      B,(IX-19)\r
+    00006049 09                    3876        ADD     HL,BC\r
+    0000604A 46                    3877        LD      B,(HL)\r
+    0000604B 23                    3878        INC     HL\r
+    0000604C 66                    3879        LD      H,(HL)\r
+    0000604D 68                    3880        LD      L,B\r
+    0000604E 01 28 00              3881        LD      BC,40\r
+    00006051 18 36                 3882        JR      ?0536\r
+    00006053                       3883 ?0241:\r
+    00006053 FE 49                 3884        CP      73\r
+    00006055 20 54                 3885        JR      NZ,?0239\r
+    00006057 FD 6E 02              3886        LD      L,(IY+2)\r
+    0000605A FD 66 03              3887        LD      H,(IY+3)\r
+    0000605D E5                    3888        PUSH    HL\r
+    0000605E DD 6E F6              3889        LD      L,(IX-10)\r
+    00006061 DD 66 F7              3890        LD      H,(IX-9)\r
+    00006064 29                    3891        ADD     HL,HL\r
+    00006065 29                    3892        ADD     HL,HL\r
+    00006066 4D                    3893        LD      C,L\r
+    00006067 44                    3894        LD      B,H\r
+    00006068 29                    3895        ADD     HL,HL\r
+    00006069 09                    3896        ADD     HL,BC\r
+    0000606A 4D                    3897        LD      C,L\r
+    0000606B 44                    3898        LD      B,H\r
+    0000606C E1                    3899        POP     HL\r
+    0000606D 09                    3900        ADD     HL,BC\r
+    0000606E 01 0A 00              3901        LD      BC,10\r
+    00006071 09                    3902        ADD     HL,BC\r
+    00006072 4E                    3903        LD      C,(HL)\r
+    00006073 C5                    3904        PUSH    BC\r
+    00006074 DD 6E E6              3905        LD      L,(IX-26)\r
+    00006077 DD 66 E7              3906        LD      H,(IX-25)\r
+    0000607A 29                    3907        ADD     HL,HL\r
+    0000607B DD 4E EC              3908        LD      C,(IX-20)\r
+    0000607E DD 46 ED              3909        LD      B,(IX-19)\r
+    00006081 09                    3910        ADD     HL,BC\r
+    00006082 46                    3911        LD      B,(HL)\r
+    00006083 23                    3912        INC     HL\r
+    00006084 66                    3913        LD      H,(HL)\r
+    00006085 68                    3914        LD      L,B\r
+    00006086 01 24 00              3915        LD      BC,36\r
+    00006089                       3916 ?0536:\r
+    00006089 09                    3917        ADD     HL,BC\r
+    0000608A 4D                    3918        LD      C,L\r
+    0000608B 44                    3919        LD      B,H\r
+    0000608C 21 04 00              3920        LD      HL,4\r
+    0000608F DD 5E E8              3921        LD      E,(IX-24)\r
+    00006092 DD 56 E9              3922        LD      D,(IX-23)\r
+    00006095 19                    3923        ADD     HL,DE\r
+    00006096 56                    3924        LD      D,(HL)\r
+    00006097 23                    3925        INC     HL\r
+    00006098 66                    3926        LD      H,(HL)\r
+    00006099 6A                    3927        LD      L,D\r
+    0000609A DD 5E F4              3928        LD      E,(IX-12)\r
+    0000609D DD 56 F5              3929        LD      D,(IX-11)\r
+    000060A0 19                    3930        ADD     HL,DE\r
+    000060A1 EB                    3931        EX      DE,HL\r
+    000060A2 3E 00                 3932        LD      A,BYTE3 memcpy\r
+    000060A4 21 1E 75              3933        LD      HL,LWRD memcpy\r
+    000060A7 CD 19 82              3934        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000060AA F1                    3935        POP     AF\r
+    000060AB                       3936 ?0239:\r
+    000060AB DD 6E EA              3937        LD      L,(IX-22)\r
+    000060AE DD 66 EB              3938        LD      H,(IX-21)\r
+    000060B1 23                    3939        INC     HL\r
+    000060B2 23                    3940        INC     HL\r
+    000060B3 46                    3941        LD      B,(HL)\r
+    000060B4 DD 70 EA              3942        LD      (IX-22),B\r
+    000060B7 23                    3943        INC     HL\r
+    000060B8 66                    3944        LD      H,(HL)\r
+    000060B9 DD 74 EB              3945        LD      (IX-21),H\r
+    000060BC DD 34 E6              3946        INC     (IX-26)\r
+    000060BF C2 B7 5F              3947        JP      NZ,?0236\r
+    000060C2 DD 34 E7              3948        INC     (IX-25)\r
+    000060C5 C3 B7 5F              3949        JP      LWRD ?0236\r
+    000060C8                       3950 ?0235:\r
+    000060C8 FD 6E 08              3951        LD      L,(IY+8)\r
+    000060CB FD 66 09              3952        LD      H,(IY+9)\r
+    000060CE E5                    3953        PUSH    HL\r
+    000060CF 21 01 00              3954        LD      HL,1\r
+    000060D2 E5                    3955        PUSH    HL\r
+    000060D3 DD 4E F2              3956        LD      C,(IX-14)\r
+    000060D6 DD 46 F3              3957        LD      B,(IX-13)\r
+    000060D9 2E 04                 3958        LD      L,4\r
+    000060DB DD 5E E8              3959        LD      E,(IX-24)\r
+    000060DE DD 56 E9              3960        LD      D,(IX-23)\r
+    000060E1 19                    3961        ADD     HL,DE\r
+    000060E2 5E                    3962        LD      E,(HL)\r
+    000060E3 23                    3963        INC     HL\r
+    000060E4 56                    3964        LD      D,(HL)\r
+    000060E5 3E 00                 3965        LD      A,BYTE3 fwrite\r
+    000060E7 21 F6 77              3966        LD      HL,LWRD fwrite\r
+    000060EA CD 19 82              3967        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000060ED F1                    3968        POP     AF\r
+    000060EE F1                    3969        POP     AF\r
+    000060EF 21 01 00              3970        LD      HL,1\r
+    000060F2 E5                    3971        PUSH    HL\r
+    000060F3 2B                    3972        DEC     HL\r
+    000060F4 E5                    3973        PUSH    HL\r
+    000060F5 E5                    3974        PUSH    HL\r
+    000060F6 CD A9 5B              3975        CALL    LWRD ?0665\r
+    000060F9 F1                    3976        POP     AF\r
+    000060FA F1                    3977        POP     AF\r
+    000060FB F1                    3978        POP     AF\r
+    000060FC                       3979 ?0230:\r
+    000060FC                       3980 ?0228:\r
+    000060FC DD 34 EE              3981        INC     (IX-18)\r
+    000060FF C2 EA 5E              3982        JP      NZ,?0224\r
+    00006102 DD 34 EF              3983        INC     (IX-17)\r
+    00006105 C3 EA 5E              3984        JP      LWRD ?0224\r
+    00006108                       3985 ?0223:\r
+    00006108 DD 5E E8              3986        LD      E,(IX-24)\r
+    0000610B DD 56 E9              3987        LD      D,(IX-23)\r
+    0000610E 3E 00                 3988        LD      A,BYTE3 dbDeleteRow\r
+    00006110 21 7A 62              3989        LD      HL,LWRD dbDeleteRow\r
+    00006113 CD 19 82              3990        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006116 AF                    3991        XOR     A\r
+    00006117 DD 77 E6              3992        LD      (IX-26),A\r
+    0000611A DD 77 E7              3993        LD      (IX-25),A\r
+    0000611D                       3994 ?0243:\r
+    0000611D DD 4E F0              3995        LD      C,(IX-16)\r
+    00006120 DD 46 F1              3996        LD      B,(IX-15)\r
+    00006123 DD 6E E6              3997        LD      L,(IX-26)\r
+    00006126 DD 66 E7              3998        LD      H,(IX-25)\r
+    00006129 F6 80                 3999        OR      128\r
+    0000612B ED 42                 4000        SBC     HL,BC\r
+    0000612D E2 31 61              4001        JP      PO,?0533\r
+    00006130 AC                    4002        XOR     H\r
+    00006131                       4003 ?0533:\r
+    00006131 F2 57 61              4004        JP      P,?0242\r
+    00006134                       4005 ?0244:\r
+    00006134 DD 6E E6              4006        LD      L,(IX-26)\r
+    00006137 DD 66 E7              4007        LD      H,(IX-25)\r
+    0000613A 29                    4008        ADD     HL,HL\r
+    0000613B DD 4E EC              4009        LD      C,(IX-20)\r
+    0000613E DD 46 ED              4010        LD      B,(IX-19)\r
+    00006141 09                    4011        ADD     HL,BC\r
+    00006142 5E                    4012        LD      E,(HL)\r
+    00006143 23                    4013        INC     HL\r
+    00006144 56                    4014        LD      D,(HL)\r
+    00006145 3E 00                 4015        LD      A,BYTE3 dbDeleteExpression\r
+    00006147 21 EC 69              4016        LD      HL,LWRD dbDeleteExpression\r
+    0000614A CD 19 82              4017        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000614D DD 34 E6              4018        INC     (IX-26)\r
+    00006150 20 CB                 4019        JR      NZ,?0243\r
+    00006152 DD 34 E7              4020        INC     (IX-25)\r
+    00006155 18 C6                 4021        JR      ?0243\r
+    00006157                       4022 ?0242:\r
+    00006157 DD 5E EC              4023        LD      E,(IX-20)\r
+    0000615A DD 56 ED              4024        LD      D,(IX-19)\r
+    0000615D CD 90 45              4025        CALL    LWRD ?0639\r
+    00006160 FD E5                 4026        PUSH    IY\r
+    00006162 D1                    4027        POP     DE\r
+    00006163 3E 00                 4028        LD      A,BYTE3 dbTableClose\r
+    00006165 21 C5 50              4029        LD      HL,LWRD dbTableClose\r
+    00006168 CD 19 82              4030        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000616B 21 00 00              4031        LD      HL,0\r
+    0000616E DD F9                 4032        LD      SP,IX\r
+    00006170 C3 C0 45              4033        JP      LWRD ?0614\r
+    00006173                       4034 dbExecuteStatement:\r
+    00006173 FD E5                 4035        PUSH    IY\r
+    00006175 DD E5                 4036        PUSH    IX\r
+    00006177 D5                    4037        PUSH    DE\r
+    00006178 FD 21 00 00           4038        LD      IY,0\r
+    0000617C 3E 00                 4039        LD      A,BYTE3 dbParseStatement\r
+    0000617E 21 0A 4A              4040        LD      HL,LWRD dbParseStatement\r
+    00006181 CD 19 82              4041        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006184 E5                    4042        PUSH    HL\r
+    00006185 DD E1                 4043        POP     IX\r
+    00006187 7D                    4044        LD      A,L\r
+    00006188 B4                    4045        OR      H\r
+    00006189 20 04                 4046        JR      NZ,?0247\r
+    0000618B                       4047 ?0246:\r
+    0000618B 6F                    4048        LD      L,A\r
+    0000618C 67                    4049        LD      H,A\r
+    0000618D 18 4D                 4050        JR      ?0253\r
+    0000618F                       4051 ?0247:\r
+    0000618F DD 7E 00              4052        LD      A,(IX+0)\r
+    00006192 FE 73                 4053        CP      115\r
+    00006194 20 0A                 4054        JR      NZ,?0250\r
+    00006196                       4055 ?0249:\r
+    00006196 DD E5                 4056        PUSH    IX\r
+    00006198 D1                    4057        POP     DE\r
+    00006199 3E 00                 4058        LD      A,BYTE3 dbExecuteQuery\r
+    0000619B 21 F9 51              4059        LD      HL,LWRD dbExecuteQuery\r
+    0000619E 18 28                 4060        JR      ?0545\r
+    000061A0                       4061 ?0250:\r
+    000061A0 FE 69                 4062        CP      105\r
+    000061A2 20 0A                 4063        JR      NZ,?0251\r
+    000061A4 DD E5                 4064        PUSH    IX\r
+    000061A6 D1                    4065        POP     DE\r
+    000061A7 3E 00                 4066        LD      A,BYTE3 dbExecuteInsert\r
+    000061A9 21 AE 57              4067        LD      HL,LWRD dbExecuteInsert\r
+    000061AC 18 1A                 4068        JR      ?0545\r
+    000061AE                       4069 ?0251:\r
+    000061AE FE 64                 4070        CP      100\r
+    000061B0 20 0A                 4071        JR      NZ,?0252\r
+    000061B2 DD E5                 4072        PUSH    IX\r
+    000061B4 D1                    4073        POP     DE\r
+    000061B5 3E 00                 4074        LD      A,BYTE3 dbExecuteDelete\r
+    000061B7 21 B7 5B              4075        LD      HL,LWRD dbExecuteDelete\r
+    000061BA 18 0C                 4076        JR      ?0545\r
+    000061BC                       4077 ?0252:\r
+    000061BC FE 75                 4078        CP      117\r
+    000061BE 20 0E                 4079        JR      NZ,?0248\r
+    000061C0 DD E5                 4080        PUSH    IX\r
+    000061C2 D1                    4081        POP     DE\r
+    000061C3 3E 00                 4082        LD      A,BYTE3 dbExecuteUpdate\r
+    000061C5 21 B3 5D              4083        LD      HL,LWRD dbExecuteUpdate\r
+    000061C8                       4084 ?0545:\r
+    000061C8 CD 19 82              4085        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000061CB E5                    4086        PUSH    HL\r
+    000061CC FD E1                 4087        POP     IY\r
+    000061CE                       4088 ?0248:\r
+    000061CE DD E5                 4089        PUSH    IX\r
+    000061D0 D1                    4090        POP     DE\r
+    000061D1 3E 00                 4091        LD      A,BYTE3 dbStatementClose\r
+    000061D3 21 E3 50              4092        LD      HL,LWRD dbStatementClose\r
+    000061D6 CD 19 82              4093        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000061D9 FD E5                 4094        PUSH    IY\r
+    000061DB E1                    4095        POP     HL\r
+    000061DC                       4096 ?0253:\r
+    000061DC C3 36 48              4097        JP      LWRD ?0626\r
+    000061DF                       4098 dbNextRow:\r
+    000061DF FD E5                 4099        PUSH    IY\r
+    000061E1 DD E5                 4100        PUSH    IX\r
+    000061E3 F5                    4101        PUSH    AF\r
+    000061E4 C5                    4102        PUSH    BC\r
+    000061E5 DD E1                 4103        POP     IX\r
+    000061E7 D5                    4104        PUSH    DE\r
+    000061E8 FD E1                 4105        POP     IY\r
+    000061EA 21 00 00              4106        LD      HL,0\r
+    000061ED 39                    4107        ADD     HL,SP\r
+    000061EE E5                    4108        PUSH    HL\r
+    000061EF 3E 00                 4109        LD      A,BYTE3 dbRecordSize\r
+    000061F1 21 87 51              4110        LD      HL,LWRD dbRecordSize\r
+    000061F4 CD 19 82              4111        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000061F7 EB                    4112        EX      DE,HL\r
+    000061F8 E1                    4113        POP     HL\r
+    000061F9 73                    4114        LD      (HL),E\r
+    000061FA 23                    4115        INC     HL\r
+    000061FB 72                    4116        LD      (HL),D\r
+    000061FC 21 04 00              4117        LD      HL,4\r
+    000061FF 09                    4118        ADD     HL,BC\r
+    00006200 7E                    4119        LD      A,(HL)\r
+    00006201 23                    4120        INC     HL\r
+    00006202 B6                    4121        OR      (HL)\r
+    00006203 20 09                 4122        JR      NZ,?0255\r
+    00006205                       4123 ?0254:\r
+    00006205 CD E4 49              4124        CALL    LWRD ?0641\r
+    00006208 DD 75 04              4125        LD      (IX+4),L\r
+    0000620B DD 74 05              4126        LD      (IX+5),H\r
+    0000620E                       4127 ?0255:\r
+    0000620E FD 4E 04              4128        LD      C,(IY+4)\r
+    00006211 FD 46 05              4129        LD      B,(IY+5)\r
+    00006214 FD 6E 06              4130        LD      L,(IY+6)\r
+    00006217 FD 66 07              4131        LD      H,(IY+7)\r
+    0000621A F6 80                 4132        OR      128\r
+    0000621C ED 42                 4133        SBC     HL,BC\r
+    0000621E E2 22 62              4134        JP      PO,?0547\r
+    00006221 AC                    4135        XOR     H\r
+    00006222                       4136 ?0547:\r
+    00006222 FA 39 62              4137        JP      M,?0257\r
+    00006225                       4138 ?0256:\r
+    00006225 DD 36 02 FF           4139        LD      (IX+2),255\r
+    00006229 DD 36 03 FF           4140        LD      (IX+3),255\r
+    0000622D CD 8A 45              4141        CALL    LWRD ?0638\r
+    00006230 AF                    4142        XOR     A\r
+    00006231 DD 77 04              4143        LD      (IX+4),A\r
+    00006234 DD 77 05              4144        LD      (IX+5),A\r
+    00006237 18 3E                 4145        JR      ?0258\r
+    00006239                       4146 ?0257:\r
+    00006239 FD 6E 06              4147        LD      L,(IY+6)\r
+    0000623C FD 66 07              4148        LD      H,(IY+7)\r
+    0000623F 23                    4149        INC     HL\r
+    00006240 FD 75 06              4150        LD      (IY+6),L\r
+    00006243 FD 74 07              4151        LD      (IY+7),H\r
+    00006246 2B                    4152        DEC     HL\r
+    00006247 DD 75 02              4153        LD      (IX+2),L\r
+    0000624A DD 74 03              4154        LD      (IX+3),H\r
+    0000624D FD E5                 4155        PUSH    IY\r
+    0000624F DD E5                 4156        PUSH    IX\r
+    00006251 E1                    4157        POP     HL\r
+    00006252 C1                    4158        POP     BC\r
+    00006253 71                    4159        LD      (HL),C\r
+    00006254 23                    4160        INC     HL\r
+    00006255 70                    4161        LD      (HL),B\r
+    00006256 FD 6E 08              4162        LD      L,(IY+8)\r
+    00006259 FD 66 09              4163        LD      H,(IY+9)\r
+    0000625C E5                    4164        PUSH    HL\r
+    0000625D 21 01 00              4165        LD      HL,1\r
+    00006260 E5                    4166        PUSH    HL\r
+    00006261 2E 04                 4167        LD      L,4\r
+    00006263 39                    4168        ADD     HL,SP\r
+    00006264 4E                    4169        LD      C,(HL)\r
+    00006265 23                    4170        INC     HL\r
+    00006266 46                    4171        LD      B,(HL)\r
+    00006267 DD 5E 04              4172        LD      E,(IX+4)\r
+    0000626A DD 56 05              4173        LD      D,(IX+5)\r
+    0000626D 3E 00                 4174        LD      A,BYTE3 fread\r
+    0000626F 21 DD 70              4175        LD      HL,LWRD fread\r
+    00006272 CD 19 82              4176        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006275 F1                    4177        POP     AF\r
+    00006276 F1                    4178        POP     AF\r
+    00006277                       4179 ?0258:\r
+    00006277 C3 56 46              4180        JP      LWRD ?0625\r
+    0000627A                       4181 dbDeleteRow:\r
+    0000627A DD E5                 4182        PUSH    IX\r
+    0000627C D5                    4183        PUSH    DE\r
+    0000627D DD E1                 4184        POP     IX\r
+    0000627F 7B                    4185        LD      A,E\r
+    00006280 B2                    4186        OR      D\r
+    00006281 28 11                 4187        JR      Z,?0260\r
+    00006283                       4188 ?0259:\r
+    00006283 DD 7E 04              4189        LD      A,(IX+4)\r
+    00006286 DD B6 05              4190        OR      (IX+5)\r
+    00006289 28 03                 4191        JR      Z,?0262\r
+    0000628B                       4192 ?0261:\r
+    0000628B CD 8A 45              4193        CALL    LWRD ?0638\r
+    0000628E                       4194 ?0262:\r
+    0000628E DD E5                 4195        PUSH    IX\r
+    00006290 D1                    4196        POP     DE\r
+    00006291 CD 90 45              4197        CALL    LWRD ?0639\r
+    00006294                       4198 ?0260:\r
+    00006294 DD E1                 4199        POP     IX\r
+    00006296 C3 A9 81              4200        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00006299                       4201 dbNewRow:\r
+    00006299 C5                    4202        PUSH    BC\r
+    0000629A D5                    4203        PUSH    DE\r
+    0000629B DD E5                 4204        PUSH    IX\r
+    0000629D 11 06 00              4205        LD      DE,6\r
+    000062A0 CD E4 49              4206        CALL    LWRD ?0641\r
+    000062A3 E5                    4207        PUSH    HL\r
+    000062A4 DD E1                 4208        POP     IX\r
+    000062A6 01 04 00              4209        LD      BC,4\r
+    000062A9 09                    4210        ADD     HL,BC\r
+    000062AA AF                    4211        XOR     A\r
+    000062AB 77                    4212        LD      (HL),A\r
+    000062AC 23                    4213        INC     HL\r
+    000062AD 77                    4214        LD      (HL),A\r
+    000062AE DD E5                 4215        PUSH    IX\r
+    000062B0 E1                    4216        POP     HL\r
+    000062B1 77                    4217        LD      (HL),A\r
+    000062B2 23                    4218        INC     HL\r
+    000062B3 77                    4219        LD      (HL),A\r
+    000062B4 DD 36 02 FF           4220        LD      (IX+2),255\r
+    000062B8 DD 36 03 FF           4221        LD      (IX+3),255\r
+    000062BC DD E5                 4222        PUSH    IX\r
+    000062BE E1                    4223        POP     HL\r
+    000062BF DD E1                 4224        POP     IX\r
+    000062C1 D1                    4225        POP     DE\r
+    000062C2 C1                    4226        POP     BC\r
+    000062C3 C3 A9 81              4227        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000062C6                       4228 dbGetString:\r
+    000062C6 FD E5                 4229        PUSH    IY\r
+    000062C8 DD E5                 4230        PUSH    IX\r
+    000062CA DD 21 00 00           4231        LD      IX,0\r
+    000062CE DD 39                 4232        ADD     IX,SP\r
+    000062D0 C5                    4233        PUSH    BC\r
+    000062D1 F5                    4234        PUSH    AF\r
+    000062D2 F5                    4235        PUSH    AF\r
+    000062D3 F5                    4236        PUSH    AF\r
+    000062D4 D5                    4237        PUSH    DE\r
+    000062D5 FD E1                 4238        POP     IY\r
+    000062D7 21 04 00              4239        LD      HL,4\r
+    000062DA 19                    4240        ADD     HL,DE\r
+    000062DB 7E                    4241        LD      A,(HL)\r
+    000062DC DD 77 F8              4242        LD      (IX-8),A\r
+    000062DF 23                    4243        INC     HL\r
+    000062E0 66                    4244        LD      H,(HL)\r
+    000062E1 DD 74 F9              4245        LD      (IX-7),H\r
+    000062E4 EB                    4246        EX      DE,HL\r
+    000062E5 5E                    4247        LD      E,(HL)\r
+    000062E6 23                    4248        INC     HL\r
+    000062E7 56                    4249        LD      D,(HL)\r
+    000062E8 3E 00                 4250        LD      A,BYTE3 dbFieldOffset\r
+    000062EA 21 32 51              4251        LD      HL,LWRD dbFieldOffset\r
+    000062ED CD 19 82              4252        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000062F0 DD 75 FA              4253        LD      (IX-6),L\r
+    000062F3 DD 74 FB              4254        LD      (IX-5),H\r
+    000062F6 FD 6E 00              4255        LD      L,(IY+0)\r
+    000062F9 FD 66 01              4256        LD      H,(IY+1)\r
+    000062FC 23                    4257        INC     HL\r
+    000062FD 23                    4258        INC     HL\r
+    000062FE 46                    4259        LD      B,(HL)\r
+    000062FF 23                    4260        INC     HL\r
+    00006300 66                    4261        LD      H,(HL)\r
+    00006301 68                    4262        LD      L,B\r
+    00006302 E5                    4263        PUSH    HL\r
+    00006303 DD 6E FE              4264        LD      L,(IX-2)\r
+    00006306 DD 66 FF              4265        LD      H,(IX-1)\r
+    00006309 29                    4266        ADD     HL,HL\r
+    0000630A 29                    4267        ADD     HL,HL\r
+    0000630B 4D                    4268        LD      C,L\r
+    0000630C 44                    4269        LD      B,H\r
+    0000630D 29                    4270        ADD     HL,HL\r
+    0000630E 09                    4271        ADD     HL,BC\r
+    0000630F 4D                    4272        LD      C,L\r
+    00006310 44                    4273        LD      B,H\r
+    00006311 E1                    4274        POP     HL\r
+    00006312 09                    4275        ADD     HL,BC\r
+    00006313 01 09 00              4276        LD      BC,9\r
+    00006316 09                    4277        ADD     HL,BC\r
+    00006317 7E                    4278        LD      A,(HL)\r
+    00006318 FE 53                 4279        CP      83\r
+    0000631A 20 1B                 4280        JR      NZ,?0265\r
+    0000631C                       4281 ?0264:\r
+    0000631C DD 6E FA              4282        LD      L,(IX-6)\r
+    0000631F DD 66 FB              4283        LD      H,(IX-5)\r
+    00006322 DD 4E F8              4284        LD      C,(IX-8)\r
+    00006325 DD 46 F9              4285        LD      B,(IX-7)\r
+    00006328 09                    4286        ADD     HL,BC\r
+    00006329 4D                    4287        LD      C,L\r
+    0000632A 44                    4288        LD      B,H\r
+    0000632B DD 5E 08              4289        LD      E,(IX+8)\r
+    0000632E DD 56 09              4290        LD      D,(IX+9)\r
+    00006331 CD 02 4A              4291        CALL    LWRD ?0651\r
+    00006334 C3 CF 63              4292        JP      LWRD ?0270\r
+    00006337                       4293 ?0265:\r
+    00006337 FE 49                 4294        CP      73\r
+    00006339 C2 CF 63              4295        JP      NZ,?0270\r
+    0000633C FD 6E 00              4296        LD      L,(IY+0)\r
+    0000633F FD 66 01              4297        LD      H,(IY+1)\r
+    00006342 23                    4298        INC     HL\r
+    00006343 23                    4299        INC     HL\r
+    00006344 46                    4300        LD      B,(HL)\r
+    00006345 23                    4301        INC     HL\r
+    00006346 66                    4302        LD      H,(HL)\r
+    00006347 68                    4303        LD      L,B\r
+    00006348 E5                    4304        PUSH    HL\r
+    00006349 DD 6E FE              4305        LD      L,(IX-2)\r
+    0000634C DD 66 FF              4306        LD      H,(IX-1)\r
+    0000634F 29                    4307        ADD     HL,HL\r
+    00006350 29                    4308        ADD     HL,HL\r
+    00006351 4D                    4309        LD      C,L\r
+    00006352 44                    4310        LD      B,H\r
+    00006353 29                    4311        ADD     HL,HL\r
+    00006354 09                    4312        ADD     HL,BC\r
+    00006355 4D                    4313        LD      C,L\r
+    00006356 44                    4314        LD      B,H\r
+    00006357 E1                    4315        POP     HL\r
+    00006358 09                    4316        ADD     HL,BC\r
+    00006359 01 0A 00              4317        LD      BC,10\r
+    0000635C 09                    4318        ADD     HL,BC\r
+    0000635D 46                    4319        LD      B,(HL)\r
+    0000635E 05                    4320        DEC     B\r
+    0000635F 05                    4321        DEC     B\r
+    00006360 20 21                 4322        JR      NZ,?0267\r
+    00006362                       4323 ?0266:\r
+    00006362 C5                    4324        PUSH    BC\r
+    00006363 DD 4E 08              4325        LD      C,(IX+8)\r
+    00006366 DD 46 09              4326        LD      B,(IX+9)\r
+    00006369 DD 6E FA              4327        LD      L,(IX-6)\r
+    0000636C DD 66 FB              4328        LD      H,(IX-5)\r
+    0000636F DD 5E F8              4329        LD      E,(IX-8)\r
+    00006372 DD 56 F9              4330        LD      D,(IX-7)\r
+    00006375 19                    4331        ADD     HL,DE\r
+    00006376 5E                    4332        LD      E,(HL)\r
+    00006377 23                    4333        INC     HL\r
+    00006378 56                    4334        LD      D,(HL)\r
+    00006379 3E 01                 4335        LD      A,BYTE3 itoa\r
+    0000637B 21 94 41              4336        LD      HL,LWRD itoa\r
+    0000637E CD 19 82              4337        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006381 18 4B                 4338        JR      ?0548\r
+    00006383                       4339 ?0267:\r
+    00006383 FD 6E 00              4340        LD      L,(IY+0)\r
+    00006386 FD 66 01              4341        LD      H,(IY+1)\r
+    00006389 23                    4342        INC     HL\r
+    0000638A 23                    4343        INC     HL\r
+    0000638B 46                    4344        LD      B,(HL)\r
+    0000638C 23                    4345        INC     HL\r
+    0000638D 66                    4346        LD      H,(HL)\r
+    0000638E 68                    4347        LD      L,B\r
+    0000638F E5                    4348        PUSH    HL\r
+    00006390 DD 6E FE              4349        LD      L,(IX-2)\r
+    00006393 DD 66 FF              4350        LD      H,(IX-1)\r
+    00006396 29                    4351        ADD     HL,HL\r
+    00006397 29                    4352        ADD     HL,HL\r
+    00006398 4D                    4353        LD      C,L\r
+    00006399 44                    4354        LD      B,H\r
+    0000639A 29                    4355        ADD     HL,HL\r
+    0000639B 09                    4356        ADD     HL,BC\r
+    0000639C 4D                    4357        LD      C,L\r
+    0000639D 44                    4358        LD      B,H\r
+    0000639E E1                    4359        POP     HL\r
+    0000639F 09                    4360        ADD     HL,BC\r
+    000063A0 01 0A 00              4361        LD      BC,10\r
+    000063A3 09                    4362        ADD     HL,BC\r
+    000063A4 7E                    4363        LD      A,(HL)\r
+    000063A5 FE 04                 4364        CP      4\r
+    000063A7 20 26                 4365        JR      NZ,?0270\r
+    000063A9                       4366 ?0269:\r
+    000063A9 C5                    4367        PUSH    BC\r
+    000063AA DD 6E 08              4368        LD      L,(IX+8)\r
+    000063AD DD 66 09              4369        LD      H,(IX+9)\r
+    000063B0 E5                    4370        PUSH    HL\r
+    000063B1 DD 6E FA              4371        LD      L,(IX-6)\r
+    000063B4 DD 66 FB              4372        LD      H,(IX-5)\r
+    000063B7 DD 4E F8              4373        LD      C,(IX-8)\r
+    000063BA DD 46 F9              4374        LD      B,(IX-7)\r
+    000063BD 09                    4375        ADD     HL,BC\r
+    000063BE 5E                    4376        LD      E,(HL)\r
+    000063BF 23                    4377        INC     HL\r
+    000063C0 56                    4378        LD      D,(HL)\r
+    000063C1 23                    4379        INC     HL\r
+    000063C2 4E                    4380        LD      C,(HL)\r
+    000063C3 23                    4381        INC     HL\r
+    000063C4 46                    4382        LD      B,(HL)\r
+    000063C5 3E 01                 4383        LD      A,BYTE3 ltoa\r
+    000063C7 21 36 49              4384        LD      HL,LWRD ltoa\r
+    000063CA CD 19 82              4385        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000063CD F1                    4386        POP     AF\r
+    000063CE                       4387 ?0548:\r
+    000063CE F1                    4388        POP     AF\r
+    000063CF                       4389 ?0270:\r
+    000063CF                       4390 ?0268:\r
+    000063CF                       4391 ?0263:\r
+    000063CF C3 D0 49              4392        JP      LWRD ?0630\r
+    000063D2                       4393 dbGetInt:\r
+    000063D2 FD E5                 4394        PUSH    IY\r
+    000063D4 DD E5                 4395        PUSH    IX\r
+    000063D6 C5                    4396        PUSH    BC\r
+    000063D7 F5                    4397        PUSH    AF\r
+    000063D8 D5                    4398        PUSH    DE\r
+    000063D9 DD E1                 4399        POP     IX\r
+    000063DB 21 04 00              4400        LD      HL,4\r
+    000063DE 19                    4401        ADD     HL,DE\r
+    000063DF 7E                    4402        LD      A,(HL)\r
+    000063E0 23                    4403        INC     HL\r
+    000063E1 66                    4404        LD      H,(HL)\r
+    000063E2 6F                    4405        LD      L,A\r
+    000063E3 E5                    4406        PUSH    HL\r
+    000063E4 FD E1                 4407        POP     IY\r
+    000063E6 21 00 00              4408        LD      HL,0\r
+    000063E9 39                    4409        ADD     HL,SP\r
+    000063EA E5                    4410        PUSH    HL\r
+    000063EB EB                    4411        EX      DE,HL\r
+    000063EC 5E                    4412        LD      E,(HL)\r
+    000063ED 23                    4413        INC     HL\r
+    000063EE 56                    4414        LD      D,(HL)\r
+    000063EF 3E 00                 4415        LD      A,BYTE3 dbFieldOffset\r
+    000063F1 21 32 51              4416        LD      HL,LWRD dbFieldOffset\r
+    000063F4 CD 19 82              4417        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000063F7 4D                    4418        LD      C,L\r
+    000063F8 44                    4419        LD      B,H\r
+    000063F9 E1                    4420        POP     HL\r
+    000063FA 71                    4421        LD      (HL),C\r
+    000063FB 23                    4422        INC     HL\r
+    000063FC 70                    4423        LD      (HL),B\r
+    000063FD DD 6E 00              4424        LD      L,(IX+0)\r
+    00006400 DD 66 01              4425        LD      H,(IX+1)\r
+    00006403 23                    4426        INC     HL\r
+    00006404 23                    4427        INC     HL\r
+    00006405 46                    4428        LD      B,(HL)\r
+    00006406 23                    4429        INC     HL\r
+    00006407 66                    4430        LD      H,(HL)\r
+    00006408 68                    4431        LD      L,B\r
+    00006409 E5                    4432        PUSH    HL\r
+    0000640A 21 04 00              4433        LD      HL,4\r
+    0000640D 39                    4434        ADD     HL,SP\r
+    0000640E 46                    4435        LD      B,(HL)\r
+    0000640F 23                    4436        INC     HL\r
+    00006410 66                    4437        LD      H,(HL)\r
+    00006411 68                    4438        LD      L,B\r
+    00006412 29                    4439        ADD     HL,HL\r
+    00006413 29                    4440        ADD     HL,HL\r
+    00006414 4D                    4441        LD      C,L\r
+    00006415 44                    4442        LD      B,H\r
+    00006416 29                    4443        ADD     HL,HL\r
+    00006417 09                    4444        ADD     HL,BC\r
+    00006418 4D                    4445        LD      C,L\r
+    00006419 44                    4446        LD      B,H\r
+    0000641A E1                    4447        POP     HL\r
+    0000641B 09                    4448        ADD     HL,BC\r
+    0000641C 01 09 00              4449        LD      BC,9\r
+    0000641F 09                    4450        ADD     HL,BC\r
+    00006420 7E                    4451        LD      A,(HL)\r
+    00006421 FE 53                 4452        CP      83\r
+    00006423 20 16                 4453        JR      NZ,?0273\r
+    00006425                       4454 ?0272:\r
+    00006425 68                    4455        LD      L,B\r
+    00006426 60                    4456        LD      H,B\r
+    00006427 39                    4457        ADD     HL,SP\r
+    00006428 46                    4458        LD      B,(HL)\r
+    00006429 23                    4459        INC     HL\r
+    0000642A 66                    4460        LD      H,(HL)\r
+    0000642B 68                    4461        LD      L,B\r
+    0000642C FD E5                 4462        PUSH    IY\r
+    0000642E C1                    4463        POP     BC\r
+    0000642F 09                    4464        ADD     HL,BC\r
+    00006430 EB                    4465        EX      DE,HL\r
+    00006431 3E 00                 4466        LD      A,BYTE3 atoi\r
+    00006433 21 43 7F              4467        LD      HL,LWRD atoi\r
+    00006436 CD 19 82              4468        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006439 18 13                 4469        JR      ?0274\r
+    0000643B                       4470 ?0273:\r
+    0000643B FE 49                 4471        CP      73\r
+    0000643D 68                    4472        LD      L,B\r
+    0000643E 60                    4473        LD      H,B\r
+    0000643F 20 0D                 4474        JR      NZ,?0274\r
+    00006441 39                    4475        ADD     HL,SP\r
+    00006442 46                    4476        LD      B,(HL)\r
+    00006443 23                    4477        INC     HL\r
+    00006444 66                    4478        LD      H,(HL)\r
+    00006445 68                    4479        LD      L,B\r
+    00006446 FD E5                 4480        PUSH    IY\r
+    00006448 C1                    4481        POP     BC\r
+    00006449 09                    4482        ADD     HL,BC\r
+    0000644A 46                    4483        LD      B,(HL)\r
+    0000644B 23                    4484        INC     HL\r
+    0000644C 66                    4485        LD      H,(HL)\r
+    0000644D 68                    4486        LD      L,B\r
+    0000644E                       4487 ?0274:\r
+    0000644E                       4488 ?0275:\r
+    0000644E F1                    4489        POP     AF\r
+    0000644F C3 36 48              4490        JP      LWRD ?0626\r
+    00006452                       4491 ?0271:\r
+    00006452                       4492 dbGetLong:\r
+    00006452 FD E5                 4493        PUSH    IY\r
+    00006454 DD E5                 4494        PUSH    IX\r
+    00006456 DD 21 00 00           4495        LD      IX,0\r
+    0000645A DD 39                 4496        ADD     IX,SP\r
+    0000645C C5                    4497        PUSH    BC\r
+    0000645D F5                    4498        PUSH    AF\r
+    0000645E F5                    4499        PUSH    AF\r
+    0000645F D5                    4500        PUSH    DE\r
+    00006460 FD E1                 4501        POP     IY\r
+    00006462 21 04 00              4502        LD      HL,4\r
+    00006465 19                    4503        ADD     HL,DE\r
+    00006466 7E                    4504        LD      A,(HL)\r
+    00006467 DD 77 FA              4505        LD      (IX-6),A\r
+    0000646A 23                    4506        INC     HL\r
+    0000646B 66                    4507        LD      H,(HL)\r
+    0000646C DD 74 FB              4508        LD      (IX-5),H\r
+    0000646F EB                    4509        EX      DE,HL\r
+    00006470 5E                    4510        LD      E,(HL)\r
+    00006471 23                    4511        INC     HL\r
+    00006472 56                    4512        LD      D,(HL)\r
+    00006473 3E 00                 4513        LD      A,BYTE3 dbFieldOffset\r
+    00006475 21 32 51              4514        LD      HL,LWRD dbFieldOffset\r
+    00006478 CD 19 82              4515        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000647B DD 75 FC              4516        LD      (IX-4),L\r
+    0000647E DD 74 FD              4517        LD      (IX-3),H\r
+    00006481 FD 6E 00              4518        LD      L,(IY+0)\r
+    00006484 FD 66 01              4519        LD      H,(IY+1)\r
+    00006487 23                    4520        INC     HL\r
+    00006488 23                    4521        INC     HL\r
+    00006489 46                    4522        LD      B,(HL)\r
+    0000648A 23                    4523        INC     HL\r
+    0000648B 66                    4524        LD      H,(HL)\r
+    0000648C 68                    4525        LD      L,B\r
+    0000648D E5                    4526        PUSH    HL\r
+    0000648E DD 6E FE              4527        LD      L,(IX-2)\r
+    00006491 DD 66 FF              4528        LD      H,(IX-1)\r
+    00006494 29                    4529        ADD     HL,HL\r
+    00006495 29                    4530        ADD     HL,HL\r
+    00006496 4D                    4531        LD      C,L\r
+    00006497 44                    4532        LD      B,H\r
+    00006498 29                    4533        ADD     HL,HL\r
+    00006499 09                    4534        ADD     HL,BC\r
+    0000649A 4D                    4535        LD      C,L\r
+    0000649B 44                    4536        LD      B,H\r
+    0000649C E1                    4537        POP     HL\r
+    0000649D 09                    4538        ADD     HL,BC\r
+    0000649E 01 09 00              4539        LD      BC,9\r
+    000064A1 09                    4540        ADD     HL,BC\r
+    000064A2 7E                    4541        LD      A,(HL)\r
+    000064A3 FE 53                 4542        CP      83\r
+    000064A5 20 18                 4543        JR      NZ,?0278\r
+    000064A7                       4544 ?0277:\r
+    000064A7 DD 6E FC              4545        LD      L,(IX-4)\r
+    000064AA DD 66 FD              4546        LD      H,(IX-3)\r
+    000064AD DD 4E FA              4547        LD      C,(IX-6)\r
+    000064B0 DD 46 FB              4548        LD      B,(IX-5)\r
+    000064B3 09                    4549        ADD     HL,BC\r
+    000064B4 EB                    4550        EX      DE,HL\r
+    000064B5 3E 01                 4551        LD      A,BYTE3 atol\r
+    000064B7 21 20 49              4552        LD      HL,LWRD atol\r
+    000064BA CD 19 82              4553        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000064BD 18 4F                 4554        JR      ?0282\r
+    000064BF                       4555 ?0278:\r
+    000064BF FE 49                 4556        CP      73\r
+    000064C1 20 48                 4557        JR      NZ,?0281\r
+    000064C3 FD 6E 00              4558        LD      L,(IY+0)\r
+    000064C6 FD 66 01              4559        LD      H,(IY+1)\r
+    000064C9 23                    4560        INC     HL\r
+    000064CA 23                    4561        INC     HL\r
+    000064CB 46                    4562        LD      B,(HL)\r
+    000064CC 23                    4563        INC     HL\r
+    000064CD 66                    4564        LD      H,(HL)\r
+    000064CE 68                    4565        LD      L,B\r
+    000064CF E5                    4566        PUSH    HL\r
+    000064D0 DD 6E FE              4567        LD      L,(IX-2)\r
+    000064D3 DD 66 FF              4568        LD      H,(IX-1)\r
+    000064D6 29                    4569        ADD     HL,HL\r
+    000064D7 29                    4570        ADD     HL,HL\r
+    000064D8 4D                    4571        LD      C,L\r
+    000064D9 44                    4572        LD      B,H\r
+    000064DA 29                    4573        ADD     HL,HL\r
+    000064DB 09                    4574        ADD     HL,BC\r
+    000064DC 4D                    4575        LD      C,L\r
+    000064DD 44                    4576        LD      B,H\r
+    000064DE E1                    4577        POP     HL\r
+    000064DF 09                    4578        ADD     HL,BC\r
+    000064E0 01 0A 00              4579        LD      BC,10\r
+    000064E3 09                    4580        ADD     HL,BC\r
+    000064E4 46                    4581        LD      B,(HL)\r
+    000064E5 05                    4582        DEC     B\r
+    000064E6 05                    4583        DEC     B\r
+    000064E7 DD 6E FC              4584        LD      L,(IX-4)\r
+    000064EA DD 66 FD              4585        LD      H,(IX-3)\r
+    000064ED DD 4E FA              4586        LD      C,(IX-6)\r
+    000064F0 DD 46 FB              4587        LD      B,(IX-5)\r
+    000064F3 09                    4588        ADD     HL,BC\r
+    000064F4 20 0B                 4589        JR      NZ,?0280\r
+    000064F6                       4590 ?0279:\r
+    000064F6 46                    4591        LD      B,(HL)\r
+    000064F7 23                    4592        INC     HL\r
+    000064F8 66                    4593        LD      H,(HL)\r
+    000064F9 7C                    4594        LD      A,H\r
+    000064FA 68                    4595        LD      L,B\r
+    000064FB 07                    4596        RLCA\r
+    000064FC 9F                    4597        SBC     A,A\r
+    000064FD 4F                    4598        LD      C,A\r
+    000064FE 41                    4599        LD      B,C\r
+    000064FF 18 0D                 4600        JR      ?0282\r
+    00006501                       4601 ?0280:\r
+    00006501 5E                    4602        LD      E,(HL)\r
+    00006502 23                    4603        INC     HL\r
+    00006503 56                    4604        LD      D,(HL)\r
+    00006504 23                    4605        INC     HL\r
+    00006505 4E                    4606        LD      C,(HL)\r
+    00006506 23                    4607        INC     HL\r
+    00006507 46                    4608        LD      B,(HL)\r
+    00006508 EB                    4609        EX      DE,HL\r
+    00006509 18 03                 4610        JR      ?0282\r
+    0000650B                       4611 ?0281:\r
+    0000650B 48                    4612        LD      C,B\r
+    0000650C 69                    4613        LD      L,C\r
+    0000650D 60                    4614        LD      H,B\r
+    0000650E                       4615 ?0282:\r
+    0000650E C3 D0 49              4616        JP      LWRD ?0630\r
+    00006511                       4617 ?0276:\r
+    00006511                       4618 dbOperatorPrecedence:\r
+    00006511 D5                    4619        PUSH    DE\r
+    00006512 CD E2 81              4620        CALL    LWRD ?C_V_SWITCH_L06\r
+    00006515 10 00                 4621        DEFW    16\r
+    00006517 00                    4622        DEFB    0\r
+    00006518 26                    4623        DEFB    38\r
+    00006519 28                    4624        DEFB    40\r
+    0000651A 29                    4625        DEFB    41\r
+    0000651B 2A                    4626        DEFB    42\r
+    0000651C 2B                    4627        DEFB    43\r
+    0000651D 2D                    4628        DEFB    45\r
+    0000651E 2F                    4629        DEFB    47\r
+    0000651F 3B                    4630        DEFB    59\r
+    00006520 3C                    4631        DEFB    60\r
+    00006521 3D                    4632        DEFB    61\r
+    00006522 3E                    4633        DEFB    62\r
+    00006523 5B                    4634        DEFB    91\r
+    00006524 5D                    4635        DEFB    93\r
+    00006525 5E                    4636        DEFB    94\r
+    00006526 7C                    4637        DEFB    124\r
+    00006527 65 65                 4638        DEFW    ?0291\r
+    00006529 5D 65                 4639        DEFW    ?0289\r
+    0000652B 4D 65                 4640        DEFW    ?0285\r
+    0000652D 59 65                 4641        DEFW    ?0288\r
+    0000652F 59 65                 4642        DEFW    ?0288\r
+    00006531 59 65                 4643        DEFW    ?0288\r
+    00006533 59 65                 4644        DEFW    ?0288\r
+    00006535 59 65                 4645        DEFW    ?0288\r
+    00006537 61 65                 4646        DEFW    ?0290\r
+    00006539 51 65                 4647        DEFW    ?0286\r
+    0000653B 55 65                 4648        DEFW    ?0287\r
+    0000653D 55 65                 4649        DEFW    ?0287\r
+    0000653F 51 65                 4650        DEFW    ?0286\r
+    00006541 61 65                 4651        DEFW    ?0290\r
+    00006543 49 65                 4652        DEFW    ?0284\r
+    00006545 5D 65                 4653        DEFW    ?0289\r
+    00006547 61 65                 4654        DEFW    ?0290\r
+    00006549                       4655 ?0284:\r
+    00006549 2E 01                 4656        LD      L,1\r
+    0000654B 18 1A                 4657        JR      ?0292\r
+    0000654D                       4658 ?0285:\r
+    0000654D 2E 02                 4659        LD      L,2\r
+    0000654F 18 16                 4660        JR      ?0292\r
+    00006551                       4661 ?0286:\r
+    00006551 2E 03                 4662        LD      L,3\r
+    00006553 18 12                 4663        JR      ?0292\r
+    00006555                       4664 ?0287:\r
+    00006555 2E 04                 4665        LD      L,4\r
+    00006557 18 0E                 4666        JR      ?0292\r
+    00006559                       4667 ?0288:\r
+    00006559 2E 05                 4668        LD      L,5\r
+    0000655B 18 0A                 4669        JR      ?0292\r
+    0000655D                       4670 ?0289:\r
+    0000655D 2E 06                 4671        LD      L,6\r
+    0000655F 18 06                 4672        JR      ?0292\r
+    00006561                       4673 ?0290:\r
+    00006561 2E 3F                 4674        LD      L,63\r
+    00006563 18 02                 4675        JR      ?0292\r
+    00006565                       4676 ?0291:\r
+    00006565 2E 00                 4677        LD      L,0\r
+    00006567                       4678 ?0292:\r
+    00006567 F1                    4679        POP     AF\r
+    00006568 C3 A9 81              4680        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000656B                       4681 ?0283:\r
+    0000656B                       4682 dbNewExpression:\r
+    0000656B DD E5                 4683        PUSH    IX\r
+    0000656D C5                    4684        PUSH    BC\r
+    0000656E D5                    4685        PUSH    DE\r
+    0000656F 11 4E 00              4686        LD      DE,78\r
+    00006572 CD E4 49              4687        CALL    LWRD ?0641\r
+    00006575 E5                    4688        PUSH    HL\r
+    00006576 DD E1                 4689        POP     IX\r
+    00006578 23                    4690        INC     HL\r
+    00006579 23                    4691        INC     HL\r
+    0000657A 23                    4692        INC     HL\r
+    0000657B 36 00                 4693        LD      (HL),0\r
+    0000657D AF                    4694        XOR     A\r
+    0000657E DD 77 48              4695        LD      (IX+72),A\r
+    00006581 DD 77 49              4696        LD      (IX+73),A\r
+    00006584 DD 77 4A              4697        LD      (IX+74),A\r
+    00006587 DD 77 4B              4698        LD      (IX+75),A\r
+    0000658A DD 77 02              4699        LD      (IX+2),A\r
+    0000658D 6F                    4700        LD      L,A\r
+    0000658E 67                    4701        LD      H,A\r
+    0000658F 39                    4702        ADD     HL,SP\r
+    00006590 46                    4703        LD      B,(HL)\r
+    00006591 DD 70 4C              4704        LD      (IX+76),B\r
+    00006594 23                    4705        INC     HL\r
+    00006595 66                    4706        LD      H,(HL)\r
+    00006596 DD 74 4D              4707        LD      (IX+77),H\r
+    00006599 DD 71 00              4708        LD      (IX+0),C\r
+    0000659C DD 77 24              4709        LD      (IX+36),A\r
+    0000659F DD 77 25              4710        LD      (IX+37),A\r
+    000065A2 DD 77 26              4711        LD      (IX+38),A\r
+    000065A5 DD 77 27              4712        LD      (IX+39),A\r
+    000065A8 DD E5                 4713        PUSH    IX\r
+    000065AA E1                    4714        POP     HL\r
+    000065AB F1                    4715        POP     AF\r
+    000065AC F1                    4716        POP     AF\r
+    000065AD DD E1                 4717        POP     IX\r
+    000065AF C3 A9 81              4718        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000065B2                       4719 dbParseExpression:\r
+    000065B2 FD E5                 4720        PUSH    IY\r
+    000065B4 DD E5                 4721        PUSH    IX\r
+    000065B6 DD 21 00 00           4722        LD      IX,0\r
+    000065BA DD 39                 4723        ADD     IX,SP\r
+    000065BC C5                    4724        PUSH    BC\r
+    000065BD D5                    4725        PUSH    DE\r
+    000065BE 21 B2 FF              4726        LD      HL,65458\r
+    000065C1 39                    4727        ADD     HL,SP\r
+    000065C2 F9                    4728        LD      SP,HL\r
+    000065C3 AF                    4729        XOR     A\r
+    000065C4 DD 77 F8              4730        LD      (IX-8),A\r
+    000065C7 DD 77 F9              4731        LD      (IX-7),A\r
+    000065CA 7B                    4732        LD      A,E\r
+    000065CB B2                    4733        OR      D\r
+    000065CC 20 24                 4734        JR      NZ,?0294\r
+    000065CE                       4735 ?0293:\r
+    000065CE 0E 01                 4736        LD      C,1\r
+    000065D0 5F                    4737        LD      E,A\r
+    000065D1 57                    4738        LD      D,A\r
+    000065D2 CD B4 69              4739        CALL    LWRD ?0666\r
+    000065D5 DD 75 AE              4740        LD      (IX-82),L\r
+    000065D8 DD 74 AF              4741        LD      (IX-81),H\r
+    000065DB 01 04 00              4742        LD      BC,4\r
+    000065DE 09                    4743        ADD     HL,BC\r
+    000065DF 36 31                 4744        LD      (HL),49\r
+    000065E1 21 05 00              4745        LD      HL,5\r
+    000065E4 DD 4E AE              4746        LD      C,(IX-82)\r
+    000065E7 DD 46 AF              4747        LD      B,(IX-81)\r
+    000065EA 09                    4748        ADD     HL,BC\r
+    000065EB 36 00                 4749        LD      (HL),0\r
+    000065ED 69                    4750        LD      L,C\r
+    000065EE 60                    4751        LD      H,B\r
+    000065EF C3 AC 69              4752        JP      LWRD ?0356\r
+    000065F2                       4753 ?0294:\r
+    000065F2 AF                    4754        XOR     A\r
+    000065F3 DD 77 F6              4755        LD      (IX-10),A\r
+    000065F6 DD 77 F7              4756        LD      (IX-9),A\r
+    000065F9                       4757 ?0296:\r
+    000065F9 01 40 80              4758        LD      BC,32832\r
+    000065FC DD 6E F6              4759        LD      L,(IX-10)\r
+    000065FF DD 66 F7              4760        LD      H,(IX-9)\r
+    00006602 78                    4761        LD      A,B\r
+    00006603 AC                    4762        XOR     H\r
+    00006604 67                    4763        LD      H,A\r
+    00006605 ED 42                 4764        SBC     HL,BC\r
+    00006607 30 16                 4765        JR      NC,?0295\r
+    00006609                       4766 ?0297:\r
+    00006609 21 06 00              4767        LD      HL,6\r
+    0000660C 39                    4768        ADD     HL,SP\r
+    0000660D DD 4E F6              4769        LD      C,(IX-10)\r
+    00006610 DD 46 F7              4770        LD      B,(IX-9)\r
+    00006613 09                    4771        ADD     HL,BC\r
+    00006614 36 00                 4772        LD      (HL),0\r
+    00006616 03                    4773        INC     BC\r
+    00006617 DD 71 F6              4774        LD      (IX-10),C\r
+    0000661A DD 70 F7              4775        LD      (IX-9),B\r
+    0000661D 18 DA                 4776        JR      ?0296\r
+    0000661F                       4777 ?0295:\r
+    0000661F 0E 03                 4778        LD      C,3\r
+    00006621 11 00 00              4779        LD      DE,0\r
+    00006624 CD B4 69              4780        CALL    LWRD ?0666\r
+    00006627 DD 75 AE              4781        LD      (IX-82),L\r
+    0000662A DD 74 AF              4782        LD      (IX-81),H\r
+    0000662D E5                    4783        PUSH    HL\r
+    0000662E FD E1                 4784        POP     IY\r
+    00006630                       4785 ?0301:\r
+    00006630 AF                    4786        XOR     A\r
+    00006631 DD 77 B2              4787        LD      (IX-78),A\r
+    00006634 DD 77 B3              4788        LD      (IX-77),A\r
+    00006637                       4789 ?0302:\r
+    00006637 DD 6E FE              4790        LD      L,(IX-2)\r
+    0000663A DD 66 FF              4791        LD      H,(IX-1)\r
+    0000663D 46                    4792        LD      B,(HL)\r
+    0000663E 23                    4793        INC     HL\r
+    0000663F 66                    4794        LD      H,(HL)\r
+    00006640 68                    4795        LD      L,B\r
+    00006641 DD 4E FC              4796        LD      C,(IX-4)\r
+    00006644 DD 46 FD              4797        LD      B,(IX-3)\r
+    00006647 09                    4798        ADD     HL,BC\r
+    00006648 5E                    4799        LD      E,(HL)\r
+    00006649 3E 00                 4800        LD      A,BYTE3 dbOperatorPrecedence\r
+    0000664B 21 11 65              4801        LD      HL,LWRD dbOperatorPrecedence\r
+    0000664E CD 19 82              4802        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006651 26 00                 4803        LD      H,0\r
+    00006653 DD 75 F4              4804        LD      (IX-12),L\r
+    00006656 DD 74 F5              4805        LD      (IX-11),H\r
+    00006659 7D                    4806        LD      A,L\r
+    0000665A B7                    4807        OR      A\r
+    0000665B 20 1E                 4808        JR      NZ,?0304\r
+    0000665D                       4809 ?0303:\r
+    0000665D DD 6E FE              4810        LD      L,(IX-2)\r
+    00006660 DD 66 FF              4811        LD      H,(IX-1)\r
+    00006663 46                    4812        LD      B,(HL)\r
+    00006664 23                    4813        INC     HL\r
+    00006665 66                    4814        LD      H,(HL)\r
+    00006666 68                    4815        LD      L,B\r
+    00006667 DD 46 FD              4816        LD      B,(IX-3)\r
+    0000666A 09                    4817        ADD     HL,BC\r
+    0000666B 46                    4818        LD      B,(HL)\r
+    0000666C 21 06 00              4819        LD      HL,6\r
+    0000666F 39                    4820        ADD     HL,SP\r
+    00006670 DD 5E F8              4821        LD      E,(IX-8)\r
+    00006673 DD 56 F9              4822        LD      D,(IX-7)\r
+    00006676 19                    4823        ADD     HL,DE\r
+    00006677 70                    4824        LD      (HL),B\r
+    00006678 C3 58 69              4825        JP      LWRD ?0312\r
+    0000667B                       4826 ?0304:\r
+    0000667B 3E 01                 4827        LD      A,1\r
+    0000667D AD                    4828        XOR     L\r
+    0000667E 20 5E                 4829        JR      NZ,?0307\r
+    00006680                       4830 ?0306:\r
+    00006680 DD 6E FE              4831        LD      L,(IX-2)\r
+    00006683 DD 66 FF              4832        LD      H,(IX-1)\r
+    00006686 46                    4833        LD      B,(HL)\r
+    00006687 23                    4834        INC     HL\r
+    00006688 66                    4835        LD      H,(HL)\r
+    00006689 68                    4836        LD      L,B\r
+    0000668A DD 46 FD              4837        LD      B,(IX-3)\r
+    0000668D 09                    4838        ADD     HL,BC\r
+    0000668E 7E                    4839        LD      A,(HL)\r
+    0000668F FE 29                 4840        CP      41\r
+    00006691 20 08                 4841        JR      NZ,?0309\r
+    00006693                       4842 ?0308:\r
+    00006693 DD 36 F4 3F           4843        LD      (IX-12),63\r
+    00006697 DD 36 F5 00           4844        LD      (IX-11),0\r
+    0000669B                       4845 ?0309:\r
+    0000669B DD 6E FE              4846        LD      L,(IX-2)\r
+    0000669E DD 66 FF              4847        LD      H,(IX-1)\r
+    000066A1 46                    4848        LD      B,(HL)\r
+    000066A2 23                    4849        INC     HL\r
+    000066A3 66                    4850        LD      H,(HL)\r
+    000066A4 68                    4851        LD      L,B\r
+    000066A5 DD 46 FD              4852        LD      B,(IX-3)\r
+    000066A8 09                    4853        ADD     HL,BC\r
+    000066A9 7E                    4854        LD      A,(HL)\r
+    000066AA FE 28                 4855        CP      40\r
+    000066AC C2 58 69              4856        JP      NZ,?0312\r
+    000066AF                       4857 ?0310:\r
+    000066AF DD 6E FE              4858        LD      L,(IX-2)\r
+    000066B2 DD 66 FF              4859        LD      H,(IX-1)\r
+    000066B5 34                    4860        INC     (HL)\r
+    000066B6 23                    4861        INC     HL\r
+    000066B7 20 01                 4862        JR      NZ,?0549\r
+    000066B9 34                    4863        INC     (HL)\r
+    000066BA                       4864 ?0549:\r
+    000066BA DD 4E FE              4865        LD      C,(IX-2)\r
+    000066BD DD 46 FF              4866        LD      B,(IX-1)\r
+    000066C0 DD 5E FC              4867        LD      E,(IX-4)\r
+    000066C3 DD 56 FD              4868        LD      D,(IX-3)\r
+    000066C6 3E 00                 4869        LD      A,BYTE3 dbParseExpression\r
+    000066C8 21 B2 65              4870        LD      HL,LWRD dbParseExpression\r
+    000066CB CD 19 82              4871        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000066CE DD 75 B2              4872        LD      (IX-78),L\r
+    000066D1 DD 74 B3              4873        LD      (IX-77),H\r
+    000066D4 AF                    4874        XOR     A\r
+    000066D5 DD 77 F8              4875        LD      (IX-8),A\r
+    000066D8 DD 77 F9              4876        LD      (IX-7),A\r
+    000066DB C3 37 66              4877        JP      LWRD ?0302\r
+    000066DE                       4878 ?0311:\r
+    000066DE                       4879 ?0307:\r
+    000066DE 2E 06                 4880        LD      L,6\r
+    000066E0 39                    4881        ADD     HL,SP\r
+    000066E1 DD 4E F8              4882        LD      C,(IX-8)\r
+    000066E4 DD 46 F9              4883        LD      B,(IX-7)\r
+    000066E7 09                    4884        ADD     HL,BC\r
+    000066E8 36 00                 4885        LD      (HL),0\r
+    000066EA FD 7E 48              4886        LD      A,(IY+72)\r
+    000066ED FD B6 49              4887        OR      (IY+73)\r
+    000066F0 20 46                 4888        JR      NZ,?0314\r
+    000066F2                       4889 ?0313:\r
+    000066F2 DD 7E B2              4890        LD      A,(IX-78)\r
+    000066F5 DD B6 B3              4891        OR      (IX-77)\r
+    000066F8 20 1A                 4892        JR      NZ,?0316\r
+    000066FA                       4893 ?0315:\r
+    000066FA CD AF 69              4894        CALL    LWRD ?0667\r
+    000066FD FD 75 48              4895        LD      (IY+72),L\r
+    00006700 FD 74 49              4896        LD      (IY+73),H\r
+    00006703 21 06 00              4897        LD      HL,6\r
+    00006706 39                    4898        ADD     HL,SP\r
+    00006707 4D                    4899        LD      C,L\r
+    00006708 44                    4900        LD      B,H\r
+    00006709 FD 6E 48              4901        LD      L,(IY+72)\r
+    0000670C FD 66 49              4902        LD      H,(IY+73)\r
+    0000670F CD FD 49              4903        CALL    LWRD ?0654\r
+    00006712 18 0C                 4904        JR      ?0317\r
+    00006714                       4905 ?0316:\r
+    00006714 DD 6E B2              4906        LD      L,(IX-78)\r
+    00006717 FD 75 48              4907        LD      (IY+72),L\r
+    0000671A DD 66 B3              4908        LD      H,(IX-77)\r
+    0000671D FD 74 49              4909        LD      (IY+73),H\r
+    00006720                       4910 ?0317:\r
+    00006720 DD 6E FE              4911        LD      L,(IX-2)\r
+    00006723 DD 66 FF              4912        LD      H,(IX-1)\r
+    00006726 46                    4913        LD      B,(HL)\r
+    00006727 23                    4914        INC     HL\r
+    00006728 66                    4915        LD      H,(HL)\r
+    00006729 68                    4916        LD      L,B\r
+    0000672A DD 4E FC              4917        LD      C,(IX-4)\r
+    0000672D DD 46 FD              4918        LD      B,(IX-3)\r
+    00006730 09                    4919        ADD     HL,BC\r
+    00006731 46                    4920        LD      B,(HL)\r
+    00006732 FD 70 02              4921        LD      (IY+2),B\r
+    00006735 C3 50 69              4922        JP      LWRD ?0350\r
+    00006738                       4923 ?0314:\r
+    00006738 CD BC 69              4924        CALL    LWRD ?0669\r
+    0000673B E2 3F 67              4925        JP      PO,?0550\r
+    0000673E AC                    4926        XOR     H\r
+    0000673F                       4927 ?0550:\r
+    0000673F F2 B9 67              4928        JP      P,?0320\r
+    00006742                       4929 ?0319:\r
+    00006742 0E 03                 4930        LD      C,3\r
+    00006744 CD B1 69              4931        CALL    LWRD ?0668\r
+    00006747 FD 75 4A              4932        LD      (IY+74),L\r
+    0000674A FD 74 4B              4933        LD      (IY+75),H\r
+    0000674D DD 7E B2              4934        LD      A,(IX-78)\r
+    00006750 DD B6 B3              4935        OR      (IX-77)\r
+    00006753 FD 6E 4A              4936        LD      L,(IY+74)\r
+    00006756 FD 66 4B              4937        LD      H,(IY+75)\r
+    00006759 01 48 00              4938        LD      BC,72\r
+    0000675C 09                    4939        ADD     HL,BC\r
+    0000675D 20 2B                 4940        JR      NZ,?0322\r
+    0000675F                       4941 ?0321:\r
+    0000675F E5                    4942        PUSH    HL\r
+    00006760 0E 01                 4943        LD      C,1\r
+    00006762 FD 5E 4A              4944        LD      E,(IY+74)\r
+    00006765 FD 56 4B              4945        LD      D,(IY+75)\r
+    00006768 CD B4 69              4946        CALL    LWRD ?0666\r
+    0000676B 4D                    4947        LD      C,L\r
+    0000676C 44                    4948        LD      B,H\r
+    0000676D E1                    4949        POP     HL\r
+    0000676E 71                    4950        LD      (HL),C\r
+    0000676F 23                    4951        INC     HL\r
+    00006770 70                    4952        LD      (HL),B\r
+    00006771 21 06 00              4953        LD      HL,6\r
+    00006774 39                    4954        ADD     HL,SP\r
+    00006775 4D                    4955        LD      C,L\r
+    00006776 44                    4956        LD      B,H\r
+    00006777 FD 6E 4A              4957        LD      L,(IY+74)\r
+    0000677A FD 66 4B              4958        LD      H,(IY+75)\r
+    0000677D 11 48 00              4959        LD      DE,72\r
+    00006780 19                    4960        ADD     HL,DE\r
+    00006781 56                    4961        LD      D,(HL)\r
+    00006782 23                    4962        INC     HL\r
+    00006783 66                    4963        LD      H,(HL)\r
+    00006784 6A                    4964        LD      L,D\r
+    00006785 CD FD 49              4965        CALL    LWRD ?0654\r
+    00006788 18 09                 4966        JR      ?0323\r
+    0000678A                       4967 ?0322:\r
+    0000678A DD 4E B2              4968        LD      C,(IX-78)\r
+    0000678D 71                    4969        LD      (HL),C\r
+    0000678E DD 46 B3              4970        LD      B,(IX-77)\r
+    00006791 23                    4971        INC     HL\r
+    00006792 70                    4972        LD      (HL),B\r
+    00006793                       4973 ?0323:\r
+    00006793 FD 6E 4A              4974        LD      L,(IY+74)\r
+    00006796 FD 66 4B              4975        LD      H,(IY+75)\r
+    00006799 23                    4976        INC     HL\r
+    0000679A 23                    4977        INC     HL\r
+    0000679B E5                    4978        PUSH    HL\r
+    0000679C DD 6E FE              4979        LD      L,(IX-2)\r
+    0000679F DD 66 FF              4980        LD      H,(IX-1)\r
+    000067A2 46                    4981        LD      B,(HL)\r
+    000067A3 23                    4982        INC     HL\r
+    000067A4 66                    4983        LD      H,(HL)\r
+    000067A5 68                    4984        LD      L,B\r
+    000067A6 DD 4E FC              4985        LD      C,(IX-4)\r
+    000067A9 DD 46 FD              4986        LD      B,(IX-3)\r
+    000067AC 09                    4987        ADD     HL,BC\r
+    000067AD 46                    4988        LD      B,(HL)\r
+    000067AE E1                    4989        POP     HL\r
+    000067AF 70                    4990        LD      (HL),B\r
+    000067B0 FD 6E 4A              4991        LD      L,(IY+74)\r
+    000067B3 FD 66 4B              4992        LD      H,(IY+75)\r
+    000067B6 C3 4D 69              4993        JP      LWRD ?0557\r
+    000067B9                       4994 ?0320:\r
+    000067B9 3E 3F                 4995        LD      A,63\r
+    000067BB DD AE F4              4996        XOR     (IX-12)\r
+    000067BE DD B6 F5              4997        OR      (IX-11)\r
+    000067C1 20 2A                 4998        JR      NZ,?0326\r
+    000067C3                       4999 ?0325:\r
+    000067C3 DD 7E B2              5000        LD      A,(IX-78)\r
+    000067C6 DD B6 B3              5001        OR      (IX-77)\r
+    000067C9 20 13                 5002        JR      NZ,?0328\r
+    000067CB                       5003 ?0327:\r
+    000067CB CD AF 69              5004        CALL    LWRD ?0667\r
+    000067CE FD 75 4A              5005        LD      (IY+74),L\r
+    000067D1 FD 74 4B              5006        LD      (IY+75),H\r
+    000067D4 21 06 00              5007        LD      HL,6\r
+    000067D7 39                    5008        ADD     HL,SP\r
+    000067D8 CD F5 49              5009        CALL    LWRD ?0655\r
+    000067DB C3 50 69              5010        JP      LWRD ?0350\r
+    000067DE                       5011 ?0328:\r
+    000067DE DD 6E B2              5012        LD      L,(IX-78)\r
+    000067E1 FD 75 4A              5013        LD      (IY+74),L\r
+    000067E4 DD 66 B3              5014        LD      H,(IX-77)\r
+    000067E7 FD 74 4B              5015        LD      (IY+75),H\r
+    000067EA                       5016 ?0329:\r
+    000067EA C3 50 69              5017        JP      LWRD ?0350\r
+    000067ED                       5018 ?0326:\r
+    000067ED CD D5 69              5019        CALL    LWRD ?0670\r
+    000067F0 E2 F4 67              5020        JP      PO,?0551\r
+    000067F3 AC                    5021        XOR     H\r
+    000067F4                       5022 ?0551:\r
+    000067F4 FA 50 69              5023        JP      M,?0350\r
+    000067F7                       5024 ?0331:\r
+    000067F7 DD 7E B2              5025        LD      A,(IX-78)\r
+    000067FA DD B6 B3              5026        OR      (IX-77)\r
+    000067FD 20 12                 5027        JR      NZ,?0334\r
+    000067FF                       5028 ?0333:\r
+    000067FF CD AF 69              5029        CALL    LWRD ?0667\r
+    00006802 FD 75 4A              5030        LD      (IY+74),L\r
+    00006805 FD 74 4B              5031        LD      (IY+75),H\r
+    00006808 21 06 00              5032        LD      HL,6\r
+    0000680B 39                    5033        ADD     HL,SP\r
+    0000680C CD F5 49              5034        CALL    LWRD ?0655\r
+    0000680F 18 0C                 5035        JR      ?0335\r
+    00006811                       5036 ?0334:\r
+    00006811 DD 6E B2              5037        LD      L,(IX-78)\r
+    00006814 FD 75 4A              5038        LD      (IY+74),L\r
+    00006817 DD 66 B3              5039        LD      H,(IX-77)\r
+    0000681A FD 74 4B              5040        LD      (IY+75),H\r
+    0000681D                       5041 ?0335:\r
+    0000681D                       5042 ?0337:\r
+    0000681D CD BC 69              5043        CALL    LWRD ?0669\r
+    00006820 E2 24 68              5044        JP      PO,?0552\r
+    00006823 AC                    5045        XOR     H\r
+    00006824                       5046 ?0552:\r
+    00006824 FA 3A 68              5047        JP      M,?0336\r
+    00006827 FD 7E 4C              5048        LD      A,(IY+76)\r
+    0000682A FD B6 4D              5049        OR      (IY+77)\r
+    0000682D 28 0B                 5050        JR      Z,?0336\r
+    0000682F                       5051 ?0340:\r
+    0000682F                       5052 ?0339:\r
+    0000682F                       5053 ?0338:\r
+    0000682F FD 6E 4C              5054        LD      L,(IY+76)\r
+    00006832 FD 66 4D              5055        LD      H,(IY+77)\r
+    00006835 E5                    5056        PUSH    HL\r
+    00006836 FD E1                 5057        POP     IY\r
+    00006838 18 E3                 5058        JR      ?0335\r
+    0000683A                       5059 ?0336:\r
+    0000683A FD 7E 4C              5060        LD      A,(IY+76)\r
+    0000683D FD B6 4D              5061        OR      (IY+77)\r
+    00006840 20 41                 5062        JR      NZ,?0342\r
+    00006842 CD D5 69              5063        CALL    LWRD ?0670\r
+    00006845 E2 49 68              5064        JP      PO,?0553\r
+    00006848 AC                    5065        XOR     H\r
+    00006849                       5066 ?0553:\r
+    00006849 FA 83 68              5067        JP      M,?0342\r
+    0000684C                       5068 ?0344:\r
+    0000684C                       5069 ?0343:\r
+    0000684C                       5070 ?0341:\r
+    0000684C 0E 03                 5071        LD      C,3\r
+    0000684E 58                    5072        LD      E,B\r
+    0000684F 50                    5073        LD      D,B\r
+    00006850 CD B4 69              5074        CALL    LWRD ?0666\r
+    00006853 DD 75 AE              5075        LD      (IX-82),L\r
+    00006856 DD 74 AF              5076        LD      (IX-81),H\r
+    00006859 01 48 00              5077        LD      BC,72\r
+    0000685C 09                    5078        ADD     HL,BC\r
+    0000685D FD E5                 5079        PUSH    IY\r
+    0000685F C1                    5080        POP     BC\r
+    00006860 71                    5081        LD      (HL),C\r
+    00006861 23                    5082        INC     HL\r
+    00006862 70                    5083        LD      (HL),B\r
+    00006863 DD 6E FE              5084        LD      L,(IX-2)\r
+    00006866 DD 66 FF              5085        LD      H,(IX-1)\r
+    00006869 56                    5086        LD      D,(HL)\r
+    0000686A 23                    5087        INC     HL\r
+    0000686B 66                    5088        LD      H,(HL)\r
+    0000686C 6A                    5089        LD      L,D\r
+    0000686D DD 5E FC              5090        LD      E,(IX-4)\r
+    00006870 DD 56 FD              5091        LD      D,(IX-3)\r
+    00006873 19                    5092        ADD     HL,DE\r
+    00006874 56                    5093        LD      D,(HL)\r
+    00006875 DD 6E AE              5094        LD      L,(IX-82)\r
+    00006878 DD 66 AF              5095        LD      H,(IX-81)\r
+    0000687B 23                    5096        INC     HL\r
+    0000687C 23                    5097        INC     HL\r
+    0000687D 72                    5098        LD      (HL),D\r
+    0000687E 2B                    5099        DEC     HL\r
+    0000687F 2B                    5100        DEC     HL\r
+    00006880 C3 4D 69              5101        JP      LWRD ?0557\r
+    00006883                       5102 ?0342:\r
+    00006883 FD 7E 4C              5103        LD      A,(IY+76)\r
+    00006886 FD B6 4D              5104        OR      (IY+77)\r
+    00006889 20 5C                 5105        JR      NZ,?0347\r
+    0000688B CD D5 69              5106        CALL    LWRD ?0670\r
+    0000688E E2 92 68              5107        JP      PO,?0554\r
+    00006891 AC                    5108        XOR     H\r
+    00006892                       5109 ?0554:\r
+    00006892 F2 E7 68              5110        JP      P,?0347\r
+    00006895                       5111 ?0349:\r
+    00006895                       5112 ?0348:\r
+    00006895                       5113 ?0346:\r
+    00006895 0E 03                 5114        LD      C,3\r
+    00006897 CD B1 69              5115        CALL    LWRD ?0668\r
+    0000689A DD 75 FA              5116        LD      (IX-6),L\r
+    0000689D DD 74 FB              5117        LD      (IX-5),H\r
+    000068A0 01 48 00              5118        LD      BC,72\r
+    000068A3 09                    5119        ADD     HL,BC\r
+    000068A4 FD 4E 4A              5120        LD      C,(IY+74)\r
+    000068A7 71                    5121        LD      (HL),C\r
+    000068A8 FD 46 4B              5122        LD      B,(IY+75)\r
+    000068AB 23                    5123        INC     HL\r
+    000068AC 70                    5124        LD      (HL),B\r
+    000068AD DD 6E FE              5125        LD      L,(IX-2)\r
+    000068B0 DD 66 FF              5126        LD      H,(IX-1)\r
+    000068B3 46                    5127        LD      B,(HL)\r
+    000068B4 23                    5128        INC     HL\r
+    000068B5 66                    5129        LD      H,(HL)\r
+    000068B6 68                    5130        LD      L,B\r
+    000068B7 DD 4E FC              5131        LD      C,(IX-4)\r
+    000068BA DD 46 FD              5132        LD      B,(IX-3)\r
+    000068BD 09                    5133        ADD     HL,BC\r
+    000068BE 46                    5134        LD      B,(HL)\r
+    000068BF DD 6E FA              5135        LD      L,(IX-6)\r
+    000068C2 DD 66 FB              5136        LD      H,(IX-5)\r
+    000068C5 23                    5137        INC     HL\r
+    000068C6 23                    5138        INC     HL\r
+    000068C7 70                    5139        LD      (HL),B\r
+    000068C8 21 48 00              5140        LD      HL,72\r
+    000068CB DD 4E FA              5141        LD      C,(IX-6)\r
+    000068CE DD 46 FB              5142        LD      B,(IX-5)\r
+    000068D1 09                    5143        ADD     HL,BC\r
+    000068D2 56                    5144        LD      D,(HL)\r
+    000068D3 23                    5145        INC     HL\r
+    000068D4 66                    5146        LD      H,(HL)\r
+    000068D5 6A                    5147        LD      L,D\r
+    000068D6 11 4C 00              5148        LD      DE,76\r
+    000068D9 19                    5149        ADD     HL,DE\r
+    000068DA 71                    5150        LD      (HL),C\r
+    000068DB 23                    5151        INC     HL\r
+    000068DC 70                    5152        LD      (HL),B\r
+    000068DD FD 71 4A              5153        LD      (IY+74),C\r
+    000068E0 FD 70 4B              5154        LD      (IY+75),B\r
+    000068E3 69                    5155        LD      L,C\r
+    000068E4 60                    5156        LD      H,B\r
+    000068E5 18 66                 5157        JR      ?0557\r
+    000068E7                       5158 ?0347:\r
+    000068E7 FD 6E 4C              5159        LD      L,(IY+76)\r
+    000068EA DD 75 FA              5160        LD      (IX-6),L\r
+    000068ED FD 66 4D              5161        LD      H,(IY+77)\r
+    000068F0 DD 74 FB              5162        LD      (IX-5),H\r
+    000068F3 0E 4A                 5163        LD      C,74\r
+    000068F5 09                    5164        ADD     HL,BC\r
+    000068F6 E5                    5165        PUSH    HL\r
+    000068F7 0E 03                 5166        LD      C,3\r
+    000068F9 DD 5E FA              5167        LD      E,(IX-6)\r
+    000068FC DD 56 FB              5168        LD      D,(IX-5)\r
+    000068FF CD B4 69              5169        CALL    LWRD ?0666\r
+    00006902 4D                    5170        LD      C,L\r
+    00006903 44                    5171        LD      B,H\r
+    00006904 E1                    5172        POP     HL\r
+    00006905 71                    5173        LD      (HL),C\r
+    00006906 23                    5174        INC     HL\r
+    00006907 70                    5175        LD      (HL),B\r
+    00006908 21 4A 00              5176        LD      HL,74\r
+    0000690B DD 4E FA              5177        LD      C,(IX-6)\r
+    0000690E DD 46 FB              5178        LD      B,(IX-5)\r
+    00006911 09                    5179        ADD     HL,BC\r
+    00006912 56                    5180        LD      D,(HL)\r
+    00006913 23                    5181        INC     HL\r
+    00006914 66                    5182        LD      H,(HL)\r
+    00006915 6A                    5183        LD      L,D\r
+    00006916 11 48 00              5184        LD      DE,72\r
+    00006919 19                    5185        ADD     HL,DE\r
+    0000691A FD E5                 5186        PUSH    IY\r
+    0000691C D1                    5187        POP     DE\r
+    0000691D 73                    5188        LD      (HL),E\r
+    0000691E 23                    5189        INC     HL\r
+    0000691F 72                    5190        LD      (HL),D\r
+    00006920 21 4A 00              5191        LD      HL,74\r
+    00006923 09                    5192        ADD     HL,BC\r
+    00006924 7E                    5193        LD      A,(HL)\r
+    00006925 23                    5194        INC     HL\r
+    00006926 66                    5195        LD      H,(HL)\r
+    00006927 6F                    5196        LD      L,A\r
+    00006928 23                    5197        INC     HL\r
+    00006929 23                    5198        INC     HL\r
+    0000692A E5                    5199        PUSH    HL\r
+    0000692B DD 6E FE              5200        LD      L,(IX-2)\r
+    0000692E DD 66 FF              5201        LD      H,(IX-1)\r
+    00006931 7E                    5202        LD      A,(HL)\r
+    00006932 23                    5203        INC     HL\r
+    00006933 66                    5204        LD      H,(HL)\r
+    00006934 6F                    5205        LD      L,A\r
+    00006935 DD 4E FC              5206        LD      C,(IX-4)\r
+    00006938 DD 46 FD              5207        LD      B,(IX-3)\r
+    0000693B 09                    5208        ADD     HL,BC\r
+    0000693C 46                    5209        LD      B,(HL)\r
+    0000693D E1                    5210        POP     HL\r
+    0000693E 70                    5211        LD      (HL),B\r
+    0000693F 21 4A 00              5212        LD      HL,74\r
+    00006942 DD 4E FA              5213        LD      C,(IX-6)\r
+    00006945 DD 46 FB              5214        LD      B,(IX-5)\r
+    00006948 09                    5215        ADD     HL,BC\r
+    00006949 46                    5216        LD      B,(HL)\r
+    0000694A 23                    5217        INC     HL\r
+    0000694B 66                    5218        LD      H,(HL)\r
+    0000694C 68                    5219        LD      L,B\r
+    0000694D                       5220 ?0557:\r
+    0000694D E5                    5221        PUSH    HL\r
+    0000694E FD E1                 5222        POP     IY\r
+    00006950                       5223 ?0350:\r
+    00006950                       5224 ?0345:\r
+    00006950                       5225 ?0332:\r
+    00006950                       5226 ?0330:\r
+    00006950                       5227 ?0324:\r
+    00006950                       5228 ?0318:\r
+    00006950 DD 36 F8 FF           5229        LD      (IX-8),255\r
+    00006954 DD 36 F9 FF           5230        LD      (IX-7),255\r
+    00006958                       5231 ?0312:\r
+    00006958                       5232 ?0305:\r
+    00006958 DD 34 F8              5233        INC     (IX-8)\r
+    0000695B 20 03                 5234        JR      NZ,?0555\r
+    0000695D DD 34 F9              5235        INC     (IX-7)\r
+    00006960                       5236 ?0555:\r
+    00006960 DD 6E FE              5237        LD      L,(IX-2)\r
+    00006963 DD 66 FF              5238        LD      H,(IX-1)\r
+    00006966 34                    5239        INC     (HL)\r
+    00006967 23                    5240        INC     HL\r
+    00006968 20 01                 5241        JR      NZ,?0556\r
+    0000696A 34                    5242        INC     (HL)\r
+    0000696B                       5243 ?0556:\r
+    0000696B 01 3F 80              5244        LD      BC,32831\r
+    0000696E DD 6E F4              5245        LD      L,(IX-12)\r
+    00006971 DD 66 F5              5246        LD      H,(IX-11)\r
+    00006974 78                    5247        LD      A,B\r
+    00006975 AC                    5248        XOR     H\r
+    00006976 67                    5249        LD      H,A\r
+    00006977 ED 42                 5250        SBC     HL,BC\r
+    00006979 DA 30 66              5251        JP      C,?0301\r
+    0000697C                       5252 ?0299:\r
+    0000697C                       5253 ?0352:\r
+    0000697C 21 4A 00              5254        LD      HL,74\r
+    0000697F DD 4E AE              5255        LD      C,(IX-82)\r
+    00006982 DD 46 AF              5256        LD      B,(IX-81)\r
+    00006985 09                    5257        ADD     HL,BC\r
+    00006986 7E                    5258        LD      A,(HL)\r
+    00006987 23                    5259        INC     HL\r
+    00006988 B6                    5260        OR      (HL)\r
+    00006989 20 1F                 5261        JR      NZ,?0351\r
+    0000698B 69                    5262        LD      L,C\r
+    0000698C 60                    5263        LD      H,B\r
+    0000698D 7E                    5264        LD      A,(HL)\r
+    0000698E FE 03                 5265        CP      3\r
+    00006990 20 18                 5266        JR      NZ,?0351\r
+    00006992                       5267 ?0355:\r
+    00006992                       5268 ?0354:\r
+    00006992                       5269 ?0353:\r
+    00006992 E5                    5270        PUSH    HL\r
+    00006993 FD E1                 5271        POP     IY\r
+    00006995 21 48 00              5272        LD      HL,72\r
+    00006998 09                    5273        ADD     HL,BC\r
+    00006999 56                    5274        LD      D,(HL)\r
+    0000699A DD 72 AE              5275        LD      (IX-82),D\r
+    0000699D 23                    5276        INC     HL\r
+    0000699E 66                    5277        LD      H,(HL)\r
+    0000699F DD 74 AF              5278        LD      (IX-81),H\r
+    000069A2 FD E5                 5279        PUSH    IY\r
+    000069A4 D1                    5280        POP     DE\r
+    000069A5 CD 90 45              5281        CALL    LWRD ?0639\r
+    000069A8 18 D2                 5282        JR      ?0299\r
+    000069AA                       5283 ?0351:\r
+    000069AA 69                    5284        LD      L,C\r
+    000069AB 60                    5285        LD      H,B\r
+    000069AC                       5286 ?0356:\r
+    000069AC C3 D0 49              5287        JP      LWRD ?0630\r
+    000069AF                       5288 ?0667:\r
+    000069AF 0E 01                 5289        LD      C,1\r
+    000069B1                       5290 ?0668:\r
+    000069B1 FD E5                 5291        PUSH    IY\r
+    000069B3 D1                    5292        POP     DE\r
+    000069B4                       5293 ?0666:\r
+    000069B4 3E 00                 5294        LD      A,BYTE3 dbNewExpression\r
+    000069B6 21 6B 65              5295        LD      HL,LWRD dbNewExpression\r
+    000069B9 C3 19 82              5296        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000069BC                       5297 ?0669:\r
+    000069BC FD 5E 02              5298        LD      E,(IY+2)\r
+    000069BF 3E 00                 5299        LD      A,BYTE3 dbOperatorPrecedence\r
+    000069C1 21 11 65              5300        LD      HL,LWRD dbOperatorPrecedence\r
+    000069C4 CD 19 82              5301        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000069C7 4D                    5302        LD      C,L\r
+    000069C8 06 00                 5303        LD      B,0\r
+    000069CA DD 6E F4              5304        LD      L,(IX-12)\r
+    000069CD DD 66 F5              5305        LD      H,(IX-11)\r
+    000069D0 F6 80                 5306        OR      128\r
+    000069D2 ED 42                 5307        SBC     HL,BC\r
+    000069D4 C9                    5308        RET\r
+    000069D5                       5309 ?0670:\r
+    000069D5 FD 5E 02              5310        LD      E,(IY+2)\r
+    000069D8 3E 00                 5311        LD      A,BYTE3 dbOperatorPrecedence\r
+    000069DA 21 11 65              5312        LD      HL,LWRD dbOperatorPrecedence\r
+    000069DD CD 19 82              5313        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000069E0 4D                    5314        LD      C,L\r
+    000069E1 DD 6E F4              5315        LD      L,(IX-12)\r
+    000069E4 DD 66 F5              5316        LD      H,(IX-11)\r
+    000069E7 F6 80                 5317        OR      128\r
+    000069E9 ED 42                 5318        SBC     HL,BC\r
+    000069EB C9                    5319        RET\r
+    000069EC                       5320 dbDeleteExpression:\r
+    000069EC DD E5                 5321        PUSH    IX\r
+    000069EE D5                    5322        PUSH    DE\r
+    000069EF DD E1                 5323        POP     IX\r
+    000069F1 1A                    5324        LD      A,(DE)\r
+    000069F2 FE 03                 5325        CP      3\r
+    000069F4 20 1C                 5326        JR      NZ,?0358\r
+    000069F6                       5327 ?0357:\r
+    000069F6 DD 5E 48              5328        LD      E,(IX+72)\r
+    000069F9 DD 56 49              5329        LD      D,(IX+73)\r
+    000069FC 3E 00                 5330        LD      A,BYTE3 dbDeleteExpression\r
+    000069FE 21 EC 69              5331        LD      HL,LWRD dbDeleteExpression\r
+    00006A01 CD 19 82              5332        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006A04 DD 5E 4A              5333        LD      E,(IX+74)\r
+    00006A07 DD 56 4B              5334        LD      D,(IX+75)\r
+    00006A0A 3E 00                 5335        LD      A,BYTE3 dbDeleteExpression\r
+    00006A0C 21 EC 69              5336        LD      HL,LWRD dbDeleteExpression\r
+    00006A0F CD 19 82              5337        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006A12                       5338 ?0358:\r
+    00006A12 C3 D8 50              5339        JP      LWRD ?0636\r
+    00006A15                       5340 dbEvaluateExpression:\r
+    00006A15 FD E5                 5341        PUSH    IY\r
+    00006A17 DD E5                 5342        PUSH    IX\r
+    00006A19 DD 21 00 00           5343        LD      IX,0\r
+    00006A1D DD 39                 5344        ADD     IX,SP\r
+    00006A1F C5                    5345        PUSH    BC\r
+    00006A20 F5                    5346        PUSH    AF\r
+    00006A21 F5                    5347        PUSH    AF\r
+    00006A22 F5                    5348        PUSH    AF\r
+    00006A23 D5                    5349        PUSH    DE\r
+    00006A24 FD E1                 5350        POP     IY\r
+    00006A26 1A                    5351        LD      A,(DE)\r
+    00006A27 FE 03                 5352        CP      3\r
+    00006A29 C2 E5 6D              5353        JP      NZ,?0360\r
+    00006A2C                       5354 ?0359:\r
+    00006A2C FD 5E 48              5355        LD      E,(IY+72)\r
+    00006A2F FD 56 49              5356        LD      D,(IY+73)\r
+    00006A32 3E 00                 5357        LD      A,BYTE3 dbEvaluateExpression\r
+    00006A34 21 15 6A              5358        LD      HL,LWRD dbEvaluateExpression\r
+    00006A37 CD 19 82              5359        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006A3A DD 4E FE              5360        LD      C,(IX-2)\r
+    00006A3D DD 46 FF              5361        LD      B,(IX-1)\r
+    00006A40 FD 5E 4A              5362        LD      E,(IY+74)\r
+    00006A43 FD 56 4B              5363        LD      D,(IY+75)\r
+    00006A46 3E 00                 5364        LD      A,BYTE3 dbEvaluateExpression\r
+    00006A48 21 15 6A              5365        LD      HL,LWRD dbEvaluateExpression\r
+    00006A4B CD 19 82              5366        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006A4E FD 5E 02              5367        LD      E,(IY+2)\r
+    00006A51 3E 00                 5368        LD      A,BYTE3 dbOperatorPrecedence\r
+    00006A53 21 11 65              5369        LD      HL,LWRD dbOperatorPrecedence\r
+    00006A56 CD 19 82              5370        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006A59 7D                    5371        LD      A,L\r
+    00006A5A FE 05                 5372        CP      5\r
+    00006A5C FD 6E 48              5373        LD      L,(IY+72)\r
+    00006A5F FD 66 49              5374        LD      H,(IY+73)\r
+    00006A62 23                    5375        INC     HL\r
+    00006A63 D2 5A 6B              5376        JP      NC,?0362\r
+    00006A66                       5377 ?0361:\r
+    00006A66 46                    5378        LD      B,(HL)\r
+    00006A67 05                    5379        DEC     B\r
+    00006A68 C2 5A 6F              5380        JP      NZ,?0454\r
+    00006A6B FD 6E 4A              5381        LD      L,(IY+74)\r
+    00006A6E FD 66 4B              5382        LD      H,(IY+75)\r
+    00006A71 23                    5383        INC     HL\r
+    00006A72 46                    5384        LD      B,(HL)\r
+    00006A73 05                    5385        DEC     B\r
+    00006A74 C2 5A 6F              5386        JP      NZ,?0454\r
+    00006A77                       5387 ?0366:\r
+    00006A77                       5388 ?0365:\r
+    00006A77                       5389 ?0363:\r
+    00006A77 FD 36 01 01           5390        LD      (IY+1),1\r
+    00006A7B FD 7E 02              5391        LD      A,(IY+2)\r
+    00006A7E FE 2B                 5392        CP      43\r
+    00006A80 20 2D                 5393        JR      NZ,?0369\r
+    00006A82                       5394 ?0368:\r
+    00006A82 FD 6E 4A              5395        LD      L,(IY+74)\r
+    00006A85 FD 66 4B              5396        LD      H,(IY+75)\r
+    00006A88 0E 24                 5397        LD      C,36\r
+    00006A8A 09                    5398        ADD     HL,BC\r
+    00006A8B 4E                    5399        LD      C,(HL)\r
+    00006A8C 23                    5400        INC     HL\r
+    00006A8D 46                    5401        LD      B,(HL)\r
+    00006A8E 23                    5402        INC     HL\r
+    00006A8F 5E                    5403        LD      E,(HL)\r
+    00006A90 23                    5404        INC     HL\r
+    00006A91 56                    5405        LD      D,(HL)\r
+    00006A92 D5                    5406        PUSH    DE\r
+    00006A93 C5                    5407        PUSH    BC\r
+    00006A94 FD 6E 48              5408        LD      L,(IY+72)\r
+    00006A97 FD 66 49              5409        LD      H,(IY+73)\r
+    00006A9A 01 24 00              5410        LD      BC,36\r
+    00006A9D 09                    5411        ADD     HL,BC\r
+    00006A9E 4E                    5412        LD      C,(HL)\r
+    00006A9F 23                    5413        INC     HL\r
+    00006AA0 46                    5414        LD      B,(HL)\r
+    00006AA1 23                    5415        INC     HL\r
+    00006AA2 5E                    5416        LD      E,(HL)\r
+    00006AA3 23                    5417        INC     HL\r
+    00006AA4 56                    5418        LD      D,(HL)\r
+    00006AA5 69                    5419        LD      L,C\r
+    00006AA6 60                    5420        LD      H,B\r
+    00006AA7 C1                    5421        POP     BC\r
+    00006AA8 09                    5422        ADD     HL,BC\r
+    00006AA9 EB                    5423        EX      DE,HL\r
+    00006AAA C1                    5424        POP     BC\r
+    00006AAB ED 4A                 5425        ADC     HL,BC\r
+    00006AAD 18 33                 5426        JR      ?0564\r
+    00006AAF                       5427 ?0369:\r
+    00006AAF FE 2D                 5428        CP      45\r
+    00006AB1 20 34                 5429        JR      NZ,?0370\r
+    00006AB3 FD 6E 4A              5430        LD      L,(IY+74)\r
+    00006AB6 FD 66 4B              5431        LD      H,(IY+75)\r
+    00006AB9 0E 24                 5432        LD      C,36\r
+    00006ABB 09                    5433        ADD     HL,BC\r
+    00006ABC 4E                    5434        LD      C,(HL)\r
+    00006ABD 23                    5435        INC     HL\r
+    00006ABE 46                    5436        LD      B,(HL)\r
+    00006ABF 23                    5437        INC     HL\r
+    00006AC0 5E                    5438        LD      E,(HL)\r
+    00006AC1 23                    5439        INC     HL\r
+    00006AC2 56                    5440        LD      D,(HL)\r
+    00006AC3 69                    5441        LD      L,C\r
+    00006AC4 60                    5442        LD      H,B\r
+    00006AC5 D5                    5443        PUSH    DE\r
+    00006AC6 E5                    5444        PUSH    HL\r
+    00006AC7 FD 6E 48              5445        LD      L,(IY+72)\r
+    00006ACA FD 66 49              5446        LD      H,(IY+73)\r
+    00006ACD 01 24 00              5447        LD      BC,36\r
+    00006AD0 09                    5448        ADD     HL,BC\r
+    00006AD1 4E                    5449        LD      C,(HL)\r
+    00006AD2 23                    5450        INC     HL\r
+    00006AD3 46                    5451        LD      B,(HL)\r
+    00006AD4 23                    5452        INC     HL\r
+    00006AD5 5E                    5453        LD      E,(HL)\r
+    00006AD6 23                    5454        INC     HL\r
+    00006AD7 56                    5455        LD      D,(HL)\r
+    00006AD8 69                    5456        LD      L,C\r
+    00006AD9 60                    5457        LD      H,B\r
+    00006ADA A7                    5458        AND     A\r
+    00006ADB C1                    5459        POP     BC\r
+    00006ADC ED 42                 5460        SBC     HL,BC\r
+    00006ADE EB                    5461        EX      DE,HL\r
+    00006ADF C1                    5462        POP     BC\r
+    00006AE0 ED 42                 5463        SBC     HL,BC\r
+    00006AE2                       5464 ?0564:\r
+    00006AE2 4D                    5465        LD      C,L\r
+    00006AE3 44                    5466        LD      B,H\r
+    00006AE4 EB                    5467        EX      DE,HL\r
+    00006AE5 18 58                 5468        JR      ?0583\r
+    00006AE7                       5469 ?0370:\r
+    00006AE7 FE 2A                 5470        CP      42\r
+    00006AE9 20 29                 5471        JR      NZ,?0371\r
+    00006AEB FD 6E 48              5472        LD      L,(IY+72)\r
+    00006AEE FD 66 49              5473        LD      H,(IY+73)\r
+    00006AF1 0E 24                 5474        LD      C,36\r
+    00006AF3 09                    5475        ADD     HL,BC\r
+    00006AF4 4E                    5476        LD      C,(HL)\r
+    00006AF5 23                    5477        INC     HL\r
+    00006AF6 46                    5478        LD      B,(HL)\r
+    00006AF7 23                    5479        INC     HL\r
+    00006AF8 5E                    5480        LD      E,(HL)\r
+    00006AF9 23                    5481        INC     HL\r
+    00006AFA 56                    5482        LD      D,(HL)\r
+    00006AFB D5                    5483        PUSH    DE\r
+    00006AFC C5                    5484        PUSH    BC\r
+    00006AFD FD 6E 4A              5485        LD      L,(IY+74)\r
+    00006B00 FD 66 4B              5486        LD      H,(IY+75)\r
+    00006B03 01 24 00              5487        LD      BC,36\r
+    00006B06 09                    5488        ADD     HL,BC\r
+    00006B07 5E                    5489        LD      E,(HL)\r
+    00006B08 23                    5490        INC     HL\r
+    00006B09 56                    5491        LD      D,(HL)\r
+    00006B0A 23                    5492        INC     HL\r
+    00006B0B 4E                    5493        LD      C,(HL)\r
+    00006B0C 23                    5494        INC     HL\r
+    00006B0D 46                    5495        LD      B,(HL)\r
+    00006B0E EB                    5496        EX      DE,HL\r
+    00006B0F CD 1F 81              5497        CALL    LWRD ?L_MUL_L03\r
+    00006B12 18 2B                 5498        JR      ?0583\r
+    00006B14                       5499 ?0371:\r
+    00006B14 FE 2F                 5500        CP      47\r
+    00006B16 20 33                 5501        JR      NZ,?0367\r
+    00006B18 FD 6E 4A              5502        LD      L,(IY+74)\r
+    00006B1B FD 66 4B              5503        LD      H,(IY+75)\r
+    00006B1E 0E 24                 5504        LD      C,36\r
+    00006B20 09                    5505        ADD     HL,BC\r
+    00006B21 4E                    5506        LD      C,(HL)\r
+    00006B22 23                    5507        INC     HL\r
+    00006B23 46                    5508        LD      B,(HL)\r
+    00006B24 23                    5509        INC     HL\r
+    00006B25 5E                    5510        LD      E,(HL)\r
+    00006B26 23                    5511        INC     HL\r
+    00006B27 56                    5512        LD      D,(HL)\r
+    00006B28 D5                    5513        PUSH    DE\r
+    00006B29 C5                    5514        PUSH    BC\r
+    00006B2A FD 6E 48              5515        LD      L,(IY+72)\r
+    00006B2D FD 66 49              5516        LD      H,(IY+73)\r
+    00006B30 01 24 00              5517        LD      BC,36\r
+    00006B33 09                    5518        ADD     HL,BC\r
+    00006B34 5E                    5519        LD      E,(HL)\r
+    00006B35 23                    5520        INC     HL\r
+    00006B36 56                    5521        LD      D,(HL)\r
+    00006B37 23                    5522        INC     HL\r
+    00006B38 4E                    5523        LD      C,(HL)\r
+    00006B39 23                    5524        INC     HL\r
+    00006B3A 46                    5525        LD      B,(HL)\r
+    00006B3B EB                    5526        EX      DE,HL\r
+    00006B3C CD 93 82              5527        CALL    LWRD ?SL_DIV_L03\r
+    00006B3F                       5528 ?0583:\r
+    00006B3F DD 75 F8              5529        LD      (IX-8),L\r
+    00006B42 DD 74 F9              5530        LD      (IX-7),H\r
+    00006B45 DD 71 FA              5531        LD      (IX-6),C\r
+    00006B48 DD 70 FB              5532        LD      (IX-5),B\r
+    00006B4B                       5533 ?0367:\r
+    00006B4B DD 4E FA              5534        LD      C,(IX-6)\r
+    00006B4E DD 46 FB              5535        LD      B,(IX-5)\r
+    00006B51 DD 6E F8              5536        LD      L,(IX-8)\r
+    00006B54 DD 66 F9              5537        LD      H,(IX-7)\r
+    00006B57 C3 01 6F              5538        JP      LWRD ?0606\r
+    00006B5A                       5539 ?0364:\r
+    00006B5A                       5540 ?0362:\r
+    00006B5A 7E                    5541        LD      A,(HL)\r
+    00006B5B FE 03                 5542        CP      3\r
+    00006B5D CA 8F 6C              5543        JP      Z,?0377\r
+    00006B60 FD 6E 4A              5544        LD      L,(IY+74)\r
+    00006B63 FD 66 4B              5545        LD      H,(IY+75)\r
+    00006B66 23                    5546        INC     HL\r
+    00006B67 7E                    5547        LD      A,(HL)\r
+    00006B68 FE 03                 5548        CP      3\r
+    00006B6A CA 8F 6C              5549        JP      Z,?0377\r
+    00006B6D                       5550 ?0376:\r
+    00006B6D                       5551 ?0375:\r
+    00006B6D                       5552 ?0373:\r
+    00006B6D FD 36 01 04           5553        LD      (IY+1),4\r
+    00006B71 FD 5E 02              5554        LD      E,(IY+2)\r
+    00006B74 CD E2 81              5555        CALL    LWRD ?C_V_SWITCH_L06\r
+    00006B77 07 00                 5556        DEFW    7\r
+    00006B79 26                    5557        DEFB    38\r
+    00006B7A 3C                    5558        DEFB    60\r
+    00006B7B 3D                    5559        DEFB    61\r
+    00006B7C 3E                    5560        DEFB    62\r
+    00006B7D 5B                    5561        DEFB    91\r
+    00006B7E 5D                    5562        DEFB    93\r
+    00006B7F 7C                    5563        DEFB    124\r
+    00006B80 8F 6C                 5564        DEFW    ?0377\r
+    00006B82 6D 6C                 5565        DEFW    ?0399\r
+    00006B84 31 6C                 5566        DEFW    ?0394\r
+    00006B86 0E 6C                 5567        DEFW    ?0390\r
+    00006B88 EB 6B                 5568        DEFW    ?0386\r
+    00006B8A 90 6B                 5569        DEFW    ?0378\r
+    00006B8C CE 6B                 5570        DEFW    ?0382\r
+    00006B8E 55 6C                 5571        DEFW    ?0398\r
+    00006B90                       5572 ?0378:\r
+    00006B90 FD 6E 4A              5573        LD      L,(IY+74)\r
+    00006B93 FD 66 4B              5574        LD      H,(IY+75)\r
+    00006B96 01 24 00              5575        LD      BC,36\r
+    00006B99 09                    5576        ADD     HL,BC\r
+    00006B9A 4E                    5577        LD      C,(HL)\r
+    00006B9B 23                    5578        INC     HL\r
+    00006B9C 46                    5579        LD      B,(HL)\r
+    00006B9D 23                    5580        INC     HL\r
+    00006B9E 5E                    5581        LD      E,(HL)\r
+    00006B9F 23                    5582        INC     HL\r
+    00006BA0 56                    5583        LD      D,(HL)\r
+    00006BA1 D5                    5584        PUSH    DE\r
+    00006BA2 C5                    5585        PUSH    BC\r
+    00006BA3 FD 6E 48              5586        LD      L,(IY+72)\r
+    00006BA6 FD 66 49              5587        LD      H,(IY+73)\r
+    00006BA9 01 24 00              5588        LD      BC,36\r
+    00006BAC 09                    5589        ADD     HL,BC\r
+    00006BAD 4E                    5590        LD      C,(HL)\r
+    00006BAE 23                    5591        INC     HL\r
+    00006BAF 46                    5592        LD      B,(HL)\r
+    00006BB0 23                    5593        INC     HL\r
+    00006BB1 5E                    5594        LD      E,(HL)\r
+    00006BB2 23                    5595        INC     HL\r
+    00006BB3 56                    5596        LD      D,(HL)\r
+    00006BB4 69                    5597        LD      L,C\r
+    00006BB5 60                    5598        LD      H,B\r
+    00006BB6 C1                    5599        POP     BC\r
+    00006BB7 A7                    5600        AND     A\r
+    00006BB8 ED 42                 5601        SBC     HL,BC\r
+    00006BBA C1                    5602        POP     BC\r
+    00006BBB 20 0B                 5603        JR      NZ,?0380\r
+    00006BBD EB                    5604        EX      DE,HL\r
+    00006BBE ED 42                 5605        SBC     HL,BC\r
+    00006BC0 20 06                 5606        JR      NZ,?0380\r
+    00006BC2 4D                    5607        LD      C,L\r
+    00006BC3 44                    5608        LD      B,H\r
+    00006BC4 23                    5609        INC     HL\r
+    00006BC5 C3 83 6C              5610        JP      LWRD ?0598\r
+    00006BC8                       5611 ?0380:\r
+    00006BC8 01 00 00              5612        LD      BC,0\r
+    00006BCB C3 51 6C              5613        JP      LWRD ?0396\r
+    00006BCE                       5614 ?0382:\r
+    00006BCE FD 6E 4A              5615        LD      L,(IY+74)\r
+    00006BD1 FD 66 4B              5616        LD      H,(IY+75)\r
+    00006BD4 01 24 00              5617        LD      BC,36\r
+    00006BD7 09                    5618        ADD     HL,BC\r
+    00006BD8 4E                    5619        LD      C,(HL)\r
+    00006BD9 23                    5620        INC     HL\r
+    00006BDA 46                    5621        LD      B,(HL)\r
+    00006BDB 23                    5622        INC     HL\r
+    00006BDC 5E                    5623        LD      E,(HL)\r
+    00006BDD 23                    5624        INC     HL\r
+    00006BDE 56                    5625        LD      D,(HL)\r
+    00006BDF D5                    5626        PUSH    DE\r
+    00006BE0 C5                    5627        PUSH    BC\r
+    00006BE1 CD 5D 6F              5628        CALL    LWRD ?0671\r
+    00006BE4 01 00 00              5629        LD      BC,0\r
+    00006BE7 30 68                 5630        JR      NC,?0396\r
+    00006BE9 18 61                 5631        JR      ?0597\r
+    00006BEB                       5632 ?0386:\r
+    00006BEB FD 6E 48              5633        LD      L,(IY+72)\r
+    00006BEE FD 66 49              5634        LD      H,(IY+73)\r
+    00006BF1 01 24 00              5635        LD      BC,36\r
+    00006BF4 09                    5636        ADD     HL,BC\r
+    00006BF5 4E                    5637        LD      C,(HL)\r
+    00006BF6 23                    5638        INC     HL\r
+    00006BF7 46                    5639        LD      B,(HL)\r
+    00006BF8 23                    5640        INC     HL\r
+    00006BF9 5E                    5641        LD      E,(HL)\r
+    00006BFA 23                    5642        INC     HL\r
+    00006BFB 56                    5643        LD      D,(HL)\r
+    00006BFC D5                    5644        PUSH    DE\r
+    00006BFD C5                    5645        PUSH    BC\r
+    00006BFE FD 6E 4A              5646        LD      L,(IY+74)\r
+    00006C01 FD 66 4B              5647        LD      H,(IY+75)\r
+    00006C04 CD 63 6F              5648        CALL    LWRD ?0672\r
+    00006C07 01 00 00              5649        LD      BC,0\r
+    00006C0A 30 45                 5650        JR      NC,?0396\r
+    00006C0C 18 3E                 5651        JR      ?0597\r
+    00006C0E                       5652 ?0390:\r
+    00006C0E FD 6E 48              5653        LD      L,(IY+72)\r
+    00006C11 FD 66 49              5654        LD      H,(IY+73)\r
+    00006C14 01 24 00              5655        LD      BC,36\r
+    00006C17 09                    5656        ADD     HL,BC\r
+    00006C18 4E                    5657        LD      C,(HL)\r
+    00006C19 23                    5658        INC     HL\r
+    00006C1A 46                    5659        LD      B,(HL)\r
+    00006C1B 23                    5660        INC     HL\r
+    00006C1C 5E                    5661        LD      E,(HL)\r
+    00006C1D 23                    5662        INC     HL\r
+    00006C1E 56                    5663        LD      D,(HL)\r
+    00006C1F D5                    5664        PUSH    DE\r
+    00006C20 C5                    5665        PUSH    BC\r
+    00006C21 FD 6E 4A              5666        LD      L,(IY+74)\r
+    00006C24 FD 66 4B              5667        LD      H,(IY+75)\r
+    00006C27 CD 63 6F              5668        CALL    LWRD ?0672\r
+    00006C2A 01 00 00              5669        LD      BC,0\r
+    00006C2D 38 22                 5670        JR      C,?0396\r
+    00006C2F 18 1B                 5671        JR      ?0597\r
+    00006C31                       5672 ?0394:\r
+    00006C31 FD 6E 4A              5673        LD      L,(IY+74)\r
+    00006C34 FD 66 4B              5674        LD      H,(IY+75)\r
+    00006C37 01 24 00              5675        LD      BC,36\r
+    00006C3A 09                    5676        ADD     HL,BC\r
+    00006C3B 4E                    5677        LD      C,(HL)\r
+    00006C3C 23                    5678        INC     HL\r
+    00006C3D 46                    5679        LD      B,(HL)\r
+    00006C3E 23                    5680        INC     HL\r
+    00006C3F 5E                    5681        LD      E,(HL)\r
+    00006C40 23                    5682        INC     HL\r
+    00006C41 56                    5683        LD      D,(HL)\r
+    00006C42 D5                    5684        PUSH    DE\r
+    00006C43 C5                    5685        PUSH    BC\r
+    00006C44 CD 5D 6F              5686        CALL    LWRD ?0671\r
+    00006C47 01 00 00              5687        LD      BC,0\r
+    00006C4A 38 05                 5688        JR      C,?0396\r
+    00006C4C                       5689 ?0597:\r
+    00006C4C 21 01 00              5690        LD      HL,1\r
+    00006C4F 18 32                 5691        JR      ?0598\r
+    00006C51                       5692 ?0396:\r
+    00006C51 69                    5693        LD      L,C\r
+    00006C52 60                    5694        LD      H,B\r
+    00006C53 18 2E                 5695        JR      ?0598\r
+    00006C55                       5696 ?0398:\r
+    00006C55 FD 6E 4A              5697        LD      L,(IY+74)\r
+    00006C58 FD 66 4B              5698        LD      H,(IY+75)\r
+    00006C5B 01 24 00              5699        LD      BC,36\r
+    00006C5E 09                    5700        ADD     HL,BC\r
+    00006C5F 4E                    5701        LD      C,(HL)\r
+    00006C60 23                    5702        INC     HL\r
+    00006C61 46                    5703        LD      B,(HL)\r
+    00006C62 23                    5704        INC     HL\r
+    00006C63 5E                    5705        LD      E,(HL)\r
+    00006C64 23                    5706        INC     HL\r
+    00006C65 56                    5707        LD      D,(HL)\r
+    00006C66 D5                    5708        PUSH    DE\r
+    00006C67 C5                    5709        PUSH    BC\r
+    00006C68 CD 72 6F              5710        CALL    LWRD ?0673\r
+    00006C6B 18 16                 5711        JR      ?0598\r
+    00006C6D                       5712 ?0399:\r
+    00006C6D FD 6E 4A              5713        LD      L,(IY+74)\r
+    00006C70 FD 66 4B              5714        LD      H,(IY+75)\r
+    00006C73 01 24 00              5715        LD      BC,36\r
+    00006C76 09                    5716        ADD     HL,BC\r
+    00006C77 4E                    5717        LD      C,(HL)\r
+    00006C78 23                    5718        INC     HL\r
+    00006C79 46                    5719        LD      B,(HL)\r
+    00006C7A 23                    5720        INC     HL\r
+    00006C7B 5E                    5721        LD      E,(HL)\r
+    00006C7C 23                    5722        INC     HL\r
+    00006C7D 56                    5723        LD      D,(HL)\r
+    00006C7E D5                    5724        PUSH    DE\r
+    00006C7F C5                    5725        PUSH    BC\r
+    00006C80 CD 87 6F              5726        CALL    LWRD ?0674\r
+    00006C83                       5727 ?0598:\r
+    00006C83 FD 75 24              5728        LD      (IY+36),L\r
+    00006C86 FD 74 25              5729        LD      (IY+37),H\r
+    00006C89 FD 71 26              5730        LD      (IY+38),C\r
+    00006C8C FD 70 27              5731        LD      (IY+39),B\r
+    00006C8F                       5732 ?0377:\r
+    00006C8F                       5733 ?0374:\r
+    00006C8F FD 6E 48              5734        LD      L,(IY+72)\r
+    00006C92 FD 66 49              5735        LD      H,(IY+73)\r
+    00006C95 23                    5736        INC     HL\r
+    00006C96 7E                    5737        LD      A,(HL)\r
+    00006C97 FE 03                 5738        CP      3\r
+    00006C99 C2 89 6D              5739        JP      NZ,?0404\r
+    00006C9C FD 6E 4A              5740        LD      L,(IY+74)\r
+    00006C9F FD 66 4B              5741        LD      H,(IY+75)\r
+    00006CA2 23                    5742        INC     HL\r
+    00006CA3 7E                    5743        LD      A,(HL)\r
+    00006CA4 FE 03                 5744        CP      3\r
+    00006CA6 C2 89 6D              5745        JP      NZ,?0404\r
+    00006CA9                       5746 ?0403:\r
+    00006CA9                       5747 ?0402:\r
+    00006CA9                       5748 ?0400:\r
+    00006CA9 FD 6E 4A              5749        LD      L,(IY+74)\r
+    00006CAC FD 66 4B              5750        LD      H,(IY+75)\r
+    00006CAF 01 28 00              5751        LD      BC,40\r
+    00006CB2 09                    5752        ADD     HL,BC\r
+    00006CB3 4D                    5753        LD      C,L\r
+    00006CB4 44                    5754        LD      B,H\r
+    00006CB5 FD 6E 48              5755        LD      L,(IY+72)\r
+    00006CB8 FD 66 49              5756        LD      H,(IY+73)\r
+    00006CBB 11 28 00              5757        LD      DE,40\r
+    00006CBE 19                    5758        ADD     HL,DE\r
+    00006CBF EB                    5759        EX      DE,HL\r
+    00006CC0 3E 00                 5760        LD      A,BYTE3 strcmp\r
+    00006CC2 21 93 7D              5761        LD      HL,LWRD strcmp\r
+    00006CC5 CD 19 82              5762        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006CC8 FD 5E 02              5763        LD      E,(IY+2)\r
+    00006CCB CD E2 81              5764        CALL    LWRD ?C_V_SWITCH_L06\r
+    00006CCE 06 00                 5765        DEFW    6\r
+    00006CD0 2B                    5766        DEFB    43\r
+    00006CD1 3C                    5767        DEFB    60\r
+    00006CD2 3D                    5768        DEFB    61\r
+    00006CD3 3E                    5769        DEFB    62\r
+    00006CD4 5B                    5770        DEFB    91\r
+    00006CD5 5D                    5771        DEFB    93\r
+    00006CD6 89 6D                 5772        DEFW    ?0404\r
+    00006CD8 34 6D                 5773        DEFW    ?0421\r
+    00006CDA 1B 6D                 5774        DEFW    ?0417\r
+    00006CDC 02 6D                 5775        DEFW    ?0413\r
+    00006CDE E4 6C                 5776        DEFW    ?0405\r
+    00006CE0 F5 6C                 5777        DEFW    ?0409\r
+    00006CE2 54 6D                 5778        DEFW    ?0425\r
+    00006CE4                       5779 ?0405:\r
+    00006CE4 FD 36 01 04           5780        LD      (IY+1),4\r
+    00006CE8 7D                    5781        LD      A,L\r
+    00006CE9 B4                    5782        OR      H\r
+    00006CEA 20 04                 5783        JR      NZ,?0407\r
+    00006CEC 4F                    5784        LD      C,A\r
+    00006CED 47                    5785        LD      B,A\r
+    00006CEE 18 4F                 5786        JR      ?0604\r
+    00006CF0                       5787 ?0407:\r
+    00006CF0 01 00 00              5788        LD      BC,0\r
+    00006CF3 18 4F                 5789        JR      ?0423\r
+    00006CF5                       5790 ?0409:\r
+    00006CF5 FD 36 01 04           5791        LD      (IY+1),4\r
+    00006CF9 CB 7C                 5792        BIT     7,H\r
+    00006CFB 01 00 00              5793        LD      BC,0\r
+    00006CFE 28 44                 5794        JR      Z,?0423\r
+    00006D00 18 3D                 5795        JR      ?0604\r
+    00006D02                       5796 ?0413:\r
+    00006D02 FD 36 01 04           5797        LD      (IY+1),4\r
+    00006D06 4D                    5798        LD      C,L\r
+    00006D07 44                    5799        LD      B,H\r
+    00006D08 21 00 00              5800        LD      HL,0\r
+    00006D0B F6 80                 5801        OR      128\r
+    00006D0D ED 42                 5802        SBC     HL,BC\r
+    00006D0F E2 13 6D              5803        JP      PO,?0560\r
+    00006D12 AC                    5804        XOR     H\r
+    00006D13                       5805 ?0560:\r
+    00006D13 01 00 00              5806        LD      BC,0\r
+    00006D16 F2 44 6D              5807        JP      P,?0423\r
+    00006D19 18 24                 5808        JR      ?0604\r
+    00006D1B                       5809 ?0417:\r
+    00006D1B FD 36 01 04           5810        LD      (IY+1),4\r
+    00006D1F 4D                    5811        LD      C,L\r
+    00006D20 44                    5812        LD      B,H\r
+    00006D21 21 00 00              5813        LD      HL,0\r
+    00006D24 F6 80                 5814        OR      128\r
+    00006D26 ED 42                 5815        SBC     HL,BC\r
+    00006D28 E2 2C 6D              5816        JP      PO,?0561\r
+    00006D2B AC                    5817        XOR     H\r
+    00006D2C                       5818 ?0561:\r
+    00006D2C 01 00 00              5819        LD      BC,0\r
+    00006D2F FA 44 6D              5820        JP      M,?0423\r
+    00006D32 18 0B                 5821        JR      ?0604\r
+    00006D34                       5822 ?0421:\r
+    00006D34 FD 36 01 04           5823        LD      (IY+1),4\r
+    00006D38 CB 7C                 5824        BIT     7,H\r
+    00006D3A 01 00 00              5825        LD      BC,0\r
+    00006D3D 20 05                 5826        JR      NZ,?0423\r
+    00006D3F                       5827 ?0604:\r
+    00006D3F 21 01 00              5828        LD      HL,1\r
+    00006D42 18 02                 5829        JR      ?0424\r
+    00006D44                       5830 ?0423:\r
+    00006D44 69                    5831        LD      L,C\r
+    00006D45 60                    5832        LD      H,B\r
+    00006D46                       5833 ?0424:\r
+    00006D46 FD 75 24              5834        LD      (IY+36),L\r
+    00006D49 FD 74 25              5835        LD      (IY+37),H\r
+    00006D4C FD 71 26              5836        LD      (IY+38),C\r
+    00006D4F FD 70 27              5837        LD      (IY+39),B\r
+    00006D52 18 35                 5838        JR      ?0404\r
+    00006D54                       5839 ?0425:\r
+    00006D54 FD 36 01 03           5840        LD      (IY+1),3\r
+    00006D58 FD 6E 48              5841        LD      L,(IY+72)\r
+    00006D5B FD 66 49              5842        LD      H,(IY+73)\r
+    00006D5E 01 28 00              5843        LD      BC,40\r
+    00006D61 09                    5844        ADD     HL,BC\r
+    00006D62 4D                    5845        LD      C,L\r
+    00006D63 44                    5846        LD      B,H\r
+    00006D64 21 28 00              5847        LD      HL,40\r
+    00006D67 FD E5                 5848        PUSH    IY\r
+    00006D69 D1                    5849        POP     DE\r
+    00006D6A CD 00 4A              5850        CALL    LWRD ?0653\r
+    00006D6D FD 6E 4A              5851        LD      L,(IY+74)\r
+    00006D70 FD 66 4B              5852        LD      H,(IY+75)\r
+    00006D73 01 28 00              5853        LD      BC,40\r
+    00006D76 09                    5854        ADD     HL,BC\r
+    00006D77 4D                    5855        LD      C,L\r
+    00006D78 44                    5856        LD      B,H\r
+    00006D79 21 28 00              5857        LD      HL,40\r
+    00006D7C FD E5                 5858        PUSH    IY\r
+    00006D7E D1                    5859        POP     DE\r
+    00006D7F 19                    5860        ADD     HL,DE\r
+    00006D80 EB                    5861        EX      DE,HL\r
+    00006D81 3E 00                 5862        LD      A,BYTE3 strcat\r
+    00006D83 21 12 7A              5863        LD      HL,LWRD strcat\r
+    00006D86 CD 19 82              5864        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006D89                       5865 ?0404:\r
+    00006D89                       5866 ?0401:\r
+    00006D89 FD 6E 48              5867        LD      L,(IY+72)\r
+    00006D8C FD 66 49              5868        LD      H,(IY+73)\r
+    00006D8F 23                    5869        INC     HL\r
+    00006D90 7E                    5870        LD      A,(HL)\r
+    00006D91 FE 04                 5871        CP      4\r
+    00006D93 C2 5A 6F              5872        JP      NZ,?0454\r
+    00006D96 FD 6E 4A              5873        LD      L,(IY+74)\r
+    00006D99 FD 66 4B              5874        LD      H,(IY+75)\r
+    00006D9C 23                    5875        INC     HL\r
+    00006D9D 7E                    5876        LD      A,(HL)\r
+    00006D9E FE 04                 5877        CP      4\r
+    00006DA0 C2 5A 6F              5878        JP      NZ,?0454\r
+    00006DA3                       5879 ?0429:\r
+    00006DA3                       5880 ?0428:\r
+    00006DA3                       5881 ?0426:\r
+    00006DA3 FD 36 01 04           5882        LD      (IY+1),4\r
+    00006DA7 FD 7E 02              5883        LD      A,(IY+2)\r
+    00006DAA FE 26                 5884        CP      38\r
+    00006DAC 20 19                 5885        JR      NZ,?0432\r
+    00006DAE                       5886 ?0431:\r
+    00006DAE FD 6E 4A              5887        LD      L,(IY+74)\r
+    00006DB1 FD 66 4B              5888        LD      H,(IY+75)\r
+    00006DB4 01 24 00              5889        LD      BC,36\r
+    00006DB7 09                    5890        ADD     HL,BC\r
+    00006DB8 4E                    5891        LD      C,(HL)\r
+    00006DB9 23                    5892        INC     HL\r
+    00006DBA 46                    5893        LD      B,(HL)\r
+    00006DBB 23                    5894        INC     HL\r
+    00006DBC 5E                    5895        LD      E,(HL)\r
+    00006DBD 23                    5896        INC     HL\r
+    00006DBE 56                    5897        LD      D,(HL)\r
+    00006DBF D5                    5898        PUSH    DE\r
+    00006DC0 C5                    5899        PUSH    BC\r
+    00006DC1 CD 72 6F              5900        CALL    LWRD ?0673\r
+    00006DC4 C3 01 6F              5901        JP      LWRD ?0606\r
+    00006DC7                       5902 ?0432:\r
+    00006DC7 FE 7C                 5903        CP      124\r
+    00006DC9 C2 5A 6F              5904        JP      NZ,?0454\r
+    00006DCC FD 6E 4A              5905        LD      L,(IY+74)\r
+    00006DCF FD 66 4B              5906        LD      H,(IY+75)\r
+    00006DD2 01 24 00              5907        LD      BC,36\r
+    00006DD5 09                    5908        ADD     HL,BC\r
+    00006DD6 4E                    5909        LD      C,(HL)\r
+    00006DD7 23                    5910        INC     HL\r
+    00006DD8 46                    5911        LD      B,(HL)\r
+    00006DD9 23                    5912        INC     HL\r
+    00006DDA 5E                    5913        LD      E,(HL)\r
+    00006DDB 23                    5914        INC     HL\r
+    00006DDC 56                    5915        LD      D,(HL)\r
+    00006DDD D5                    5916        PUSH    DE\r
+    00006DDE C5                    5917        PUSH    BC\r
+    00006DDF CD 87 6F              5918        CALL    LWRD ?0674\r
+    00006DE2 C3 01 6F              5919        JP      LWRD ?0606\r
+    00006DE5                       5920 ?0430:\r
+    00006DE5                       5921 ?0427:\r
+    00006DE5                       5922 ?0372:\r
+    00006DE5                       5923 ?0360:\r
+    00006DE5 DD 36 FC FF           5924        LD      (IX-4),255\r
+    00006DE9 DD 36 FD FF           5925        LD      (IX-3),255\r
+    00006DED 79                    5926        LD      A,C\r
+    00006DEE B0                    5927        OR      B\r
+    00006DEF 28 79                 5928        JR      Z,?0436\r
+    00006DF1                       5929 ?0434:\r
+    00006DF1 69                    5930        LD      L,C\r
+    00006DF2 60                    5931        LD      H,B\r
+    00006DF3 7E                    5932        LD      A,(HL)\r
+    00006DF4 23                    5933        INC     HL\r
+    00006DF5 66                    5934        LD      H,(HL)\r
+    00006DF6 6F                    5935        LD      L,A\r
+    00006DF7 46                    5936        LD      B,(HL)\r
+    00006DF8 DD 70 FA              5937        LD      (IX-6),B\r
+    00006DFB 23                    5938        INC     HL\r
+    00006DFC 66                    5939        LD      H,(HL)\r
+    00006DFD DD 74 FB              5940        LD      (IX-5),H\r
+    00006E00 AF                    5941        XOR     A\r
+    00006E01 DD 77 F8              5942        LD      (IX-8),A\r
+    00006E04 DD 77 F9              5943        LD      (IX-7),A\r
+    00006E07                       5944 ?0437:\r
+    00006E07 DD 4E FA              5945        LD      C,(IX-6)\r
+    00006E0A DD 46 FB              5946        LD      B,(IX-5)\r
+    00006E0D DD 6E F8              5947        LD      L,(IX-8)\r
+    00006E10 DD 66 F9              5948        LD      H,(IX-7)\r
+    00006E13 F6 80                 5949        OR      128\r
+    00006E15 ED 42                 5950        SBC     HL,BC\r
+    00006E17 E2 1B 6E              5951        JP      PO,?0562\r
+    00006E1A AC                    5952        XOR     H\r
+    00006E1B                       5953 ?0562:\r
+    00006E1B F2 6A 6E              5954        JP      P,?0436\r
+    00006E1E                       5955 ?0438:\r
+    00006E1E 21 04 00              5956        LD      HL,4\r
+    00006E21 FD E5                 5957        PUSH    IY\r
+    00006E23 C1                    5958        POP     BC\r
+    00006E24 09                    5959        ADD     HL,BC\r
+    00006E25 4D                    5960        LD      C,L\r
+    00006E26 44                    5961        LD      B,H\r
+    00006E27 DD 6E FE              5962        LD      L,(IX-2)\r
+    00006E2A DD 66 FF              5963        LD      H,(IX-1)\r
+    00006E2D 56                    5964        LD      D,(HL)\r
+    00006E2E 23                    5965        INC     HL\r
+    00006E2F 66                    5966        LD      H,(HL)\r
+    00006E30 6A                    5967        LD      L,D\r
+    00006E31 23                    5968        INC     HL\r
+    00006E32 23                    5969        INC     HL\r
+    00006E33 56                    5970        LD      D,(HL)\r
+    00006E34 23                    5971        INC     HL\r
+    00006E35 66                    5972        LD      H,(HL)\r
+    00006E36 6A                    5973        LD      L,D\r
+    00006E37 E5                    5974        PUSH    HL\r
+    00006E38 DD 6E F8              5975        LD      L,(IX-8)\r
+    00006E3B DD 66 F9              5976        LD      H,(IX-7)\r
+    00006E3E 29                    5977        ADD     HL,HL\r
+    00006E3F 29                    5978        ADD     HL,HL\r
+    00006E40 5D                    5979        LD      E,L\r
+    00006E41 54                    5980        LD      D,H\r
+    00006E42 29                    5981        ADD     HL,HL\r
+    00006E43 19                    5982        ADD     HL,DE\r
+    00006E44 EB                    5983        EX      DE,HL\r
+    00006E45 E1                    5984        POP     HL\r
+    00006E46 19                    5985        ADD     HL,DE\r
+    00006E47 EB                    5986        EX      DE,HL\r
+    00006E48 3E 00                 5987        LD      A,BYTE3 strcmp\r
+    00006E4A 21 93 7D              5988        LD      HL,LWRD strcmp\r
+    00006E4D CD 19 82              5989        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006E50 7D                    5990        LD      A,L\r
+    00006E51 B4                    5991        OR      H\r
+    00006E52 20 0C                 5992        JR      NZ,?0441\r
+    00006E54                       5993 ?0440:\r
+    00006E54 DD 6E F8              5994        LD      L,(IX-8)\r
+    00006E57 DD 66 F9              5995        LD      H,(IX-7)\r
+    00006E5A DD 75 FC              5996        LD      (IX-4),L\r
+    00006E5D DD 74 FD              5997        LD      (IX-3),H\r
+    00006E60                       5998 ?0441:\r
+    00006E60 DD 34 F8              5999        INC     (IX-8)\r
+    00006E63 20 A2                 6000        JR      NZ,?0437\r
+    00006E65 DD 34 F9              6001        INC     (IX-7)\r
+    00006E68 18 9D                 6002        JR      ?0437\r
+    00006E6A                       6003 ?0436:\r
+    00006E6A                       6004 ?0435:\r
+    00006E6A DD CB FD 7E           6005        BIT     7,(IX-3)\r
+    00006E6E 20 08                 6006        JR      NZ,?0444\r
+    00006E70 DD 7E FE              6007        LD      A,(IX-2)\r
+    00006E73 DD B6 FF              6008        OR      (IX-1)\r
+    00006E76 20 47                 6009        JR      NZ,?0443\r
+    00006E78                       6010 ?0444:\r
+    00006E78                       6011 ?0445:\r
+    00006E78                       6012 ?0442:\r
+    00006E78 FD 7E 04              6013        LD      A,(IY+4)\r
+    00006E7B FE 27                 6014        CP      39\r
+    00006E7D 20 2A                 6015        JR      NZ,?0447\r
+    00006E7F                       6016 ?0446:\r
+    00006E7F FD 36 01 03           6017        LD      (IY+1),3\r
+    00006E83 21 04 00              6018        LD      HL,4\r
+    00006E86 FD E5                 6019        PUSH    IY\r
+    00006E88 C1                    6020        POP     BC\r
+    00006E89 09                    6021        ADD     HL,BC\r
+    00006E8A 4D                    6022        LD      C,L\r
+    00006E8B 44                    6023        LD      B,H\r
+    00006E8C 03                    6024        INC     BC\r
+    00006E8D 21 28 00              6025        LD      HL,40\r
+    00006E90 FD E5                 6026        PUSH    IY\r
+    00006E92 D1                    6027        POP     DE\r
+    00006E93 CD 00 4A              6028        CALL    LWRD ?0653\r
+    00006E96 21 28 00              6029        LD      HL,40\r
+    00006E99 FD E5                 6030        PUSH    IY\r
+    00006E9B C1                    6031        POP     BC\r
+    00006E9C 09                    6032        ADD     HL,BC\r
+    00006E9D CD EC 49              6033        CALL    LWRD ?0648\r
+    00006EA0 09                    6034        ADD     HL,BC\r
+    00006EA1 01 27 00              6035        LD      BC,39\r
+    00006EA4 09                    6036        ADD     HL,BC\r
+    00006EA5 70                    6037        LD      (HL),B\r
+    00006EA6 C3 5A 6F              6038        JP      LWRD ?0454\r
+    00006EA9                       6039 ?0447:\r
+    00006EA9 FD 36 01 01           6040        LD      (IY+1),1\r
+    00006EAD 21 04 00              6041        LD      HL,4\r
+    00006EB0 FD E5                 6042        PUSH    IY\r
+    00006EB2 C1                    6043        POP     BC\r
+    00006EB3 09                    6044        ADD     HL,BC\r
+    00006EB4 EB                    6045        EX      DE,HL\r
+    00006EB5 3E 01                 6046        LD      A,BYTE3 atol\r
+    00006EB7 21 20 49              6047        LD      HL,LWRD atol\r
+    00006EBA CD 19 82              6048        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006EBD 18 42                 6049        JR      ?0606\r
+    00006EBF                       6050 ?0448:\r
+    00006EBF                       6051 ?0443:\r
+    00006EBF DD 6E FE              6052        LD      L,(IX-2)\r
+    00006EC2 DD 66 FF              6053        LD      H,(IX-1)\r
+    00006EC5 46                    6054        LD      B,(HL)\r
+    00006EC6 23                    6055        INC     HL\r
+    00006EC7 66                    6056        LD      H,(HL)\r
+    00006EC8 68                    6057        LD      L,B\r
+    00006EC9 23                    6058        INC     HL\r
+    00006ECA 23                    6059        INC     HL\r
+    00006ECB 46                    6060        LD      B,(HL)\r
+    00006ECC 23                    6061        INC     HL\r
+    00006ECD 66                    6062        LD      H,(HL)\r
+    00006ECE 68                    6063        LD      L,B\r
+    00006ECF E5                    6064        PUSH    HL\r
+    00006ED0 DD 6E FC              6065        LD      L,(IX-4)\r
+    00006ED3 DD 66 FD              6066        LD      H,(IX-3)\r
+    00006ED6 29                    6067        ADD     HL,HL\r
+    00006ED7 29                    6068        ADD     HL,HL\r
+    00006ED8 4D                    6069        LD      C,L\r
+    00006ED9 44                    6070        LD      B,H\r
+    00006EDA 29                    6071        ADD     HL,HL\r
+    00006EDB 09                    6072        ADD     HL,BC\r
+    00006EDC 4D                    6073        LD      C,L\r
+    00006EDD 44                    6074        LD      B,H\r
+    00006EDE E1                    6075        POP     HL\r
+    00006EDF 09                    6076        ADD     HL,BC\r
+    00006EE0 01 09 00              6077        LD      BC,9\r
+    00006EE3 09                    6078        ADD     HL,BC\r
+    00006EE4 7E                    6079        LD      A,(HL)\r
+    00006EE5 FE 49                 6080        CP      73\r
+    00006EE7 20 26                 6081        JR      NZ,?0451\r
+    00006EE9                       6082 ?0450:\r
+    00006EE9 FD 36 01 01           6083        LD      (IY+1),1\r
+    00006EED DD 4E FC              6084        LD      C,(IX-4)\r
+    00006EF0 DD 46 FD              6085        LD      B,(IX-3)\r
+    00006EF3 DD 5E FE              6086        LD      E,(IX-2)\r
+    00006EF6 DD 56 FF              6087        LD      D,(IX-1)\r
+    00006EF9 3E 00                 6088        LD      A,BYTE3 dbGetLong\r
+    00006EFB 21 52 64              6089        LD      HL,LWRD dbGetLong\r
+    00006EFE CD 19 82              6090        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006F01                       6091 ?0606:\r
+    00006F01 FD 75 24              6092        LD      (IY+36),L\r
+    00006F04 FD 74 25              6093        LD      (IY+37),H\r
+    00006F07 FD 71 26              6094        LD      (IY+38),C\r
+    00006F0A FD 70 27              6095        LD      (IY+39),B\r
+    00006F0D 18 4B                 6096        JR      ?0454\r
+    00006F0F                       6097 ?0451:\r
+    00006F0F DD 6E FE              6098        LD      L,(IX-2)\r
+    00006F12 DD 66 FF              6099        LD      H,(IX-1)\r
+    00006F15 46                    6100        LD      B,(HL)\r
+    00006F16 23                    6101        INC     HL\r
+    00006F17 66                    6102        LD      H,(HL)\r
+    00006F18 68                    6103        LD      L,B\r
+    00006F19 23                    6104        INC     HL\r
+    00006F1A 23                    6105        INC     HL\r
+    00006F1B 46                    6106        LD      B,(HL)\r
+    00006F1C 23                    6107        INC     HL\r
+    00006F1D 66                    6108        LD      H,(HL)\r
+    00006F1E 68                    6109        LD      L,B\r
+    00006F1F E5                    6110        PUSH    HL\r
+    00006F20 DD 6E FC              6111        LD      L,(IX-4)\r
+    00006F23 DD 66 FD              6112        LD      H,(IX-3)\r
+    00006F26 29                    6113        ADD     HL,HL\r
+    00006F27 29                    6114        ADD     HL,HL\r
+    00006F28 4D                    6115        LD      C,L\r
+    00006F29 44                    6116        LD      B,H\r
+    00006F2A 29                    6117        ADD     HL,HL\r
+    00006F2B 09                    6118        ADD     HL,BC\r
+    00006F2C 4D                    6119        LD      C,L\r
+    00006F2D 44                    6120        LD      B,H\r
+    00006F2E E1                    6121        POP     HL\r
+    00006F2F 09                    6122        ADD     HL,BC\r
+    00006F30 01 09 00              6123        LD      BC,9\r
+    00006F33 09                    6124        ADD     HL,BC\r
+    00006F34 7E                    6125        LD      A,(HL)\r
+    00006F35 FE 53                 6126        CP      83\r
+    00006F37 20 21                 6127        JR      NZ,?0454\r
+    00006F39                       6128 ?0453:\r
+    00006F39 FD 36 01 03           6129        LD      (IY+1),3\r
+    00006F3D 21 28 00              6130        LD      HL,40\r
+    00006F40 FD E5                 6131        PUSH    IY\r
+    00006F42 C1                    6132        POP     BC\r
+    00006F43 09                    6133        ADD     HL,BC\r
+    00006F44 E5                    6134        PUSH    HL\r
+    00006F45 DD 4E FC              6135        LD      C,(IX-4)\r
+    00006F48 DD 46 FD              6136        LD      B,(IX-3)\r
+    00006F4B DD 5E FE              6137        LD      E,(IX-2)\r
+    00006F4E DD 56 FF              6138        LD      D,(IX-1)\r
+    00006F51 3E 00                 6139        LD      A,BYTE3 dbGetString\r
+    00006F53 21 C6 62              6140        LD      HL,LWRD dbGetString\r
+    00006F56 CD 19 82              6141        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006F59 E1                    6142        POP     HL\r
+    00006F5A                       6143 ?0454:\r
+    00006F5A                       6144 ?0452:\r
+    00006F5A                       6145 ?0449:\r
+    00006F5A                       6146 ?0433:\r
+    00006F5A C3 D0 49              6147        JP      LWRD ?0630\r
+    00006F5D                       6148 ?0671:\r
+    00006F5D FD 6E 48              6149        LD      L,(IY+72)\r
+    00006F60 FD 66 49              6150        LD      H,(IY+73)\r
+    00006F63                       6151 ?0672:\r
+    00006F63 01 24 00              6152        LD      BC,36\r
+    00006F66 09                    6153        ADD     HL,BC\r
+    00006F67 5E                    6154        LD      E,(HL)\r
+    00006F68 23                    6155        INC     HL\r
+    00006F69 56                    6156        LD      D,(HL)\r
+    00006F6A 23                    6157        INC     HL\r
+    00006F6B 4E                    6158        LD      C,(HL)\r
+    00006F6C 23                    6159        INC     HL\r
+    00006F6D 46                    6160        LD      B,(HL)\r
+    00006F6E EB                    6161        EX      DE,HL\r
+    00006F6F C3 44 82              6162        JP      LWRD ?SL_CMP_L03\r
+    00006F72                       6163 ?0673:\r
+    00006F72 FD 6E 48              6164        LD      L,(IY+72)\r
+    00006F75 FD 66 49              6165        LD      H,(IY+73)\r
+    00006F78 01 24 00              6166        LD      BC,36\r
+    00006F7B 09                    6167        ADD     HL,BC\r
+    00006F7C 5E                    6168        LD      E,(HL)\r
+    00006F7D 23                    6169        INC     HL\r
+    00006F7E 56                    6170        LD      D,(HL)\r
+    00006F7F 23                    6171        INC     HL\r
+    00006F80 4E                    6172        LD      C,(HL)\r
+    00006F81 23                    6173        INC     HL\r
+    00006F82 46                    6174        LD      B,(HL)\r
+    00006F83 EB                    6175        EX      DE,HL\r
+    00006F84 C3 26 82              6176        JP      LWRD ?L_AND_L03\r
+    00006F87                       6177 ?0674:\r
+    00006F87 FD 6E 48              6178        LD      L,(IY+72)\r
+    00006F8A FD 66 49              6179        LD      H,(IY+73)\r
+    00006F8D 01 24 00              6180        LD      BC,36\r
+    00006F90 09                    6181        ADD     HL,BC\r
+    00006F91 5E                    6182        LD      E,(HL)\r
+    00006F92 23                    6183        INC     HL\r
+    00006F93 56                    6184        LD      D,(HL)\r
+    00006F94 23                    6185        INC     HL\r
+    00006F95 4E                    6186        LD      C,(HL)\r
+    00006F96 23                    6187        INC     HL\r
+    00006F97 46                    6188        LD      B,(HL)\r
+    00006F98 EB                    6189        EX      DE,HL\r
+    00006F99 C3 C4 81              6190        JP      LWRD ?L_OR_L03\r
+                                   6191        RSEG    CSTR\r
+    00008481                       6192 ?0066:\r
+    00008481 53 45 4C              6193        DEFB    'SEL'\r
+    00008484 00                    6194        DEFB    0\r
+    00008485                       6195 ?0069:\r
+    00008485 49 4E 53              6196        DEFB    'INS'\r
+    00008488 00                    6197        DEFB    0\r
+    00008489                       6198 ?0072:\r
+    00008489 55 50 44              6199        DEFB    'UPD'\r
+    0000848C 00                    6200        DEFB    0\r
+    0000848D                       6201 ?0075:\r
+    0000848D 44 45 4C              6202        DEFB    'DEL'\r
+    00008490 00                    6203        DEFB    0\r
+    00008491                       6204 ?0081:\r
+    00008491 20 46 52 20           6205        DEFB    ' FR '\r
+    00008495 00                    6206        DEFB    0\r
+    00008496                       6207 ?0085:\r
+    00008496 20 57 48              6208        DEFB    ' WH'\r
+    00008499 00                    6209        DEFB    0\r
+    0000849A                       6210 ?0090:\r
+    0000849A 20 4F 52 44 20        6211        DEFB    ' ORD '\r
+    0000849F 00                    6212        DEFB    0\r
+    000084A0                       6213 ?0094:\r
+    000084A0 28                    6214        DEFB    '('\r
+    000084A1 00                    6215        DEFB    0\r
+    000084A2                       6216 ?0098:\r
+    000084A2 29 20 56 41 4C 28     6217        DEFB    ') VAL('\r
+    000084A8 00                    6218        DEFB    0\r
+    000084A9                       6219 ?0103:\r
+    000084A9 20 53 54 20           6220        DEFB    ' ST '\r
+    000084AD 00                    6221        DEFB    0\r
+    000084AE                       6222 ?0114:\r
+    000084AE 2F 75 73 72 2F 64 62  6223        DEFB    '/usr/db/'\r
+             2F\r
+    000084B6 00                    6224        DEFB    0\r
+    000084B7                       6225 ?0115:\r
+    000084B7 2E 54 42 4C           6226        DEFB    '.TBL'\r
+    000084BB 00                    6227        DEFB    0\r
+    000084BC                       6228 ?0116:\r
+    000084BC 72 62                 6229        DEFB    'rb'\r
+    000084BE 00                    6230        DEFB    0\r
+    000084BF                       6231 ?0126:\r
+    000084BF 2E 44 41 54           6232        DEFB    '.DAT'\r
+    000084C3 00                    6233        DEFB    0\r
+    000084C4                       6234 ?0127:\r
+    000084C4 72 2B 62              6235        DEFB    'r+b'\r
+    000084C7 00                    6236        DEFB    0\r
+    000084C8                       6237 ?0146:\r
+    000084C8 22 2A 22              6238        DEFB    '"*"'\r
+    000084CB 00                    6239        DEFB    0\r
+    000084CC                       6240 ?0156:\r
+    000084CC 72 65 73 75 6C 74     6241        DEFB    'result'\r
+    000084D2 00                    6242        DEFB    0\r
+    000084D3                       6243 ?0157:\r
+    000084D3 77 62                 6244        DEFB    'wb'\r
+    000084D5 00                    6245        DEFB    0\r
+    00000055                       6246        END\r
+\fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
+Hexadecimal [32-Bits]\r
+\r
+Symbol Table\r
+\r
+    .__.ABS.       =    00000000 G   |   1 ?0000               00000009 R\r
+  1 ?0001               00000030 R   |   1 ?0002               00000011 R\r
+  1 ?0003               00000014 R   |   1 ?0004               0000001C R\r
+  1 ?0005               0000002A R   |   1 ?0006               00000067 R\r
+  1 ?0007               00000052 R   |   1 ?0008               0000005A R\r
+  1 ?0009               000000A0 R   |   1 ?0010               0000008B R\r
+  1 ?0011               00000093 R   |   1 ?0012               00000100 R\r
+  1 ?0013               000000CB R   |   1 ?0014               00000100 R\r
+  1 ?0015               00000289 R   |   1 ?0016               0000012B R\r
+  1 ?0017               0000013A R   |   1 ?0018               00000152 R\r
+  1 ?0019               0000016F R   |   1 ?0020               00000152 R\r
+  1 ?0021               00000152 R   |   1 ?0022               0000020B R\r
+  1 ?0023               00000218 R   |   1 ?0024               0000020B R\r
+  1 ?0025               0000020B R   |   1 ?0026               0000020B R\r
+  1 ?0027               0000020B R   |   1 ?0028               0000026A R\r
+  1 ?0029               00000272 R   |   1 ?0030               0000025E R\r
+  1 ?0031               0000025E R   |   1 ?0032               0000026A R\r
+  1 ?0033               0000026A R   |   1 ?0034               00000296 R\r
+  1 ?0035               00000297 R   |   1 ?0036               0000029A R\r
+  1 ?0037               000002C6 R   |   1 ?0038               000002AB R\r
+  1 ?0039               000002C2 R   |   1 ?0040               000002C2 R\r
+  1 ?0041               000002C2 R   |   1 ?0042               000002CE R\r
+  1 ?0043               000002DA R   |   1 ?0044               00000441 R\r
+  1 ?0045               00000319 R   |   1 ?0046               0000034A R\r
+  1 ?0047               00000337 R   |   1 ?0048               00000337 R\r
+  1 ?0049               0000034A R   |   1 ?0050               0000034A R\r
+  1 ?0051               0000038D R   |   1 ?0052               00000361 R\r
+  1 ?0053               00000371 R   |   1 ?0054               0000037B R\r
+  1 ?0055               0000037E R   |   1 ?0056               00000380 R\r
+  1 ?0057               0000038A R   |   1 ?0058               0000038D R\r
+  1 ?0059               000003AC R   |   1 ?0060               000003C9 R\r
+  1 ?0061               000003AC R   |   1 ?0062               000003AC R\r
+  1 ?0063               0000042A R   |   1 ?0064               000004EB R\r
+  1 ?0065               000004F5 R   |   2 ?0066               00000000 R\r
+  1 ?0067               00000507 R   |   1 ?0068               00000511 R\r
+  2 ?0069               00000004 R   |   1 ?0070               00000523 R\r
+  1 ?0071               0000052D R   |   2 ?0072               00000008 R\r
+  1 ?0073               0000053F R   |   1 ?0074               0000054C R\r
+  2 ?0075               0000000C R   |   1 ?0076               0000054F R\r
+  1 ?0077               000005A2 R   |   1 ?0078               000005AA R\r
+  1 ?0079               000005D4 R   |   1 ?0080               000005E1 R\r
+  2 ?0081               00000010 R   |   1 ?0082               000005E7 R\r
+  1 ?0083               00000611 R   |   1 ?0084               0000064D R\r
+  2 ?0085               00000015 R   |   1 ?0086               0000062C R\r
+  1 ?0087               00000634 R   |   1 ?0088               0000065C R\r
+  1 ?0089               00000682 R   |   2 ?0090               00000019 R\r
+  1 ?0091               00000685 R   |   1 ?0092               000006E1 R\r
+  1 ?0093               000006E9 R   |   2 ?0094               0000001F R\r
+  1 ?0095               000006E9 R   |   1 ?0096               00000712 R\r
+  1 ?0097               00000732 R   |   2 ?0098               00000021 R\r
+  1 ?0099               00000737 R   |   1 ?0100               0000073A R\r
+  1 ?0101               0000078F R   |   1 ?0102               0000079C R\r
+  2 ?0103               00000028 R   |   1 ?0104               000007A1 R\r
+  1 ?0105               000007CC R   |   1 ?0106               00000804 R\r
+  1 ?0107               000007E8 R   |   1 ?0108               000007F1 R\r
+  1 ?0109               00000807 R   |   1 ?0110               00000861 R\r
+  1 ?0111               00000899 R   |   1 ?0112               0000087D R\r
+  1 ?0113               00000886 R   |   2 ?0114               0000002D R\r
+  2 ?0115               00000036 R   |   2 ?0116               0000003B R\r
+  1 ?0117               00000937 R   |   1 ?0118               00000937 R\r
+  1 ?0119               00000937 R   |   1 ?0120               00000937 R\r
+  1 ?0121               00000B2A R   |   1 ?0122               00000A3F R\r
+  1 ?0123               00000982 R   |   1 ?0124               00000999 R\r
+  2 ?0126               0000003E R   |   2 ?0127               00000043 R\r
+  1 ?0128               00000ABF R   |   1 ?0129               00000ACE R\r
+  1 ?0130               00000ABF R   |   1 ?0131               00000ABF R\r
+  1 ?0132               00000B2A R   |   1 ?0133               00000C27 R\r
+  1 ?0134               00000BEB R   |   1 ?0135               00000C00 R\r
+  1 ?0137               00000C9E R   |   1 ?0138               00000C5A R\r
+  1 ?0139               00000C6E R   |   1 ?0141               00000C95 R\r
+  1 ?0142               00000C9A R   |   1 ?0143               00000CA1 R\r
+  1 ?0144               00000D37 R   |   1 ?0145               00000E2E R\r
+  2 ?0146               00000047 R   |   1 ?0147               00000E2E R\r
+  1 ?0148               00000D5C R   |   1 ?0149               00000D73 R\r
+  1 ?0151               00000F61 R   |   1 ?0152               00000F61 R\r
+  1 ?0153               00000E5C R   |   1 ?0154               00000E73 R\r
+  2 ?0156               0000004B R   |   2 ?0157               00000052 R\r
+  1 ?0158               00000FFA R   |   1 ?0159               00001011 R\r
+  1 ?0160               00001021 R   |   1 ?0161               00001171 R\r
+  1 ?0162               00001028 R   |   1 ?0163               00001046 R\r
+  1 ?0165               00001079 R   |   1 ?0166               00001165 R\r
+  1 ?0167               00001113 R   |   1 ?0168               00001091 R\r
+  1 ?0169               000010A8 R   |   1 ?0171               0000113C R\r
+  1 ?0172               00001165 R   |   1 ?0173               000012F9 R\r
+  1 ?0174               000012C9 R   |   1 ?0175               000012E0 R\r
+  1 ?0177               000014E4 R   |   1 ?0178               00001340 R\r
+  1 ?0179               00001357 R   |   1 ?0181               000013D4 R\r
+  1 ?0182               00001458 R   |   1 ?0183               00001458 R\r
+  1 ?0184               000013F6 R   |   1 ?0185               0000141E R\r
+  1 ?0186               0000142C R   |   1 ?0187               00001443 R\r
+  1 ?0188               00001458 R   |   1 ?0189               0000144F R\r
+  1 ?0190               00001458 R   |   1 ?0191               000014BE R\r
+  1 ?0192               000014BE R   |   1 ?0193               00001464 R\r
+  1 ?0194               0000146D R   |   1 ?0195               0000148E R\r
+  1 ?0196               000014BE R   |   1 ?0197               0000149A R\r
+  1 ?0198               000014BE R   |   1 ?0199               000014F3 R\r
+  1 ?0200               00001543 R   |   1 ?0201               0000160A R\r
+  1 ?0202               000015E3 R   |   1 ?0203               000015AF R\r
+  1 ?0204               000015B9 R   |   1 ?0205               000016A1 R\r
+  1 ?0206               000016B8 R   |   1 ?0207               000016BA R\r
+  1 ?0208               000017AC R   |   1 ?0209               000016F0 R\r
+  1 ?0210               00001707 R   |   1 ?0212               00001738 R\r
+  1 ?0213               000017A0 R   |   1 ?0214               00001743 R\r
+  1 ?0215               000017A0 R   |   1 ?0216               0000189D R\r
+  1 ?0217               000018B4 R   |   1 ?0218               000018B6 R\r
+  1 ?0219               0000198E R   |   1 ?0220               00001909 R\r
+  1 ?0221               00001920 R   |   1 ?0223               00001BB3 R\r
+  1 ?0224               00001995 R   |   1 ?0225               000019AC R\r
+  1 ?0227               000019DE R   |   1 ?0228               00001BA7 R\r
+  1 ?0229               000019EA R   |   1 ?0230               00001BA7 R\r
+  1 ?0231               00001A4B R   |   1 ?0232               00001A0B R\r
+  1 ?0233               00001A22 R   |   1 ?0235               00001B73 R\r
+  1 ?0236               00001A62 R   |   1 ?0237               00001A79 R\r
+  1 ?0239               00001B56 R   |   1 ?0240               00001ACA R\r
+  1 ?0241               00001AFE R   |   1 ?0242               00001C02 R\r
+  1 ?0243               00001BC8 R   |   1 ?0244               00001BDF R\r
+  1 ?0246               00001C36 R   |   1 ?0247               00001C3A R\r
+  1 ?0248               00001C79 R   |   1 ?0249               00001C41 R\r
+  1 ?0250               00001C4B R   |   1 ?0251               00001C59 R\r
+  1 ?0252               00001C67 R   |   1 ?0253               00001C87 R\r
+  1 ?0254               00001CB0 R   |   1 ?0255               00001CB9 R\r
+  1 ?0256               00001CD0 R   |   1 ?0257               00001CE4 R\r
+  1 ?0258               00001D22 R   |   1 ?0259               00001D2E R\r
+  1 ?0260               00001D3F R   |   1 ?0261               00001D36 R\r
+  1 ?0262               00001D39 R   |   1 ?0263               00001E7A R\r
+  1 ?0264               00001DC7 R   |   1 ?0265               00001DE2 R\r
+  1 ?0266               00001E0D R   |   1 ?0267               00001E2E R\r
+  1 ?0268               00001E7A R   |   1 ?0269               00001E54 R\r
+  1 ?0270               00001E7A R   |   1 ?0271               00001EFD R\r
+  1 ?0272               00001ED0 R   |   1 ?0273               00001EE6 R\r
+  1 ?0274               00001EF9 R   |   1 ?0275               00001EF9 R\r
+  1 ?0276               00001FBC R   |   1 ?0277               00001F52 R\r
+  1 ?0278               00001F6A R   |   1 ?0279               00001FA1 R\r
+  1 ?0280               00001FAC R   |   1 ?0281               00001FB6 R\r
+  1 ?0282               00001FB9 R   |   1 ?0283               00002016 R\r
+  1 ?0284               00001FF4 R   |   1 ?0285               00001FF8 R\r
+  1 ?0286               00001FFC R   |   1 ?0287               00002000 R\r
+  1 ?0288               00002004 R   |   1 ?0289               00002008 R\r
+  1 ?0290               0000200C R   |   1 ?0291               00002010 R\r
+  1 ?0292               00002012 R   |   1 ?0293               00002079 R\r
+  1 ?0294               0000209D R   |   1 ?0295               000020CA R\r
+  1 ?0296               000020A4 R   |   1 ?0297               000020B4 R\r
+  1 ?0299               00002427 R   |   1 ?0301               000020DB R\r
+  1 ?0302               000020E2 R   |   1 ?0303               00002108 R\r
+  1 ?0304               00002126 R   |   1 ?0305               00002403 R\r
+  1 ?0306               0000212B R   |   1 ?0307               00002189 R\r
+  1 ?0308               0000213E R   |   1 ?0309               00002146 R\r
+  1 ?0310               0000215A R   |   1 ?0311               00002189 R\r
+  1 ?0312               00002403 R   |   1 ?0313               0000219D R\r
+  1 ?0314               000021E3 R   |   1 ?0315               000021A5 R\r
+  1 ?0316               000021BF R   |   1 ?0317               000021CB R\r
+  1 ?0318               000023FB R   |   1 ?0319               000021ED R\r
+  1 ?0320               00002264 R   |   1 ?0321               0000220A R\r
+  1 ?0322               00002235 R   |   1 ?0323               0000223E R\r
+  1 ?0324               000023FB R   |   1 ?0325               0000226E R\r
+  1 ?0326               00002298 R   |   1 ?0327               00002276 R\r
+  1 ?0328               00002289 R   |   1 ?0329               00002295 R\r
+  1 ?0330               000023FB R   |   1 ?0331               000022A2 R\r
+  1 ?0332               000023FB R   |   1 ?0333               000022AA R\r
+  1 ?0334               000022BC R   |   1 ?0335               000022C8 R\r
+  1 ?0336               000022E5 R   |   1 ?0337               000022C8 R\r
+  1 ?0338               000022DA R   |   1 ?0339               000022DA R\r
+  1 ?0340               000022DA R   |   1 ?0341               000022F7 R\r
+  1 ?0342               0000232E R   |   1 ?0343               000022F7 R\r
+  1 ?0344               000022F7 R   |   1 ?0345               000023FB R\r
+  1 ?0346               00002340 R   |   1 ?0347               00002392 R\r
+  1 ?0348               00002340 R   |   1 ?0349               00002340 R\r
+  1 ?0350               000023FB R   |   1 ?0351               00002455 R\r
+  1 ?0352               00002427 R   |   1 ?0353               0000243D R\r
+  1 ?0354               0000243D R   |   1 ?0355               0000243D R\r
+  1 ?0356               00002457 R   |   1 ?0357               000024A1 R\r
+  1 ?0358               000024BD R   |   1 ?0359               000024D7 R\r
+  1 ?0360               00002890 R   |   1 ?0361               00002511 R\r
+  1 ?0362               00002605 R   |   1 ?0363               00002522 R\r
+  1 ?0364               00002605 R   |   1 ?0365               00002522 R\r
+  1 ?0366               00002522 R   |   1 ?0367               000025F6 R\r
+  1 ?0368               0000252D R   |   1 ?0369               0000255A R\r
+  1 ?0370               00002592 R   |   1 ?0371               000025BF R\r
+  1 ?0372               00002890 R   |   1 ?0373               00002618 R\r
+  1 ?0374               0000273A R   |   1 ?0375               00002618 R\r
+  1 ?0376               00002618 R   |   1 ?0377               0000273A R\r
+  1 ?0378               0000263B R   |   1 ?0380               00002673 R\r
+  1 ?0382               00002679 R   |   1 ?0386               00002696 R\r
+  1 ?0390               000026B9 R   |   1 ?0394               000026DC R\r
+  1 ?0396               000026FC R   |   1 ?0398               00002700 R\r
+  1 ?0399               00002718 R   |   1 ?0400               00002754 R\r
+  1 ?0401               00002834 R   |   1 ?0402               00002754 R\r
+  1 ?0403               00002754 R   |   1 ?0404               00002834 R\r
+  1 ?0405               0000278F R   |   1 ?0407               0000279B R\r
+  1 ?0409               000027A0 R   |   1 ?0413               000027AD R\r
+  1 ?0417               000027C6 R   |   1 ?0421               000027DF R\r
+  1 ?0423               000027EF R   |   1 ?0424               000027F1 R\r
+  1 ?0425               000027FF R   |   1 ?0426               0000284E R\r
+  1 ?0427               00002890 R   |   1 ?0428               0000284E R\r
+  1 ?0429               0000284E R   |   1 ?0430               00002890 R\r
+  1 ?0431               00002859 R   |   1 ?0432               00002872 R\r
+  1 ?0433               00002A05 R   |   1 ?0434               0000289C R\r
+  1 ?0435               00002915 R   |   1 ?0436               00002915 R\r
+  1 ?0437               000028B2 R   |   1 ?0438               000028C9 R\r
+  1 ?0440               000028FF R   |   1 ?0441               0000290B R\r
+  1 ?0442               00002923 R   |   1 ?0443               0000296A R\r
+  1 ?0444               00002923 R   |   1 ?0445               00002923 R\r
+  1 ?0446               0000292A R   |   1 ?0447               00002954 R\r
+  1 ?0448               0000296A R   |   1 ?0449               00002A05 R\r
+  1 ?0450               00002994 R   |   1 ?0451               000029BA R\r
+  1 ?0452               00002A05 R   |   1 ?0453               000029E4 R\r
+  1 ?0454               00002A05 R   |   1 ?0458               000000CA R\r
+  1 ?0459               00000272 R   |   1 ?0463               0000036B R\r
+  1 ?0464               0000036C R   |   1 ?0465               00000435 R\r
+  1 ?0472               00000547 R   |   1 ?0473               000005AA R\r
+  1 ?0475               0000061C R   |   1 ?0476               00000634 R\r
+  1 ?0477               00000667 R   |   1 ?0481               000006E9 R\r
+  1 ?0482               0000071D R   |   1 ?0488               000007D7 R\r
+  1 ?0489               000007F1 R   |   1 ?0492               0000086C R\r
+  1 ?0493               00000886 R   |   1 ?0494               00000996 R\r
+  1 ?0498               00000BFD R   |   1 ?0500               00000C6B R\r
+  1 ?0501               00000D70 R   |   1 ?0503               00000E70 R\r
+  1 ?0505               00001043 R   |   1 ?0506               000010A5 R\r
+  1 ?0508               00001165 R   |   1 ?0510               00001013 R\r
+  1 ?0511               000012DD R   |   1 ?0513               00001354 R\r
+  1 ?0516               000014BB R   |   1 ?0517               000015F6 R\r
+  1 ?0519               000014A0 R   |   1 ?0520               00001481 R\r
+  1 ?0521               00001704 R   |   1 ?0522               000017A0 R\r
+  1 ?0524               000016BA R   |   1 ?0525               0000191D R\r
+  1 ?0527               000019A9 R   |   1 ?0528               00001A1F R\r
+  1 ?0530               00001A76 R   |   1 ?0533               00001BDC R\r
+  1 ?0535               000018B6 R   |   1 ?0536               00001B34 R\r
+  1 ?0545               00001C73 R   |   1 ?0547               00001CCD R\r
+  1 ?0548               00001E79 R   |   1 ?0549               00002165 R\r
+  1 ?0550               000021EA R   |   1 ?0551               0000229F R\r
+  1 ?0552               000022CF R   |   1 ?0553               000022F4 R\r
+  1 ?0554               0000233D R   |   1 ?0555               0000240B R\r
+  1 ?0556               00002416 R   |   1 ?0557               000023F8 R\r
+  1 ?0560               000027BE R   |   1 ?0561               000027D7 R\r
+  1 ?0562               000028C6 R   |   1 ?0564               0000258D R\r
+  1 ?0583               000025EA R   |   1 ?0597               000026F7 R\r
+  1 ?0598               0000272E R   |   1 ?0604               000027EA R\r
+  1 ?0606               000029AC R   |   1 ?0614               0000006B R\r
+  1 ?0625               00000101 R   |   1 ?0626               000002E1 R\r
+  1 ?0630               0000047B R   |   1 ?0634               00000B80 R\r
+  1 ?0636               00000B83 R   |   1 ?0637               00001814 R\r
+  1 ?0638               00000035 R   |   1 ?0639               0000003B R\r
+  1 ?0640               000011E0 R   |   1 ?0641               0000048F R\r
+  1 ?0642               0000048E R   |   1 ?0643               00000484 R\r
+  1 ?0644               0000048D R   |   1 ?0645               00000B4B R\r
+  1 ?0646               00000B41 R   |   1 ?0647               0000120F R\r
+  1 ?0648               00000497 R   |   1 ?0649               00000498 R\r
+  1 ?0650               00000B53 R   |   1 ?0651               000004AD R\r
+  1 ?0652               000004AC R   |   1 ?0653               000004AB R\r
+  1 ?0654               000004A8 R   |   1 ?0655               000004A0 R\r
+  1 ?0656               00000560 R   |   1 ?0657               00000552 R\r
+  1 ?0658               0000055E R   |   1 ?0659               0000068F R\r
+  1 ?0660               0000068A R   |   1 ?0661               0000122F R\r
+  1 ?0662               00001221 R   |   1 ?0663               00001237 R\r
+  1 ?0664               0000165A R   |   1 ?0665               00001654 R\r
+  1 ?0666               0000245F R   |   1 ?0667               0000245A R\r
+  1 ?0668               0000245C R   |   1 ?0669               00002467 R\r
+  1 ?0670               00002480 R   |   1 ?0671               00002A08 R\r
+  1 ?0672               00002A0E R   |   1 ?0673               00002A1D R\r
+  1 ?0674               00002A32 R   |     ?BANK_CALL_DIR      ******** GX\r
+    ?BANK_FAST_LEA      ******** GX  |     ?CL64180B_4_06      ******** GX\r
+    ?C_V_SWITCH_L0      ******** GX  |     ?L_AND_L03          ******** GX\r
+    ?L_MUL_L03          ******** GX  |     ?L_OR_L03           ******** GX\r
+    ?SL_CMP_L03         ******** GX  |     ?SL_DIV_L03         ******** GX\r
+    __fopen             ******** GX  |     atoi                ******** GX\r
+    atol                ******** GX  |   1 dbDeleteExpres      00002497 GR\r
+  1 dbDeleteList        00000000 GR  |   1 dbDeleteRow         00001D25 GR\r
+  1 dbEvaluateExpr      000024C0 GR  |   1 dbExecuteDelet      00001662 GR\r
+  1 dbExecuteInser      00001259 GR  |   1 dbExecuteQuery      00000CA4 GR\r
+  1 dbExecuteState      00001C1E GR  |   1 dbExecuteUpdat      0000185E GR\r
+  1 dbFieldOffset       00000BDD GR  |   1 dbFieldSearch       00000C4E GR\r
+  1 dbGetInt            00001E7D GR  |   1 dbGetLong           00001EFD GR\r
+  1 dbGetString         00001D71 GR  |   1 dbListIndex         00000043 GR\r
+  1 dbListSize          00000073 GR  |   1 dbNewExpressio      00002016 GR\r
+  1 dbNewRow            00001D44 GR  |   1 dbNextRow           00001C8A GR\r
+  1 dbOperatorPrec      00001FBC GR  |   1 dbParseDelete       0000080B GR\r
+  1 dbParseExpress      0000205D GR  |   1 dbParseInsert       00000697 GR\r
+  1 dbParseList         000002E9 GR  |   1 dbParseSelect       00000568 GR\r
+  1 dbParseStateme      000004B5 GR  |   1 dbParseUpdate       0000073E GR\r
+  1 dbRecordSize        00000C32 GR  |   1 dbReplaceChar       0000029F GR\r
+  1 dbResultSetClo      00000BCA GR  |   1 dbSkipLiteral       000000A3 GR\r
+  1 dbStatementClo      00000B8E GR  |   1 dbTableClose        00000B70 GR\r
+  1 dbTableOpen         000008A0 GR  |   1 dbTrimString        00000109 GR\r
+    fclose              ******** GX  |     fread               ******** GX\r
+    free                ******** GX  |     fseek               ******** GX\r
+    fwrite              ******** GX  |     itoa                ******** GX\r
+    ltoa                ******** GX  |     malloc              ******** GX\r
+    memcpy              ******** GX  |     strcat              ******** GX\r
+    strcmp              ******** GX  |     strcpy              ******** GX\r
+    strlen              ******** GX  |     strncmp             ******** GX\r
+\r
+\fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
+Hexadecimal [32-Bits]\r
+\r
+Area Table\r
+\r
+   0 _DEFAULT         size        0   flags   0\r
+   1 CODE             size     2A47   flags   0\r
+   2 CSTR             size       55   flags   0\r
diff --git a/src/db/db.s01 b/src/db/db.s01
new file mode 100644 (file)
index 0000000..429c1e3
--- /dev/null
@@ -0,0 +1,6246 @@
+       NAME    db(17)\r
+       RSEG    CODE(0)\r
+       RSEG    CSTR(0)\r
+       EXTERN  __fopen\r
+       EXTERN  atoi\r
+       EXTERN  atol\r
+       PUBLIC  dbDeleteExpression\r
+       PUBLIC  dbDeleteList\r
+       PUBLIC  dbDeleteRow\r
+       PUBLIC  dbEvaluateExpression\r
+       PUBLIC  dbExecuteDelete\r
+       PUBLIC  dbExecuteInsert\r
+       PUBLIC  dbExecuteQuery\r
+       PUBLIC  dbExecuteStatement\r
+       PUBLIC  dbExecuteUpdate\r
+       PUBLIC  dbFieldOffset\r
+       PUBLIC  dbFieldSearch\r
+       PUBLIC  dbGetInt\r
+       PUBLIC  dbGetLong\r
+       PUBLIC  dbGetString\r
+       PUBLIC  dbListIndex\r
+       PUBLIC  dbListSize\r
+       PUBLIC  dbNewExpression\r
+       PUBLIC  dbNewRow\r
+       PUBLIC  dbNextRow\r
+       PUBLIC  dbOperatorPrecedence\r
+       PUBLIC  dbParseDelete\r
+       PUBLIC  dbParseExpression\r
+       PUBLIC  dbParseInsert\r
+       PUBLIC  dbParseList\r
+       PUBLIC  dbParseSelect\r
+       PUBLIC  dbParseStatement\r
+       PUBLIC  dbParseUpdate\r
+       PUBLIC  dbRecordSize\r
+       PUBLIC  dbReplaceChar\r
+       PUBLIC  dbResultSetClose\r
+       PUBLIC  dbSkipLiteral\r
+       PUBLIC  dbStatementClose\r
+       PUBLIC  dbTableClose\r
+       PUBLIC  dbTableOpen\r
+       PUBLIC  dbTrimString\r
+       EXTERN  fclose\r
+       EXTERN  fread\r
+       EXTERN  free\r
+       EXTERN  fseek\r
+       EXTERN  fwrite\r
+       EXTERN  itoa\r
+       EXTERN  ltoa\r
+       EXTERN  malloc\r
+       EXTERN  memcpy\r
+       EXTERN  strcat\r
+       EXTERN  strcmp\r
+       EXTERN  strcpy\r
+       EXTERN  strlen\r
+       EXTERN  strncmp\r
+       EXTERN  ?CL64180B_4_06_L00\r
+       EXTERN  ?L_MUL_L03\r
+       EXTERN  ?SL_DIV_L03\r
+       EXTERN  ?L_AND_L03\r
+       EXTERN  ?L_OR_L03\r
+       EXTERN  ?SL_CMP_L03\r
+       EXTERN  ?C_V_SWITCH_L06\r
+       EXTERN  ?BANK_CALL_DIRECT_L08\r
+       EXTERN  ?BANK_FAST_LEAVE_L08\r
+       RSEG    CODE\r
+dbDeleteList:\r
+       PUSH    IX\r
+       PUSH    DE\r
+       POP     IX\r
+       LD      A,E\r
+       OR      D\r
+       JR      Z,?0001\r
+?0000:\r
+       LD      A,(IX+4)\r
+       OR      (IX+5)\r
+       JR      Z,?0003\r
+?0002:\r
+       CALL    LWRD ?0638\r
+?0003:\r
+       LD      A,(IX+2)\r
+       OR      (IX+3)\r
+       JR      Z,?0005\r
+?0004:\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       LD      A,BYTE3 dbDeleteList\r
+       LD      HL,LWRD dbDeleteList\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+?0005:\r
+       PUSH    IX\r
+       POP     DE\r
+       CALL    LWRD ?0639\r
+?0001:\r
+       POP     IX\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+?0638:\r
+       LD      E,(IX+4)\r
+       LD      D,(IX+5)\r
+?0639:\r
+       LD      A,BYTE3 free\r
+       LD      HL,LWRD free\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+dbListIndex:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    DE\r
+       LD      L,E\r
+       LD      H,D\r
+       PUSH    HL\r
+       POP     IX\r
+       LD      IY,0\r
+?0007:\r
+       LD      A,(IX+0)\r
+       OR      (IX+1)\r
+       JR      Z,?0006\r
+?0008:\r
+       LD      L,(IX+0)\r
+       LD      H,(IX+1)\r
+       PUSH    HL\r
+       POP     IX\r
+       INC     IY\r
+       JR      ?0007\r
+?0006:\r
+       PUSH    IY\r
+       POP     HL\r
+       POP     AF\r
+?0614:\r
+       POP     IX\r
+       POP     IY\r
+       POP     BC\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+dbListSize:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    DE\r
+       LD      L,E\r
+       LD      H,D\r
+       PUSH    HL\r
+       POP     IX\r
+       EX      DE,HL\r
+       LD      A,BYTE3 dbListIndex\r
+       LD      HL,LWRD dbListIndex\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       INC     HL\r
+       PUSH    HL\r
+       POP     IY\r
+?0010:\r
+       LD      A,(IX+2)\r
+       OR      (IX+3)\r
+       JR      Z,?0009\r
+?0011:\r
+       LD      L,(IX+2)\r
+       LD      H,(IX+3)\r
+       PUSH    HL\r
+       POP     IX\r
+       INC     IY\r
+       JR      ?0010\r
+?0009:\r
+       JP      LWRD ?0006\r
+dbSkipLiteral:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    DE\r
+       PUSH    BC\r
+       POP     IX\r
+       LD      HL,10\r
+       ADD     HL,SP\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       LD      HL,12\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,E\r
+       ADD     HL,BC\r
+?0458:\r
+       LD      (HL),D\r
+?0013:\r
+       PUSH    IY\r
+       POP     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     BC\r
+       LD      (HL),B\r
+       DEC     HL\r
+       LD      (HL),C\r
+       PUSH    IX\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       CP      (HL)\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       PUSH    IX\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       LD      HL,14\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     DE\r
+       LD      (HL),D\r
+       DEC     HL\r
+       LD      (HL),E\r
+       LD      L,C\r
+       LD      H,B\r
+       ADD     HL,DE\r
+       POP     DE\r
+       JR      NZ,?0458\r
+?0014:\r
+?0012:\r
+       LD      (HL),D\r
+?0625:\r
+       POP     HL\r
+       POP     IX\r
+       POP     IY\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+dbTrimString:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IY\r
+       XOR     A\r
+       LD      (IX-6),A\r
+       LD      (IX-5),A\r
+       LD      (IX-4),A\r
+       LD      (IX-3),A\r
+       LD      (IX-2),32\r
+?0016:\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       OR      A\r
+       JP      Z,?0015\r
+?0017:\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      39\r
+       JR      Z,?0020\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      34\r
+       JR      NZ,?0019\r
+?0020:\r
+?0021:\r
+?0018:\r
+       LD      HL,2\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       DEC     HL\r
+       DEC     HL\r
+       PUSH    HL\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       PUSH    IY\r
+       POP     DE\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       LD      A,BYTE3 dbSkipLiteral\r
+       LD      HL,LWRD dbSkipLiteral\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     HL\r
+       POP     HL\r
+?0019:\r
+       LD      A,(IX-2)\r
+       CP      32\r
+       JP      NZ,?0023\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      44\r
+       JP      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      41\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      40\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      43\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      45\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      42\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      47\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      38\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      124\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      61\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      60\r
+       JR      Z,?0026\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      62\r
+       JR      NZ,?0023\r
+?0026:\r
+?0027:\r
+?0025:\r
+?0024:\r
+?0022:\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       DEC     HL\r
+       LD      (IX-4),L\r
+       LD      (IX-3),H\r
+?0023:\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       ADD     HL,BC\r
+       LD      (HL),D\r
+       LD      A,(IX-2)\r
+       CP      44\r
+       JR      Z,?0031\r
+       CP      32\r
+       JR      Z,?0031\r
+       CP      40\r
+       JR      Z,?0031\r
+       CP      43\r
+       JR      Z,?0031\r
+       CP      45\r
+       JR      Z,?0031\r
+       CP      42\r
+       JR      Z,?0031\r
+       CP      47\r
+       JR      Z,?0031\r
+       CP      38\r
+       JR      Z,?0031\r
+       CP      124\r
+       JR      Z,?0031\r
+       CP      61\r
+       JR      Z,?0031\r
+       CP      62\r
+       JR      Z,?0031\r
+       CP      60\r
+       JR      NZ,?0032\r
+?0031:\r
+?0030:\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      32\r
+       JR      Z,?0459\r
+?0032:\r
+?0033:\r
+?0028:\r
+       INC     (IX-4)\r
+       JR      NZ,?0459\r
+       INC     (IX-3)\r
+?0459:\r
+?0029:\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       LD      (IX-2),B\r
+       INC     (IX-6)\r
+       JP      NZ,?0016\r
+       INC     (IX-5)\r
+       JP      LWRD ?0016\r
+?0015:\r
+       LD      A,(IX-2)\r
+       CP      32\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       JR      NZ,?0035\r
+?0034:\r
+       DEC     HL\r
+?0035:\r
+       ADD     HL,BC\r
+       LD      (HL),0\r
+?0036:\r
+       LD      SP,IX\r
+       JP      LWRD ?0614\r
+dbReplaceChar:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    BC\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      IX,0\r
+?0038:\r
+       PUSH    IX\r
+       POP     HL\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       CP      (HL)\r
+       JR      Z,?0037\r
+       PUSH    IX\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       OR      A\r
+       JR      Z,?0037\r
+?0041:\r
+?0040:\r
+?0039:\r
+       INC     IX\r
+       JR      ?0038\r
+?0037:\r
+       PUSH    IX\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       OR      A\r
+       JR      Z,?0043\r
+?0042:\r
+       PUSH    IX\r
+       POP     HL\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      HL,12\r
+       ADD     HL,SP\r
+       LD      B,(HL)\r
+       POP     HL\r
+       LD      (HL),B\r
+?0043:\r
+       PUSH    IX\r
+       POP     HL\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+?0626:\r
+       POP     AF\r
+       POP     IX\r
+       POP     IY\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+dbParseList:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    BC\r
+       PUSH    DE\r
+       LD      HL,65496\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       LD      DE,6\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IY\r
+       LD      (IX-38),L\r
+       LD      (IX-37),H\r
+       XOR     A\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      (HL),A\r
+       LD      (IX-42),A\r
+       LD      (IX-41),A\r
+       LD      (IX-44),A\r
+       LD      (IX-43),A\r
+?0045:\r
+       LD      L,(IX+10)\r
+       LD      H,(IX+11)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      (IX+8)\r
+       JR      NZ,?0047\r
+       XOR     A\r
+       OR      (IX-44)\r
+       JP      Z,?0044\r
+?0047:\r
+?0048:\r
+       LD      L,(IX+10)\r
+       LD      H,(IX+11)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       OR      A\r
+       JP      Z,?0044\r
+?0050:\r
+?0049:\r
+?0046:\r
+       LD      L,(IX+10)\r
+       LD      H,(IX+11)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      34\r
+       JR      Z,?0052\r
+       CP      39\r
+       JR      NZ,?0053\r
+?0052:\r
+       XOR     A\r
+       OR      (IX-44)\r
+       JR      NZ,?0463\r
+       LD      A,1\r
+       JR      ?0464\r
+?0463:\r
+       XOR     A\r
+?0464:\r
+       LD      (IX-44),A\r
+       JR      ?0058\r
+?0053:\r
+       CP      40\r
+       JR      NZ,?0056\r
+       XOR     A\r
+       OR      (IX-44)\r
+       JR      NZ,?0058\r
+?0054:\r
+       INC     (IX-43)\r
+?0055:\r
+       JR      ?0058\r
+?0056:\r
+       CP      41\r
+       JR      NZ,?0058\r
+       XOR     A\r
+       OR      (IX-44)\r
+       JR      NZ,?0058\r
+?0057:\r
+       DEC     (IX-43)\r
+?0058:\r
+?0051:\r
+       LD      L,(IX+10)\r
+       LD      H,(IX+11)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      (IX-2)\r
+       JR      NZ,?0061\r
+       XOR     A\r
+       OR      (IX-44)\r
+       JR      NZ,?0061\r
+       OR      (IX-43)\r
+       JR      Z,?0060\r
+?0061:\r
+?0062:\r
+?0059:\r
+       LD      L,(IX+10)\r
+       LD      H,(IX+11)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       LD      HL,8\r
+       ADD     HL,SP\r
+       LD      E,(IX-42)\r
+       LD      D,(IX-41)\r
+       ADD     HL,DE\r
+       LD      (HL),B\r
+       JR      ?0063\r
+?0060:\r
+       LD      HL,8\r
+       ADD     HL,SP\r
+       LD      C,(IX-42)\r
+       LD      B,(IX-41)\r
+       ADD     HL,BC\r
+       LD      (HL),A\r
+       LD      HL,8\r
+       ADD     HL,SP\r
+       CALL    LWRD ?0648\r
+       EX      DE,HL\r
+       INC     DE\r
+       CALL    LWRD ?0641\r
+       LD      (IY+4),L\r
+       LD      (IY+5),H\r
+       LD      HL,8\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      E,(IY+4)\r
+       LD      D,(IY+5)\r
+       CALL    LWRD ?0651\r
+       PUSH    IY\r
+       POP     HL\r
+       LD      (IX-40),L\r
+       LD      (IX-39),H\r
+       LD      DE,6\r
+       CALL    LWRD ?0641\r
+       LD      (IY+2),L\r
+       LD      (IY+3),H\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       POP     IY\r
+       LD      L,(IX-40)\r
+       LD      H,(IX-39)\r
+       PUSH    HL\r
+       PUSH    IY\r
+       POP     HL\r
+       POP     BC\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      (IX-42),255\r
+       LD      (IX-41),255\r
+?0063:\r
+       LD      L,(IX+10)\r
+       LD      H,(IX+11)\r
+       INC     (HL)\r
+       INC     HL\r
+       JR      NZ,?0465\r
+       INC     (HL)\r
+?0465:\r
+       INC     (IX-42)\r
+       JP      NZ,?0045\r
+       INC     (IX-41)\r
+       JP      LWRD ?0045\r
+?0044:\r
+       LD      HL,8\r
+       ADD     HL,SP\r
+       LD      C,(IX-42)\r
+       LD      B,(IX-41)\r
+       ADD     HL,BC\r
+       LD      (HL),A\r
+       LD      HL,8\r
+       ADD     HL,SP\r
+       CALL    LWRD ?0648\r
+       EX      DE,HL\r
+       INC     DE\r
+       CALL    LWRD ?0641\r
+       LD      (IY+4),L\r
+       LD      (IY+5),H\r
+       LD      HL,8\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      E,(IY+4)\r
+       LD      D,(IY+5)\r
+       CALL    LWRD ?0651\r
+       XOR     A\r
+       LD      (IY+2),A\r
+       LD      (IY+3),A\r
+       LD      L,(IX-38)\r
+       LD      H,(IX-37)\r
+?0630:\r
+       LD      SP,IX\r
+       POP     IX\r
+       POP     IY\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+?0643:\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+?0644:\r
+       ADD     HL,HL\r
+?0642:\r
+       EX      DE,HL\r
+?0641:\r
+       LD      A,BYTE3 malloc\r
+       LD      HL,LWRD malloc\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0648:\r
+       EX      DE,HL\r
+?0649:\r
+       LD      A,BYTE3 strlen\r
+       LD      HL,LWRD strlen\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0655:\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+?0654:\r
+       LD      DE,4\r
+?0653:\r
+       ADD     HL,DE\r
+?0652:\r
+       EX      DE,HL\r
+?0651:\r
+       LD      A,BYTE3 strcpy\r
+       LD      HL,LWRD strcpy\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+dbParseStatement:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    DE\r
+       POP     IY\r
+       CALL    LWRD ?0649\r
+       EX      DE,HL\r
+       INC     DE\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IX\r
+       PUSH    IY\r
+       POP     BC\r
+       CALL    LWRD ?0652\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbTrimString\r
+       LD      HL,LWRD dbTrimString\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,3\r
+       PUSH    HL\r
+       LD      BC,?0066\r
+       PUSH    IX\r
+       POP     DE\r
+       CALL    LWRD ?0656\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0065\r
+?0064:\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbParseSelect\r
+       LD      HL,LWRD dbParseSelect\r
+       JR      ?0472\r
+?0065:\r
+       LD      HL,3\r
+       PUSH    HL\r
+       LD      BC,?0069\r
+       PUSH    IX\r
+       POP     DE\r
+       CALL    LWRD ?0656\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0068\r
+?0067:\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbParseInsert\r
+       LD      HL,LWRD dbParseInsert\r
+       JR      ?0472\r
+?0068:\r
+       LD      HL,3\r
+       PUSH    HL\r
+       LD      BC,?0072\r
+       PUSH    IX\r
+       POP     DE\r
+       CALL    LWRD ?0656\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0071\r
+?0070:\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbParseUpdate\r
+       LD      HL,LWRD dbParseUpdate\r
+       JR      ?0472\r
+?0071:\r
+       LD      HL,3\r
+       PUSH    HL\r
+       LD      BC,?0075\r
+       PUSH    IX\r
+       POP     DE\r
+       CALL    LWRD ?0656\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0074\r
+?0073:\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbParseDelete\r
+       LD      HL,LWRD dbParseDelete\r
+?0472:\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       JR      ?0076\r
+?0074:\r
+       LD      HL,0\r
+?0076:\r
+       JP      LWRD ?0614\r
+?0657:\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+?0658:\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+?0656:\r
+       LD      A,BYTE3 strncmp\r
+       LD      HL,LWRD strncmp\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+dbParseSelect:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    DE\r
+       PUSH    AF\r
+       LD      DE,9\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IY\r
+       LD      (HL),115\r
+       XOR     A\r
+       LD      (IY+5),A\r
+       LD      (IY+6),A\r
+       LD      (IY+7),A\r
+       LD      (IY+8),A\r
+       LD      (IX-4),3\r
+       LD      (IX-3),A\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     HL\r
+       INC     HL\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      32\r
+       JR      NZ,?0473\r
+?0077:\r
+       INC     (IX-4)\r
+       JR      NZ,?0473\r
+       INC     (IX-3)\r
+?0473:\r
+?0078:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       LD      C,44\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+       CALL    LWRD ?0659\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IY+1),L\r
+       LD      (IY+2),H\r
+       LD      HL,4\r
+       PUSH    HL\r
+       LD      BC,?0081\r
+       CALL    LWRD ?0657\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0080\r
+?0079:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,4\r
+       LD      (HL),A\r
+       JR      NC,?0082\r
+       INC     HL\r
+       INC     (HL)\r
+       JR      ?0082\r
+?0080:\r
+       LD      HL,0\r
+       JP      LWRD ?0091\r
+?0082:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       LD      C,44\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+       CALL    LWRD ?0659\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IY+3),L\r
+       LD      (IY+4),H\r
+       LD      HL,3\r
+       PUSH    HL\r
+       LD      BC,?0085\r
+       CALL    LWRD ?0657\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0084\r
+?0083:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,3\r
+       LD      (HL),A\r
+       JR      NC,?0475\r
+       INC     HL\r
+       INC     (HL)\r
+?0475:\r
+       LD      L,A\r
+       LD      H,(IX-3)\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      32\r
+       JR      NZ,?0476\r
+?0086:\r
+       INC     (IX-4)\r
+       JR      NZ,?0476\r
+       INC     (IX-3)\r
+?0476:\r
+?0087:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       LD      C,44\r
+       LD      E,(IX-2)\r
+       LD      D,B\r
+       CALL    LWRD ?0659\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IY+5),L\r
+       LD      (IY+6),H\r
+?0084:\r
+       LD      HL,5\r
+       PUSH    HL\r
+       LD      BC,?0090\r
+       CALL    LWRD ?0657\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0089\r
+?0088:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,5\r
+       LD      (HL),A\r
+       JR      NC,?0477\r
+       INC     HL\r
+       INC     (HL)\r
+?0477:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       LD      C,44\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+       CALL    LWRD ?0659\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IY+7),L\r
+       LD      (IY+8),H\r
+?0089:\r
+       PUSH    IY\r
+       POP     HL\r
+?0091:\r
+       LD      SP,IX\r
+       JP      LWRD ?0614\r
+?0660:\r
+       LD      C,44\r
+       PUSH    IY\r
+       POP     DE\r
+?0659:\r
+       LD      A,BYTE3 dbParseList\r
+       LD      HL,LWRD dbParseList\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+dbParseInsert:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      DE,9\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IX\r
+       LD      (HL),105\r
+       XOR     A\r
+       LD      (IX+5),A\r
+       LD      (IX+6),A\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      (HL),4\r
+       INC     HL\r
+       LD      (HL),A\r
+       DEC     HL\r
+       PUSH    HL\r
+       LD      C,40\r
+       PUSH    BC\r
+       CALL    LWRD ?0660\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX+3),L\r
+       LD      (IX+4),H\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,?0094\r
+       INC     HL\r
+       ADD     HL,SP\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       PUSH    IY\r
+       POP     DE\r
+       CALL    LWRD ?0658\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0097\r
+?0092:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       INC     (HL)\r
+       INC     HL\r
+       JR      NZ,?0481\r
+       INC     (HL)\r
+?0481:\r
+?0093:\r
+?0095:\r
+       DEC     HL\r
+       PUSH    HL\r
+       LD      C,41\r
+       PUSH    BC\r
+       CALL    LWRD ?0660\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX+1),L\r
+       LD      (IX+2),H\r
+       LD      HL,6\r
+       PUSH    HL\r
+       LD      BC,?0098\r
+       LD      L,2\r
+       ADD     HL,SP\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       PUSH    IY\r
+       POP     DE\r
+       CALL    LWRD ?0658\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0097\r
+?0096:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,6\r
+       LD      (HL),A\r
+       JR      NC,?0482\r
+       INC     HL\r
+       INC     (HL)\r
+?0482:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      C,41\r
+       PUSH    BC\r
+       CALL    LWRD ?0660\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX+7),L\r
+       LD      (IX+8),H\r
+       JR      ?0099\r
+?0097:\r
+       LD      HL,0\r
+       JR      ?0100\r
+?0099:\r
+       PUSH    IX\r
+       POP     HL\r
+?0100:\r
+       POP     AF\r
+       JP      LWRD ?0614\r
+dbParseUpdate:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      DE,9\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IX\r
+       LD      (HL),117\r
+       XOR     A\r
+       LD      (IX+5),A\r
+       LD      (IX+6),A\r
+       LD      (IX+7),A\r
+       LD      (IX+8),A\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      (HL),4\r
+       INC     HL\r
+       LD      (HL),A\r
+       DEC     HL\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       CALL    LWRD ?0660\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX+3),L\r
+       LD      (IX+4),H\r
+       LD      HL,4\r
+       PUSH    HL\r
+       LD      BC,?0103\r
+       DEC     HL\r
+       DEC     HL\r
+       ADD     HL,SP\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       PUSH    IY\r
+       POP     DE\r
+       CALL    LWRD ?0658\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0102\r
+?0101:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,4\r
+       LD      (HL),A\r
+       JR      NC,?0104\r
+       INC     HL\r
+       INC     (HL)\r
+       JR      ?0104\r
+?0102:\r
+       LD      HL,0\r
+       JR      ?0109\r
+?0104:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       CALL    LWRD ?0660\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX+1),L\r
+       LD      (IX+2),H\r
+       LD      HL,3\r
+       PUSH    HL\r
+       LD      BC,?0085\r
+       DEC     HL\r
+       ADD     HL,SP\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       PUSH    IY\r
+       POP     DE\r
+       CALL    LWRD ?0658\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0106\r
+?0105:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,3\r
+       LD      (HL),A\r
+       JR      NC,?0488\r
+       INC     HL\r
+       INC     (HL)\r
+?0488:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       LD      B,A\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      32\r
+       JR      NZ,?0489\r
+?0107:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       INC     (HL)\r
+       INC     HL\r
+       JR      NZ,?0489\r
+       INC     (HL)\r
+?0489:\r
+?0108:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       CALL    LWRD ?0660\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX+5),L\r
+       LD      (IX+6),H\r
+?0106:\r
+       PUSH    IX\r
+       POP     HL\r
+?0109:\r
+       POP     AF\r
+       JP      LWRD ?0614\r
+dbParseDelete:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      DE,9\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IX\r
+       LD      (HL),100\r
+       XOR     A\r
+       LD      (IX+5),A\r
+       LD      (IX+6),A\r
+       LD      (IX+7),A\r
+       LD      (IX+8),A\r
+       LD      (IX+1),A\r
+       LD      (IX+2),A\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      (HL),4\r
+       INC     HL\r
+       LD      (HL),A\r
+       DEC     HL\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       CALL    LWRD ?0660\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX+3),L\r
+       LD      (IX+4),H\r
+       LD      HL,3\r
+       PUSH    HL\r
+       LD      BC,?0085\r
+       DEC     HL\r
+       ADD     HL,SP\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       PUSH    IY\r
+       POP     DE\r
+       CALL    LWRD ?0658\r
+       POP     AF\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0111\r
+?0110:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,3\r
+       LD      (HL),A\r
+       JR      NC,?0492\r
+       INC     HL\r
+       INC     (HL)\r
+?0492:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       LD      B,A\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      32\r
+       JR      NZ,?0493\r
+?0112:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       INC     (HL)\r
+       INC     HL\r
+       JR      NZ,?0493\r
+       INC     (HL)\r
+?0493:\r
+?0113:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      C,32\r
+       PUSH    BC\r
+       CALL    LWRD ?0660\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX+5),L\r
+       LD      (IX+6),H\r
+?0111:\r
+       PUSH    IX\r
+       POP     HL\r
+       POP     AF\r
+       JP      LWRD ?0614\r
+dbTableOpen:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      DE,64\r
+       CALL    LWRD ?0641\r
+       LD      (IX-8),L\r
+       LD      (IX-7),H\r
+       LD      BC,?0114\r
+       EX      DE,HL\r
+       CALL    LWRD ?0650\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      BC,?0115\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 strcat\r
+       LD      HL,LWRD strcat\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IY+10),0\r
+       LD      HL,?0116\r
+       PUSH    HL\r
+       LD      HL,0\r
+       PUSH    HL\r
+       LD      BC,65535\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 __fopen\r
+       LD      HL,LWRD __fopen\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX-4),L\r
+       LD      (IX-3),H\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,4\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       LD      A,(HL)\r
+       CP      84\r
+       JP      NZ,?0132\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      66\r
+       JP      NZ,?0132\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      76\r
+       JP      NZ,?0132\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      32\r
+       JP      NZ,?0132\r
+?0119:\r
+?0120:\r
+?0117:\r
+?0118:\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,4\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       LD      C,(HL)\r
+       LD      (IX-2),C\r
+       LD      B,0\r
+       LD      (IX-1),B\r
+       PUSH    IY\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,C\r
+       LD      H,B\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       CALL    LWRD ?0642\r
+       LD      (IY+2),L\r
+       LD      (IY+3),H\r
+       XOR     A\r
+       LD      (IX-6),A\r
+       LD      (IX-5),A\r
+?0123:\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0494\r
+       XOR     H\r
+?0494:\r
+       JP      P,?0122\r
+?0124:\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,8\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      E,L\r
+       LD      D,H\r
+       ADD     HL,HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       POP     HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,8\r
+       ADD     HL,BC\r
+       LD      (HL),B\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,3\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      E,L\r
+       LD      D,H\r
+       ADD     HL,HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       POP     HL\r
+       ADD     HL,DE\r
+       LD      DE,9\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       INC     (IX-6)\r
+       JP      NZ,?0123\r
+       INC     (IX-5)\r
+       JP      LWRD ?0123\r
+?0122:\r
+       LD      BC,?0114\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       CALL    LWRD ?0650\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      BC,?0126\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 strcat\r
+       LD      HL,LWRD strcat\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,?0127\r
+       PUSH    HL\r
+       LD      HL,0\r
+       PUSH    HL\r
+       LD      BC,65535\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 __fopen\r
+       LD      HL,LWRD __fopen\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IY+8),L\r
+       LD      (IY+9),H\r
+       LD      (IY+10),1\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,4\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       LD      A,(HL)\r
+       CP      68\r
+       JR      NZ,?0130\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      65\r
+       JR      NZ,?0130\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      84\r
+       JR      NZ,?0130\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      32\r
+       JR      Z,?0129\r
+?0130:\r
+?0131:\r
+?0128:\r
+       LD      (IY+10),0\r
+       LD      E,(IY+8)\r
+       LD      D,(IY+9)\r
+       CALL    LWRD ?0645\r
+       JR      ?0132\r
+?0129:\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,2\r
+       LD      L,4\r
+       PUSH    IY\r
+       POP     DE\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,2\r
+       LD      L,6\r
+       PUSH    IY\r
+       POP     DE\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,2\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+?0132:\r
+?0121:\r
+       LD      E,(IX-4)\r
+       LD      D,(IX-3)\r
+       CALL    LWRD ?0645\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       CALL    LWRD ?0639\r
+       LD      SP,IX\r
+       JP      LWRD ?0614\r
+?0646:\r
+       PUSH    DE\r
+       POP     IX\r
+       LD      HL,8\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+?0645:\r
+       LD      A,BYTE3 fclose\r
+       LD      HL,LWRD fclose\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0650:\r
+       LD      A,BYTE3 strcpy\r
+       LD      HL,LWRD strcpy\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,11\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 strcat\r
+       LD      HL,LWRD strcat\r
+       RET\r
+dbTableClose:\r
+       PUSH    IX\r
+       CALL    LWRD ?0646\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       LD      A,BYTE3 free\r
+       LD      HL,LWRD free\r
+?0634:\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+?0636:\r
+       PUSH    IX\r
+       POP     DE\r
+       CALL    LWRD ?0639\r
+       POP     IX\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+dbStatementClose:\r
+       PUSH    IX\r
+       PUSH    DE\r
+       POP     IX\r
+       INC     DE\r
+       EX      DE,HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbDeleteList\r
+       LD      HL,LWRD dbDeleteList\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IX+3)\r
+       LD      D,(IX+4)\r
+       LD      A,BYTE3 dbDeleteList\r
+       LD      HL,LWRD dbDeleteList\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IX+5)\r
+       LD      D,(IX+6)\r
+       LD      A,BYTE3 dbDeleteList\r
+       LD      HL,LWRD dbDeleteList\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IX+7)\r
+       LD      D,(IX+8)\r
+       LD      A,BYTE3 dbDeleteList\r
+       LD      HL,LWRD dbDeleteList\r
+       JP      LWRD ?0634\r
+dbResultSetClose:\r
+       PUSH    IX\r
+       CALL    LWRD ?0646\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       LD      A,BYTE3 free\r
+       LD      HL,LWRD free\r
+       JP      LWRD ?0634\r
+dbFieldOffset:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    BC\r
+       PUSH    DE\r
+       LD      IX,0\r
+       LD      IY,0\r
+?0134:\r
+       LD      HL,2\r
+       ADD     HL,SP\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       PUSH    IY\r
+       POP     HL\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0498\r
+       XOR     H\r
+?0498:\r
+       JP      P,?0133\r
+?0135:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       PUSH    IY\r
+       POP     HL\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,10\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       ADD     IX,BC\r
+       INC     IY\r
+       JR      ?0134\r
+?0133:\r
+       INC     IX\r
+       INC     IX\r
+       PUSH    IX\r
+       POP     HL\r
+       POP     AF\r
+       JP      LWRD ?0626\r
+dbRecordSize:\r
+       PUSH    BC\r
+       PUSH    IX\r
+       PUSH    DE\r
+       POP     IX\r
+       LD      A,(DE)\r
+       LD      C,A\r
+       INC     DE\r
+       LD      A,(DE)\r
+       LD      B,A\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbFieldOffset\r
+       LD      HL,LWRD dbFieldOffset\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     IX\r
+       POP     BC\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+dbFieldSearch:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    BC\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      IX,0\r
+?0138:\r
+       LD      C,(IY+0)\r
+       LD      B,(IY+1)\r
+       PUSH    IX\r
+       POP     HL\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0500\r
+       XOR     H\r
+?0500:\r
+       JP      P,?0137\r
+?0139:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       PUSH    IX\r
+       POP     HL\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      E,L\r
+       LD      D,H\r
+       ADD     HL,HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       POP     HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 strcmp\r
+       LD      HL,LWRD strcmp\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0142\r
+?0141:\r
+       PUSH    IX\r
+       POP     HL\r
+       JR      ?0143\r
+?0142:\r
+       INC     IX\r
+       JR      ?0138\r
+?0137:\r
+       LD      HL,65535\r
+?0143:\r
+       JP      LWRD ?0626\r
+dbExecuteQuery:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    DE\r
+       LD      HL,65502\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       LD      DE,10\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IY\r
+       LD      DE,20\r
+       CALL    LWRD ?0641\r
+       LD      (IX-34),L\r
+       LD      (IX-33),H\r
+       XOR     A\r
+       LD      (IX-8),A\r
+       LD      (IX-7),A\r
+       CALL    LWRD ?0661\r
+       LD      (IX-6),L\r
+       LD      (IX-5),H\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     HL\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      BC,4\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      HL,11\r
+       LD      E,(IX-34)\r
+       LD      D,(IX-33)\r
+       CALL    LWRD ?0653\r
+       LD      E,(IX-34)\r
+       LD      D,(IX-33)\r
+       LD      A,BYTE3 dbTableOpen\r
+       LD      HL,LWRD dbTableOpen\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       XOR     A\r
+       LD      (IY+4),A\r
+       LD      (IY+5),A\r
+       LD      (IY+6),A\r
+       LD      (IY+7),A\r
+       LD      BC,?0146\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      DE,4\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 strcmp\r
+       LD      HL,LWRD strcmp\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      A,L\r
+       OR      H\r
+       JP      NZ,?0145\r
+?0144:\r
+       LD      L,(IX-34)\r
+       LD      H,(IX-33)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       PUSH    IY\r
+       POP     HL\r
+       POP     BC\r
+       CALL    LWRD ?0643\r
+       CALL    LWRD ?0640\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IY+2),L\r
+       LD      (IY+3),H\r
+       XOR     A\r
+       LD      (IX-18),A\r
+       LD      (IX-17),A\r
+?0148:\r
+       LD      C,(IY+0)\r
+       LD      B,(IY+1)\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0501\r
+       XOR     H\r
+?0501:\r
+       JP      P,?0152\r
+?0149:\r
+       LD      L,(IX-34)\r
+       LD      H,(IX-33)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      (IX-32),L\r
+       LD      (IX-31),H\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       ADD     HL,HL\r
+       LD      C,(IX-28)\r
+       LD      B,(IX-27)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      C,(IX-18)\r
+       LD      B,(IX-17)\r
+       LD      E,(IX-34)\r
+       LD      D,(IX-33)\r
+       LD      A,BYTE3 dbFieldOffset\r
+       LD      HL,LWRD dbFieldOffset\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       ADD     HL,HL\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      HL,10\r
+       LD      C,(IX-32)\r
+       LD      B,(IX-31)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       LD      B,0\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      HL,12\r
+       PUSH    HL\r
+       LD      L,(IX-34)\r
+       LD      H,(IX-33)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      E,L\r
+       LD      D,H\r
+       ADD     HL,HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       POP     HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 memcpy\r
+       LD      HL,LWRD memcpy\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       INC     (IX-18)\r
+       JP      NZ,?0148\r
+       INC     (IX-17)\r
+       JP      LWRD ?0148\r
+?0147:\r
+?0145:\r
+       CALL    LWRD ?0647\r
+       PUSH    HL\r
+       PUSH    IY\r
+       POP     HL\r
+       POP     BC\r
+       CALL    LWRD ?0643\r
+       CALL    LWRD ?0640\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IY+2),L\r
+       LD      (IY+3),H\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      (IX-30),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-29),H\r
+       XOR     A\r
+       LD      (IX-18),A\r
+       LD      (IX-17),A\r
+?0153:\r
+       LD      C,(IY+0)\r
+       LD      B,(IY+1)\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0503\r
+       XOR     H\r
+?0503:\r
+       JP      P,?0152\r
+?0154:\r
+       LD      HL,4\r
+       LD      C,(IX-30)\r
+       LD      B,(IX-29)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      E,(IX-34)\r
+       LD      D,(IX-33)\r
+       LD      A,BYTE3 dbFieldSearch\r
+       LD      HL,LWRD dbFieldSearch\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-4),L\r
+       LD      (IX-3),H\r
+       LD      C,(IX-34)\r
+       LD      B,(IX-33)\r
+       INC     BC\r
+       INC     BC\r
+       LD      A,(BC)\r
+       LD      L,A\r
+       INC     BC\r
+       LD      A,(BC)\r
+       LD      H,A\r
+       PUSH    HL\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      (IX-32),L\r
+       LD      (IX-31),H\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       ADD     HL,HL\r
+       LD      C,(IX-28)\r
+       LD      B,(IX-27)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       LD      E,(IX-34)\r
+       LD      D,(IX-33)\r
+       LD      A,BYTE3 dbFieldOffset\r
+       LD      HL,LWRD dbFieldOffset\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       ADD     HL,HL\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      HL,10\r
+       LD      C,(IX-32)\r
+       LD      B,(IX-31)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       LD      B,0\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      HL,12\r
+       PUSH    HL\r
+       LD      L,(IX-34)\r
+       LD      H,(IX-33)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      E,L\r
+       LD      D,H\r
+       ADD     HL,HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       POP     HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 memcpy\r
+       LD      HL,LWRD memcpy\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       LD      L,(IX-30)\r
+       LD      H,(IX-29)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      (IX-30),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-29),H\r
+       INC     (IX-18)\r
+       JP      NZ,?0153\r
+       INC     (IX-17)\r
+       JP      LWRD ?0153\r
+?0152:\r
+?0151:\r
+       LD      E,(IX-34)\r
+       LD      D,(IX-33)\r
+       LD      A,BYTE3 dbRecordSize\r
+       LD      HL,LWRD dbRecordSize\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-12),L\r
+       LD      (IX-11),H\r
+       CALL    LWRD ?0642\r
+       LD      (IX-24),L\r
+       LD      (IX-23),H\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbRecordSize\r
+       LD      HL,LWRD dbRecordSize\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-14),L\r
+       LD      (IX-13),H\r
+       CALL    LWRD ?0642\r
+       LD      (IX-22),L\r
+       LD      (IX-21),H\r
+       LD      L,(IX-34)\r
+       LD      H,(IX-33)\r
+       PUSH    HL\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       POP     BC\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       INC     HL\r
+       INC     HL\r
+       XOR     A\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      (HL),A\r
+       LD      HL,4\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       ADD     HL,BC\r
+       LD      C,(IX-24)\r
+       LD      (HL),C\r
+       LD      B,(IX-23)\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      HL,?0157\r
+       PUSH    HL\r
+       LD      L,A\r
+       LD      H,A\r
+       PUSH    HL\r
+       LD      BC,65535\r
+       LD      DE,?0156\r
+       LD      A,BYTE3 __fopen\r
+       LD      HL,LWRD __fopen\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IY+8),L\r
+       LD      (IY+9),H\r
+       LD      HL,5\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       LD      HL,28\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       JR      Z,?0159\r
+?0158:\r
+       LD      HL,5\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+       ADD     HL,DE\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      DE,4\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       JR      ?0510\r
+?0159:\r
+       LD      E,A\r
+       LD      D,A\r
+?0510:\r
+       LD      A,BYTE3 dbParseExpression\r
+       LD      HL,LWRD dbParseExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-10),L\r
+       LD      (IX-9),H\r
+?0160:\r
+       XOR     A\r
+       LD      (IX-18),A\r
+       LD      (IX-17),A\r
+?0162:\r
+       LD      HL,4\r
+       LD      C,(IX-34)\r
+       LD      B,(IX-33)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0505\r
+       XOR     H\r
+?0505:\r
+       JP      P,?0161\r
+?0163:\r
+       LD      HL,8\r
+       LD      C,(IX-34)\r
+       LD      B,(IX-33)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       PUSH    BC\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-12)\r
+       LD      B,(IX-11)\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IX-24)\r
+       LD      H,(IX-23)\r
+       LD      B,(HL)\r
+       DEC     B\r
+       JP      NZ,?0508\r
+?0165:\r
+       LD      L,(IX-22)\r
+       LD      H,(IX-21)\r
+       LD      (HL),1\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      (IX-20),2\r
+       LD      (IX-19),B\r
+       XOR     A\r
+       LD      (IX-16),A\r
+       LD      (IX-15),A\r
+?0168:\r
+       LD      C,(IY+0)\r
+       LD      B,(IY+1)\r
+       LD      L,(IX-16)\r
+       LD      H,(IX-15)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0506\r
+       XOR     H\r
+?0506:\r
+       JP      P,?0167\r
+?0169:\r
+       LD      L,(IX-16)\r
+       LD      H,(IX-15)\r
+       ADD     HL,HL\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       LD      L,(IX-16)\r
+       LD      H,(IX-15)\r
+       ADD     HL,HL\r
+       LD      E,(IX-28)\r
+       LD      D,(IX-27)\r
+       ADD     HL,DE\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       ADD     HL,DE\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      L,(IX-20)\r
+       LD      H,(IX-19)\r
+       LD      E,(IX-22)\r
+       LD      D,(IX-21)\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 memcpy\r
+       LD      HL,LWRD memcpy\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       LD      L,(IX-16)\r
+       LD      H,(IX-15)\r
+       ADD     HL,HL\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      HL,16\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,C\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      A,(HL)\r
+       ADC     A,B\r
+       LD      (HL),A\r
+       INC     (IX-16)\r
+       JR      NZ,?0168\r
+       INC     (IX-15)\r
+       JP      LWRD ?0168\r
+?0167:\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       LD      E,(IX-10)\r
+       LD      D,(IX-9)\r
+       LD      A,BYTE3 dbEvaluateExpression\r
+       LD      HL,LWRD dbEvaluateExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,36\r
+       LD      C,(IX-10)\r
+       LD      B,(IX-9)\r
+       ADD     HL,BC\r
+       LD      A,1\r
+       XOR     (HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       JR      NZ,?0508\r
+?0171:\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       LD      E,(IX-22)\r
+       LD      D,(IX-21)\r
+       LD      A,BYTE3 fwrite\r
+       LD      HL,LWRD fwrite\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       INC     (IY+4)\r
+       JR      NZ,?0508\r
+       INC     (IY+5)\r
+?0508:\r
+?0172:\r
+?0166:\r
+       INC     (IX-18)\r
+       JP      NZ,?0162\r
+       INC     (IX-17)\r
+       JP      LWRD ?0162\r
+?0161:\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       CALL    LWRD ?0639\r
+       LD      E,(IX-28)\r
+       LD      D,(IX-27)\r
+       CALL    LWRD ?0639\r
+       LD      E,(IX-26)\r
+       LD      D,(IX-25)\r
+       CALL    LWRD ?0639\r
+       LD      E,(IX-6)\r
+       LD      D,(IX-5)\r
+       CALL    LWRD ?0639\r
+       LD      E,(IX-10)\r
+       LD      D,(IX-9)\r
+       LD      A,BYTE3 dbDeleteExpression\r
+       LD      HL,LWRD dbDeleteExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IX-34)\r
+       LD      D,(IX-33)\r
+       LD      A,BYTE3 dbTableClose\r
+       LD      HL,LWRD dbTableClose\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IY+8)\r
+       LD      D,(IY+9)\r
+       CALL    LWRD ?0645\r
+       LD      HL,?0127\r
+       PUSH    HL\r
+       LD      HL,0\r
+       PUSH    HL\r
+       LD      BC,65535\r
+       LD      DE,?0156\r
+       LD      A,BYTE3 __fopen\r
+       LD      HL,LWRD __fopen\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IY+8),L\r
+       LD      (IY+9),H\r
+       PUSH    IY\r
+       POP     HL\r
+       LD      SP,IX\r
+       JP      LWRD ?0614\r
+?0640:\r
+       LD      (IX-28),L\r
+       LD      (IX-27),H\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       ADD     HL,HL\r
+       EX      DE,HL\r
+       LD      A,BYTE3 malloc\r
+       LD      HL,LWRD malloc\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-26),L\r
+       LD      (IX-25),H\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       EX      DE,HL\r
+       LD      A,BYTE3 malloc\r
+       LD      HL,LWRD malloc\r
+       RET\r
+?0647:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbListSize\r
+       LD      HL,LWRD dbListSize\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0662:\r
+       LD      A,BYTE3 dbParseExpression\r
+       LD      HL,LWRD dbParseExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-8),L\r
+       LD      (IX-7),H\r
+?0661:\r
+       LD      A,BYTE3 dbNewRow\r
+       LD      HL,LWRD dbNewRow\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0663:\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 dbEvaluateExpression\r
+       LD      HL,LWRD dbEvaluateExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,36\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
+       ADD     HL,BC\r
+       LD      A,1\r
+       XOR     (HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       RET\r
+dbExecuteInsert:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    DE\r
+       LD      HL,65512\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       LD      DE,20\r
+       CALL    LWRD ?0641\r
+       LD      (IX-26),L\r
+       LD      (IX-25),H\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       INC     BC\r
+       INC     BC\r
+       INC     BC\r
+       LD      A,(BC)\r
+       LD      L,A\r
+       INC     BC\r
+       LD      A,(BC)\r
+       LD      H,A\r
+       LD      BC,4\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      HL,11\r
+       LD      E,(IX-26)\r
+       LD      D,(IX-25)\r
+       CALL    LWRD ?0653\r
+       LD      E,(IX-26)\r
+       LD      D,(IX-25)\r
+       LD      A,BYTE3 dbTableOpen\r
+       LD      HL,LWRD dbTableOpen\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IX-26)\r
+       LD      D,(IX-25)\r
+       LD      A,BYTE3 dbRecordSize\r
+       LD      HL,LWRD dbRecordSize\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-6),L\r
+       LD      (IX-5),H\r
+       CALL    LWRD ?0642\r
+       LD      (IX-24),L\r
+       LD      (IX-23),H\r
+       XOR     A\r
+       LD      (IX-12),A\r
+       LD      (IX-11),A\r
+?0174:\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       LD      L,(IX-12)\r
+       LD      H,(IX-11)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0511\r
+       XOR     H\r
+?0511:\r
+       JP      P,?0173\r
+?0175:\r
+       LD      L,(IX-12)\r
+       LD      H,(IX-11)\r
+       LD      C,(IX-24)\r
+       LD      B,(IX-23)\r
+       ADD     HL,BC\r
+       LD      (HL),0\r
+       INC     (IX-12)\r
+       JR      NZ,?0174\r
+       INC     (IX-11)\r
+       JR      ?0174\r
+?0173:\r
+       LD      E,C\r
+       LD      D,B\r
+       CALL    LWRD ?0641\r
+       LD      (IX-22),L\r
+       LD      (IX-21),H\r
+       LD      L,(IX-24)\r
+       LD      H,(IX-23)\r
+       LD      (HL),1\r
+       INC     HL\r
+       LD      (HL),0\r
+       CALL    LWRD ?0647\r
+       LD      (IX-14),L\r
+       LD      (IX-13),H\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      (IX-20),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-19),H\r
+       LD      HL,7\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       POP     IY\r
+       XOR     A\r
+       LD      (IX-12),A\r
+       LD      (IX-11),A\r
+?0178:\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       LD      L,(IX-12)\r
+       LD      H,(IX-11)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0513\r
+       XOR     H\r
+?0513:\r
+       JP      P,?0177\r
+?0179:\r
+       LD      HL,4\r
+       LD      C,(IX-20)\r
+       LD      B,(IX-19)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      E,(IX-26)\r
+       LD      D,(IX-25)\r
+       LD      A,BYTE3 dbFieldSearch\r
+       LD      HL,LWRD dbFieldSearch\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-4),L\r
+       LD      (IX-3),H\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       INC     BC\r
+       INC     BC\r
+       LD      A,(BC)\r
+       LD      L,A\r
+       INC     BC\r
+       LD      A,(BC)\r
+       LD      H,A\r
+       PUSH    HL\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      (IX-16),L\r
+       LD      (IX-15),H\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       LD      E,(IX-26)\r
+       LD      D,(IX-25)\r
+       LD      A,BYTE3 dbFieldOffset\r
+       LD      HL,LWRD dbFieldOffset\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-10),L\r
+       LD      (IX-9),H\r
+       LD      HL,10\r
+       LD      C,(IX-16)\r
+       LD      B,(IX-15)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       LD      (IX-8),C\r
+       LD      (IX-7),0\r
+       LD      L,(IY+4)\r
+       LD      H,(IY+5)\r
+       LD      A,(HL)\r
+       CP      39\r
+       JP      NZ,?0182\r
+?0181:\r
+       LD      E,(IY+4)\r
+       LD      D,(IY+5)\r
+       CALL    LWRD ?0649\r
+       LD      C,(IY+4)\r
+       LD      B,(IY+5)\r
+       ADD     HL,BC\r
+       DEC     HL\r
+       LD      (HL),0\r
+       LD      HL,9\r
+       LD      C,(IX-16)\r
+       LD      B,(IX-15)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      83\r
+       JR      NZ,?0185\r
+?0184:\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       PUSH    HL\r
+       LD      C,(IY+4)\r
+       LD      B,(IY+5)\r
+       INC     BC\r
+       LD      L,(IX-10)\r
+       LD      H,(IX-9)\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 memcpy\r
+       LD      HL,LWRD memcpy\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       JP      LWRD ?0198\r
+?0185:\r
+       CP      73\r
+       JP      NZ,?0198\r
+       LD      HL,10\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       DEC     B\r
+       DEC     B\r
+       JR      NZ,?0187\r
+?0186:\r
+       LD      L,(IX-10)\r
+       LD      H,(IX-9)\r
+       LD      C,(IX-24)\r
+       LD      B,(IX-23)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      E,(IY+4)\r
+       LD      D,(IY+5)\r
+       INC     DE\r
+       JR      ?0520\r
+?0187:\r
+       LD      HL,10\r
+       LD      B,(IX-15)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      4\r
+       JR      NZ,?0198\r
+?0189:\r
+       LD      E,(IY+4)\r
+       LD      D,(IY+5)\r
+       INC     DE\r
+       JR      ?0519\r
+?0190:\r
+?0188:\r
+?0183:\r
+?0182:\r
+       LD      HL,9\r
+       LD      C,(IX-16)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      73\r
+       JR      NZ,?0198\r
+?0193:\r
+       LD      HL,10\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       DEC     B\r
+       DEC     B\r
+       JR      NZ,?0195\r
+?0194:\r
+       LD      L,(IX-10)\r
+       LD      H,(IX-9)\r
+       LD      C,(IX-24)\r
+       LD      B,(IX-23)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      E,(IY+4)\r
+       LD      D,(IY+5)\r
+?0520:\r
+       LD      A,BYTE3 atoi\r
+       LD      HL,LWRD atoi\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       JR      ?0516\r
+?0195:\r
+       LD      HL,10\r
+       LD      B,(IX-15)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      4\r
+       JR      NZ,?0198\r
+?0197:\r
+       LD      E,(IY+4)\r
+       LD      D,(IY+5)\r
+?0519:\r
+       LD      A,BYTE3 atol\r
+       LD      HL,LWRD atol\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    HL\r
+       LD      L,(IX-10)\r
+       LD      H,(IX-9)\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       ADD     HL,DE\r
+       POP     DE\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       INC     HL\r
+?0516:\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+?0198:\r
+?0196:\r
+?0192:\r
+?0191:\r
+       LD      L,(IX-20)\r
+       LD      H,(IX-19)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      (IX-20),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-19),H\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       POP     IY\r
+       INC     (IX-12)\r
+       JP      NZ,?0178\r
+       INC     (IX-11)\r
+       JP      LWRD ?0178\r
+?0177:\r
+       LD      HL,6\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       JR      NZ,?0200\r
+?0199:\r
+       LD      L,A\r
+       LD      H,A\r
+       PUSH    HL\r
+       PUSH    HL\r
+       LD      L,4\r
+       PUSH    HL\r
+       LD      L,8\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       CALL    LWRD ?0664\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,4\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       INC     HL\r
+       PUSH    HL\r
+       LD      L,(IX-22)\r
+       LD      H,(IX-21)\r
+       POP     DE\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      HL,8\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,2\r
+       LD      E,(IX-22)\r
+       LD      D,(IX-21)\r
+       LD      A,BYTE3 fwrite\r
+       LD      HL,LWRD fwrite\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,2\r
+       PUSH    HL\r
+       DEC     HL\r
+       DEC     HL\r
+       PUSH    HL\r
+       JP      LWRD ?0517\r
+?0200:\r
+       LD      HL,0\r
+       PUSH    HL\r
+       PUSH    HL\r
+       LD      L,6\r
+       PUSH    HL\r
+       INC     HL\r
+       INC     HL\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       CALL    LWRD ?0664\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,6\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       DEC     HL\r
+       PUSH    HL\r
+       LD      L,(IX-22)\r
+       LD      H,(IX-21)\r
+       POP     DE\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      HL,8\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,2\r
+       LD      E,(IX-22)\r
+       LD      D,(IX-21)\r
+       LD      A,BYTE3 fwrite\r
+       LD      HL,LWRD fwrite\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,0\r
+       PUSH    HL\r
+       PUSH    HL\r
+       LD      L,10\r
+       PUSH    HL\r
+       DEC     HL\r
+       DEC     HL\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       CALL    LWRD ?0664\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IX-22)\r
+       LD      H,(IX-21)\r
+       LD      (HL),255\r
+       INC     HL\r
+       LD      (HL),255\r
+?0203:\r
+       LD      L,(IX-22)\r
+       LD      H,(IX-21)\r
+       XOR     A\r
+       OR      (HL)\r
+       JR      Z,?0202\r
+?0204:\r
+       LD      HL,8\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       PUSH    BC\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       LD      E,(IX-22)\r
+       LD      D,(IX-21)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       JR      ?0203\r
+?0202:\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       DEC     HL\r
+       SBC     HL,BC\r
+       LD      A,H\r
+       RLCA\r
+       SBC     A,A\r
+       LD      C,A\r
+       LD      B,C\r
+       PUSH    BC\r
+?0517:\r
+       PUSH    HL\r
+       LD      HL,8\r
+       LD      C,(IX-26)\r
+       LD      B,(IX-25)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       CALL    LWRD ?0664\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+?0201:\r
+       LD      HL,8\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       LD      A,BYTE3 fwrite\r
+       LD      HL,LWRD fwrite\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       CALL    LWRD ?0639\r
+       LD      E,(IX-22)\r
+       LD      D,(IX-21)\r
+       CALL    LWRD ?0639\r
+       LD      E,(IX-26)\r
+       LD      D,(IX-25)\r
+       LD      A,BYTE3 dbTableClose\r
+       LD      HL,LWRD dbTableClose\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,0\r
+       LD      SP,IX\r
+       JP      LWRD ?0614\r
+?0665:\r
+       LD      E,(IY+8)\r
+       LD      D,(IY+9)\r
+?0664:\r
+       LD      A,BYTE3 fseek\r
+       LD      HL,LWRD fseek\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+dbExecuteDelete:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    DE\r
+       LD      HL,65524\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       CALL    LWRD ?0637\r
+       LD      (IX-6),L\r
+       LD      (IX-5),H\r
+       CALL    LWRD ?0642\r
+       LD      (IX-4),L\r
+       LD      (IX-3),H\r
+       XOR     A\r
+       LD      (IX-12),A\r
+       LD      (IX-11),A\r
+       LD      HL,5\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       LD      HL,2\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       JR      Z,?0206\r
+?0205:\r
+       LD      HL,5\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+       ADD     HL,DE\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      DE,4\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       JR      ?0524\r
+?0206:\r
+       LD      E,A\r
+       LD      D,A\r
+?0524:\r
+?0207:\r
+       CALL    LWRD ?0662\r
+       LD      (IX-14),L\r
+       LD      (IX-13),H\r
+       PUSH    IY\r
+       POP     BC\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      HL,4\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       ADD     HL,BC\r
+       LD      E,(IX-4)\r
+       LD      (HL),E\r
+       LD      D,(IX-3)\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      L,C\r
+       LD      H,B\r
+       INC     HL\r
+       INC     HL\r
+       XOR     A\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      (HL),A\r
+       LD      (IX-10),A\r
+       LD      (IX-9),A\r
+       LD      (IX-12),A\r
+       LD      (IX-11),A\r
+?0209:\r
+       LD      C,(IY+4)\r
+       LD      B,(IY+5)\r
+       LD      L,(IX-12)\r
+       LD      H,(IX-11)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0521\r
+       XOR     H\r
+?0521:\r
+       JP      P,?0208\r
+?0210:\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       LD      L,4\r
+       LD      E,(IX-14)\r
+       LD      D,(IX-13)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       LD      B,(HL)\r
+       DEC     B\r
+       JR      NZ,?0522\r
+?0212:\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       CALL    LWRD ?0663\r
+       JR      NZ,?0522\r
+?0214:\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       LD      (HL),A\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       DEC     HL\r
+       SBC     HL,BC\r
+       LD      A,H\r
+       RLCA\r
+       SBC     A,A\r
+       LD      C,A\r
+       LD      B,C\r
+       PUSH    BC\r
+       PUSH    HL\r
+       CALL    LWRD ?0665\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       LD      L,4\r
+       LD      E,(IX-14)\r
+       LD      D,(IX-13)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 fwrite\r
+       LD      HL,LWRD fwrite\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,1\r
+       PUSH    HL\r
+       DEC     HL\r
+       PUSH    HL\r
+       PUSH    HL\r
+       CALL    LWRD ?0665\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       INC     (IX-10)\r
+       JR      NZ,?0522\r
+       INC     (IX-9)\r
+?0522:\r
+?0215:\r
+?0213:\r
+       INC     (IX-12)\r
+       JP      NZ,?0209\r
+       INC     (IX-11)\r
+       JP      LWRD ?0209\r
+?0208:\r
+       LD      E,(IX-14)\r
+       LD      D,(IX-13)\r
+       LD      A,BYTE3 dbDeleteRow\r
+       LD      HL,LWRD dbDeleteRow\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,0\r
+       PUSH    HL\r
+       PUSH    HL\r
+       LD      L,6\r
+       PUSH    HL\r
+       CALL    LWRD ?0665\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,4\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       ADD     A,(IY+6)\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      A,(HL)\r
+       ADC     A,(IY+7)\r
+       LD      (HL),A\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      BC,2\r
+       LD      L,8\r
+       ADD     HL,SP\r
+       EX      DE,HL\r
+       LD      A,BYTE3 fwrite\r
+       LD      HL,LWRD fwrite\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       LD      A,BYTE3 dbDeleteExpression\r
+       LD      HL,LWRD dbDeleteExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbTableClose\r
+       LD      HL,LWRD dbTableClose\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,0\r
+       LD      SP,IX\r
+       JP      LWRD ?0614\r
+?0637:\r
+       LD      DE,20\r
+       LD      A,BYTE3 malloc\r
+       LD      HL,LWRD malloc\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    HL\r
+       POP     IY\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       INC     BC\r
+       INC     BC\r
+       INC     BC\r
+       LD      A,(BC)\r
+       LD      L,A\r
+       INC     BC\r
+       LD      A,(BC)\r
+       LD      H,A\r
+       LD      BC,4\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      HL,11\r
+       PUSH    IY\r
+       POP     DE\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 strcpy\r
+       LD      HL,LWRD strcpy\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbTableOpen\r
+       LD      HL,LWRD dbTableOpen\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbRecordSize\r
+       LD      HL,LWRD dbRecordSize\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       RET\r
+dbExecuteUpdate:\r
+       PUSH    BC\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    DE\r
+       LD      HL,65512\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       CALL    LWRD ?0637\r
+       LD      (IX-14),L\r
+       LD      (IX-13),H\r
+       CALL    LWRD ?0642\r
+       LD      (IX-6),L\r
+       LD      (IX-5),H\r
+       XOR     A\r
+       LD      (IX-18),A\r
+       LD      (IX-17),A\r
+       LD      HL,5\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       LD      HL,8\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       JR      Z,?0217\r
+?0216:\r
+       LD      HL,5\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+       ADD     HL,DE\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      DE,4\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       JR      ?0535\r
+?0217:\r
+       LD      E,A\r
+       LD      D,A\r
+?0535:\r
+?0218:\r
+       CALL    LWRD ?0662\r
+       LD      (IX-24),L\r
+       LD      (IX-23),H\r
+       PUSH    IY\r
+       POP     BC\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      HL,4\r
+       LD      C,(IX-24)\r
+       LD      B,(IX-23)\r
+       ADD     HL,BC\r
+       LD      E,(IX-6)\r
+       LD      (HL),E\r
+       LD      D,(IX-5)\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      L,C\r
+       LD      H,B\r
+       INC     HL\r
+       INC     HL\r
+       XOR     A\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      (HL),A\r
+       CALL    LWRD ?0647\r
+       LD      (IX-16),L\r
+       LD      (IX-15),H\r
+       CALL    LWRD ?0644\r
+       LD      (IX-20),L\r
+       LD      (IX-19),H\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      (IX-22),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-21),H\r
+       XOR     A\r
+       LD      (IX-26),A\r
+       LD      (IX-25),A\r
+?0220:\r
+       LD      C,(IX-16)\r
+       LD      B,(IX-15)\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0525\r
+       XOR     H\r
+?0525:\r
+       JP      P,?0219\r
+?0221:\r
+       LD      C,0\r
+       PUSH    BC\r
+       LD      C,61\r
+       LD      HL,4\r
+       LD      E,(IX-22)\r
+       LD      D,(IX-21)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbReplaceChar\r
+       LD      HL,LWRD dbReplaceChar\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       LD      (IX-4),L\r
+       LD      (IX-3),H\r
+       XOR     A\r
+       LD      (IX-12),A\r
+       LD      (IX-11),A\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       ADD     HL,HL\r
+       LD      C,(IX-20)\r
+       LD      B,(IX-19)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      HL,16\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      E,(IX-4)\r
+       LD      D,(IX-3)\r
+       INC     DE\r
+       LD      A,BYTE3 dbParseExpression\r
+       LD      HL,LWRD dbParseExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IX-22)\r
+       LD      H,(IX-21)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      (IX-22),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-21),H\r
+       INC     (IX-26)\r
+       JR      NZ,?0220\r
+       INC     (IX-25)\r
+       JP      LWRD ?0220\r
+?0219:\r
+       XOR     A\r
+       LD      (IX-18),A\r
+       LD      (IX-17),A\r
+?0224:\r
+       LD      C,(IY+4)\r
+       LD      B,(IY+5)\r
+       LD      L,(IX-18)\r
+       LD      H,(IX-17)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0527\r
+       XOR     H\r
+?0527:\r
+       JP      P,?0223\r
+?0225:\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       LD      L,4\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       LD      B,(HL)\r
+       DEC     B\r
+       JP      NZ,?0230\r
+?0227:\r
+       LD      C,(IX-24)\r
+       LD      B,(IX-23)\r
+       CALL    LWRD ?0663\r
+       JP      NZ,?0230\r
+?0229:\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       DEC     HL\r
+       SBC     HL,BC\r
+       LD      A,H\r
+       RLCA\r
+       SBC     A,A\r
+       LD      C,A\r
+       LD      B,C\r
+       PUSH    BC\r
+       PUSH    HL\r
+       CALL    LWRD ?0665\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       XOR     A\r
+       LD      (IX-26),A\r
+       LD      (IX-25),A\r
+?0232:\r
+       LD      C,(IX-16)\r
+       LD      B,(IX-15)\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0528\r
+       XOR     H\r
+?0528:\r
+       JP      P,?0231\r
+?0233:\r
+       LD      C,(IX-24)\r
+       LD      B,(IX-23)\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       ADD     HL,HL\r
+       LD      E,(IX-20)\r
+       LD      D,(IX-19)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbEvaluateExpression\r
+       LD      HL,LWRD dbEvaluateExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       INC     (IX-26)\r
+       JR      NZ,?0232\r
+       INC     (IX-25)\r
+       JR      ?0232\r
+?0231:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      (IX-22),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-21),H\r
+       XOR     A\r
+       LD      (IX-26),A\r
+       LD      (IX-25),A\r
+?0236:\r
+       LD      C,(IX-16)\r
+       LD      B,(IX-15)\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0530\r
+       XOR     H\r
+?0530:\r
+       JP      P,?0235\r
+?0237:\r
+       LD      HL,4\r
+       LD      C,(IX-22)\r
+       LD      B,(IX-21)\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbFieldSearch\r
+       LD      HL,LWRD dbFieldSearch\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-10),L\r
+       LD      (IX-9),H\r
+       LD      C,L\r
+       LD      B,H\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbFieldOffset\r
+       LD      HL,LWRD dbFieldOffset\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-12),L\r
+       LD      (IX-11),H\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       LD      L,(IX-10)\r
+       LD      H,(IX-9)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,9\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      83\r
+       JR      NZ,?0241\r
+?0240:\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       LD      L,(IX-10)\r
+       LD      H,(IX-9)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,10\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       PUSH    BC\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       ADD     HL,HL\r
+       LD      C,(IX-20)\r
+       LD      B,(IX-19)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      BC,40\r
+       JR      ?0536\r
+?0241:\r
+       CP      73\r
+       JR      NZ,?0239\r
+       LD      L,(IY+2)\r
+       LD      H,(IY+3)\r
+       PUSH    HL\r
+       LD      L,(IX-10)\r
+       LD      H,(IX-9)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,10\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       PUSH    BC\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       ADD     HL,HL\r
+       LD      C,(IX-20)\r
+       LD      B,(IX-19)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      BC,36\r
+?0536:\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,4\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       ADD     HL,DE\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      E,(IX-12)\r
+       LD      D,(IX-11)\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 memcpy\r
+       LD      HL,LWRD memcpy\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+?0239:\r
+       LD      L,(IX-22)\r
+       LD      H,(IX-21)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      (IX-22),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-21),H\r
+       INC     (IX-26)\r
+       JP      NZ,?0236\r
+       INC     (IX-25)\r
+       JP      LWRD ?0236\r
+?0235:\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       LD      L,4\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 fwrite\r
+       LD      HL,LWRD fwrite\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,1\r
+       PUSH    HL\r
+       DEC     HL\r
+       PUSH    HL\r
+       PUSH    HL\r
+       CALL    LWRD ?0665\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+?0230:\r
+?0228:\r
+       INC     (IX-18)\r
+       JP      NZ,?0224\r
+       INC     (IX-17)\r
+       JP      LWRD ?0224\r
+?0223:\r
+       LD      E,(IX-24)\r
+       LD      D,(IX-23)\r
+       LD      A,BYTE3 dbDeleteRow\r
+       LD      HL,LWRD dbDeleteRow\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       XOR     A\r
+       LD      (IX-26),A\r
+       LD      (IX-25),A\r
+?0243:\r
+       LD      C,(IX-16)\r
+       LD      B,(IX-15)\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0533\r
+       XOR     H\r
+?0533:\r
+       JP      P,?0242\r
+?0244:\r
+       LD      L,(IX-26)\r
+       LD      H,(IX-25)\r
+       ADD     HL,HL\r
+       LD      C,(IX-20)\r
+       LD      B,(IX-19)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbDeleteExpression\r
+       LD      HL,LWRD dbDeleteExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       INC     (IX-26)\r
+       JR      NZ,?0243\r
+       INC     (IX-25)\r
+       JR      ?0243\r
+?0242:\r
+       LD      E,(IX-20)\r
+       LD      D,(IX-19)\r
+       CALL    LWRD ?0639\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbTableClose\r
+       LD      HL,LWRD dbTableClose\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,0\r
+       LD      SP,IX\r
+       JP      LWRD ?0614\r
+dbExecuteStatement:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    DE\r
+       LD      IY,0\r
+       LD      A,BYTE3 dbParseStatement\r
+       LD      HL,LWRD dbParseStatement\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    HL\r
+       POP     IX\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0247\r
+?0246:\r
+       LD      L,A\r
+       LD      H,A\r
+       JR      ?0253\r
+?0247:\r
+       LD      A,(IX+0)\r
+       CP      115\r
+       JR      NZ,?0250\r
+?0249:\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbExecuteQuery\r
+       LD      HL,LWRD dbExecuteQuery\r
+       JR      ?0545\r
+?0250:\r
+       CP      105\r
+       JR      NZ,?0251\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbExecuteInsert\r
+       LD      HL,LWRD dbExecuteInsert\r
+       JR      ?0545\r
+?0251:\r
+       CP      100\r
+       JR      NZ,?0252\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbExecuteDelete\r
+       LD      HL,LWRD dbExecuteDelete\r
+       JR      ?0545\r
+?0252:\r
+       CP      117\r
+       JR      NZ,?0248\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbExecuteUpdate\r
+       LD      HL,LWRD dbExecuteUpdate\r
+?0545:\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    HL\r
+       POP     IY\r
+?0248:\r
+       PUSH    IX\r
+       POP     DE\r
+       LD      A,BYTE3 dbStatementClose\r
+       LD      HL,LWRD dbStatementClose\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    IY\r
+       POP     HL\r
+?0253:\r
+       JP      LWRD ?0626\r
+dbNextRow:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    AF\r
+       PUSH    BC\r
+       POP     IX\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      A,BYTE3 dbRecordSize\r
+       LD      HL,LWRD dbRecordSize\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       EX      DE,HL\r
+       POP     HL\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      HL,4\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       JR      NZ,?0255\r
+?0254:\r
+       CALL    LWRD ?0641\r
+       LD      (IX+4),L\r
+       LD      (IX+5),H\r
+?0255:\r
+       LD      C,(IY+4)\r
+       LD      B,(IY+5)\r
+       LD      L,(IY+6)\r
+       LD      H,(IY+7)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0547\r
+       XOR     H\r
+?0547:\r
+       JP      M,?0257\r
+?0256:\r
+       LD      (IX+2),255\r
+       LD      (IX+3),255\r
+       CALL    LWRD ?0638\r
+       XOR     A\r
+       LD      (IX+4),A\r
+       LD      (IX+5),A\r
+       JR      ?0258\r
+?0257:\r
+       LD      L,(IY+6)\r
+       LD      H,(IY+7)\r
+       INC     HL\r
+       LD      (IY+6),L\r
+       LD      (IY+7),H\r
+       DEC     HL\r
+       LD      (IX+2),L\r
+       LD      (IX+3),H\r
+       PUSH    IY\r
+       PUSH    IX\r
+       POP     HL\r
+       POP     BC\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IY+8)\r
+       LD      H,(IY+9)\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      L,4\r
+       ADD     HL,SP\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      E,(IX+4)\r
+       LD      D,(IX+5)\r
+       LD      A,BYTE3 fread\r
+       LD      HL,LWRD fread\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+?0258:\r
+       JP      LWRD ?0625\r
+dbDeleteRow:\r
+       PUSH    IX\r
+       PUSH    DE\r
+       POP     IX\r
+       LD      A,E\r
+       OR      D\r
+       JR      Z,?0260\r
+?0259:\r
+       LD      A,(IX+4)\r
+       OR      (IX+5)\r
+       JR      Z,?0262\r
+?0261:\r
+       CALL    LWRD ?0638\r
+?0262:\r
+       PUSH    IX\r
+       POP     DE\r
+       CALL    LWRD ?0639\r
+?0260:\r
+       POP     IX\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+dbNewRow:\r
+       PUSH    BC\r
+       PUSH    DE\r
+       PUSH    IX\r
+       LD      DE,6\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IX\r
+       LD      BC,4\r
+       ADD     HL,BC\r
+       XOR     A\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      (HL),A\r
+       PUSH    IX\r
+       POP     HL\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      (HL),A\r
+       LD      (IX+2),255\r
+       LD      (IX+3),255\r
+       PUSH    IX\r
+       POP     HL\r
+       POP     IX\r
+       POP     DE\r
+       POP     BC\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+dbGetString:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    BC\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      HL,4\r
+       ADD     HL,DE\r
+       LD      A,(HL)\r
+       LD      (IX-8),A\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-7),H\r
+       EX      DE,HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbFieldOffset\r
+       LD      HL,LWRD dbFieldOffset\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-6),L\r
+       LD      (IX-5),H\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,9\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      83\r
+       JR      NZ,?0265\r
+?0264:\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      E,(IX+8)\r
+       LD      D,(IX+9)\r
+       CALL    LWRD ?0651\r
+       JP      LWRD ?0270\r
+?0265:\r
+       CP      73\r
+       JP      NZ,?0270\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,10\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       DEC     B\r
+       DEC     B\r
+       JR      NZ,?0267\r
+?0266:\r
+       PUSH    BC\r
+       LD      C,(IX+8)\r
+       LD      B,(IX+9)\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 itoa\r
+       LD      HL,LWRD itoa\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       JR      ?0548\r
+?0267:\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,10\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      4\r
+       JR      NZ,?0270\r
+?0269:\r
+       PUSH    BC\r
+       LD      L,(IX+8)\r
+       LD      H,(IX+9)\r
+       PUSH    HL\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      A,BYTE3 ltoa\r
+       LD      HL,LWRD ltoa\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+?0548:\r
+       POP     AF\r
+?0270:\r
+?0268:\r
+?0263:\r
+       JP      LWRD ?0630\r
+dbGetInt:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       PUSH    BC\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IX\r
+       LD      HL,4\r
+       ADD     HL,DE\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+       PUSH    HL\r
+       POP     IY\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       EX      DE,HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbFieldOffset\r
+       LD      HL,LWRD dbFieldOffset\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IX+0)\r
+       LD      H,(IX+1)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      HL,4\r
+       ADD     HL,SP\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,9\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      83\r
+       JR      NZ,?0273\r
+?0272:\r
+       LD      L,B\r
+       LD      H,B\r
+       ADD     HL,SP\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       EX      DE,HL\r
+       LD      A,BYTE3 atoi\r
+       LD      HL,LWRD atoi\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       JR      ?0274\r
+?0273:\r
+       CP      73\r
+       LD      L,B\r
+       LD      H,B\r
+       JR      NZ,?0274\r
+       ADD     HL,SP\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+?0274:\r
+?0275:\r
+       POP     AF\r
+       JP      LWRD ?0626\r
+?0271:\r
+dbGetLong:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    BC\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      HL,4\r
+       ADD     HL,DE\r
+       LD      A,(HL)\r
+       LD      (IX-6),A\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-5),H\r
+       EX      DE,HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbFieldOffset\r
+       LD      HL,LWRD dbFieldOffset\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-4),L\r
+       LD      (IX-3),H\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,9\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      83\r
+       JR      NZ,?0278\r
+?0277:\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       ADD     HL,BC\r
+       EX      DE,HL\r
+       LD      A,BYTE3 atol\r
+       LD      HL,LWRD atol\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       JR      ?0282\r
+?0278:\r
+       CP      73\r
+       JR      NZ,?0281\r
+       LD      L,(IY+0)\r
+       LD      H,(IY+1)\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,10\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       DEC     B\r
+       DEC     B\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       ADD     HL,BC\r
+       JR      NZ,?0280\r
+?0279:\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      A,H\r
+       LD      L,B\r
+       RLCA\r
+       SBC     A,A\r
+       LD      C,A\r
+       LD      B,C\r
+       JR      ?0282\r
+?0280:\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       EX      DE,HL\r
+       JR      ?0282\r
+?0281:\r
+       LD      C,B\r
+       LD      L,C\r
+       LD      H,B\r
+?0282:\r
+       JP      LWRD ?0630\r
+?0276:\r
+dbOperatorPrecedence:\r
+       PUSH    DE\r
+       CALL    LWRD ?C_V_SWITCH_L06\r
+       DEFW    16\r
+       DEFB    0\r
+       DEFB    38\r
+       DEFB    40\r
+       DEFB    41\r
+       DEFB    42\r
+       DEFB    43\r
+       DEFB    45\r
+       DEFB    47\r
+       DEFB    59\r
+       DEFB    60\r
+       DEFB    61\r
+       DEFB    62\r
+       DEFB    91\r
+       DEFB    93\r
+       DEFB    94\r
+       DEFB    124\r
+       DEFW    ?0291\r
+       DEFW    ?0289\r
+       DEFW    ?0285\r
+       DEFW    ?0288\r
+       DEFW    ?0288\r
+       DEFW    ?0288\r
+       DEFW    ?0288\r
+       DEFW    ?0288\r
+       DEFW    ?0290\r
+       DEFW    ?0286\r
+       DEFW    ?0287\r
+       DEFW    ?0287\r
+       DEFW    ?0286\r
+       DEFW    ?0290\r
+       DEFW    ?0284\r
+       DEFW    ?0289\r
+       DEFW    ?0290\r
+?0284:\r
+       LD      L,1\r
+       JR      ?0292\r
+?0285:\r
+       LD      L,2\r
+       JR      ?0292\r
+?0286:\r
+       LD      L,3\r
+       JR      ?0292\r
+?0287:\r
+       LD      L,4\r
+       JR      ?0292\r
+?0288:\r
+       LD      L,5\r
+       JR      ?0292\r
+?0289:\r
+       LD      L,6\r
+       JR      ?0292\r
+?0290:\r
+       LD      L,63\r
+       JR      ?0292\r
+?0291:\r
+       LD      L,0\r
+?0292:\r
+       POP     AF\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+?0283:\r
+dbNewExpression:\r
+       PUSH    IX\r
+       PUSH    BC\r
+       PUSH    DE\r
+       LD      DE,78\r
+       CALL    LWRD ?0641\r
+       PUSH    HL\r
+       POP     IX\r
+       INC     HL\r
+       INC     HL\r
+       INC     HL\r
+       LD      (HL),0\r
+       XOR     A\r
+       LD      (IX+72),A\r
+       LD      (IX+73),A\r
+       LD      (IX+74),A\r
+       LD      (IX+75),A\r
+       LD      (IX+2),A\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      B,(HL)\r
+       LD      (IX+76),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX+77),H\r
+       LD      (IX+0),C\r
+       LD      (IX+36),A\r
+       LD      (IX+37),A\r
+       LD      (IX+38),A\r
+       LD      (IX+39),A\r
+       PUSH    IX\r
+       POP     HL\r
+       POP     AF\r
+       POP     AF\r
+       POP     IX\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+dbParseExpression:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    BC\r
+       PUSH    DE\r
+       LD      HL,65458\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       XOR     A\r
+       LD      (IX-8),A\r
+       LD      (IX-7),A\r
+       LD      A,E\r
+       OR      D\r
+       JR      NZ,?0294\r
+?0293:\r
+       LD      C,1\r
+       LD      E,A\r
+       LD      D,A\r
+       CALL    LWRD ?0666\r
+       LD      (IX-82),L\r
+       LD      (IX-81),H\r
+       LD      BC,4\r
+       ADD     HL,BC\r
+       LD      (HL),49\r
+       LD      HL,5\r
+       LD      C,(IX-82)\r
+       LD      B,(IX-81)\r
+       ADD     HL,BC\r
+       LD      (HL),0\r
+       LD      L,C\r
+       LD      H,B\r
+       JP      LWRD ?0356\r
+?0294:\r
+       XOR     A\r
+       LD      (IX-10),A\r
+       LD      (IX-9),A\r
+?0296:\r
+       LD      BC,32832\r
+       LD      L,(IX-10)\r
+       LD      H,(IX-9)\r
+       LD      A,B\r
+       XOR     H\r
+       LD      H,A\r
+       SBC     HL,BC\r
+       JR      NC,?0295\r
+?0297:\r
+       LD      HL,6\r
+       ADD     HL,SP\r
+       LD      C,(IX-10)\r
+       LD      B,(IX-9)\r
+       ADD     HL,BC\r
+       LD      (HL),0\r
+       INC     BC\r
+       LD      (IX-10),C\r
+       LD      (IX-9),B\r
+       JR      ?0296\r
+?0295:\r
+       LD      C,3\r
+       LD      DE,0\r
+       CALL    LWRD ?0666\r
+       LD      (IX-82),L\r
+       LD      (IX-81),H\r
+       PUSH    HL\r
+       POP     IY\r
+?0301:\r
+       XOR     A\r
+       LD      (IX-78),A\r
+       LD      (IX-77),A\r
+?0302:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       LD      A,BYTE3 dbOperatorPrecedence\r
+       LD      HL,LWRD dbOperatorPrecedence\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      H,0\r
+       LD      (IX-12),L\r
+       LD      (IX-11),H\r
+       LD      A,L\r
+       OR      A\r
+       JR      NZ,?0304\r
+?0303:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       LD      HL,6\r
+       ADD     HL,SP\r
+       LD      E,(IX-8)\r
+       LD      D,(IX-7)\r
+       ADD     HL,DE\r
+       LD      (HL),B\r
+       JP      LWRD ?0312\r
+?0304:\r
+       LD      A,1\r
+       XOR     L\r
+       JR      NZ,?0307\r
+?0306:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      41\r
+       JR      NZ,?0309\r
+?0308:\r
+       LD      (IX-12),63\r
+       LD      (IX-11),0\r
+?0309:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      40\r
+       JP      NZ,?0312\r
+?0310:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     (HL)\r
+       INC     HL\r
+       JR      NZ,?0549\r
+       INC     (HL)\r
+?0549:\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       LD      E,(IX-4)\r
+       LD      D,(IX-3)\r
+       LD      A,BYTE3 dbParseExpression\r
+       LD      HL,LWRD dbParseExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      (IX-78),L\r
+       LD      (IX-77),H\r
+       XOR     A\r
+       LD      (IX-8),A\r
+       LD      (IX-7),A\r
+       JP      LWRD ?0302\r
+?0311:\r
+?0307:\r
+       LD      L,6\r
+       ADD     HL,SP\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
+       ADD     HL,BC\r
+       LD      (HL),0\r
+       LD      A,(IY+72)\r
+       OR      (IY+73)\r
+       JR      NZ,?0314\r
+?0313:\r
+       LD      A,(IX-78)\r
+       OR      (IX-77)\r
+       JR      NZ,?0316\r
+?0315:\r
+       CALL    LWRD ?0667\r
+       LD      (IY+72),L\r
+       LD      (IY+73),H\r
+       LD      HL,6\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       CALL    LWRD ?0654\r
+       JR      ?0317\r
+?0316:\r
+       LD      L,(IX-78)\r
+       LD      (IY+72),L\r
+       LD      H,(IX-77)\r
+       LD      (IY+73),H\r
+?0317:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       LD      (IY+2),B\r
+       JP      LWRD ?0350\r
+?0314:\r
+       CALL    LWRD ?0669\r
+       JP      PO,?0550\r
+       XOR     H\r
+?0550:\r
+       JP      P,?0320\r
+?0319:\r
+       LD      C,3\r
+       CALL    LWRD ?0668\r
+       LD      (IY+74),L\r
+       LD      (IY+75),H\r
+       LD      A,(IX-78)\r
+       OR      (IX-77)\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,72\r
+       ADD     HL,BC\r
+       JR      NZ,?0322\r
+?0321:\r
+       PUSH    HL\r
+       LD      C,1\r
+       LD      E,(IY+74)\r
+       LD      D,(IY+75)\r
+       CALL    LWRD ?0666\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      HL,6\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      DE,72\r
+       ADD     HL,DE\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       CALL    LWRD ?0654\r
+       JR      ?0323\r
+?0322:\r
+       LD      C,(IX-78)\r
+       LD      (HL),C\r
+       LD      B,(IX-77)\r
+       INC     HL\r
+       LD      (HL),B\r
+?0323:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       INC     HL\r
+       INC     HL\r
+       PUSH    HL\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       POP     HL\r
+       LD      (HL),B\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       JP      LWRD ?0557\r
+?0320:\r
+       LD      A,63\r
+       XOR     (IX-12)\r
+       OR      (IX-11)\r
+       JR      NZ,?0326\r
+?0325:\r
+       LD      A,(IX-78)\r
+       OR      (IX-77)\r
+       JR      NZ,?0328\r
+?0327:\r
+       CALL    LWRD ?0667\r
+       LD      (IY+74),L\r
+       LD      (IY+75),H\r
+       LD      HL,6\r
+       ADD     HL,SP\r
+       CALL    LWRD ?0655\r
+       JP      LWRD ?0350\r
+?0328:\r
+       LD      L,(IX-78)\r
+       LD      (IY+74),L\r
+       LD      H,(IX-77)\r
+       LD      (IY+75),H\r
+?0329:\r
+       JP      LWRD ?0350\r
+?0326:\r
+       CALL    LWRD ?0670\r
+       JP      PO,?0551\r
+       XOR     H\r
+?0551:\r
+       JP      M,?0350\r
+?0331:\r
+       LD      A,(IX-78)\r
+       OR      (IX-77)\r
+       JR      NZ,?0334\r
+?0333:\r
+       CALL    LWRD ?0667\r
+       LD      (IY+74),L\r
+       LD      (IY+75),H\r
+       LD      HL,6\r
+       ADD     HL,SP\r
+       CALL    LWRD ?0655\r
+       JR      ?0335\r
+?0334:\r
+       LD      L,(IX-78)\r
+       LD      (IY+74),L\r
+       LD      H,(IX-77)\r
+       LD      (IY+75),H\r
+?0335:\r
+?0337:\r
+       CALL    LWRD ?0669\r
+       JP      PO,?0552\r
+       XOR     H\r
+?0552:\r
+       JP      M,?0336\r
+       LD      A,(IY+76)\r
+       OR      (IY+77)\r
+       JR      Z,?0336\r
+?0340:\r
+?0339:\r
+?0338:\r
+       LD      L,(IY+76)\r
+       LD      H,(IY+77)\r
+       PUSH    HL\r
+       POP     IY\r
+       JR      ?0335\r
+?0336:\r
+       LD      A,(IY+76)\r
+       OR      (IY+77)\r
+       JR      NZ,?0342\r
+       CALL    LWRD ?0670\r
+       JP      PO,?0553\r
+       XOR     H\r
+?0553:\r
+       JP      M,?0342\r
+?0344:\r
+?0343:\r
+?0341:\r
+       LD      C,3\r
+       LD      E,B\r
+       LD      D,B\r
+       CALL    LWRD ?0666\r
+       LD      (IX-82),L\r
+       LD      (IX-81),H\r
+       LD      BC,72\r
+       ADD     HL,BC\r
+       PUSH    IY\r
+       POP     BC\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      E,(IX-4)\r
+       LD      D,(IX-3)\r
+       ADD     HL,DE\r
+       LD      D,(HL)\r
+       LD      L,(IX-82)\r
+       LD      H,(IX-81)\r
+       INC     HL\r
+       INC     HL\r
+       LD      (HL),D\r
+       DEC     HL\r
+       DEC     HL\r
+       JP      LWRD ?0557\r
+?0342:\r
+       LD      A,(IY+76)\r
+       OR      (IY+77)\r
+       JR      NZ,?0347\r
+       CALL    LWRD ?0670\r
+       JP      PO,?0554\r
+       XOR     H\r
+?0554:\r
+       JP      P,?0347\r
+?0349:\r
+?0348:\r
+?0346:\r
+       LD      C,3\r
+       CALL    LWRD ?0668\r
+       LD      (IX-6),L\r
+       LD      (IX-5),H\r
+       LD      BC,72\r
+       ADD     HL,BC\r
+       LD      C,(IY+74)\r
+       LD      (HL),C\r
+       LD      B,(IY+75)\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       LD      L,(IX-6)\r
+       LD      H,(IX-5)\r
+       INC     HL\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      HL,72\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      DE,76\r
+       ADD     HL,DE\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      (IY+74),C\r
+       LD      (IY+75),B\r
+       LD      L,C\r
+       LD      H,B\r
+       JR      ?0557\r
+?0347:\r
+       LD      L,(IY+76)\r
+       LD      (IX-6),L\r
+       LD      H,(IY+77)\r
+       LD      (IX-5),H\r
+       LD      C,74\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      C,3\r
+       LD      E,(IX-6)\r
+       LD      D,(IX-5)\r
+       CALL    LWRD ?0666\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      HL,74\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       LD      DE,72\r
+       ADD     HL,DE\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      HL,74\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+       INC     HL\r
+       INC     HL\r
+       PUSH    HL\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       POP     HL\r
+       LD      (HL),B\r
+       LD      HL,74\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+?0557:\r
+       PUSH    HL\r
+       POP     IY\r
+?0350:\r
+?0345:\r
+?0332:\r
+?0330:\r
+?0324:\r
+?0318:\r
+       LD      (IX-8),255\r
+       LD      (IX-7),255\r
+?0312:\r
+?0305:\r
+       INC     (IX-8)\r
+       JR      NZ,?0555\r
+       INC     (IX-7)\r
+?0555:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       INC     (HL)\r
+       INC     HL\r
+       JR      NZ,?0556\r
+       INC     (HL)\r
+?0556:\r
+       LD      BC,32831\r
+       LD      L,(IX-12)\r
+       LD      H,(IX-11)\r
+       LD      A,B\r
+       XOR     H\r
+       LD      H,A\r
+       SBC     HL,BC\r
+       JP      C,?0301\r
+?0299:\r
+?0352:\r
+       LD      HL,74\r
+       LD      C,(IX-82)\r
+       LD      B,(IX-81)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       JR      NZ,?0351\r
+       LD      L,C\r
+       LD      H,B\r
+       LD      A,(HL)\r
+       CP      3\r
+       JR      NZ,?0351\r
+?0355:\r
+?0354:\r
+?0353:\r
+       PUSH    HL\r
+       POP     IY\r
+       LD      HL,72\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       LD      (IX-82),D\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-81),H\r
+       PUSH    IY\r
+       POP     DE\r
+       CALL    LWRD ?0639\r
+       JR      ?0299\r
+?0351:\r
+       LD      L,C\r
+       LD      H,B\r
+?0356:\r
+       JP      LWRD ?0630\r
+?0667:\r
+       LD      C,1\r
+?0668:\r
+       PUSH    IY\r
+       POP     DE\r
+?0666:\r
+       LD      A,BYTE3 dbNewExpression\r
+       LD      HL,LWRD dbNewExpression\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0669:\r
+       LD      E,(IY+2)\r
+       LD      A,BYTE3 dbOperatorPrecedence\r
+       LD      HL,LWRD dbOperatorPrecedence\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,L\r
+       LD      B,0\r
+       LD      L,(IX-12)\r
+       LD      H,(IX-11)\r
+       OR      128\r
+       SBC     HL,BC\r
+       RET\r
+?0670:\r
+       LD      E,(IY+2)\r
+       LD      A,BYTE3 dbOperatorPrecedence\r
+       LD      HL,LWRD dbOperatorPrecedence\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,L\r
+       LD      L,(IX-12)\r
+       LD      H,(IX-11)\r
+       OR      128\r
+       SBC     HL,BC\r
+       RET\r
+dbDeleteExpression:\r
+       PUSH    IX\r
+       PUSH    DE\r
+       POP     IX\r
+       LD      A,(DE)\r
+       CP      3\r
+       JR      NZ,?0358\r
+?0357:\r
+       LD      E,(IX+72)\r
+       LD      D,(IX+73)\r
+       LD      A,BYTE3 dbDeleteExpression\r
+       LD      HL,LWRD dbDeleteExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IX+74)\r
+       LD      D,(IX+75)\r
+       LD      A,BYTE3 dbDeleteExpression\r
+       LD      HL,LWRD dbDeleteExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+?0358:\r
+       JP      LWRD ?0636\r
+dbEvaluateExpression:\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      IX,0\r
+       ADD     IX,SP\r
+       PUSH    BC\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IY\r
+       LD      A,(DE)\r
+       CP      3\r
+       JP      NZ,?0360\r
+?0359:\r
+       LD      E,(IY+72)\r
+       LD      D,(IY+73)\r
+       LD      A,BYTE3 dbEvaluateExpression\r
+       LD      HL,LWRD dbEvaluateExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,(IX-2)\r
+       LD      B,(IX-1)\r
+       LD      E,(IY+74)\r
+       LD      D,(IY+75)\r
+       LD      A,BYTE3 dbEvaluateExpression\r
+       LD      HL,LWRD dbEvaluateExpression\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IY+2)\r
+       LD      A,BYTE3 dbOperatorPrecedence\r
+       LD      HL,LWRD dbOperatorPrecedence\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      A,L\r
+       CP      5\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       INC     HL\r
+       JP      NC,?0362\r
+?0361:\r
+       LD      B,(HL)\r
+       DEC     B\r
+       JP      NZ,?0454\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       DEC     B\r
+       JP      NZ,?0454\r
+?0366:\r
+?0365:\r
+?0363:\r
+       LD      (IY+1),1\r
+       LD      A,(IY+2)\r
+       CP      43\r
+       JR      NZ,?0369\r
+?0368:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      C,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      L,C\r
+       LD      H,B\r
+       POP     BC\r
+       ADD     HL,BC\r
+       EX      DE,HL\r
+       POP     BC\r
+       ADC     HL,BC\r
+       JR      ?0564\r
+?0369:\r
+       CP      45\r
+       JR      NZ,?0370\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      C,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      L,C\r
+       LD      H,B\r
+       PUSH    DE\r
+       PUSH    HL\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      L,C\r
+       LD      H,B\r
+       AND     A\r
+       POP     BC\r
+       SBC     HL,BC\r
+       EX      DE,HL\r
+       POP     BC\r
+       SBC     HL,BC\r
+?0564:\r
+       LD      C,L\r
+       LD      B,H\r
+       EX      DE,HL\r
+       JR      ?0583\r
+?0370:\r
+       CP      42\r
+       JR      NZ,?0371\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      C,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       EX      DE,HL\r
+       CALL    LWRD ?L_MUL_L03\r
+       JR      ?0583\r
+?0371:\r
+       CP      47\r
+       JR      NZ,?0367\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      C,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       EX      DE,HL\r
+       CALL    LWRD ?SL_DIV_L03\r
+?0583:\r
+       LD      (IX-8),L\r
+       LD      (IX-7),H\r
+       LD      (IX-6),C\r
+       LD      (IX-5),B\r
+?0367:\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       JP      LWRD ?0606\r
+?0364:\r
+?0362:\r
+       LD      A,(HL)\r
+       CP      3\r
+       JP      Z,?0377\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      3\r
+       JP      Z,?0377\r
+?0376:\r
+?0375:\r
+?0373:\r
+       LD      (IY+1),4\r
+       LD      E,(IY+2)\r
+       CALL    LWRD ?C_V_SWITCH_L06\r
+       DEFW    7\r
+       DEFB    38\r
+       DEFB    60\r
+       DEFB    61\r
+       DEFB    62\r
+       DEFB    91\r
+       DEFB    93\r
+       DEFB    124\r
+       DEFW    ?0377\r
+       DEFW    ?0399\r
+       DEFW    ?0394\r
+       DEFW    ?0390\r
+       DEFW    ?0386\r
+       DEFW    ?0378\r
+       DEFW    ?0382\r
+       DEFW    ?0398\r
+?0378:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      L,C\r
+       LD      H,B\r
+       POP     BC\r
+       AND     A\r
+       SBC     HL,BC\r
+       POP     BC\r
+       JR      NZ,?0380\r
+       EX      DE,HL\r
+       SBC     HL,BC\r
+       JR      NZ,?0380\r
+       LD      C,L\r
+       LD      B,H\r
+       INC     HL\r
+       JP      LWRD ?0598\r
+?0380:\r
+       LD      BC,0\r
+       JP      LWRD ?0396\r
+?0382:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       CALL    LWRD ?0671\r
+       LD      BC,0\r
+       JR      NC,?0396\r
+       JR      ?0597\r
+?0386:\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       CALL    LWRD ?0672\r
+       LD      BC,0\r
+       JR      NC,?0396\r
+       JR      ?0597\r
+?0390:\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       CALL    LWRD ?0672\r
+       LD      BC,0\r
+       JR      C,?0396\r
+       JR      ?0597\r
+?0394:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       CALL    LWRD ?0671\r
+       LD      BC,0\r
+       JR      C,?0396\r
+?0597:\r
+       LD      HL,1\r
+       JR      ?0598\r
+?0396:\r
+       LD      L,C\r
+       LD      H,B\r
+       JR      ?0598\r
+?0398:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       CALL    LWRD ?0673\r
+       JR      ?0598\r
+?0399:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       CALL    LWRD ?0674\r
+?0598:\r
+       LD      (IY+36),L\r
+       LD      (IY+37),H\r
+       LD      (IY+38),C\r
+       LD      (IY+39),B\r
+?0377:\r
+?0374:\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      3\r
+       JP      NZ,?0404\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      3\r
+       JP      NZ,?0404\r
+?0403:\r
+?0402:\r
+?0400:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,40\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      DE,40\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 strcmp\r
+       LD      HL,LWRD strcmp\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IY+2)\r
+       CALL    LWRD ?C_V_SWITCH_L06\r
+       DEFW    6\r
+       DEFB    43\r
+       DEFB    60\r
+       DEFB    61\r
+       DEFB    62\r
+       DEFB    91\r
+       DEFB    93\r
+       DEFW    ?0404\r
+       DEFW    ?0421\r
+       DEFW    ?0417\r
+       DEFW    ?0413\r
+       DEFW    ?0405\r
+       DEFW    ?0409\r
+       DEFW    ?0425\r
+?0405:\r
+       LD      (IY+1),4\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0407\r
+       LD      C,A\r
+       LD      B,A\r
+       JR      ?0604\r
+?0407:\r
+       LD      BC,0\r
+       JR      ?0423\r
+?0409:\r
+       LD      (IY+1),4\r
+       BIT     7,H\r
+       LD      BC,0\r
+       JR      Z,?0423\r
+       JR      ?0604\r
+?0413:\r
+       LD      (IY+1),4\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,0\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0560\r
+       XOR     H\r
+?0560:\r
+       LD      BC,0\r
+       JP      P,?0423\r
+       JR      ?0604\r
+?0417:\r
+       LD      (IY+1),4\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,0\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0561\r
+       XOR     H\r
+?0561:\r
+       LD      BC,0\r
+       JP      M,?0423\r
+       JR      ?0604\r
+?0421:\r
+       LD      (IY+1),4\r
+       BIT     7,H\r
+       LD      BC,0\r
+       JR      NZ,?0423\r
+?0604:\r
+       LD      HL,1\r
+       JR      ?0424\r
+?0423:\r
+       LD      L,C\r
+       LD      H,B\r
+?0424:\r
+       LD      (IY+36),L\r
+       LD      (IY+37),H\r
+       LD      (IY+38),C\r
+       LD      (IY+39),B\r
+       JR      ?0404\r
+?0425:\r
+       LD      (IY+1),3\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,40\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,40\r
+       PUSH    IY\r
+       POP     DE\r
+       CALL    LWRD ?0653\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,40\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,40\r
+       PUSH    IY\r
+       POP     DE\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 strcat\r
+       LD      HL,LWRD strcat\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+?0404:\r
+?0401:\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      4\r
+       JP      NZ,?0454\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       INC     HL\r
+       LD      A,(HL)\r
+       CP      4\r
+       JP      NZ,?0454\r
+?0429:\r
+?0428:\r
+?0426:\r
+       LD      (IY+1),4\r
+       LD      A,(IY+2)\r
+       CP      38\r
+       JR      NZ,?0432\r
+?0431:\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       CALL    LWRD ?0673\r
+       JP      LWRD ?0606\r
+?0432:\r
+       CP      124\r
+       JP      NZ,?0454\r
+       LD      L,(IY+74)\r
+       LD      H,(IY+75)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       PUSH    BC\r
+       CALL    LWRD ?0674\r
+       JP      LWRD ?0606\r
+?0430:\r
+?0427:\r
+?0372:\r
+?0360:\r
+       LD      (IX-4),255\r
+       LD      (IX-3),255\r
+       LD      A,C\r
+       OR      B\r
+       JR      Z,?0436\r
+?0434:\r
+       LD      L,C\r
+       LD      H,B\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+       LD      B,(HL)\r
+       LD      (IX-6),B\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-5),H\r
+       XOR     A\r
+       LD      (IX-8),A\r
+       LD      (IX-7),A\r
+?0437:\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0562\r
+       XOR     H\r
+?0562:\r
+       JP      P,?0436\r
+?0438:\r
+       LD      HL,4\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       INC     HL\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       PUSH    HL\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      E,L\r
+       LD      D,H\r
+       ADD     HL,HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       POP     HL\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 strcmp\r
+       LD      HL,LWRD strcmp\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      A,L\r
+       OR      H\r
+       JR      NZ,?0441\r
+?0440:\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       LD      (IX-4),L\r
+       LD      (IX-3),H\r
+?0441:\r
+       INC     (IX-8)\r
+       JR      NZ,?0437\r
+       INC     (IX-7)\r
+       JR      ?0437\r
+?0436:\r
+?0435:\r
+       BIT     7,(IX-3)\r
+       JR      NZ,?0444\r
+       LD      A,(IX-2)\r
+       OR      (IX-1)\r
+       JR      NZ,?0443\r
+?0444:\r
+?0445:\r
+?0442:\r
+       LD      A,(IY+4)\r
+       CP      39\r
+       JR      NZ,?0447\r
+?0446:\r
+       LD      (IY+1),3\r
+       LD      HL,4\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       INC     BC\r
+       LD      HL,40\r
+       PUSH    IY\r
+       POP     DE\r
+       CALL    LWRD ?0653\r
+       LD      HL,40\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       CALL    LWRD ?0648\r
+       ADD     HL,BC\r
+       LD      BC,39\r
+       ADD     HL,BC\r
+       LD      (HL),B\r
+       JP      LWRD ?0454\r
+?0447:\r
+       LD      (IY+1),1\r
+       LD      HL,4\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       EX      DE,HL\r
+       LD      A,BYTE3 atol\r
+       LD      HL,LWRD atol\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       JR      ?0606\r
+?0448:\r
+?0443:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,9\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      73\r
+       JR      NZ,?0451\r
+?0450:\r
+       LD      (IY+1),1\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+       LD      A,BYTE3 dbGetLong\r
+       LD      HL,LWRD dbGetLong\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+?0606:\r
+       LD      (IY+36),L\r
+       LD      (IY+37),H\r
+       LD      (IY+38),C\r
+       LD      (IY+39),B\r
+       JR      ?0454\r
+?0451:\r
+       LD      L,(IX-2)\r
+       LD      H,(IX-1)\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       INC     HL\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    HL\r
+       LD      L,(IX-4)\r
+       LD      H,(IX-3)\r
+       ADD     HL,HL\r
+       ADD     HL,HL\r
+       LD      C,L\r
+       LD      B,H\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,9\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       CP      83\r
+       JR      NZ,?0454\r
+?0453:\r
+       LD      (IY+1),3\r
+       LD      HL,40\r
+       PUSH    IY\r
+       POP     BC\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       LD      E,(IX-2)\r
+       LD      D,(IX-1)\r
+       LD      A,BYTE3 dbGetString\r
+       LD      HL,LWRD dbGetString\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     HL\r
+?0454:\r
+?0452:\r
+?0449:\r
+?0433:\r
+       JP      LWRD ?0630\r
+?0671:\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+?0672:\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       EX      DE,HL\r
+       JP      LWRD ?SL_CMP_L03\r
+?0673:\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       EX      DE,HL\r
+       JP      LWRD ?L_AND_L03\r
+?0674:\r
+       LD      L,(IY+72)\r
+       LD      H,(IY+73)\r
+       LD      BC,36\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       EX      DE,HL\r
+       JP      LWRD ?L_OR_L03\r
+       RSEG    CSTR\r
+?0066:\r
+       DEFB    'SEL'\r
+       DEFB    0\r
+?0069:\r
+       DEFB    'INS'\r
+       DEFB    0\r
+?0072:\r
+       DEFB    'UPD'\r
+       DEFB    0\r
+?0075:\r
+       DEFB    'DEL'\r
+       DEFB    0\r
+?0081:\r
+       DEFB    ' FR '\r
+       DEFB    0\r
+?0085:\r
+       DEFB    ' WH'\r
+       DEFB    0\r
+?0090:\r
+       DEFB    ' ORD '\r
+       DEFB    0\r
+?0094:\r
+       DEFB    '('\r
+       DEFB    0\r
+?0098:\r
+       DEFB    ') VAL('\r
+       DEFB    0\r
+?0103:\r
+       DEFB    ' ST '\r
+       DEFB    0\r
+?0114:\r
+       DEFB    '/usr/db/'\r
+       DEFB    0\r
+?0115:\r
+       DEFB    '.TBL'\r
+       DEFB    0\r
+?0116:\r
+       DEFB    'rb'\r
+       DEFB    0\r
+?0126:\r
+       DEFB    '.DAT'\r
+       DEFB    0\r
+?0127:\r
+       DEFB    'r+b'\r
+       DEFB    0\r
+?0146:\r
+       DEFB    '"*"'\r
+       DEFB    0\r
+?0156:\r
+       DEFB    'result'\r
+       DEFB    0\r
+?0157:\r
+       DEFB    'wb'\r
+       DEFB    0\r
+       END\r
diff --git a/src/db/logistic.DAT b/src/db/logistic.DAT
new file mode 100644 (file)
index 0000000..d961fa1
Binary files /dev/null and b/src/db/logistic.DAT differ
diff --git a/src/db/logistic.TBL b/src/db/logistic.TBL
new file mode 100644 (file)
index 0000000..e672637
Binary files /dev/null and b/src/db/logistic.TBL differ
diff --git a/src/db/main.c b/src/db/main.c
new file mode 100644 (file)
index 0000000..1ed0344
--- /dev/null
@@ -0,0 +1,61 @@
+#include <stdio.h>\r
+#include <malloc.h>\r
+#include <string.h>\r
+#include "db.h"\r
+\r
+void main(){\r
+       char sql[]="SEL column1, column2, testtest FR test";\r
+\r
+       char str[256];\r
+       DbRow* row=malloc(sizeof(DbRow));\r
+       DbTable* tbl=malloc(sizeof(DbTable));\r
+       DbResultSet* rs;\r
+       char a[65];\r
+       WORD i;\r
+/*     LONG j;\r
+       DbExpression* expr;*/\r
+\r
+       str[0]=0;\r
+       \r
+       while (strcmp(str,"QT")!=0){\r
+               printf("SQL> "); fflush(stdout); \r
+               gets(str);\r
+               i=0;\r
+/*             expr=dbParseExpression(str,&i);\r
+               DisplayExpression(expr);\r
+               dbEvaluateExpression(expr,NULL);\r
+               printf("=%ld\n",expr->result);*/\r
+               rs=dbExecuteStatement(str);\r
+               row=dbNewRow();\r
+\r
+               if(rs!=NULL){\r
+                       dbNextRow(rs,row);\r
+                       while(row->rownr>=0){\r
+                               for(i=0; i<rs->fields; i++){\r
+                                       dbGetString(row,i,a);\r
+                                       printf("'%s',",a);\r
+                               }\r
+                               printf("\n");\r
+                               dbNextRow(rs,row);\r
+                       }\r
+                       dbResultSetClose(rs);\r
+               }\r
+               dbDeleteRow(row);\r
+       }\r
+/*ZILOG\r
+       rs=dbExecuteStatement(sql);\r
+\r
+       row->data=NULL; row->rownr=0;\r
+       dbNextRow(rs,row);\r
+       while(row->rownr>=0){\r
+               j=dbGetLong(row,1);\r
+               i=dbGetInt(row,0);\r
+               dbGetString(row,1,c);\r
+               dbGetString(row,2,b);\r
+               dbGetString(row,0,a);\r
+               printf("Row #%2d: (%d,%ld,\'%0.16s\',\'%0.16s\',\'%0.16s\')\n",row->rownr,i,j,b,c,a);\r
+               dbNextRow(rs,row);\r
+       }\r
+       dbResultSetClose(rs);\r
+*/\r
+}
\ No newline at end of file
diff --git a/src/db/main.i86 b/src/db/main.i86
new file mode 100644 (file)
index 0000000..d0a14c9
--- /dev/null
@@ -0,0 +1,805 @@
+:020000040000FA\r
+:20000000C9A6020078563412140000810081BB85FE87FE97D1ED53BB85C1ED43BD85E12264\r
+:13002000BF8521CF443E00CD7781EB211B593E01C37781D8\r
+:2004CF00CDB58190FE210000395D5421DA83012700EDB01106003E0121EF56CD7781DD755B\r
+:2004EF00B7DD74B81114003E0121EF56CD7781DD75B9DD74BA212700393600010184212703\r
+:20050F0000395D543E0121A74ACD77817DB4CA2E46210484E53E01214647CD7781F1118794\r
+:20052F00843E01210040CD7781212700395D543E01213156CD7781AFDD77FEDD77FF212749\r
+:20054F0000395D543E0021FE69CD7781DD75BBDD74BC3E0021CE6BCD7781DD75B7DD74B88E\r
+:20056F00DD7EBBDDB6BCCA1D46DD4EB7DD46B8DD5EBBDD56BC3E0021B16ACD7781DD6EB7F7\r
+:20058F00DD66B8232323CB7E2076AFDD77FEDD77FFDD6EBBDD66BC4E2346DD6EFEDD66FF6E\r
+:2005AF00CDD3813037212D0139E5DD4EFEDD46FFDD5EB7DD56B83E00210C6CCD7781E12171\r
+:2005CF002D0139E5210A84E53E01214647CD7781F1F1DD34FE2003DD34FF18B5211084E5EF\r
+:2005EF003E01214647CD7781F1DD4EB7DD46B8DD5EBBDD56BC3E0021B16ACD7781C38C45D4\r
+:20060F00DD5EBBDD56BC3E00212856CD7781DD5EB7DD56B83E0021926BCD7781C30A45C371\r
+:02062F00358113\r
+:1103150051540053514C3E2000272573272C000A00C8\r
+:2002EE0053454C20636F6C756D6E312C20636F6C756D6E322C2074657374746573742046EF\r
+:07030E0052207465737400B6\r
+:20063100CD6B817BB22852210400DD4E02DD4603097E23B62815210400DD4E02DD460309B3\r
+:200651005E23563E0121504BCD7781DD6E02DD660323237E23B62813DD6E02DD66032323AE\r
+:200671005E23563E00213146CD7781DD5E02DD56033E0121504BCD7781C33581CDB581FC4C\r
+:20069100FFDD6E02DD6603DD75FCDD74FDAFDD77FEDD77FFDD6EFCDD66FD7E23B6281ADDCA\r
+:2006B1006EFCDD66FD46236668DD75FCDD74FDDD34FE2003DD34FF18DBDD6EFEDD66FFC329\r
+:2006D1003581CDB581FCFFDD6E02DD6603DD75FEDD74FFEB3E00218D46CD778123DD75FCCF\r
+:2006F100DD74FDDD6EFEDD66FF23237E23B6281CDD6EFEDD66FF232346236668DD75FEDDFA\r
+:2007110074FFDD34FC2003DD34FD18D7DD6EFCDD66FDC33581CD6B81DD6E0ADD660B562353\r
+:20073100666A0956DD6E0CDD660D7E23666F0972DD6E0ADD660B4E234603702B71DD6E0429\r
+:20075100DD6605097EDDBE022827DD6E0ADD660B46236668DD4E04DD46050956D5DD6E0C11\r
+:20077100DD660D5E235613722B73696019D17218BFDD6E0ADD660B46236668DD4E04DD46F6\r
+:20079100050956D5DD6E0CDD660D5E235613722B73696019D172C33581CDB581FAFFAFDD48\r
+:2007B10077FADD77FBAFDD77FCDD77FDDD36FE20DD6EFADD66FBDD4E02DD4603097EB7CA09\r
+:2007D100B049DD6EFADD66FBDD4E02DD4603097EFE272812DD6EFADD66FBDD4E02DD46037D\r
+:2007F100097EFE22202821020039E521020039E5DD4E02DD4603DD6EFADD66FBDD5E02DD87\r
+:200811005603195E3E00212647CD7781E1E1DD7EFEFE20C21049DD6EFADD66FBDD4E02DD85\r
+:200831004603097EFE2CCA0349DD6EFADD66FBDD4E02DD4603097EFE29CA0349DD6EFADDDB\r
+:2008510066FBDD4E02DD4603097EFE28CA0349DD6EFADD66FBDD4E02DD4603097EFE2BCAC0\r
+:200871000349DD6EFADD66FBDD4E02DD4603097EFE2D287EDD6EFADD66FBDD4E02DD460317\r
+:20089100097EFE2A286CDD6EFADD66FBDD4E02DD4603097EFE2F285ADD6EFADD66FBDD4E4A\r
+:2008B10002DD4603097EFE262848DD6EFADD66FBDD4E02DD4603097EFE7C2836DD6EFADD8D\r
+:2008D10066FBDD4E02DD4603097EFE3D2824DD6EFADD66FBDD4E02DD4603097EFE3C281274\r
+:2008F100DD6EFADD66FBDD4E02DD4603097EFE3E200DDD6EFCDD66FD2BDD75FCDD74FDDDF6\r
+:200911006EFADD66FBDD4E02DD46030956DD6EFCDD66FD0972DD7EFEFE2C284DDD7EFEFE1D\r
+:20093100202846DD7EFEFE28283FDD7EFEFE2B2838DD7EFEFE2D2831DD7EFEFE2A282ADDC3\r
+:200951007EFEFE2F2823DD7EFEFE26281CDD7EFEFE7C2815DD7EFEFE3D280EDD7EFEFE3E62\r
+:200971002807DD7EFEFE3C2012DD6EFADD66FBDD4E02DD4603097EFE202808DD34FC200397\r
+:20099100DD34FDDD6EFADD66FBDD4E02DD46030946DD70FEDD34FA2003DD34FBC3C147DDE6\r
+:2009B1007EFEFE202018DD6EFCDD66FD2BDD75FCDD74FDDD4E02DD4603093600180FDD6E02\r
+:2009D100FCDD66FDDD4E02DD4603093600C33581CDB581FEFFAFDD77FEDD77FFDD6EFEDD45\r
+:2009F10066FFDD4E02DD4603097EDDBE04281BDD6EFEDD66FFDD4E02DD4603097EB7280A77\r
+:200A1100DD34FE2003DD34FF18D2DD6EFEDD66FFDD4E02DD4603097EB72811DD6EFEDD66B8\r
+:200A3100FFDD4E02DD460309DD460A70DD6EFEDD66FFDD4E02DD460309C33581CDB581D674\r
+:200A5100FFAFDD77D6DD77D7DD36F800DD36F900AFDD77FADD77FB1106003E0121EF56CD96\r
+:200A71007781DD75FEDD74FFDD75FCDD74FDDD6EFEDD66FFAF772377DD6E0CDD660D4623D6\r
+:200A91006668DD4E02DD4603097EDDBE0A2007AFDDB6F8CAF94BDD6E0CDD660D46236668AB\r
+:200AB100DD4E02DD4603097EB7CAF94BDD6E0CDD660D46236668DD4E02DD4603095ECD40E1\r
+:200AD10081040022272829064BFD4AF24AE24AE24AAFDDB6F820043E011801AFDD77F818F1\r
+:200AF10014AFDDB6F82003DD34F91809AFDDB6F82003DD35F9DD6E0CDD660D46236668DD26\r
+:200B11004E02DD4603097EDDBE04200CAFDDB6F82006AFDDB6F92821DD6E0CDD660D462308\r
+:200B31006668DD4E02DD4603094621020039DD5ED6DD56D71970C3E34B21020039DD4ED6E6\r
+:200B5100DD46D7093600210400DD5EFEDD56FF19E5210400395D543E0121704ACD7781EBE4\r
+:200B7100133E0121EF56CD7781EBE1732372210200394D44210400DD5EFEDD56FF195E23FC\r
+:200B9100563E0121304CCD7781DD36D6FFDD36D7FFDD6EFEDD66FFDD75FADD74FBDD6EFE10\r
+:200BB100DD66FF2323E51106003E0121EF56CD77814D44E1712370DD6EFEDD66FF232346A9\r
+:200BD100236668DD75FEDD74FFDD4EFADD46FB712370DD6E0CDD660D3423200134DD34D6F2\r
+:200BF1002003DD34D7C3894A21020039DD4ED6DD46D7093600210400DD4EFEDD46FF09E54F\r
+:200C1100210400395D543E0121704ACD7781EB133E0121EF56CD7781EBE173237221020076\r
+:200C3100394D44210400DD5EFEDD56FF195E23563E0121304CCD7781DD6EFEDD66FF2323E7\r
+:200C5100AF772377DD6EFCDD66FDC33581CDB581FEFFDD5E02DD56033E0121704ACD778171\r
+:200C7100EB133E0121EF56CD7781DD75FEDD74FFDD4E02DD4603EB3E0121304CCD7781DD9F\r
+:200C91005EFEDD56FF3E0021AA47CD7781210300E5011284DD5EFEDD56FF3E0021F17ECDFA\r
+:200CB1007781F17DB42011DD5EFEDD56FF3E00214D4DCD7781C34A4D210300E5011684DDD4\r
+:200CD1005EFEDD56FF3E0021F17ECD7781F17DB42010DD5EFEDD56FF3E0021FA4ECD7781B9\r
+:200CF1001857210300E5011A84DD5EFEDD56FF3E0021F17ECD7781F17DB42010DD5EFEDD66\r
+:200D110056FF3E00211550CD7781182D210300E5011E84DD5EFEDD56FF3E0021F17ECD7776\r
+:200D310081F17DB42010DD5EFEDD56FF3E00214B51CD77811803210000C33581CDB581FCF0\r
+:200D5100FF1109003E0121EF56CD7781DD75FEDD74FF3673210500DD4EFEDD46FF09AF7716\r
+:200D7100237721070009AF772377DD36FC03DD36FD00DD6EFCDD66FDDD4E02DD4603097E54\r
+:200D9100FE202008DD34FC2003DD34FDDD6EFEDD66FF23E521020039E50E20C50E2CDD5E82\r
+:200DB10002DD56033E00214D4ACD7781F1F14D44E1712370210400E5012284DD6EFCDD669C\r
+:200DD100FDDD5E02DD560319EB3E0021F17ECD7781F17DB4200E210000397EC60477300260\r
+:200DF10023341806210000C3F74EDD6EFEDD66FF232323E521020039E50E20C50E2CDD5EC2\r
+:200E110002DD56033E00214D4ACD7781F1F14D44E1712370210300E5012784DD6EFCDD6637\r
+:200E3100FDDD5E02DD560319EB3E0021F17ECD7781F17DB42051210000397EC603773002BD\r
+:200E51002334DD6EFCDD66FDDD4E02DD4603097EFE202008DD34FC2003DD34FD210500DD42\r
+:200E71004EFEDD46FF09E521020039E50E20C50E2CDD5E02DD56033E00214D4ACD7781F178\r
+:200E9100F14D44E1712370210500E5012B84DD6EFCDD66FDDD5E02DD560319EB3E0021F1D1\r
+:200EB1007ECD7781F17DB42037210000397EC6057730022334210700DD4EFEDD46FF09E561\r
+:200ED10021020039E50E20C50E2CDD5E02DD56033E00214D4ACD7781F1F14D44E17123700D\r
+:200EF100DD6EFEDD66FFC33581CDB581FCFF1109003E0121EF56CD7781DD75FEDD74FF3685\r
+:200F110069210500DD4EFEDD46FF09AF772377DD36FC04DD36FD006960232323E5210200C0\r
+:200F310039E50E28C50E2CDD5E02DD56033E00214D4ACD7781F1F14D44E1712370210100A5\r
+:200F5100E5013184DD6EFCDD66FDDD5E02DD560319EB3E0021F17ECD7781F17DB4200E21E3\r
+:200F71000000397EC60177300223341806210000C31250DD6EFEDD66FF23E521020039E5AA\r
+:200F91000E29C50E2CDD5E02DD56033E00214D4ACD7781F1F14D44E1712370210600E50177\r
+:200FB1003384DD6EFCDD66FDDD5E02DD560319EB3E0021F17ECD7781F17DB420392100003C\r
+:200FD100397EC6067730022334210700DD4EFEDD46FF09E521020039E50E29C50E2CDD5E6A\r
+:200FF10002DD56033E00214D4ACD7781F1F14D44E171237018052100001806DD6EFEDD66AD\r
+:20101100FFC33581CDB581FCFF1109003E0121EF56CD7781DD75FEDD74FF3675210500DD77\r
+:201031004EFEDD46FF09AF77237721070009AF772377DD36FC04DD36FD006960232323E53D\r
+:2010510021020039E50E20C50E2CDD5E02DD56033E00214D4ACD7781F1F14D44E17123708B\r
+:20107100210400E5013A84DD6EFCDD66FDDD5E02DD560319EB3E0021F17ECD7781F17DB4E3\r
+:20109100200E210000397EC60477300223341806210000C34851DD6EFEDD66FF23E521021E\r
+:2010B1000039E50E20C50E2CDD5E02DD56033E00214D4ACD7781F1F14D44E171237021032A\r
+:2010D10000E5012784DD6EFCDD66FDDD5E02DD560319EB3E0021F17ECD7781F17DB420514A\r
+:2010F100210000397EC6037730022334DD6EFCDD66FDDD4E02DD4603097EFE202008DD3486\r
+:20111100FC2003DD34FD210500DD4EFEDD46FF09E521020039E50E20C50E2CDD5E02DD5654\r
+:20113100033E00214D4ACD7781F1F14D44E1712370DD6EFEDD66FFC33581CDB581FCFF1175\r
+:2011510009003E0121EF56CD7781DD75FEDD74FF3664210500DD4EFEDD46FF09AF77237797\r
+:2011710021070009AF772377696023AF772377DD36FC04DD36FD00DD6EFEDD66FF232323AA\r
+:20119100E521020039E50E20C50E2CDD5E02DD56033E00214D4ACD7781F1F14D44E17123D5\r
+:2011B10070210300E5012784DD6EFCDD66FDDD5E02DD560319EB3E0021F17ECD7781F17DFA\r
+:2011D100B42051210000397EC6037730022334DD6EFCDD66FDDD4E02DD4603097EFE202099\r
+:2011F10008DD34FC2003DD34FD210500DD4EFEDD46FF09E521020039E50E20C50E2CDD5E90\r
+:2012110002DD56033E00214D4ACD7781F1F14D44E1712370DD6EFEDD66FFC33581CDB5816B\r
+:20123100F8FF1140003E0121EF56CD7781DD75FEDD74FF013F84EB3E0121304CCD778121DA\r
+:201251000B00DD4E02DD4603094D44DD5EFEDD56FF3E01212647CD7781014284DD5EFEDDAB\r
+:2012710056FF3E01212647CD7781210A00DD4E02DD4603093600214784E5210000E501FFE2\r
+:20129100FFDD5EFEDD56FF3E0121B747CD7781F1F1DD75F8DD74F9E5210100E5010400DD6C\r
+:2012B1005EFEDD56FF3E0021437DCD7781F1F1DD6EFEDD66FF7EFE542027DD6EFEDD66FF9C\r
+:2012D100237EFE42201BDD6EFEDD66FF23237EFE4C200EDD6EFEDD66FF2323237EFE202862\r
+:2012F10003C37055DD6EF8DD66F9E5210100E5010400DD5EFEDD56FF3E0021437DCD778193\r
+:20131100F1F1DD6EFEDD66FF4E0600DD71FADD70FBDD6E02DD6603712370DD6E02DD660341\r
+:201331002323E5110C00CD1F813E0121EF56CD77814D44E1712370AFDD77FCDD77FDDD4E8C\r
+:20135100FADD46FBDD6EFCDD66FDCDD381D21554DD6EF8DD66F9E5210100E5010800C5DD6B\r
+:201371006E02DD660323235623666A110C00DD4EFCDD46FDCD1F8119EB3E0021437DC1CD95\r
+:201391007781F1F1DD6E02DD6603232346236668010C00DD5EFCDD56FDCD1F81190108004F\r
+:2013B100093600DD6EF8DD66F9E5210100E5010300C5DD6E02DD660323235623666A110C6A\r
+:2013D10000DD4EFCDD46FDCD1F811901090009EB3E0021437DC1CD7781F1F1DD6EF8DD6624\r
+:2013F100F9E5210100E5010100DD5EFEDD56FF3E0021437DCD7781F1F1DD34FC2003DD3483\r
+:20141100FDC34F53013F84DD5EFEDD56FF3E0121304CCD7781210B00DD4E02DD4603094DB4\r
+:2014310044DD5EFEDD56FF3E01212647CD7781014A84DD5EFEDD56FF3E01212647CD77818E\r
+:20145100210800DD4E02DD460309E5114F84D5110000D501FFFFDD5EFEDD56FF3E0121B7F1\r
+:2014710047CD7781F1F14D44E1712370210A00DD4E02DD4603093601210800094E2346C58B\r
+:20149100210100E5010400DD5EFEDD56FF3E0021437DCD7781F1F1DD6EFEDD66FF7EFE44B3\r
+:2014B1002027DD6EFEDD66FF237EFE41201BDD6EFEDD66FF23237EFE54200EDD6EFEDD66D3\r
+:2014D100FF2323237EFE20281D210A00DD4E02DD4603093600210800095E23563E01216A22\r
+:2014F10059CD77811879210800DD4E02DD4603095E2356D5210100E5010200210400DD5E91\r
+:2015110002DD560319EB3E0021437DCD7781F1F1210800DD4E02DD4603095E2356D5210165\r
+:2015310000E5010200210600DD5E02DD560319EB3E0021437DCD7781F1F1210800DD4E02F8\r
+:20155100DD4603094E2346C5210100E5010200DD5EFEDD56FF3E0021437DCD7781F1F1DDB7\r
+:201571005EF8DD56F93E01216A59CD7781DD5EFEDD56FF3E0121504BCD7781C33581CD6B14\r
+:2015910081210800195E23563E01216A59CD7781DD6E02DD660323235E23563E0121504B0D\r
+:2015B100CD7781DD5E02DD56033E0121504BCD7781AFDD7702DD7703C33581CD6B8113EB96\r
+:2015D1005E23563E00213146CD7781DD6E02DD66032323235E23563E00213146CD778121F9\r
+:2015F1000500DD4E02DD4603095E23563E00213146CD7781210700095E23563E0021314629\r
+:20161100CD778159503E0121504BCD7781AFDD7702DD7703C33581CD6B81210800195E233A\r
+:20163100563E01216A59CD7781DD6E02DD660323235E23563E0121504BCD7781DD5E02DDD1\r
+:2016510056033E0121504BCD7781AFDD7702DD7703C33581CDB581FCFFAFDD77FEDD77FF39\r
+:20167100AFDD77FCDD77FDDD4E04DD4605DD6EFCDD66FDCDD3813035DD6E02DD66032323CC\r
+:2016910046236668010C00DD5EFCDD56FDCD1F8119010A00094E0600210200397E817723AB\r
+:2016B1007E8877DD34FC2003DD34FD18BA210200397EC6027730022334DD6EFEDD66FFC39C\r
+:2016D1003581CD6B811A4F131A47DD5E02DD56033E00216556CD7781C33581CDB581FEFFE2\r
+:2016F100AFDD77FEDD77FFDD6E02DD66034E2346DD6EFEDD66FFCDD3813040DD4E04DD46CD\r
+:2017110005C5DD6E02DD660323235623666A110C00DD4EFEDD46FFCD1F8119EB3E0121A7EC\r
+:201731004AC1CD77817DB42008DD6EFEDD66FF180DDD34FE2003DD34FF18AC21FFFFC335A2\r
+:2017510081CDB581DEFF110A003E0121EF56CD7781DD75DEDD74DF1114003E0121EF56CD9B\r
+:201771007781DD75E0DD74E1AFDD77FADD77FB3E0021CE6BCD7781DD75FCDD74FDDD6E026A\r
+:20179100DD660323232346236668010400094E2346210B00DD5EE0DD56E119EB3E0121309E\r
+:2017B1004CCD7781DD5EE0DD56E13E00212E52CD7781210400DD4EDEDD46DF09AF7723773B\r
+:2017D10021060009AF772377015384DD6E02DD6603235623666A110400195E23563E0121CC\r
+:2017F100A74ACD77817DB4C24059DD6EE0DD66E146236668E5DD6EDEDD66DFC1712370DD3E\r
+:201811006EDEDD66DF4623666829EB3E0121EF56CD7781DD75E6DD74E7DD6EDEDD66DF4693\r
+:2018310023666829EB3E0121EF56CD7781DD75E8DD74E9DD6EDEDD66DF2323E5DD6EDEDD38\r
+:2018510066DF4E2346110C00CD1F813E0121EF56CD77814D44E1712370AFDD77F0DD77F1D9\r
+:20187100DD6EDEDD66DF4E2346DD6EF0DD66F1CDD381D23D59DD6EE0DD66E12323462366F9\r
+:2018910068010C00DD5EF0DD56F1CD1F8119DD75E2DD74E3DD6EF0DD66F129DD4EE6DD46B9\r
+:2018B100E709E5DD4EF0DD46F1DD5EE0DD56E13E00216556CD77814D44E1712370DD6EF054\r
+:2018D100DD66F129DD4EE8DD46E909E5210A00DD4EE2DD46E3094E0600E1712370210C00E0\r
+:2018F100E5DD6EE0DD66E1232346236668010C00DD5EF0DD56F1CD1F81194D44C5DD6EDEC5\r
+:20191100DD66DF23235623666A110C00DD4EF0DD46F1CD1F8119EB3E01213242C1CD7781EE\r
+:20193100F1DD34F02003DD34F1C37158C3CF5ADD6E02DD6603235E23563E0021D346CD77BE\r
+:2019510081E5DD6EDEDD66DFC1712370DD6EDEDD66DF4623666829EB3E0121EF56CD778100\r
+:20197100DD75E6DD74E7DD6EDEDD66DF4623666829EB3E0121EF56CD7781DD75E8DD74E972\r
+:20199100DD6EDEDD66DF2323E5DD6EDEDD66DF4E2346110C00CD1F813E0121EF56CD7781CA\r
+:2019B1004D44E1712370DD6E02DD66032346236668DD75E4DD74E5AFDD77F0DD77F1DD6EC4\r
+:2019D100DEDD66DF4E2346DD6EF0DD66F1CDD381D2CF5A210400DD4EE4DD46E5094E2346B8\r
+:2019F100DD5EE0DD56E13E0021EC56CD7781DD75FEDD74FFDD4EE0DD46E103030A6F030A06\r
+:201A110067010C00DD5EFEDD56FFCD1F8119DD75E2DD74E3DD6EF0DD66F129DD4EE6DD461C\r
+:201A3100E709E5DD4EFEDD46FFDD5EE0DD56E13E00216556CD77814D44E1712370DD6EF0B6\r
+:201A5100DD66F129DD4EE8DD46E909E5210A00DD4EE2DD46E3094E0600E1712370210C005E\r
+:201A7100E5DD6EE0DD66E1232346236668010C00DD5EFEDD56FFCD1F81194D44C5DD6EDE27\r
+:201A9100DD66DF23235623666A110C00DD4EF0DD46F1CD1F8119EB3E01213242C1CD77816D\r
+:201AB100F1DD6EE4DD66E5232346236668DD75E4DD74E5DD34F02003DD34F1C3CF59DD5E98\r
+:201AD100E0DD56E13E0021D356CD7781DD75F6DD74F7EB3E0121EF56CD7781DD75EADD7442\r
+:201AF100EBDD5EDEDD56DF3E0021D356CD7781DD75F4DD74F5EB3E0121EF56CD7781DD753F\r
+:201B1100ECDD74EDDD6EE0DD66E1E5DD6EFCDD66FDC1712370DD6EFCDD66FD2323AF7723F4\r
+:201B310077210400DD4EFCDD46FD09DD4EEADD46EB712370210800DD4EDEDD46DF09E5015E\r
+:201B51005E84C5010000C501FFFF1157843E0121B747CD7781F1F14D44E17123702105007B\r
+:201B7100DD4E02DD4603097E23B6282B211C00394D44210500DD5E02DD5603195623666A4C\r
+:201B9100110400195E23563E00212A6FCD7781DD75F8DD74F91817211C00394D4411000097\r
+:201BB1003E00212A6FCD7781DD75F8DD74F9AFDD77F0DD77F1210400DD4EE0DD46E1094E00\r
+:201BD1002346DD6EF0DD66F1CDD381D2175D210800DD4EE0DD46E1094E2346C5210100E5F1\r
+:201BF100DD4EF6DD46F7DD5EEADD56EB3E0021437DCD7781F1F1DD6EEADD66EB4605C20C14\r
+:201C11005DDD6EECDD66ED3601DD6EECDD66ED233600DD36EE02DD36EF00AFDD77F2DD77AA\r
+:201C3100F3DD6EDEDD66DF4E2346DD6EF2DD66F3CDD381306ADD6EF2DD66F329DD4EE8DDE4\r
+:201C510046E9095E2356D5DD6EF2DD66F329DD5EE6DD56E7195623666ADD5EEADD56EB19FA\r
+:201C71004D44DD6EEEDD66EFDD5EECDD56ED19EB3E01213242CD7781F1DD6EF2DD66F329E6\r
+:201C9100DD4EE8DD46E9094E2346211000397E8177237E8877DD34F22003DD34F31882DD33\r
+:201CB1004EFCDD46FDDD5EF8DD56F93E00218375CD7781212400DD4EF8DD46F9093E01AEB4\r
+:201CD10023B62037210800DD4EDEDD46DF095E2356D5210100E5DD4EF4DD46F5DD5EECDD98\r
+:201CF10056ED3E01210A45CD7781F1F1210400DD4EDEDD46DF093423200134DD34F0200331\r
+:201D1100DD34F1C3C65BDD5EEADD56EB3E0121504BCD7781DD5EE6DD56E73E0121504BCDC6\r
+:201D31007781DD5EE8DD56E93E0121504BCD7781DD5EFCDD56FD3E0121504BCD7781DD5E39\r
+:201D5100F8DD56F93E00214675CD7781DD5EE0DD56E13E00218F55CD7781210800DD4EDE06\r
+:201D7100DD46DF095E23563E01216A59CD778121080009E5114F84D5110000D501FFFF11C2\r
+:201D910057843E0121B747CD7781F1F14D44E1712370DD6EDEDD66DFC33581CDB581E8FF2E\r
+:201DB1001114003E0121EF56CD7781DD75E8DD74E9DD4E02DD46030303030A6F030A6701C5\r
+:201DD1000400094E2346210B00DD5EE8DD56E919EB3E0121304CCD7781DD5EE8DD56E93EA1\r
+:201DF10000212E52CD7781DD5EE8DD56E93E0021D356CD7781DD75FCDD74FDEB3E0121EF0A\r
+:201E110056CD7781DD75EADD74EBAFDD77F6DD77F7DD4EFCDD46FDDD6EF6DD66F7CDD381F7\r
+:201E31003019DD6EF6DD66F7DD4EEADD46EB093600DD34F62003DD34F718D6DD5EFCDD56E1\r
+:201E5100FD3E0121EF56CD7781DD75ECDD74EDDD6EEADD66EB3601233600DD6E02DD660308\r
+:201E7100235E23563E0021D346CD7781DD75F4DD74F5DD6E02DD66032346236668DD75EE61\r
+:201E9100DD74EF210700DD4E02DD46030946236668DD75F0DD74F1AFDD77F6DD77F7DD4E43\r
+:201EB100F4DD46F5DD6EF6DD66F7CDD381D2CB60210400DD4EEEDD46EF094E2346DD5EE839\r
+:201ED100DD56E93E0021EC56CD7781DD75FEDD74FFDD4EE8DD46E903030A6F030A67010CB0\r
+:201EF10000DD5EFEDD56FFCD1F8119DD75F2DD74F3DD4EFEDD46FFDD5EE8DD56E93E00216F\r
+:201F11006556CD7781DD75F8DD74F9210A00DD4EF2DD46F3094E0600DD71FADD70FB21042C\r
+:201F310000DD4EF0DD46F1097E23666F7EFE27C21C60210400DD4EF0DD46F1095E23563E8F\r
+:201F51000121704ACD7781E5210400094E2346E1092B3600210900DD4EF2DD46F3097EFED8\r
+:201F710053202EDD6EFADD66FBE5210400DD4EF0DD46F1094E234603DD6EF8DD66F9DD5E76\r
+:201F9100EADD56EB19EB3E01213242CD7781F11877FE492073210A00DD4EF2DD46F3094684\r
+:201FB1000505202CDD6EF8DD66F9DD4EEADD46EB09E5210400DD4EF0DD46F1095E235613E3\r
+:201FD1003E0121574CCD77814D44E17123701838210A00DD4EF2DD46F3097EFE042029DD55\r
+:201FF1006EF8DD66F9DD4EEADD46EB09E5210400DD4EF0DD46F1095E2356133E01218D5594\r
+:20201100CD7781EBE1732372C39C60210900DD4EF2DD46F3097EFE492071210A00DD4EF253\r
+:20203100DD46F309460505202BDD6EF8DD66F9DD4EEADD46EB09E5210400DD4EF0DD46F1F1\r
+:20205100095E23563E0121574CCD77814D44E17123701837210A00DD4EF2DD46F3097EFE1F\r
+:20207100042028DD6EF8DD66F9DD4EEADD46EB09E5210400DD4EF0DD46F1095E23563E0100\r
+:20209100218D55CD7781EBE1732372DD6EEEDD66EF232346236668DD75EEDD74EFDD6EF0F0\r
+:2020B100DD66F1232346236668DD75F0DD74F1DD34F62003DD34F7C3AF5E210600DD4EE89E\r
+:2020D100DD46E9097E23B6207E210000E5210000E5210400E5210800DD4EE8DD46E9095E20\r
+:2020F10023563E0121B442CD7781F1F1F1210400095623666A23E5DD6EECDD66EDD173231B\r
+:2021110072210800095E2356D5210100E5010200DD5EECDD56ED3E01210A45CD7781F1F1B7\r
+:20213100210200E5210000E5210000E5210800DD4EE8DD46E9095E23563E0121B442CD77B8\r
+:2021510081F1F1F1C34162210000E5210000E5210600E5210800DD4EE8DD46E9095E235674\r
+:202171003E0121B442CD7781F1F1F1210600095623666A2BE5DD6EECDD66EDD17323722176\r
+:202191000800095E2356D5210100E5010200DD5EECDD56ED3E01210A45CD7781F1F12100A9\r
+:2021B10000E5210000E5210A00E5210800DD4EE8DD46E9095E23563E0121B442CD7781F1DF\r
+:2021D100F1F1DD6EECDD66ED36FF2336FFDD6EECDD66EDAFB6282A210800DD4EE8DD46E9B2\r
+:2021F100094E2346C5210100E5DD4EFCDD46FDDD5EECDD56ED3E0021437DCD7781F1F118D6\r
+:20221100CC210100E5DD4EFCDD46FDA7210000ED427C079F4F41C5E5210800DD4EE8DD46E1\r
+:20223100E9095E23563E0121B442CD7781F1F1F1210800DD4EE8DD46E9095E2356D52101B7\r
+:2022510000E5DD4EFCDD46FDDD5EEADD56EB3E01210A45CD7781F1F1DD5EEADD56EB3E0126\r
+:2022710021504BCD7781DD5EECDD56ED3E0121504BCD7781DD5EE8DD56E93E00218F55CD76\r
+:202291007781210000C33581CDB581F2FF1114003E0121EF56CD7781DD75F2DD74F3DD4E65\r
+:2022B10002DD46030303030A6F030A67010400094E2346210B00DD5EF2DD56F319EB3E0168\r
+:2022D10021304CCD7781DD5EF2DD56F33E00212E52CD7781DD5EF2DD56F33E0021D356CDEC\r
+:2022F1007781DD75F8DD74F9EB3E0121EF56CD7781DD75F4DD74F5AFDD77F6DD77F72105F6\r
+:2023110000DD4E02DD4603097E23B6282B210400394D44210500DD5E02DD56031956236626\r
+:202331006A110400195E23563E00212A6FCD7781DD75FCDD74FD1817210400394D44110095\r
+:20235100003E00212A6FCD7781DD75FCDD74FD3E0021CE6BCD7781DD75FEDD74FFDD4EF2F9\r
+:20237100DD46F3712370210400DD4EFEDD46FF09DD5EF4DD56F573237269602323AF772302\r
+:2023910077AFDD77FADD77FBAFDD77F6DD77F7210400DD4EF2DD46F3094E2346DD6EF6DDEF\r
+:2023B10066F7CDD381D2B064210800DD4EF2DD46F3094E2346C5210100E5DD4EF8DD46F981\r
+:2023D100210400DD5EFEDD56FF195E23563E0021437DCD7781F1F1DD6EF4DD66F54605C222\r
+:2023F100A564DD4EFEDD46FFDD5EFCDD56FD3E00218375CD7781212400DD4EFCDD46FD0960\r
+:202411003E01AE23B6C2A564DD6EF4DD66F53600210100E5DD4EF8DD46F9A7210000ED4230\r
+:202431007C079F4F41C5E5210800DD4EF2DD46F3095E23563E0121B442CD7781F1F1F121E4\r
+:202451000800095E2356D5210100E5DD4EF8DD46F9210400DD5EFEDD56FF195E23563E01A9\r
+:20247100210A45CD7781F1F1210100E5210000E5210000E5210800DD4EF2DD46F3095E233B\r
+:20249100563E0121B442CD7781F1F1F1DD34FA2003DD34FBDD34F62003DD34F7C3A063DDD8\r
+:2024B1005EFEDD56FF3E0021926BCD7781210000E5210000E5210600E5210800DD4EF2DD21\r
+:2024D10046F3095E23563E0121B442CD7781F1F1F1210600095E2356210800397E837723E0\r
+:2024F1007E8A77210800095E2356D5210100E5010200210C00395D543E01210A45CD7781D9\r
+:20251100F1F1DD5EFCDD56FD3E00214675CD7781DD5EF2DD56F33E00218F55CD7781210006\r
+:2025310000C33581CDB581E6FF1114003E0121EF56CD7781DD75E6DD74E7DD4E02DD4603D7\r
+:202551000303030A6F030A67010400094E2346210B00DD5EE6DD56E719EB3E0121304CCD9B\r
+:202571007781DD5EE6DD56E73E00212E52CD7781DD5EE6DD56E73E0021D356CD7781DD7599\r
+:20259100F2DD74F3EB3E0121EF56CD7781DD75E8DD74E9AFDD77EADD77EB210500DD4E02AC\r
+:2025B100DD4603097E23B6282B210400394D44210500DD5E02DD5603195623666A11040032\r
+:2025D100195E23563E00212A6FCD7781DD75F6DD74F71817210400394D441100003E00211F\r
+:2025F1002A6FCD7781DD75F6DD74F73E0021CE6BCD7781DD75FADD74FBDD4EE6DD46E7715B\r
+:202611002370210400DD4EFADD46FB09DD5EE8DD56E973237269602323AF772377DD6E0242\r
+:20263100DD6603235E23563E0021D346CD7781DD75F4DD74F529EB3E0121EF56CD7781DD25\r
+:2026510075F8DD74F9DD6E02DD66032346236668DD75FCDD74FDAFDD77ECDD77EDDD4EF4DA\r
+:20267100DD46F5DD6EECDD66EDCDD381306E0E00C50E3D210400DD5EFCDD56FD195E235671\r
+:202691003E0021E149CD7781F1DD75FEDD74FFAFDD77F0DD77F1DD6EECDD66ED29DD4EF85F\r
+:2026B100DD46F909E5210C00394D44DD5EFEDD56FF133E00212A6FCD77814D44E171237057\r
+:2026D100DD6EFCDD66FD232346236668DD75FCDD74FDDD34EC2003DD34ED1881AFDD77EAA5\r
+:2026F100DD77EB210400DD4EE6DD46E7094E2346DD6EEADD66EBCDD381D29369210800DD32\r
+:202711004EE6DD46E7094E2346C5210100E5DD4EF2DD46F3210400DD5EFADD56FB195E2389\r
+:20273100563E0021437DCD7781F1F1DD6EE8DD66E94605C28869DD4EFADD46FBDD5EF6DDBE\r
+:2027510056F73E00218375CD7781212400DD4EF6DD46F7093E01AE23B6C28869210100E5F6\r
+:20277100DD4EF2DD46F3A7210000ED427C079F4F41C5E5210800DD4EE6DD46E7095E23569E\r
+:202791003E0121B442CD7781F1F1F1AFDD77ECDD77EDDD4EF4DD46F5DD6EECDD66EDCDD3CC\r
+:2027B100813029DD4EFADD46FBDD6EECDD66ED29DD5EF8DD56F9195E23563E00218375CDE8\r
+:2027D1007781DD34EC2003DD34ED18C6DD6E02DD66032346236668DD75FCDD74FDAFDD7768\r
+:2027F100ECDD77EDDD4EF4DD46F5DD6EECDD66EDCDD381D23569210400DD4EFCDD46FD09F7\r
+:202811004E2346DD5EE6DD56E73E0021EC56CD7781DD75EEDD74EF4D44DD5EE6DD56E73EC5\r
+:2028310000216556CD7781DD75F0DD74F1DD6EE6DD66E7232346236668010C00DD5EEEDD77\r
+:2028510056EFCD1F8119010900097EFE53205ADD6EE6DD66E7232346236668010C00DD5E20\r
+:20287100EEDD56EFCD1F8119010A00094E0600C5DD6EECDD66ED29DD4EF8DD46F909462343\r
+:202891006668012600094D44210400DD5EFADD56FB195623666ADD5EF0DD56F119EB3E011C\r
+:2028B100213242CD7781F1185EFE49205ADD6EE6DD66E7232346236668010C00DD5EEEDD9A\r
+:2028D10056EFCD1F8119010A00094E0600C5DD6EECDD66ED29DD4EF8DD46F90946236668E0\r
+:2028F100012400094D44210400DD5EFADD56FB195623666ADD5EF0DD56F119EB3E01213239\r
+:2029110042CD7781F11800DD6EFCDD66FD232346236668DD75FCDD74FDDD34EC2003DD34C5\r
+:20293100EDC3F567210800DD4EE6DD46E7095E2356D5210100E5DD4EF2DD46F3210400DD45\r
+:202951005EFADD56FB195E23563E01210A45CD7781F1F1210100E5210000E5210000E52166\r
+:202971000800DD4EE6DD46E7095E23563E0121B442CD7781F1F1F1DD34EA2003DD34EBC378\r
+:20299100F466DD5EFADD56FB3E0021926BCD7781AFDD77ECDD77EDDD4EF4DD46F5DD6EECAA\r
+:2029B100DD66EDCDD3813023DD6EECDD66ED29DD4EF8DD46F9095E23563E00214675CD7755\r
+:2029D10081DD34EC2003DD34ED18CCDD5EF8DD56F93E0121504BCD7781DD5EE6DD56E73ECB\r
+:2029F10000218F55CD7781210000C33581CDB581FCFFAFDD77FEDD77FFDD5E02DD56033E5F\r
+:202A110000215E4CCD7781DD75FCDD74FD7DB42006210000C3AE6ADD6EFCDD66FD5ECD4034\r
+:202A3100810400646973759A6A846A426A586A6E6ADD5EFCDD56FD3E00215257CD7781DD02\r
+:202A510075FEDD74FF1842DD5EFCDD56FD3E0021AC5DCD7781DD75FEDD74FF182CDD5EFC99\r
+:202A7100DD56FD3E00219962CD7781DD75FEDD74FF1816DD5EFCDD56FD3E00213565CD7784\r
+:202A910081DD75FEDD74FF1800DD5EFCDD56FD3E0021CC55CD7781DD6EFEDD66FFC335813C\r
+:202AB100CDB581FEFFDD5E02DD56033E0021D356CD7781DD75FEDD74FF210400097E23B620\r
+:202AD100201F210400DD4E04DD460509E5DD5EFEDD56FF3E0121EF56CD77814D44E1712361\r
+:202AF10070210400DD4E02DD4603094E2346210600DD5E02DD5603195623666ACDD38138C8\r
+:202B11002CDD6E04DD6605232336FF2336FF210400DD4E04DD4605095E23563E0121504BB7\r
+:202B3100CD778121040009AF7723771851DD6E04DD66052323E5210600DD4E02DD46030923\r
+:202B51005E235613722B731BE1732372DD6E04DD6605712370210800094E2346C5210100FB\r
+:202B7100E5DD4EFEDD46FF210400DD5E04DD5605195E23563E0021437DCD7781F1F1C335CA\r
+:202B910081CD6B817BB22832210400DD4E02DD4603097E23B62815210400DD4E02DD4603D6\r
+:202BB100095E23563E0121504BCD7781DD5E02DD56033E0121504BCD7781C33581CDB581B5\r
+:202BD100FEFF1106003E0121EF56CD7781DD75FEDD74FF01040009AF772377DD6EFEDD666C\r
+:202BF100FFAF772377DD6EFEDD66FF232336FF2336FFDD6EFEDD66FFC33581CDB581FAFFA7\r
+:202C1100210400DD5E02DD5603197E23666FDD75FEDD74FFEB5E23563E00216556CD77813B\r
+:202C3100DD75FADD74FBAFDD77FCDD77FDDD6E02DD660346236668232346236668010C0047\r
+:202C5100DD5E04DD5605CD1F8119010900097EFE532020DD6EFADD66FBDD4EFEDD46FF096D\r
+:202C71004D44DD5E0ADD560B3E0121304CCD7781C3266DFE49C2266DDD6E02DD66034623A0\r
+:202C91006668232346236668010C00DD5E04DD5605CD1F8119010A00094605052025210AFA\r
+:202CB10000E5DD4E0ADD460BDD6EFADD66FBDD5EFEDD56FF195E23563E0121014ECD778169\r
+:202CD100F11850DD6E02DD660346236668232346236668010C00DD5E04DD5605CD1F811939\r
+:202CF100010A00097EFE04202A210A00E5DD6E0ADD660BE5DD6EFADD66FBDD4EFEDD46FF7F\r
+:202D1100095E23567A079F4F413E0121A355CD7781F1F11800C33581CDB581FCFF2104005F\r
+:202D3100DD5E02DD5603197E23666FDD75FEDD74FFEB5E23563E00216556CD7781DD75FCF1\r
+:202D5100DD74FDDD6E02DD660346236668232346236668010C00DD5E04DD5605CD1F8119C3\r
+:202D7100010900097EFE532018DD6EFCDD66FDDD4EFEDD46FF09EB3E0121574CCD77811882\r
+:202D91001AFE492013DD6EFCDD66FDDD4EFEDD46FF09462366681803210000C33581CDB545\r
+:202DB10081FCFF210400DD5E02DD5603197E23666FDD75FEDD74FFEB5E23563E00216556E3\r
+:202DD100CD7781DD75FCDD74FDDD6E02DD660346236668232346236668010C00DD5E04DD11\r
+:202DF1005605CD1F8119010900097EFE532018DD6EFCDD66FDDD4EFEDD46FF09EB3E0121A1\r
+:202E11008D55CD77811853FE49204CDD6E02DD660346236668232346236668010C00DD5E4D\r
+:202E310004DD5605CD1F8119010A00094605052013DD6EFCDD66FDDD4EFEDD46FF094623E4\r
+:202E510066681816DD6EFCDD66FDDD4EFEDD46FF09462366681803210000C33581CD6B81E5\r
+:202E7100CD40811000002628292A2B2D2F3B3C3D3E5B5D5E7CC46EBC6EAC6EB86EB86EB87D\r
+:202E91006EB86EB86EC06EB06EB46EB46EB06EC06EA86EBC6EC06E2E01181A2E0218162E30\r
+:202EB1000318122E04180E2E05180A2E0618062E3F18022E00C33581CDB581FEFF114C004A\r
+:202ED1003E0121EF56CD7781DD75FEDD74FF2323233600214600DD5EFEDD56FF19AF772304\r
+:202EF1007721480019AF772377EB23233600214A00DD5EFEDD56FF19DD4E02DD46037123CB\r
+:202F110070DD4604EB70212400DD4EFEDD46FF09AF7723776960C33581CDB581B2FFAFDDD3\r
+:202F310077B6DD77B7AFDD77FCDD77FDDD7E02DDB603202A0E011100003E0021C96ECD77C1\r
+:202F510081DD75B2DD74B3010400093631210500DD4EB2DD46B30936006960C34375AFDD7A\r
+:202F710077FADD77FB014080DD6EFADD66FB3E80AC67ED42301621060039DD4EFADD46FB53\r
+:202F910009360003DD71FADD70FB18D90E031100003E0021C96ECD7781DD75B2DD74B3DDFB\r
+:202FB10075B4DD74B5AFDD77B6DD77B7DD6E04DD660546236668DD4E02DD4603095E3E0047\r
+:202FD100216E6ECD77812600DD75F8DD74F97DB42021DD6E04DD660546236668DD4E02DD1A\r
+:202FF1004603094621060039DD5EFCDD56FD1970C3CE743E01DDAEF8DDB6F92066DD6E04B0\r
+:20301100DD660546236668DD4E02DD4603097EFE292008DD36F83FDD36F900DD6E04DD660F\r
+:203031000546236668DD4E02DD4603097EFE28202FAFDD77FCDD77FDDD6E04DD66053423B6\r
+:20305100200134DD4E04DD4605DD5E02DD56033E00212A6FCD7781DD75B6DD74B7C3BD6F84\r
+:20307100C3CE7421060039DD4EFCDD46FD093600214600DD4EB4DD46B5097E23B6207DDD5C\r
+:203091007EB6DDB6B72044214600DD4EB4DD46B509E50E01DD5EB4DD56B53E0021C96ECDE8\r
+:2030B10077814D44E1712370210600394D44214600DD5EB4DD56B5195623666A11040019D2\r
+:2030D100EB3E0121304CCD77811813214600DD4EB4DD46B509DD4EB6DD46B7712370DD6EF7\r
+:2030F10004DD660546236668DD4E02DD46030946DD6EB4DD66B5232370C3C674DD6EB4DD14\r
+:2031110066B523235E3E00216E6ECD77814D0600DD6EF8DD66F9CDD381D20272214800DD60\r
+:203131004EB4DD46B509E50E03DD5EB4DD56B53E0021C96ECD77814D44E1712370DD7EB6EC\r
+:20315100DDB6B7205B214800DD4EB4DD46B5095623666A11460019E50E01214800DD5EB46B\r
+:20317100DD56B5195E23563E0021C96ECD77814D44E1712370210600394D44214800DD5E00\r
+:20319100B4DD56B5195623666A114600195623666A11040019EB3E0121304CCD7781181B7A\r
+:2031B100214800DD4EB4DD46B5094623666801460009DD4EB6DD46B7712370214800DD4EFB\r
+:2031D100B4DD46B5095623666A2323E5DD6E04DD66055623666ADD5E02DD56031956E172C0\r
+:2031F100214800095623666ADD75B4DD74B5C3C6743E3FDDAEF8DDB6F92062DD7EB6DDB648\r
+:20321100B72044214800DD4EB4DD46B509E50E01DD5EB4DD56B53E0021C96ECD77814D44A2\r
+:20323100E1712370210600394D44214800DD5EB4DD56B5195623666A11040019EB3E01218C\r
+:20325100304CCD77811813214800DD4EB4DD46B509DD4EB6DD46B7712370C3C674DD6EB40D\r
+:20327100DD66B523235E3E00216E6ECD77814D0600DD6EF8DD66F9CDD381DAC674DD7EB689\r
+:20329100DDB6B72044214800DD4EB4DD46B509E50E01DD5EB4DD56B53E0021C96ECD778120\r
+:2032B1004D44E1712370210600394D44214800DD5EB4DD56B5195623666A11040019EB3E9D\r
+:2032D1000121304CCD77811813214800DD4EB4DD46B509DD4EB6DD46B7712370DD6EB4DD8B\r
+:2032F10066B523235E3E00216E6ECD77814D0600DD6EF8DD66F9CDD3813825214A00DD4E18\r
+:20331100B4DD46B5097E23B62816214A00DD4EB4DD46B5095623666ADD75B4DD74B518BC1E\r
+:20333100214A00DD4EB4DD46B5097E23B62069DD6EB4DD66B523235E3E00216E6ECD7781D6\r
+:203351004D0600DD6EF8DD66F9CDD381384A0E031100003E0021C96ECD7781DD75B2DD7415\r
+:20337100B301460009DD4EB4DD46B5712370DD6E04DD66055623666ADD5E02DD56031956BC\r
+:20339100DD6EB2DD66B3232372DD6EB2DD66B3DD75B4DD74B5C3C674214A00DD4EB4DD4608\r
+:2033B100B5097E23B6C24974DD6EB4DD66B523235E3E00216E6ECD77814D0600DD6EF8DD5A\r
+:2033D10066F9CDD38130710E03DD5EB4DD56B53E0021C96ECD7781DD75FEDD74FF01460091\r
+:2033F10009E5214800DD4EB4DD46B5095E2356E1732372DD6E04DD66055623666ADD5E02C8\r
+:20341100DD56031956DD6EFEDD66FF232372214600DD5EFEDD56FF197E23666F014A0009FE\r
+:20343100732372214800DD4EB4DD46B509732372DD73B4DD72B5187D214A00DD4EB4DD4638\r
+:20345100B5095623666ADD75FEDD74FF11480019E50E03DD5EFEDD56FF3E0021C96ECD7707\r
+:20347100814D44E1712370214800DD4EFEDD46FF095623666A11460019DD5EB4DD56B57384\r
+:203491002372214800097E23666F2323E5DD6E04DD66057E23666FDD4E02DD46030946E1E3\r
+:2034B10070214800DD4EFEDD46FF0946236668DD75B4DD74B5DD36FCFFDD36FDFFDD34FC61\r
+:2034D1002003DD34FDDD6E04DD66053423200134013F80DD6EF8DD66F93E80AC67ED42DA4E\r
+:2034F100B66F214800DD4EB2DD46B3097E23B6203BDD6EB2DD66B37EFE032030DD6EB2DD23\r
+:2035110066B3DD75B4DD74B5214600DD4EB2DD46B3095623666ADD75B2DD74B3DD5EB4DD35\r
+:2035310056B53E0121504BCD778118B6DD6EB2DD66B3C33581CD6B811AFE032024214600F6\r
+:20355100DD4E02DD4603095E23563E00214675CD7781214800095E23563E00214675CD77A1\r
+:2035710081DD5E02DD56033E0121504BCD7781C33581CDB581FAFFDD6E02DD66037EFE03FF\r
+:20359100C2867BDD4E04DD4605214600DD5E02DD5603195E23563E00218375CD7781DD4EEF\r
+:2035B10004DD4605214800DD5E02DD5603195E23563E00218375CD7781DD6E02DD66032330\r
+:2035D100235E3E00216E6ECD77817DFE05D20377214600DD4E02DD4603094623666823462A\r
+:2035F10005C20077214800DD4E02DD46030946236668234605C20077DD6E02DD66032336ED\r
+:2036110001DD6E02DD660323235ECD408104002A2B2D2FED76BE765F762E768F76214800A0\r
+:20363100DD4E02DD4603095623666A112400195623666AE521460009462366680124000983\r
+:203651004E2346E109DD75FADD74FBC3ED76214800DD4E02DD4603095623666A112400199E\r
+:203671005E235621460009462366680124000946236668A7ED52DD75FADD74FB185E2146FB\r
+:2036910000DD4E02DD4603095623666A112400195E23562148000946236668012400094E2A\r
+:2036B1002346CD1F81DD73FADD72FB182F214600DD4E02DD4603095623666A112400195E90\r
+:2036D10023562148000946236668012400094E2346CD0082DD73FADD72FB1800212400DDB5\r
+:2036F1004E02DD460309DD4EFADD46FB712370C3837B214600DD4E02DD4603094623666838\r
+:20371100237EFE03CA1C79214800DD4E02DD46030946236668237EFE03CA1C79DD6E02DD70\r
+:203731006603233604DD6E02DD660323235ECD40810700263C3D3E5B5D7C1C79E378677806\r
+:203751002378DF775B779B77AA78212400DD4E02DD460309E5214600095623666A112400ED\r
+:20377100195623666AE52148000946236668012400094E2346E1A7ED42200511010018035A\r
+:20379100110000E1732372C31C79212400DD4E02DD460309E5214800095623666A11240050\r
+:2037B100194E2346214600DD5E02DD5603195623666A112400195623666ACDD381300511EE\r
+:2037D10001001803110000E1732372C31C79212400DD4E02DD460309E52146000956236695\r
+:2037F1006A112400194E2346214800DD5E02DD5603195623666A112400195623666ACDD3D4\r
+:203811008130051101001803110000E1732372C31C79212400DD4E02DD460309E521460075\r
+:20383100095623666A112400194E2346214800DD5E02DD5603195623666A1124001956231B\r
+:20385100666ACDD38138051101001803110000E1732372C31C79212400DD4E02DD46030909\r
+:20387100E5214800095623666A112400194E2346214600DD5E02DD5603195623666A112421\r
+:2038910000195623666ACDD38138051101001803110000E17323721872212400DD4E02DD57\r
+:2038B100460309E5214600095623666A11240019E5214800094623666801240009C1E569EE\r
+:2038D100604E2346E179A65F7823A657E17323721839212400DD4E02DD460309E5214600A2\r
+:2038F100095623666A11240019E5214800094623666801240009C1E569604E2346E179B625\r
+:203911005F7823B657E17323721800214600DD4E02DD46030946236668237EFE03C2CD7AE9\r
+:20393100214800DD4E02DD46030946236668237EFE03C2CD7A214800DD4E02DD46030956B4\r
+:2039510023666A112600194D44214600DD5E02DD5603197E23666F11260019EB3E0121A7D7\r
+:203971004ACD7781DD75FADD74FBDD6E02DD660323235ECD408106002B3C3D3E5B5DCD7AE3\r
+:203991004E7A1E7AED799D79C679747ADD6E02DD6603233604212400DD4E02DD460309DD9F\r
+:2039B1007EFADDB6FB20051101001803110000732372C3CD7ADD6E02DD6603233604212446\r
+:2039D10000DD4E02DD460309DDCBFB7E28051101001803110000732372C3CD7ADD6E02DDB2\r
+:2039F1006603233604212400DD4E02DD460309E5DD4EFADD46FB210000CDD381300511019E\r
+:203A1100001803110000E1732372C3CD7ADD6E02DD6603233604212400DD4E02DD460309E5\r
+:203A3100E5DD4EFADD46FB210000CDD38138051101001803110000E1732372187FDD6E02C3\r
+:203A5100DD6603233604212400DD4E02DD460309DDCBFB7E200511010018031100007323F7\r
+:203A7100721859DD6E02DD6603233603214600DD4E02DD4603095623666A112600194D4476\r
+:203A9100212600DD5E02DD560319EB3E0121304CCD7781214800DD4E02DD46030956236612\r
+:203AB1006A112600194D44212600DD5E02DD560319EB3E01212647CD77811800214600DDFE\r
+:203AD1004E02DD46030946236668237EFE04C2837B214800DD4E02DD46030946236668239D\r
+:203AF1007EFE04C2837BDD6E02DD6603233604DD6E02DD660323237EFE262039212400DD8F\r
+:203B11004E02DD460309E5214600095623666A11240019E52148000946236668012400096D\r
+:203B3100C1E569604E2346E179A65F7823A657E1732372183DFE7C2039212400DD4E02DDF7\r
+:203B5100460309E5214600095623666A11240019E5214800094623666801240009C1E5694B\r
+:203B7100604E2346E179B65F7823B657E17323721800C3407DDD36FEFFDD36FFFFDD7E0405\r
+:203B9100DDB605287ADD6E04DD66057E23666F46236668DD75FCDD74FDAFDD77FADD77FBAE\r
+:203BB100DD4EFCDD46FDDD6EFADD66FBCDD381304E210400DD4E02DD4603094D44C5DD6E69\r
+:203BD10004DD66055623666A23235623666A110C00DD4EFADD46FBCD1F8119EB3E0121A7D8\r
+:203BF1004AC1CD77817DB4200CDD6EFADD66FBDD75FEDD74FFDD34FA2003DD34FB18A1DD94\r
+:203C1100CBFF7E2008DD7E04DDB605207D210400DD4E02DD4603097EFE272045DD6E02DDDC\r
+:203C31006603233603210400DD4E02DD4603094D4403212600DD5E02DD560319EB3E01217B\r
+:203C5100304CCD7781212600DD4E02DD460309EB3E0121704ACD778109012500093600181F\r
+:203C710026DD6E02DD6603233601212400DD4E02DD460309E521040009EB3E01218D55CD72\r
+:203C91007781EBE1732372C3407DDD6E04DD660546236668232346236668010C00DD5EFE36\r
+:203CB100DD56FFCD1F8119010900097EFE492030DD6E02DD6603233601212400DD4E02DDD7\r
+:203CD100460309E5DD4EFEDD46FFDD5E04DD56053E0021AF6DCD77814D44E1712370184FBD\r
+:203CF100DD6E04DD660546236668232346236668010C00DD5EFEDD56FFCD1F811901090060\r
+:203D1100097EFE532029DD6E02DD6603233603212600DD4E02DD460309E5DD4EFEDD46FFAF\r
+:123D3100DD5E04DD56053E00210C6CCD7781E1C3358113\r
+:2003260053454C00494E53005550440044454C00204652200020574800204F524420002847\r
+:2003460000292056414C280020535420002E5C002E54424C007262002E44415400722B62E8\r
+:0F03660000222A2200726573756C7400776200A2\r
+:203D4300CDB581F8FFAFDD77FEDD77FF3E0121CC44CD7781DD7E02DDB6032818DD7E04DD6E\r
+:203D6300B6052810DD7E0ADDB60B2808DD7E0CDDB60D2006210000C3EE7E210C00DD4E0C39\r
+:203D8300DD460D0946236668DD75FADD74FB7DE680280EDD5E0CDD560D3E01210040CD7794\r
+:203DA30081DD7EFAE6106FDD7EFBE603673E10ADB42806210000C3EE7EDD4E0ADD460BDDB2\r
+:203DC3005E04DD5605CD1F81DD73FCDD72FDDD6E0CDD660D4E2346DD6E0CDD660D23237E78\r
+:203DE30023666FA7ED42DD75F8DD74F9A7ED523839DD6EFCDD66FDE5DD6E0CDD660D4E2383\r
+:203E030046DD5E02DD56033E01213242CD7781F1DD6E0CDD660D7EDD86FC77237EDD8EFD58\r
+:203E230077DD6EFCDD66FDC3EE7EDD4EF8DD46F9210000CDD381302BDD6EF8DD66F9E5DD35\r
+:203E43006E0CDD660D4E2346DD5E02DD56033E01213242CD7781F1DD6EF8DD66F9DD75FE12\r
+:203E6300DD74FFDD4EFEDD46FFDD6EFCDD66FDA7ED42E5DD6E02DD6603094D44210A00DD2D\r
+:203E83005E0CDD560D195E23563E01214B59CD7781F1DD75F8DD74F9CB7C281C210C00DDA2\r
+:203EA3004E0CDD460D097EF60077237EF60277AFDD77F8DD77F9181BDD7EF8DDB6F92013E4\r
+:203EC300210C00DD4E0CDD460D097EF60077237EF60177DD6EF8DD66F9DD4EFEDD46FF0975\r
+:203EE300EBDD4E04DD4605CD1C82EBC33581CDB581FEFFDD36FE00DD36FF00DD6E0ADD66F3\r
+:203F03000B2BDD750ADD740B237DB42832DD6E04DD660523DD7504DD74052B46DD70FFDD02\r
+:203F23006E02DD660323DD7502DD74032B4EDD71FE79B82006AFDDB6FE2002180218BCDDB4\r
+:0F3F43004EFF0600DD6EFE2600A7ED42C335815E\r
+:20400000CDB581F8FFAFDD77FEDD77FFDD7E02DDB6032078116F843E01210040CD77817DE1\r
+:20402000B4201E1187843E01210040CD77817DB4200F119F843E01210040CD77817DB428BB\r
+:204040000621FFFFC310422A6D84DD7502DD7403DD7E02DDB603282EDD5E02DD56033E0168\r
+:20406000210040CD77817DB4280621FFFFC31042211600DD4E02DD4603095623666ADD7559\r
+:2040800002DD740318CA210000C31042210C00DD4E02DD4603097EE680CA6641210600DDD0\r
+:2040A0004E02DD4603095E23560A6F030A67A7ED52DD75FADD74FB7DB4CA6441210600DD9B\r
+:2040C0004E02DD46030946236668DD75F8DD74F9DD6EFADD66FBE5DD4EF8DD46F9210A00C4\r
+:2040E000DD5E02DD5603195E23563E01211342CD7781F1DD75FCDD74FD4D44210000CDD304\r
+:2041000081301E210000397EDD86FC77237EDD8EFD77210200397EDD96FC77237EDD9EFDC9\r
+:2041200077DD4EFCDD46FD210000CDD38138A1DD7EFCDDA6FD3C20092AC1853E04ADB4282F\r
+:204140008FDD7EFADDB6FB281B210C00DD4E02DD4603097EF60077237EF60277DD36FEFF16\r
+:20416000DD36FFFF186A210C00DD4E02DD4603097EE640285BDD6E02DD66034E2346DD6E67\r
+:2041800002DD660323235623666AA7ED42DD75FADD74FB4D44210000CDD381303321010082\r
+:2041A000E5DD4EFADD46FBA7210000ED427C079F4F41C5E5210A00DD4E02DD4603095E237C\r
+:2041C000563E01217547CD7781F1F1F1CB782800210C00DD4E02DD4603097EE63F77237E26\r
+:2041E000E6FA7769602323E5210400DD4E02DD460309E5210600095623666AE56960C171B5\r
+:204200002370E1712370E1712370DD6EFEDD66FFC33581CD6B81DD6E0ADD660BE5C5D52141\r
+:204220002400E53E0121DB5ACD7781F1F1F1F1C33581CDB581FCFFDD6E02DD6603DD75FCFF\r
+:20424000DD74FDDD71FEDD70FFDD6E0ADD660B2BDD750ADD740B237DB42820DD6EFEDD66CA\r
+:20426000FF23DD75FEDD74FF2B46DD6EFCDD66FD23DD75FCDD74FD2B7018CEDD6E02DD66B4\r
+:0442800003C33581BE\r
+:16003300F5C5E5784251676BED4CED6CED5C79858257E1C1F1C92D\r
+:20428400CD6B81210000E5210000E5210000E53E0121B442CD7781F1F1F1210C00DD4E0207\r
+:2042A400DD4603097EE6FF77237EE6FC77C33581CDB581FCFF210C00DD4E02DD4603097E79\r
+:2042C400E6404F237EE604473E40A9B0C21244DD7E0EDDB60F280B3E01DDAE0EDDB60FC22A\r
+:2042E4001244210100E5210000E5210000E5210A00DD4E02DD4603095E23563E01217547D7\r
+:20430400CD7781F1F1F1DD75FCDD74FDDD71FEDD70FF7DA4A1A03C200621FFFFC35E443E47\r
+:2043240001DDAE0EDDB60F2046AFDD770EDD770F210E0039E5DD4E02DD4603030369604EA6\r
+:204344002346DD6E02DD66035623666AA7ED42EB7A079F4F41C5D5DD6EFCDD66FDC109EBCD\r
+:20436400DD6EFEDD66FFC1ED4A4D44E1CD5281DD7E0EDDB60FC21244DD6EFEDD66FFE5DD34\r
+:204384006EFCDD66FDE5DD4E0CDD460DDD6E0ADD660BCD84813077DD6E02DD660323234EE0\r
+:2043A4002346210600DD5E02DD5603195623666AA7ED427C079F4F41C5E5DD6EFCDD66FDDB\r
+:2043C400C109EBDD6EFEDD66FFC1ED4AE5D5DD4E0CDD460DDD6E0ADD660BCD8481382FDDC7\r
+:2043E4004EFCDD46FDDD6E0ADD660BA7ED42E5DD4E02DD4603030369604E2346E109E5DD6C\r
+:204404006E02DD6603C1712370210000184CDD5E02DD56033E01210040CD77817DA43C283B\r
+:2044240031DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5210A00DD4E02DD4603091C\r
+:204444005E23563E01217547CD7781F1F1F1CB78280521FFFF1803210000C33581CDB58186\r
+:20446400FEFF2A6D84DD75FEDD74FF1187843E01210040CD7781119F843E01210040CD77E7\r
+:2044840081DD7EFEDDB6FF283CDD5EFEDD56FF3E01210040CD7781210A00DD4EFEDD46FF02\r
+:2044A400095E23563E0121A247CD7781210A000936FF2336FF211600095623666ADD75FE70\r
+:2044C400DD74FF18BCC33581C5D52AB7847DB42002182E21000022B7841101003E0121FEB5\r
+:2044E4004ACD77817DB4280C2193847EF60177237EF600770E011161443E01213A5DCD7712\r
+:0645040081D1C1C33B811F\r
+:200381000000C685C685C685C685C6860000100000000000000000000000C686C686C686F0\r
+:2003A100C686C6870100200000000000000000000000AD84AD84AD84AD84AF840200220067\r
+:0C03C1000000000000000000000001002F\r
+:20450A00CDB581F8FF3E0121CC44CD7781DD7E02DDB6032818DD7E04DDB6052810DD7E0A9B\r
+:20452A00DDB60B2808DD7E0CDDB60D2006210000C32347210C00DD4E0CDD460D09462366BC\r
+:20454A0068DD75FADD74FB7DE6402818DD5E0CDD560D3E01210040CD77817DB42806210002\r
+:20456A0000C32347DD7EFAE6206FDD7EFBE603673E20ADB42806210000C32347DD4E0ADD47\r
+:20458A00460BDD5E04DD5605CD1F81DD73FCDD72FDDD6E0CDD660D4E2346210800DD5E0C76\r
+:2045AA00DD560D195623666AA7ED42DD75F8DD74F9DD4EFCDD46FDA7ED423018DD5E0CDD5C\r
+:2045CA00560D3E01210040CD77817DB42806210000C32347DD6E0CDD660D4E2346210800D5\r
+:2045EA00DD5E0CDD560D195623666AA7ED42DD75F8DD74F9DD4EFCDD46FDA7ED4238612187\r
+:20460A000C00DD4E0CDD460D097EF68077237EF60077DD6EFCDD66FDE5DD4E02DD4603DDFF\r
+:20462A006E0CDD660D5E23563E01213242CD7781F1DD6E0CDD660D7EDD86FC77237EDD8E3E\r
+:20464A00FD77DD7EFAE603280EDD5E0CDD560D3E01210040CD7781DD6E0ADD660BC32347AC\r
+:20466A00DD6EFCDD66FDDD75FEDD74FFDD6EFCDD66FDE5DD4E02DD4603210A00DD5E0CDDFB\r
+:20468A00560D195E23563E01211342CD7781F1DD75F8DD74F94D44210000CDD3813022DDBC\r
+:2046AA006EF8DD66F9DD4E02DD460309DD7502DD7403210400397EDD96F877237EDD9EF977\r
+:2046CA0077DD4EF8DD46F9210000CDD381389DDD7EF8DDA6F93C20092AC1853E04ADB42894\r
+:2046EA008BDDCBF97E2813210C00DD4E0CDD460D097EF60077237EF60277210600397EDD78\r
+:20470A0096FC77237EDD9EFD77DD4E04DD4605DD5EFEDD56FFCD1C82EBC33581CD6B81D5D7\r
+:20472A003E0121704ACD7781D119EB3E0121304CCD7781DD6E02DD6603C33581CDB581FC0F\r
+:20474A00FF210E003901020009DD75FCDD74FDE5DD4E0ADD460B1187843E01213250CD77B6\r
+:20476A0081F1DD75FEDD74FFC33581CD6B81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD9D\r
+:18478A00660BE5D5211900E53E01214D5DCD7781F1F1F1F1F1C32A82DA\r
+:0B004900DDF9DDE1D1C1F1ED3939C96D\r
+:2047A200CD6B81D5210600E53E0121DB5ACD7781F1F1C33581CDB581FAFFAFDD77FADD775B\r
+:2047C200FBAFDD77FCDD77FDAFDD77FEDD77FFDD7E0ADDB60B2835210C00DD4E0ADD460B48\r
+:2047E200097EE60F5F237EE60057210200397EB377237EB277210C00097EE6F377237EE6A5\r
+:20480200FF7759503E01216A59CD7781DD6E0CDD660DAFB62870DD6E0CDD660D23DD750CC3\r
+:20482200DD740D2B5ECD408104002B617277864849483A4860487748210200397EF61077E9\r
+:20484200237EF60077183D210200397EF62077237EF60077DD36FA00DD36FB0318262102FF\r
+:2048620000397EF62077237EF60077DD36FA00DD36FB21180F210200397EF63077237EF673\r
+:20488200007718001886DD7EFCE6304FDD7EFDE6004779B02006210000C36D4A3E10A9B017\r
+:2048A200200218243E20A9B0200F210000397EF60177237EF60077180F210000397EF60267\r
+:2048C20077237EF600771800DD7E0ADDB60B201E0118001101003E01216A4ECD7781DD759E\r
+:2048E200FEDD74FF7DB42006210000C36D4ADD7E02DDB603282321B601E5DD6EFADD66FBF8\r
+:20490200E5DD6E02DD6603E53E01210656CD7781F1F1F1DD7504DD7405DDCB057E282E2A8D\r
+:20492200C185DD75FADD74FBDD7EFEDDB6FF280EDD5EFEDD56FF3E0121504BCD7781DD6E00\r
+:20494200FADD66FB22C185210000C36D4ADD7E0ADDB60BC2214ADD6EFEDD66FFDD750ADD26\r
+:20496200740B01160009ED4B6D84712370DD6E0ADD660B226D84210C00DD4E0ADD460B091A\r
+:204982003608233600DD5E04DD56053E0121FE4ACD77817DB42813210C00DD4E0ADD460B9E\r
+:2049A200097EF60177237EF60077210600DD4E0ADD460B09E50100011101003E01216A4E4E\r
+:2049C200CD77814D44E171237079B02029210600DD4E0ADD460B09E5210E0009EBE1732316\r
+:2049E2007221080009E5210E0009010800094D44E17123701829210800DD4E0ADD460B0996\r
+:204A0200E5210600095623666A3E018467EBE1732372210C00097EF60477237EF60077DD28\r
+:204A22006E0ADD660B2323E5210400DD4E0ADD460B09E5210600095E2356E1732372E173C9\r
+:204A420023726960732372210C00DD4E0ADD460B097EDDB6FC77237EDDB6FD77210A0009F5\r
+:204A6200DD5E04DD56057323726960C33581CDB581FEFFDD6E02DD6603DD75FEDD74FFDD63\r
+:204A82006EFEDD66FFAFB6280ADD34FE2003DD34FF18ECDD4E02DD4603DD6EFEDD66FFA704\r
+:054AA200ED42C3358167\r
+:12005400E3F5C54E2346237BEDB12002232309C3C9818C\r
+:204AA700CDB581FAFFDD6E02DD6603DD75FADD74FBDD71FCDD70FDDD6EFCDD66FD23DD7538\r
+:204AC700FCDD74FD2B46DD70FFDD6EFADD66FB23DD75FADD74FB2B4EDD71FE79B82008AFBD\r
+:174AE700DDB6FE280218D0DD4EFF0600DD6EFE2600A7ED42C3358127\r
+:19006600F57E83775F237E8A7757237E89774F237E8877472B2B2BF1C9AA\r
+:204AFE00CDB581E2FF210000394D44DD5E02DD56033E0121394BCD77817DA43C2812DD7EBB\r
+:204B1E00E6E6006FDD7EE7E6F0673E20ACB528052100001803210100C33581CD6B81C5D5A7\r
+:204B3E00210D00E53E0121DB5ACD7781F1F1F1C33581CDB581FCFF21FCFFDD4E02DD460331\r
+:204B5E0009DD75FEDD74FF23237E23B6280621FFFFC32D4C2ACA87DD75FCDD74FDDD4EFC2A\r
+:204B7E00DD46FDDD6EFEDD66FFA7ED423817DD6EFCDD66FD232346236668DD4EFEDD46FFF8\r
+:204B9E00A7ED423053DD6EFCDD66FD23234E2346DD6EFCDD66FDA7ED423829DD4EFEDD4610\r
+:204BBE00FFDD6EFCDD66FDA7ED423816DD6EFCDD66FD23234E2346DD6EFEDD66FFA7ED4248\r
+:204BDE0030021814DD6EFCDD66FD232346236668DD75FCDD74FD1885DD6EFEDD66FF23234B\r
+:204BFE00E5DD4EFCDD46FD030369604E2346E1712370DD6EFCDD66FD2323DD4EFEDD46FFE8\r
+:124C1E00712370DD6EFCDD66FD22CA87210000C33581EC\r
+:19007F00E1C5D5DDE5DD210000DD39E9E526806F7EED2039ED3939E3E945\r
+:204C3000CD6B8159503E0121704ACD778123E5DD4E04DD4605DD5E02DD56033E012132427D\r
+:074C5000CD7781F1C335812E\r
+:20009800EBE3D5C5F5D5C5EB210F00397EEE8047722B4E73EBE17CEE8067ED42E1200AEB2A\r
+:2000B8002B7E2B6E67EBA7ED52C178C1E1D13333C9E1C5D5DDE5DD210000DD395E23562388\r
+:0F00D800EB39F9EBE909097E23666FC1F1E3C942\r
+:204C5700CD6B81210A00E50100003E0121E35ECD7781F1C33581CDB581D6FFDD6E0ADD6633\r
+:204C77000BDD75F8DD74F921000039DD75FADD74FB212C0039DD75FCDD74FD213A00397E58\r
+:204C9700D60A77DD4E0CDD460D212400CDD3813811010280DD6E0CDD660D3E80AC67ED4266\r
+:204CB7003003C3F04DDD6EFCDD66FD23237EE60047237EE680B02831AFDDB60E282BDD6E34\r
+:204CD700F8DD66F923DD75F8DD74F92B362DDD4E04DD4605DD6E02DD6603CDE581DD7502D3\r
+:204CF700DD7403DD7104DD7005DD6EFCDD66FD23237E23B62002184EDD6E0CDD660D7C07CF\r
+:204D17009F4F41C5E5DD4E04DD4605DD6E02DD6603CD6D82E5DD6EFADD66FB23DD75FADD49\r
+:204D370074FB2BC171212C0039DD5E0CDD560D7A079F4F41CD5D82DD6EFCDD66FD23237EDC\r
+:204D570023B620B41830DD5E02DD5603DD4E0CDD460DCDF781DD6EFADD66FB23DD75FADD59\r
+:204D770074FB2B73DD5E02DD5603CD1C82DD6EFCDD66FD732372DD6EFCDD66FD7E23B620A4\r
+:204D9700C5210000394D44DD6EFADD66FBA7ED42DD75FFAFDDB6FF2840DD6EFADD66FB2B4B\r
+:204DB700DD75FADD74FB46DD70FE78FE0A300ADD7EFEC630DD77FE1809DD7EFEDD8610DD8E\r
+:204DD70077FEDD6EF8DD66F923DD75F8DD74F92BDD46FE70DD35FF18BADD6EF8DD66F936BD\r
+:204DF70000DD6E0ADD660BC33581CDB581FEFFDD36FE41DDCB0B7E2816DD36FE61DD4E0A18\r
+:204E1700DD460BA7210000ED42DD750ADD740BDD6EFEE50E01C5DD6E0ADD660BE5DD6E04C5\r
+:204E3700DD6605E53E0ADDAE0ADDB60B200DDD5E02DD56037A079F4F411809DD5E02DD56D2\r
+:204E5700030100003E01216D4CCD7781F1F1F1F1C33581CDB581FCFFDD5E02DD5603CD1FBF\r
+:204E770081DD73FCDD72FD3E0121EF56CD7781DD75FEDD74FF7DB42819DD6EFCDD66FDE51A\r
+:204E9700010000DD5EFEDD56FF3E0121055CCD7781F1DD6EFEDD66FFC33581CDB581FAFF18\r
+:204EB700AFDD77FBDD77FC59503E0121704ACD7781DD75FDDD74FEDD6E04DD66057EFE2D27\r
+:204ED7002014DD6E04DD660523DD7504DD74052B46DD700A180EAFDDB60A2808DD34FD2089\r
+:204EF70003DD34FEDD7E10DDA6113C281DDD4EFDDD46FEDD6E10DD6611CDD381300CDD6E69\r
+:204F170010DD6611DD75FDDD74FEDD4EFDDD46FEDD6E0EDD660FCDD381300CDD6EFDDD669C\r
+:204F3700FEDD750EDD740FDD6E0EDD660FDD75FBDD74FC211400397EDD96FD77237EDD9E68\r
+:204F5700FE77DD7E0EDDB60F2009DD7EFDDDB6FECA2950DD7E08DDB6092034DD7E0EDDB616\r
+:204F77000F282CDD7EFDDDB6FE280FAFDDB60A2809DD7E0CFE3020021823DD460CDD70FAB2\r
+:204F9700DD6E0EDD660F2BDD750EDD740F184EDD7EFDDDB6FE2833AFDDB60A280CDD460A0D\r
+:204FB700DD70FADD360A001812DD6E04DD660523DD7504DD74052B46DD70FADD6EFDDD66A3\r
+:204FD700FE2BDD75FDDD74FE1813DD460CDD70FADD6E0EDD660F2BDD750EDD740FDD4E028F\r
+:204FF700DD4603DD5EFA16003E01217C5DCD7781DD7EFAFE0A20183E01DDAE12DDB61320F4\r
+:205017000EDD5E02DD56033E01210040CD7781C3594FDD6EFBDD66FCC35682CDB581A2FF64\r
+:20503700AFDD77B0DD77B1210C00DD5E02DD5603197EE6034F237EE60047DD71FDDD70FECE\r
+:20505700210C00197EE6FC77237EE6FF77DD6E04DD6605AFB6CA3755DD6E04DD66057EFEBA\r
+:2050770025C2EA543E02DDAEFDDDB6FE200EDD5E02DD56033E01210040CD7781AFDD77A4EE\r
+:20509700DD77A5DD36B300DD36B220DD36ACFFDD36ADFFAFDD77AADD77ABDD36A8FFDD365F\r
+:2050B700A9FFDD36AE0ADD36AF00211B0039DD75B5DD74B6DD36B400AFDD77A6DD77A7AF07\r
+:2050D700DD77A2DD77A3DD34042003DD3405DD6E04DD66057EFE30380BDD6E04DD66053E23\r
+:2050F70039BE3002186521000039010A00CD4C82DD6E04DD66054E060021D0FF094D44215D\r
+:205117000000397E8177237E8877DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A91821B0\r
+:20513700DD7EA2DDB6A3200DDD7EB2FE202006DD36B230188ADD6EA2DD66A3DD75ACDD74EE\r
+:20515700ADDD34042003DD34051883DD6E04DD66055ECD40811400002021232A2B2D2E589F\r
+:2051770062636468696C6F70737578E654EE52F6527954C952BF5245525A5250525A5236F1\r
+:2051970054B552E4523A52BC51C751DB51D4511854C751AC51DD6E04DD66052BDD7504DDEF\r
+:2051B7007405C3EA54DD36A401DD36A500C3D650DD6E04DD660546DD70B3C3D650DD36B478\r
+:2051D70001C3D650216800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A3F4\r
+:2051F700DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A9182ADD6EA2DD66A3DD75ACDD68\r
+:2052170074ADCB7C281ADD36A401DD36A500DD4EA2DD46A3A7210000ED42DD75ACDD74ADD7\r
+:20523700C3D650DD36AA01DD36AB00C3D650DD36A601DD36A700C3D650AFDD77A6DD77A708\r
+:20525700C3D650210A00E5211D0039E5DD7EA6DDB6A7281D216C00397EC60477237ECE006E\r
+:20527700772B6E6701FCFF095E2356234E2346181A216C00397EC60277237ECE00772B6EB6\r
+:20529700672B2B5E23567A079F4F413E0121A355CD7781F1F1DD75B5DD74B6C39D54DD36DF\r
+:2052B700AE02DD36AF001837DD36AE08DD36AF00182DAFDD77A6DD77A7DD36B230DD36ACEE\r
+:2052D70005DD36AD00DD36A808DD36A900DD36AE10DD36AF001808DD36AEF0DD36AFFFDD71\r
+:2052F7007EA6DDB6A7281E216800397EC60477237ECE00772B6E6701FCFF095E2356234E3F\r
+:205317002346EB1819216800397EC60277237ECE00772B6E672B2B46236668010000DD75AC\r
+:20533700B9DD74BADD71BBDD70BCDD5EAEDD56AFD5211D003901040009E5DD4EBBDD46BCB1\r
+:20535700DD5EB9DD56BA3E01218E5ECD7781F1F1DD75B5DD74B6DD36B761DD36B884AFDD4E\r
+:20537700B6B4CA15543E02DDAEAEDDB6AF200ADD36B762DD36B88418493E08DDAEAEDDB6A6\r
+:20539700AF2018DD7EB9DDB6BADDB6BBDDB6BC2808DD36B765DD36B88418273E10DDAEAE9D\r
+:2053B700DDB6AF200ADD36B767DD36B88418133E0FDDAEAEDDA6AF3C2008DD36B76ADD365C\r
+:2053D700B884DD6EB7DD66B8AFB62832DD36B200DD4EB7DD46B8211B00395D543E01213086\r
+:2053F7004CCD7781DD4EB5DD46B6211B00395D543E01212647CD7781DD75B5DD74B6C39DA6\r
+:2054170054DD6E04DD6605234E0600DD71A2DD70A379B02808DD34042003DD3405181C2137\r
+:205437006800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A3DD46A2DD6E8C\r
+:20545700B5DD66B670DD6EB5DD66B6233600AFDDB6B4280CDD6EB5DD66B646DD70B2182223\r
+:20547700181C216800397EC60277237ECE00772B6E672B2B46236668DD75B5DD74B6DD36CE\r
+:20549700B220DD36B300DD6EFDDD66FEE5DD6EA8DD66A9E5DD6EACDD66ADE5DD6EB2E5DDA0\r
+:2054B7006EB3E5DD6EA4DD66A5E5DD4EB5DD46B6DD5E02DD5603CDB24EEB210C0039F9EBE5\r
+:2054D7004D44210E00397E8177237E8877180218021842DD4E02DD4603DD6E04DD66055ED0\r
+:2054F70016003E01217C5DCD7781DD34B02003DD34B1DD6E04DD66057EFE0A20183E01DD6A\r
+:20551700AEFDDDB6FE200EDD5E02DD56033E01210040CD7781DD34042003DD3405C364506D\r
+:20553700210C00DD4E02DD4603097EDDB6FD77237EDDB6FE773E02DDAEFDDDB6FE200EDD39\r
+:205557005E02DD56033E01210040CD77813E01DDAEFDDDB6FE2016210400DD4E02DD460333\r
+:1655770009E5210600094E2346E1712370DD6EB0DD66B1C33581FC\r
+:0C0375000030620030003078003058008A\r
+:20558D00CD6B81210A00E50100003E0121E35ECD7781F1C32A82CDB581FEFFDD36FE41DD3F\r
+:2055AD00CB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DD750CDD740DDD6EFEE53E52\r
+:2055CD000ADDAE0CDDB60D20043E011801AF4FC5DD6E0CDD660DE5DD6E0ADD660BE5DD4EFF\r
+:1955ED0004DD4605DD5E02DD56033E01216D4CCD7781F1F1F1F1C33581EB\r
+:2000E700C5E5F57CEE806778EE8047F1A7ED42E1C1C9F5AF956F3E009C673E00994F3E005D\r
+:040107009847F1C95B\r
+:20560600CD6B81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5211400E53E0121DBD2\r
+:0B5626005ACD7781F1F1F1F1C335811D\r
+:09010B00F5E5CD3682EBE1F1C906\r
+:20563100CDB581FCFFDD6E02DD6603DD75FEDD74FF116F843E0121F55ACD7781DD75FCDD85\r
+:2056510074FD7DA43C281E3E0ADDAEFCDDB6FD2814DD46FCDD6EFEDD66FF23DD75FEDD741C\r
+:20567100FF2B7018CCDD6EFEDD66FF3600DD7EFCDDA6FD3C2016DD6E02DD6603DD4EFEDDF8\r
+:2056910046FFA7ED4220052100001806DD6E02DD6603C33581CDB581FEFF018784DD5E0225\r
+:2056B100DD56033E0121A05FCD7781DD75FEDD74FF7DA43C2813018784110A003E01217C44\r
+:1E56D1005DCD77817DA43C200521FFFF180DDD6EFEDD66FF23DD75FEDD74FFC335810C\r
+:20011400F5C5E5AFCD9282F5CD3682F1B728031318067B2F5F7A2F57E1C1F1C9F5E5CD36DC\r
+:0A013400827B2F5F7A2F57E1F1C99B\r
+:2056EF00CDB581FAFFDD6E02DD6603232323CB3CCB1DCB3CCB1D23DD75FEDD74FF2ACA8787\r
+:20570F00DD75FCDD74FD7DB42011DD36FCC6DD36FD8721C68722C88722CA87DD6EFCDD6634\r
+:20572F00FD232346236668DD75FADD74FBDD6EFADD66FB232346236668DD4EFADD46FBA75E\r
+:20574F00ED42CADF57DD6EFADD66FB462366682929DD4EFADD46FB09E5030369604E234648\r
+:20576F00E1A7ED42206ADD6EFADD66FB232346236668ED4BCA87A7ED422015DD6EFADD66BD\r
+:20578F00FB23234623666823234623666822CA87DD6EFADD66FB23237E23666F4E2346DDBF\r
+:2057AF006EFADD66FB7E8177237E8877DD6EFADD66FB2323E5DD4EFADD46FB030369604E10\r
+:2057CF002346030369604E2346E1712370C33C57DD6EFADD66FB46236668DD4EFEDD46FF8B\r
+:2057EF00A7ED42DA9D58DD6EFADD66FB46236668DD4EFEDD46FFA7ED42201CDD6EFCDD6654\r
+:20580F00FD2323E5DD4EFADD46FB030369604E2346E17123701856DD6EFEDD66FF2929DD7B\r
+:20582F004EFADD46FB0922CA87DD6EFCDD66FD2323ED5BCA877323722ACA872323E503035D\r
+:20584F0069604E2346E1712370DD6EFADD66FB46236668DD4EFEDD46FFA7ED42E52ACA8799\r
+:20586F00D1732372DD6EFADD66FB712370DD6EFCDD66FD22CA87DD6EFADD66FB2323AF77D0\r
+:20588F002377210400DD4EFADD46FB0918272ACA87DD4EFADD46FBA7ED42204F1100043E59\r
+:2058AF0001218B5FCD7781DD75FADD74FB7DA43C2006210000C33581DD6EFADD66FB36009A\r
+:2058CF00233601DD6EFADD66FB2323AF772377210400DD4EFADD46FB09EB3E0121504BCDB2\r
+:2058EF0077812ACA87DD75FADD74FBDD6EFADD66FBDD75FCDD74FDDD6EFADD66FB23234660\r
+:0C590F00236668DD75FADD74FBC33C57AD\r
+:20591B00CD6B812AC3853AC585B5B42812010000DD5E02DD56033AC5852AC385CD7781DD0E\r
+:20593B005E02DD56033E0121675DCD7781C33581CD6B81DD6E0ADD660BE5C5D5211700E55C\r
+:20595B003E0121DB5ACD7781F1F1F1F1C33581CDB581FAFFAFDD77FADD77FBDD7E02DDB65D\r
+:20597B0003200C21160022C18521FFFFC3D85ADD5E02DD56033E01210040CD77817DB428F9\r
+:20599B000621FFFFC3D85A210A00DD4E02DD4603095E23563E0121A247CD77817DB4280805\r
+:2059BB00DD36FAFFDD36FBFF210A00DD4E02DD46030936FF2336FF210C00097EE6042834A5\r
+:2059DB00210600DD4E02DD4603095E23563E0121504BCD7781210C00097EE6FB77237EE6FF\r
+:2059FB00FF7721060009E521080009AF772377E1AF772377210C00DD4E02DD4603097EE681\r
+:205A1B0008CAC45A2A6D84DD75FCDD74FDAFDD77FEDD77FF210C00DD4E02DD460309AF77C1\r
+:205A3B002377DD7EFCDDB6FD2827DD6E02DD6603DD4EFCDD46FDA7ED422816211600DD4E2B\r
+:205A5B00FCDD46FD095623666ADD75FCDD74FD18D1DD6E02DD6603DD4EFCDD46FDA7ED4288\r
+:205A7B002037DD7EFEDDB6FF2013211600DD4E02DD46030946236668226D84181C2116004E\r
+:205A9B00DD4EFEDD46FF09E5211600DD4E02DD4603094E2346E1712370DD5E02DD56033ED2\r
+:205ABB000121504BCD7781180E210C00DD4E02DD460309AF772377DD6EFADD66FBC33581DE\r
+:20013E00DDF9DDE1D13333F1ED3939C92100003E11CB13CB123DC8CB15CB14ED4230F20974\r
+:02015E0018EF98\r
+:1A5ADB0021040039C5D55E2356234D44F7300622C18521FFFFD1C1C33B8169\r
+:0A0160005E2356CD1F81722B73C978\r
+:205AF500CDB581FEFF210C00DD4E02DD4603097EE680280EDD5E02DD56033E01210040CD0E\r
+:205B15007781210C00DD4E02DD4603097EE6104F237EE603473E10A9B0280621FFFFC302A2\r
+:205B35005CDD6E02DD660323234E2346DD6E02DD66035623666AA7ED42DAE85BDD6E02DD6B\r
+:205B550066032323E5210600DD4E02DD4603095E2356E17323726960732372DD6E02DD66F8\r
+:205B750003E5210600DD4E02DD4603095E2356210800097E23666FA7ED52E5010100DD6E0E\r
+:205B950002DD66035E23563E0021437DCD7781F1F1DD75FEDD74FF7DB4200521FFFF184D91\r
+:205BB500DD6E02DD660323237EDD86FE77237EDD8EFF77210C00DD4E02DD4603097EF640E2\r
+:205BD50077237EF60077210C00097EE6FF77237EE6FB77DD6E02DD66034E234603702B71C9\r
+:205BF5000B0A4F0600DD71FEDD70FF6960C33581CDB581FEFFDD6E02DD6603DD75FEDD7418\r
+:205C1500FFDD6E0ADD660B2BDD750ADD740B237DB42814DD4604DD6EFEDD66FF23DD75FE35\r
+:205C3500DD74FF2B7018DADD6E02DD6603C33581CDB581FAFF2AB9842BDD75FADD74FB211F\r
+:205C5500FFFF22B9843E0021000032C58522C385DDCBFB7E2053010500DD5EFADD56FBCDC3\r
+:205C75001F8121CC87195E23562346EBDD75FCDD74FDDD70FE110500DD4EFADD46FBCD1F8B\r
+:205C95008121CF87194E2346DD5E02DD5603DD7EFEDD6EFCDD66FDCD7781DD6EFADD66FB8C\r
+:205CB5002BDD75FADD74FB18A7C33581CD6B812AB984CB7C200E010A802AB9843E80AC677C\r
+:205CD500ED42380B210C0022C18521FFFF18533E0121455C32C58522C385DD7E02DDB60344\r
+:205CF500DDB604283A010500ED5BB984CD1F8121CC8719DD5604DD4E02DD46037123702360\r
+:205D150072010500ED5BB984CD1F8121CF8719DD4E0ADD460B7123702AB9842322B9842103\r
+:185D35000000C33581CD6B81210000E53E0121C15CCD7781F1C3358172\r
+:0203CD0000002E\r
+:205D4D0021040039D55E2356234D44F7300822C18521FFFF4D44D1C33B81CD6B81D5210B27\r
+:0F5D6D0000E53E0121DB5ACD7781F1F1C335818D\r
+:07016A00DDF9DDE1D1C1C99F\r
+:205D7C00CDB581FEFF3E0121CC44CD7781210C000946236668DD75FEDD74FF7DE6402818E2\r
+:205D9C00DD5E04DD56053E01210040CD77817DB4280621FFFFC38B5EDD7EFEE6206FDD7EB8\r
+:205DBC00FFE603673E20ADB4280621FFFFC38B5E210800DD4E04DD4605095E23560A6F03E4\r
+:205DDC000A67A7ED523818DD5E04DD56053E01210040CD77817DB4280621FFFFC38B5EDD1D\r
+:205DFC006E04DD66054E234603702B710B6960DD460270210C00DD4E04DD4605097EF6801D\r
+:205E1C0077237EF600773E0ADDAE02DDB6032007DD7EFEE6012007DD7EFEE6022817DD5E2D\r
+:205E3C0004DD56053E01210040CD77817DB4280521FFFF183ADD7EFEE6032818210400DD52\r
+:205E5C004E04DD460509E5210600094E2346E17123701816210400DD4E04DD460509E52139\r
+:205E7C000800094E2346E1712370DD6E022600C33581CDB581FEFFDD36FE41DDCB0D7E28C0\r
+:205E9C0016DD36FE61DD4E0CDD460DA7210000ED42DD750CDD740DDD6EFEE50E00C5DD6EF8\r
+:205EBC000CDD660DE5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E01216D4CCD778155\r
+:205EDC00F1F1F1F1C33581CDB581F8FFAFDD77FCDD77FDDD6E02DD6603DD75FEDD74FFDD0F\r
+:205EFC006EFEDD66FF4E060021BB84097EE610280ADD34FE2003DD34FF18E4DD6EFEDD66AB\r
+:205F1C00FF7EFE2D2012DD34FC2003DD34FDDD34FE2003DD34FF1813DD6EFEDD66FF7EFED9\r
+:205F3C002B2008DD34FE2003DD34FFDD6E0ADD660BE5DD4E04DD4605DD5EFEDD56FF3E0127\r
+:205F5C00218460CD7781F1DD75F8DD74F9DD71FADD70FBDD7EFCDDB6FD2805CDE581180CDB\r
+:0F5F7C00DD4EFADD46FBDD6EF8DD66F9C32A82E5\r
+:20017100C5D55E2356234E2346EBCDAE82C33D83EBE3F5DDE5DD210000DD39C5D5DD560949\r
+:20019100DD7409DD5E08DD7508CDD682DDF9DDE1F1D13333C9CB782809AF914F3E0098478D\r
+:2001B1003E01CB7AC8F5AF935F3E009A57F1EE01C9EBE3F5DDE5DD210000DD39C5D5DD560E\r
+:1901D10009DD7409DD5E08DD7508CDD682E1C1CD2E83DDE1F1D13333C921\r
+:205F8B00CD6B81D5211800E53E0121DB5ACD7781F1F1C33581CDB581FCFFAFDD77FCDD7744\r
+:205FAB00FDDD6E02DD6603DD75FEDD74FFDD6EFEDD66FFAFB62833DD4E04DD4605DD6EFEBB\r
+:205FCB00DD66FF23DD75FEDD74FF2B5E16003E01217C5DCD77817DA43C200521FFFF18104B\r
+:135FEB00DD34FC2003DD34FD18C3DD6EFCDD66FDC335818A\r
+:2001EA00F5210000010000DD36F82118021937DDCBFC16DDCBFD16DDCBFE16DDCBFF16DD7D\r
+:20020A0035F8282ECB11CB10CB15CB14ED5238DD201078DD960738D5200879DD960638CD39\r
+:20022A00180479DD96064F78DD9E074730C12BA718BDF1E56069C1C9F57D2F6F7C2F6779BA\r
+:10024A002F4F782F47F1C9EB702B712B722B73C983\r
+:205FFE00CDB581FEFFDD36FEFFDD36FFFFDD5E02160021BB84197EE608280FDD4E020600C0\r
+:20601E0021D0FF09DD75FEDD74FFDD4E02060021BB84097EE604280FDD4E02060021A9FF92\r
+:20603E0009DD75FEDD74FFDD4E02060021BB84097EE602280FDD4E02060021B0FF09DD7502\r
+:20605E00FEDD74FFDD4E04DD4605DD6EFEDD66FFCDD3813808DD36FEFFDD36FFFFDD6EFE27\r
+:20607E00DD66FFC35682CDB581FAFF110280DD6E0ADD660B3E80AC67ED52380EDD4E0ADD8B\r
+:20609E00460B212400CDD3813007AFDD770ADD770BDD6E02DD66034E060021BB84097EE6D4\r
+:2060BE0010280ADD34022003DD340318E4DD6E02DD66037EFE2B200ADD34022003DD34038C\r
+:2060DE00186DDD7E0ADDB60B2065DD6E02DD66037EFE30205ADD6E02DD6603237EEE20FE9C\r
+:2060FE00582017DD360A10DD360B00210800397EC60277237ECE00771835DD6E02DD6603C3\r
+:20611E00237EEE20FE422017DD360A02DD360B00210800397EC60277237ECE00771810DDF4\r
+:20613E00360A08DD360B00DD34022003DD3403DD7E0ADDB60B2008DD360A0ADD360B00AF72\r
+:20615E00DD77FADD77FBDD77FCDD77FDDD4E0ADD460BDD6E02DD66035ECDFE5FDD75FEDD38\r
+:20617E0074FF7DA43C282E21000039DD5E0ADD560B7A079F4F41CD468321000039DD5EFE25\r
+:20619E00DD56FF7A079F4F41CD5281DD34022003DD340318B7DD7E04DDB6052811DD6E02C9\r
+:2061BE00DD6603E5DD6E04DD6605C1712370DD4EFCDD46FDDD6EFADD66FBC32A82CD6B8148\r
+:2061DE00160021BB84197EE604280EDD7E02EE206FDD7E03EE00671806DD6E02DD6603C373\r
+:2061FE003581CD6B81160021BB84197EE602280EDD7E02EE206FDD7E03EE00671806DD6EF1\r
+:07621E0002DD6603C33581B8\r
+:2003CF0001010101010101010111111111110101010101010101010101010101010101019E\r
+:2003EF0010202020202020202020202020202020484848484848484848482020202020206E\r
+:20040F00204242424242420202020202020202020202020202020202020202202020202059\r
+:20042F00204444444444440404040404040404040404040404040404040404202020200124\r
+:20044F0000000000000000000000000000000000000000000000000000000000000000008D\r
+:20046F0000000000000000000000000000000000000000000000000000000000000000006D\r
+:20048F0000000000000000000000000000000000000000000000000000000000000000004D\r
+:2004AF0000000000000000000000000000000000000000000000000000000000000000002D\r
+:20025A00C5D55E2356234E2346EBCD5683C33D83E3D5DDE5DD210000DD39DD5609DD740901\r
+:20027A00DD5E08DD7508D5C5F5DD6E0462ED6CDD5605ED5C1959DD5607ED5C19DD5E06500E\r
+:20029A00ED5C19E5DD5E04DD56FEED5CDD6E05DD6607ED6C19DD4606ED4C09E5DD5E04DDCC\r
+:2002BA005607ED5CDD6E05DD6606ED6CAF1917F5DD5E04DD5606ED5C4A0600AF091755C1C2\r
+:1402DA004CE10984C1814D47EBF1D1D1DDE1D133333333C9DE\r
+:00000001FF\r
diff --git a/src/db/main.lst b/src/db/main.lst
new file mode 100644 (file)
index 0000000..c85d382
--- /dev/null
@@ -0,0 +1,258 @@
+                                      1        NAME    main(17)\r
+                                      2        RSEG    CODE(0)\r
+                                      3        RSEG    CSTR(0)\r
+                                      4        RSEG    CONST(0)\r
+                                      5        EXTERN  dbDeleteRow\r
+                                      6        EXTERN  dbExecuteStatement\r
+                                      7        EXTERN  dbGetString\r
+                                      8        EXTERN  dbNewRow\r
+                                      9        EXTERN  dbNextRow\r
+                                     10        EXTERN  dbResultSetClose\r
+                                     11        EXTERN  fflush\r
+                                     12        EXTERN  gets\r
+                                     13        PUBLIC  main\r
+                                     14        EXTERN  malloc\r
+                                     15        EXTERN  printf\r
+                                     16        EXTERN  stdout\r
+                                     17        EXTERN  strcmp\r
+                                     18        EXTERN  ?CL64180B_4_06_L00\r
+                                     19        EXTERN  ?BANK_CALL_DIRECT_L08\r
+                                     20        EXTERN  ?BANK_FAST_LEAVE_L08\r
+                                     21        RSEG    CODE\r
+    00000000                         22 main:\r
+    00000000 C5                      23        PUSH    BC\r
+    00000001 D5                      24        PUSH    DE\r
+    00000002 FD E5                   25        PUSH    IY\r
+    00000004 DD E5                   26        PUSH    IX\r
+    00000006 21 92 FE                27        LD      HL,65170\r
+    00000009 39                      28        ADD     HL,SP\r
+    0000000A F9                      29        LD      SP,HL\r
+    0000000B 21 46 01                30        LD      HL,326\r
+    0000000E 39                      31        ADD     HL,SP\r
+    0000000F EB                      32        EX      DE,HL\r
+    00000010 21 00 00                33        LD      HL,?0000\r
+    00000013 01 27 00                34        LD      BC,39\r
+    00000016 ED B0                   35        LDIR\r
+    00000018 11 06 00                36        LD      DE,6\r
+    0000001B 3E 00                   37        LD      A,BYTE3 malloc\r
+    0000001D 21 00 00                38        LD      HL,LWRD malloc\r
+    00000020 CD 00 00                39        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000023 11 14 00                40        LD      DE,20\r
+    00000026 3E 00                   41        LD      A,BYTE3 malloc\r
+    00000028 21 00 00                42        LD      HL,LWRD malloc\r
+    0000002B CD 00 00                43        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000002E 21 04 00                44        LD      HL,4\r
+    00000031 39                      45        ADD     HL,SP\r
+    00000032 70                      46        LD      (HL),B\r
+    00000033                         47 ?0002:\r
+    00000033 01 00 00                48        LD      BC,?0004\r
+    00000036 21 04 00                49        LD      HL,4\r
+    00000039 39                      50        ADD     HL,SP\r
+    0000003A EB                      51        EX      DE,HL\r
+    0000003B 3E 00                   52        LD      A,BYTE3 strcmp\r
+    0000003D 21 00 00                53        LD      HL,LWRD strcmp\r
+    00000040 CD 00 00                54        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000043 7D                      55        LD      A,L\r
+    00000044 B4                      56        OR      H\r
+    00000045 CA 33 01                57        JP      Z,?0001\r
+    00000048                         58 ?0003:\r
+    00000048 21 03 00                59        LD      HL,?0005\r
+    0000004B E5                      60        PUSH    HL\r
+    0000004C 3E 00                   61        LD      A,BYTE3 printf\r
+    0000004E 21 00 00                62        LD      HL,LWRD printf\r
+    00000051 CD 00 00                63        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000054 F1                      64        POP     AF\r
+    00000055 11 00 00                65        LD      DE,stdout\r
+    00000058 3E 00                   66        LD      A,BYTE3 fflush\r
+    0000005A 21 00 00                67        LD      HL,LWRD fflush\r
+    0000005D CD 00 00                68        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000060 21 04 00                69        LD      HL,4\r
+    00000063 39                      70        ADD     HL,SP\r
+    00000064 EB                      71        EX      DE,HL\r
+    00000065 3E 00                   72        LD      A,BYTE3 gets\r
+    00000067 21 00 00                73        LD      HL,LWRD gets\r
+    0000006A CD 00 00                74        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000006D 21 00 00                75        LD      HL,0\r
+    00000070 39                      76        ADD     HL,SP\r
+    00000071 E5                      77        PUSH    HL\r
+    00000072 21 06 00                78        LD      HL,6\r
+    00000075 39                      79        ADD     HL,SP\r
+    00000076 EB                      80        EX      DE,HL\r
+    00000077 3E 00                   81        LD      A,BYTE3 dbExecuteStatement\r
+    00000079 21 00 00                82        LD      HL,LWRD dbExecuteStatement\r
+    0000007C CD 00 00                83        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000007F 4D                      84        LD      C,L\r
+    00000080 44                      85        LD      B,H\r
+    00000081 E1                      86        POP     HL\r
+    00000082 71                      87        LD      (HL),C\r
+    00000083 23                      88        INC     HL\r
+    00000084 70                      89        LD      (HL),B\r
+    00000085 3E 00                   90        LD      A,BYTE3 dbNewRow\r
+    00000087 21 00 00                91        LD      HL,LWRD dbNewRow\r
+    0000008A CD 00 00                92        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000008D E5                      93        PUSH    HL\r
+    0000008E FD E1                   94        POP     IY\r
+    00000090 79                      95        LD      A,C\r
+    00000091 B0                      96        OR      B\r
+    00000092 CA 25 01                97        JP      Z,?0007\r
+    00000095                         98 ?0006:\r
+    00000095                         99 ?0028:\r
+    00000095 FD E5                  100        PUSH    IY\r
+    00000097 C1                     101        POP     BC\r
+    00000098 21 00 00               102        LD      HL,0\r
+    0000009B                        103 ?0029:\r
+    0000009B 39                     104        ADD     HL,SP\r
+    0000009C 5E                     105        LD      E,(HL)\r
+    0000009D                        106 ?0030:\r
+    0000009D 23                     107        INC     HL\r
+    0000009E 56                     108        LD      D,(HL)\r
+    0000009F                        109 ?0031:\r
+    0000009F 3E 00                  110        LD      A,BYTE3 dbNextRow\r
+    000000A1 21 00 00               111        LD      HL,LWRD dbNextRow\r
+    000000A4                        112 ?0032:\r
+    000000A4 CD 00 00               113        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000000A7                        114 ?0009:\r
+    000000A7 FD CB 03 7E            115        BIT     7,(IY+3)\r
+    000000AB 20 69                  116        JR      NZ,?0008\r
+    000000AD                        117 ?0010:\r
+    000000AD DD 21 00 00            118        LD      IX,0\r
+    000000B1                        119 ?0012:\r
+    000000B1 21 00 00               120        LD      HL,0\r
+    000000B4 39                     121        ADD     HL,SP\r
+    000000B5 7E                     122        LD      A,(HL)\r
+    000000B6 23                     123        INC     HL\r
+    000000B7 66                     124        LD      H,(HL)\r
+    000000B8 6F                     125        LD      L,A\r
+    000000B9 4E                     126        LD      C,(HL)\r
+    000000BA 23                     127        INC     HL\r
+    000000BB 46                     128        LD      B,(HL)\r
+    000000BC DD E5                  129        PUSH    IX\r
+    000000BE E1                     130        POP     HL\r
+    000000BF F6 80                  131        OR      128\r
+    000000C1 ED 42                  132        SBC     HL,BC\r
+    000000C3 E2 C7 00               133        JP      PO,?0027\r
+    000000C6 AC                     134        XOR     H\r
+    000000C7                        135 ?0027:\r
+    000000C7 F2 F5 00               136        JP      P,?0011\r
+    000000CA                        137 ?0013:\r
+    000000CA 21 04 01               138        LD      HL,260\r
+    000000CD 39                     139        ADD     HL,SP\r
+    000000CE E5                     140        PUSH    HL\r
+    000000CF DD E5                  141        PUSH    IX\r
+    000000D1 C1                     142        POP     BC\r
+    000000D2 FD E5                  143        PUSH    IY\r
+    000000D4 D1                     144        POP     DE\r
+    000000D5 3E 00                  145        LD      A,BYTE3 dbGetString\r
+    000000D7 21 00 00               146        LD      HL,LWRD dbGetString\r
+    000000DA CD 00 00               147        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000000DD E1                     148        POP     HL\r
+    000000DE 21 04 01               149        LD      HL,260\r
+    000000E1 39                     150        ADD     HL,SP\r
+    000000E2 E5                     151        PUSH    HL\r
+    000000E3 21 09 00               152        LD      HL,?0015\r
+    000000E6 E5                     153        PUSH    HL\r
+    000000E7 3E 00                  154        LD      A,BYTE3 printf\r
+    000000E9 21 00 00               155        LD      HL,LWRD printf\r
+    000000EC CD 00 00               156        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000000EF F1                     157        POP     AF\r
+    000000F0 F1                     158        POP     AF\r
+    000000F1 DD 23                  159        INC     IX\r
+    000000F3 18 BC                  160        JR      ?0012\r
+    000000F5                        161 ?0011:\r
+    000000F5 21 0F 00               162        LD      HL,?0016\r
+    000000F8 E5                     163        PUSH    HL\r
+    000000F9 3E 00                  164        LD      A,BYTE3 printf\r
+    000000FB 21 00 00               165        LD      HL,LWRD printf\r
+    000000FE CD 00 00               166        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000101 F1                     167        POP     AF\r
+    00000102 18 91                  168        JR      ?0028\r
+    00000104 21 00 00               169        LD      HL,0\r
+    00000107 18 92                  170        JR      ?0029\r
+    00000109 5E                     171        LD      E,(HL)\r
+    0000010A 18 91                  172        JR      ?0030\r
+    0000010C 56                     173        LD      D,(HL)\r
+    0000010D 18 90                  174        JR      ?0031\r
+    0000010F 21 00 00               175        LD      HL,LWRD dbNextRow\r
+    00000112 18 90                  176        JR      ?0032\r
+    00000114 18 91                  177        JR      ?0009\r
+    00000116                        178 ?0008:\r
+    00000116 21 00 00               179        LD      HL,0\r
+    00000119 39                     180        ADD     HL,SP\r
+    0000011A 5E                     181        LD      E,(HL)\r
+    0000011B 23                     182        INC     HL\r
+    0000011C 56                     183        LD      D,(HL)\r
+    0000011D 3E 00                  184        LD      A,BYTE3 dbResultSetClose\r
+    0000011F 21 00 00               185        LD      HL,LWRD dbResultSetClose\r
+    00000122 CD 00 00               186        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000125                        187 ?0007:\r
+    00000125 FD E5                  188        PUSH    IY\r
+    00000127 D1                     189        POP     DE\r
+    00000128 3E 00                  190        LD      A,BYTE3 dbDeleteRow\r
+    0000012A 21 00 00               191        LD      HL,LWRD dbDeleteRow\r
+    0000012D CD 00 00               192        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000130 C3 33 00               193        JP      LWRD ?0002\r
+    00000133                        194 ?0001:\r
+    00000133 21 6E 01               195        LD      HL,366\r
+    00000136 39                     196        ADD     HL,SP\r
+    00000137 F9                     197        LD      SP,HL\r
+    00000138 DD E1                  198        POP     IX\r
+    0000013A FD E1                  199        POP     IY\r
+    0000013C D1                     200        POP     DE\r
+    0000013D C1                     201        POP     BC\r
+    0000013E C3 00 00               202        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+                                    203        RSEG    CSTR\r
+    00000000                        204 ?0004:\r
+    00000000 51 54                  205        DEFB    'QT'\r
+    00000002 00                     206        DEFB    0\r
+    00000003                        207 ?0005:\r
+    00000003 53 51 4C 3E 20         208        DEFB    'SQL> '\r
+    00000008 00                     209        DEFB    0\r
+    00000009                        210 ?0015:\r
+    00000009 27 25 73 27 2C         211        DEFB    '''%s'','\r
+    0000000E 00                     212        DEFB    0\r
+    0000000F                        213 ?0016:\r
+    0000000F 0A 00                  214        DEFB    10,0\r
+                                    215        RSEG    CONST\r
+    00000000                        216 ?0000:\r
+    00000000 53 45 4C 20 63 6F 6C   217        DEFB    'SEL column1, column2, testtest FR test'\r
+             75 6D 6E 31 2C 20 63\r
+             6F 6C 75 6D 6E 32 2C\r
+             20 74 65 73 74 74 65\r
+             73 74 20 46 52 20 74\r
+             65 73 74\r
+    00000026 00                     218        DEFB    0\r
+    00000027                        219        END\r
+\fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
+Hexadecimal [32-Bits]\r
+\r
+Symbol Table\r
+\r
+    .__.ABS.       =    00000000 G   |   3 ?0000               00000000 R\r
+  1 ?0001               00000133 R   |   1 ?0002               00000033 R\r
+  1 ?0003               00000048 R   |   2 ?0004               00000000 R\r
+  2 ?0005               00000003 R   |   1 ?0006               00000095 R\r
+  1 ?0007               00000125 R   |   1 ?0008               00000116 R\r
+  1 ?0009               000000A7 R   |   1 ?0010               000000AD R\r
+  1 ?0011               000000F5 R   |   1 ?0012               000000B1 R\r
+  1 ?0013               000000CA R   |   2 ?0015               00000009 R\r
+  2 ?0016               0000000F R   |   1 ?0027               000000C7 R\r
+  1 ?0028               00000095 R   |   1 ?0029               0000009B R\r
+  1 ?0030               0000009D R   |   1 ?0031               0000009F R\r
+  1 ?0032               000000A4 R   |     ?BANK_CALL_DIR      ******** GX\r
+    ?BANK_FAST_LEA      ******** GX  |     ?CL64180B_4_06      ******** GX\r
+    dbDeleteRow         ******** GX  |     dbExecuteState      ******** GX\r
+    dbGetString         ******** GX  |     dbNewRow            ******** GX\r
+    dbNextRow           ******** GX  |     dbResultSetClo      ******** GX\r
+    fflush              ******** GX  |     gets                ******** GX\r
+  1 main                00000000 GR  |     malloc              ******** GX\r
+    printf              ******** GX  |     stdout              ******** GX\r
+    strcmp              ******** GX\r
+\fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
+Hexadecimal [32-Bits]\r
+\r
+Area Table\r
+\r
+   0 _DEFAULT         size        0   flags   0\r
+   1 CODE             size      141   flags   0\r
+   2 CSTR             size       11   flags   0\r
+   3 CONST            size       27   flags   0\r
diff --git a/src/db/main.rel b/src/db/main.rel
new file mode 100644 (file)
index 0000000..99f5b63
--- /dev/null
@@ -0,0 +1,188 @@
+XL4\r
+H 4 areas 11 global symbols\r
+M main\r
+S ?BANK_FAST_LEAVE_L08 Ref00000000\r
+S dbResultSetClose Ref00000000\r
+S fflush Ref00000000\r
+S dbExecuteStatement Ref00000000\r
+S dbDeleteRow Ref00000000\r
+S printf Ref00000000\r
+S strcmp Ref00000000\r
+S dbNextRow Ref00000000\r
+S dbGetString Ref00000000\r
+S ?BANK_CALL_DIRECT_L08 Ref00000000\r
+S stdout Ref00000000\r
+S dbNewRow Ref00000000\r
+S gets Ref00000000\r
+S ?CL64180B_4_06_L00 Ref00000000\r
+S malloc Ref00000000\r
+S .__.ABS. Def00000000\r
+A _DEFAULT size 0 flags 0\r
+A CODE size 141 flags 0\r
+S main Def00000000\r
+A CSTR size 11 flags 0\r
+A CONST size 27 flags 0\r
+T 00 00 00 00\r
+R 00 00 01 00\r
+T 00 00 00 00 C5 D5 FD E5 DD E5 21 92 FE 39 F9\r
+R 00 00 01 00\r
+T 0B 00 00 00 21 46 01 39 EB 21 00 00 00 00 01\r
+R 00 00 01 00 00 0A 03 00\r
+T 14 00 00 00 27 00 ED B0 11 06 00 3E\r
+R 00 00 01 00\r
+T 1C 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 0E 00 02 09 0E 00\r
+T 21 00 00 00 00 00 00 00 11 14 00 3E\r
+R 00 00 01 00 02 04 09 00\r
+T 27 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 0E 00 02 09 0E 00\r
+T 2C 00 00 00 00 00 00 00 21 04 00 39 70\r
+R 00 00 01 00 02 04 09 00\r
+T 33 00 00 00\r
+R 00 00 01 00\r
+T 33 00 00 00 01 00 00 00 00 21 04 00 39 EB 3E\r
+R 00 00 01 00 00 05 02 00\r
+T 3C 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 06 00 02 09 06 00\r
+T 41 00 00 00 00 00 00 00 7D B4 CA 33 01 00 00\r
+R 00 00 01 00 02 04 09 00 00 0B 01 00\r
+T 48 00 00 00\r
+R 00 00 01 00\r
+T 48 00 00 00 21 03 00 00 00 E5 3E 00 00 00 00\r
+R 00 00 01 00 00 05 02 00 2B 0B 05 00\r
+T 4E 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1\r
+R 00 00 01 00 02 05 05 00 02 0A 09 00\r
+T 55 00 00 00 11 00 00 00 00 3E 00 00 00 00 21\r
+R 00 00 01 00 02 05 0A 00 2B 0A 02 00\r
+T 5B 00 00 00 00 00 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 02 04 02 00 02 09 09 00\r
+T 61 00 00 00 04 00 39 EB 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 09 0C 00\r
+T 68 00 00 00 00 00 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 02 04 0C 00 02 09 09 00\r
+T 6E 00 00 00 00 00 39 E5 21 06 00 39 EB 3E\r
+R 00 00 01 00\r
+T 78 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 03 00 02 09 03 00\r
+T 7D 00 00 00 00 00 00 00 4D 44 E1 71 23 70 3E\r
+R 00 00 01 00 02 04 09 00\r
+T 86 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 0B 00 02 09 0B 00\r
+T 8B 00 00 00 00 00 00 00 E5 FD E1 79 B0 CA\r
+R 00 00 01 00 02 04 09 00\r
+T 93 00 00 00 25 01 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 95 00 00 00\r
+R 00 00 01 00\r
+T 95 00 00 00\r
+R 00 00 01 00\r
+T 95 00 00 00 FD E5 C1 21 00 00\r
+R 00 00 01 00\r
+T 9B 00 00 00\r
+R 00 00 01 00\r
+T 9B 00 00 00 39 5E\r
+R 00 00 01 00\r
+T 9D 00 00 00\r
+R 00 00 01 00\r
+T 9D 00 00 00 23 56\r
+R 00 00 01 00\r
+T 9F 00 00 00\r
+R 00 00 01 00\r
+T 9F 00 00 00 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 05 07 00 02 0A 07 00\r
+T A4 00 00 00\r
+R 00 00 01 00\r
+T A4 00 00 00 CD 00 00 00 00\r
+R 00 00 01 00 02 05 09 00\r
+T A7 00 00 00\r
+R 00 00 01 00\r
+T A7 00 00 00 FD CB 03 7E 20 69\r
+R 00 00 01 00\r
+T AD 00 00 00\r
+R 00 00 01 00\r
+T AD 00 00 00 DD 21 00 00\r
+R 00 00 01 00\r
+T B1 00 00 00\r
+R 00 00 01 00\r
+T B1 00 00 00 21 00 00 39 7E 23 66 6F 4E 23 46\r
+R 00 00 01 00\r
+T BC 00 00 00 DD E5 E1 F6 80 ED 42 E2\r
+R 00 00 01 00\r
+T C4 00 00 00 C7 00 00 00 AC\r
+R 00 00 01 00 00 04 01 00\r
+T C7 00 00 00\r
+R 00 00 01 00\r
+T C7 00 00 00 F2 F5 00 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T CA 00 00 00\r
+R 00 00 01 00\r
+T CA 00 00 00 21 04 01 39 E5 DD E5 C1 FD E5 D1\r
+R 00 00 01 00\r
+T D5 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 05 08 00 02 0A 08 00\r
+T DB 00 00 00 00 00 00 00 E1 21 04 01 39 E5 21\r
+R 00 00 01 00 02 04 09 00\r
+T E4 00 00 00 09 00 00 00 E5 3E 00 00 00 00 21\r
+R 00 00 01 00 00 04 02 00 2B 0A 05 00\r
+T EA 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 02 04 05 00 02 09 09 00\r
+T F1 00 00 00 DD 23 18 BC\r
+R 00 00 01 00\r
+T F5 00 00 00\r
+R 00 00 01 00\r
+T F5 00 00 00 21 0F 00 00 00 E5 3E 00 00 00 00\r
+R 00 00 01 00 00 05 02 00 2B 0B 05 00\r
+T FB 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1\r
+R 00 00 01 00 02 05 05 00 02 0A 09 00\r
+T 02 01 00 00 18 91 21 00 00 18 92 5E 18 91 56\r
+R 00 00 01 00\r
+T 0D 01 00 00 18 90 21 00 00 00 00 18 90 18 91\r
+R 00 00 01 00 02 07 07 00\r
+T 16 01 00 00\r
+R 00 00 01 00\r
+T 16 01 00 00 21 00 00 39 5E 23 56 3E\r
+R 00 00 01 00\r
+T 1E 01 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 01 00 02 09 01 00\r
+T 23 01 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 09 00\r
+T 25 01 00 00\r
+R 00 00 01 00\r
+T 25 01 00 00 FD E5 D1 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 08 04 00\r
+T 2B 01 00 00 00 00 00 00 CD 00 00 00 00 C3\r
+R 00 00 01 00 02 04 04 00 02 09 09 00\r
+T 31 01 00 00 33 00 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 33 01 00 00\r
+R 00 00 01 00\r
+T 33 01 00 00 21 6E 01 39 F9 DD E1 FD E1 D1 C1\r
+R 00 00 01 00\r
+T 3E 01 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 00 00\r
+T 00 00 00 00\r
+R 00 00 02 00\r
+T 00 00 00 00 51 54 00\r
+R 00 00 02 00\r
+T 03 00 00 00\r
+R 00 00 02 00\r
+T 03 00 00 00 53 51 4C 3E 20 00\r
+R 00 00 02 00\r
+T 09 00 00 00\r
+R 00 00 02 00\r
+T 09 00 00 00 27 25 73 27 2C 00\r
+R 00 00 02 00\r
+T 0F 00 00 00\r
+R 00 00 02 00\r
+T 0F 00 00 00 0A 00\r
+R 00 00 02 00\r
+T 00 00 00 00\r
+R 00 00 03 00\r
+T 00 00 00 00 53 45 4C 20 63 6F 6C 75 6D 6E 31\r
+R 00 00 03 00\r
+T 0B 00 00 00 2C 20 63 6F 6C 75 6D 6E 32 2C 20\r
+R 00 00 03 00\r
+T 16 00 00 00 74 65 73 74 74 65 73 74 20 46 52\r
+R 00 00 03 00\r
+T 21 00 00 00 20 74 65 73 74 00\r
+R 00 00 03 00\r
diff --git a/src/db/main.rst b/src/db/main.rst
new file mode 100644 (file)
index 0000000..87cefc4
--- /dev/null
@@ -0,0 +1,258 @@
+                                      1        NAME    main(17)\r
+                                      2        RSEG    CODE(0)\r
+                                      3        RSEG    CSTR(0)\r
+                                      4        RSEG    CONST(0)\r
+                                      5        EXTERN  dbDeleteRow\r
+                                      6        EXTERN  dbExecuteStatement\r
+                                      7        EXTERN  dbGetString\r
+                                      8        EXTERN  dbNewRow\r
+                                      9        EXTERN  dbNextRow\r
+                                     10        EXTERN  dbResultSetClose\r
+                                     11        EXTERN  fflush\r
+                                     12        EXTERN  gets\r
+                                     13        PUBLIC  main\r
+                                     14        EXTERN  malloc\r
+                                     15        EXTERN  printf\r
+                                     16        EXTERN  stdout\r
+                                     17        EXTERN  strcmp\r
+                                     18        EXTERN  ?CL64180B_4_06_L00\r
+                                     19        EXTERN  ?BANK_CALL_DIRECT_L08\r
+                                     20        EXTERN  ?BANK_FAST_LEAVE_L08\r
+                                     21        RSEG    CODE\r
+    00006F9C                         22 main:\r
+    00006F9C C5                      23        PUSH    BC\r
+    00006F9D D5                      24        PUSH    DE\r
+    00006F9E FD E5                   25        PUSH    IY\r
+    00006FA0 DD E5                   26        PUSH    IX\r
+    00006FA2 21 92 FE                27        LD      HL,65170\r
+    00006FA5 39                      28        ADD     HL,SP\r
+    00006FA6 F9                      29        LD      SP,HL\r
+    00006FA7 21 46 01                30        LD      HL,326\r
+    00006FAA 39                      31        ADD     HL,SP\r
+    00006FAB EB                      32        EX      DE,HL\r
+    00006FAC 21 5A 84                33        LD      HL,?0000\r
+    00006FAF 01 27 00                34        LD      BC,39\r
+    00006FB2 ED B0                   35        LDIR\r
+    00006FB4 11 06 00                36        LD      DE,6\r
+    00006FB7 3E 01                   37        LD      A,BYTE3 malloc\r
+    00006FB9 21 82 4A                38        LD      HL,LWRD malloc\r
+    00006FBC CD 19 82                39        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006FBF 11 14 00                40        LD      DE,20\r
+    00006FC2 3E 01                   41        LD      A,BYTE3 malloc\r
+    00006FC4 21 82 4A                42        LD      HL,LWRD malloc\r
+    00006FC7 CD 19 82                43        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006FCA 21 04 00                44        LD      HL,4\r
+    00006FCD 39                      45        ADD     HL,SP\r
+    00006FCE 70                      46        LD      (HL),B\r
+    00006FCF                         47 ?0002:\r
+    00006FCF 01 D6 84                48        LD      BC,?0004\r
+    00006FD2 21 04 00                49        LD      HL,4\r
+    00006FD5 39                      50        ADD     HL,SP\r
+    00006FD6 EB                      51        EX      DE,HL\r
+    00006FD7 3E 00                   52        LD      A,BYTE3 strcmp\r
+    00006FD9 21 93 7D                53        LD      HL,LWRD strcmp\r
+    00006FDC CD 19 82                54        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006FDF 7D                      55        LD      A,L\r
+    00006FE0 B4                      56        OR      H\r
+    00006FE1 CA CF 70                57        JP      Z,?0001\r
+    00006FE4                         58 ?0003:\r
+    00006FE4 21 D9 84                59        LD      HL,?0005\r
+    00006FE7 E5                      60        PUSH    HL\r
+    00006FE8 3E 00                   61        LD      A,BYTE3 printf\r
+    00006FEA 21 32 7A                62        LD      HL,LWRD printf\r
+    00006FED CD 19 82                63        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006FF0 F1                      64        POP     AF\r
+    00006FF1 11 0D 85                65        LD      DE,stdout\r
+    00006FF4 3E 00                   66        LD      A,BYTE3 fflush\r
+    00006FF6 21 EC 72                67        LD      HL,LWRD fflush\r
+    00006FF9 CD 19 82                68        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006FFC 21 04 00                69        LD      HL,4\r
+    00006FFF 39                      70        ADD     HL,SP\r
+    00007000 EB                      71        EX      DE,HL\r
+    00007001 3E 01                   72        LD      A,BYTE3 gets\r
+    00007003 21 C4 49                73        LD      HL,LWRD gets\r
+    00007006 CD 19 82                74        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007009 21 00 00                75        LD      HL,0\r
+    0000700C 39                      76        ADD     HL,SP\r
+    0000700D E5                      77        PUSH    HL\r
+    0000700E 21 06 00                78        LD      HL,6\r
+    00007011 39                      79        ADD     HL,SP\r
+    00007012 EB                      80        EX      DE,HL\r
+    00007013 3E 00                   81        LD      A,BYTE3 dbExecuteStatement\r
+    00007015 21 73 61                82        LD      HL,LWRD dbExecuteStatement\r
+    00007018 CD 19 82                83        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000701B 4D                      84        LD      C,L\r
+    0000701C 44                      85        LD      B,H\r
+    0000701D E1                      86        POP     HL\r
+    0000701E 71                      87        LD      (HL),C\r
+    0000701F 23                      88        INC     HL\r
+    00007020 70                      89        LD      (HL),B\r
+    00007021 3E 00                   90        LD      A,BYTE3 dbNewRow\r
+    00007023 21 99 62                91        LD      HL,LWRD dbNewRow\r
+    00007026 CD 19 82                92        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007029 E5                      93        PUSH    HL\r
+    0000702A FD E1                   94        POP     IY\r
+    0000702C 79                      95        LD      A,C\r
+    0000702D B0                      96        OR      B\r
+    0000702E CA C1 70                97        JP      Z,?0007\r
+    00007031                         98 ?0006:\r
+    00007031                         99 ?0028:\r
+    00007031 FD E5                  100        PUSH    IY\r
+    00007033 C1                     101        POP     BC\r
+    00007034 21 00 00               102        LD      HL,0\r
+    00007037                        103 ?0029:\r
+    00007037 39                     104        ADD     HL,SP\r
+    00007038 5E                     105        LD      E,(HL)\r
+    00007039                        106 ?0030:\r
+    00007039 23                     107        INC     HL\r
+    0000703A 56                     108        LD      D,(HL)\r
+    0000703B                        109 ?0031:\r
+    0000703B 3E 00                  110        LD      A,BYTE3 dbNextRow\r
+    0000703D 21 DF 61               111        LD      HL,LWRD dbNextRow\r
+    00007040                        112 ?0032:\r
+    00007040 CD 19 82               113        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007043                        114 ?0009:\r
+    00007043 FD CB 03 7E            115        BIT     7,(IY+3)\r
+    00007047 20 69                  116        JR      NZ,?0008\r
+    00007049                        117 ?0010:\r
+    00007049 DD 21 00 00            118        LD      IX,0\r
+    0000704D                        119 ?0012:\r
+    0000704D 21 00 00               120        LD      HL,0\r
+    00007050 39                     121        ADD     HL,SP\r
+    00007051 7E                     122        LD      A,(HL)\r
+    00007052 23                     123        INC     HL\r
+    00007053 66                     124        LD      H,(HL)\r
+    00007054 6F                     125        LD      L,A\r
+    00007055 4E                     126        LD      C,(HL)\r
+    00007056 23                     127        INC     HL\r
+    00007057 46                     128        LD      B,(HL)\r
+    00007058 DD E5                  129        PUSH    IX\r
+    0000705A E1                     130        POP     HL\r
+    0000705B F6 80                  131        OR      128\r
+    0000705D ED 42                  132        SBC     HL,BC\r
+    0000705F E2 63 70               133        JP      PO,?0027\r
+    00007062 AC                     134        XOR     H\r
+    00007063                        135 ?0027:\r
+    00007063 F2 91 70               136        JP      P,?0011\r
+    00007066                        137 ?0013:\r
+    00007066 21 04 01               138        LD      HL,260\r
+    00007069 39                     139        ADD     HL,SP\r
+    0000706A E5                     140        PUSH    HL\r
+    0000706B DD E5                  141        PUSH    IX\r
+    0000706D C1                     142        POP     BC\r
+    0000706E FD E5                  143        PUSH    IY\r
+    00007070 D1                     144        POP     DE\r
+    00007071 3E 00                  145        LD      A,BYTE3 dbGetString\r
+    00007073 21 C6 62               146        LD      HL,LWRD dbGetString\r
+    00007076 CD 19 82               147        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007079 E1                     148        POP     HL\r
+    0000707A 21 04 01               149        LD      HL,260\r
+    0000707D 39                     150        ADD     HL,SP\r
+    0000707E E5                     151        PUSH    HL\r
+    0000707F 21 DF 84               152        LD      HL,?0015\r
+    00007082 E5                     153        PUSH    HL\r
+    00007083 3E 00                  154        LD      A,BYTE3 printf\r
+    00007085 21 32 7A               155        LD      HL,LWRD printf\r
+    00007088 CD 19 82               156        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000708B F1                     157        POP     AF\r
+    0000708C F1                     158        POP     AF\r
+    0000708D DD 23                  159        INC     IX\r
+    0000708F 18 BC                  160        JR      ?0012\r
+    00007091                        161 ?0011:\r
+    00007091 21 E5 84               162        LD      HL,?0016\r
+    00007094 E5                     163        PUSH    HL\r
+    00007095 3E 00                  164        LD      A,BYTE3 printf\r
+    00007097 21 32 7A               165        LD      HL,LWRD printf\r
+    0000709A CD 19 82               166        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000709D F1                     167        POP     AF\r
+    0000709E 18 91                  168        JR      ?0028\r
+    000070A0 21 00 00               169        LD      HL,0\r
+    000070A3 18 92                  170        JR      ?0029\r
+    000070A5 5E                     171        LD      E,(HL)\r
+    000070A6 18 91                  172        JR      ?0030\r
+    000070A8 56                     173        LD      D,(HL)\r
+    000070A9 18 90                  174        JR      ?0031\r
+    000070AB 21 DF 61               175        LD      HL,LWRD dbNextRow\r
+    000070AE 18 90                  176        JR      ?0032\r
+    000070B0 18 91                  177        JR      ?0009\r
+    000070B2                        178 ?0008:\r
+    000070B2 21 00 00               179        LD      HL,0\r
+    000070B5 39                     180        ADD     HL,SP\r
+    000070B6 5E                     181        LD      E,(HL)\r
+    000070B7 23                     182        INC     HL\r
+    000070B8 56                     183        LD      D,(HL)\r
+    000070B9 3E 00                  184        LD      A,BYTE3 dbResultSetClose\r
+    000070BB 21 1F 51               185        LD      HL,LWRD dbResultSetClose\r
+    000070BE CD 19 82               186        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000070C1                        187 ?0007:\r
+    000070C1 FD E5                  188        PUSH    IY\r
+    000070C3 D1                     189        POP     DE\r
+    000070C4 3E 00                  190        LD      A,BYTE3 dbDeleteRow\r
+    000070C6 21 7A 62               191        LD      HL,LWRD dbDeleteRow\r
+    000070C9 CD 19 82               192        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000070CC C3 CF 6F               193        JP      LWRD ?0002\r
+    000070CF                        194 ?0001:\r
+    000070CF 21 6E 01               195        LD      HL,366\r
+    000070D2 39                     196        ADD     HL,SP\r
+    000070D3 F9                     197        LD      SP,HL\r
+    000070D4 DD E1                  198        POP     IX\r
+    000070D6 FD E1                  199        POP     IY\r
+    000070D8 D1                     200        POP     DE\r
+    000070D9 C1                     201        POP     BC\r
+    000070DA C3 A9 81               202        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+                                    203        RSEG    CSTR\r
+    000084D6                        204 ?0004:\r
+    000084D6 51 54                  205        DEFB    'QT'\r
+    000084D8 00                     206        DEFB    0\r
+    000084D9                        207 ?0005:\r
+    000084D9 53 51 4C 3E 20         208        DEFB    'SQL> '\r
+    000084DE 00                     209        DEFB    0\r
+    000084DF                        210 ?0015:\r
+    000084DF 27 25 73 27 2C         211        DEFB    '''%s'','\r
+    000084E4 00                     212        DEFB    0\r
+    000084E5                        213 ?0016:\r
+    000084E5 0A 00                  214        DEFB    10,0\r
+                                    215        RSEG    CONST\r
+    0000845A                        216 ?0000:\r
+    0000845A 53 45 4C 20 63 6F 6C   217        DEFB    'SEL column1, column2, testtest FR test'\r
+             75 6D 6E 31 2C 20 63\r
+             6F 6C 75 6D 6E 32 2C\r
+             20 74 65 73 74 74 65\r
+             73 74 20 46 52 20 74\r
+             65 73 74\r
+    00008480 00                     218        DEFB    0\r
+    00000027                        219        END\r
+\fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
+Hexadecimal [32-Bits]\r
+\r
+Symbol Table\r
+\r
+    .__.ABS.       =    00000000 G   |   3 ?0000               00000000 R\r
+  1 ?0001               00000133 R   |   1 ?0002               00000033 R\r
+  1 ?0003               00000048 R   |   2 ?0004               00000000 R\r
+  2 ?0005               00000003 R   |   1 ?0006               00000095 R\r
+  1 ?0007               00000125 R   |   1 ?0008               00000116 R\r
+  1 ?0009               000000A7 R   |   1 ?0010               000000AD R\r
+  1 ?0011               000000F5 R   |   1 ?0012               000000B1 R\r
+  1 ?0013               000000CA R   |   2 ?0015               00000009 R\r
+  2 ?0016               0000000F R   |   1 ?0027               000000C7 R\r
+  1 ?0028               00000095 R   |   1 ?0029               0000009B R\r
+  1 ?0030               0000009D R   |   1 ?0031               0000009F R\r
+  1 ?0032               000000A4 R   |     ?BANK_CALL_DIR      ******** GX\r
+    ?BANK_FAST_LEA      ******** GX  |     ?CL64180B_4_06      ******** GX\r
+    dbDeleteRow         ******** GX  |     dbExecuteState      ******** GX\r
+    dbGetString         ******** GX  |     dbNewRow            ******** GX\r
+    dbNextRow           ******** GX  |     dbResultSetClo      ******** GX\r
+    fflush              ******** GX  |     gets                ******** GX\r
+  1 main                00000000 GR  |     malloc              ******** GX\r
+    printf              ******** GX  |     stdout              ******** GX\r
+    strcmp              ******** GX\r
+\fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
+Hexadecimal [32-Bits]\r
+\r
+Area Table\r
+\r
+   0 _DEFAULT         size        0   flags   0\r
+   1 CODE             size      141   flags   0\r
+   2 CSTR             size       11   flags   0\r
+   3 CONST            size       27   flags   0\r
diff --git a/src/db/main.s01 b/src/db/main.s01
new file mode 100644 (file)
index 0000000..a9159be
--- /dev/null
@@ -0,0 +1,219 @@
+       NAME    main(17)\r
+       RSEG    CODE(0)\r
+       RSEG    CSTR(0)\r
+       RSEG    CONST(0)\r
+       EXTERN  dbDeleteRow\r
+       EXTERN  dbExecuteStatement\r
+       EXTERN  dbGetString\r
+       EXTERN  dbNewRow\r
+       EXTERN  dbNextRow\r
+       EXTERN  dbResultSetClose\r
+       EXTERN  fflush\r
+       EXTERN  gets\r
+       PUBLIC  main\r
+       EXTERN  malloc\r
+       EXTERN  printf\r
+       EXTERN  stdout\r
+       EXTERN  strcmp\r
+       EXTERN  ?CL64180B_4_06_L00\r
+       EXTERN  ?BANK_CALL_DIRECT_L08\r
+       EXTERN  ?BANK_FAST_LEAVE_L08\r
+       RSEG    CODE\r
+main:\r
+       PUSH    BC\r
+       PUSH    DE\r
+       PUSH    IY\r
+       PUSH    IX\r
+       LD      HL,65170\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       LD      HL,326\r
+       ADD     HL,SP\r
+       EX      DE,HL\r
+       LD      HL,?0000\r
+       LD      BC,39\r
+       LDIR\r
+       LD      DE,6\r
+       LD      A,BYTE3 malloc\r
+       LD      HL,LWRD malloc\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      DE,20\r
+       LD      A,BYTE3 malloc\r
+       LD      HL,LWRD malloc\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,4\r
+       ADD     HL,SP\r
+       LD      (HL),B\r
+?0002:\r
+       LD      BC,?0004\r
+       LD      HL,4\r
+       ADD     HL,SP\r
+       EX      DE,HL\r
+       LD      A,BYTE3 strcmp\r
+       LD      HL,LWRD strcmp\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      A,L\r
+       OR      H\r
+       JP      Z,?0001\r
+?0003:\r
+       LD      HL,?0005\r
+       PUSH    HL\r
+       LD      A,BYTE3 printf\r
+       LD      HL,LWRD printf\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       LD      DE,stdout\r
+       LD      A,BYTE3 fflush\r
+       LD      HL,LWRD fflush\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,4\r
+       ADD     HL,SP\r
+       EX      DE,HL\r
+       LD      A,BYTE3 gets\r
+       LD      HL,LWRD gets\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      HL,6\r
+       ADD     HL,SP\r
+       EX      DE,HL\r
+       LD      A,BYTE3 dbExecuteStatement\r
+       LD      HL,LWRD dbExecuteStatement\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,L\r
+       LD      B,H\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       LD      A,BYTE3 dbNewRow\r
+       LD      HL,LWRD dbNewRow\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    HL\r
+       POP     IY\r
+       LD      A,C\r
+       OR      B\r
+       JP      Z,?0007\r
+?0006:\r
+?0028:\r
+       PUSH    IY\r
+       POP     BC\r
+       LD      HL,0\r
+?0029:\r
+       ADD     HL,SP\r
+       LD      E,(HL)\r
+?0030:\r
+       INC     HL\r
+       LD      D,(HL)\r
+?0031:\r
+       LD      A,BYTE3 dbNextRow\r
+       LD      HL,LWRD dbNextRow\r
+?0032:\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+?0009:\r
+       BIT     7,(IY+3)\r
+       JR      NZ,?0008\r
+?0010:\r
+       LD      IX,0\r
+?0012:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       PUSH    IX\r
+       POP     HL\r
+       OR      128\r
+       SBC     HL,BC\r
+       JP      PO,?0027\r
+       XOR     H\r
+?0027:\r
+       JP      P,?0011\r
+?0013:\r
+       LD      HL,260\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       PUSH    IX\r
+       POP     BC\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbGetString\r
+       LD      HL,LWRD dbGetString\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     HL\r
+       LD      HL,260\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      HL,?0015\r
+       PUSH    HL\r
+       LD      A,BYTE3 printf\r
+       LD      HL,LWRD printf\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       POP     AF\r
+       INC     IX\r
+       JR      ?0012\r
+?0011:\r
+       LD      HL,?0016\r
+       PUSH    HL\r
+       LD      A,BYTE3 printf\r
+       LD      HL,LWRD printf\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       JR      ?0028\r
+       LD      HL,0\r
+       JR      ?0029\r
+       LD      E,(HL)\r
+       JR      ?0030\r
+       LD      D,(HL)\r
+       JR      ?0031\r
+       LD      HL,LWRD dbNextRow\r
+       JR      ?0032\r
+       JR      ?0009\r
+?0008:\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 dbResultSetClose\r
+       LD      HL,LWRD dbResultSetClose\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+?0007:\r
+       PUSH    IY\r
+       POP     DE\r
+       LD      A,BYTE3 dbDeleteRow\r
+       LD      HL,LWRD dbDeleteRow\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       JP      LWRD ?0002\r
+?0001:\r
+       LD      HL,366\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       POP     IX\r
+       POP     IY\r
+       POP     DE\r
+       POP     BC\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+       RSEG    CSTR\r
+?0004:\r
+       DEFB    'QT'\r
+       DEFB    0\r
+?0005:\r
+       DEFB    'SQL> '\r
+       DEFB    0\r
+?0015:\r
+       DEFB    '''%s'','\r
+       DEFB    0\r
+?0016:\r
+       DEFB    10,0\r
+       RSEG    CONST\r
+?0000:\r
+       DEFB    'SEL column1, column2, testtest FR test'\r
+       DEFB    0\r
+       END\r
diff --git a/src/db/n.bat b/src/db/n.bat
new file mode 100644 (file)
index 0000000..3daf30d
--- /dev/null
@@ -0,0 +1,30 @@
+iccz80 -mb -v1 -s9 -A -I..\..\include\ -DZILOG db\r
+@if errorlevel 1 goto failure\r
+del db.r01\r
+as-z80 -l -o db.s01\r
+@if errorlevel 1 goto failure\r
+\r
+iccz80 -mb -v1 -s9 -A -I..\..\include\ -DZILOG main\r
+@if errorlevel 1 goto failure\r
+del main.r01\r
+as-z80 -l -o main.s01\r
+@if errorlevel 1 goto failure\r
+\r
+link-z80 -f db\r
+@if errorlevel 1 goto failure\r
+ihex2bin -l db.i86 ..\..\bin\banked\db\r
+@if errorlevel 1 goto failure\r
+\r
+copy test.DAT ..\..\bin\db\r
+copy test.TBL ..\..\bin\db\r
+\r
+cd ..\..\bin\r
+call appinst.bat\r
+cd ..\src\db\r
+\r
+@echo SUCCESS\r
+@goto done\r
+:failure\r
+@echo FAILURE\r
+:done\r
+\r
diff --git a/src/db/product.DAT b/src/db/product.DAT
new file mode 100644 (file)
index 0000000..1fb2165
Binary files /dev/null and b/src/db/product.DAT differ
diff --git a/src/db/product.TBL b/src/db/product.TBL
new file mode 100644 (file)
index 0000000..b12b97e
Binary files /dev/null and b/src/db/product.TBL differ
diff --git a/src/db/stock.DAT b/src/db/stock.DAT
new file mode 100644 (file)
index 0000000..d961fa1
Binary files /dev/null and b/src/db/stock.DAT differ
diff --git a/src/db/stock.TBL b/src/db/stock.TBL
new file mode 100644 (file)
index 0000000..9cb9c83
Binary files /dev/null and b/src/db/stock.TBL differ
diff --git a/src/db/test.DAT b/src/db/test.DAT
new file mode 100644 (file)
index 0000000..d2cd9f2
Binary files /dev/null and b/src/db/test.DAT differ
diff --git a/src/db/test.TBL b/src/db/test.TBL
new file mode 100644 (file)
index 0000000..b3f01b1
Binary files /dev/null and b/src/db/test.TBL differ
diff --git a/src/db/trans.DAT b/src/db/trans.DAT
new file mode 100644 (file)
index 0000000..d961fa1
Binary files /dev/null and b/src/db/trans.DAT differ
diff --git a/src/db/trans.TBL b/src/db/trans.TBL
new file mode 100644 (file)
index 0000000..3276d6c
Binary files /dev/null and b/src/db/trans.TBL differ
diff --git a/src/font/apibus!.txt b/src/font/apibus!.txt
new file mode 100644 (file)
index 0000000..4c51973
--- /dev/null
@@ -0,0 +1,26 @@
+# apibus.txt\r
+\r
+# chs2cmd infile.chs [outfile.cmd] slot\r
+chs2cmd set00nld.chs lcd0.cmd 0\r
+chs2cmd set01nld.chs lcd0.cmd 1\r
+chs2cmd set02nld.chs lcd0.cmd 2\r
+chs2cmd set03nld.chs lcd0.cmd 3\r
+chs2cmd set04nld.chs lcd0.cmd 4\r
+chs2cmd set00nld.chs lcd1.cmd 0\r
+chs2cmd set01nld.chs lcd1.cmd 1\r
+chs2cmd set02nld.chs lcd1.cmd 2\r
+chs2cmd set03nld.chs lcd1.cmd 3\r
+chs2cmd set04nld.chs lcd1.cmd 4\r
+\r
+# chs2hfm infile.chs device slot family style\r
+chs2hfm set00nld.chs 0 0 sans regular\r
+chs2hfm set01nld.chs 0 1 sans bold\r
+chs2hfm set02nld.chs 0 2 sans regular\r
+chs2hfm set03nld.chs 0 3 sans condensed\r
+chs2hfm set04nld.chs 0 4 sans regular\r
+chs2hfm set00nld.chs 1 0 sans regular\r
+chs2hfm set01nld.chs 1 1 sans bold\r
+chs2hfm set02nld.chs 1 2 sans regular\r
+chs2hfm set03nld.chs 1 3 sans condensed\r
+chs2hfm set04nld.chs 1 4 sans regular\r
+\r
index f29a718..fc1c9f0 100644 (file)
Binary files a/src/font/apibus.hfm and b/src/font/apibus.hfm differ
index 4c51973..f4da09a 100644 (file)
@@ -1,26 +1,44 @@
 # apibus.txt\r
 \r
+# bmp2txt infile.bmp [outfile.txt]\r
+bmp2txt sans07r.bmp\r
+bmp2txt sans07b.bmp\r
+bmp2txt sans09r.bmp\r
+bmp2txt sans12r.bmp\r
+bmp2txt sans16r.bmp\r
+bmp2txt sans07c.bmp\r
+\r
+# txt2chs infile.txt [outfile.chs] x_space y_space\r
+txt2chs sans07r.txt 1 3\r
+txt2chs sans07b.txt 1 3\r
+txt2chs sans09r.txt 1 4\r
+txt2chs sans12r.txt 2 5\r
+txt2chs sans16r.txt 2 7\r
+txt2chs sans07c.txt 1 3\r
+\r
 # chs2cmd infile.chs [outfile.cmd] slot\r
-chs2cmd set00nld.chs lcd0.cmd 0\r
-chs2cmd set01nld.chs lcd0.cmd 1\r
-chs2cmd set02nld.chs lcd0.cmd 2\r
-chs2cmd set03nld.chs lcd0.cmd 3\r
-chs2cmd set04nld.chs lcd0.cmd 4\r
-chs2cmd set00nld.chs lcd1.cmd 0\r
-chs2cmd set01nld.chs lcd1.cmd 1\r
-chs2cmd set02nld.chs lcd1.cmd 2\r
-chs2cmd set03nld.chs lcd1.cmd 3\r
-chs2cmd set04nld.chs lcd1.cmd 4\r
+chs2cmd sans07r.chs lcd0.cmd 1\r
+chs2cmd sans07b.chs lcd0.cmd 2\r
+chs2cmd sans09r.chs lcd0.cmd 3\r
+chs2cmd sans12r.chs lcd0.cmd 4\r
+chs2cmd sans16r.chs lcd0.cmd 5\r
+chs2cmd sans07c.chs lcd0.cmd 6\r
+chs2cmd sans07r.chs lcd1.cmd 1\r
+chs2cmd sans07b.chs lcd1.cmd 2\r
+chs2cmd sans09r.chs lcd1.cmd 3\r
+chs2cmd sans12r.chs lcd1.cmd 4\r
+chs2cmd sans16r.chs lcd1.cmd 5\r
 \r
 # chs2hfm infile.chs device slot family style\r
-chs2hfm set00nld.chs 0 0 sans regular\r
-chs2hfm set01nld.chs 0 1 sans bold\r
-chs2hfm set02nld.chs 0 2 sans regular\r
-chs2hfm set03nld.chs 0 3 sans condensed\r
-chs2hfm set04nld.chs 0 4 sans regular\r
-chs2hfm set00nld.chs 1 0 sans regular\r
-chs2hfm set01nld.chs 1 1 sans bold\r
-chs2hfm set02nld.chs 1 2 sans regular\r
-chs2hfm set03nld.chs 1 3 sans condensed\r
-chs2hfm set04nld.chs 1 4 sans regular\r
+chs2hfm sans07r.chs 0 1 sans regular\r
+chs2hfm sans07b.chs 0 2 sans bold\r
+chs2hfm sans09r.chs 0 3 sans regular\r
+chs2hfm sans12r.chs 0 4 sans regular\r
+chs2hfm sans16r.chs 0 5 sans regular\r
+chs2hfm sans07c.chs 0 6 sans condensed\r
+chs2hfm sans07r.chs 1 1 sans regular\r
+chs2hfm sans07b.chs 1 2 sans bold\r
+chs2hfm sans09r.chs 1 3 sans regular\r
+chs2hfm sans12r.chs 1 4 sans regular\r
+chs2hfm sans16r.chs 1 5 sans regular\r
 \r
diff --git a/src/font/large.psd b/src/font/large.psd
deleted file mode 100644 (file)
index d2f7656..0000000
Binary files a/src/font/large.psd and /dev/null differ
index 1f9121d..2cf784c 100644 (file)
Binary files a/src/font/lcd0.cmd and b/src/font/lcd0.cmd differ
index 1f9121d..8128008 100644 (file)
Binary files a/src/font/lcd1.cmd and b/src/font/lcd1.cmd differ
index ff767a1..14bad0e 100644 (file)
@@ -1,35 +1,35 @@
 /* set00nld.c generated from apibus.hfm, do not edit! */\r
 \r
-0x06,0x01,0x02,0x03,0x04,0xfc,0xfd,0xfe,\r
-0xff,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x07,0x06,0x0c,0xf4,0x06,0x06,\r
-0x06,0x02,0x04,0x06,0x06,0x06,0x06,0x03,\r
-0x04,0x04,0x06,0x06,0x03,0x06,0x03,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x03,0x03,0x05,0x06,0x05,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x02,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x04,0x06,0x04,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x02,0x05,0x05,0x03,0x06,0x06,0x06,\r
-0x06,0x06,0x05,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x05,0x02,0x05,0x07,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x03,0x06,0x03,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x03,0x07,0x0a,0x09,0x06,0x07,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\r
 \r
diff --git a/src/font/set01.bmp b/src/font/set01.bmp
deleted file mode 100644 (file)
index c49ae7a..0000000
Binary files a/src/font/set01.bmp and /dev/null differ
diff --git a/src/font/set01.chs b/src/font/set01.chs
deleted file mode 100644 (file)
index 311c8d5..0000000
Binary files a/src/font/set01.chs and /dev/null differ
diff --git a/src/font/set01.cmd b/src/font/set01.cmd
deleted file mode 100644 (file)
index bd79d3b..0000000
Binary files a/src/font/set01.cmd and /dev/null differ
diff --git a/src/font/set01.txt b/src/font/set01.txt
deleted file mode 100644 (file)
index 2b3e646..0000000
+++ /dev/null
@@ -1,1056 +0,0 @@
-at 15,17 size 2,10\r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-    \r
-##__\r
-    \r
-    \r
-at 21,17 size 4,10\r
-##  ##  \r
-##  ##  \r
-##  ##  \r
-        \r
-        \r
-        \r
-        \r
-________\r
-        \r
-        \r
-at 30,17 size 7,10\r
-              \r
-    ##  ##    \r
-    ##  ##    \r
-  ##########  \r
-  ##    ##    \r
-##########    \r
-  ##  ##      \r
-__##__##______\r
-              \r
-              \r
-at 41,17 size 6,10\r
-    ##      \r
-    ##      \r
-  ########  \r
-##  ##      \r
-  ####      \r
-    ####    \r
-    ##  ##  \r
-########____\r
-    ##      \r
-    ##      \r
-at 51,17 size 10,10\r
-                    \r
-  ####      ##      \r
-##    ##  ##        \r
-##    ##  ##        \r
-  ####  ##  ####    \r
-      ##  ##    ##  \r
-      ##  ##    ##  \r
-____##______####____\r
-                    \r
-                    \r
-at 65,17 size 7,10\r
-              \r
-  ####        \r
-##    ##      \r
-##    ##      \r
-  ####    ##  \r
-##    ##  ##  \r
-##      ##    \r
-__######__##__\r
-              \r
-              \r
-at 76,17 size 2,10\r
-##  \r
-##  \r
-##  \r
-    \r
-    \r
-    \r
-    \r
-____\r
-    \r
-    \r
-at 82,17 size 4,10\r
-    ##  \r
-  ##    \r
-##      \r
-##      \r
-##      \r
-##      \r
-##      \r
-##______\r
-  ##    \r
-    ##  \r
-at 90,17 size 4,10\r
-##      \r
-  ##    \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-____##__\r
-  ##    \r
-##      \r
-at 99,17 size 6,10\r
-    ##      \r
-##  ##  ##  \r
-  ######    \r
-##  ##  ##  \r
-    ##      \r
-            \r
-            \r
-____________\r
-            \r
-            \r
-at 108,17 size 8,10\r
-                \r
-      ##        \r
-      ##        \r
-      ##        \r
-##############  \r
-      ##        \r
-      ##        \r
-______##________\r
-                \r
-                \r
-at 120,17 size 3,10\r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-  ##  \r
-__##__\r
-##    \r
-      \r
-at 127,17 size 4,10\r
-        \r
-        \r
-        \r
-        \r
-######  \r
-        \r
-        \r
-________\r
-        \r
-        \r
-at 135,17 size 2,10\r
-    \r
-    \r
-    \r
-    \r
-    \r
-    \r
-##  \r
-##__\r
-    \r
-    \r
-at 141,17 size 5,10\r
-      ##  \r
-      ##  \r
-    ##    \r
-    ##    \r
-  ##      \r
-  ##      \r
-  ##      \r
-##________\r
-##        \r
-          \r
-at 151,17 size 6,10\r
-            \r
-  ######    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-__######____\r
-            \r
-            \r
-at 160,17 size 6,10\r
-            \r
-    ##      \r
-######      \r
-    ##      \r
-    ##      \r
-    ##      \r
-    ##      \r
-##########__\r
-            \r
-            \r
-at 170,17 size 6,10\r
-            \r
-  ######    \r
-##      ##  \r
-        ##  \r
-      ##    \r
-    ##      \r
-  ##        \r
-##########__\r
-            \r
-            \r
-at 180,17 size 6,10\r
-            \r
-  ######    \r
-##      ##  \r
-        ##  \r
-    ####    \r
-        ##  \r
-##      ##  \r
-__######____\r
-            \r
-            \r
-at 190,17 size 6,10\r
-            \r
-      ##    \r
-    ####    \r
-  ##  ##    \r
-##    ##    \r
-##########  \r
-      ##    \r
-______##____\r
-            \r
-            \r
-at 200,17 size 6,10\r
-            \r
-##########  \r
-##          \r
-########    \r
-        ##  \r
-        ##  \r
-##      ##  \r
-__######____\r
-            \r
-            \r
-at 210,17 size 6,10\r
-            \r
-    ####    \r
-  ##        \r
-##          \r
-########    \r
-##      ##  \r
-##      ##  \r
-__######____\r
-            \r
-            \r
-at 220,17 size 6,10\r
-            \r
-##########  \r
-        ##  \r
-      ##    \r
-      ##    \r
-    ##      \r
-    ##      \r
-__##________\r
-            \r
-            \r
-at 230,17 size 6,10\r
-            \r
-  ######    \r
-##      ##  \r
-##      ##  \r
-  ######    \r
-##      ##  \r
-##      ##  \r
-__######____\r
-            \r
-            \r
-at 239,17 size 6,10\r
-            \r
-  ######    \r
-##      ##  \r
-##      ##  \r
-  ########  \r
-        ##  \r
-      ##    \r
-__####______\r
-            \r
-            \r
-at 250,17 size 2,10\r
-    \r
-    \r
-    \r
-##  \r
-##  \r
-    \r
-##  \r
-##__\r
-    \r
-    \r
-at 257,17 size 3,10\r
-      \r
-      \r
-      \r
-  ##  \r
-  ##  \r
-      \r
-  ##  \r
-__##__\r
-##    \r
-      \r
-at 265,17 size 7,10\r
-              \r
-              \r
-        ####  \r
-    ####      \r
-####          \r
-    ####      \r
-        ####  \r
-______________\r
-              \r
-              \r
-at 277,17 size 7,10\r
-              \r
-              \r
-              \r
-############  \r
-              \r
-############  \r
-              \r
-______________\r
-              \r
-              \r
-at 289,17 size 7,10\r
-              \r
-              \r
-####          \r
-    ####      \r
-        ####  \r
-    ####      \r
-####          \r
-______________\r
-              \r
-              \r
-at 300,17 size 5,10\r
-          \r
-######    \r
-      ##  \r
-      ##  \r
-    ##    \r
-  ##      \r
-          \r
-__##______\r
-          \r
-          \r
-at 7,41 size 9,10\r
-                  \r
-    ##########    \r
-  ##          ##  \r
-##    ######  ##  \r
-##  ##    ##  ##  \r
-##  ##    ##  ##  \r
-##  ##    ##  ##  \r
-##____####__##____\r
-  ##              \r
-    ########      \r
-at 20,41 size 8,10\r
-                \r
-      ##        \r
-    ##  ##      \r
-    ##  ##      \r
-  ##      ##    \r
-  ##########    \r
-  ##      ##    \r
-##__________##__\r
-                \r
-                \r
-at 31,41 size 6,10\r
-            \r
-######      \r
-##    ##    \r
-##    ##    \r
-########    \r
-##      ##  \r
-##      ##  \r
-########____\r
-            \r
-            \r
-at 41,41 size 7,10\r
-              \r
-    ######    \r
-  ##      ##  \r
-##            \r
-##            \r
-##            \r
-  ##      ##  \r
-____######____\r
-              \r
-              \r
-at 52,41 size 7,10\r
-              \r
-########      \r
-##      ##    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##      ##    \r
-########______\r
-              \r
-              \r
-at 63,41 size 5,10\r
-          \r
-########  \r
-##        \r
-##        \r
-########  \r
-##        \r
-##        \r
-########__\r
-          \r
-          \r
-at 73,41 size 6,10\r
-            \r
-##########  \r
-##          \r
-##          \r
-########    \r
-##          \r
-##          \r
-##__________\r
-            \r
-            \r
-at 82,41 size 7,10\r
-              \r
-    ######    \r
-  ##      ##  \r
-##            \r
-##    ######  \r
-##        ##  \r
-  ##      ##  \r
-____########__\r
-              \r
-              \r
-at 93,41 size 7,10\r
-              \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-############  \r
-##        ##  \r
-##        ##  \r
-##________##__\r
-              \r
-              \r
-at 104,41 size 4,10\r
-        \r
-######  \r
-  ##    \r
-  ##    \r
-  ##    \r
-  ##    \r
-  ##    \r
-######__\r
-        \r
-        \r
-at 111,41 size 5,10\r
-          \r
-    ####  \r
-      ##  \r
-      ##  \r
-      ##  \r
-      ##  \r
-      ##  \r
-######____\r
-          \r
-          \r
-at 120,41 size 7,10\r
-              \r
-##      ##    \r
-##    ##      \r
-##  ##        \r
-######        \r
-##    ##      \r
-##      ##    \r
-##________##__\r
-              \r
-              \r
-at 131,41 size 6,10\r
-            \r
-##          \r
-##          \r
-##          \r
-##          \r
-##          \r
-##          \r
-##########__\r
-            \r
-            \r
-at 140,41 size 8,10\r
-                \r
-####      ####  \r
-####      ####  \r
-##  ##  ##  ##  \r
-##  ##  ##  ##  \r
-##    ##    ##  \r
-##    ##    ##  \r
-##__________##__\r
-                \r
-                \r
-at 152,41 size 6,10\r
-            \r
-##      ##  \r
-####    ##  \r
-##  ##  ##  \r
-##  ##  ##  \r
-##    ####  \r
-##      ##  \r
-##______##__\r
-            \r
-            \r
-at 163,41 size 8,10\r
-                \r
-    ######      \r
-  ##      ##    \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-  ##      ##    \r
-____######______\r
-                \r
-                \r
-at 174,41 size 6,10\r
-            \r
-########    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-########    \r
-##          \r
-##__________\r
-            \r
-            \r
-at 184,41 size 8,10\r
-                \r
-    ######      \r
-  ##      ##    \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-  ##      ##    \r
-____######______\r
-        ##      \r
-          ####  \r
-at 195,41 size 7,10\r
-              \r
-########      \r
-##      ##    \r
-##      ##    \r
-########      \r
-##    ##      \r
-##      ##    \r
-##________##__\r
-              \r
-              \r
-at 205,41 size 6,10\r
-            \r
-  ######    \r
-##      ##  \r
-##          \r
-  ######    \r
-        ##  \r
-##      ##  \r
-__######____\r
-            \r
-            \r
-at 215,41 size 8,10\r
-                \r
-##############  \r
-      ##        \r
-      ##        \r
-      ##        \r
-      ##        \r
-      ##        \r
-______##________\r
-                \r
-                \r
-at 225,41 size 7,10\r
-              \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-at 235,41 size 8,10\r
-                \r
-##          ##  \r
-  ##      ##    \r
-  ##      ##    \r
-  ##      ##    \r
-    ##  ##      \r
-    ##  ##      \r
-______##________\r
-                \r
-                \r
-at 247,41 size 10,10\r
-                    \r
-##      ##      ##  \r
-##      ##      ##  \r
-  ##  ##  ##  ##    \r
-  ##  ##  ##  ##    \r
-  ##  ##  ##  ##    \r
-    ##      ##      \r
-____##______##______\r
-                    \r
-                    \r
-at 260,41 size 6,10\r
-            \r
-##      ##  \r
-##      ##  \r
-  ##  ##    \r
-    ##      \r
-  ##  ##    \r
-##      ##  \r
-##______##__\r
-            \r
-            \r
-at 269,41 size 8,10\r
-                \r
-##          ##  \r
-  ##      ##    \r
-    ##  ##      \r
-      ##        \r
-      ##        \r
-      ##        \r
-______##________\r
-                \r
-                \r
-at 280,41 size 6,10\r
-            \r
-##########  \r
-        ##  \r
-      ##    \r
-    ##      \r
-  ##        \r
-##          \r
-##########__\r
-            \r
-            \r
-at 290,41 size 4,10\r
-######  \r
-##      \r
-##      \r
-##      \r
-##      \r
-##      \r
-##      \r
-##______\r
-##      \r
-######  \r
-at 297,41 size 5,10\r
-##        \r
-##        \r
-  ##      \r
-  ##      \r
-  ##      \r
-    ##    \r
-    ##    \r
-______##__\r
-      ##  \r
-          \r
-at 307,41 size 4,10\r
-######  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-____##__\r
-    ##  \r
-######  \r
-at 315,41 size 7,10\r
-              \r
-    ####      \r
-  ##    ##    \r
-##        ##  \r
-              \r
-              \r
-              \r
-______________\r
-              \r
-              \r
-at 325,41 size 7,10\r
-              \r
-              \r
-              \r
-              \r
-              \r
-              \r
-              \r
-______________\r
-              \r
-############  \r
-at 8,65 size 3,10\r
-##    \r
-  ##  \r
-      \r
-      \r
-      \r
-      \r
-      \r
-______\r
-      \r
-      \r
-at 17,65 size 6,10\r
-            \r
-            \r
-            \r
-  ######    \r
-        ##  \r
-  ########  \r
-##      ##  \r
-__########__\r
-            \r
-            \r
-at 26,65 size 6,10\r
-##          \r
-##          \r
-##          \r
-########    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-########____\r
-            \r
-            \r
-at 36,65 size 5,10\r
-          \r
-          \r
-          \r
-  ######  \r
-##        \r
-##        \r
-##        \r
-__######__\r
-          \r
-          \r
-at 45,65 size 6,10\r
-        ##  \r
-        ##  \r
-        ##  \r
-  ########  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-__########__\r
-            \r
-            \r
-at 55,65 size 6,10\r
-            \r
-            \r
-            \r
-  ######    \r
-##      ##  \r
-##########  \r
-##          \r
-__########__\r
-            \r
-            \r
-at 63,65 size 5,10\r
-    ####  \r
-  ##      \r
-  ##      \r
-########  \r
-  ##      \r
-  ##      \r
-  ##      \r
-__##______\r
-          \r
-          \r
-at 71,65 size 6,10\r
-            \r
-            \r
-            \r
-  ########  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-__########__\r
-        ##  \r
-  ######    \r
-at 81,65 size 6,10\r
-##          \r
-##          \r
-##          \r
-########    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##______##__\r
-            \r
-            \r
-at 91,65 size 2,10\r
-    \r
-##  \r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-    \r
-    \r
-at 96,65 size 3,10\r
-      \r
-  ##  \r
-      \r
-####  \r
-  ##  \r
-  ##  \r
-  ##  \r
-__##__\r
-  ##  \r
-##    \r
-at 104,65 size 6,10\r
-##          \r
-##          \r
-##          \r
-##    ##    \r
-##  ##      \r
-######      \r
-##    ##    \r
-##______##__\r
-            \r
-            \r
-at 113,65 size 2,10\r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-    \r
-    \r
-at 120,65 size 10,10\r
-                    \r
-                    \r
-                    \r
-########  ######    \r
-##      ##      ##  \r
-##      ##      ##  \r
-##      ##      ##  \r
-##______##______##__\r
-                    \r
-                    \r
-at 133,65 size 6,10\r
-            \r
-            \r
-            \r
-########    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##______##__\r
-            \r
-            \r
-at 143,65 size 6,10\r
-            \r
-            \r
-            \r
-  ######    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-__######____\r
-            \r
-            \r
-at 152,65 size 6,10\r
-            \r
-            \r
-            \r
-########    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-########____\r
-##          \r
-##          \r
-at 162,65 size 6,10\r
-            \r
-            \r
-            \r
-  ########  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-__########__\r
-        ##  \r
-        ##  \r
-at 172,65 size 4,10\r
-        \r
-        \r
-        \r
-##  ##  \r
-####    \r
-##      \r
-##      \r
-##______\r
-        \r
-        \r
-at 180,65 size 5,10\r
-          \r
-          \r
-          \r
-  ######  \r
-##        \r
-  ####    \r
-      ##  \r
-######____\r
-          \r
-          \r
-at 187,65 size 5,10\r
-          \r
-  ##      \r
-  ##      \r
-########  \r
-  ##      \r
-  ##      \r
-  ##      \r
-____####__\r
-          \r
-          \r
-at 196,65 size 6,10\r
-            \r
-            \r
-            \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-__########__\r
-            \r
-            \r
-at 206,65 size 5,10\r
-          \r
-          \r
-          \r
-##    ##  \r
-##    ##  \r
-##    ##  \r
-  ####    \r
-__####____\r
-          \r
-          \r
-at 215,65 size 6,10\r
-            \r
-            \r
-            \r
-##      ##  \r
-##  ##  ##  \r
-##  ##  ##  \r
-  ##  ##    \r
-__##__##____\r
-            \r
-            \r
-at 227,65 size 6,10\r
-            \r
-            \r
-            \r
-##      ##  \r
-  ##  ##    \r
-    ##      \r
-  ##  ##    \r
-##______##__\r
-            \r
-            \r
-at 236,65 size 5,10\r
-          \r
-          \r
-          \r
-##    ##  \r
-##    ##  \r
-##    ##  \r
-  ####    \r
-____##____\r
-  ##      \r
-  ##      \r
-at 246,65 size 5,10\r
-          \r
-          \r
-          \r
-########  \r
-    ##    \r
-  ##      \r
-##        \r
-########__\r
-          \r
-          \r
-at 254,65 size 6,10\r
-      ####  \r
-    ##      \r
-    ##      \r
-    ##      \r
-    ##      \r
-####        \r
-    ##      \r
-____##______\r
-    ##      \r
-      ####  \r
-at 265,65 size 2,10\r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-##  \r
-##  \r
-at 271,65 size 6,10\r
-####        \r
-    ##      \r
-    ##      \r
-    ##      \r
-    ##      \r
-      ####  \r
-    ##      \r
-____##______\r
-    ##      \r
-####        \r
-at 282,65 size 7,10\r
-              \r
-              \r
-              \r
-  ##      ##  \r
-##  ####  ##  \r
-##      ##    \r
-              \r
-______________\r
-              \r
-              \r
-at 293,65 size 7,10\r
-              \r
-    ######    \r
-  ##      ##  \r
-########      \r
-  ##          \r
-########      \r
-  ##      ##  \r
-____######____\r
-              \r
-              \r
-at 303,65 size 6,10\r
-            \r
-            \r
-      ##    \r
-  ########  \r
-##          \r
-##          \r
-##          \r
-__########__\r
-      ##    \r
-            \r
index 6db354b..18493ed 100644 (file)
@@ -1,35 +1,35 @@
 /* set01nld.c generated from apibus.hfm, do not edit! */\r
 \r
-0x08,0x01,0x02,0x03,0x04,0xfc,0xfd,0xfe,\r
-0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x09,0x08,0x0c,0xf4,0x08,0x08,\r
-0x08,0x04,0x07,0x09,0x08,0x09,0x09,0x05,\r
-0x06,0x06,0x09,0x08,0x05,0x08,0x04,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x04,0x05,0x06,0x08,0x06,0x08,\r
-0x09,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x04,0x08,0x08,0x08,0x09,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x09,0x09,\r
-0x08,0x08,0x08,0x06,0x08,0x06,0x09,0x01,\r
-0x05,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x04,0x06,0x08,0x05,0x09,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x09,\r
-0x08,0x08,0x08,0x08,0x04,0x08,0x09,0x09,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x05,0x08,0x04,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x04,0x09,0x0b,0x0a,0x08,0x0a,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,\r
-0x08,0x08,0x08,0x08,0x08,0x08,0xe2,0x08\r
+0x06,0x01,0x02,0x03,0x04,0xfc,0xfd,0xfe,\r
+0xff,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x0c,0xf4,0x06,0x06,\r
+0x06,0x02,0x04,0x07,0x06,0x0a,0x07,0x02,\r
+0x04,0x04,0x06,0x08,0x03,0x04,0x02,0x05,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x02,0x03,0x07,0x07,0x07,0x05,\r
+0x09,0x08,0x06,0x07,0x07,0x05,0x06,0x07,\r
+0x07,0x04,0x05,0x07,0x06,0x08,0x06,0x08,\r
+0x06,0x08,0x07,0x06,0x08,0x07,0x08,0x0a,\r
+0x06,0x08,0x06,0x04,0x05,0x04,0x07,0x07,\r
+0x03,0x06,0x06,0x05,0x06,0x06,0x05,0x06,\r
+0x06,0x02,0x04,0x06,0x02,0x0a,0x06,0x06,\r
+0x06,0x06,0x04,0x05,0x05,0x06,0x05,0x06,\r
+0x06,0x05,0x05,0x06,0x02,0x06,0x07,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,\r
+0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06\r
 \r
diff --git a/src/font/set02.bmp b/src/font/set02.bmp
deleted file mode 100644 (file)
index 0c7e2e8..0000000
Binary files a/src/font/set02.bmp and /dev/null differ
diff --git a/src/font/set02.chs b/src/font/set02.chs
deleted file mode 100644 (file)
index 8896bcb..0000000
Binary files a/src/font/set02.chs and /dev/null differ
diff --git a/src/font/set02.cmd b/src/font/set02.cmd
deleted file mode 100644 (file)
index 160af2d..0000000
Binary files a/src/font/set02.cmd and /dev/null differ
diff --git a/src/font/set02.txt b/src/font/set02.txt
deleted file mode 100644 (file)
index 5c04da5..0000000
+++ /dev/null
@@ -1,1087 +0,0 @@
-at 15,19 size 3,11\r
-      \r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-      \r
-####__\r
-      \r
-      \r
-at 21,19 size 6,11\r
-            \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-            \r
-            \r
-            \r
-            \r
-____________\r
-            \r
-            \r
-at 32,19 size 8,11\r
-                \r
-                \r
-      ##  ##    \r
-      ##  ##    \r
-  ############  \r
-    ##  ##      \r
-############    \r
-  ##  ##        \r
-__##__##________\r
-                \r
-                \r
-at 44,19 size 6,11\r
-    ##      \r
-    ##      \r
-  ######    \r
-######  ##  \r
-######      \r
-  ######    \r
-    ######  \r
-##  ######  \r
-__######____\r
-    ##      \r
-    ##      \r
-at 54,19 size 12,11\r
-                        \r
-                        \r
-  ####        ##        \r
-##    ##    ##          \r
-##    ##    ##  ####    \r
-##    ##  ##  ##    ##  \r
-  ####  ##    ##    ##  \r
-        ##    ##    ##  \r
-______##________####____\r
-                        \r
-                        \r
-at 70,19 size 8,11\r
-                \r
-                \r
-  ######        \r
-####  ####      \r
-####  ####      \r
-  ######  ####  \r
-####  ######    \r
-####    ####    \r
-__######__####__\r
-                \r
-                \r
-at 81,19 size 3,11\r
-      \r
-####  \r
-####  \r
-####  \r
-      \r
-      \r
-      \r
-      \r
-______\r
-      \r
-      \r
-at 89,19 size 5,11\r
-          \r
-    ####  \r
-  ####    \r
-####      \r
-####      \r
-####      \r
-####      \r
-####      \r
-####______\r
-  ####    \r
-    ####  \r
-at 97,19 size 5,11\r
-          \r
-####      \r
-  ####    \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-____####__\r
-  ####    \r
-####      \r
-at 107,19 size 6,11\r
-            \r
-    ##      \r
-##  ##  ##  \r
-  ######    \r
-##  ##  ##  \r
-    ##      \r
-            \r
-            \r
-____________\r
-            \r
-            \r
-at 117,19 size 8,11\r
-                \r
-                \r
-      ##        \r
-      ##        \r
-      ##        \r
-##############  \r
-      ##        \r
-      ##        \r
-______##________\r
-                \r
-                \r
-at 129,19 size 3,11\r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-####  \r
-####__\r
-####  \r
-##    \r
-at 136,19 size 4,11\r
-        \r
-        \r
-        \r
-        \r
-        \r
-######  \r
-        \r
-        \r
-________\r
-        \r
-        \r
-at 145,19 size 3,11\r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-####  \r
-####__\r
-      \r
-      \r
-at 152,19 size 6,11\r
-            \r
-        ##  \r
-        ##  \r
-      ##    \r
-      ##    \r
-    ##      \r
-    ##      \r
-  ##        \r
-__##________\r
-##          \r
-##          \r
-at 162,19 size 6,11\r
-            \r
-            \r
-  ######    \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-__######____\r
-            \r
-            \r
-at 174,19 size 5,11\r
-          \r
-          \r
-  ####    \r
-######    \r
-  ####    \r
-  ####    \r
-  ####    \r
-  ####    \r
-########__\r
-          \r
-          \r
-at 183,19 size 6,11\r
-            \r
-            \r
-  ######    \r
-##    ####  \r
-      ####  \r
-    ####    \r
-  ####      \r
-####        \r
-##########__\r
-            \r
-            \r
-at 194,19 size 6,11\r
-            \r
-            \r
-  ######    \r
-##    ####  \r
-      ####  \r
-  ######    \r
-      ####  \r
-##    ####  \r
-__######____\r
-            \r
-            \r
-at 204,19 size 7,11\r
-              \r
-              \r
-      ####    \r
-    ######    \r
-  ##  ####    \r
-##    ####    \r
-############  \r
-      ####    \r
-______####____\r
-              \r
-              \r
-at 215,19 size 6,11\r
-            \r
-            \r
-##########  \r
-####        \r
-########    \r
-      ####  \r
-      ####  \r
-##    ####  \r
-__######____\r
-            \r
-            \r
-at 225,19 size 6,11\r
-            \r
-            \r
-  ######    \r
-####        \r
-########    \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-__######____\r
-            \r
-            \r
-at 236,19 size 6,11\r
-            \r
-            \r
-##########  \r
-      ####  \r
-    ####    \r
-    ####    \r
-  ####      \r
-  ####      \r
-####________\r
-            \r
-            \r
-at 246,19 size 6,11\r
-            \r
-            \r
-  ######    \r
-####  ####  \r
-####  ####  \r
-  ######    \r
-####  ####  \r
-####  ####  \r
-__######____\r
-            \r
-            \r
-at 257,19 size 6,11\r
-            \r
-            \r
-  ######    \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-  ########  \r
-      ####  \r
-__######____\r
-            \r
-            \r
-at 267,19 size 3,11\r
-      \r
-      \r
-      \r
-      \r
-####  \r
-####  \r
-      \r
-####  \r
-####__\r
-      \r
-      \r
-at 275,19 size 3,11\r
-      \r
-      \r
-      \r
-      \r
-####  \r
-####  \r
-      \r
-####  \r
-####__\r
-####  \r
-##    \r
-at 282,19 size 8,11\r
-                \r
-                \r
-          ####  \r
-      ####      \r
-  ####          \r
-##              \r
-  ####          \r
-      ####      \r
-__________####__\r
-                \r
-                \r
-at 294,19 size 8,11\r
-                \r
-                \r
-                \r
-                \r
-##############  \r
-                \r
-                \r
-##############  \r
-________________\r
-                \r
-                \r
-at 306,19 size 8,11\r
-                \r
-                \r
-####            \r
-    ####        \r
-        ####    \r
-            ##  \r
-        ####    \r
-    ####        \r
-####____________\r
-                \r
-                \r
-at 317,19 size 6,11\r
-            \r
-            \r
-  ######    \r
-##    ####  \r
-      ####  \r
-    ####    \r
-  ####      \r
-            \r
-__####______\r
-            \r
-            \r
-at 8,43 size 9,10\r
-                  \r
-    ########      \r
-  ##        ##    \r
-##    ######  ##  \r
-##  ##    ##  ##  \r
-##  ##    ##  ##  \r
-##    ########    \r
-__##______________\r
-    ########      \r
-                  \r
-at 21,43 size 8,10\r
-                \r
-    ######      \r
-    ######      \r
-  ####  ####    \r
-  ####  ####    \r
-  ##########    \r
-####      ####  \r
-####______####__\r
-                \r
-                \r
-at 32,43 size 7,10\r
-              \r
-##########    \r
-####    ####  \r
-####    ####  \r
-##########    \r
-####    ####  \r
-####    ####  \r
-##########____\r
-              \r
-              \r
-at 43,43 size 6,10\r
-            \r
-  ######    \r
-####    ##  \r
-####        \r
-####        \r
-####        \r
-####    ##  \r
-__######____\r
-            \r
-            \r
-at 54,43 size 8,10\r
-                \r
-##########      \r
-####    ####    \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-####    ####    \r
-##########______\r
-                \r
-                \r
-at 66,43 size 6,10\r
-            \r
-##########  \r
-####        \r
-####        \r
-##########  \r
-####        \r
-####        \r
-##########__\r
-            \r
-            \r
-at 76,43 size 6,10\r
-            \r
-##########  \r
-####        \r
-####        \r
-##########  \r
-####        \r
-####        \r
-####________\r
-            \r
-            \r
-at 86,43 size 7,10\r
-              \r
-  ########    \r
-####      ##  \r
-####          \r
-####          \r
-####  ######  \r
-####    ####  \r
-__##########__\r
-              \r
-              \r
-at 97,43 size 7,10\r
-              \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-############  \r
-####    ####  \r
-####    ####  \r
-####____####__\r
-              \r
-              \r
-at 109,43 size 5,10\r
-          \r
-########  \r
-  ####    \r
-  ####    \r
-  ####    \r
-  ####    \r
-  ####    \r
-########__\r
-          \r
-          \r
-at 117,43 size 6,10\r
-            \r
-  ########  \r
-      ####  \r
-      ####  \r
-      ####  \r
-      ####  \r
-      ####  \r
-########____\r
-            \r
-            \r
-at 127,43 size 7,10\r
-              \r
-####    ####  \r
-####  ####    \r
-########      \r
-######        \r
-########      \r
-####  ####    \r
-####____####__\r
-              \r
-              \r
-at 138,43 size 6,10\r
-            \r
-####        \r
-####        \r
-####        \r
-####        \r
-####        \r
-####        \r
-##########__\r
-            \r
-            \r
-at 148,43 size 8,10\r
-                \r
-##          ##  \r
-####      ####  \r
-######  ######  \r
-##  ####  ####  \r
-##  ####  ####  \r
-##        ####  \r
-##________####__\r
-                \r
-                \r
-at 161,43 size 7,10\r
-              \r
-##        ##  \r
-####      ##  \r
-######    ##  \r
-##  ####  ##  \r
-##    ######  \r
-##      ####  \r
-##________##__\r
-              \r
-              \r
-at 173,43 size 8,10\r
-                \r
-  ##########    \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-__##########____\r
-                \r
-                \r
-at 185,43 size 7,10\r
-              \r
-##########    \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-##########    \r
-####          \r
-####__________\r
-              \r
-              \r
-at 195,43 size 8,10\r
-                \r
-  ##########    \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-__##########____\r
-      ####      \r
-        ######  \r
-at 207,43 size 8,10\r
-                \r
-##########      \r
-####    ####    \r
-####    ####    \r
-##########      \r
-####  ####      \r
-####    ####    \r
-####______####__\r
-                \r
-                \r
-at 219,43 size 6,10\r
-            \r
-  ######    \r
-####    ##  \r
-####        \r
-  ######    \r
-      ####  \r
-##    ####  \r
-__######____\r
-            \r
-            \r
-at 228,43 size 7,10\r
-              \r
-############  \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-____####______\r
-              \r
-              \r
-at 239,43 size 7,10\r
-              \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-__########____\r
-              \r
-              \r
-at 251,43 size 7,10\r
-              \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-  ########    \r
-  ########    \r
-  ########    \r
-____####______\r
-              \r
-              \r
-at 262,43 size 11,10\r
-                      \r
-####    ####    ####  \r
-####    ####    ####  \r
-  ####  ####  ####    \r
-  ####  ####  ####    \r
-  ######    ######    \r
-    ####    ####      \r
-____####____####______\r
-                      \r
-                      \r
-at 277,43 size 7,10\r
-              \r
-####    ####  \r
-####    ####  \r
-  ########    \r
-    ####      \r
-  ########    \r
-####    ####  \r
-####____####__\r
-              \r
-              \r
-at 288,43 size 7,10\r
-              \r
-####    ####  \r
-####    ####  \r
-  ########    \r
-    ####      \r
-    ####      \r
-    ####      \r
-____####______\r
-              \r
-              \r
-at 298,43 size 6,10\r
-            \r
-##########  \r
-      ####  \r
-    ####    \r
-  ####      \r
-####        \r
-####        \r
-##########__\r
-            \r
-            \r
-at 309,43 size 4,10\r
-######  \r
-####    \r
-####    \r
-####    \r
-####    \r
-####    \r
-####    \r
-####____\r
-####    \r
-######  \r
-at 318,43 size 6,10\r
-##          \r
-##          \r
-  ##        \r
-  ##        \r
-    ##      \r
-    ##      \r
-      ##    \r
-______##____\r
-        ##  \r
-        ##  \r
-at 328,43 size 4,10\r
-######  \r
-  ####  \r
-  ####  \r
-  ####  \r
-  ####  \r
-  ####  \r
-  ####  \r
-__####__\r
-  ####  \r
-######  \r
-at 337,43 size 8,10\r
-                \r
-      ##        \r
-    ######      \r
-  ####  ####    \r
-####      ####  \r
-                \r
-                \r
-________________\r
-                \r
-                \r
-at 348,43 size 8,10\r
-                \r
-                \r
-                \r
-                \r
-                \r
-                \r
-                \r
-________________\r
-                \r
-##############  \r
-at 9,67 size 4,10\r
-####    \r
-  ####  \r
-        \r
-        \r
-        \r
-        \r
-        \r
-________\r
-        \r
-        \r
-at 18,67 size 7,10\r
-              \r
-              \r
-              \r
-  ########    \r
-        ####  \r
-  ##########  \r
-####    ####  \r
-__##########__\r
-              \r
-              \r
-at 28,67 size 7,10\r
-####          \r
-####          \r
-####          \r
-##########    \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-##########____\r
-              \r
-              \r
-at 38,67 size 6,10\r
-            \r
-            \r
-            \r
-  ########  \r
-####        \r
-####        \r
-####        \r
-__########__\r
-            \r
-            \r
-at 47,67 size 7,10\r
-        ####  \r
-        ####  \r
-        ####  \r
-  ##########  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-__##########__\r
-              \r
-              \r
-at 58,67 size 7,10\r
-              \r
-              \r
-              \r
-  ########    \r
-####    ####  \r
-############  \r
-####          \r
-__##########__\r
-              \r
-              \r
-at 68,67 size 6,10\r
-    ######  \r
-  ####      \r
-  ####      \r
-##########  \r
-  ####      \r
-  ####      \r
-  ####      \r
-__####______\r
-            \r
-            \r
-at 75,67 size 7,10\r
-              \r
-              \r
-              \r
-  ##########  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-__##########__\r
-        ####  \r
-  ########    \r
-at 86,67 size 7,10\r
-####          \r
-####          \r
-####          \r
-##########    \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####____####__\r
-              \r
-              \r
-at 96,67 size 3,10\r
-      \r
-####  \r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####__\r
-      \r
-      \r
-at 103,67 size 4,10\r
-        \r
-  ####  \r
-        \r
-######  \r
-  ####  \r
-  ####  \r
-  ####  \r
-__####__\r
-  ####  \r
-####    \r
-at 111,67 size 7,10\r
-####          \r
-####          \r
-####          \r
-####    ####  \r
-####  ####    \r
-########      \r
-####  ####    \r
-####____####__\r
-              \r
-              \r
-at 121,67 size 3,10\r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####__\r
-      \r
-      \r
-at 128,67 size 11,10\r
-                      \r
-                      \r
-                      \r
-##########  ######    \r
-####    ####    ####  \r
-####    ####    ####  \r
-####    ####    ####  \r
-####____####____####__\r
-                      \r
-                      \r
-at 142,67 size 7,10\r
-              \r
-              \r
-              \r
-##########    \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####____####__\r
-              \r
-              \r
-at 152,67 size 7,10\r
-              \r
-              \r
-              \r
-  ########    \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-__########____\r
-              \r
-              \r
-at 162,67 size 7,10\r
-              \r
-              \r
-              \r
-##########    \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-##########____\r
-####          \r
-####          \r
-at 173,67 size 7,10\r
-              \r
-              \r
-              \r
-  ##########  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-__##########__\r
-        ####  \r
-        ####  \r
-at 183,67 size 6,10\r
-            \r
-            \r
-            \r
-####  ####  \r
-##########  \r
-####        \r
-####        \r
-####________\r
-            \r
-            \r
-at 192,67 size 6,10\r
-            \r
-            \r
-            \r
-  ########  \r
-####        \r
-##########  \r
-      ####  \r
-########____\r
-            \r
-            \r
-at 201,67 size 6,10\r
-            \r
-  ####      \r
-  ####      \r
-##########  \r
-  ####      \r
-  ####      \r
-  ####      \r
-____######__\r
-            \r
-            \r
-at 209,67 size 7,10\r
-              \r
-              \r
-              \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-__##########__\r
-              \r
-              \r
-at 220,67 size 7,10\r
-              \r
-              \r
-              \r
-####    ####  \r
-####    ####  \r
-  ########    \r
-  ########    \r
-____####______\r
-              \r
-              \r
-at 229,67 size 9,10\r
-                  \r
-                  \r
-                  \r
-####  ####  ####  \r
-####  ####  ####  \r
-####  ####  ####  \r
-  ####    ####    \r
-__####____####____\r
-                  \r
-                  \r
-at 243,67 size 7,10\r
-              \r
-              \r
-              \r
-####    ####  \r
-  ########    \r
-    ####      \r
-  ########    \r
-####____####__\r
-              \r
-              \r
-at 253,67 size 7,10\r
-              \r
-              \r
-              \r
-####    ####  \r
-####    ####  \r
-  ########    \r
-  ########    \r
-____####______\r
-    ####      \r
-  ####        \r
-at 263,67 size 6,10\r
-            \r
-            \r
-            \r
-##########  \r
-    ####    \r
-  ####      \r
-####        \r
-##########__\r
-            \r
-            \r
-at 273,67 size 6,10\r
-      ####  \r
-    ####    \r
-    ####    \r
-    ####    \r
-######      \r
-    ####    \r
-    ####    \r
-____####____\r
-    ####    \r
-      ####  \r
-at 285,67 size 2,10\r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-##  \r
-##  \r
-at 292,67 size 6,10\r
-####        \r
-  ####      \r
-  ####      \r
-  ####      \r
-    ######  \r
-  ####      \r
-  ####      \r
-__####______\r
-  ####      \r
-####        \r
-at 303,67 size 8,10\r
-                \r
-                \r
-                \r
-  ####      ##  \r
-##    ##    ##  \r
-##      ####    \r
-                \r
-________________\r
-                \r
-                \r
-at 317,67 size 8,10\r
-                \r
-                \r
-    ########    \r
-  ####      ##  \r
-##########      \r
-  ####          \r
-##########      \r
-__####______##__\r
-    ########    \r
-                \r
-at 330,67 size 7,10\r
-              \r
-              \r
-              \r
-      ####    \r
-  ##########  \r
-####          \r
-####          \r
-####__________\r
-  ##########  \r
-      ####    \r
index 304f0ef..6e0fd80 100644 (file)
@@ -1,35 +1,35 @@
 /* set02nld.c generated from apibus.hfm, do not edit! */\r
 \r
-0x0a,0x01,0x02,0x03,0x04,0xfc,0xfd,0xfe,\r
-0xff,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x0b,0x0a,0x0c,0xf4,0x08,0x09,\r
-0x09,0x04,0x08,0x0a,0x0a,0x0a,0x0a,0x05,\r
-0x07,0x07,0x0a,0x0a,0x05,0x0a,0x04,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x04,0x05,0x09,0x08,0x09,0x0a,\r
-0x0c,0x0a,0x0a,0x0a,0x0a,0x09,0x09,0x0a,\r
-0x0a,0x04,0x0a,0x09,0x09,0x0b,0x0a,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,\r
-0x0a,0x0a,0x0a,0x06,0x0a,0x06,0x09,0x0a,\r
-0x05,0x09,0x09,0x09,0x09,0x09,0x08,0x09,\r
-0x09,0x04,0x09,0x09,0x07,0x0a,0x09,0x09,\r
-0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0a,\r
-0x09,0x09,0x09,0x08,0x04,0x08,0x0a,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x10,0x10,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0f,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x05,0x0a,0x04,0x09,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x04,0x0a,0x0b,0x0a,0x09,0x0c,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x05,0x0a,0x04,0x09,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x04,0x0a,0x0b,0x0a,0x09,0x0c,\r
-0x14,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,\r
-0x11,0x0a,0x0a,0x0a,0x18,0xca,0x0b,0x0a,\r
-0x0a,0x13,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a\r
+0x07,0x01,0x02,0x03,0x04,0xfc,0xfd,0xfe,\r
+0xff,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x0c,0xf4,0x07,0x07,\r
+0x07,0x03,0x06,0x08,0x06,0x0c,0x08,0x03,\r
+0x05,0x05,0x06,0x08,0x03,0x04,0x03,0x06,\r
+0x06,0x05,0x06,0x06,0x07,0x06,0x06,0x06,\r
+0x06,0x06,0x03,0x03,0x08,0x08,0x08,0x06,\r
+0x09,0x08,0x07,0x06,0x08,0x06,0x06,0x07,\r
+0x07,0x05,0x06,0x07,0x06,0x08,0x07,0x08,\r
+0x07,0x08,0x08,0x06,0x07,0x07,0x07,0x0b,\r
+0x07,0x07,0x06,0x04,0x06,0x04,0x08,0x08,\r
+0x04,0x07,0x07,0x06,0x07,0x07,0x06,0x07,\r
+0x07,0x03,0x04,0x07,0x03,0x0b,0x07,0x07,\r
+0x07,0x07,0x06,0x06,0x06,0x07,0x07,0x09,\r
+0x07,0x07,0x06,0x06,0x02,0x06,0x08,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07\r
 \r
diff --git a/src/font/set03.bmp b/src/font/set03.bmp
deleted file mode 100644 (file)
index 6b6ad7f..0000000
Binary files a/src/font/set03.bmp and /dev/null differ
diff --git a/src/font/set03.chs b/src/font/set03.chs
deleted file mode 100644 (file)
index 05c355b..0000000
Binary files a/src/font/set03.chs and /dev/null differ
diff --git a/src/font/set03.cmd b/src/font/set03.cmd
deleted file mode 100644 (file)
index de811f1..0000000
Binary files a/src/font/set03.cmd and /dev/null differ
diff --git a/src/font/set03.txt b/src/font/set03.txt
deleted file mode 100644 (file)
index 49b686e..0000000
+++ /dev/null
@@ -1,1312 +0,0 @@
-at 19,20 size 2,13\r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-    \r
-##  \r
-##__\r
-    \r
-    \r
-    \r
-at 28,20 size 4,13\r
-##  ##  \r
-##  ##  \r
-##  ##  \r
-##  ##  \r
-        \r
-        \r
-        \r
-        \r
-        \r
-________\r
-        \r
-        \r
-        \r
-at 38,20 size 9,13\r
-                  \r
-      ##    ##    \r
-      ##    ##    \r
-  ##############  \r
-    ##    ##      \r
-    ##    ##      \r
-##############    \r
-  ##    ##        \r
-  ##    ##        \r
-__________________\r
-                  \r
-                  \r
-                  \r
-at 54,20 size 7,13\r
-    ##        \r
-    ##        \r
-  ##########  \r
-##  ##        \r
-##  ##        \r
-  ####        \r
-    ######    \r
-    ##    ##  \r
-    ##    ##  \r
-##########____\r
-    ##        \r
-    ##        \r
-              \r
-at 66,20 size 12,13\r
-                        \r
-  ######        ##      \r
-##      ##    ##        \r
-##      ##  ##          \r
-##      ##  ##          \r
-  ######  ##  ######    \r
-        ##  ##      ##  \r
-        ##  ##      ##  \r
-      ##    ##      ##  \r
-____##________######____\r
-                        \r
-                        \r
-                        \r
-at 85,20 size 9,13\r
-                  \r
-  ######          \r
-##      ##        \r
-##      ##        \r
-##      ##        \r
-  ######      ##  \r
-##      ##  ##    \r
-##        ##      \r
-##      ####      \r
-__######____####__\r
-                  \r
-                  \r
-                  \r
-at 99,20 size 2,13\r
-##  \r
-##  \r
-##  \r
-##  \r
-    \r
-    \r
-    \r
-    \r
-    \r
-____\r
-    \r
-    \r
-    \r
-at 107,20 size 5,13\r
-      ##  \r
-    ##    \r
-  ##      \r
-  ##      \r
-##        \r
-##        \r
-##        \r
-##        \r
-##        \r
-__##______\r
-  ##      \r
-    ##    \r
-      ##  \r
-at 118,20 size 5,13\r
-##        \r
-  ##      \r
-    ##    \r
-    ##    \r
-      ##  \r
-      ##  \r
-      ##  \r
-      ##  \r
-      ##  \r
-____##____\r
-    ##    \r
-  ##      \r
-##        \r
-at 129,20 size 6,13\r
-    ##      \r
-##  ##  ##  \r
-  ######    \r
-##  ##  ##  \r
-    ##      \r
-            \r
-            \r
-            \r
-            \r
-____________\r
-            \r
-            \r
-            \r
-at 141,20 size 8,13\r
-                \r
-                \r
-      ##        \r
-      ##        \r
-      ##        \r
-##############  \r
-      ##        \r
-      ##        \r
-      ##        \r
-________________\r
-                \r
-                \r
-                \r
-at 156,20 size 3,13\r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-  ##  \r
-__##__\r
-  ##  \r
-##    \r
-      \r
-at 165,20 size 6,13\r
-            \r
-            \r
-            \r
-            \r
-            \r
-##########  \r
-            \r
-            \r
-            \r
-____________\r
-            \r
-            \r
-            \r
-at 177,20 size 2,13\r
-    \r
-    \r
-    \r
-    \r
-    \r
-    \r
-    \r
-    \r
-##  \r
-##__\r
-    \r
-    \r
-    \r
-at 184,20 size 7,13\r
-          ##  \r
-          ##  \r
-        ##    \r
-        ##    \r
-      ##      \r
-      ##      \r
-    ##        \r
-    ##        \r
-  ##          \r
-__##__________\r
-##            \r
-##            \r
-              \r
-at 196,20 size 7,13\r
-              \r
-  ########    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-              \r
-at 209,20 size 6,13\r
-            \r
-    ##      \r
-######      \r
-    ##      \r
-    ##      \r
-    ##      \r
-    ##      \r
-    ##      \r
-    ##      \r
-##########__\r
-            \r
-            \r
-            \r
-at 221,20 size 7,13\r
-              \r
-  ########    \r
-##        ##  \r
-##        ##  \r
-          ##  \r
-        ##    \r
-    ####      \r
-  ##          \r
-##            \r
-############__\r
-              \r
-              \r
-              \r
-at 234,20 size 7,13\r
-              \r
-  ########    \r
-##        ##  \r
-          ##  \r
-          ##  \r
-    ######    \r
-          ##  \r
-          ##  \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-              \r
-at 247,20 size 8,13\r
-                \r
-        ##      \r
-      ####      \r
-    ##  ##      \r
-  ##    ##      \r
-##      ##      \r
-##############  \r
-        ##      \r
-        ##      \r
-________##______\r
-                \r
-                \r
-                \r
-at 260,20 size 7,13\r
-              \r
-  ##########  \r
-  ##          \r
-  ##          \r
-  ##          \r
-  ########    \r
-          ##  \r
-          ##  \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-              \r
-at 273,20 size 7,13\r
-              \r
-    ######    \r
-  ##          \r
-##            \r
-##########    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-              \r
-at 285,20 size 7,13\r
-              \r
-############  \r
-          ##  \r
-        ##    \r
-        ##    \r
-      ##      \r
-      ##      \r
-    ##        \r
-    ##        \r
-____##________\r
-              \r
-              \r
-              \r
-at 298,20 size 7,13\r
-              \r
-  ########    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-  ########    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-              \r
-at 311,20 size 7,13\r
-              \r
-  ########    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-  ##########  \r
-          ##  \r
-        ##    \r
-__######______\r
-              \r
-              \r
-              \r
-at 325,20 size 2,13\r
-    \r
-    \r
-    \r
-##  \r
-##  \r
-    \r
-    \r
-    \r
-##  \r
-##__\r
-    \r
-    \r
-    \r
-at 334,20 size 3,13\r
-      \r
-      \r
-      \r
-  ##  \r
-  ##  \r
-      \r
-      \r
-      \r
-  ##  \r
-__##__\r
-  ##  \r
-##    \r
-      \r
-at 345,20 size 8,13\r
-                \r
-                \r
-                \r
-          ####  \r
-      ####      \r
-  ####          \r
-##              \r
-  ####          \r
-      ####      \r
-__________####__\r
-                \r
-                \r
-                \r
-at 360,20 size 8,13\r
-                \r
-                \r
-                \r
-                \r
-##############  \r
-                \r
-                \r
-##############  \r
-                \r
-________________\r
-                \r
-                \r
-                \r
-at 375,20 size 8,13\r
-                \r
-                \r
-                \r
-####            \r
-    ####        \r
-        ####    \r
-            ##  \r
-        ####    \r
-    ####        \r
-####____________\r
-                \r
-                \r
-                \r
-at 391,20 size 6,13\r
-            \r
-  ######    \r
-##      ##  \r
-        ##  \r
-      ##    \r
-    ##      \r
-    ##      \r
-            \r
-    ##      \r
-____##______\r
-            \r
-            \r
-            \r
-at 9,51 size 12,12\r
-                        \r
-      ##########        \r
-    ##          ##      \r
-  ##    ########  ##    \r
-##    ##      ##    ##  \r
-##    ##      ##    ##  \r
-##    ##      ##    ##  \r
-##    ##      ##    ##  \r
-##    ##      ##    ##  \r
-__##____############____\r
-    ##                  \r
-      ##########        \r
-at 27,51 size 8,12\r
-                \r
-      ##        \r
-      ##        \r
-    ##  ##      \r
-    ##  ##      \r
-  ##      ##    \r
-  ##      ##    \r
-  ##########    \r
-##          ##  \r
-##__________##__\r
-                \r
-                \r
-at 40,51 size 7,12\r
-              \r
-########      \r
-##      ##    \r
-##      ##    \r
-##      ##    \r
-##########    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##########____\r
-              \r
-              \r
-at 54,51 size 8,12\r
-                \r
-    ########    \r
-  ##        ##  \r
-##              \r
-##              \r
-##              \r
-##              \r
-##              \r
-  ##        ##  \r
-____########____\r
-                \r
-                \r
-at 67,51 size 8,12\r
-                \r
-##########      \r
-##        ##    \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##        ##    \r
-##########______\r
-                \r
-                \r
-at 82,51 size 7,12\r
-              \r
-############  \r
-##            \r
-##            \r
-##            \r
-############  \r
-##            \r
-##            \r
-##            \r
-############__\r
-              \r
-              \r
-at 95,51 size 7,12\r
-              \r
-############  \r
-##            \r
-##            \r
-##            \r
-##########    \r
-##            \r
-##            \r
-##            \r
-##____________\r
-              \r
-              \r
-at 107,51 size 8,12\r
-                \r
-    ########    \r
-  ##        ##  \r
-##              \r
-##              \r
-##              \r
-##      ######  \r
-##          ##  \r
-  ##        ##  \r
-____##########__\r
-                \r
-                \r
-at 121,51 size 8,12\r
-                \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##############  \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##__________##__\r
-                \r
-                \r
-at 136,51 size 4,12\r
-        \r
-######  \r
-  ##    \r
-  ##    \r
-  ##    \r
-  ##    \r
-  ##    \r
-  ##    \r
-  ##    \r
-######__\r
-        \r
-        \r
-at 145,51 size 6,12\r
-            \r
-    ######  \r
-        ##  \r
-        ##  \r
-        ##  \r
-        ##  \r
-        ##  \r
-        ##  \r
-        ##  \r
-########____\r
-            \r
-            \r
-at 156,51 size 7,12\r
-              \r
-##        ##  \r
-##      ##    \r
-##    ##      \r
-##  ##        \r
-####          \r
-##  ##        \r
-##    ##      \r
-##      ##    \r
-##________##__\r
-              \r
-              \r
-at 170,51 size 7,12\r
-              \r
-##            \r
-##            \r
-##            \r
-##            \r
-##            \r
-##            \r
-##            \r
-##            \r
-############__\r
-              \r
-              \r
-at 181,51 size 10,12\r
-                    \r
-####          ####  \r
-####          ####  \r
-##  ##      ##  ##  \r
-##  ##      ##  ##  \r
-##    ##  ##    ##  \r
-##    ##  ##    ##  \r
-##      ##      ##  \r
-##      ##      ##  \r
-##______________##__\r
-                    \r
-                    \r
-at 197,51 size 8,12\r
-                \r
-####        ##  \r
-####        ##  \r
-##  ##      ##  \r
-##  ##      ##  \r
-##    ##    ##  \r
-##      ##  ##  \r
-##      ##  ##  \r
-##        ####  \r
-##________####__\r
-                \r
-                \r
-at 211,51 size 9,12\r
-                  \r
-    ########      \r
-  ##        ##    \r
-##            ##  \r
-##            ##  \r
-##            ##  \r
-##            ##  \r
-##            ##  \r
-  ##        ##    \r
-____########______\r
-                  \r
-                  \r
-at 226,51 size 7,12\r
-              \r
-##########    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##########    \r
-##            \r
-##            \r
-##____________\r
-              \r
-              \r
-at 239,51 size 9,12\r
-                  \r
-    ########      \r
-  ##        ##    \r
-##            ##  \r
-##            ##  \r
-##            ##  \r
-##            ##  \r
-##            ##  \r
-  ##        ##    \r
-____########______\r
-          ##      \r
-            ####  \r
-at 253,51 size 8,12\r
-                \r
-##########      \r
-##        ##    \r
-##        ##    \r
-##        ##    \r
-##      ##      \r
-########        \r
-##      ##      \r
-##        ##    \r
-##__________##__\r
-                \r
-                \r
-at 267,51 size 8,12\r
-                \r
-  ##########    \r
-##          ##  \r
-##              \r
-##              \r
-  ##########    \r
-            ##  \r
-            ##  \r
-##          ##  \r
-__##########____\r
-                \r
-                \r
-at 280,51 size 8,12\r
-                \r
-##############  \r
-      ##        \r
-      ##        \r
-      ##        \r
-      ##        \r
-      ##        \r
-      ##        \r
-      ##        \r
-______##________\r
-                \r
-                \r
-at 293,51 size 8,12\r
-                \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-  ##      ##    \r
-____######______\r
-                \r
-                \r
-at 307,51 size 8,12\r
-                \r
-##          ##  \r
-##          ##  \r
-##          ##  \r
-  ##      ##    \r
-  ##      ##    \r
-    ##  ##      \r
-    ##  ##      \r
-      ##        \r
-______##________\r
-                \r
-                \r
-at 320,51 size 12,12\r
-                        \r
-##        ##        ##  \r
-##        ##        ##  \r
-##      ##  ##      ##  \r
-##      ##  ##      ##  \r
-  ##    ##  ##    ##    \r
-  ##  ##      ##  ##    \r
-  ##  ##      ##  ##    \r
-    ##          ##      \r
-____##__________##______\r
-                        \r
-                        \r
-at 338,51 size 8,12\r
-                \r
-##          ##  \r
-##          ##  \r
-  ##      ##    \r
-    ##  ##      \r
-      ##        \r
-    ##  ##      \r
-  ##      ##    \r
-##          ##  \r
-##__________##__\r
-                \r
-                \r
-at 351,51 size 8,12\r
-                \r
-##          ##  \r
-  ##      ##    \r
-  ##      ##    \r
-    ##  ##      \r
-    ##  ##      \r
-      ##        \r
-      ##        \r
-      ##        \r
-______##________\r
-                \r
-                \r
-at 364,51 size 8,12\r
-                \r
-##############  \r
-            ##  \r
-          ##    \r
-        ##      \r
-      ##        \r
-    ##          \r
-  ##            \r
-##              \r
-##############__\r
-                \r
-                \r
-at 378,51 size 4,12\r
-######  \r
-##      \r
-##      \r
-##      \r
-##      \r
-##      \r
-##      \r
-##      \r
-##      \r
-##______\r
-##      \r
-######  \r
-at 387,51 size 7,12\r
-##            \r
-##            \r
-  ##          \r
-  ##          \r
-    ##        \r
-    ##        \r
-      ##      \r
-      ##      \r
-        ##    \r
-________##____\r
-          ##  \r
-          ##  \r
-at 398,51 size 4,12\r
-######  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-____##__\r
-    ##  \r
-######  \r
-at 409,51 size 10,12\r
-                    \r
-        ##          \r
-      ##  ##        \r
-    ##      ##      \r
-  ##          ##    \r
-##              ##  \r
-                    \r
-                    \r
-                    \r
-____________________\r
-                    \r
-                    \r
-at 423,51 size 9,12\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-__________________\r
-                  \r
-################  \r
-at 11,84 size 3,13\r
-##    \r
-  ##  \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-______\r
-      \r
-      \r
-      \r
-at 22,84 size 7,13\r
-              \r
-              \r
-              \r
-  ########    \r
-          ##  \r
-          ##  \r
-  ##########  \r
-##        ##  \r
-##        ##  \r
-__##########__\r
-              \r
-              \r
-              \r
-at 34,84 size 7,13\r
-##            \r
-##            \r
-##            \r
-##  ######    \r
-####      ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##########____\r
-              \r
-              \r
-              \r
-at 47,84 size 7,13\r
-              \r
-              \r
-              \r
-  ########    \r
-##        ##  \r
-##            \r
-##            \r
-##            \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-              \r
-at 58,84 size 7,13\r
-          ##  \r
-          ##  \r
-          ##  \r
-  ##########  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##      ####  \r
-__######__##__\r
-              \r
-              \r
-              \r
-at 71,84 size 7,13\r
-              \r
-              \r
-              \r
-  ########    \r
-##        ##  \r
-##        ##  \r
-############  \r
-##            \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-              \r
-at 83,84 size 6,13\r
-    ######  \r
-  ##        \r
-  ##        \r
-########    \r
-  ##        \r
-  ##        \r
-  ##        \r
-  ##        \r
-  ##        \r
-__##________\r
-            \r
-            \r
-            \r
-at 92,84 size 7,13\r
-              \r
-              \r
-              \r
-  ##########  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##      ####  \r
-__######__##__\r
-          ##  \r
-          ##  \r
-  ########    \r
-at 105,84 size 7,13\r
-##            \r
-##            \r
-##            \r
-##  ######    \r
-####      ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##________##__\r
-              \r
-              \r
-              \r
-at 118,84 size 2,13\r
-##  \r
-    \r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-    \r
-    \r
-    \r
-at 125,84 size 4,13\r
-    ##  \r
-        \r
-        \r
-  ####  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-____##__\r
-    ##  \r
-    ##  \r
-####    \r
-at 135,84 size 6,13\r
-##          \r
-##          \r
-##          \r
-##      ##  \r
-##    ##    \r
-##  ##      \r
-####        \r
-##  ##      \r
-##    ##    \r
-##______##__\r
-            \r
-            \r
-            \r
-at 147,84 size 2,13\r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-    \r
-    \r
-    \r
-at 155,84 size 10,13\r
-                    \r
-                    \r
-                    \r
-##  ####    ####    \r
-####    ####    ##  \r
-##      ##      ##  \r
-##      ##      ##  \r
-##      ##      ##  \r
-##      ##      ##  \r
-##______##______##__\r
-                    \r
-                    \r
-                    \r
-at 173,84 size 7,13\r
-              \r
-              \r
-              \r
-##  ######    \r
-####      ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##________##__\r
-              \r
-              \r
-              \r
-at 185,84 size 7,13\r
-              \r
-              \r
-              \r
-  ########    \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-__########____\r
-              \r
-              \r
-              \r
-at 198,84 size 7,13\r
-              \r
-              \r
-              \r
-##  ######    \r
-####      ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##########____\r
-##            \r
-##            \r
-##            \r
-at 211,84 size 7,13\r
-              \r
-              \r
-              \r
-  ##########  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##      ####  \r
-__######__##__\r
-          ##  \r
-          ##  \r
-          ##  \r
-at 223,84 size 5,13\r
-          \r
-          \r
-          \r
-##  ####  \r
-####      \r
-##        \r
-##        \r
-##        \r
-##        \r
-##________\r
-          \r
-          \r
-          \r
-at 233,84 size 6,13\r
-            \r
-            \r
-            \r
-  ########  \r
-##          \r
-##          \r
-  ######    \r
-        ##  \r
-        ##  \r
-########____\r
-            \r
-            \r
-            \r
-at 245,84 size 5,13\r
-          \r
-  ##      \r
-  ##      \r
-########  \r
-  ##      \r
-  ##      \r
-  ##      \r
-  ##      \r
-  ##      \r
-____####__\r
-          \r
-          \r
-          \r
-at 254,84 size 7,13\r
-              \r
-              \r
-              \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##        ##  \r
-##      ####  \r
-__######__##__\r
-              \r
-              \r
-              \r
-at 267,84 size 7,13\r
-              \r
-              \r
-              \r
-##        ##  \r
-##        ##  \r
-  ##    ##    \r
-  ##    ##    \r
-  ##    ##    \r
-    ####      \r
-____####______\r
-              \r
-              \r
-              \r
-at 279,84 size 10,13\r
-                    \r
-                    \r
-                    \r
-##      ##      ##  \r
-##      ##      ##  \r
-  ##  ##  ##  ##    \r
-  ##  ##  ##  ##    \r
-  ##  ##  ##  ##    \r
-    ##      ##      \r
-____##______##______\r
-                    \r
-                    \r
-                    \r
-at 295,84 size 6,13\r
-            \r
-            \r
-            \r
-##      ##  \r
-##      ##  \r
-  ##  ##    \r
-    ##      \r
-  ##  ##    \r
-##      ##  \r
-##______##__\r
-            \r
-            \r
-            \r
-at 307,84 size 7,13\r
-              \r
-              \r
-              \r
-##        ##  \r
-##        ##  \r
-  ##    ##    \r
-  ##    ##    \r
-  ##    ##    \r
-    ####      \r
-____####______\r
-    ##        \r
-    ##        \r
-  ##          \r
-at 319,84 size 6,13\r
-            \r
-            \r
-            \r
-##########  \r
-        ##  \r
-      ##    \r
-    ##      \r
-  ##        \r
-##          \r
-##########__\r
-            \r
-            \r
-            \r
-at 331,84 size 6,13\r
-      ####  \r
-    ##      \r
-    ##      \r
-    ##      \r
-    ##      \r
-####        \r
-    ##      \r
-    ##      \r
-    ##      \r
-____##______\r
-    ##      \r
-      ####  \r
-            \r
-at 345,84 size 2,13\r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-##  \r
-##  \r
-    \r
-at 355,84 size 6,13\r
-####        \r
-    ##      \r
-    ##      \r
-    ##      \r
-    ##      \r
-      ####  \r
-    ##      \r
-    ##      \r
-    ##      \r
-____##______\r
-    ##      \r
-####        \r
-            \r
-at 367,84 size 9,13\r
-                  \r
-                  \r
-                  \r
-                  \r
-  ####        ##  \r
-##    ####    ##  \r
-##        ####    \r
-                  \r
-                  \r
-__________________\r
-                  \r
-                  \r
-                  \r
-at 383,84 size 10,13\r
-                    \r
-        ########    \r
-      ##        ##  \r
-    ##              \r
-##############      \r
-    ##              \r
-##############      \r
-    ##              \r
-      ##        ##  \r
-________########____\r
-                    \r
-                    \r
-                    \r
-at 400,84 size 7,13\r
-              \r
-      ##      \r
-      ##      \r
-  ########    \r
-##        ##  \r
-##            \r
-##            \r
-##            \r
-##        ##  \r
-__########____\r
-      ##      \r
-      ##      \r
-              \r
index 5143834..7653e3e 100644 (file)
@@ -1,35 +1,35 @@
 /* set03nld.c generated from apibus.hfm, do not edit! */\r
 \r
-0x04,0x01,0x02,0x03,0x04,0xfc,0xfd,0xfe,\r
-0xff,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x06,0x04,0x0c,0xf4,0x04,0x05,\r
-0x02,0x02,0x04,0x06,0x04,0x04,0x06,0x03,\r
-0x03,0x03,0x06,0x04,0x03,0x04,0x02,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x02,0x03,0x03,0x04,0x03,0x04,\r
-0x05,0x05,0x05,0x05,0x05,0x04,0x04,0x05,\r
-0x05,0x02,0x05,0x05,0x04,0x06,0x05,0x05,\r
-0x05,0x05,0x05,0x05,0x04,0x05,0x05,0x06,\r
-0x04,0x04,0x04,0x03,0x04,0x03,0x05,0x04,\r
-0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x02,0x03,0x04,0x02,0x06,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,\r
-0x04,0x04,0x04,0x04,0x02,0x04,0x05,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x02,0x04,0x04,0x05,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x05,0x05,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x02,0x04,0x04,0x04,0x05,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,\r
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04\r
+0x07,0x01,0x02,0x03,0x04,0xfc,0xfd,0xfe,\r
+0xff,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x0c,0xf4,0x07,0x07,\r
+0x07,0x02,0x04,0x09,0x07,0x0c,0x09,0x02,\r
+0x05,0x05,0x06,0x08,0x03,0x06,0x02,0x07,\r
+0x07,0x06,0x07,0x07,0x08,0x07,0x07,0x07,\r
+0x07,0x07,0x02,0x03,0x08,0x08,0x08,0x06,\r
+0x0c,0x08,0x07,0x08,0x08,0x07,0x07,0x08,\r
+0x08,0x04,0x06,0x07,0x07,0x0a,0x08,0x09,\r
+0x07,0x09,0x08,0x08,0x08,0x08,0x08,0x0c,\r
+0x08,0x08,0x08,0x04,0x07,0x04,0x0a,0x09,\r
+0x03,0x07,0x07,0x07,0x07,0x07,0x06,0x07,\r
+0x07,0x02,0x05,0x06,0x02,0x0a,0x07,0x07,\r
+0x07,0x07,0x05,0x06,0x05,0x07,0x07,0x0a,\r
+0x06,0x07,0x06,0x06,0x02,0x06,0x09,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,\r
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07\r
 \r
diff --git a/src/font/set04.bmp b/src/font/set04.bmp
deleted file mode 100644 (file)
index 2d5f953..0000000
Binary files a/src/font/set04.bmp and /dev/null differ
diff --git a/src/font/set04.chs b/src/font/set04.chs
deleted file mode 100644 (file)
index 0956164..0000000
Binary files a/src/font/set04.chs and /dev/null differ
diff --git a/src/font/set04.cmd b/src/font/set04.cmd
deleted file mode 100644 (file)
index 0f1d269..0000000
Binary files a/src/font/set04.cmd and /dev/null differ
diff --git a/src/font/set04.txt b/src/font/set04.txt
deleted file mode 100644 (file)
index f7e1cb6..0000000
+++ /dev/null
@@ -1,1665 +0,0 @@
-at 25,25 size 3,16\r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-      \r
-####  \r
-####__\r
-      \r
-      \r
-      \r
-at 36,25 size 6,16\r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-____________\r
-            \r
-            \r
-            \r
-at 50,25 size 12,16\r
-                        \r
-          ##    ##      \r
-          ##    ##      \r
-        ##    ##        \r
-  ####################  \r
-        ##    ##        \r
-        ##    ##        \r
-      ##    ##          \r
-      ##    ##          \r
-####################    \r
-      ##    ##          \r
-    ##    ##            \r
-____##____##____________\r
-                        \r
-                        \r
-                        \r
-at 69,25 size 10,16\r
-        ##          \r
-        ##          \r
-    ##############  \r
-  ####  ##      ##  \r
-####    ##          \r
-####    ##          \r
-######  ##          \r
-    ############    \r
-        ##  ######  \r
-        ##    ####  \r
-        ##    ####  \r
-##      ##  ####    \r
-##############______\r
-        ##          \r
-        ##          \r
-        ##          \r
-at 86,25 size 17,16\r
-                                  \r
-  ########          ####          \r
-####    ####        ##            \r
-####    ####      ####            \r
-####    ####      ##              \r
-####    ####    ####              \r
-####    ####    ##    ########    \r
-  ########    ##    ####    ####  \r
-            ####    ####    ####  \r
-            ##      ####    ####  \r
-          ####      ####    ####  \r
-          ##        ####    ####  \r
-________####__________########____\r
-                                  \r
-                                  \r
-                                  \r
-at 110,25 size 13,16\r
-                          \r
-    ########              \r
-  ####    ####            \r
-  ####    ####            \r
-  ####    ####            \r
-    ########              \r
-    ######      ####      \r
-  ####  ####    ####      \r
-####      ####  ####      \r
-####        ######        \r
-####          ######      \r
-  ####      ####  ####    \r
-____########________####__\r
-                          \r
-                          \r
-                          \r
-at 129,25 size 3,16\r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-______\r
-      \r
-      \r
-      \r
-at 139,25 size 6,16\r
-      ####  \r
-    ####    \r
-  ####      \r
-  ####      \r
-######      \r
-####        \r
-####        \r
-####        \r
-####        \r
-####        \r
-####        \r
-######      \r
-__####______\r
-  ####      \r
-    ####    \r
-      ####  \r
-at 153,25 size 6,16\r
-####        \r
-  ####      \r
-    ####    \r
-    ####    \r
-    ######  \r
-      ####  \r
-      ####  \r
-      ####  \r
-      ####  \r
-      ####  \r
-      ####  \r
-    ######  \r
-____####____\r
-    ####    \r
-  ####      \r
-####        \r
-at 168,25 size 8,16\r
-      ##        \r
-##    ##    ##  \r
-  ##  ##  ##    \r
-    ######      \r
-    ######      \r
-  ##  ##  ##    \r
-##    ##    ##  \r
-      ##        \r
-                \r
-                \r
-                \r
-                \r
-________________\r
-                \r
-                \r
-                \r
-at 183,25 size 12,16\r
-                        \r
-                        \r
-          ##            \r
-          ##            \r
-          ##            \r
-          ##            \r
-          ##            \r
-######################  \r
-          ##            \r
-          ##            \r
-          ##            \r
-          ##            \r
-__________##____________\r
-                        \r
-                        \r
-                        \r
-at 203,25 size 5,16\r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-  ######  \r
-__####____\r
-  ####    \r
-####      \r
-####      \r
-at 215,25 size 6,16\r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-##########  \r
-            \r
-            \r
-            \r
-            \r
-____________\r
-            \r
-            \r
-            \r
-at 230,25 size 3,16\r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-####  \r
-####__\r
-      \r
-      \r
-      \r
-at 240,25 size 8,16\r
-          ####  \r
-          ####  \r
-        ####    \r
-        ####    \r
-        ####    \r
-      ####      \r
-      ####      \r
-      ####      \r
-    ####        \r
-    ####        \r
-    ####        \r
-  ####          \r
-__####__________\r
-  ####          \r
-####            \r
-####            \r
-at 255,25 size 10,16\r
-                    \r
-    ##########      \r
-  ####      ####    \r
-  ##          ##    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-  ##          ##    \r
-  ####      ####    \r
-____##########______\r
-                    \r
-                    \r
-                    \r
-at 273,25 size 9,16\r
-                  \r
-      ####        \r
-      ####        \r
-##########        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-################__\r
-                  \r
-                  \r
-                  \r
-at 289,25 size 10,16\r
-                    \r
-  ##########        \r
-####      ####      \r
-##          ####    \r
-            ####    \r
-            ####    \r
-          ####      \r
-        ######      \r
-      ######        \r
-    ######          \r
-  ######            \r
-####                \r
-##################__\r
-                    \r
-                    \r
-                    \r
-at 305,25 size 10,16\r
-                    \r
-  ############      \r
-####        ######  \r
-##            ####  \r
-              ####  \r
-            ####    \r
-      ######        \r
-            ####    \r
-              ####  \r
-              ####  \r
-##            ####  \r
-####        ####    \r
-__############______\r
-                    \r
-                    \r
-                    \r
-at 322,25 size 11,16\r
-                      \r
-            ####      \r
-          ######      \r
-        ##  ####      \r
-      ##    ####      \r
-    ####    ####      \r
-  ####      ####      \r
-####        ####      \r
-##          ####      \r
-####################  \r
-            ####      \r
-            ####      \r
-____________####______\r
-                      \r
-                      \r
-                      \r
-at 340,25 size 9,16\r
-                  \r
-  ##############  \r
-  ####            \r
-  ####            \r
-  ####            \r
-  ##########      \r
-          ####    \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-##        ####    \r
-############______\r
-                  \r
-                  \r
-                  \r
-at 356,25 size 10,16\r
-                    \r
-        ########    \r
-    ####            \r
-  ####              \r
-  ##                \r
-####  ########      \r
-######      ####    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-  ##          ####  \r
-  ####      ####    \r
-____##########______\r
-                    \r
-                    \r
-                    \r
-at 372,25 size 9,16\r
-                  \r
-################  \r
-            ####  \r
-          ####    \r
-          ####    \r
-        ####      \r
-        ####      \r
-      ######      \r
-      ####        \r
-      ####        \r
-    ####          \r
-    ####          \r
-__####____________\r
-                  \r
-                  \r
-                  \r
-at 389,25 size 10,16\r
-                    \r
-    ##########      \r
-  ####      ####    \r
-####          ####  \r
-####          ####  \r
-  ####      ####    \r
-    ##########      \r
-  ####    ######    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-  ####      ####    \r
-____##########______\r
-                    \r
-                    \r
-                    \r
-at 406,25 size 10,16\r
-                    \r
-    ##########      \r
-  ####      ####    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-  ####      ######  \r
-    ########  ####  \r
-              ##    \r
-            ####    \r
-          ####      \r
-__########__________\r
-                    \r
-                    \r
-                    \r
-at 425,25 size 3,16\r
-      \r
-      \r
-      \r
-      \r
-####  \r
-####  \r
-      \r
-      \r
-      \r
-      \r
-      \r
-####  \r
-####__\r
-      \r
-      \r
-      \r
-at 438,25 size 5,16\r
-          \r
-          \r
-          \r
-          \r
-  ####    \r
-  ####    \r
-          \r
-          \r
-          \r
-          \r
-          \r
-  ######  \r
-__####____\r
-  ####    \r
-####      \r
-####      \r
-at 451,25 size 11,16\r
-                      \r
-                      \r
-                ####  \r
-            ####      \r
-        ####          \r
-    ####              \r
-####                  \r
-####                  \r
-    ####              \r
-        ####          \r
-            ####      \r
-                ####  \r
-______________________\r
-                      \r
-                      \r
-                      \r
-at 471,25 size 11,16\r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-####################  \r
-                      \r
-                      \r
-####################  \r
-                      \r
-                      \r
-                      \r
-______________________\r
-                      \r
-                      \r
-                      \r
-at 491,25 size 11,16\r
-                      \r
-                      \r
-####                  \r
-    ####              \r
-        ####          \r
-            ####      \r
-                ####  \r
-                ####  \r
-            ####      \r
-        ####          \r
-    ####              \r
-####                  \r
-______________________\r
-                      \r
-                      \r
-                      \r
-at 510,25 size 8,16\r
-                \r
-##########      \r
-##      ######  \r
-          ####  \r
-          ####  \r
-        ######  \r
-      ######    \r
-    ######      \r
-    ####        \r
-    ####        \r
-                \r
-    ####        \r
-____####________\r
-                \r
-                \r
-                \r
-at 11,65 size 15,16\r
-                              \r
-        ############          \r
-      ####        ######      \r
-    ####              ####    \r
-  ####    ##########  ####    \r
-####    ####    ####    ####  \r
-####  ####      ####    ####  \r
-####  ####      ####    ####  \r
-####  ####      ####    ####  \r
-####  ####      ####    ####  \r
-####  ####    ######    ##    \r
-  ####  ######  ##########    \r
-__######______________________\r
-    ######                    \r
-        ############          \r
-                              \r
-at 33,65 size 13,16\r
-                          \r
-          ####            \r
-        ########          \r
-        ########          \r
-      ####    ####        \r
-      ####    ####        \r
-      ####    ####        \r
-    ####        ####      \r
-    ################      \r
-  ####            ####    \r
-  ####            ####    \r
-  ####            ####    \r
-####________________####__\r
-                          \r
-                          \r
-                          \r
-at 53,65 size 10,16\r
-                    \r
-##############      \r
-####        ####    \r
-####        ####    \r
-####        ####    \r
-####      ####      \r
-##############      \r
-####        ####    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####        ####    \r
-##############______\r
-                    \r
-                    \r
-                    \r
-at 69,65 size 11,16\r
-                      \r
-      ############    \r
-    ####        ####  \r
-  ####            ##  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-  ####            ##  \r
-    ####        ####  \r
-______############____\r
-                      \r
-                      \r
-                      \r
-at 88,65 size 11,16\r
-                      \r
-##############        \r
-####        ####      \r
-####          ####    \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####          ####    \r
-####        ####      \r
-##############________\r
-                      \r
-                      \r
-                      \r
-at 107,65 size 9,16\r
-                  \r
-################  \r
-####              \r
-####              \r
-####              \r
-####              \r
-################  \r
-####              \r
-####              \r
-####              \r
-####              \r
-####              \r
-################__\r
-                  \r
-                  \r
-                  \r
-at 124,65 size 9,16\r
-                  \r
-################  \r
-####              \r
-####              \r
-####              \r
-####              \r
-##############    \r
-####              \r
-####              \r
-####              \r
-####              \r
-####              \r
-####______________\r
-                  \r
-                  \r
-                  \r
-at 139,65 size 12,16\r
-                        \r
-        ############    \r
-    ####          ####  \r
-  ####              ##  \r
-####                    \r
-####                    \r
-####                    \r
-####        ##########  \r
-####              ####  \r
-####              ####  \r
-  ####            ####  \r
-    ####          ####  \r
-______############______\r
-                        \r
-                        \r
-                        \r
-at 159,65 size 10,16\r
-                    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-##################  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####__________####__\r
-                    \r
-                    \r
-                    \r
-at 177,65 size 7,16\r
-              \r
-############  \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-############__\r
-              \r
-              \r
-              \r
-at 189,65 size 7,16\r
-              \r
-    ########  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-########______\r
-              \r
-              \r
-              \r
-at 204,65 size 11,16\r
-                      \r
-####          ####    \r
-####        ####      \r
-####      ####        \r
-####    ####          \r
-####  ####            \r
-########              \r
-##########            \r
-####    ####          \r
-####    ######        \r
-####      ######      \r
-####        ######    \r
-####__________######__\r
-                      \r
-                      \r
-                      \r
-at 222,65 size 8,16\r
-                \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-##############__\r
-                \r
-                \r
-                \r
-at 238,65 size 11,16\r
-                      \r
-######        ######  \r
-######        ######  \r
-######        ######  \r
-####  ##    ##  ####  \r
-####  ##    ##  ####  \r
-####  ####  ##  ####  \r
-####    ####    ####  \r
-####    ####    ####  \r
-####    ####    ####  \r
-####            ####  \r
-####            ####  \r
-####____________####__\r
-                      \r
-                      \r
-                      \r
-at 258,65 size 10,16\r
-                    \r
-######        ####  \r
-######        ####  \r
-####  ##      ####  \r
-####  ##      ####  \r
-####  ####    ####  \r
-####    ##    ####  \r
-####    ####  ####  \r
-####      ##  ####  \r
-####      ##  ####  \r
-####        ######  \r
-####        ######  \r
-####________######__\r
-                    \r
-                    \r
-                    \r
-at 276,65 size 12,16\r
-                        \r
-      ##########        \r
-    ####      ####      \r
-  ####          ####    \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-  ####          ####    \r
-    ####      ####      \r
-______##########________\r
-                        \r
-                        \r
-                        \r
-at 296,65 size 8,16\r
-                \r
-##########      \r
-####    ####    \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-####      ####  \r
-####    ####    \r
-##########      \r
-####            \r
-####            \r
-####            \r
-####____________\r
-                \r
-                \r
-                \r
-at 311,65 size 12,16\r
-                        \r
-      ##########        \r
-    ####      ####      \r
-  ####          ####    \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-  ####          ####    \r
-    ####      ####      \r
-______##########________\r
-            ####        \r
-            ####        \r
-              ########  \r
-at 331,65 size 11,16\r
-                      \r
-############          \r
-####      ######      \r
-####        ####      \r
-####        ####      \r
-####        ####      \r
-####      ####        \r
-############          \r
-####    ####          \r
-####      ####        \r
-####        ####      \r
-####          ####    \r
-####__________######__\r
-                      \r
-                      \r
-                      \r
-at 348,65 size 11,16\r
-                      \r
-    ############      \r
-  ####        ####    \r
-####            ##    \r
-####                  \r
-######                \r
-  ############        \r
-      ############    \r
-              ######  \r
-                ####  \r
-##              ####  \r
-####          ####    \r
-__##############______\r
-                      \r
-                      \r
-                      \r
-at 365,65 size 11,16\r
-                      \r
-####################  \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-________####__________\r
-                      \r
-                      \r
-                      \r
-at 382,65 size 11,16\r
-                      \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-  ####        ####    \r
-____############______\r
-                      \r
-                      \r
-                      \r
-at 400,65 size 13,16\r
-                          \r
-####                ####  \r
-  ##                ##    \r
-  ####            ####    \r
-  ####            ####    \r
-    ####        ####      \r
-    ####        ####      \r
-      ##        ##        \r
-      ####    ####        \r
-      ####    ####        \r
-        ########          \r
-        ########          \r
-__________####____________\r
-                          \r
-                          \r
-                          \r
-at 418,65 size 16,16\r
-                                \r
-####          ##          ####  \r
-####        ######        ####  \r
-  ####      ##  ##      ####    \r
-  ####      ##  ##      ####    \r
-  ####      ##  ##      ####    \r
-  ####    ####  ####    ####    \r
-    ##    ##      ##    ##      \r
-    ####  ##      ##  ####      \r
-    ####  ##      ##  ####      \r
-      ######      ########      \r
-      ####          ####        \r
-______####__________####________\r
-                                \r
-                                \r
-                                \r
-at 441,65 size 11,16\r
-                      \r
-######        ######  \r
-  ####        ####    \r
-    ####    ####      \r
-    ####    ####      \r
-      ########        \r
-        ####          \r
-        ####          \r
-      ########        \r
-    ####    ####      \r
-    ####    ####      \r
-  ####        ####    \r
-######________######__\r
-                      \r
-                      \r
-                      \r
-at 458,65 size 11,16\r
-                      \r
-######        ######  \r
-  ####        ####    \r
-  ######    ######    \r
-    ####    ####      \r
-      ########        \r
-      ########        \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-________####__________\r
-                      \r
-                      \r
-                      \r
-at 475,65 size 11,16\r
-                      \r
-####################  \r
-              ######  \r
-              ####    \r
-            ####      \r
-          ####        \r
-        ####          \r
-        ####          \r
-      ####            \r
-    ####              \r
-  ####                \r
-######                \r
-####################__\r
-                      \r
-                      \r
-                      \r
-at 494,65 size 5,16\r
-########  \r
-####      \r
-####      \r
-####      \r
-####      \r
-####      \r
-####      \r
-####      \r
-####      \r
-####      \r
-####      \r
-####      \r
-####______\r
-####      \r
-####      \r
-########  \r
-at 507,65 size 8,16\r
-####            \r
-####            \r
-  ####          \r
-  ####          \r
-  ####          \r
-    ####        \r
-    ####        \r
-    ####        \r
-      ####      \r
-      ####      \r
-      ####      \r
-        ####    \r
-________####____\r
-        ####    \r
-          ####  \r
-          ####  \r
-at 520,65 size 5,16\r
-########  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-____####__\r
-    ####  \r
-    ####  \r
-########  \r
-at 535,65 size 12,16\r
-                        \r
-          ##            \r
-        ######          \r
-      ####  ####        \r
-    ####      ####      \r
-    ##          ##      \r
-  ####          ####    \r
-####              ####  \r
-                        \r
-                        \r
-                        \r
-                        \r
-________________________\r
-                        \r
-                        \r
-                        \r
-at 553,65 size 12,16\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-________________________\r
-                        \r
-                        \r
-######################  \r
-at 13,105 size 5,17\r
-######    \r
-  ####    \r
-    ####  \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-          \r
-__________\r
-          \r
-          \r
-          \r
-at 27,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-  ############    \r
-  ##        ####  \r
-            ####  \r
-    ############  \r
-  ####      ####  \r
-####        ####  \r
-####        ####  \r
-####      ######  \r
-__########__####__\r
-                  \r
-                  \r
-                  \r
-at 44,105 size 10,17\r
-                    \r
-####                \r
-####                \r
-####                \r
-####                \r
-####  ########      \r
-######      ####    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####        ####    \r
-##############______\r
-                    \r
-                    \r
-                    \r
-at 60,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-    ############  \r
-  ####        ##  \r
-####              \r
-####              \r
-####              \r
-####              \r
-####              \r
-  ####      ####  \r
-____##########____\r
-                  \r
-                  \r
-                  \r
-at 74,105 size 10,17\r
-                    \r
-              ####  \r
-              ####  \r
-              ####  \r
-              ####  \r
-    ##############  \r
-  ####        ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-  ####      ######  \r
-____########__####__\r
-                    \r
-                    \r
-                    \r
-at 91,105 size 10,17\r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-    ##########      \r
-  ####      ####    \r
-####          ####  \r
-####          ####  \r
-##################  \r
-####                \r
-####                \r
-  ####          ##  \r
-______############__\r
-                    \r
-                    \r
-                    \r
-at 107,105 size 7,17\r
-              \r
-    ########  \r
-  ####        \r
-  ####        \r
-  ####        \r
-##########    \r
-  ####        \r
-  ####        \r
-  ####        \r
-  ####        \r
-  ####        \r
-  ####        \r
-  ####        \r
-__####________\r
-              \r
-              \r
-              \r
-at 119,105 size 10,17\r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-    ##############  \r
-  ####        ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-  ####      ######  \r
-____########__####__\r
-              ####  \r
-  ##        ####    \r
-  ############      \r
-at 137,105 size 9,17\r
-                  \r
-####              \r
-####              \r
-####              \r
-####              \r
-####  ########    \r
-######      ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####________####__\r
-                  \r
-                  \r
-                  \r
-at 153,105 size 3,17\r
-      \r
-      \r
-####  \r
-####  \r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####__\r
-      \r
-      \r
-      \r
-at 163,105 size 5,17\r
-          \r
-          \r
-    ####  \r
-    ####  \r
-          \r
-  ######  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-    ####  \r
-____####__\r
-    ####  \r
-    ####  \r
-######    \r
-at 176,105 size 10,17\r
-                    \r
-####                \r
-####                \r
-####                \r
-####                \r
-####        ####    \r
-####      ####      \r
-####    ####        \r
-####  ####          \r
-##########          \r
-############        \r
-####    ######      \r
-####      ######    \r
-####________######__\r
-                    \r
-                    \r
-                    \r
-at 192,105 size 3,17\r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####__\r
-      \r
-      \r
-      \r
-at 202,105 size 15,17\r
-                              \r
-                              \r
-                              \r
-                              \r
-                              \r
-####  ########    ########    \r
-######      ######      ####  \r
-####        ####        ####  \r
-####        ####        ####  \r
-####        ####        ####  \r
-####        ####        ####  \r
-####        ####        ####  \r
-####        ####        ####  \r
-####________####________####__\r
-                              \r
-                              \r
-                              \r
-at 225,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-####  ########    \r
-######      ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####________####__\r
-                  \r
-                  \r
-                  \r
-at 241,105 size 10,17\r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-    ##########      \r
-  ####      ####    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-  ####      ####    \r
-____##########______\r
-                    \r
-                    \r
-                    \r
-at 258,105 size 10,17\r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-####  ########      \r
-######      ####    \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####        ####    \r
-##############______\r
-####                \r
-####                \r
-####                \r
-at 274,105 size 10,17\r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-    ##############  \r
-  ####        ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-####          ####  \r
-  ####      ######  \r
-____########__####__\r
-              ####  \r
-              ####  \r
-              ####  \r
-at 291,105 size 7,17\r
-              \r
-              \r
-              \r
-              \r
-              \r
-####  ######  \r
-######        \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####__________\r
-              \r
-              \r
-              \r
-at 303,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-    ##########    \r
-  ####      ####  \r
-####          ##  \r
-######            \r
-  ############    \r
-          ######  \r
-##          ####  \r
-####      ####    \r
-__##########______\r
-                  \r
-                  \r
-                  \r
-at 318,105 size 8,17\r
-                \r
-                \r
-  ####          \r
-  ####          \r
-  ####          \r
-##############  \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-____##########__\r
-                \r
-                \r
-                \r
-at 332,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####        ####  \r
-####      ######  \r
-__########__####__\r
-                  \r
-                  \r
-                  \r
-at 349,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-####        ####  \r
-  ####    ####    \r
-  ####    ####    \r
-  ####    ####    \r
-    ##    ##      \r
-    ########      \r
-    ########      \r
-      ####        \r
-______####________\r
-                  \r
-                  \r
-                  \r
-at 365,105 size 13,17\r
-                          \r
-                          \r
-                          \r
-                          \r
-                          \r
-####      ####      ####  \r
-####      ####      ####  \r
-  ##      ####      ##    \r
-  ####  ########  ####    \r
-  ####  ##    ##  ####    \r
-  ####  ##    ##  ####    \r
-    ######    ######      \r
-    ####        ####      \r
-____####________####______\r
-                          \r
-                          \r
-                          \r
-at 385,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-######    ######  \r
-  ####    ####    \r
-    ########      \r
-    ######        \r
-      ####        \r
-    ########      \r
-    ########      \r
-  ####    ####    \r
-######____######__\r
-                  \r
-                  \r
-                  \r
-at 401,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-                  \r
-                  \r
-####        ####  \r
-  ####    ####    \r
-  ####    ####    \r
-  ####    ####    \r
-    ##    ##      \r
-    ########      \r
-      ####        \r
-      ####        \r
-______####________\r
-      ##          \r
-    ####          \r
-  ####            \r
-at 417,105 size 8,17\r
-                \r
-                \r
-                \r
-                \r
-                \r
-##############  \r
-          ####  \r
-        ####    \r
-      ####      \r
-      ##        \r
-    ####        \r
-  ####          \r
-####            \r
-##############__\r
-                \r
-                \r
-                \r
-at 433,105 size 9,17\r
-                  \r
-        ########  \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-    ####          \r
-######            \r
-    ####          \r
-      ####        \r
-      ####        \r
-      ####        \r
-______####________\r
-      ####        \r
-      ####        \r
-        ########  \r
-at 450,105 size 3,17\r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####__\r
-####  \r
-####  \r
-####  \r
-at 462,105 size 9,17\r
-                  \r
-########          \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-        ####      \r
-          ######  \r
-        ####      \r
-      ####        \r
-      ####        \r
-      ####        \r
-______####________\r
-      ####        \r
-      ####        \r
-########          \r
-at 480,105 size 12,17\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-    ######        ####  \r
-  ####    ##      ####  \r
-####      ##    ####    \r
-####        ######      \r
-                        \r
-                        \r
-                        \r
-________________________\r
-                        \r
-                        \r
-                        \r
-at 501,105 size 11,17\r
-                      \r
-                      \r
-        ##########    \r
-      ####      ####  \r
-    ####              \r
-    ####              \r
-##############        \r
-    ####              \r
-    ####              \r
-##############        \r
-    ####              \r
-    ####              \r
-      ####      ####  \r
-________##########____\r
-                      \r
-                      \r
-                      \r
-at 516,105 size 9,17\r
-                  \r
-                  \r
-                  \r
-        ####      \r
-        ####      \r
-    ############  \r
-  ####        ##  \r
-####              \r
-####              \r
-####              \r
-####              \r
-####              \r
-  ####      ####  \r
-____##########____\r
-        ####      \r
-        ####      \r
-                  \r
index 0cfde88..963218d 100644 (file)
@@ -1,35 +1,35 @@
 /* set04nld.c generated from apibus.hfm, do not edit! */\r
 \r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1a,0x08,0x1c,\r
-0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,\r
-0x1e,0x1e,0x1c,0x1c,0x1c,0x1e,0x1c,0x1c,\r
-0x1c,0x28,0x1c,0x1c,0x1c,0x21,0x1c,0x29,\r
-0x1c,0x1c,0x1c,0x1c,0x1d,0x1c,0x1c,0x29,\r
-0x1c,0x1c,0x27,0x1c,0x1c,0x1c,0x29,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1d,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,\r
-0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1e\r
+0x0b,0x01,0x02,0x03,0x04,0xfc,0xfd,0xfe,\r
+0xff,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0c,0xf4,0x0b,0x0b,\r
+0x0b,0x04,0x04,0x04,0x0d,0x0b,0x12,0x0e,\r
+0x04,0x07,0x07,0x09,0x0d,0x06,0x07,0x04,\r
+0x09,0x0b,0x0a,0x0b,0x0b,0x0c,0x0a,0x0b,\r
+0x0a,0x0b,0x0b,0x04,0x06,0x0c,0x0c,0x0c,\r
+0x09,0x10,0x0e,0x0b,0x0c,0x0c,0x0a,0x0a,\r
+0x0d,0x0b,0x08,0x08,0x0c,0x09,0x0c,0x0b,\r
+0x0d,0x09,0x0d,0x0c,0x0c,0x0c,0x0c,0x0e,\r
+0x11,0x0c,0x0c,0x0c,0x06,0x09,0x06,0x0d,\r
+0x0d,0x06,0x0a,0x0b,0x0a,0x0b,0x0b,0x08,\r
+0x0b,0x0a,0x04,0x07,0x0b,0x04,0x10,0x0a,\r
+0x0b,0x0b,0x0b,0x08,0x0a,0x09,0x0a,0x0a,\r
+0x0e,0x0a,0x0a,0x09,0x0a,0x04,0x0a,0x0d,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,\r
+0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b\r
 \r
diff --git a/src/font/set05.bmp b/src/font/set05.bmp
deleted file mode 100644 (file)
index ef53425..0000000
Binary files a/src/font/set05.bmp and /dev/null differ
diff --git a/src/font/set05.chs b/src/font/set05.chs
deleted file mode 100644 (file)
index 06ca0fb..0000000
Binary files a/src/font/set05.chs and /dev/null differ
diff --git a/src/font/set05.cmd b/src/font/set05.cmd
deleted file mode 100644 (file)
index c365d83..0000000
Binary files a/src/font/set05.cmd and /dev/null differ
diff --git a/src/font/set05.txt b/src/font/set05.txt
deleted file mode 100644 (file)
index 1739a51..0000000
+++ /dev/null
@@ -1,2145 +0,0 @@
-at 32,42 size 3,21\r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-      \r
-      \r
-####  \r
-####__\r
-      \r
-      \r
-      \r
-      \r
-at 48,42 size 7,21\r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-####    ####  \r
-              \r
-              \r
-              \r
-              \r
-              \r
-              \r
-              \r
-              \r
-              \r
-              \r
-______________\r
-              \r
-              \r
-              \r
-              \r
-at 66,42 size 15,21\r
-                              \r
-            ##        ##      \r
-            ##        ##      \r
-          ##        ##        \r
-          ##        ##        \r
-          ##        ##        \r
-  ##########################  \r
-        ##        ##          \r
-        ##        ##          \r
-        ##        ##          \r
-        ##        ##          \r
-##########################    \r
-      ##        ##            \r
-      ##        ##            \r
-      ##        ##            \r
-    ##        ##              \r
-____##________##______________\r
-                              \r
-                              \r
-                              \r
-                              \r
-at 90,42 size 12,21\r
-          ##            \r
-          ##            \r
-          ##            \r
-      ############      \r
-  ##################    \r
-######    ##      ##    \r
-####      ##            \r
-####      ##            \r
-######    ##            \r
-  ##############        \r
-        ############    \r
-          ##    ######  \r
-          ##      ####  \r
-          ##      ####  \r
-####      ##    ######  \r
-####################    \r
-__##############________\r
-          ##            \r
-          ##            \r
-          ##            \r
-          ##            \r
-at 113,42 size 21,21\r
-                                          \r
-    ########              ####            \r
-  ############          ####              \r
-######    ######        ####              \r
-####        ####      ####                \r
-####        ####      ####                \r
-####        ####    ####                  \r
-######    ######    ####                  \r
-  ############    ####      ########      \r
-    ########      ####    ############    \r
-                ####    ######    ######  \r
-                ####    ####        ####  \r
-              ####      ####        ####  \r
-              ####      ####        ####  \r
-            ####        ######    ######  \r
-            ####          ############    \r
-__________####______________########______\r
-                                          \r
-                                          \r
-                                          \r
-                                          \r
-at 144,42 size 17,21\r
-                                  \r
-      ##########                  \r
-    ##############                \r
-  ######      ######              \r
-  ####          ####              \r
-  ####          ####              \r
-    ####      ####                \r
-      ##########      ####        \r
-    ##########        ####        \r
-  ####      ####      ####        \r
-####          ######  ####        \r
-####            ########          \r
-####              ######          \r
-####              ########        \r
-########        ############      \r
-  ################      ######    \r
-______##########__________######__\r
-                                  \r
-                                  \r
-                                  \r
-                                  \r
-at 168,42 size 3,21\r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-      \r
-______\r
-      \r
-      \r
-      \r
-      \r
-at 182,42 size 7,21\r
-      ######  \r
-      ####    \r
-    ####      \r
-    ####      \r
-  ####        \r
-  ####        \r
-######        \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-######        \r
-  ####        \r
-__####________\r
-    ####      \r
-    ####      \r
-      ####    \r
-      ######  \r
-at 200,42 size 7,21\r
-######        \r
-  ####        \r
-    ####      \r
-    ######    \r
-      ####    \r
-      ####    \r
-      ######  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-      ######  \r
-      ####    \r
-______####____\r
-    ######    \r
-    ####      \r
-  ####        \r
-######        \r
-at 216,42 size 12,21\r
-          ##            \r
-          ##            \r
-####      ##      ####  \r
-  ######  ##  ######    \r
-      ##########        \r
-      ##########        \r
-  ######  ##  ######    \r
-####      ##      ####  \r
-          ##            \r
-          ##            \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-________________________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 239,42 size 15,21\r
-                              \r
-                              \r
-                              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-############################  \r
-############################  \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-____________####______________\r
-                              \r
-                              \r
-                              \r
-                              \r
-at 265,42 size 6,21\r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-    ######  \r
-    ####    \r
-__######____\r
-  ####      \r
-  ####      \r
-####        \r
-####        \r
-at 281,42 size 8,21\r
-                \r
-                \r
-                \r
-                \r
-                \r
-                \r
-                \r
-                \r
-                \r
-##############  \r
-##############  \r
-                \r
-                \r
-                \r
-                \r
-                \r
-________________\r
-                \r
-                \r
-                \r
-                \r
-at 299,42 size 4,21\r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-######  \r
-######  \r
-######__\r
-        \r
-        \r
-        \r
-        \r
-at 312,42 size 11,21\r
-                ####  \r
-              ####    \r
-              ####    \r
-            ######    \r
-            ####      \r
-            ####      \r
-          ####        \r
-          ####        \r
-        ######        \r
-        ####          \r
-        ####          \r
-      ####            \r
-      ####            \r
-      ####            \r
-    ####              \r
-    ####              \r
-__######______________\r
-  ####                \r
-  ####                \r
-####                  \r
-                      \r
-at 331,42 size 12,21\r
-                        \r
-      ##########        \r
-    ##############      \r
-  ######      ######    \r
-  ####          ####    \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-  ####          ####    \r
-  ######      ######    \r
-    ##############      \r
-______##########________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 354,42 size 9,21\r
-                  \r
-      ####        \r
-      ####        \r
-##########        \r
-##########        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-      ####        \r
-################  \r
-################__\r
-                  \r
-                  \r
-                  \r
-                  \r
-at 375,42 size 11,21\r
-                      \r
-  ############        \r
-################      \r
-##          ######    \r
-              ####    \r
-              ####    \r
-              ####    \r
-              ####    \r
-            ####      \r
-          ####        \r
-        ######        \r
-      ######          \r
-    ######            \r
-  ######              \r
-######                \r
-####################  \r
-####################__\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 397,42 size 11,21\r
-                      \r
-  ##############      \r
-##################    \r
-##            ######  \r
-                ####  \r
-                ####  \r
-              ####    \r
-        ########      \r
-        ########      \r
-              ####    \r
-                ####  \r
-                ####  \r
-                ####  \r
-                ####  \r
-##            ####    \r
-##################    \r
-__############________\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 418,42 size 13,21\r
-                          \r
-                ####      \r
-              ######      \r
-            ########      \r
-          ##########      \r
-        ######  ####      \r
-      ######    ####      \r
-    ######      ####      \r
-  ######        ####      \r
-######          ####      \r
-########################  \r
-########################  \r
-                ####      \r
-                ####      \r
-                ####      \r
-                ####      \r
-________________####______\r
-                          \r
-                          \r
-                          \r
-                          \r
-at 440,42 size 11,21\r
-                      \r
-  ##################  \r
-  ##################  \r
-  ####                \r
-  ####                \r
-  ####                \r
-  ####                \r
-  ##############      \r
-  ################    \r
-              ######  \r
-                ####  \r
-                ####  \r
-                ####  \r
-                ####  \r
-##            ####    \r
-##################    \r
-__############________\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 461,42 size 12,21\r
-                        \r
-        ##########      \r
-      ############      \r
-    ######              \r
-  ####                  \r
-  ####                  \r
-####                    \r
-####  ##########        \r
-####################    \r
-######          ######  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-  ####            ####  \r
-  ######        ####    \r
-    ##############      \r
-______##########________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 484,42 size 12,21\r
-                        \r
-######################  \r
-######################  \r
-                  ####  \r
-                  ####  \r
-                ####    \r
-              ######    \r
-              ####      \r
-            ####        \r
-            ####        \r
-          ####          \r
-        ######          \r
-        ####            \r
-      ####              \r
-      ####              \r
-    ####                \r
-__######________________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 504,42 size 12,21\r
-                        \r
-      ##########        \r
-  ##################    \r
-######          ######  \r
-####              ####  \r
-####              ####  \r
-######            ####  \r
-  ########    ######    \r
-      ##########        \r
-  ####      ########    \r
-####            ######  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-######          ####    \r
-  ##################    \r
-______##########________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 526,42 size 12,21\r
-                        \r
-      ##########        \r
-    ##############      \r
-  ####        ######    \r
-####            ####    \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-######          ######  \r
-  ####################  \r
-      ##########  ####  \r
-                  ####  \r
-                ####    \r
-                ####    \r
-            ######      \r
-    ############        \r
-____##########__________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 551,42 size 4,21\r
-        \r
-        \r
-        \r
-        \r
-        \r
-######  \r
-######  \r
-######  \r
-        \r
-        \r
-        \r
-        \r
-        \r
-        \r
-######  \r
-######  \r
-######__\r
-        \r
-        \r
-        \r
-        \r
-at 568,42 size 6,21\r
-            \r
-            \r
-            \r
-            \r
-            \r
-  ######    \r
-  ######    \r
-  ######    \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-    ######  \r
-    ####    \r
-__######____\r
-  ####      \r
-  ####      \r
-####        \r
-####        \r
-at 585,42 size 13,21\r
-                          \r
-                          \r
-                          \r
-                          \r
-                    ####  \r
-                ########  \r
-            ########      \r
-        ########          \r
-    ########              \r
-########                  \r
-########                  \r
-    ########              \r
-        ########          \r
-            ########      \r
-                ########  \r
-                    ####  \r
-__________________________\r
-                          \r
-                          \r
-                          \r
-                          \r
-at 611,42 size 14,21\r
-                            \r
-                            \r
-                            \r
-                            \r
-                            \r
-                            \r
-                            \r
-##########################  \r
-##########################  \r
-                            \r
-                            \r
-                            \r
-##########################  \r
-##########################  \r
-                            \r
-                            \r
-____________________________\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 637,42 size 13,21\r
-                          \r
-                          \r
-                          \r
-                          \r
-####                      \r
-########                  \r
-    ########              \r
-        ########          \r
-            ########      \r
-                ########  \r
-                ########  \r
-            ########      \r
-        ########          \r
-    ########              \r
-########                  \r
-####                      \r
-__________________________\r
-                          \r
-                          \r
-                          \r
-                          \r
-at 662,42 size 10,21\r
-                    \r
-  ############      \r
-################    \r
-##          ######  \r
-              ####  \r
-              ####  \r
-              ####  \r
-            ####    \r
-          ######    \r
-      ######        \r
-      ####          \r
-      ####          \r
-      ####          \r
-                    \r
-                    \r
-      ####          \r
-______####__________\r
-                    \r
-                    \r
-                    \r
-                    \r
-at 16,94 size 19,21\r
-                                      \r
-            ############              \r
-        ####################          \r
-      ######            ########      \r
-    ######                  ####      \r
-  ######    ##############    ####    \r
-  ####    ################    ####    \r
-######    ####        ####      ####  \r
-####    ####          ####      ####  \r
-####    ####          ####      ####  \r
-####    ####          ####      ####  \r
-####    ####          ####      ####  \r
-####    ####          ####      ####  \r
-######  ######      ######    ######  \r
-  ####    ########################    \r
-  ######    ########  ############    \r
-____######____________________________\r
-      ########                        \r
-        ##################            \r
-            ##############            \r
-                                      \r
-at 44,94 size 16,21\r
-                                \r
-            ######              \r
-          ####  ####            \r
-          ####  ####            \r
-          ####  ####            \r
-        ####      ####          \r
-        ####      ####          \r
-        ####      ####          \r
-      ####          ####        \r
-      ####          ####        \r
-    ######          ######      \r
-    ######################      \r
-    ######################      \r
-  ####                  ####    \r
-  ####                  ####    \r
-  ####                  ####    \r
-####______________________####__\r
-                                \r
-                                \r
-                                \r
-                                \r
-at 68,94 size 13,21\r
-                          \r
-##################        \r
-####################      \r
-####            ######    \r
-####              ####    \r
-####              ####    \r
-####            ####      \r
-##################        \r
-######################    \r
-####              ####    \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####            ######    \r
-######################    \r
-##################________\r
-                          \r
-                          \r
-                          \r
-                          \r
-at 90,94 size 14,21\r
-                            \r
-          ############      \r
-      ####################  \r
-    ######          ######  \r
-  ######                ##  \r
-  ####                      \r
-####                        \r
-####                        \r
-####                        \r
-####                        \r
-####                        \r
-####                        \r
-  ####                      \r
-  ######                ##  \r
-    ######          ######  \r
-      ####################  \r
-________##############______\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 114,94 size 15,21\r
-                              \r
-##################            \r
-######################        \r
-####            ########      \r
-####                ######    \r
-####                  ####    \r
-####                    ####  \r
-####                    ####  \r
-####                    ####  \r
-####                    ####  \r
-####                    ####  \r
-####                    ####  \r
-####                  ####    \r
-####                ######    \r
-####            ########      \r
-######################        \r
-##################____________\r
-                              \r
-                              \r
-                              \r
-                              \r
-at 139,94 size 12,21\r
-                        \r
-######################  \r
-######################  \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-######################  \r
-######################  \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-######################  \r
-######################__\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 161,94 size 12,21\r
-                        \r
-######################  \r
-######################  \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####################    \r
-####################    \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####____________________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 180,94 size 15,21\r
-                              \r
-          ##############      \r
-      ######################  \r
-    ######            ######  \r
-  ######                  ##  \r
-  ####                        \r
-####                          \r
-####                          \r
-####                          \r
-####            ############  \r
-####            ############  \r
-####                    ####  \r
-  ####                  ####  \r
-  ######                ####  \r
-    ######              ####  \r
-      ######################  \r
-__________############________\r
-                              \r
-                              \r
-                              \r
-                              \r
-at 206,94 size 14,21\r
-                            \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-##########################  \r
-##########################  \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-####                  ####  \r
-####__________________####__\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 230,94 size 7,21\r
-              \r
-############  \r
-############  \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-    ####      \r
-############  \r
-############__\r
-              \r
-              \r
-              \r
-              \r
-at 245,94 size 9,21\r
-                  \r
-    ############  \r
-    ############  \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-            ####  \r
-          ######  \r
-##############    \r
-############______\r
-                  \r
-                  \r
-                  \r
-                  \r
-at 265,94 size 14,21\r
-                            \r
-####                ####    \r
-####              ####      \r
-####            ####        \r
-####          ####          \r
-####        ####            \r
-####      ####              \r
-####    ####                \r
-####  ####                  \r
-############                \r
-######    ####              \r
-####      ######            \r
-####        ######          \r
-####          ######        \r
-####            ######      \r
-####              ######    \r
-####________________######__\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 288,94 size 11,21\r
-                      \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####################  \r
-####################__\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 308,94 size 16,21\r
-                                \r
-######                  ######  \r
-########              ########  \r
-########              ########  \r
-####  ####          ####  ####  \r
-####  ####          ####  ####  \r
-####    ####      ####    ####  \r
-####    ####      ####    ####  \r
-####      ####  ####      ####  \r
-####      ####  ####      ####  \r
-####        ######        ####  \r
-####        ######        ####  \r
-####          ##          ####  \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-####______________________####__\r
-                                \r
-                                \r
-                                \r
-                                \r
-at 334,94 size 13,21\r
-                          \r
-########            ####  \r
-########            ####  \r
-##########          ####  \r
-####  ####          ####  \r
-####  ######        ####  \r
-####    ####        ####  \r
-####    ######      ####  \r
-####      ####      ####  \r
-####        ####    ####  \r
-####        ####    ####  \r
-####          ####  ####  \r
-####          ####  ####  \r
-####            ########  \r
-####            ########  \r
-####              ######  \r
-####______________######__\r
-                          \r
-                          \r
-                          \r
-                          \r
-at 357,94 size 16,21\r
-                                \r
-          ############          \r
-      ##################        \r
-    ######          ######      \r
-  ######              ######    \r
-  ####                  ####    \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-  ####                  ####    \r
-  ######              ######    \r
-    ######          ######      \r
-      ##################        \r
-__________############__________\r
-                                \r
-                                \r
-                                \r
-                                \r
-at 383,94 size 11,21\r
-                      \r
-##############        \r
-##################    \r
-####          ######  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####          ####    \r
-################      \r
-##############        \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####__________________\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 403,94 size 16,21\r
-                                \r
-          ############          \r
-      ##################        \r
-    ######          ######      \r
-  ######              ######    \r
-  ####                  ####    \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-####                      ####  \r
-  ####                  ####    \r
-  ######              ######    \r
-    ######          ######      \r
-      ##################        \r
-__________##########____________\r
-                ####            \r
-                ######          \r
-                  ############  \r
-                    ##########  \r
-at 429,94 size 14,21\r
-                            \r
-################            \r
-##################          \r
-####          ######        \r
-####            ####        \r
-####            ####        \r
-####            ####        \r
-####            ####        \r
-####          ####          \r
-################            \r
-##############              \r
-####        ####            \r
-####        ######          \r
-####          ######        \r
-####            ######      \r
-####              ######    \r
-####________________######__\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 451,94 size 14,21\r
-                            \r
-      ##############        \r
-  ######################    \r
-  ####            ######    \r
-####                  ##    \r
-####                        \r
-####                        \r
-  ######                    \r
-    ################        \r
-        ################    \r
-                  ########  \r
-                      ####  \r
-                      ####  \r
-##                    ####  \r
-######            ######    \r
-######################      \r
-____################________\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 473,94 size 15,21\r
-                              \r
-############################  \r
-############################  \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-____________####______________\r
-                              \r
-                              \r
-                              \r
-                              \r
-at 497,94 size 13,21\r
-                          \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-####                ####  \r
-######            ######  \r
-  ######        ######    \r
-    ################      \r
-______############________\r
-                          \r
-                          \r
-                          \r
-                          \r
-at 518,94 size 16,21\r
-                                \r
-####                      ####  \r
-  ####                  ####    \r
-  ####                  ####    \r
-  ####                  ####    \r
-    ####              ####      \r
-    ####              ####      \r
-    ######          ######      \r
-      ####          ####        \r
-      ####          ####        \r
-        ####      ####          \r
-        ####      ####          \r
-        ####      ####          \r
-          ####  ####            \r
-          ####  ####            \r
-          ##########            \r
-____________######______________\r
-                                \r
-                                \r
-                                \r
-                                \r
-at 542,94 size 21,21\r
-                                          \r
-####              ####              ####  \r
-####              ######            ####  \r
-  ####          ########          ####    \r
-  ####          ########          ####    \r
-  ####          ########          ####    \r
-  ######        ##    ####        ####    \r
-    ####      ####    ####      ####      \r
-    ####      ####    ####      ####      \r
-    ####      ####    ####      ####      \r
-      ####    ##        ####    ####      \r
-      ####  ####        ####  ####        \r
-      ####  ####        ####  ####        \r
-      ####  ####        ####  ####        \r
-        ######            ######          \r
-        ######            ######          \r
-________######____________######__________\r
-                                          \r
-                                          \r
-                                          \r
-                                          \r
-at 572,94 size 14,21\r
-                            \r
-######              ######  \r
-  ####              ####    \r
-    ####          ####      \r
-    ######      ######      \r
-      ####      ####        \r
-        ####  ####          \r
-        ##########          \r
-          ######            \r
-          ######            \r
-        ####  ####          \r
-        ####  ####          \r
-      ####      ####        \r
-    ######      ######      \r
-    ####          ####      \r
-  ####              ####    \r
-######______________######__\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 593,94 size 15,21\r
-                              \r
-######                ######  \r
-  ####                ####    \r
-    ####            ####      \r
-    ######        ######      \r
-      ####        ####        \r
-        ####    ####          \r
-        ############          \r
-          ########            \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-            ####              \r
-____________####______________\r
-                              \r
-                              \r
-                              \r
-                              \r
-at 616,94 size 14,21\r
-                            \r
-##########################  \r
-##########################  \r
-                    ######  \r
-                  ######    \r
-                ######      \r
-              ######        \r
-              ####          \r
-            ####            \r
-          ####              \r
-        ####                \r
-      ######                \r
-    ######                  \r
-  ######                    \r
-######                      \r
-##########################  \r
-##########################__\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 640,94 size 7,21\r
-############  \r
-############  \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####          \r
-####__________\r
-####          \r
-####          \r
-############  \r
-############  \r
-at 656,94 size 11,21\r
-####                  \r
-  ####                \r
-  ####                \r
-  ######              \r
-    ####              \r
-    ####              \r
-      ####            \r
-      ####            \r
-      ######          \r
-        ####          \r
-        ####          \r
-          ####        \r
-          ####        \r
-          ####        \r
-            ####      \r
-            ####      \r
-____________######____\r
-              ####    \r
-              ####    \r
-                ####  \r
-                      \r
-at 675,94 size 7,21\r
-############  \r
-############  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-________####__\r
-        ####  \r
-        ####  \r
-############  \r
-############  \r
-at 693,94 size 15,21\r
-                              \r
-            ####              \r
-          ########            \r
-          ########            \r
-        ####    ####          \r
-      ####        ####        \r
-    ######        ######      \r
-    ####            ####      \r
-  ####                ####    \r
-####                    ####  \r
-                              \r
-                              \r
-                              \r
-                              \r
-                              \r
-                              \r
-______________________________\r
-                              \r
-                              \r
-                              \r
-                              \r
-at 716,94 size 12,21\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-________________________\r
-                        \r
-                        \r
-######################  \r
-                        \r
-at 18,146 size 6,22\r
-######      \r
-  ######    \r
-    ####    \r
-      ####  \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-____________\r
-            \r
-            \r
-            \r
-            \r
-at 37,146 size 11,22\r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-  ##############      \r
-  ################    \r
-  ##          ######  \r
-                ####  \r
-      ##############  \r
-  ##################  \r
-########        ####  \r
-####            ####  \r
-####            ####  \r
-######        ######  \r
-  ##################  \r
-____########____####__\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 59,146 size 12,22\r
-                        \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####    ########        \r
-####################    \r
-######          ####    \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####            ######  \r
-####          ######    \r
-##################      \r
-####__##########________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 79,146 size 10,22\r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-      ##########    \r
-    ##############  \r
-  ######        ##  \r
-######              \r
-####                \r
-####                \r
-####                \r
-####                \r
-######              \r
-  ####          ##  \r
-  ################  \r
-______##########____\r
-                    \r
-                    \r
-                    \r
-                    \r
-at 98,146 size 12,22\r
-                        \r
-                  ####  \r
-                  ####  \r
-                  ####  \r
-                  ####  \r
-                  ####  \r
-      ##########  ####  \r
-    ##################  \r
-  ######          ####  \r
-######            ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-  ####          ######  \r
-  ####################  \r
-______########____####__\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 120,146 size 12,22\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-      ##########        \r
-    ################    \r
-  ######        ####    \r
-######            ####  \r
-####              ####  \r
-######################  \r
-######################  \r
-####                    \r
-####                    \r
-  ######            ##  \r
-    ##################  \r
-______##############____\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 141,146 size 8,22\r
-                \r
-      ########  \r
-    ##########  \r
-  ######        \r
-  ####          \r
-  ####          \r
-############    \r
-############    \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-  ####          \r
-__####__________\r
-                \r
-                \r
-                \r
-                \r
-at 156,146 size 12,22\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-      ##########  ####  \r
-    ##################  \r
-  ######          ####  \r
-######            ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-  ####          ######  \r
-  ####################  \r
-______########____####__\r
-                  ####  \r
-  ##            ####    \r
-  ##################    \r
-  ##############        \r
-at 178,146 size 11,22\r
-                      \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####                  \r
-####    ########      \r
-##################    \r
-######        ######  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####____________####__\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 200,146 size 3,22\r
-      \r
-      \r
-####  \r
-####  \r
-      \r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####__\r
-      \r
-      \r
-      \r
-      \r
-at 212,146 size 7,22\r
-              \r
-              \r
-        ####  \r
-        ####  \r
-              \r
-              \r
-  ##########  \r
-  ##########  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-        ####  \r
-________####__\r
-        ####  \r
-      ######  \r
-##########    \r
-########      \r
-at 229,146 size 12,22\r
-                        \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-####            ####    \r
-####          ####      \r
-####        ####        \r
-####      ####          \r
-####    ####            \r
-####  ####              \r
-############            \r
-######  ######          \r
-####      ######        \r
-####        ######      \r
-####          ######    \r
-####____________######__\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 250,146 size 3,22\r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####__\r
-      \r
-      \r
-      \r
-      \r
-at 264,146 size 19,22\r
-                                      \r
-                                      \r
-                                      \r
-                                      \r
-                                      \r
-                                      \r
-####    ########      ##########      \r
-##################  ##############    \r
-######        ##########      ######  \r
-####            ####            ####  \r
-####            ####            ####  \r
-####            ####            ####  \r
-####            ####            ####  \r
-####            ####            ####  \r
-####            ####            ####  \r
-####            ####            ####  \r
-####            ####            ####  \r
-####____________####____________####__\r
-                                      \r
-                                      \r
-                                      \r
-                                      \r
-at 293,146 size 11,22\r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-####    ########      \r
-##################    \r
-######        ######  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####____________####__\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 314,146 size 12,22\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-      ##########        \r
-    ##############      \r
-  ######      ######    \r
-######          ######  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-######          ######  \r
-  ######      ######    \r
-    ##############      \r
-______##########________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 336,146 size 12,22\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-####    ########        \r
-####################    \r
-######          ####    \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####            ######  \r
-####          ######    \r
-##################      \r
-####__##########________\r
-####                    \r
-####                    \r
-####                    \r
-####                    \r
-at 356,146 size 12,22\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-      ##########  ####  \r
-    ##################  \r
-  ######          ####  \r
-######            ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-####              ####  \r
-  ####          ######  \r
-  ####################  \r
-______##########__####__\r
-                  ####  \r
-                  ####  \r
-                  ####  \r
-                  ####  \r
-at 378,146 size 8,22\r
-                \r
-                \r
-                \r
-                \r
-                \r
-                \r
-####    ######  \r
-##############  \r
-######          \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####            \r
-####____________\r
-                \r
-                \r
-                \r
-                \r
-at 395,146 size 10,22\r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-                    \r
-    ############    \r
-  ################  \r
-####            ##  \r
-####                \r
-######              \r
-  ############      \r
-      ##########    \r
-            ######  \r
-              ####  \r
-##            ####  \r
-################    \r
-__############______\r
-                    \r
-                    \r
-                    \r
-                    \r
-at 414,146 size 9,22\r
-                  \r
-                  \r
-                  \r
-  ####            \r
-  ####            \r
-  ####            \r
-################  \r
-################  \r
-  ####            \r
-  ####            \r
-  ####            \r
-  ####            \r
-  ####            \r
-  ####            \r
-  ####            \r
-  ######          \r
-    ############  \r
-______##########__\r
-                  \r
-                  \r
-                  \r
-                  \r
-at 431,146 size 11,22\r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-####            ####  \r
-######        ######  \r
-  ##################  \r
-____########____####__\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 452,146 size 12,22\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-####              ####  \r
-  ####          ####    \r
-  ####          ####    \r
-  ####          ####    \r
-    ####      ####      \r
-    ####      ####      \r
-    ####      ####      \r
-      ####  ####        \r
-      ####  ####        \r
-        ######          \r
-        ######          \r
-________######__________\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 473,146 size 17,22\r
-                                  \r
-                                  \r
-                                  \r
-                                  \r
-                                  \r
-                                  \r
-####          ####          ####  \r
-####          ####          ####  \r
-  ####      ########      ####    \r
-  ####      ########      ####    \r
-  ####      ##    ##      ####    \r
-  ####    ####    ####    ####    \r
-    ####  ####    ####    ##      \r
-    ####  ##        ##  ####      \r
-    ####  ##        ########      \r
-    ########        ########      \r
-      ####            ####        \r
-______####____________####________\r
-                                  \r
-                                  \r
-                                  \r
-                                  \r
-at 498,146 size 12,22\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-######          ######  \r
-  ######        ####    \r
-    ####      ####      \r
-      ####  ####        \r
-      ##########        \r
-        ######          \r
-        ######          \r
-      ##########        \r
-      ####  ####        \r
-    ####      ####      \r
-  ####          ####    \r
-######__________######__\r
-                        \r
-                        \r
-                        \r
-                        \r
-at 519,146 size 12,22\r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-                        \r
-####              ####  \r
-  ####          ####    \r
-  ####          ####    \r
-  ####          ####    \r
-    ####      ####      \r
-    ####      ####      \r
-      ####  ####        \r
-      ####  ####        \r
-      ####  ####        \r
-        ######          \r
-        ######          \r
-________####____________\r
-        ####            \r
-      ####              \r
-      ####              \r
-    ######              \r
-at 540,146 size 11,22\r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-                      \r
-####################  \r
-####################  \r
-              ######  \r
-            ######    \r
-          ######      \r
-        ######        \r
-      ######          \r
-    ######            \r
-  ######              \r
-######                \r
-####################  \r
-####################__\r
-                      \r
-                      \r
-                      \r
-                      \r
-at 560,146 size 11,22\r
-                      \r
-            ########  \r
-          ##########  \r
-        ######        \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-      ####            \r
-########              \r
-########              \r
-      ####            \r
-        ####          \r
-        ####          \r
-        ####          \r
-________####__________\r
-        ####          \r
-        ######        \r
-          ##########  \r
-            ########  \r
-at 584,146 size 3,22\r
-      \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####  \r
-####__\r
-####  \r
-####  \r
-####  \r
-####  \r
-at 600,146 size 11,22\r
-                      \r
-########              \r
-##########            \r
-      ######          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-        ####          \r
-          ####        \r
-            ########  \r
-            ########  \r
-          ####        \r
-        ####          \r
-        ####          \r
-        ####          \r
-________####__________\r
-        ####          \r
-      ######          \r
-##########            \r
-########              \r
-at 621,146 size 15,22\r
-                              \r
-                              \r
-                              \r
-                              \r
-                              \r
-                              \r
-                              \r
-                              \r
-    ########            ####  \r
-  ############          ####  \r
-  ####    ######        ####  \r
-####        ######    ####    \r
-####          ############    \r
-####            ########      \r
-                              \r
-                              \r
-                              \r
-______________________________\r
-                              \r
-                              \r
-                              \r
-                              \r
-at 647,146 size 14,22\r
-                            \r
-                            \r
-            ############    \r
-        ##################  \r
-      ########        ####  \r
-    ######                  \r
-    ####                    \r
-######################      \r
-######################      \r
-    ####                    \r
-####################        \r
-####################        \r
-    ####                    \r
-    ######                  \r
-      ########        ####  \r
-        ##################  \r
-            ############    \r
-____________________________\r
-                            \r
-                            \r
-                            \r
-                            \r
-at 676,146 size 10,22\r
-                    \r
-                    \r
-                    \r
-          ####      \r
-          ####      \r
-          ####      \r
-      ##########    \r
-    ##############  \r
-  ######        ##  \r
-######              \r
-####                \r
-####                \r
-####                \r
-####                \r
-######              \r
-  ####          ##  \r
-  ################  \r
-______##########____\r
-          ####      \r
-          ####      \r
-          ####      \r
-                    \r
diff --git a/src/font/set06.bmp b/src/font/set06.bmp
deleted file mode 100644 (file)
index e995ee4..0000000
Binary files a/src/font/set06.bmp and /dev/null differ
diff --git a/src/font/set06.chs b/src/font/set06.chs
deleted file mode 100644 (file)
index 24b2533..0000000
Binary files a/src/font/set06.chs and /dev/null differ
diff --git a/src/font/set06.cmd b/src/font/set06.cmd
deleted file mode 100644 (file)
index 3523644..0000000
Binary files a/src/font/set06.cmd and /dev/null differ
diff --git a/src/font/set06.txt b/src/font/set06.txt
deleted file mode 100644 (file)
index 087aaa8..0000000
+++ /dev/null
@@ -1,1024 +0,0 @@
-at 13,18 size 2,10\r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-    \r
-##__\r
-    \r
-    \r
-at 17,18 size 4,10\r
-        \r
-##  ##  \r
-##  ##  \r
-##  ##  \r
-        \r
-        \r
-        \r
-________\r
-        \r
-        \r
-at 22,18 size 6,10\r
-            \r
-  ##  ##    \r
-  ##  ##    \r
-##########  \r
-  ##  ##    \r
-##########  \r
-##  ##      \r
-##__##______\r
-            \r
-            \r
-at 29,18 size 6,10\r
-    ##      \r
-  ######    \r
-##  ##  ##  \r
-##  ##      \r
-  ######    \r
-    ##  ##  \r
-##  ##  ##  \r
-__######____\r
-    ##      \r
-            \r
-at 36,18 size 8,10\r
-                \r
-  ##      ##    \r
-##  ##  ##      \r
-##  ##  ##      \r
-  ##  ##  ##    \r
-      ####  ##  \r
-    ##  ##  ##  \r
-____##____##____\r
-                \r
-                \r
-at 46,18 size 6,10\r
-            \r
-    ##      \r
-  ##  ##    \r
-  ##  ##    \r
-  ####      \r
-##    ####  \r
-##    ##    \r
-__####__##__\r
-            \r
-            \r
-at 53,18 size 2,10\r
-    \r
-##  \r
-##  \r
-##  \r
-    \r
-    \r
-    \r
-____\r
-    \r
-    \r
-at 57,18 size 3,10\r
-      \r
-  ##  \r
-##    \r
-##    \r
-##    \r
-##    \r
-##    \r
-##____\r
-##    \r
-  ##  \r
-at 62,18 size 3,10\r
-      \r
-##    \r
-  ##  \r
-  ##  \r
-  ##  \r
-  ##  \r
-  ##  \r
-__##__\r
-  ##  \r
-##    \r
-at 67,18 size 4,10\r
-        \r
-  ##    \r
-######  \r
-  ##    \r
-##  ##  \r
-        \r
-        \r
-________\r
-        \r
-        \r
-at 73,18 size 5,10\r
-          \r
-          \r
-  ##      \r
-  ##      \r
-########  \r
-  ##      \r
-  ##      \r
-__________\r
-          \r
-          \r
-at 80,18 size 2,10\r
-    \r
-    \r
-    \r
-    \r
-    \r
-    \r
-    \r
-##__\r
-##  \r
-    \r
-at 84,18 size 3,10\r
-      \r
-      \r
-      \r
-      \r
-      \r
-####  \r
-      \r
-______\r
-      \r
-      \r
-at 89,18 size 2,10\r
-    \r
-    \r
-    \r
-    \r
-    \r
-    \r
-    \r
-##__\r
-    \r
-    \r
-at 94,18 size 3,10\r
-      \r
-  ##  \r
-  ##  \r
-  ##  \r
-  ##  \r
-##    \r
-##    \r
-##____\r
-      \r
-      \r
-at 98,18 size 5,10\r
-          \r
-  ####    \r
-##    ##  \r
-##    ##  \r
-##    ##  \r
-##    ##  \r
-##    ##  \r
-__####____\r
-          \r
-          \r
-at 106,18 size 3,10\r
-      \r
-  ##  \r
-####  \r
-  ##  \r
-  ##  \r
-  ##  \r
-  ##  \r
-__##__\r
-      \r
-      \r
-at 112,18 size 5,10\r
-          \r
-  ####    \r
-##    ##  \r
-      ##  \r
-    ##    \r
-  ##      \r
-##        \r
-########__\r
-          \r
-          \r
-at 119,18 size 5,10\r
-          \r
-  ####    \r
-##    ##  \r
-      ##  \r
-  ####    \r
-      ##  \r
-##    ##  \r
-__####____\r
-          \r
-          \r
-at 126,18 size 6,10\r
-            \r
-      ##    \r
-    ####    \r
-  ##  ##    \r
-##    ##    \r
-##########  \r
-      ##    \r
-______##____\r
-            \r
-            \r
-at 133,18 size 5,10\r
-          \r
-########  \r
-##        \r
-######    \r
-      ##  \r
-      ##  \r
-##    ##  \r
-__####____\r
-          \r
-          \r
-at 139,18 size 5,10\r
-          \r
-  ####    \r
-##        \r
-##  ##    \r
-####  ##  \r
-##    ##  \r
-##    ##  \r
-__####____\r
-          \r
-          \r
-at 146,18 size 5,10\r
-          \r
-########  \r
-      ##  \r
-      ##  \r
-    ##    \r
-  ##      \r
-  ##      \r
-__##______\r
-          \r
-          \r
-at 153,18 size 5,10\r
-          \r
-  ####    \r
-##    ##  \r
-##    ##  \r
-  ####    \r
-##    ##  \r
-##    ##  \r
-__####____\r
-          \r
-          \r
-at 160,18 size 5,10\r
-          \r
-  ####    \r
-##    ##  \r
-##    ##  \r
-##  ####  \r
-  ##  ##  \r
-      ##  \r
-__####____\r
-          \r
-          \r
-at 167,18 size 2,10\r
-    \r
-    \r
-    \r
-##  \r
-    \r
-    \r
-    \r
-##__\r
-    \r
-    \r
-at 171,18 size 2,10\r
-    \r
-    \r
-    \r
-##  \r
-    \r
-    \r
-    \r
-##__\r
-##  \r
-    \r
-at 176,18 size 5,10\r
-          \r
-          \r
-      ##  \r
-  ####    \r
-##        \r
-  ####    \r
-      ##  \r
-__________\r
-          \r
-          \r
-at 183,18 size 5,10\r
-          \r
-          \r
-          \r
-########  \r
-          \r
-########  \r
-          \r
-__________\r
-          \r
-          \r
-at 190,18 size 5,10\r
-          \r
-          \r
-##        \r
-  ####    \r
-      ##  \r
-  ####    \r
-##        \r
-__________\r
-          \r
-          \r
-at 197,18 size 5,10\r
-          \r
-  ####    \r
-##    ##  \r
-      ##  \r
-    ##    \r
-  ##      \r
-          \r
-__##______\r
-          \r
-          \r
-at 8,42 size 8,9\r
-    ######      \r
-  ##      ##    \r
-##    ####  ##  \r
-##  ##  ##  ##  \r
-##  ##  ##  ##  \r
-##  ##  ##  ##  \r
-##____######____\r
-  ##        ##  \r
-    ########    \r
-at 18,42 size 6,9\r
-    ##      \r
-    ##      \r
-  ##  ##    \r
-  ##  ##    \r
-  ######    \r
-##      ##  \r
-##______##__\r
-            \r
-            \r
-at 26,42 size 5,9\r
-######    \r
-##    ##  \r
-##    ##  \r
-######    \r
-##    ##  \r
-##    ##  \r
-######____\r
-          \r
-          \r
-at 34,42 size 6,9\r
-    ####    \r
-  ##    ##  \r
-##          \r
-##          \r
-##          \r
-  ##    ##  \r
-____####____\r
-            \r
-            \r
-at 42,42 size 6,9\r
-######      \r
-##    ##    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##    ##    \r
-######______\r
-            \r
-            \r
-at 50,42 size 5,9\r
-########  \r
-##        \r
-##        \r
-########  \r
-##        \r
-##        \r
-########__\r
-          \r
-          \r
-at 58,42 size 5,9\r
-########  \r
-##        \r
-##        \r
-########  \r
-##        \r
-##        \r
-##________\r
-          \r
-          \r
-at 65,42 size 6,9\r
-    ####    \r
-  ##    ##  \r
-##          \r
-##    ####  \r
-##      ##  \r
-  ##    ##  \r
-____####____\r
-            \r
-            \r
-at 74,42 size 6,9\r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##########  \r
-##      ##  \r
-##      ##  \r
-##______##__\r
-            \r
-            \r
-at 82,42 size 2,9\r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-    \r
-    \r
-at 87,42 size 4,9\r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-    ##  \r
-##  ##  \r
-__##____\r
-        \r
-        \r
-at 93,42 size 5,9\r
-##    ##  \r
-##  ##    \r
-####      \r
-####      \r
-##  ##    \r
-##  ##    \r
-##____##__\r
-          \r
-          \r
-at 101,42 size 5,9\r
-##        \r
-##        \r
-##        \r
-##        \r
-##        \r
-##        \r
-########__\r
-          \r
-          \r
-at 107,42 size 6,9\r
-##      ##  \r
-##      ##  \r
-####  ####  \r
-####  ####  \r
-####  ####  \r
-##  ##  ##  \r
-##__##__##__\r
-            \r
-            \r
-at 117,42 size 6,9\r
-##      ##  \r
-####    ##  \r
-####    ##  \r
-##  ##  ##  \r
-##    ####  \r
-##    ####  \r
-##______##__\r
-            \r
-            \r
-at 125,42 size 6,9\r
-    ##      \r
-  ##  ##    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-  ##  ##    \r
-____##______\r
-            \r
-            \r
-at 133,42 size 5,9\r
-######    \r
-##    ##  \r
-##    ##  \r
-######    \r
-##        \r
-##        \r
-##________\r
-          \r
-          \r
-at 141,42 size 6,9\r
-    ##      \r
-  ##  ##    \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-  ##  ##    \r
-____######__\r
-        ##  \r
-            \r
-at 150,42 size 6,9\r
-########    \r
-##      ##  \r
-##      ##  \r
-########    \r
-##    ##    \r
-##      ##  \r
-##______##__\r
-            \r
-            \r
-at 158,42 size 5,9\r
-  ####    \r
-##    ##  \r
-##        \r
-  ####    \r
-      ##  \r
-##    ##  \r
-__####____\r
-          \r
-          \r
-at 166,42 size 5,9\r
-########  \r
-  ##      \r
-  ##      \r
-  ##      \r
-  ##      \r
-  ##      \r
-__##______\r
-          \r
-          \r
-at 173,42 size 6,9\r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-##      ##  \r
-__######____\r
-            \r
-            \r
-at 181,42 size 6,9\r
-##      ##  \r
-##      ##  \r
-  ##  ##    \r
-  ##  ##    \r
-  ##  ##    \r
-  ##  ##    \r
-____##______\r
-            \r
-            \r
-at 189,42 size 8,9\r
-##    ##    ##  \r
-##  ##  ##  ##  \r
-##  ##  ##  ##  \r
-##  ##  ##  ##  \r
-##  ##  ##  ##  \r
-##  ##  ##  ##  \r
-__##______##____\r
-                \r
-                \r
-at 199,42 size 6,9\r
-##      ##  \r
-  ##  ##    \r
-  ##  ##    \r
-    ##      \r
-  ##  ##    \r
-  ##  ##    \r
-##______##__\r
-            \r
-            \r
-at 207,42 size 6,9\r
-##      ##  \r
-  ##  ##    \r
-  ##  ##    \r
-    ##      \r
-    ##      \r
-    ##      \r
-____##______\r
-            \r
-            \r
-at 214,42 size 5,9\r
-########  \r
-      ##  \r
-    ##    \r
-  ##      \r
-  ##      \r
-##        \r
-########__\r
-          \r
-          \r
-at 222,42 size 3,9\r
-####  \r
-##    \r
-##    \r
-##    \r
-##    \r
-##    \r
-##____\r
-##    \r
-####  \r
-at 226,42 size 3,9\r
-##    \r
-##    \r
-##    \r
-  ##  \r
-  ##  \r
-  ##  \r
-__##__\r
-      \r
-      \r
-at 230,42 size 3,9\r
-####  \r
-  ##  \r
-  ##  \r
-  ##  \r
-  ##  \r
-  ##  \r
-__##__\r
-  ##  \r
-####  \r
-at 235,42 size 4,9\r
-  ##    \r
-##  ##  \r
-##  ##  \r
-##  ##  \r
-        \r
-        \r
-________\r
-        \r
-        \r
-at 241,42 size 6,9\r
-            \r
-            \r
-            \r
-            \r
-            \r
-            \r
-____________\r
-##########  \r
-            \r
-at 8,66 size 2,10\r
-##  \r
-##  \r
-    \r
-    \r
-    \r
-    \r
-    \r
-____\r
-    \r
-    \r
-at 13,66 size 5,10\r
-          \r
-          \r
-          \r
-  ####    \r
-      ##  \r
-  ######  \r
-##    ##  \r
-__######__\r
-          \r
-          \r
-at 20,66 size 5,10\r
-          \r
-##        \r
-##        \r
-##  ##    \r
-####  ##  \r
-##    ##  \r
-####  ##  \r
-##__##____\r
-          \r
-          \r
-at 27,66 size 4,10\r
-        \r
-        \r
-        \r
-  ##    \r
-##  ##  \r
-##      \r
-##  ##  \r
-__##____\r
-        \r
-        \r
-at 33,66 size 5,10\r
-          \r
-      ##  \r
-      ##  \r
-  ##  ##  \r
-##  ####  \r
-##    ##  \r
-##  ####  \r
-__##__##__\r
-          \r
-          \r
-at 40,66 size 5,10\r
-          \r
-          \r
-          \r
-  ####    \r
-##    ##  \r
-########  \r
-##        \r
-__######__\r
-          \r
-          \r
-at 47,66 size 3,10\r
-      \r
-  ##  \r
-##    \r
-####  \r
-##    \r
-##    \r
-##    \r
-##____\r
-      \r
-      \r
-at 51,66 size 5,10\r
-          \r
-          \r
-          \r
-  ##  ##  \r
-##  ####  \r
-##    ##  \r
-##  ####  \r
-__##__##__\r
-      ##  \r
-######    \r
-at 58,66 size 5,10\r
-          \r
-##        \r
-##        \r
-##  ##    \r
-####  ##  \r
-##    ##  \r
-##    ##  \r
-##____##__\r
-          \r
-          \r
-at 65,66 size 2,10\r
-    \r
-##  \r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-    \r
-    \r
-at 69,66 size 2,10\r
-    \r
-##  \r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-##  \r
-##  \r
-at 73,66 size 4,10\r
-        \r
-##      \r
-##      \r
-##  ##  \r
-####    \r
-####    \r
-##  ##  \r
-##__##__\r
-        \r
-        \r
-at 80,66 size 2,10\r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-    \r
-    \r
-at 84,66 size 6,10\r
-            \r
-            \r
-            \r
-########    \r
-##  ##  ##  \r
-##  ##  ##  \r
-##  ##  ##  \r
-##__##__##__\r
-            \r
-            \r
-at 93,66 size 5,10\r
-          \r
-          \r
-          \r
-##  ##    \r
-####  ##  \r
-##    ##  \r
-##    ##  \r
-##____##__\r
-          \r
-          \r
-at 100,66 size 5,10\r
-          \r
-          \r
-          \r
-  ####    \r
-##    ##  \r
-##    ##  \r
-##    ##  \r
-__####____\r
-          \r
-          \r
-at 106,66 size 5,10\r
-          \r
-          \r
-          \r
-##  ##    \r
-####  ##  \r
-##    ##  \r
-####  ##  \r
-##__##____\r
-##        \r
-##        \r
-at 113,66 size 5,10\r
-          \r
-          \r
-          \r
-  ##  ##  \r
-##  ####  \r
-##    ##  \r
-##  ####  \r
-__##__##__\r
-      ##  \r
-      ##  \r
-at 120,66 size 4,10\r
-        \r
-        \r
-        \r
-##  ##  \r
-####    \r
-##      \r
-##      \r
-##______\r
-        \r
-        \r
-at 125,66 size 4,10\r
-        \r
-        \r
-        \r
-  ####  \r
-##      \r
-  ##    \r
-    ##  \r
-####____\r
-        \r
-        \r
-at 132,66 size 3,10\r
-      \r
-##    \r
-##    \r
-####  \r
-##    \r
-##    \r
-##    \r
-__##__\r
-      \r
-      \r
-at 136,66 size 5,10\r
-          \r
-          \r
-          \r
-##    ##  \r
-##    ##  \r
-##    ##  \r
-##  ####  \r
-__##__##__\r
-          \r
-          \r
-at 143,66 size 4,10\r
-        \r
-        \r
-        \r
-##  ##  \r
-##  ##  \r
-##  ##  \r
-##  ##  \r
-__##____\r
-        \r
-        \r
-at 149,66 size 6,10\r
-            \r
-            \r
-            \r
-##  ##  ##  \r
-##  ##  ##  \r
-##  ##  ##  \r
-##  ##  ##  \r
-__##__##____\r
-            \r
-            \r
-at 158,66 size 4,10\r
-        \r
-        \r
-        \r
-##  ##  \r
-  ##    \r
-  ##    \r
-  ##    \r
-##__##__\r
-        \r
-        \r
-at 164,66 size 4,10\r
-        \r
-        \r
-        \r
-##  ##  \r
-##  ##  \r
-##  ##  \r
-  ##    \r
-__##____\r
-  ##    \r
-##      \r
-at 170,66 size 4,10\r
-        \r
-        \r
-        \r
-######  \r
-    ##  \r
-  ##    \r
-##      \r
-######__\r
-        \r
-        \r
-at 177,66 size 4,10\r
-        \r
-    ##  \r
-  ##    \r
-  ##    \r
-  ##    \r
-##      \r
-  ##    \r
-__##____\r
-  ##    \r
-    ##  \r
-at 182,66 size 2,10\r
-    \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##  \r
-##__\r
-##  \r
-##  \r
-at 186,66 size 4,10\r
-        \r
-##      \r
-  ##    \r
-  ##    \r
-  ##    \r
-    ##  \r
-  ##    \r
-__##____\r
-  ##    \r
-##      \r
-at 191,66 size 5,10\r
-          \r
-          \r
-          \r
-  ##  ##  \r
-##  ##    \r
-          \r
-          \r
-__________\r
-          \r
-          \r
-at 197,66 size 6,10\r
-            \r
-    ####    \r
-  ##    ##  \r
-######      \r
-  ##        \r
-######      \r
-  ##    ##  \r
-____####____\r
-            \r
-            \r
-at 204,66 size 5,10\r
-          \r
-          \r
-    ##    \r
-  ######  \r
-##        \r
-##        \r
-##        \r
-__######__\r
-    ##    \r
-          \r
diff --git a/src/font/small.psd b/src/font/small.psd
deleted file mode 100644 (file)
index 0fbc524..0000000
Binary files a/src/font/small.psd and /dev/null differ
index 5b0d8b8..a093222 100644 (file)
Binary files a/src/font/wid-demo.exe and b/src/font/wid-demo.exe differ
diff --git a/src/font/wid-demo.obj b/src/font/wid-demo.obj
new file mode 100644 (file)
index 0000000..1c18521
Binary files /dev/null and b/src/font/wid-demo.obj differ
diff --git a/src/gui/0000.scr b/src/gui/0000.scr
deleted file mode 100644 (file)
index cea4476..0000000
Binary files a/src/gui/0000.scr and /dev/null differ
diff --git a/src/gui/0001.scr b/src/gui/0001.scr
deleted file mode 100644 (file)
index a9efc69..0000000
Binary files a/src/gui/0001.scr and /dev/null differ
diff --git a/src/gui/0001.tmp b/src/gui/0001.tmp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/src/gui/0002.scr b/src/gui/0002.scr
deleted file mode 100644 (file)
index bb846ee..0000000
Binary files a/src/gui/0002.scr and /dev/null differ
diff --git a/src/gui/0003.scr b/src/gui/0003.scr
deleted file mode 100644 (file)
index 43d8958..0000000
Binary files a/src/gui/0003.scr and /dev/null differ
diff --git a/src/gui/0004.scr b/src/gui/0004.scr
deleted file mode 100644 (file)
index 3f812b1..0000000
Binary files a/src/gui/0004.scr and /dev/null differ
diff --git a/src/gui/Copy (2) of wnd.c b/src/gui/Copy (2) of wnd.c
deleted file mode 100644 (file)
index da57793..0000000
+++ /dev/null
@@ -1,1138 +0,0 @@
-/************************************************\r
- * Graphical User Interface driver (GUI)        *\r
- * By J.W. Morsink for Retail Vision B.V.       *\r
- ************************************************/\r
-\r
-#include <wnd.h>\r
-#include "..\libc\malloc-l.h"\r
-#undef NULL\r
-#define NULL   0\r
-\r
-/*void *malloc(size_t size)\r
-  {\r
-  void *ptr;\r
-\r
-  ptr = (void *)sbrk(size);\r
-  return (ptr == (void *)-1) ? NULL : ptr;\r
-  }\r
-\r
-void free(void *ptr)\r
-  {\r
-  }\r
-\r
-*/\r
-#define JOOST_DEBUG\r
-/*#define STR_DEBUG*/\r
-/*#define MALLOC_DEBUG\r
-\r
-/************************************************\r
- * Global variables for GUI                     *\r
- ************************************************/\r
-\r
-struct Global_GUI* global;\r
-\r
-/************************************************\r
- * Graphics                                     *\r
- ************************************************/\r
-\r
-void GraphicsOpen(){\r
-       struct sgttyb temp;\r
-       char init[]={0x1B,'K'};\r
-\r
-       global->lcd=open("/dev/lcd0",O_RDWR);\r
-       gtty(global->lcd,&temp);\r
-       temp.sg_flags=RAW | UNBUFF;\r
-       stty(global->lcd,&temp);\r
-\r
-       write(global->lcd,init,2);\r
-}\r
-\r
-void GraphicsClose(){\r
-       close(global->lcd);\r
-}\r
-\r
-void Move(int x, int y){\r
-       unsigned char cmd[]={0x1B,'S',0,0};\r
-       cmd[2]=(unsigned char) (x);\r
-       cmd[3]=(unsigned char) (y);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void ClearRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'C',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void DrawRectNC(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'N',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void FillRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'R',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void FillRectNC(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'F',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void GrayRect(int sx,int sy){\r
-       unsigned char cmd[]={0x1B,'h',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void Text(char *s){\r
-       int c=strlen(s);\r
-       write(global->lcd,s,c);\r
-}\r
-\r
-void TouchRegion(int msg, int x, int y, int sx, int sy){\r
-       char touch[]={0x1B,'Z',0,0,0,0,0};\r
-       touch[2]=(unsigned char) (msg);\r
-       touch[3]=(unsigned char) (x);\r
-       touch[4]=(unsigned char) (y);\r
-       touch[5]=(unsigned char) (sx);\r
-       touch[6]=(unsigned char) (sy);\r
-       write(global->lcd,touch,7);\r
-#ifdef JOOST_DEBUG\r
-       printf("Touch: %x,%x,%x,%x,%x\n",msg,x,y,sx,sy); fflush(stdout);\r
-#endif\r
-}\r
-\r
-void ClearScreen(){\r
-       Move(0,0);\r
-       ClearRect(0,0x80);\r
-       TouchRegion(0,0,0,0,0x80);\r
-}\r
-\r
-void EnableScreen(unsigned char c){\r
-       char cmd[]={0x1B,'E',0};\r
-       cmd[2]=c;\r
-       write(global->lcd,cmd,3);\r
-}\r
-\r
-void grSetFont(int f){\r
-       char cmd[]={0x1B,0};\r
-       cmd[1]=f & 0xff;\r
-       write(global->lcd,cmd,2);\r
-}\r
-\r
-/************************************************\r
- * Fonts                                        *\r
- ************************************************/\r
-\r
-struct Font* fontSearch(int f){\r
-       struct Font* current=global->firstfont;\r
-       while(current!=NULL && current->id!=f)\r
-               current=current->nextfont;\r
-       return current;\r
-}\r
-\r
-void setCurrentFont(int f){\r
-       if(fontSearch(f)!=NULL){\r
-               grSetFont(f);\r
-               global->currentfont=fontSearch(f);\r
-       }\r
-}\r
-\r
-void loadFont(int id,int (*sw)(char*),int (*sh)(char*),int sizedata, void* data){\r
-       struct Font* font=(struct Font*) malloc(sizeof(struct Font));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",font); fflush(stdout);\r
-#endif\r
-       font->id=id;\r
-       font->stringwidth=sw;\r
-       font->stringheight=sh;\r
-       font->nextfont=NULL;\r
-       font->sizefontdata=sizedata;\r
-       font->fontdata=data;\r
-       if(global->firstfont==NULL){\r
-               global->firstfont=font;\r
-               global->currentfont=font;\r
-       }\r
-       else\r
-       {\r
-               struct Font* current=global->firstfont;\r
-               while(current->nextfont!=NULL)\r
-                       current=current->nextfont;\r
-               current->nextfont=font;\r
-       }\r
-}\r
-\r
-int stringwidth(char *str,int extra){\r
-       int w=0,i=0;\r
-       while(str[i]!=0x00){\r
-               switch(str[i]){\r
-               case 'i':\r
-               case 'I':\r
-               case '!':\r
-                       w+=2;\r
-                       break;\r
-               case 'l':\r
-                       w+=3;\r
-                       break;\r
-               case ',':\r
-               case '1':\r
-               case '.':\r
-                       w+=4;\r
-                       break;\r
-               case 'r':\r
-               case 'k':\r
-               case 'j':\r
-                       w+=5;\r
-                       break;\r
-               default:\r
-                       w+=6;\r
-               }\r
-               i++;\r
-               w+=extra;\r
-       }\r
-       return w;\r
-}\r
-\r
-int stringheight(char ch, int extra){\r
-       if(ch<0x80) return 7+extra;\r
-       if(ch>=0xcc && ch<=0xdf) return 1+extra;\r
-}\r
-\r
-int stringheight01(char* ch){\r
-       return stringheight(ch[0],0);\r
-}\r
-\r
-int stringheight2(char* ch){\r
-       return stringheight(ch[0],5);\r
-}\r
-\r
-int stringwidth0(char *str){\r
-       return stringwidth(str,0);\r
-}\r
-\r
-int stringwidth1(char *str){\r
-       return stringwidth(str,2);\r
-}\r
-\r
-int stringwidth2(char *str){\r
-       return stringwidth(str,3);\r
-}\r
-/************************************************\r
- * Components                                   *\r
- ************************************************/\r
-\r
-struct Component* Component_new(int x,int y,int sx,int sy){\r
-       struct Component* this=(struct Component*) (malloc(sizeof(struct Component)));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",this); fflush(stdout);\r
-#endif\r
-\r
-       this->id=(++global->id);\r
-       this->x=x;\r
-       this->y=y;\r
-       this->sizex=sx;\r
-       this->sizey=sy;\r
-       this->state=0;\r
-       this->order=0;\r
-       this->font=0;\r
-       this->msg=0;\r
-       this->parent=NULL;\r
-       this->next_sibling=NULL;\r
-       this->first_child=NULL;\r
-       this->handler=NULL;\r
-       this->paint=NULL;\r
-       this->add=NULL;\r
-       this->sizexds=0;\r
-       this->xds=NULL;\r
-       this->label=NULL;\r
-       this->label2=NULL;\r
-       return this;\r
-}\r
-\r
-void Component_setlabel(struct Component* this, char* s){\r
-       int i=0;\r
-       while(s[i]!=0 && i<LABEL_LENGTH){\r
-               this->label[i]=s[i];\r
-               i++;\r
-       }\r
-       this->label[i]=0;\r
-}\r
-\r
-void Component_add(struct Component* this, struct Component* comp){\r
-       struct Component* current=this->first_child;\r
-       if(this->first_child==NULL){\r
-               this->first_child=comp;\r
-               comp->next_sibling=NULL;\r
-       }\r
-       else\r
-       {\r
-               while(current->next_sibling!=NULL){\r
-                       current=current->next_sibling;\r
-               }\r
-               current->next_sibling=comp;\r
-               comp->next_sibling=NULL;\r
-       }\r
-       comp->parent=this;\r
-}\r
-\r
-void Component_paint(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       EnableScreen(0);\r
-       while(current!=NULL){\r
-               current->paint(current);\r
-               current=current->next_sibling;\r
-       }\r
-       EnableScreen(1);\r
-}\r
-\r
-void Component_findXY(struct Component* this, int* x, int* y){\r
-    struct Component* current=this;\r
-    do{\r
-        *x+=current->x;\r
-        *y+=current->y;\r
-        current=current->parent;\r
-    } while(current!=NULL);\r
-}\r
-\r
-struct Component* Component_find(struct Component* this, int msg){\r
-       struct Component* current=this->first_child;\r
-#ifdef JOOST_DEBUG\r
-       printf("Find %x in %x:\n",msg, this->id); fflush(stdout);\r
-#endif\r
-       while(current!=NULL){\r
-#ifdef JOOST_DEBUG\r
-               printf("Comp_find: %x, %x\n",msg, current->msg); fflush(stdout);\r
-#endif\r
-               if(current->msg==msg)\r
-                       return current;\r
-               current=current->next_sibling;\r
-       }\r
-       return NULL;\r
-}\r
-\r
-struct Component* Component_delete(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       int id=this->id;\r
-       if(this!=NULL){\r
-#ifdef JOOST_DEBUG\r
-               printf("Deleting component: %d\n",id); fflush(stdout);\r
-#endif\r
-               while(current!=NULL){\r
-                       current=Component_delete(current);\r
-               }\r
-               if(this->parent!=NULL){\r
-                       if(this==this->parent->first_child)\r
-                               this->parent->first_child=this->parent->first_child->next_sibling;\r
-                       else{\r
-                               current=this->parent->first_child;\r
-                               while(this!=current->next_sibling && current->next_sibling!=NULL)\r
-                                       current=current->next_sibling;\r
-                               if(current->next_sibling!=NULL)\r
-                                       current->next_sibling=current->next_sibling->next_sibling;\r
-                       }\r
-               }       \r
-               current=this->next_sibling;\r
-               if(this->sizexds==sizeof(struct StringTableXDS))\r
-               {\r
-                       struct Component* par=this->parent;\r
-                       struct StringTableXDS* stx=(struct StringTableXDS*) this->xds;\r
-                       \r
-#ifdef STR_DEBUG\r
-                       printf("Stringtable @ %x freed!\n",stx->stringtabledata); fflush(stdout);\r
-#endif\r
-\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",stx->stringtabledata); fflush(stdout);\r
-#endif\r
-                       free(stx->stringtabledata);\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",stx->stringtable); fflush(stdout);\r
-#endif\r
-                       free(stx->stringtable);\r
-\r
-                       while((par!=NULL) && (par->sizexds!=sizeof(struct StringTableXDS)))\r
-                               par=par->parent;\r
-                       if(par!=NULL)\r
-                       {\r
-                               stx=(struct StringTableXDS*) par->xds;\r
-                               global->stringtabledata=stx->stringtabledata;\r
-                               global->stringtable=stx->stringtable;\r
-                       }               \r
-               }\r
-               if(this->sizexds>0){\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",this->xds); fflush(stdout);\r
-#endif\r
-                       free(this->xds);\r
-               }\r
-               if((this->state & STRING_FROMTABLE)==0  && this->label!=NULL){\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",this->label); fflush(stdout);\r
-#endif\r
-                       free(this->label);\r
-               }\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",this); fflush(stdout);\r
-#endif\r
-\r
-               free(this);\r
-#ifdef JOOST_DEBUG\r
-               printf("Deleted component: %d\n",id); fflush(stdout);\r
-#endif\r
-       }\r
-       return current;\r
-}\r
-\r
-void Component_delete_children(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       while(current!=NULL)\r
-               current=Component_delete(current);\r
-}\r
-\r
-void Component_changestate_children(struct Component* this, int andmask, int ormask, int xormask){\r
-       struct Component* current=this->first_child;\r
-       while(current!=NULL){\r
-               current->state&=(0xffff-andmask);\r
-               current->state|=ormask;\r
-               current->state^=xormask;\r
-               current=current->next_sibling;\r
-       }\r
-       fflush(stdout);\r
-}\r
-\r
-void Component_linkstringtable(struct Component* this){\r
-       struct Component* child=this->first_child;\r
-#ifdef STR_DEBUG\r
-       printf("%d: %x -> %x\n",this->id,this->label-1,global->stringtable[(int) (this->label)-1]); fflush(stdout);\r
-#endif\r
-       if(((int)(this->label))<0x1000 && ((int)(this->label))>0)\r
-               this->label=global->stringtable[(int) (this->label)-1];\r
-       if(((int)(this->label2))<0x1000 && ((int)(this->label2))>0)\r
-               this->label2=global->stringtable[(int) (this->label2)-1];\r
-       while(child!=NULL){\r
-               Component_linkstringtable(child);\r
-               child=child->next_sibling;\r
-       }\r
-\r
-}\r
-\r
-/************************************************\r
- * Windows                                      *\r
- ************************************************/\r
-\r
-void Window_handler (struct Component* this, int msg, int param){\r
-       struct Component* current,current2;\r
-       int x=0,y=0;\r
-#ifdef JOOST_DEBUG\r
-       printf("Message in window %d, Msg: %x, Param: %x\n",this->id,msg,param); fflush(stdout);\r
-#endif\r
-       switch(msg){\r
-       case KEY_PRESSED:\r
-               current=this->first_child;\r
-               while(current!=NULL) {\r
-                       if((current->state & STATE_VISIBLE)==(STATE_VISIBLE))\r
-                               current->handler(current,msg,param);\r
-                       current=current->next_sibling;\r
-               }\r
-               break;\r
-       case KEY_RELEASED:\r
-               current=this->first_child;\r
-               while(current!=NULL) {\r
-                       if((current->state & STATE_VISIBLE)==(STATE_VISIBLE))\r
-                               current->handler(current,msg,param);\r
-                       current->handler(current,KEY_TYPED,param);\r
-                       current=current->next_sibling;\r
-               }\r
-               break;\r
-       case KEY_TYPED:\r
-               current=this->first_child;\r
-               while(current!=NULL) {\r
-                       if((current->state & STATE_VISIBLE)==(STATE_VISIBLE)){\r
-                               current->handler(current,msg,param);\r
-                               if((current->state & STATE_ACTION)!=0 && current->msg==param){\r
-                                       struct ActionXDS* act=(struct ActionXDS*) (current->xds);\r
-#ifdef JOOST_DEBUG\r
-                                       printf("Before actionhandler...\n");\r
-#endif\r
-                                       act->actionhandler(current);\r
-                                       if((act->action & 0xff00)==0){                                          \r
-                                               current=NULL;\r
-                                       }\r
-#ifdef JOOST_DEBUG\r
-                                       printf("After actionhandler...\n");\r
-#endif\r
-                               }\r
-                       }\r
-                       if(current!=NULL)\r
-                               current=current->next_sibling;\r
-               }\r
-               break;\r
-       case WND_REDRAW:\r
-               this->paint(this);\r
-               break;\r
-       case WND_CLOSE:\r
-               this->state=this->state & (0xffff-(STATE_VISIBLE | STATE_ENABLED));\r
-               Component_findXY(this,&x,&y);\r
-               TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               this->parent->handler(this->parent,WND_REDRAW,0);\r
-               break;\r
-       case WND_DESTROY:\r
-               current=this->parent;\r
-               Component_delete(this);\r
-               current->handler(current,WND_REDRAW,0);\r
-               break;\r
-       case WND_BROADCAST:\r
-               current=this->first_child;\r
-               while(current!=NULL){\r
-                       if(current!=(struct Component*) (param) && (current->state & STATE_FOCUS)!=0)\r
-                               current->handler(current,CMP_BROADCAST,param);\r
-                       current=current->next_sibling;\r
-               }\r
-               break;\r
-       case APP_QUIT:\r
-               if(this->parent==NULL)\r
-                       global->willquit=1;\r
-               else if((this->state & STATE_APPLICATION)==0)\r
-                       this->parent->handler(this->parent,APP_QUIT,param);\r
-               else{\r
-                       current=this->parent;\r
-                       current->state|=STATE_VISIBLE | STATE_ENABLED;\r
-                       Component_changestate_children(current,0,STATE_VISIBLE,0);\r
-                       this->handler(this,WND_DESTROY,0);\r
-               }\r
-               break;                  \r
-       }\r
-}\r
-\r
-void Window_paint(struct Component* this){\r
-       int x=0,y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               \r
-               EnableScreen(0);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               Move(x,y+global->currentfont->stringheight(this->label)+4);\r
-               DrawRectNC(this->sizex,this->sizey-global->currentfont->stringheight(this->label)-4);\r
-               Move(x,y);\r
-               FillRect(this->sizex,global->currentfont->stringheight(this->label)+5);\r
-               Move(x+2,y+2);\r
-               Text(this->label);\r
-               Component_paint(this);\r
-       }\r
-}\r
-\r
-void Root_paint(struct Component* this){\r
-       EnableScreen(0);\r
-       Move(0,0);\r
-       ClearRect(0,0x80);\r
-       GrayRect(0,0x80);\r
-       TouchRegion(0,0,0,0,0x80);\r
-\r
-       Component_paint(this);  \r
-/*     EnableScreen(0);\r
-       Window_paint(this);\r
-       EnableScreen(1);*/\r
-}\r
-\r
-void Window_add(struct Component* this, struct Component* comp){\r
-       Component_add(this,comp);\r
-}\r
-\r
-struct Component* Window_new(int x,int y,int sx,int sy){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->handler=Window_handler;\r
-       this->paint=Window_paint;\r
-       this->add=Window_add;\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Buttons                                      *\r
- ************************************************/\r
-\r
-void Button_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-               if((this->state & STATE_CASTING)!=0)\r
-                       this->parent->handler(this->parent, WND_BROADCAST, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION)\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-}\r
-\r
-void Button_drawtext(struct Component* this, int x, int y){\r
-       if((this->state & STYLE_MULTILINE)!=0){         \r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-2*global->currentfont->stringheight(this->label))/2);\r
-               Text(this->label);\r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label2))/2,y+(this->sizey)/2+1);\r
-               Text(this->label2);\r
-       } else {\r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+1);\r
-               Text(this->label);\r
-       }               \r
-#ifdef STR_DEBUG\r
-       printf("Drawtext (%d): ""%s"" @ %x\n",this->id,this->label,this->label); fflush(stdout);\r
-#endif\r
-}\r
-\r
-void Button_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               \r
-               if( (this->state & (STATE_ENABLED | STYLE_INVERTED))!=0 && (this->state & (STATE_ENABLED | STYLE_INVERTED))!=(STATE_ENABLED | STYLE_INVERTED) )\r
-                       FillRectNC(this->sizex,this->sizey);\r
-               else\r
-                       DrawRectNC(this->sizex,this->sizey);\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-void Button_add(struct Component* this, struct Component* comp){\r
-       return;\r
-}\r
-\r
-struct Component* Button_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_ENABLED | STATE_VISIBLE;\r
-       this->msg=msg;\r
-       this->handler=Button_handler;\r
-       this->paint=Button_paint;\r
-       this->add=Button_add;\r
-       \r
-       return this;\r
-}\r
-\r
-/*void Numpad(struct Component* this, int x, int y){\r
-       int i;\r
-       char s[2]={0,0};\r
-       struct Component* button;\r
-       for(i=0; i<9; i++){\r
-               s[0]=0x31+(char) i;\r
-               button=Button_new(x+(i%3)*0x18,y+0x30-(i/3)*0x18,0x16,0x16,i+0x31);\r
-               Component_setlabel(button,s);\r
-               button->state|=STATE_CASTING;\r
-               this->add(this,button);\r
-       }\r
-       button=Button_new(x+0x18,y+0x48,0x16,0x16,0x30);\r
-       Component_setlabel(button,"0");\r
-       button->state|=STATE_CASTING;\r
-       this->add(this,button);\r
-\r
-       button=Button_new(x+0x30,y+0x48,0x16,0x16,0x08);\r
-       Component_setlabel(button,"CE");\r
-       button->state|=STATE_CASTING;\r
-       this->add(this,button);\r
-}*/\r
-\r
-/************************************************\r
- * Toggle-buttons                               *\r
- ************************************************/\r
-\r
-void ToggleButton_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){\r
-               this->state^=STATE_CHECKED;\r
-               this->parent->handler(this->parent, CMP_STATECHANGE, param);\r
-               this->handler(this, WND_REDRAW, 0);\r
-               if((this->state & STATE_CASTING)!=0)\r
-                       this->parent->handler(this->parent, WND_BROADCAST, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION)\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-}\r
-\r
-void ToggleButton_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               if((this->state & STATE_ENABLED)!=0 && (this->state & STATE_CHECKED)!=0){\r
-                       FillRectNC(this->sizex,this->sizey);\r
-                       TouchRegion(this->msg,x,y,this->sizex,this->sizey);\r
-               }else{\r
-                       DrawRectNC(this->sizex,this->sizey);\r
-                       TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               }\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-struct Component* ToggleButton_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_ENABLED | STATE_VISIBLE | STATE_CHECKED;\r
-       this->msg=msg;\r
-       this->handler=ToggleButton_handler;\r
-       this->paint=ToggleButton_paint;\r
-       this->add=Button_add;\r
-       \r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Dialogs                                      *\r
- ************************************************/\r
-\r
-void Dialog_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==CMP_ACTION && param==0xff){\r
-               if((this->state & STYLE_SELFDESTRUCT)!=0)\r
-                       this->handler(this,WND_DESTROY,0);\r
-               else\r
-                       this->handler(this,WND_CLOSE,0);\r
-               this->parent->handler(this->parent, DLG_OK, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION && param==0xfe){\r
-               if((this->state & STYLE_SELFDESTRUCT)!=0)\r
-                       this->handler(this,WND_DESTROY,0);\r
-               else\r
-                       this->handler(this,WND_CLOSE,0);\r
-               this->parent->handler(this->parent, DLG_CANCEL, this->msg);\r
-\r
-       }\r
-}\r
-\r
-struct Component* Dialog_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* ok;\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_VISIBLE;\r
-       this->msg=msg;\r
-       this->handler=Dialog_handler;\r
-       this->paint=Window_paint;\r
-       this->add=Window_add;\r
-\r
-       ok=Button_new(sx-0x30,sy-0x1c,0x28,0x14,0xff);\r
-       ok->label=(char*) malloc(3);\r
-       Component_setlabel(ok,"OK");\r
-       this->add(this,ok);\r
-\r
-       ok=Button_new(sx-0x30,sy-0x38,0x28,0x14,0xfe);  /*Cancel*/\r
-       ok->label=(char*) malloc(7);\r
-       Component_setlabel(ok,"Cancel");\r
-       this->add(this,ok);\r
-\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Displays                                     *\r
- ************************************************/\r
-void Display_handler(struct Component* this, int msg, int param){\r
-       Button_handler(this,msg,param);\r
-       if(msg==CMP_BROADCAST && (this->state & STATE_FOCUS)!=0){\r
-#ifdef JOOST_DEBUG\r
-               printf("strlen = %d->",strlen(this->label)); fflush(stdout);\r
-#endif\r
-               if(param==0x08){\r
-                       if(strlen(this->label)!=0)\r
-                               this->label[strlen(this->label)-1]=0;\r
-               }else{\r
-                       this->label[strlen(this->label)+1]=0;\r
-                       this->label[strlen(this->label)]=(char) param;\r
-               }       \r
-#ifdef JOOST_DEBUG\r
-               printf("%d\n",strlen(this->label)); fflush(stdout);\r
-#endif\r
-               this->handler(this,WND_REDRAW,0);\r
-       }\r
-}\r
-\r
-void Display_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       char pwd[64];\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               \r
-               if( (this->state & STYLE_INVERTED)==0)\r
-                       FillRectNC(this->sizex,this->sizey);\r
-               else\r
-                       DrawRectNC(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2);\r
-               if(this->state & STYLE_PASSWORD){\r
-                       int i;\r
-                       for(i=0; i<strlen(this->label); i++)\r
-                               pwd[i]='*';\r
-                       pwd[i]=0;\r
-                       Text(pwd);\r
-               }else\r
-                       Text(this->label);\r
-\r
-/*             Component_findXY(this,&x,&y);\r
-\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-       \r
-               FillRectNC(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2);\r
-               Text(this->label);\r
-               TouchRegion((this->state&STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-*/\r
-       }\r
-}\r
-\r
-struct Component* Display_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Button_new(x,y,sx,sy,msg);\r
-       this->state|=STATE_FOCUS;\r
-       Component_setlabel(this,"");\r
-       this->paint=Display_paint;\r
-       this->handler=Display_handler;\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Labels                                       *\r
- ************************************************/\r
-void Label_handler(struct Component* this, int msg, int param){\r
-       return;\r
-}\r
-\r
-void Label_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-struct Component* Label_new(int x, int y, int sx, int sy,char* l){\r
-       struct Component* comp=Component_new(x,y,sx,sy);\r
-       comp->label=l;\r
-       comp->state=STATE_VISIBLE;\r
-       comp->handler=Label_handler;\r
-       comp->paint=Label_paint;\r
-       comp->add=Button_add;\r
-       return comp;\r
-}\r
- /************************************************\r
- * Implementation                               *\r
- ************************************************/\r
-/*\r
-void ScreenDialog_handler(struct Component* this, int msg, int param){\r
-       char cmd[]={0x1B,'V',0};\r
-       Dialog_handler(this,msg,param);\r
-       if(msg==CMP_ACTION){\r
-               if(param=='U')\r
-                       cmd[2]=0;\r
-               else if(param=='D')\r
-                       cmd[2]=1;\r
-               else \r
-                       return;\r
-               write(global->lcd,cmd,3);\r
-       }\r
-}\r
-\r
-struct Component* ScreenDialog_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* button;\r
-       struct Component* this=Dialog_new(x,y,sx,sy,msg);\r
-       \r
-       button=Button_new(0x04,0x10,0x20,0x14,'U');\r
-       Component_setlabel(button,"Up");\r
-       this->add(this,button);\r
-\r
-       button=Button_new(0x04,0x28,0x20,0x14,'D');\r
-       Component_setlabel(button,"Down");\r
-       this->add(this,button);\r
-\r
-       this->handler=ScreenDialog_handler;\r
-\r
-       return this;\r
-}\r
-*/\r
-void rootWindow_handler(struct Component* this, int msg, int param){\r
-       struct Component* dummy;\r
-       Window_handler(this,msg,param);\r
-}\r
-\r
-\r
-void screenbuilder(struct Component* root, char* filename){\r
-       struct Component* subw;\r
-       struct ActionXDS* action;\r
-       int mode;               \r
-       int fh,rd;\r
-       char buf[SIZE_SCRBLD_RECORD];\r
-       long l;\r
-       int xs,ys;\r
-       xs=0x2b;\r
-       ys=0x1a;\r
-       buf[0]=0;\r
-       fh=open(filename,O_RDONLY);\r
-       do{     \r
-               char comp=0;\r
-               if(buf[0]=='s'){                /* Change size */\r
-                       xs=*((int*)(buf+0x1));\r
-                       ys=*((int*)(buf+0x3));\r
-               }\r
-\r
-               if(buf[0]=='B' || buf[0]=='M'){         /* Button, Multi-line button */\r
-                       subw=Button_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       if(buf[0]=='M') subw->state|=STYLE_MULTILINE;\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='T'){                                        /* Toggle-button */\r
-                       subw=ToggleButton_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='D'){                                        /* Display button */\r
-                       subw=Display_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='L'){                                        /* Label */\r
-                       subw=Label_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf+0x12);\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='A'){                        \r
-                       struct ActionXDS a;\r
-                       root->xds=&a;\r
-                       a.action=*((int*)(buf+0x6));\r
-                       a.wParam=*((int*)(buf+0x8));\r
-                       a.lParam=*((long*)(buf+0xa));\r
-                       root_actionhandler(root);\r
-               }\r
-                               \r
-               if(buf[0]=='S'){\r
-                       struct StringTableXDS* stx;\r
-                       read_stringtable(fh,buf);\r
-                       root->xds=(void*) malloc(sizeof(struct StringTableXDS));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",root->xds); fflush(stdout);\r
-#endif\r
-\r
-                       stx=(struct StringTableXDS*) root->xds;\r
-                       root->sizexds=sizeof(struct StringTableXDS);\r
-                       stx->stringtable=global->stringtable;\r
-                       stx->stringtabledata=global->stringtabledata;\r
-#ifdef STR_DEBUG\r
-                       printf("Stringtable created @ %x\n",stx->stringtabledata); fflush(stdout);\r
-#endif\r
-                       comp=0;\r
-               }\r
-               if(comp!=0){\r
-                       if((buf[6] | buf[7])!=0){\r
-                               subw->state|=STATE_ACTION;\r
-                               subw->sizexds=sizeof(struct ActionXDS);\r
-                               subw->xds=(void*) malloc(sizeof(struct ActionXDS));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc Action: %x\n",subw->xds); fflush(stdout);\r
-#endif\r
-\r
-                               action=(struct ActionXDS*) (subw->xds);\r
-                               action->actionhandler=root_actionhandler;\r
-                               action->action=*((int*)(buf+0x6));\r
-                               action->wParam=*((int*)(buf+0x8));\r
-                               action->lParam=*((long*)(buf+0xa));\r
-                       }\r
-                       if((buf[0x0e] | buf[0x0f])!=0) \r
-                               subw->state=*((int*)(buf+0x0e));\r
-                       subw->font=*((int*)(buf+0x10));\r
-\r
-                       subw->label=(char*) (*((int*) (buf+0x12)) & 0x0fff);\r
-                       if(subw->label==NULL) {\r
-                               subw->label=(char*) malloc(LABEL_LENGTH);\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",subw->label); fflush(stdout);\r
-#endif\r
-                               subw->label[0]=0;\r
-                       }\r
-                       else\r
-                               subw->state|=STRING_FROMTABLE;\r
-\r
-                       if((*((int*) (buf+0x12)) &0xf000)>0x1000)\r
-                               subw->label2=(char*)((*((int*) (buf+0x12)) & 0x0fff)+1);\r
-\r
-                       root->add(root,subw);\r
-               }\r
-               \r
-               rd=read(fh,buf,SIZE_SCRBLD_RECORD);\r
-       } while(rd==SIZE_SCRBLD_RECORD);\r
-       close(fh);\r
-       Component_linkstringtable(root);\r
-       root->paint(root);\r
-}\r
-\r
-void root_actionhandler(struct Component* this){\r
-       struct ActionXDS *act;\r
-       struct Component* subw;\r
-       char filename[]={'0','0','0','0','.','s','c','r',0};\r
-\r
-       act=(struct ActionXDS*) (this->xds);\r
-#ifdef JOOST_DEBUG\r
-       printf("0x%x: (0x%x, 0x%x, 0x%lx)",act, act->action, act->wParam, act->lParam);\r
-#endif\r
-       if(act->action==0x0001){                        /*QUIT*/\r
-               this->handler(this,APP_QUIT,0);\r
-       }\r
-       if((act->action & 0xfffe)==0x0002){             /*Open Screen*/\r
-               Component_changestate_children(this->parent,STATE_VISIBLE,0,0);         \r
-               subw=Window_new(0,0,this->parent->sizex,this->parent->sizey);\r
-               subw->state=STATE_VISIBLE | STATE_ENABLED;\r
-               if((act->action & 1)!=0)\r
-                       subw->state|=STATE_APPLICATION;\r
-               subw->handler=rootWindow_handler;\r
-               subw->paint=Root_paint;\r
-               filename[0]=(char) ((act->lParam) &0xff);\r
-               filename[1]=(char) ((act->lParam>>8) &0xff);\r
-               filename[2]=(char) ((act->lParam>>16) &0xff);\r
-               filename[3]=(char) ((act->lParam>>24) &0xff);\r
-               screenbuilder(subw,filename);\r
-               this->parent->add(this->parent,subw);\r
-       }\r
-       if(act->action==0x0004) {                               /* Open MessageBox */\r
-               /*Component_changestate_children(this->parent,0,0,0);*/\r
-               struct Component* label;\r
-               int i;\r
-               subw=Dialog_new(0x05,0x05,this->parent->sizex-0x0a,this->parent->sizey-0x0a,1);\r
-               subw->state=STATE_VISIBLE | STATE_ENABLED | STYLE_SELFDESTRUCT;\r
-               subw->font=0x0030;\r
-               for(i=0; i<(act->wParam>>12)&0x0f; i++){\r
-                       label=Label_new(0x08,0x14+i*0x0c,(subw->sizex & 0xff)-0x10,0x10,global->stringtable[(act->wParam&0xfff)+i-1]);\r
-                       label->font=0x0030;\r
-                       subw->add(subw,label);\r
-               }\r
-               Component_setlabel(subw,"Message Box");\r
-               Component_find(subw,0xff)->font=0x0030;\r
-               Component_delete(Component_find(subw,0xfe));\r
-               this->parent->add(this->parent,subw);\r
-               this->parent->handler(this->parent,WND_REDRAW,0);\r
-       }\r
-#ifdef JOOST_DEBUG\r
-       printf("Before external handler...\n"); fflush(stdout);\r
-#endif\r
-       if(global->actionhandler!=NULL)\r
-               global->actionhandler(this);\r
-\r
-#ifdef JOOST_DEBUG\r
-       printf("After external handler...\n"); fflush(stdout);\r
-#endif\r
-}\r
-\r
-void read_stringtable(int fh,char* buf){\r
-       int siz,bsiz;\r
-       int i=0,j=0;\r
-       char **ptrs;\r
-       char *rawdata;\r
-\r
-       siz=*((int*) (buf+0x01));\r
-       bsiz=*((int*) (buf+0x03));\r
-#ifdef STR_DEBUG\r
-       printf("%d %d\n",siz,bsiz);\r
-#endif\r
-\r
-       ptrs=(char**) malloc(sizeof(char*)*siz);\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",ptrs); fflush(stdout);\r
-#endif\r
-\r
-       rawdata=(char*) malloc(bsiz);\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",rawdata); fflush(stdout);\r
-#endif\r
-\r
-       read(fh,rawdata,bsiz);\r
-       while(i<bsiz && j<siz){\r
-               ptrs[j++]=&(rawdata[i]);\r
-               while(rawdata[i]!=0x00)\r
-                       i++;\r
-               rawdata[i++]=0x00;\r
-       }\r
-       if(j<siz)\r
-               ptrs[j]=&(rawdata[i]);\r
-       global->stringtabledata=rawdata;\r
-       global->stringtable=ptrs;\r
-#ifdef STR_DEBUG\r
-       for(i=0; i<siz; i++)\r
-               printf("%d: %x->""%s""\n",i,global->stringtable[i],global->stringtable[i]);\r
-       fflush(stdout);\r
-#endif\r
-\r
-}\r
-\r
-struct Global_GUI* gui_globals(){\r
-       return global;\r
-}\r
-\r
-\r
-void GUIinit(void){\r
-       global=(struct Global_GUI*) malloc(sizeof(struct Global_GUI));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",global); fflush(stdout);\r
-#endif\r
-\r
-       global->id=0;\r
-       global->willquit=0;\r
-       global->currentfont=NULL;\r
-       global->firstfont=NULL;\r
-       global->stringtable=NULL;\r
-       global->stringtabledata=NULL;\r
-       global->actionhandler=NULL;\r
-       GraphicsOpen();\r
-       loadFont(0x0030,stringwidth0,stringheight01,0,NULL);\r
-       loadFont(0x0031,stringwidth1,stringheight01,0,NULL);\r
-       loadFont(0x0032,stringwidth2,stringheight2,0,NULL);\r
-       global->root=Window_new(0x0,0x0,0x00,0x80);\r
-       global->root->state=STATE_VISIBLE;\r
-       global->root->handler=rootWindow_handler;\r
-       global->root->paint=Root_paint;\r
-}\r
-\r
-void GUIunit(void){\r
-       Component_delete(global->root);\r
-       ClearScreen();\r
-       GraphicsClose();\r
-}\r
-\r
-void GUIgo(char* scr){\r
-       char buf,obuf;\r
-       screenbuilder(global->root,scr);\r
-\r
-       while(read(global->lcd,&buf,1)==1);\r
-\r
-       while(!global->willquit){\r
-               if(read(global->lcd,&buf,1)==1){\r
-                       if(buf!=0)\r
-                               global->root->handler(global->root,KEY_PRESSED,buf);            \r
-                       else\r
-                               global->root->handler(global->root,KEY_RELEASED,obuf);\r
-                       obuf=buf;\r
-               }\r
-       }\r
-}\r
-\r
-/*void main(void){\r
-       GUIinit();\r
-       GUIgo();\r
-       GUIunit();\r
-}*/\r
-\r
diff --git a/src/gui/Copy of wnd.c b/src/gui/Copy of wnd.c
deleted file mode 100644 (file)
index d239770..0000000
+++ /dev/null
@@ -1,941 +0,0 @@
-/************************************************\r
- * Graphical User Interface driver (GUI)        *\r
- * By J.W. Morsink for Retail Vision B.V.       *\r
- ************************************************/\r
-\r
-#include <wnd.h>\r
-\r
-#define JOOST_DEBUG\r
-\r
-/************************************************\r
- * Global variables for GUI                     *\r
- ************************************************/\r
-struct Global_GUI {\r
-       int id;\r
-       int lcd;\r
-       int willquit;\r
-       char *stringtabledata;\r
-       char **stringtable;\r
-       struct Font* currentfont;\r
-       struct Font* firstfont;\r
-       struct Component* root;\r
-};\r
-\r
-struct Global_GUI* global;\r
-\r
-/************************************************\r
- * Graphics                                     *\r
- ************************************************/\r
-\r
-void GraphicsOpen(){\r
-       struct sgttyb temp;\r
-       char init[]={0x1B,'K'};\r
-\r
-       global->lcd=open("/dev/lcd0",O_RDWR);\r
-       gtty(global->lcd,&temp);\r
-       temp.sg_flags=RAW | UNBUFF;\r
-       stty(global->lcd,&temp);\r
-\r
-       write(global->lcd,init,2);\r
-}\r
-\r
-void GraphicsClose(){\r
-       close(global->lcd);\r
-}\r
-\r
-void Move(int x, int y){\r
-       unsigned char cmd[]={0x1B,'S',0,0};\r
-       cmd[2]=(unsigned char) (x);\r
-       cmd[3]=(unsigned char) (y);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void ClearRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'C',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void DrawRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'N',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void FillRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'R',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void FillRectNC(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'F',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void Text(char *s){\r
-       int c=strlen(s);\r
-       write(global->lcd,s,c);\r
-}\r
-\r
-void TouchRegion(int msg, int x, int y, int sx, int sy){\r
-       char touch[]={0x1B,'Z',0,0,0,0,0};\r
-       touch[2]=(unsigned char) (msg);\r
-       touch[3]=(unsigned char) (x);\r
-       touch[4]=(unsigned char) (y);\r
-       touch[5]=(unsigned char) (sx);\r
-       touch[6]=(unsigned char) (sy);\r
-       write(global->lcd,touch,7);\r
-#ifdef JOOST_DEBUG\r
-       printf("Touch: %x,%x,%x,%x,%x\n",msg,x,y,sx,sy); fflush(stdout);\r
-#endif\r
-}\r
-\r
-void ClearScreen(){\r
-       Move(0,0);\r
-       ClearRect(0,0x80);\r
-       TouchRegion(0,0,0,0,0x80);\r
-}\r
-\r
-void EnableScreen(unsigned char c){\r
-       char cmd[]={0x1B,'E',0};\r
-       cmd[2]=c;\r
-       write(global->lcd,cmd,3);\r
-}\r
-\r
-void grSetFont(int f){\r
-       char cmd[]={0x1B,0};\r
-       cmd[1]=f & 0xff;\r
-       write(global->lcd,cmd,2);\r
-}\r
-\r
-/************************************************\r
- * Fonts                                        *\r
- ************************************************/\r
-\r
-struct Font* fontSearch(int f){\r
-       struct Font* current=global->firstfont;\r
-       while(current!=NULL && current->id!=f)\r
-               current=current->nextfont;\r
-       return current;\r
-}\r
-\r
-void setCurrentFont(int f){\r
-       if(fontSearch(f)!=NULL){\r
-               grSetFont(f);\r
-               global->currentfont=fontSearch(f);\r
-       }\r
-}\r
-\r
-void loadFont(int id,int (*sw)(char*),int (*sh)(char*),int sizedata, void* data){\r
-       struct Font* font=(struct Font*) malloc(sizeof(struct Font));\r
-       font->id=id;\r
-       font->stringwidth=sw;\r
-       font->stringheight=sh;\r
-       font->nextfont=NULL;\r
-       font->sizefontdata=sizedata;\r
-       font->fontdata=data;\r
-       if(global->firstfont==NULL){\r
-               global->firstfont=font;\r
-               global->currentfont=font;\r
-       }\r
-       else\r
-       {\r
-               struct Font* current=global->firstfont;\r
-               while(current->nextfont!=NULL)\r
-                       current=current->nextfont;\r
-               current->nextfont=font;\r
-       }\r
-}\r
-\r
-int stringwidth(char *str,int extra){\r
-       int w=0,i=0;\r
-       while(str[i]!=0x00){\r
-               switch(str[i]){\r
-               case 'i':\r
-               case 'I':\r
-               case '!':\r
-                       w+=2;\r
-                       break;\r
-               case 'l':\r
-                       w+=3;\r
-                       break;\r
-               case ',':\r
-               case '1':\r
-               case '.':\r
-                       w+=4;\r
-                       break;\r
-               case 'r':\r
-               case 'k':\r
-               case 'j':\r
-                       w+=5;\r
-                       break;\r
-               default:\r
-                       w+=6;\r
-               }\r
-               i++;\r
-               w+=extra;\r
-       }\r
-       return w;\r
-}\r
-\r
-int stringheight(char ch, int extra){\r
-       if(ch<0x80) return 7+extra;\r
-       if(ch>=0xcc && ch<=0xdf) return 1+extra;\r
-}\r
-\r
-int stringheight01(char* ch){\r
-       return stringheight(ch[0],0);\r
-}\r
-\r
-int stringheight2(char* ch){\r
-       return stringheight(ch[0],5);\r
-}\r
-\r
-int stringwidth0(char *str){\r
-       return stringwidth(str,0);\r
-}\r
-\r
-int stringwidth1(char *str){\r
-       return stringwidth(str,2);\r
-}\r
-\r
-int stringwidth2(char *str){\r
-       return stringwidth(str,3);\r
-}\r
-/************************************************\r
- * Components                                   *\r
- ************************************************/\r
-\r
-struct Component* Component_new(int x,int y,int sx,int sy){\r
-       struct Component* this=(struct Component*) (malloc(sizeof(struct Component)));\r
-       this->id=(++global->id);\r
-       this->x=x;\r
-       this->y=y;\r
-       this->sizex=sx;\r
-       this->sizey=sy;\r
-       this->state=0;\r
-       this->order=0;\r
-       this->font=0;\r
-       this->msg=0;\r
-       this->parent=NULL;\r
-       this->next_sibling=NULL;\r
-       this->first_child=NULL;\r
-       this->handler=NULL;\r
-       this->paint=NULL;\r
-       this->add=NULL;\r
-       this->sizexds=0;\r
-       this->xds=NULL;\r
-       this->label[0]=0;\r
-       this->label[LABEL_LENGTH]=0;\r
-       return this;\r
-}\r
-\r
-void Component_setlabel(struct Component* this, char* s){\r
-       int i=0;\r
-       while(s[i]!=0 && i<LABEL_LENGTH){\r
-               this->label[i]=s[i];\r
-               i++;\r
-       }\r
-       this->label[i]=0;\r
-}\r
-\r
-void Component_add(struct Component* this, struct Component* comp){\r
-       struct Component* current=this->first_child;\r
-       if(this->first_child==NULL){\r
-               this->first_child=comp;\r
-               comp->next_sibling=NULL;\r
-       }\r
-       else\r
-       {\r
-               while(current->next_sibling!=NULL){\r
-                       current=current->next_sibling;\r
-               }\r
-               current->next_sibling=comp;\r
-               comp->next_sibling=NULL;\r
-       }\r
-       comp->parent=this;\r
-}\r
-\r
-void Component_paint(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       while(current!=NULL){\r
-               current->paint(current);\r
-               current=current->next_sibling;\r
-       }\r
-}\r
-\r
-void Component_findXY(struct Component* this, int* x, int* y){\r
-    struct Component* current=this;\r
-    do{\r
-        *x+=current->x;\r
-        *y+=current->y;\r
-        current=current->parent;\r
-    } while(current!=NULL);\r
-}\r
-\r
-struct Component* Component_find(struct Component* this, int msg){\r
-       struct Component* current=this->first_child;\r
-#ifdef JOOST_DEBUG\r
-       printf("Find %x in %x:\n",msg, this->id); fflush(stdout);\r
-#endif\r
-       while(current!=NULL){\r
-#ifdef JOOST_DEBUG\r
-               printf("Comp_find: %x, %x\n",msg, current->msg); fflush(stdout);\r
-#endif\r
-               if(current->msg==msg)\r
-                       return current;\r
-               current=current->next_sibling;\r
-       }\r
-       return NULL;\r
-}\r
-\r
-struct Component* Component_delete(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       int id=this->id;\r
-       if(this!=NULL){\r
-#ifdef JOOST_DEBUG\r
-               printf("Deleting component: %d\n",id); fflush(stdout);\r
-#endif\r
-               while(current!=NULL){\r
-                       current=Component_delete(current);\r
-               }\r
-               if(this->parent!=NULL){\r
-                       if(this==this->parent->first_child)\r
-                               this->parent->first_child=this->parent->first_child->next_sibling;\r
-                       else{\r
-                               current=this->parent->first_child;\r
-                               while(this!=current->next_sibling && current->next_sibling!=NULL)\r
-                                       current=current->next_sibling;\r
-                               if(current->next_sibling!=NULL)\r
-                                       current->next_sibling=current->next_sibling->next_sibling;\r
-                       }\r
-               }       \r
-               current=this->next_sibling;\r
-               if(this->sizexds>0)\r
-                       free(this->xds);\r
-               free(this);\r
-#ifdef JOOST_DEBUG\r
-               printf("Deleted component: %d\n",id); fflush(stdout);\r
-#endif\r
-       }\r
-       return current;\r
-}\r
-\r
-void Component_delete_children(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       while(current!=NULL)\r
-               current=Component_delete(current);\r
-}\r
-\r
-void Component_changestate_children(struct Component* this, int andmask, int ormask, int xormask){\r
-       struct Component* current=this->first_child;\r
-       while(current!=NULL){\r
-               current->state&=(0xffff-andmask);\r
-               current->state|=ormask;\r
-               current->state^=xormask;\r
-               current=current->next_sibling;\r
-       }\r
-       fflush(stdout);\r
-}\r
-\r
-/************************************************\r
- * Windows                                      *\r
- ************************************************/\r
-\r
-void Window_handler (struct Component* this, int msg, int param){\r
-       struct Component* current,current2;\r
-       int x=0,y=0;\r
-#ifdef JOOST_DEBUG\r
-       printf("Message in window %d, Msg: %x, Param: %x\n",this->id,msg,param); fflush(stdout);\r
-#endif\r
-       switch(msg){\r
-       case KEY_TYPED:\r
-               current=this->first_child;\r
-               while(current!=NULL) {\r
-                       if((current->state & STATE_VISIBLE)==(STATE_VISIBLE)){\r
-                               current->handler(current,msg,param);\r
-                               if((current->state & STATE_ACTION)!=0 && current->msg==param){\r
-                                       struct ActionXDS* act=(struct ActionXDS*) (current->xds);\r
-#ifdef JOOST_DEBUG\r
-                                       printf("Before actionhandler...\n");\r
-#endif\r
-                                       act->actionhandler(current);\r
-                                       if((act->action & 0xff00)==0){                                          \r
-                                               current=NULL;\r
-                                       }\r
-#ifdef JOOST_DEBUG\r
-                                       printf("After actionhandler...\n");\r
-#endif\r
-                               }\r
-                       }\r
-                       if(current!=NULL)\r
-                               current=current->next_sibling;\r
-               }\r
-               break;\r
-       case WND_REDRAW:\r
-               this->paint(this);\r
-               break;\r
-       case WND_CLOSE:\r
-               this->state=this->state & (0xffff-(STATE_VISIBLE | STATE_ENABLED));\r
-               Component_findXY(this,&x,&y);\r
-               TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               this->parent->handler(this->parent,WND_REDRAW,0);\r
-               break;\r
-       case WND_DESTROY:\r
-               current=this->parent;\r
-               Component_delete(this);\r
-               current->handler(current,WND_REDRAW,0);\r
-               break;\r
-       case WND_BROADCAST:\r
-               current=this->first_child;\r
-               while(current!=NULL){\r
-                       if(current!=(struct Component*) (param) && (current->state & STATE_FOCUS)!=0)\r
-                               current->handler(current,CMP_BROADCAST,param);\r
-                       current=current->next_sibling;\r
-               }\r
-               break;\r
-       case APP_QUIT:\r
-               if(this->parent==NULL)\r
-                       global->willquit=1;\r
-               else if((this->state & STATE_APPLICATION)==0)\r
-                       this->parent->handler(this->parent,APP_QUIT,param);\r
-               else{\r
-                       current=this->parent;\r
-                       current->state|=STATE_VISIBLE | STATE_ENABLED;\r
-                       Component_changestate_children(current,0,STATE_VISIBLE,0);\r
-                       this->handler(this,WND_DESTROY,0);\r
-               }\r
-               break;                  \r
-       }\r
-}\r
-\r
-void Window_paint(struct Component* this){\r
-       int x=0,y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               Move(x,y+global->currentfont->stringheight(this->label)+4);\r
-               DrawRect(this->sizex,this->sizey-global->currentfont->stringheight(this->label)-4);\r
-               Move(x,y);\r
-               FillRect(this->sizex,global->currentfont->stringheight(this->label)+5);\r
-               Move(x+2,y+2);\r
-               Text(this->label);\r
-               Component_paint(this);\r
-       }\r
-}\r
-\r
-void Root_paint(struct Component* this){\r
-       Move(0,0);\r
-       ClearRect(0,0x80);\r
-       TouchRegion(0,0,0,0,0x80);\r
-\r
-       Component_paint(this);  \r
-/*     EnableScreen(0);\r
-       Window_paint(this);\r
-       EnableScreen(1);*/\r
-}\r
-\r
-void Window_add(struct Component* this, struct Component* comp){\r
-       Component_add(this,comp);\r
-}\r
-\r
-struct Component* Window_new(int x,int y,int sx,int sy){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->handler=Window_handler;\r
-       this->paint=Window_paint;\r
-       this->add=Window_add;\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Buttons                                      *\r
- ************************************************/\r
-\r
-void Button_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-               if((this->state & STATE_CASTING)!=0)\r
-                       this->parent->handler(this->parent, WND_BROADCAST, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION)\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-}\r
-\r
-void Button_drawtext(struct Component* this, int x, int y){\r
-       if((this->state & STYLE_MULTILINE)!=0){         \r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-2*global->currentfont->stringheight(this->label))/2);\r
-               Text(this->label);\r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label+LABEL_LENGTH/2))/2,y+(this->sizey)/2+1);\r
-               Text((this->label)+0x0a);\r
-       } else {\r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+1);\r
-               Text(this->label);\r
-       }               \r
-}\r
-\r
-void Button_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               \r
-               if( (this->state & (STATE_ENABLED | STYLE_INVERTED))!=0 && (this->state & (STATE_ENABLED | STYLE_INVERTED))!=(STATE_ENABLED | STYLE_INVERTED) )\r
-                       FillRectNC(this->sizex,this->sizey);\r
-               else\r
-                       DrawRect(this->sizex,this->sizey);\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-void Button_add(struct Component* this, struct Component* comp){\r
-       return;\r
-}\r
-\r
-struct Component* Button_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_ENABLED | STATE_VISIBLE;\r
-       this->msg=msg;\r
-       this->handler=Button_handler;\r
-       this->paint=Button_paint;\r
-       this->add=Button_add;\r
-       \r
-       return this;\r
-}\r
-\r
-void Numpad(struct Component* this, int x, int y){\r
-       int i;\r
-       char s[2]={0,0};\r
-       struct Component* button;\r
-       for(i=0; i<9; i++){\r
-               s[0]=0x31+(char) i;\r
-               button=Button_new(x+(i%3)*0x18,y+0x30-(i/3)*0x18,0x16,0x16,i+0x31);\r
-               Component_setlabel(button,s);\r
-               button->state|=STATE_CASTING;\r
-               this->add(this,button);\r
-       }\r
-       button=Button_new(x+0x18,y+0x48,0x16,0x16,0x30);\r
-       Component_setlabel(button,"0");\r
-       button->state|=STATE_CASTING;\r
-       this->add(this,button);\r
-\r
-       button=Button_new(x+0x30,y+0x48,0x16,0x16,0x08);\r
-       Component_setlabel(button,"CE");\r
-       button->state|=STATE_CASTING;\r
-       this->add(this,button);\r
-}\r
-\r
-/************************************************\r
- * Toggle-buttons                               *\r
- ************************************************/\r
-\r
-void ToggleButton_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){\r
-               this->state^=STATE_CHECKED;\r
-               this->parent->handler(this->parent, CMP_STATECHANGE, param);\r
-               this->handler(this, WND_REDRAW, 0);\r
-               if((this->state & STATE_CASTING)!=0)\r
-                       this->parent->handler(this->parent, WND_BROADCAST, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION)\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-}\r
-\r
-void ToggleButton_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               if((this->state & STATE_ENABLED)!=0 && (this->state & STATE_CHECKED)!=0){\r
-                       FillRectNC(this->sizex,this->sizey);\r
-                       TouchRegion(this->msg,x,y,this->sizex,this->sizey);\r
-               }else{\r
-                       DrawRect(this->sizex,this->sizey);\r
-                       TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               }\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-struct Component* ToggleButton_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_ENABLED | STATE_VISIBLE | STATE_CHECKED;\r
-       this->msg=msg;\r
-       this->handler=ToggleButton_handler;\r
-       this->paint=ToggleButton_paint;\r
-       this->add=Button_add;\r
-       \r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Dialogs                                      *\r
- ************************************************/\r
-\r
-void Dialog_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==CMP_ACTION && param==0xff){\r
-               if((this->state & STYLE_SELFDESTRUCT)!=0)\r
-                       this->handler(this,WND_DESTROY,0);\r
-               else\r
-                       this->handler(this,WND_CLOSE,0);\r
-               this->parent->handler(this->parent, DLG_OK, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION && param==0xfe){\r
-               if((this->state & STYLE_SELFDESTRUCT)!=0)\r
-                       this->handler(this,WND_DESTROY,0);\r
-               else\r
-                       this->handler(this,WND_CLOSE,0);\r
-               this->parent->handler(this->parent, DLG_CANCEL, this->msg);\r
-\r
-       }\r
-}\r
-\r
-struct Component* Dialog_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* ok;\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_VISIBLE;\r
-       this->msg=msg;\r
-       this->handler=Dialog_handler;\r
-       this->paint=Window_paint;\r
-       this->add=Window_add;\r
-\r
-       ok=Button_new(sx-0x30,sy-0x1c,0x28,0x14,0xff);\r
-       Component_setlabel(ok,"OK");\r
-       this->add(this,ok);\r
-\r
-       ok=Button_new(sx-0x30,sy-0x38,0x28,0x14,0xfe);  /*Cancel*/\r
-       Component_setlabel(ok,"Cancel");\r
-       this->add(this,ok);\r
-\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Displays                                     *\r
- ************************************************/\r
-void Display_handler(struct Component* this, int msg, int param){\r
-       Button_handler(this,msg,param);\r
-       if(msg==CMP_BROADCAST && (this->state & STATE_FOCUS)!=0){\r
-#ifdef JOOST_DEBUG\r
-               printf("strlen = %d->",strlen(this->label)); fflush(stdout);\r
-#endif\r
-               if(param==0x08){\r
-                       if(strlen(this->label)!=0)\r
-                               this->label[strlen(this->label)-1]=0;\r
-               }else{\r
-                       this->label[strlen(this->label)+1]=0;\r
-                       this->label[strlen(this->label)]=(char) param;\r
-               }       \r
-#ifdef JOOST_DEBUG\r
-               printf("%d\n",strlen(this->label)); fflush(stdout);\r
-#endif\r
-               this->handler(this,WND_REDRAW,0);\r
-       }\r
-}\r
-\r
-void Display_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               \r
-               if( (this->state & STYLE_INVERTED)==0)\r
-                       FillRectNC(this->sizex,this->sizey);\r
-               else\r
-                       DrawRect(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2);\r
-               Text(this->label);\r
-\r
-/*             Component_findXY(this,&x,&y);\r
-\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-       \r
-               FillRectNC(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2);\r
-               Text(this->label);\r
-               TouchRegion((this->state&STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-*/\r
-       }\r
-}\r
-\r
-struct Component* Display_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Button_new(x,y,sx,sy,msg);\r
-       this->state|=STATE_FOCUS;\r
-       Component_setlabel(this,"");\r
-       this->paint=Display_paint;\r
-       this->handler=Display_handler;\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Labels                                       *\r
- ************************************************/\r
-void Label_handler(struct Component* this, int msg, int param){\r
-       return;\r
-}\r
-\r
-void Label_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-struct Component* Label_new(int x, int y, int sx, int sy,char* l){\r
-       struct Component* comp=Component_new(x,y,sx,sy);\r
-       Component_setlabel(comp,l);\r
-       comp->state=STATE_VISIBLE;\r
-       comp->handler=Label_handler;\r
-       comp->paint=Label_paint;\r
-       comp->add=Button_add;\r
-       return comp;\r
-}\r
-/************************************************\r
- * Implementation                               *\r
- ************************************************/\r
-/*\r
-void ScreenDialog_handler(struct Component* this, int msg, int param){\r
-       char cmd[]={0x1B,'V',0};\r
-       Dialog_handler(this,msg,param);\r
-       if(msg==CMP_ACTION){\r
-               if(param=='U')\r
-                       cmd[2]=0;\r
-               else if(param=='D')\r
-                       cmd[2]=1;\r
-               else \r
-                       return;\r
-               write(global->lcd,cmd,3);\r
-       }\r
-}\r
-\r
-struct Component* ScreenDialog_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* button;\r
-       struct Component* this=Dialog_new(x,y,sx,sy,msg);\r
-       \r
-       button=Button_new(0x04,0x10,0x20,0x14,'U');\r
-       Component_setlabel(button,"Up");\r
-       this->add(this,button);\r
-\r
-       button=Button_new(0x04,0x28,0x20,0x14,'D');\r
-       Component_setlabel(button,"Down");\r
-       this->add(this,button);\r
-\r
-       this->handler=ScreenDialog_handler;\r
-\r
-       return this;\r
-}\r
-*/\r
-void rootWindow_handler(struct Component* this, int msg, int param){\r
-       struct Component* dummy;\r
-       Window_handler(this,msg,param);\r
-}\r
-\r
-\r
-void screenbuilder(struct Component* root, char* filename){\r
-       struct Component* subw;\r
-       struct ActionXDS* action;\r
-       int mode;               \r
-       int fh,rd;\r
-       char buf[SIZE_SCRBLD_RECORD];\r
-       long l;\r
-       int xs,ys;\r
-       xs=0x2b;\r
-       ys=0x1a;\r
-       buf[0]=0;\r
-       fh=open(filename,O_RDONLY);\r
-       do{     \r
-               char comp=0;\r
-               if(buf[0]=='s'){                /* Change size */\r
-                       xs=*((int*)(buf+0x1));\r
-                       ys=*((int*)(buf+0x3));\r
-               }\r
-\r
-               if(buf[0]=='B' || buf[0]=='M'){         /* Button, Multi-line button */\r
-                       subw=Button_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       if(buf[0]=='M') subw->state|=STYLE_MULTILINE;\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='T'){                                        /* Toggle-button */\r
-                       subw=ToggleButton_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='D'){                                        /* Display button */\r
-                       subw=Display_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='L'){                                        /* Label */\r
-                       subw=Label_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf+0x12);\r
-                       comp=1;\r
-               }\r
-               if(comp!=0){\r
-                       if((buf[6] | buf[7])!=0){\r
-                               subw->state|=STATE_ACTION;\r
-                               subw->sizexds=sizeof(struct ActionXDS);\r
-                               subw->xds=(void*) malloc(sizeof(struct ActionXDS));\r
-                               action=(struct ActionXDS*) (subw->xds);\r
-                               action->actionhandler=root_actionhandler;\r
-                               action->action=*((int*)(buf+0x6));\r
-                               action->wParam=*((int*)(buf+0x8));\r
-                               action->lParam=*((long*)(buf+0xa));\r
-                       }\r
-                       if((buf[0x0e] | buf[0x0f])!=0) \r
-                               subw->state=*((int*)(buf+0x0e));\r
-                       subw->font=*((int*)(buf+0x10));\r
-                       for(rd=0; rd<20; rd++)\r
-                               subw->label[rd]=buf[rd+0x12];\r
-                       root->add(root,subw);\r
-               }\r
-               \r
-               rd=read(fh,buf,SIZE_SCRBLD_RECORD);\r
-       } while(rd==SIZE_SCRBLD_RECORD);\r
-       close(fh);\r
-       root->paint(root);\r
-}\r
-\r
-void root_actionhandler(struct Component* this){\r
-       struct ActionXDS *act;\r
-       struct Component* subw;\r
-       char filename[]={'0','0','0','0','.','s','c','r',0};\r
-\r
-       act=(struct ActionXDS*) (this->xds);\r
-\r
-       if(act->action==0x0001){                        /*QUIT*/\r
-               this->handler(this,APP_QUIT,0);\r
-       }\r
-       if((act->action & 0xfffe)==0x0002){             /*Open Screen*/\r
-               Component_changestate_children(this->parent,STATE_VISIBLE,0,0);         \r
-               subw=Window_new(0,0,this->parent->sizex,this->parent->sizey);\r
-               subw->state=STATE_VISIBLE | STATE_ENABLED;\r
-               if((act->action & 1)!=0)\r
-                       subw->state|=STATE_APPLICATION;\r
-               subw->handler=rootWindow_handler;\r
-               subw->paint=Root_paint;\r
-               filename[0]=(char) ((act->lParam) &0xff);\r
-               filename[1]=(char) ((act->lParam>>8) &0xff);\r
-               filename[2]=(char) ((act->lParam>>16) &0xff);\r
-               filename[3]=(char) ((act->lParam>>24) &0xff);\r
-               screenbuilder(subw,filename);\r
-               this->parent->add(this->parent,subw);\r
-       }\r
-       if(act->action==0x0004) {                               /* Open MessageBox */\r
-               /*Component_changestate_children(this->parent,0,0,0);*/\r
-               struct Component* label;\r
-               int i;\r
-               subw=Dialog_new(0x05,0x05,this->parent->sizex-0x0a,this->parent->sizey-0x0a,1);\r
-               subw->state=STATE_VISIBLE | STATE_ENABLED | STYLE_SELFDESTRUCT;\r
-               subw->font=0x0030;\r
-               for(i=0; i<(act->wParam>>12)&0x0f; i++){\r
-                       label=Label_new(0x08,0x14+i*0x0c,(subw->sizex & 0xff)-0x10,0x10,global->stringtable[(act->wParam&0xfff)+i]);\r
-                       label->font=0x0030;\r
-                       subw->add(subw,label);\r
-               }\r
-               Component_setlabel(subw,"Message Box");\r
-               Component_find(subw,0xff)->font=0x0030;\r
-               Component_delete(Component_find(subw,0xfe));\r
-               this->parent->add(this->parent,subw);\r
-               this->parent->handler(this->parent,WND_REDRAW,0);\r
-       }\r
-}\r
-\r
-void read_stringtable(){\r
-       int siz,bsiz;\r
-       int i=0,j=0;\r
-       char buf[12];\r
-       char **ptrs;\r
-       char *rawdata;\r
-       int fh=open("strings.txt",O_RDONLY);\r
-       read(fh,buf,12);\r
-       siz=(buf[0]-0x30)*10000+(buf[1]-0x30)*1000+(buf[2]-0x30)*100+(buf[3]-0x30)*10+(buf[4]-0x30);\r
-       bsiz=(buf[5]-0x30)*10000+(buf[6]-0x30)*1000+(buf[7]-0x30)*100+(buf[8]-0x30)*10+(buf[9]-0x30);\r
-\r
-       ptrs=(char**) malloc(sizeof(char*)*siz);\r
-       rawdata=(char*) malloc(bsiz);\r
-       read(fh,rawdata,bsiz);\r
-       while(i<bsiz && j<siz){\r
-               ptrs[j++]=&(rawdata[i]);\r
-               while(rawdata[i]!=0x0d && rawdata[i]!=0x0a)\r
-                       i++;\r
-               rawdata[i++]=0x00;\r
-               rawdata[i++]-0x00;\r
-       }\r
-       ptrs[j]=&(rawdata[i]);\r
-       global->stringtabledata=rawdata;\r
-       global->stringtable=ptrs;\r
-\r
-}\r
-\r
-void GUIinit(void){\r
-       global=(struct Global_GUI*) malloc(sizeof(struct Global_GUI));\r
-       global->id=0;\r
-       global->willquit=0;\r
-       global->currentfont=NULL;\r
-       global->firstfont=NULL;\r
-       GraphicsOpen();\r
-       loadFont(0x0030,stringwidth0,stringheight01,0,NULL);\r
-       loadFont(0x0031,stringwidth1,stringheight01,0,NULL);\r
-       loadFont(0x0032,stringwidth2,stringheight2,0,NULL);\r
-       read_stringtable();\r
-       global->root=Window_new(0x0,0x0,0x00,0x80);\r
-       global->root->state=STATE_VISIBLE;\r
-       global->root->handler=rootWindow_handler;\r
-       global->root->paint=Root_paint;\r
-       Component_setlabel(global->root,"Test-window");\r
-\r
-}\r
-\r
-void GUIunit(void){\r
-       Component_delete(global->root);\r
-       ClearScreen();\r
-       GraphicsClose();\r
-}\r
-\r
-void GUIgo(void){\r
-       char buf;\r
-       screenbuilder(global->root,"0000.scr");\r
-\r
-       while(read(global->lcd,&buf,1)==1);\r
-\r
-       while(!global->willquit){\r
-               if(read(global->lcd,&buf,1)==1)\r
-                       global->root->handler(global->root,KEY_TYPED,buf);\r
-       }\r
-}\r
-\r
-void main(void){\r
-       GUIinit();\r
-       GUIgo();\r
-       GUIunit();\r
-}\r
-\r
diff --git a/src/gui/Copy of wnd.h b/src/gui/Copy of wnd.h
deleted file mode 100644 (file)
index 13fe89d..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-#ifndef JOOST_WND_H\r
-#define JOOST_WND_H\r
-#include <stdio.h>\r
-#include <syscalls.h>\r
-#include <fcntl.h>\r
-#include <sys\ioctl.h>\r
-#include <sgtty.h>\r
-#include <string.h>\r
-\r
-#define FONT_HEIGHT                    global->currentfont->stringheight\r
-#define FONT_WIDTH(x)          global->currentfont->stringwidth(x)\r
-#define LABEL_LENGTH           0x14\r
-#define SIZE_SCRBLD_RECORD     0x12+LABEL_LENGTH\r
-\r
-\r
-#define STATE_VISIBLE          0x0001\r
-#define STATE_ENABLED          0x0002\r
-#define STATE_CHECKED          0x0004\r
-#define STATE_FOCUS                    0x0008\r
-#define STATE_CASTING          0x0010\r
-#define STATE_ACTION           0x0020\r
-#define STYLE_MULTILINE                0x0040\r
-#define STYLE_INVERTED         0x0080\r
-#define STYLE_SELFDESTRUCT     0x2000\r
-#define STATE_APPLICATION      0x4000\r
-#define STATE_DUMMY                    0x8000\r
-\r
-#define KEY_TYPED                      0x0001\r
-#define WND_OPEN                       0x0101\r
-#define WND_CLOSE                      0x0102\r
-#define WND_REDRAW                     0x0103\r
-#define WND_BROADCAST          0x0104\r
-#define WND_DESTROY                    0x0105\r
-#define CMP_ACTION                     0x0201\r
-#define CMP_STATECHANGE                0x0202\r
-#define CMP_BROADCAST          0x0203\r
-#define DLG_OK                         0x0301\r
-#define DLG_CANCEL                     0x0302\r
-#define APP_QUIT                       0x0401\r
-\r
-struct Font;\r
-struct Component;\r
-\r
-/************************************************\r
- * Graphics                                     *\r
- ************************************************/\r
-\r
-void GraphicsOpen();\r
-void GraphicsClose();\r
-void Move(int x, int y);\r
-void ClearRect(int sx, int sy);\r
-void DrawRect(int sx, int sy);\r
-void FillRect(int sx, int sy);\r
-void FillRectNC(int sx, int sy);\r
-void Text(char *s);\r
-void TouchRegion(int msg, int x, int y, int sx, int sy);\r
-void ClearScreen();\r
-void EnableScreen(unsigned char c);\r
-void grSetFont(int f);\r
-\r
-/************************************************\r
- * Fonts                                        *\r
- ************************************************/\r
-\r
-struct Font {\r
-       int id;\r
-       int (*stringwidth)(char*);\r
-       int (*stringheight)(char*);\r
-       struct Font* nextfont;\r
-       int sizefontdata;\r
-       void* fontdata;\r
-};\r
-\r
-struct Font* fontSearch(int f);\r
-void setCurrentFont(int f);\r
-void loadFont(int id,int (*sw)(char*),int (*sh)(char*),int sizedata, void* data);\r
-\r
-\r
-/************************************************\r
- * Components                                   *\r
- ************************************************/\r
-\r
-struct Component {\r
-       int id;\r
-       int x,y;\r
-       int sizex,sizey;\r
-       int state;\r
-       int order;\r
-       int font;\r
-       char msg;\r
-       struct Component* parent;\r
-       struct Component *next_sibling;\r
-       struct Component *first_child;\r
-       void (*handler) (struct Component*, int, int);\r
-       void (*paint) (struct Component*);\r
-       void (*add) (struct Component*, struct Component*);\r
-       char label[LABEL_LENGTH+1];\r
-       int sizexds;\r
-       void *xds;\r
-};\r
-\r
-struct ActionXDS {\r
-       void (*actionhandler)(struct Component*);\r
-       int action;\r
-       int wParam;\r
-       long lParam;\r
-};\r
-\r
-struct Component* Component_new(int x,int y,int sx,int sy);\r
-void Component_setlabel(struct Component* this, char* s);\r
-void Component_add(struct Component* this, struct Component* comp);\r
-void Component_paint(struct Component* this);\r
-void Component_findXY(struct Component* this, int* x, int* y);\r
-struct Component* Component_find(struct Component* this, int msg);\r
-struct Component* Component_delete(struct Component* this);\r
-void Component_delete_children(struct Component* this);\r
-void Component_changestate_children(struct Component* this, int andmask, int ormask, int xormask);\r
-\r
-/************************************************\r
- * Windows                                      *\r
- ************************************************/\r
-\r
-void Window_handler (struct Component* this, int msg, int param);\r
-void Window_paint(struct Component* this);\r
-void Root_paint(struct Component* this);\r
-void Window_add(struct Component* this, struct Component* comp);\r
-struct Component* Window_new(int x,int y,int sx,int sy);\r
-\r
-/************************************************\r
- * Buttons                                      *\r
- ************************************************/\r
-\r
-void Button_handler(struct Component* this, int msg, int param);\r
-void Button_drawtext(struct Component* this, int x, int y);\r
-void Button_paint(struct Component* this);\r
-void Button_add(struct Component* this, struct Component* comp);\r
-struct Component* Button_new(int x, int y, int sx, int sy, int msg);\r
-void Numpad(struct Component* this, int x, int y);\r
-\r
-/************************************************\r
- * Toggle-buttons                               *\r
- ************************************************/\r
-\r
-void ToggleButton_handler(struct Component* this, int msg, int param);\r
-void ToggleButton_paint(struct Component* this);\r
-struct Component* ToggleButton_new(int x, int y, int sx, int sy, int msg);\r
-\r
-/************************************************\r
- * Dialogs                                      *\r
- ************************************************/\r
-\r
-void Dialog_handler(struct Component* this, int msg, int param);\r
-struct Component* Dialog_new(int x, int y, int sx, int sy, int msg);\r
-\r
-/************************************************\r
- * Displays                                     *\r
- ************************************************/\r
-void Display_handler(struct Component* this, int msg, int param);\r
-void Display_paint(struct Component* this);\r
-struct Component* Display_new(int x, int y, int sx, int sy, int msg);\r
-\r
-/************************************************\r
- * Labels                                       *\r
- ************************************************/\r
-void Label_handler(struct Component* this, int msg, int param);\r
-void Label_paint(struct Component* this);\r
-struct Component* Label_new(int x, int y, int sx, int sy,char* l);\r
-\r
-/************************************************\r
- * Implementation                               *\r
- ************************************************/\r
-void rootWindow_handler(struct Component* this, int msg, int param);\r
-void root_actionhandler(struct Component*);\r
-void screenbuilder(struct Component* root, char* filename);\r
-void read_stringtable();\r
-void GUIinit();\r
-void GUIgo();\r
-void GUIunit();\r
-\r
-#endif
\ No newline at end of file
diff --git a/src/gui/cl64180.r01 b/src/gui/cl64180.r01
deleted file mode 100644 (file)
index 19dd6c1..0000000
Binary files a/src/gui/cl64180.r01 and /dev/null differ
index 48cdda0..ee8c30c 100644 (file)
 :020000040000FA\r
-:20000000C9A6020078563412140000810081B586688A689AD1ED53B586C1ED43B786E12299\r
-:13002000B98621D86A3E00CD5E81EB2104453E01C35E810B\r
-:2005C900CD8881F8FF21060039EB218184010200EDB02AC0862323E50303C501B584C53E91\r
-:2005E9000121AD42CD5E81F1F14D44E171237021000039E5210000E52AC08623234E23462B\r
-:20060900C53E00216873CD5E81F1F1F1DD36FC60DD36FD0021000039E5210100E52AC0861E\r
-:2006290023234E2346C53E00216873CD5E81F1F1F1210200E52E08394D442AC08623235E1A\r
-:2006490023563E0021D16DCD5E81F1C31F81D52AC08623235E23563E00212B72CD5E81D1A0\r
-:20066900C32581CD8881FCFF21000039EB218384010400EDB0DD4602DD70FEDD4604DD7044\r
-:20068900FF210400E52B2BC340464DC342462AC08623235E23563E00C34D46CD5E81F1C390\r
-:2006A9001F81CD8881FCFF21000039EB218784010400EDB0DD4602DD70FEDD4604DD70FFCA\r
-:2006C900210400E52B2BC340464DC394462AC086C3464623C39C4623563E00C34D46CD5EBF\r
-:2006E90081F1C31F81CD8881FCFF21000039EB218B84010400EDB0DD4602DD70FEDD46049D\r
-:20070900DD70FF210400E52B2BC340464DC394462AC086C3D94623C3484623C39E463E0023\r
-:20072900C3E446CD5E81F1C31F81CD8881FCFF21000039EB218F84010400EDB0DD4602DDD5\r
-:2007490070FEDD4604DD70FF210400E52B2BC340464DC394462AC086C3D94623C32047235A\r
-:20076900C34A463E00C3A146CD5E81F1C31F81CD8881FCFF21000039EB219384010400EDF5\r
-:20078900B0DD4602DD70FEDD4604DD70FF210400E52B2BC340464DC394462AC086C3D946D8\r
-:2007A90023C3204723C369473E00C34D46CD5E81F1C31F81CD8881FCFF21000039EB2197EB\r
-:2007C90084010400EDB0DD4602DD70FEDD4604DD70FF210400E52B2BC340464DC394462A4A\r
-:2007E900C086C3D94623C3204723C369473E00C3B347CD5E81F1C31F81C5FDE5DDE5D5DDCF\r
-:20080900E13E00214072CD5E81E5DDE5C12AC08623235E23563E0021D16DCD5E81F1DDE144\r
-:20082900FDE1C1C32581CD8881F8FF21000039EB219B84010700EDB0DD4602DD70FADD4621\r
-:2008490004DD70FBDD460ADD70FCDD460CDD70FDDD460EDD70FE210700E52E02C340464D05\r
-:20086900C394462AC086C3D94623C3204723C369473E00C3B347CD5E81F1C31F81C5D5CD3B\r
-:20088900A048CD5E81218000E56CE5E5CDB848E1E1E1D1C1C3258101000059503E00216C1F\r
-:2008A90046CD5E8101800058503E0021AB46C94D44EB3E00212F48C35E81CD8881FCFF2115\r
-:2008C900000039EB21A284010300EDB0DD4602DD70FE210300E52BC340464DC394462AC042\r
-:2008E90086C3D94623C3204723C369473E00C3B347CD5E81F1C31F81CD8881FEFF210000B5\r
-:2009090039EB21A584010200EDB0DD4602DD70FF210200E5C340464DC394462AC086C3D908\r
-:200929004623C3204723C369473E00C3B347CD5E81F1C31F81CD88810000210C00ED4BC08F\r
-:20094900860946236668EB7BB228166B6246236668DD4E02DD4603ED422806210800191864\r
-:20096900E1EBC31F81CD52813E00213E49CDEB492829DD5E02DD56033E00210149CD5E819F\r
-:20098900210A00ED4BC08609E5DD5E02DD56033E00213E49CDF649E1712370C31F81ED4BD2\r
-:2009A900C086094623666823234E2346237E6960CD5E814D44FD6E06FD6607A7ED42EB0167\r
-:2009C9000200CDC181DD6E04DD660519EB3E00216C46C9CD5E814D44FD6E08FD6609A7EDD8\r
-:2009E90042C9CD5E817DB4C93E0121D842CD5E814D44C9CD8881FCFFFDE5110E00CD974A3D\r
-:200A0900DD4E0271DD46032370DD460CDD6E0AFD7502DD660BFD7403FD7004DD4610DD6ECD\r
-:200A29000EFD7505DD660FFD7406FD7007AFFD7708FD7709DD6E12FD750ADD6613FD740B98\r
-:200A4900DD6E14FD750CDD6615FD740D210C00ED4BC086097E23B6210C00ED4BC0860920FB\r
-:200A690010FDE5C1712370210A00ED4BC08609181246236668EB210800197E23B6210800F6\r
-:200A89001920EEFDE5C1712370FDE1C31F813E0121D842CD5E81E5FDE1C9FDE5DDE5C5D54E\r
-:200AA900DD210000FD210000FDE5210200394E2346E1097EB72850FDE5E1095ECD40810AC3\r
-:200AC90000212C2E3149696A6B6C72FE4AF94AEF4AF94AF94AEA4AEA4AF44AF44AF44AEAA6\r
-:200AE9004A0102001812010300180D01040018080105001803010600DD09210200394E234D\r
-:200B090046DD09FD2318A1DDE5E1F1F1DDE1FDE1C32581CD52817BFE803006210700091825\r
-:200B29000CFECC38083EDFBB3803696023C31F81CD52810100001A5F3E00211C4BCD5E81A8\r
-:200B4900C31F81CD5281010500C33F4BCD52810100003E0021A34ACD5E81C31F81CD52819A\r
-:200B6900010200C35B4BCD5281010300C35B4BCD88810000FDE5112800CD974A2AC0865E86\r
-:200B8900235613722B73FDE5E1732372DD6E02FD7502DD6603FD7403FD7104FD7005DD6E3B\r
-:200BA9000AFD7506DD660BFD7407DD6E0CFD7508DD660DFD7409AFFD770AFD770BFD770C1D\r
-:200BC900FD770DFD770EFD770FFD7710FD7711FD7712FD7713FD7714FD7715FD7716FD7761\r
-:200BE90017FD7718FD7719FD771AFD771BFD771CFD771DFD771EFD771FFD7724FD7725FD2B\r
-:200C09007726FD7727FD7720FD7721FD7722FD7723FDE5E1FDE1C31F81CD88810000FDE581\r
-:200C2900DD6E02DD6603E5FDE1110000DD6E04DD6605197EB728210114806B6278AC67ED3C\r
-:200C4900423015FD6E20FD662119E5DD6E04DD66051946E1701318D4FD6E20FD6621193653\r
-:200C690000FDE1C31F81CD88810000FDE55950211500DD4E02DD4603097E23666FE5FDE1FE\r
-:200C8900211500097E23B62009211500097323721819FD7E13FDB614280BFD6E13FD661497\r
-:200CA900E5FDE118EDFD7313FD72142113001977237721110019DD4E0271DD46032370FD60\r
-:200CC900E1C31F81C5FDE5DDE52115001946236668E5DDE1CD094DDDE5E17DB4281ADDE53A\r
-:200CE900D1DD7E1CDD6E1ADD661BCD5E81DD6E13DD6614E5DDE118DF1E01CD0B4DC327486F\r
-:200D09001E003E0021C348C35E81CD88810000FDE5DD6E02DD6603E5FDE1DD6E04DD6605FB\r
-:200D29007EFD860277237EFD8E0377DD6E0ADD660B7EFD860477237EFD8E0577FD6E11FD4A\r
-:200D49006612E5FDE17DB420D1FDE1C31F81CD88810000211500DD4E02DD460309462366B5\r
-:200D690068EB7BB2281B211000194E0600DD6E04DD6605A7ED422003EB1808211300191809\r
-:200D8900DC6F67C31F81CD8881F8FFFDE5DD6E02DD6603E5FDE1FD6E15DD75F8FD6616DD10\r
-:200DA90074F9FDE5E17DB4CA424FDD7EF8DDB6F92811DD5EF8DD56F9CD584FDD75F8DD74E8\r
-:200DC900F918E7FD7E11FDB612CA5E4EFD6E11FD66120115000946236668FDE5C1A7ED428B\r
-:200DE900FD6E11FD6612011500092009E5FD6E11FD6612185046236668DD75F8DD74F92187\r
-:200E09001300DD4EF8DD46F90946236668FDE5C1A7ED422819211300DD4EF8DD46F9097E83\r
-:200E290023B6280A211300095623666A18CB211300DD4EF8DD46F9097E23B62818211300EE\r
-:200E490009E52113000946236668011300094E2346E1712370FD6E13DD75F8FD6614DD74DE\r
-:200E6900F93E04FDAE24FDB625C20E4FFD6E11DD75FCFD6612DD74FDFD6E26DD75FEFD6697\r
-:200E890027DD74FFCD4D4FDD6EFEDD66FF2323CD4D4FDD7EFCDDB6FD2820212400DD4EFC94\r
-:200EA900DD46FD093E04AE23B6280F2111000956DD72FC2366DD74FD18D8DD7EFCDDB6FD76\r
-:200EC9002843212600DD4EFCDD46FD0946DD70FE2366DD74FF210600ED4BC08609E5DD6EBF\r
-:200EE900FEDD66FF5E2356E1732372210800ED4BC08609E5DD4EFEDD46FF030369604E23C9\r
-:200F090046E1712370FD4E24FD4625210000CDA6813009FD5E26FD5627CD504FFDCB0B76C8\r
-:200F29002011FD7E20FDB6212809FD5E20FD5621CD504FFDE5D1CD504FDD6EF8DD66F9FDE1\r
-:200F4900E1C31F815E23563E0021E573C35E813E00218F4DC35E81C5FDE5DDE5211500197F\r
-:200F690046236668E5DDE17DB42808DDE5D1CD584F18F1C32748CD88810000FDE5211500FD\r
-:200F8900DD5E02DD5603195623666AE5FDE17DB4283D210A00FDE5C109DD7E04DD56052F7D\r
-:200FA9005F7A2F577EA377237EA277210A00097EDDB60A77237EDDB60B77210A00097EDD6C\r
-:200FC900AE0C77237EDDAE0D772113000918B81177853E0021A96BCD5E81FDE1C31F81C5E8\r
-:200FE900FDE5DDE5D5DDE12115001946236668E5FDE121200019462366680100903E80ACDC\r
-:2010090067ED42302EDD4E20DD4621210000CDA6813020DD6E20DD662129E5210800ED4BA1\r
-:20102900C086094E2346E1092B2B46DD70202366DD7421DD6E22DD66230100903E80AC677E\r
-:20104900ED42302EDD4E22DD4623210000CDA6813020DD6E22DD662329E5210800ED4BC000\r
-:2010690086094E2346E1092B2B46DD70222366DD7423FDE5E17DB42816FDE5D13E0021E803\r
-:201089004FCD5E81FD6E13FD6614E5FDE118E3C32748CD8881D0FFFDE5AFDD77FADD77FB94\r
-:2010A900DD77FCDD77FD5950CD6B810800010002000300020103010401050101043453A2D6\r
-:2010C9005235526152A951BA516E510951D850211500DD4E02DD46030946236668E5FDE1A9\r
-:2010E9007DB42819FDCB0A46280BDD6E0ADD660BE5CD3953E1FD6E13FD661418E0C3345331\r
-:20110900211500DD4E02DD46030946236668E5FDE17DB4284DFDCB0A462838DD6E0ADD6684\r
-:201129000BE5CD3953E1DD6E0ADD660BE5010300CD3F53E1FD7E0AE6226F26003E22AD2061\r
-:2011490012FD4E1044DD6E0ADD660BED422004FD210000FDE5E17DB428B7FD6E13FD6614F9\r
-:2011690018ACC33453DD6E02DD6603E5FDE1210A00DD4E02DD460309CB462821FDCB0A6EE1\r
-:20118900281BFD4E1047DD6E0ADD660BA7ED42200CFD6E26FD6627FDE5D1CD5E53C3345326\r
-:2011A900DD5E024BDD560342211A00CD5D53C33453210A00DD4E02DD4603097EE6FC7721A5\r
-:2011C9002E0039E52B2B4D44DD5E02DD5603CD5553E1210800DD4E02DD4603095E2356D5D9\r
-:2011E900210600095E2356D5DD6EFCDD66FDE5DD4EFADD46FB110000CDBB48E1E1E12100B6\r
-:2012090000E52E11DD5E02DD5603195E2356211100DD4E02DD460309462366680117000958\r
-:201229004E2346237E69600103011829211100DD4E02DD4603095623666AE5FDE15950CD2E\r
-:20124900584F210000E5010301FDE5D1FD7E19FD6E17FD6618C33053211500DD4E02DD46C3\r
-:20126900030946236668E5FDE17DB42829DD6E0ADD660BFDE5C1ED422814FDCB0A5E280EC6\r
-:20128900DD6E0ADD660BE5010302CD3F53E1FD6E13FD661418D0C33453211100DD4E02DD14\r
-:2012A9004603097E23B6200E210400ED4BC08609360123771875210A000923CB6E2028DD8F\r
-:2012C9006E0ADD660BE52111005950195E23562111000946236668011700094E2346237EA4\r
-:2012E90069600101041840211100095623666AE5FDE1110A00197EF603776A62E523E54A52\r
-:2013090042FDE5D13E00217F4FCD5E81E1E1210000E5DD5E024BDD5603422E17094E234629\r
-:20132900237E6960010501CD5E81E1FDE1C31F81DD4E04DD4605FDE5D1FD7E19FD6E17FD48\r
-:201349006618C35E8123234D44DDE5D13E0021134DC35E81094E2346237E6960C35E81CD00\r
-:201369008881FCFFFDE5DD6E02DD6603E5FDE1AFDD77FEDD77FFDD77FCDD77FD210A00ED1B\r
-:201389004BC086097E23666F46236668FD4E0EFD460FA7ED422809FD5E0EFD560FCDED5472\r
-:2013A900FDCB0A46CAA55421020039E523234D44FDE5D1CD5553E1CD094DDD4EFCDD46FDBE\r
-:2013C900DD5EFEDD56FF3E00216C46CD5E81FD4E08FD4609FD5E06FD56073E0021AB46CD65\r
-:2013E9005E81FD6E08FD6609E5FD6E06FD6607E5DD6EFCDD66FDE5DD4EFEDD46FF110000B9\r
-:20140900CDBB48E1E1E1FD5E20FD5621210A00ED4BC086097E23666FCDAA54DD4EFCDD4624\r
-:20142900FD09110400194D44CDB8547E23666F010500094E2346237E6960CDDC4901FCFF71\r
-:20144900094D44FD5E06FD56073E0021EE46CD5E81DD4EFCDD46FDCDB85446236668CDAA21\r
-:2014690054010500094D44FD5E06FD56073E00213347CD5E81210E00DD4EFCDD46FD094D63\r
-:2014890044DD5EFEDD56FF13133E00216C46CDD554FDE5D13E0021CD4CCD5E81FDE1C31FD0\r
-:2014A90081010500094E2346237E6960C35E81DD5EFEDD56FF3E00216C46CD5E81FD5E202D\r
-:2014C900FD5621210A00ED4BC08609C9CD5E81FD5E20FD56213E00210248CD5E81C9DD5E20\r
-:2014E9000EDD560F3E00216E49C35E81CD5281CD094DCDA048CD5E8101800058503E00212F\r
-:20150900BD47CD5E81218000E56CE5E5CDB848E1E1E1DD5E02DD56033E0021CD4CCD5E814F\r
-:20152900C31F81CD52813E00216F4CCD5E81C31F81CD88810000FDE5DD6E0CDD660DE5DD55\r
-:201549006E0ADD660BE5CD7E55F1F1E5FDE101170009369B233650233600FD361A68FD36B6\r
-:201569001B53FD361C00FD361D2CFD361E55FD361F00C31A4CDD5E02DD56033E0021784B73\r
-:20158900C35E81CD5281FDE5D5FDE1DD6E0ADD660BE53E00219B50CD5E81E13E03DDAE043C\r
-:2015A900DDB605203EFD4E1047DD6E0ADD660BED422030FD7E0AE6032829DD6E0ADD660B06\r
-:2015C900E5FD5E11FD5612FD6E11FD66120E17CD1956E1FDCB0A66280AFD4E100600C5CDBC\r
-:2015E9002756E1210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD0A56E1FDE1C31FB2\r
-:2016090081FD5E11FD5612FD6E11FD6612011700094E2346237E6960010102C35E81FD5E3B\r
-:2016290011FD5612FD6E11FD66120E17094E2346237E6960010401C35E81CD5281FDE5D5EC\r
-:20164900FDE1210A0019CB76FD5E20FD5621210A00ED4BC086097E23666F010500094E2387\r
-:2016690046237E69602853CD5E81294D44FD6E08FD6609A7ED42CDF0560E0C09E5FD5E2085\r
-:20168900FD5621210A00ED4BC086097E23666FCDB049C1CDD554FD5E08FD5609CDF1560E47\r
-:2016A9000A09E5FD5E22FD56236960CDA749C1CD5E81FD5E22FD56231820CDDC49CDF05613\r
-:2016C9000E0D09E5FD5E20FD5621210A00CDA749C1CD5E81FD5E20FD56213E00210248CD4F\r
-:2016E9005E81FDE1C31F81EB010200CDC181DD6E0ADD660B19C9C5DDE5F5F5D5DDE1210218\r
-:201709000039AF7723772B2B2B772377210A00ED4BC086097E23666F46236668E5210E00C2\r
-:20172900194E2346E1A7ED422803CDE754DDCB0A46CACF5721000039E5CD4E53E12100004F\r
-:2017490039CDD757CD5E81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E232E\r
-:2017690046DDCB0A4E2807DD5E1016001803110000CDBB48E1E1E1DD7E0AE682281CDD7E7F\r
-:201789000AE682EE822813DD4E08DD4609DD5E06DD56073E002178471811DD4E08DD4609A3\r
-:2017A900DD5E06DD56073E0021EE46CD5E81210000394E2346C5234E2346DDE5D13E0021C4\r
-:2017C9004356CD5E81E1E1E1DDE1C1C325814E2346235E23563E00216C46CD5E81DD4E088F\r
-:2017E900DD4609DD5E06DD56073E0021AB46C9CD5281C31F81CD88810000FDE5DD6E0CDD31\r
-:20180900660DE5DD6E0ADD660BE5CD7E55F1F1E5FDE1010A00097EF60377DD460EFD7010EA\r
-:20182900FD36178CFD361855FD361900FD361AFFFD361B56FD361C00FD361DF8FD361E57AE\r
-:20184900FD361F00C31A4CCD5281FDE5D5FDE1DD6E0ADD660BE53E00219B50CD5E81E13E32\r
-:2018690003DDAE04DDB605205CFD4E1047DD6E0ADD660BED42204EFD7E0AE6032847FD7E7F\r
-:201889000AEE04FD770ADD6E0ADD660BE5FD5E11FD5612FD6E11FD66120E17094E23462373\r
-:2018A9007E6960010202CD5E81E1210000E5010301CD3F53E1FDCB0A66280AFD4E10060030\r
-:2018C900C5CD2756E1210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD0A56E1FDE11F\r
-:2018E900C31F81C5DDE5F5F5D5DDE121020039AF7723772B2B2B772377210A00ED4BC08621\r
-:20190900097E23666F46236668E5210E00194E2346E1A7ED422803CDE754DDCB0A46CAD5A3\r
-:201929005921000039E5CD4E53E121000039CDD757CD5E81DDCB0A4E2836DDCB0A562830F8\r
-:20194900DD4E08DD4609DD5E06DD56073E00217847CD5E81DD6E08DD6609E5DD6E06DD66C2\r
-:2019690007E5210400394E2346C5234E23461834DD4E08DD4609DD5E06DD56073E0021EE4B\r
-:2019890046CD5E81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E2346DDCBEC\r
-:2019A9000A4E2807DD5E1016001803110000CDBB48E1E1E1210000394E2346C5234E2346E7\r
-:2019C900DDE5D13E00214356CD5E81E1C3CF57CD88810000FDE5DD6E0CDD660DE5DD6E0A64\r
-:2019E900DD660BE5CD7E55F1F1E5FDE1010A00097EF60777DD460EFD7010FD361750FD36E5\r
-:201A09001858FD361900FD361AECFD361B58FD361C00FD361DF8FD361E57FD361F00C31AB4\r
-:201A29004CCD5281FDE5D5FDE1DD6E0ADD660BE53E00219B50CD5E81E1210102DD4E04DD8D\r
-:201A49004605A7ED4220403EFFDDAE0ADDB60B2036FDCB0B66E528050105011803010201C5\r
-:201A6900CD3F53E1FD4E100600C5FD5E11FD5612FD6E11FD66120E17094E2346237E6960E6\r
-:201A8900010103CD5E81E1210102DD4E04DD4605A7ED4220403EFEDDAE0ADDB60B2036FD38\r
-:201AA900CB0B66E528050105011803010201CD3F53E1FD4E100600C5FD5E11FD5612FD6E07\r
-:201AC90011FD66120E17094E2346237E6960010203CD5E81E1FDE1C31F81CD8881FEFFFD84\r
-:201AE900E5DD6E0CDD660DE5DD6E0ADD660BE5CD7E55F1F1E5FDE1010A0009CBC6DD460EC9\r
-:201B0900FD7010FD36172AFD36185AFD361900FD361A68FD361B53FD361C00FD361D2CFDBC\r
-:201B2900361E55FD361F0021FF00E52E14E52E28E521E4FFCD955BF1F1F1DD75FEDD74FF06\r
-:201B490001200009E5110300CDF149E171237001BF84CDB15BCD5E8121FE00E52E14E52E4B\r
-:201B690028E521C8FFCD955BF1F1F1DD75FEDD74FF01200009E5110700CDF149E171237024\r
-:201B890001C284CDB15BCD5E81C31A4CDD4E0CDD460D094D4421D0FFDD5E0ADD560B19EBCF\r
-:201BA9003E0021FE57C35E81DD5EFEDD56FF3E0021224CCD5E81DD4EFEDD46FFFDE5D1FDE7\r
-:201BC9007E1FFD6E1DFD661EC9CD5281FDE5D5FDE1DD6E0ADD660BE53E00218C55CD5E81E4\r
-:201BE900E1210302DD4E04DD4605A7ED422040FDCB0A5E283A3E08DDAE0ADDB60BFD5E20C2\r
-:201C0900FD56213E00214072200DCDEB492815CD3D5C2B3600180DCD485C233600CD3D5CAF\r
-:201C2900DD460A70210000E5010301CD3F53E1FDE1C31F81FD5E20FD56213E00214072CDA5\r
-:201C49005E81FD4E20FD462109C9C5FDE5DDE521B8FF39F9D5DDE1AF7723772377237721E0\r
-:201C69000A00ED4BC086097E23666F46236668E5210E00194E2346E1A7ED422803CDE7544F\r
-:201C8900DDCB0A46CA975D21020039E52B2BCD5053E1210200394E23462B2B2BCDDB57CD3D\r
-:201CA9005E81DD6E08DD6609E5DD6E06DD6607E5210600394E2346C52B2B2B4E2346DDCB7C\r
-:201CC9000A4E2807DD5E1016001803110000CDBB48E1E1E1DDCB0A7EDD4E08DD4609DD5EAA\r
-:201CE90006DD560720073E0021784718053E0021EE46CD5E81DD5E20DD5621210A00ED4BE8\r
-:201D0900C0860946236668010500094E2346237E6960CDF649DD6E08DD6609A7ED42EB0197\r
-:201D29000200CDC1816960394623666819010700094D44210000395E235613133E00216C73\r
-:201D490046CD5E81DDCB0B462836FD210000DD5E20DD56213E00214072CDF649FDE5E1A7DD\r
-:201D6900ED42210600300B39FDE5C109362AFD2318DC39FDE5C109360021060039EB1806EC\r
-:201D8900DD5E20DD56213E00210248CD5E8121480039F9C32748CD88810000FDE5DD6E0E58\r
-:201DA900DD660FE5DD6E0CDD660DE5DD6E0ADD660BE5DD5E02DD5603CDA95BF1F1F1E5FDD6\r
-:201DC900E1010A0009CBDE01C984FDE5D13E0021224CCD5E81FD361A53FD361B5CFD361C49\r
-:201DE90000FD3617D2FD36185BFD361900C31A4CCD5281C31F81C5DDE5F5F5D5DDE1210279\r
-:201E09000039AF7723772B2B2B772377210A00ED4BC086097E23666F46236668E5210E00BB\r
-:201E2900194E2346E1A7ED422803CDE754DDCB0A46282121000039E5CD4E53E121000039B6\r
-:201E49004E2346C5234E2346DDE5D13E00214356CD5E81E1C3CF57CD88810000FDE5DD6E1F\r
-:201E69000CDD660DE5DD6E0ADD660BE5CD7E55F1F1E5FDE101200009DD4E0E71DD460F2322\r
-:201E890070FD360A01FD360B00FD3617F9FD36185DFD361900FD361AFFFD361B5DFD361CD0\r
-:201EA90000FD361DF8FD361E57FD361F00C31A4CCD88810000DD6E0ADD660BE5DD5E02DD36\r
-:201EC90056033E00219B50CD5E81E1C31F81CD8881CEFFFDE5DD36D800210000E5C53E01EC\r
-:201EE90021AD42CD5E81F1F1DD75D4DD74D5DD36F02BDD36F100DD36F21ADD36F300DD3685\r
-:201F0900F400DD7ED8FE732018DD6ED9DD66DADD75F0DD74F1DD6EDBDD66DCDD75F2DD7449\r
-:201F2900F3DD7ED8FE422807DD7ED8FE4D204FDD4EDD0600C5CD9762D5DD4EDBDD5EF0DD9A\r
-:201F490056F1CDA062D5DD4EDADD5EF2DD56F3CD2A81D5DD5ED950DD4EF0DD46F1CD2A81DD\r
-:201F69003E0021FE57C1CD5E81F1F1F1E5FDE1DD7ED8FE4D2004FDCB0AF6DD36F401DD7ED4\r
-:201F8900D8FE542044DD4EDD0600C5CD9762D5DD4EDBDD5EF0DD56F1CDA062D5DD4EDADD61\r
-:201FA9005EF2DD56F3CD2A81D5DD5ED950DD4EF0DD46F1CD2A813E0021D859C1CD5E81F15C\r
-:201FC900F1F1E5FDE1DD36F401DD7ED8FE442044DD4EDD0600C5CD9762D5DD4EDBDD5EF0D3\r
-:201FE900DD56F1CDA062D5DD4EDADD5EF2DD56F3CD2A81D5DD5ED950DD4EF0DD46F1CD2AE1\r
-:20200900813E00219F5DC1CD5E81F1F1F1E5FDE1DD36F401DD7ED8FE4C2047210C00390185\r
-:20202900120009E5CD9762D5DD4EDBDD5EF0DD56F1CDA062D5DD4EDADD5EF2DD56F3CD2AB4\r
-:2020490081D5DD5ED950DD4EF0DD46F1CD2A813E0021605EC1CD5E81F1F1F1E5FDE1DD36E3\r
-:20206900F401DD7ED8FE412051212600DD4E02DD460309E5212B0039EBE1732372DD6EDE75\r
-:20208900DD66DFDD75F8DD74F9DD6EE0DD66E1DD75FADD74FB211600394E2346235E235679\r
-:2020A900DD71FCDD70FDDD73FEDD72FFDD5E02DD56033E0021A762CD5E81DD7ED8FE5320BC\r
-:2020C90071210C00394D44DD5ED4DD56D53E0021DF65CD5E81212600DD4E02DD460309E5A1\r
-:2020E900110400CD8F62EBE17323722126000956DD72F52366DD74F6212400093604233695\r
-:20210900006ADD66F62323E5210800ED4BC086095E2356E1732372210600ED4BC086094684\r
-:20212900236668E5DD6EF5DD66F6C1712370DD36F400AFDDB6F4CA3B62DD7EDEDDB6DF280B\r
-:2021490069FDCB0AEEFD36240BFD362500110B00CD8F62FD7526FD7427FD6E26DD75D0FDD9\r
-:202169006627DD74D136A7233662233600DD6ED0DD66D1232323DD4EDE71DD46DF237021EE\r
-:202189000500DD4ED0DD46D109DD5EE073DD56E1237221070009E5211800395E2356234E32\r
-:2021A9002346E173237223712370DD7EE6DDB6E7280CDD6EE6FD750ADD66E7FD740BDD6E10\r
-:2021C900E8FD750EDD66E9FD740FDD6EEAFD7520DD7EEBE60FFD7721FD7E20FDB6212016A6\r
-:2021E900111400CD8F62FD7520FD7421FD6E20FD662136001804FDCB0BF6DD7EEB2E004DE4\r
-:20220900E6F0472610ED423010DD6EEADD7EEBE60F6723FD7522FD7423FDE5DD5E024BDD8A\r
-:20222900560342211D00094E2346237E6960C1CD5E81211400E52E0E394D44DD5ED4DD56C3\r
-:20224900D5CD8762F13E14ADB4CA075FDD5ED4DD56D53E00212B72CD5E81DD5E02DD5603E4\r
-:202269003E0021E84FCD5E81DD5E024BDD560342211A00094E2346237E6960C3E8563E016E\r
-:20228900213445C35E813E0121D842C35E81DD4EDCDD5EF2DD56F3CD2A811B1B1BC9CD889C\r
-:2022A90081EAFFFDE5DD6E02DD6603E5FDE121060039EB21A784010E00EDB0FD6E26DD754D\r
-:2022C900EAFD6627DD74EB2323233E01AE23B62008C5010104CD3F53E1DD6EEADD66EB235D\r
-:2022E900232346236668CB853E02ADB4C212646F67E5E5010100FD5E11FD56123E00217FDE\r
-:202309004FCD5E81E1E1FD6E11FD6612010800094E2346C5FD6E11FD6612010600094E2306\r
-:2023290046C501000059503E00213A55CD5E81F1F1DD75ECDD74ED010A000936032370DD2A\r
-:202349006EEADD66EB232323CB46280C6960DD4EECDD46ED0923CBEE211700DD4EECDD46F9\r
-:20236900ED0936B923365E233600211A000936F5233654233600210700DD5EEADD56EB1966\r
-:202389005EEBDD75F3210700DD4EEADD46EB095E2356234E2346EB3E08CDF981DD75F421C2\r
-:2023A9000700DD4EEADD46EB095E2356234E2346EB3E10CDF981DD75F5210700DD4EEADD4F\r
-:2023C90046EB095E2356234E2346EB3E18CDF981DD75F6210600394D44DD5EECDD56ED3EC3\r
-:2023E9000021D75ECD5E81DD4EECDD46EDC5FD5E11FD5612FD6E11FD6612011D00094E238C\r
-:2024090046237E6960C1CD5E81DD6EEADD66EB2323233E04AE23B6C2B065210100E5FD6EB8\r
-:2024290011FD6612010800094623666801F6FF09E5FD6E11FD6612010600094623666801A7\r
-:20244900F6FF09E501050059503E0021E35ACD5E81F1F1F1DD75ECDD74ED010A00093603FD\r
-:20246900233610210E00DD4EECDD46ED093630233600AFDD77FEDD77FF210500DD4EEADD60\r
-:2024890046EB095E2356060CCD2E824B42DD6EFEDD66FFCDA68130043E011801AFE60FCA8D\r
-:2024A9004465210500DD4EEADD46EB0946237E68E60F67DD4EFEDD46FF0929E5210800EDF5\r
-:2024C9005BC086195E2356E1192B2B5E2356D5211000E52E06DD5EECDD56ED196E26000127\r
-:2024E900F0FF09E5DD6EFEDD66FF29294D442909011400094D441108003E0021605ECD5E46\r
-:2025090081F1F1F1DD75FCDD74FD010E000936302370DD4EFCDD46FDC5DD5EEC4BDD56ED13\r
-:2025290042211D00094E2346237E6960C1CD5E81DD34FE2003DD34FFC3826401CA84DD5E06\r
-:20254900ECDD56ED3E0021224CCD5E8101FF00CDD165010E0009363023700EFECDD165EBDF\r
-:20256900CD584FDD4EECDD46EDC5FD5E11FD5612FD6E11FD6612011D00094E2346237E6948\r
-:2025890060C1CD5E81210000E5FD5E11FD5612FD6E11FD6612011700094E2346237E69605B\r
-:2025A900010301CD5E81E1211000ED4BC086097E23B623B6280DFDE5D1211000ED4BC08601\r
-:2025C900CD5D53FDE1C31F81DD5EECDD56ED3E0021574DC35E81CD8881F8FFFDE5030ADDAF\r
-:2025E90077FE030ADD77FF0369604EDD71FC2346DD70FDDD6EFE6729EBCD8F62DD75FADD3B\r
-:2026090074FB5950CD974AC54D44DD5E02DD5603CD8762F1110000AFDD77F8DD77F9DD4EF7\r
-:20262900FCDD46FD6B62CDA6813035CDA566303023DD75F8DD74F92B29DD4EFADD46FB09C0\r
-:20264900E5FDE5E1194D44E1712370FDE5E1197EB728031318F56B6213FDE5C1097718BE05\r
-:20266900CDA566301329DD4EFADD46FB09E5FDE5E1194D44E1712370210600ED4BC08609DC\r
-:20268900FDE5C1712370210800ED4BC08609DD4EFA71DD46FB2370FDE1C31F81DD4EFEDD4C\r
-:2026A90046FFDD6EF8DD66F9C3A6812AC086C32581C5D5111300CD8F6222C086AF772377E6\r
-:2026C900210400ED4BC08609772377210A00ED4BC08609772377210C00ED4BC08609772323\r
-:2026E90077210800ED4BC08609772377210600ED4BC08609772377211000ED4BC0860977AB\r
-:20270900237723773E0021C945CD5E81210000E5E50E00C521394BE50E00C521554BE51191\r
-:202729003000CDD967210C0039F9210000E5E50E00C521394BE50E00C521664BE5113100E0\r
-:20274900CDD967210C0039F9210000E5E50E00C5214C4BE50E00C5216F4BE5113200CDD92D\r
-:2027690067210C0039F9210E00ED4BC08609E5118000D55AD54B423E00213A55CD5E81F142\r
-:20278900F14D44E1712370210E00ED4BC086095623666A110A001936012372210E00ED4B63\r
-:2027A900C086095623666A1117001936B923365E233600210E00ED4BC0860946236668014A\r
-:2027C9001A000936F5233654233600D1C1C325813E0021FC49C35E81C5D5210E00ED4BC09A\r
-:2027E90086095E2356CD584F3E00218648CD5E813E00215746CD5E81D1C1C32581CD8881A4\r
-:20280900FEFFDD4E02DD4603210E00ED5BC086195E23563E0021D75ECD5E81210400ED4B15\r
-:20282900C086097E23B6C2C468210100E523394D442AC08623235E2356CD8762F13E01ADE7\r
-:20284900B420D8DD4EFE47C521D684E53E00210A6ECD5E81F1F1AFDDB6FE28294FC5210EF5\r
-:2028690000ED5BC086195E2356210E00ED4BC0860946236668011700094E2346237E6960A2\r
-:202889000101001829DD4EFFC5210E00ED5BC086195E2356210E00ED4BC086094623666863\r
-:1E28A900011700094E2346237E6960010200CD5E81E1DD46FEDD70FFC32468C31F8120\r
-:2003C9002F6465762F6C636430004F4B0043616E63656C00004D65737361676520426F7826\r
-:0903E900003078253032780A005A\r
-:200395001B4B1B5300001B4300001B4E00001B5200001B4600001B6800001B5A00000000E7\r
-:1403B500001B45001B002F776E642F303030302E73637200DC\r
-:2028C700FDE5DDE5C521C0FF39F9D5DDE1210C00197E23666FAFB62008DD360CDEDD360D7D\r
-:2028E7008421000039362D012F00DD5E0CDD560D3E0021416BCD5E81E5FDE17DB42804FD05\r
-:20290700231809DD6E0CDD660DE5FDE1FDE5C12100003911010019EB3E0021C574CD5E81AB\r
-:2029270021000039E5214200397E23666FC171237021400039472366682323AF772377DDC5\r
-:202947005E06DD56073E00210D6BCD5E81DD5E04DD56053E0021F06DCD5E81DD5E0ADD56F8\r
-:202967000B3E0021BC6DCD5E81210100E5DD4E0ADD460B11E6843E00210F6FCD5E81F12191\r
-:202987000100E5DD4E00DD460111EB843E00210F6FCD5E81F1214000394E2346DD5E0CDD8C\r
-:2029A700560D3E00215573CD5E81DD5E0CDD560D3E00211873CD5E811101003E0121044502\r
-:2029C700CD5E8121420039F9DDE1FDE1C32581CD8881E0FFFDE5DD6E02DD6603E5FDE1219C\r
-:2029E7002600DD4E02DD4603094623666823232346236668010101A7ED42C2D36AFD6E2014\r
-:202A0700FD662146DD70ECFD6E20FD66212346DD70EDDD36EE00FD6E20FD66213600210E85\r
-:202A27000039EB3E00213975CD5E81EB3E0021EC74CD5E81DD75E0DD74E1FD4E20FD462129\r
-:202A47000303DD71EADD70EB7DB4287123237E23666F46DD70E2DD6EE0DD66E12323462300\r
-:202A670066682346DD70E3DD36E400210400394D44DD5EEADD56EB3E01210040CD5E81DD96\r
-:202A870075E8DD74E9DD4EE0DD46E1030369604E2346DD5EE8DD56E93E00217772CD5E81D0\r
-:202AA7007DB420193E00218648CD5E81010000DD5EE0DD56E13E0021C768CD5E81FDE5D1AF\r
-:202AC700FD7E1CFD6E1AFD661BCD5E81FDE1C31F81CD52813E0021BA66CD5E813E0021B48A\r
-:202AE70066CD5E810110000936D623366923360011F0843E00210668CD5E813E0021E167D7\r
-:062B0700CD5E81C31F81B9\r
-:2003F2002F62696E2F736800484F4D450055534552002F776E642F6C6F676E2E7363720044\r
-:202B0D00CD5281D5210600E5210700E53E0021276BCD5E81F1F1F1C31F8121040039C5D54F\r
-:142B2D005E2356234D44F7300622BB8621FFFFD1C1C325815F\r
+:20000000C9A6020078563412140000810081B486678A679AD1ED53B486C1ED43B686E1229E\r
+:13002000B886218F6C3E00CD5E81EB215D7C3E00C35E81C4\r
+:2005C800CD5281210600ED4BBF8609E5EB290923234E2346E1712370C31F81CD8881F8FFB2\r
+:2005E80021060039EB217384010200EDB02ABF862323E50303C5019984C5CDDC46F1F14D8A\r
+:2006080044E171237021000039E5210000E52ABF8623234E2346C5CDD446F1F1F1DD36FC6A\r
+:2006280060DD36FD0021000039E5210100E52ABF8623234E2346C5CDD446F1F1F1210200EE\r
+:20064800E52E08394D442ABF862323CDEE46F1210400ED4BBF8609E5110200D511A384D581\r
+:20066800CDDC46F1F1EBE173237221000039E5210000E52E04ED4BBF86095E2356D5CDD483\r
+:2006880046F1F1F1DD36FC60DD36FD0021000039E5210100E52E04095E2356D5CDD446F1B5\r
+:2006A800F1F1210200E52E0839CDE446F11101003E0021C845CD5E8111AD84CDF946110068\r
+:2006C800003E0021C845CD5E81C31F813E0021F074C35E813E0021067AC35E814D442104FB\r
+:2006E80000ED5BBF86195E23563E0021886FC35E813E0021A648C35E81C5D52ABF8623233F\r
+:20070800CD1B47210400ED4BBF8609CD1B47D1C1C325815E23563E0021B373C35E81CD887A\r
+:2007280081FCFF21000039EB217584010400EDB0DD4602DD70FEDD4604DD70FF210400E547\r
+:200748002B2B394D44210600ED5BBF86195E23563E00CDF346F1C31F81CD8881FCFF210043\r
+:200768000039EB217984010400EDB0C33847DD70FEDD4604DD70FF210400E52B2B394DC3E4\r
+:200788004C47210600ED5BBF86195E23563E00C35A47CD5E81F1C31F81CD8881FCFF210086\r
+:2007A8000039EB217D84010400EDB0C33847DD70FEC37947DD70FF210400E52B2B394D44C3\r
+:2007C800210600C3504719C3924723563E00C35A47CD5E81F1C31F81CD8881FCFF210000CE\r
+:2007E80039EB218184010400EDB0C33847DD70FEC37947DD70FFC3BF47E52B2B394D4421BA\r
+:200808000600ED5BBF8619C3554723C394473E00C3D647CD5E81F1C31F81CD8881FCFF21F4\r
+:20082800000039EB218584010400EDB0C33847DD70FEC37947DD70FFC3BF47E5C302482B7E\r
+:20084800394D44210600ED5BBF86195E23C357473E00C39747CD5E81F1C31F81CD8881FC66\r
+:20086800FF21000039EB218984010400EDB0C33847DD70FEC37947DD70FFC3BF47E5C3028D\r
+:20088800482BC348484D44210600ED5BBF86195E23563E00C35A47CD5E81F1C31F81C5FDF1\r
+:2008A800E5DDE5D5DDE13E0021C873CD5E81E5DDE5C1210600CDE946F1DDE1FDE1C1C325EF\r
+:2008C80081CD8881F8FF21000039EB218D84010700EDB0DD4602DD70FADD4604DD70FBDDEE\r
+:2008E800460ADD70FCDD460CDD70FDDD460EDD70FE210700E52E02C34A474DC387472106CC\r
+:2009080000C3CB4719C30F4823C355483E00C39C48CD5E81F1C31F81C5D5CD3A49CD5E81C9\r
+:20092800218000E56CE5E5CD5249E1E1E1D1C1C3258101000059503E00212647CD5E8101CA\r
+:20094800800058503E00216147C94D44EB3E0021C948C35E81CD8881FCFF21000039EB21D2\r
+:200968009484010300EDB0DD4602DD70FE210300E52BC34A474DC38747210600C3CB4719CB\r
+:20098800C30F4823C355483E00C39C48CD5E81F1C31F81CD8881FEFF21000039EB21978479\r
+:2009A800010200EDB0DD4602DD70FF210200E5C34A474DC38747210600C3CB4719C30F48B5\r
+:2009C80023C355483E00C39C48CD5E81F1C31F81CD88810000211400ED4BBF860946236647\r
+:2009E80068EB7BB228166B6246236668DD4E02DD4603ED4228062108001918E1EBC31F81F4\r
+:200A0800CD52813E0021D849CD794A2829DD5E02DD56033E00219B49CD5E81211200ED4B00\r
+:200A2800BF8609E5DD5E02DD56033E0021D849CD844AE1712370C31F81211200ED4BBF86F5\r
+:200A4800094623666823234E2346237E6960CD5E814D44FD6E06FD6607A7ED42EB0102000B\r
+:200A6800CDB881DD6E04DD660519EB3E00212647C9CD5E817DB4C93E0021317ACD5E814D8F\r
+:200A880044C9CD8881FCFFFDE5110E00CD254BDD4E0271DD46032370DD460CDD6E0AFD75E5\r
+:200AA80002DD660BFD7403FD7004DD4610DD6E0EFD7505DD660FFD7406FD7007AFFD77088E\r
+:200AC800FD7709DD6E12FD750ADD6613FD740BDD6E14FD750CDD6615FD740D211400ED4BC6\r
+:200AE800BF86097E23B6211400ED4BBF86092010FDE5C1712370211200ED4BBF86091812D4\r
+:200B080046236668EB210800197E23B62108001920EEFDE5C1712370FDE1C31F813E00217B\r
+:200B2800317ACD5E81E5FDE1C9FDE5DDE5C5D5DD210000FD210000FDE5210200394E23467B\r
+:200B4800E1097EB72850FDE5E1095ECD40810A00212C2E3149696A6B6C728C4B874B7D4BB2\r
+:200B6800874B874B784B784B824B824B824B784B0102001812010300180D0104001808019D\r
+:200B880005001803010600DD09210200394E2346DD09FD2318A1DDE5E1F1F1DDE1FDE1C38A\r
+:200BA8002581CD52817BFE80300621070009180CFECC38083EDFBB3803696023C31F81CD2A\r
+:200BC80052810100001A5F3E0021AA4BCD5E81C31F81CD5281010500C3CD4BCD528101003B\r
+:200BE800003E0021314BCD5E81C31F81CD5281010200C3E94BCD5281010300C3E94BCD8879\r
+:200C0800810000FDE5112800CD254B2ABF865E235613722B73FDE5E1732372DD6E02FD7500\r
+:200C280002DD6603FD7403FD7104FD7005DD6E0AFD7506DD660BFD7407DD6E0CFD7508DDCB\r
+:200C4800660DFD7409AFFD770AFD770BFD770CFD770DFD770EFD770FFD7710FD7711FD7770\r
+:200C680012FD7713FD7714FD7715FD7716FD7717FD7718FD7719FD771AFD771BFD771CFDEA\r
+:200C8800771DFD771EFD771FFD7724FD7725FD7726FD7727FD7720FD7721FD7722FD7723D7\r
+:200CA800FDE5E1FDE1C31F81CD88810000FDE5DD6E02DD6603E5FDE1110000DD6E04DD6677\r
+:200CC80005197EB728210114806B6278AC67ED423015FD6E20FD662119E5DD6E04DD66056B\r
+:200CE8001946E1701318D4FD6E20FD6621193600FDE1C31F81CD88810000FDE55950211507\r
+:200D080000DD4E02DD4603097E23666FE5FDE1211500097E23B62009211500097323721818\r
+:200D280019FD7E13FDB614280BFD6E13FD6614E5FDE118EDFD7313FD721421130019772360\r
+:200D48007721110019DD4E0271DD46032370FDE1C31F81C5FDE5DDE5211500194623666842\r
+:200D6800E5DDE1CD974DDDE5E17DB4281ADDE5D1DD7E1CDD6E1ADD661BCD5E81DD6E13DD4D\r
+:200D88006614E5DDE118DF1E01CD994DC3C1481E003E00215D49C35E81CD88810000FDE51C\r
+:200DA800DD6E02DD6603E5FDE1DD6E04DD66057EFD860277237EFD8E0377DD6E0ADD660B7B\r
+:200DC8007EFD860477237EFD8E0577FD6E11FD6612E5FDE17DB420D1FDE1C31F81CD8881FA\r
+:200DE8000000211500DD4E02DD46030946236668EB7BB2281B211000194E0600DD6E04DDFD\r
+:200E08006605A7ED422003EB18082113001918DC6F67C31F81CD8881F8FFFDE5DD6E02DD08\r
+:200E28006603E5FDE1FD6E15DD75F8FD6616DD74F9FDE5E17DB4CAD04FDD7EF8DDB6F9280D\r
+:200E480011DD5EF8DD56F9CDE64FDD75F8DD74F918E7FD7E11FDB612CAEC4EFD6E11FD6651\r
+:200E6800120115000946236668FDE5C1A7ED42FD6E11FD6612011500092009E5FD6E11FDF2\r
+:200E88006612185046236668DD75F8DD74F9211300DD4EF8DD46F90946236668FDE5C1A7A2\r
+:200EA800ED422819211300DD4EF8DD46F9097E23B6280A211300095623666A18CB21130018\r
+:200EC800DD4EF8DD46F9097E23B6281821130009E52113000946236668011300094E2346C1\r
+:200EE800E1712370FD6E13DD75F8FD6614DD74F93E04FDAE24FDB625C29C4FFD6E11DD7518\r
+:200F0800FCFD6612DD74FDFD6E26DD75FEFD6627DD74FFCDDB4FDD6EFEDD66FF2323CDDBDF\r
+:200F28004FDD7EFCDDB6FD2820212400DD4EFCDD46FD093E04AE23B6280F2111000956DD28\r
+:200F480072FC2366DD74FD18D8DD7EFCDDB6FD2843212600DD4EFCDD46FD0946DD70FE23B7\r
+:200F680066DD74FF210A00ED4BBF8609E5DD6EFEDD66FF5E2356E1732372210C00ED4BBFAE\r
+:200F88008609E5DD4EFEDD46FF030369604E2346E1712370FD4E24FD4625210000CDA68133\r
+:200FA8003009FD5E26FD5627CDDE4FFDCB0B762011FD7E20FDB6212809FD5E20FD5621CD25\r
+:200FC800DE4FFDE5D1CDDE4FDD6EF8DD66F9FDE1C31F815E23563E00216D75C35E813E0077\r
+:200FE800211D4EC35E81C5FDE5DDE52115001946236668E5DDE17DB42808DDE5D1CDE64F33\r
+:2010080018F1C3C148CD88810000FDE5211500DD5E02DD5603195623666AE5FDE17DB42814\r
+:201028003D210A00FDE5C109DD7E04DD56052F5F7A2F577EA377237EA277210A00097EDD8E\r
+:20104800B60A77237EDDB60B77210A00097EDDAE0C77237EDDAE0D772113000918B8117697\r
+:20106800853E0021606DCD5E81FDE1C31F81C5FDE5DDE5D5DDE12115001946236668E5FD66\r
+:20108800E121200019462366680100903E80AC67ED42302EDD4E20DD4621210000CDA68143\r
+:2010A8003020DD6E20DD662129E5210C00ED4BBF86094E2346E1092B2B46DD70202366DD38\r
+:2010C8007421DD6E22DD66230100903E80AC67ED42302EDD4E22DD4623210000CDA68130D9\r
+:2010E80020DD6E22DD662329E5210C00ED4BBF86094E2346E1092B2B46DD70222366DD74AE\r
+:2011080023FDE5E17DB42816FDE5D13E00217650CD5E81FD6E13FD6614E5FDE118E3C3C1B7\r
+:2011280048CD8881D0FFFDE5AFDD77FADD77FBDD77FCDD77FD5950CD6B810800010002007E\r
+:20114800030002010301040105010105C2533053C352EF5237524852FC5197516651211539\r
+:2011680000DD4E02DD46030946236668E5FDE17DB42819FDCB0A46280BDD6E0ADD660BE5CC\r
+:20118800CDD253E1FD6E13FD661418E0C3C253211500DD4E02DD46030946236668E5FDE123\r
+:2011A8007DB4284DFDCB0A462838DD6E0ADD660BE5CDD253E1DD6E0ADD660BE5010300CD55\r
+:2011C800D853E1FD7E0AE6226F26003E22AD2012FD4E1044DD6E0ADD660BED422004FD21E7\r
+:2011E8000000FDE5E17DB428B7FD6E13FD661418ACC3C253DD6E02DD6603E5FDE1210A0002\r
+:20120800DD4E02DD460309CB462821FDCB0A6E281BFD4E1047DD6E0ADD660BA7ED42200C46\r
+:20122800FD6E26FD6627FDE5D1CDC853C3C253DD5E024BDD560342211A00CDC753C3C2531E\r
+:20124800210A00DD4E02DD4603097EE6FC77212E0039E52B2B4D44DD5E02DD5603CDEE5353\r
+:20126800E1210800DD4E02DD4603095E2356D5210600095E2356D5DD6EFCDD66FDE5DD4EE1\r
+:20128800FADD46FB110000CD5549E1E1E1210000E52E11DD5E02DD5603195E235621110035\r
+:2012A800DD4E02DD46030946236668011700094E2346237E69600103011829211100DD4EAE\r
+:2012C80002DD4603095623666AE5FDE15950CDE64F210000E5010301FDE5D1FD7E19FD6E61\r
+:2012E80017FD6618C3BE53211500DD4E02DD46030946236668E5FDE17DB42829DD6E0ADD40\r
+:20130800660BFDE5C1ED422814FDCB0A5E280EDD6E0ADD660BE5010302CDD853E1FD6E13FB\r
+:20132800FD661418D0C3C253211100DD4E02DD4603097E23B6200E210800ED4BBF86093676\r
+:201348000123771875210A000923CB6E2028DD6E0ADD660BE52111005950195E2356211100\r
+:20136800000946236668011700094E2346237E69600101051840211100095623666AE5FD1E\r
+:20138800E1110A00197EF603776A62E523E54A42FDE5D13E00210D50CD5E81E1E1210000FF\r
+:2013A800E5DD5E024BDD5603422E17094E2346237E6960010501CD5E81E1FDE1C31F8109F3\r
+:2013C8004E2346237E6960C35E81DD4E04DD4605FDE5D1FD7E19FD6E17FD6618C35E8123E2\r
+:2013E800234D44DDE5D13E0021A14DC35E81C5DDE5F5F5D5DDE121020039AF7723772B2B39\r
+:201408002B772377211200ED4BBF86097E23666F46236668E5210E00194E2346E1A7ED4287\r
+:201428002803CD2F55DDCB0A46CA275521000039E5CDE753E1CD974D21000039CD7355CD56\r
+:201448005E81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E2346110000CD0F\r
+:201468005549E1E1E1DD5E20DD5621CD4355E5210200394E2346E109010400094D4421026B\r
+:2014880000395E23563E00212647CD5E81DD5E20DD5621211200ED4BBF86097E23666F01DD\r
+:2014A8000500094E2346237E6960CD844ADD6E08DD6609A7ED4201FCFF094D44DD5E06DD31\r
+:2014C80056073E0021A147CD5E81210000394E2346235E23563E00212647CD5D55CD4F55ED\r
+:2014E800010500094D44DD5E06DD56073E0021E047CD5E81210000394E23460303235E23DC\r
+:201508005613133E00212647CD5E81DD5E20DD5621CDF946DDE5D13E00215B4DCD5E81E1ED\r
+:20152800E1DDE1C1C32581DD5E0EDD560F3E0021084AC35E81FD5E20FD5621211200ED4BA2\r
+:20154800BF86097E23666F010500094E2346237E6960C35E81CD5E81DD5E20DD562121125F\r
+:2015680000ED4BBF860946236668C94E2346235E23563E00212647CD5E81DD4E08DD460955\r
+:20158800DD5E06DD56073E00216147C9CD5281CD974DCD3A49CD5E8101800058503E002123\r
+:2015A8006448CD5E81218000E56CE5E5CD5249E1E1E1DD5E02DD56033E00215B4DCD5E81DE\r
+:2015C800C31F81CD52813E0021FD4CCD5E81C31F81CD88810000FDE5DD6E0CDD660DE5DD28\r
+:2015E8006E0ADD660BE5DD5E02DD56033E0021064CCD5E81F1F1E5FDE10117000936292320\r
+:201608003651233600FD361AF6FD361B53FD361C00FD361DCBFD361E55FD361F00C3A84CE5\r
+:20162800CD5281FDE5D5FDE1DD6E0ADD660BE53E00212951CD5E81E13E03DDAE04DDB60517\r
+:20164800203EFD4E1047DD6E0ADD660BED422030FD7E0AE6032829DD6E0ADD660BE5FD5EBE\r
+:2016680011FD5612FD6E11FD66120E17CDB556E1FDCB0A66280AFD4E100600C5CDC356E1C6\r
+:20168800210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CDA656E1FDE1C31F81FD5EF8\r
+:2016A80011FD5612FD6E11FD6612011700094E2346237E6960010102C35E81FD5E11FD5614\r
+:2016C80012FD6E11FD66120E17094E2346237E6960010401C35E81CD5281FDE5D5FDE121B2\r
+:2016E8000A0019CB762853FD5E08FD5609010200CDB881DD6E0ADD660B19E5FD5E20FD56CC\r
+:2017080021211200ED4BBF86097E23666FCD4D4AC1CD5E81FD5E20FD5621CDF946CD3D5546\r
+:2017280029CD6957C5FD5E22FD5623CD414AC1CD5E81FD5E22FD5623181ACD3D55CD69575D\r
+:20174800C5FD5E20FD5621CD414AC1CD5E81FD5E20FD56213E0021A648CD5E81FDE1C31F60\r
+:2017680081FD4E08FD460909EB010200CDB881DD6E0ADD660B194D4403C9C5DDE5F5F5D5E5\r
+:20178800DDE121020039AF7723772B2B2B772377211200ED4BBF86097E23666F462366686F\r
+:2017A800E5210E00194E2346E1A7ED422803CD2F55DDCB0A46CA525821000039E5CDE75358\r
+:2017C800E121000039CD7355CD5E81DD6E08DD6609E5DD6E06DD6607E5210400394E23466C\r
+:2017E800C5234E2346DDCB0A4E2807DD5E1016001803110000CD5549E1E1E1DD7E0AE682AB\r
+:20180800281CDD7E0AE682EE822813DD4E08DD4609DD5E06DD56073E002122481811DD4E0D\r
+:2018280008DD4609DD5E06DD56073E0021A147CD5E81210000394E2346C5234E2346DDE58C\r
+:20184800D13E0021DF56CD5E81E1C32755CD5281C31F81CD88810000FDE5DD6E0CDD660DED\r
+:20186800E5DD6E0ADD660BE5DD5E02DD56033E0021064CCD5E81F1F1E5FDE1010A00097EEC\r
+:20188800F60377DD460EFD7010FD361728FD361856FD361900FD361A82FD361B57FD361C00\r
+:2018A80000FD361D55FD361E58FD361F00C3A84CCD5281FDE5D5FDE1DD6E0ADD660BE53ECE\r
+:2018C80000212951CD5E81E13E03DDAE04DDB605205CFD4E1047DD6E0ADD660BED42204E12\r
+:2018E800FD7E0AE6032847FD7E0AEE04FD770ADD6E0ADD660BE5FD5E11FD5612FD6E11FD3C\r
+:2019080066120E17094E2346237E6960010202CD5E81E1210000E5010301CDD853E1FDCBBA\r
+:201928000A66280AFD4E100600C5CDC356E1210102DD4E04DD4605A7ED42200BDD6E0ADD62\r
+:20194800660BE5CDA656E1FDE1C31F81C5DDE5F5F5D5DDE121020039AF7723772B2B2B7726\r
+:201968002377211200ED4BBF86097E23666F46236668E5210E00194E2346E1A7ED42280399\r
+:20198800CD2F55DDCB0A46CA3D5A21000039E5CDE753E121000039CD7355CD5E81DDCB0A21\r
+:2019A8004E2836DDCB0A562830DD4E08DD4609DD5E06DD56073E00212248CD5E81DD6E0871\r
+:2019C800DD6609E5DD6E06DD6607E5210400394E2346C5234E23461834DD4E08DD4609DD12\r
+:2019E8005E06DD56073E0021A147CD5E81DD6E08DD6609E5DD6E06DD6607E5210400394E9E\r
+:201A08002346C5234E2346DDCB0A4E2807DD5E1016001803110000CD5549E1E1E1210000CB\r
+:201A2800394E2346C5234E2346DDE5D13E0021DF56CD5E81E1C32755CD88810000FDE5DD87\r
+:201A48006E0CDD660DE5DD6E0ADD660BE5DD5E02DD56033E0021064CCD5E81F1F1E5FDE1D2\r
+:201A6800010A00097EF60777DD460EFD7010FD3617B8FD361858FD361900FD361A54FD36E5\r
+:201A88001B59FD361C00FD361D55FD361E58FD361F00C3A84CCD5281FDE5D5FDE1DD6E0A9A\r
+:201AA800DD660BE53E00212951CD5E81E1210102DD4E04DD4605A7ED4220403EFFDDAE0A02\r
+:201AC800DDB60B2036FDCB0B66E528050105011803010201CDD853E1FD4E100600C5FD5E3F\r
+:201AE80011FD5612FD6E11FD66120E17094E2346237E6960010103CD5E81E1210102DD4E47\r
+:201B080004DD4605A7ED4220403EFEDDAE0ADDB60B2036FDCB0B66E5280501050118030128\r
+:201B28000201CDD853E1FD4E100600C5FD5E11FD5612FD6E11FD66120E17094E2346237E53\r
+:201B48006960010203CD5E81E1FDE1C31F81CD8881FEFFFDE5DD6E0CDD660DE5DD6E0ADD6D\r
+:201B6800660BE5DD5E02DD56033E0021064CCD5E81F1F1E5FDE1010A0009CBC6DD460EFDBF\r
+:201B88007010FD36179DFD36185AFD361900FD361AF6FD361B53FD361C00FD361DCBFD3664\r
+:201BA8001E55FD361F0021FF00E52E14E52E28E521E4FFDD4E0CDD460D094D4421D0FFDD1F\r
+:201BC8005E0ADD560B19EB3E00215B58CD5E81F1F1F1DD75FEDD74FF01200009E5110300FF\r
+:201BE800CD7F4AE171237001B984CD455CCD5E8121FE00E52E14E52E28E521C8FFDD4E0C85\r
+:201C0800DD460D094D4421D0FFDD5E0ADD560B19EB3E00215B58CD5E81F1F1F1DD75FEDDBD\r
+:201C280074FF01200009E5110700CD7F4AE171237001BC84CD455CCD5E81C3A84CDD5EFE3C\r
+:201C4800DD56FF3E0021B04CCD5E81DD4EFEDD46FFFDE5D1FD7E1FFD6E1DFD661EC9CD52BA\r
+:201C680081FDE5D5FDE1DD6E0ADD660BE53E00212856CD5E81E1210302DD4E04DD4605A730\r
+:201C8800ED422040FDCB0A5E283A3E08DDAE0ADDB60BFD5E20FD56213E0021C873200DCD1F\r
+:201CA800794A2815CDD15C2B3600180DCDDC5C233600CDD15CDD460A70210000E50103019C\r
+:201CC800CDD853E1FDE1C31F81FD5E20FD56213E0021C873CD5E81FD4E20FD462109C9C547\r
+:201CE800FDE5DDE521B8FF39F9D5DDE1AF77237723772377211200ED4BBF86097E23666F78\r
+:201D080046236668E5210E00194E2346E1A7ED422803CD2F55DDCB0A46CA035E21020039EE\r
+:201D2800E52B2BCDE953E1210200394E23462B2B2BCD7755CD5E81DD6E08DD6609E5DD6ECE\r
+:201D480006DD6607E5210600394E2346C52B2B2B4E2346DDCB0A4E2807DD5E101600180387\r
+:201D6800110000CD5549E1E1E1DDCB0A7EDD4E08DD4609DD5E06DD560720073E0021224842\r
+:201D880018053E0021A147CD5D55CD4F55DD4E08DD460909EB010200CDB881696039462320\r
+:201DA8006668194D44210000395E235613133E00212647CD5E81DDCB0B462836FD2100005F\r
+:201DC800DD5E20DD56213E0021C873CD844AFDE5E1A7ED42210600300B39FDE5C109362AD7\r
+:201DE800FD2318DC39FDE5C109360021060039EB1806DD5E20DD5621CDF94621480039F9ED\r
+:201E0800C3C148CD88810000FDE5DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5DDB5\r
+:201E28005E02DD56033E00215B58CD5E81F1F1F1E5FDE1010A0009CBDE01C384FDE5D13EBA\r
+:201E48000021B04CCD5E81FD361AE7FD361B5CFD361C00FD361766FD36185CFD361900C31E\r
+:201E6800A84CCD5281C31F81C5DDE5F5F5D5DDE121020039AF7723772B2B2B77237721127E\r
+:201E880000ED4BBF86097E23666F46236668E5210E00194E2346E1A7ED422803CD2F55DD13\r
+:201EA800CB0A46282121000039E5CDE753E1210000394E2346C5234E2346DDE5D13E0021ED\r
+:201EC800DF56CD5E81E1C32755CD88810000FDE5DD6E0CDD660DE5DD6E0ADD660BE5DD5EF2\r
+:201EE80002DD56033E0021064CCD5E81F1F1E5FDE101200009DD4E0E71DD460F2370FD36D4\r
+:201F08000A01FD360B00FD36176AFD36185EFD361900FD361A70FD361B5EFD361C00FD36DC\r
+:201F28001D55FD361E58FD361F00C3A84CCD88810000DD6E0ADD660BE5DD5E02DD56033E66\r
+:201F480000212951CD5E81E1C31F81CD8881CEFFFDE5DD36D800210000E5C5CDDC46F1F1E2\r
+:201F6800DD75D4DD74D5DD36F006DD36F100DD36F205DD36F300DD36F400DD7ED8FE732025\r
+:201F880018DD6ED9DD66DADD75F0DD74F1DD6EDBDD66DCDD75F2DD74F3DD7ED8FE422807ED\r
+:201FA800DD7ED8FE4D204EDD4EDD0600C5CD0263D5CD1863D5DD6EDB260044DD4ED9094D4C\r
+:201FC80044110301CD2063EBD1A7ED522B2B2BE5CD2C63D5CD18633E00215B58C1CD5E8150\r
+:201FE800F1F1F1E5FDE1DD7ED8FE4D2004FDCB0AF6DD36F401DD7ED8FE542043DD4EDD06DB\r
+:2020080000C5CD0263D5CD1863D5DD6EDB260044DD4ED9094D44110301CD2063EBD1A7EDEC\r
+:20202800522B2B2BE5CD2C63D5CD18633E0021405AC1CD5E81F1F1F1E5FDE1DD36F401DD86\r
+:202048007ED8FE442043DD4EDD0600C5CD0263D5CD1863D5DD6EDB260044DD4ED9094D4458\r
+:20206800110301CD2063EBD1A7ED522B2B2BE5CD2C63D5CD18633E00210B5EC1CD5E81F14C\r
+:20208800F1F1E5FDE1DD36F401DD7ED8FE4C2046210C003901120009E5CD0263D5CD1863F2\r
+:2020A800D5DD6EDB260044DD4ED9094D44110301CD2063EBD1A7ED522B2B2BE5CD2C63D577\r
+:2020C800CD18633E0021D15EC1CD5E81F1F1F1E5FDE1DD36F401DD7ED8FE412051212600ED\r
+:2020E800DD4E02DD460309E5212B0039EBE1732372DD6EDEDD66DFDD75F8DD74F9DD6EE034\r
+:20210800DD66E1DD75FADD74FB211600394E2346235E2356DD71FCDD70FDDD73FEDD72FFAA\r
+:20212800DD5E02DD56033E00214063CD5E81DD7ED8FE532071210C00394D44DD5ED4DD5628\r
+:20214800D53E00218F66CD5E81212600DD4E02DD460309E5110400CDFA62EBE173237221E7\r
+:2021680026000956DD72F52366DD74F62124000936042336006ADD66F62323E5210C00EDF5\r
+:202188004BBF86095E2356E1732372210A00ED4BBF860946236668E5DD6EF5DD66F6C17166\r
+:2021A8002370DD36F400AFDDB6F4CAAE62DD7EDEDDB6DF2869FDCB0AEEFD36240BFD3625B7\r
+:2021C80000110B00CDFA62FD7526FD7427FD6E26DD75D0FD6627DD74D13640233663233698\r
+:2021E80000DD6ED0DD66D1232323DD4EDE71DD46DF2370210500DD4ED0DD46D109DD5EE0F7\r
+:2022080073DD56E1237221070009E5211800395E2356234E2346E173237223712370DD7EF6\r
+:20222800E6DDB6E7280CDD6EE6FD750ADD66E7FD740BDD6EE8FD750EDD66E9FD740FDD6E05\r
+:20224800EAFD7520DD7EEBE60FFD7721FD7E20FDB6212016111400CDFA62FD7520FD742113\r
+:20226800FD6E20FD662136001804FDCB0BF6DD7EEB2E004DE6F0472610ED423010DD6EEA74\r
+:20228800DD7EEBE60F6723FD7522FD7423FDE5DD5E024BDD560342211D00094E2346237EC8\r
+:2022A8006960C1CD5E81211400E52E0E394D44DD5ED4DD56D53E00218D7CCD5E81F13E1452\r
+:2022C800ADB4CA7E5FDD5ED4DD56D5CD1E47DD5E02DD56033E00217650CD5E81DD5E024BD9\r
+:2022E800DD560342211A00094E2346237E6960C361573E0021317AC35E81DD4EDC11830037\r
+:20230800CD2A81DD4EF2DD46F3CDB8811B1B1BC9DD5ED91600010301CD2A81DD4EF0DD4605\r
+:20232800F1C3B881DD5EDA1600018300CD2A81DD4EF2DD46F3C3B881CD8881F8FFFDE5DDC6\r
+:202348006E02DD6603E5FDE1FD6E26DD75F8FD6627DD74F92323233E01AE23B6200A6F671E\r
+:20236800E5010105CDD853E1DD6EF8DD66F923232346236668CB853E02ADB4C26F642105C5\r
+:2023880000DD4EF8DD46F90956237E6AE60F6729E5210C00ED5BBF86195E2356E1192B2B28\r
+:2023A80056DD72FC2366DD74FD210000E5E5010100FD5E11FD56123E00210D50CD5E81E196\r
+:2023C800E1FD6E11FD6612010800094E2346C5FD6E11FD6612010600094E2346C501000017\r
+:2023E80059503E0021D955CD5E81F1F1DD75FADD74FB010A000936032370DD6EF8DD66F91A\r
+:20240800232323CB46280C6960DD4EFADD46FB0923CBEE211700DD4EFADD46FB0936352303\r
+:20242800365F233600211A00093694233655233600DD4EFCDD46FDDD5EFADD56FB3E002188\r
+:20244800535FCD5E81DD4EFADD46FBC5FD5E11FD5612FD6E11FD6612011D00094E2346234B\r
+:202468007E6960C1CD5E81DD6EF8DD66F92323233E04AE23B6C20D66210100E5FD6E11FD3A\r
+:202488006612010800094623666801F6FF09E5FD6E11FD6612010600094623666801F6FF61\r
+:2024A80009E501050059503E0021565BCD5E81F1F1F1DD75FADD74FB010A000936032336AA\r
+:2024C80010210E00DD4EFADD46FB093630233600AFDD77FEDD77FF210500DD4EF8DD46F9F1\r
+:2024E800095E2356060CCD09824B42DD6EFEDD66FFCDA68130043E011801AFE60FCAA1657E\r
+:20250800210500DD4EF8DD46F90946237E68E60F67DD4EFEDD46FF0929E5210C00ED5BBF04\r
+:2025280086195E2356E1192B2B5E2356D5211000E52E06DD5EFADD56FB196E260001F0FFD7\r
+:2025480009E5DD6EFEDD66FF29294D442909011400094D441108003E0021D15ECD5E81F1F2\r
+:20256800F1F1DD75FCDD74FD010E000936302370DD4EFCDD46FDC5DD5EFA4BDD56FB4221A7\r
+:202588001D00094E2346237E6960C1CD5E81DD34FE2003DD34FFC3DF6401C484DD5EFADDDC\r
+:2025A80056FB3E0021B04CCD5E8101FF00CD8166010E0009363023700EFECD8166EBCDE698\r
+:2025C8004FDD4EFADD46FBC5FD5E11FD5612FD6E11FD6612011D00094E2346237E6960C1D1\r
+:2025E800CD5E81210000E5FD5E11FD5612FD6E11FD6612011700094E2346237E6960010319\r
+:2026080001CD5E81E1DD6EF8DD66F92323233E05AE23B6201D210500DD4EF8DD46F9095E69\r
+:202628002356D5210700094D442ABF862323CDEE46F1DD6EF8DD66F92323233E06AE23B628\r
+:202648002016210500DD4EF8DD46F9095E2356D521070009CDE446F1211800ED4BBF86094A\r
+:202668007E23B623B6280DFDE5D1211800ED4BBF86CDC753FDE1C31F81DD5EFADD56FB3EBB\r
+:202688000021E54DC35E81CD8881F8FFFDE5030ADD77FE030ADD77FF0369604EDD71FC2348\r
+:2026A80046DD70FDDD6EFE6729EBCDFA62DD75FADD74FB5950CD254BC54D44DD5E02DD5651\r
+:2026C800033E00218D7CCD5E81F1110000AFDD77F8DD77F9DD4EFCDD46FD6B62CDA6813059\r
+:2026E80035CD5A67303023DD75F8DD74F92B29DD4EFADD46FB09E5FDE5E1194D44E1712391\r
+:2027080070FDE5E1197EB728031318F56B6213FDE5C1097718BECD5A67301329DD4EFADD10\r
+:2027280046FB09E5FDE5E1194D44E1712370210A00ED4BBF8609FDE5C1712370210C00ED9E\r
+:202748004BBF8609DD4EFA71DD46FB2370FDE1C31F81DD4EFEDD46FFDD6EF8DD66F9C3A61D\r
+:20276800812ABF86C32581C5D5111B00CDFA6222BF86AF772377210800ED4BBF8609772399\r
+:2027880077211200ED4BBF8609772377211400ED4BBF8609772377210C00ED4BBF860977FA\r
+:2027A8002377210A00ED4BBF8609772377211800ED4BBF860977237723773E0021E345CDF7\r
+:2027C8005E81210000E5E50E00C521C74BE50E00C521E34BE5113000CD8E68210C0039F9D2\r
+:2027E800210000E5E50E00C521C74BE50E00C521F44BE5113100CD8E68210C0039F921005E\r
+:2028080000E5E50E00C521DA4BE50E00C521FD4BE5113200CD8E68210C0039F9211600ED3E\r
+:202828004BBF8609E5118000D55AD54B423E0021D955CD5E81F1F14D44E171237021160028\r
+:20284800ED4BBF86095623666A110A001936012372211600ED4BBF86095623666A11170073\r
+:2028680019363523365F233600211600ED4BBF860946236668011A000936942336552336D2\r
+:2028880000D1C1C325813E00218A4AC35E81C5D5211600ED4BBF86095E2356CDE64F3E00F2\r
+:2028A800212049CD5E813E00210147CD5E81D1C1C32581C5DDE5D5F5F5F5F54B4221160098\r
+:2028C800ED5BBF86195E23563E0021535FCD5E81210E00ED4BBF8609E5111000CDFA62EBE7\r
+:2028E800E1732372210E00ED4BBF86097E23666F3600211000ED4BBF8609E5110000D511F3\r
+:20290800D084D5CDDC46F1F1EBE173237221020039E5210000E52E10ED4BBF86095E2356FF\r
+:20292800D5CDD446F1F1F121060039366023360021020039E5210100E52E10094E2346C5A6\r
+:20294800CDD446F1F1F1DD210000210800ED4BBF86097E23B6C2736A210100E523394D441E\r
+:20296800210600ED5BBF86195E23563E00218D7CCD5E81F13E01ADB420676F6739B6282B67\r
+:202988004F0600C5211600ED5BBF86195E2356211600ED4BBF860946236668011700094EFE\r
+:2029A8002346237E69600101001829234E47C5211600ED5BBF86195E2356211600ED4BBF9A\r
+:2029C800860946236668011700094E2346237E6960010200CD5E81E121010039E52B46E1C5\r
+:2029E80070210100E523394D44211000ED5BBF86195E23563E00218D7CCD5E81F13E01ADCC\r
+:202A0800B420656F67393E10BE210E00ED4BBF8630150946236668DDE5C109E5210200395C\r
+:202A280046E170DD231841095623666ADDE5D1193600210E00ED4BBF8609E5211600ED5B51\r
+:202A4800BF86195E2356211600ED4BBF860946236668011700094E2346237E6960010104FD\r
+:162A6800CD5E81E1DD210000C35269210A0039F9DDE1C1C325810A\r
+:2003AD002F6465762F6C636430002F6465762F6C6364310048595445434820313030300089\r
+:2003CD004F4B0043616E63656C00004D65737361676520426F78002F6465762F62617263ED\r
+:0403ED006F646500D4\r
+:200387001B4B1B5300001B4300001B4E00001B5200001B4600001B6800001B5A00000000F5\r
+:0603A700001B45001B00D5\r
+:202A7E00FDE5DDE5C521C0FF39F9D5DDE1210C00197E23666FAFB62008DD360CDDDD360DC5\r
+:202A9E008421000039362D012F00DD5E0CDD560D3E0021F86CCD5E81E5FDE17DB42804FD94\r
+:202ABE00231809DD6E0CDD660DE5FDE1FDE5C12100003911010019EB3E00214D76CD5E8169\r
+:202ADE0021000039E5214200397E23666FC171237021400039472366682323AF772377DD0D\r
+:202AFE005E06DD56073E0021C46CCD5E81DD5E04DD56053E0021A76FCD5E81DD5E0ADD56CF\r
+:202B1E000B3E0021736FCD5E81210100E5DD4E0ADD460B11E5843E00219770CD5E81F12197\r
+:202B3E000100E5DD4E00DD460111EA843E00219770CD5E81F1214000394E2346DD5E0CDD4B\r
+:202B5E00560D3E0021DD74CD5E81DD5E0CDD560D3E0021A074CD5E811101003E00215D7CA8\r
+:202B7E00CD5E8121420039F9DDE1FDE1C32581CD8881E0FFFDE5DD6E02DD6603E5FDE121E3\r
+:202B9E002600DD4E02DD4603094623666823232346236668010101A7ED42C28A6CFD6E20A2\r
+:202BBE00FD662146DD70ECFD6E20FD66212346DD70EDDD36EE00FD6E20FD66213600210ECD\r
+:202BDE000039EB3E0021C176CD5E81EB3E00217476CD5E81DD75E0DD74E1FD4E20FD46215E\r
+:202BFE000303DD71EADD70EB7DB4287123237E23666F46DD70E2DD6EE0DD66E12323462348\r
+:202C1E0066682346DD70E3DD36E400210400394D44DD5EEADD56EB3E00215977CD5E81DD4E\r
+:202C3E0075E8DD74E9DD4EE0DD46E1030369604E2346DD5EE8DD56E93E0021FF73CD5E818E\r
+:202C5E007DB420193E00212049CD5E81010000DD5EE0DD56E13E00217E6ACD5E81FDE5D1A2\r
+:202C7E00FD7E1CFD6E1AFD661BCD5E81FDE1C31F81CD52813E00216F67CD5E813E00216966\r
+:202C9E0067CD5E8101180009368D23366B23360011EF843E0021BB68CD5E813E00219668F2\r
+:062CBE00CD5E81C31F8101\r
+:2003F1002F62696E2F736800484F4D450055534552002F776E642F6C6F676E2E7363720045\r
+:202CC400CD5281D5210600E5210700E53E0021DE6CCD5E81F1F1F1C31F8121040039C5D5DF\r
+:142CE4005E2356234D44F7300622BA8621FFFFD1C1C32581A8\r
 :0B003300DDF9DDE1D1C1F1ED3939C983\r
-:202B4100CD8881FEFFDD5E02DD56033E00214072CD5E81DD5E02DD560319DD75FEDD74FF45\r
-:202B610079B02008DD6EFEDD66FF1839DD6E02DD6603DD4EFEDD46FFA7ED422825DD6EFEDD\r
-:202B8100DD66FF2BDD75FEDD74FF4E0600DD6E04DD6605A7ED422008DD6EFEDD66FF180596\r
-:202BA10018CA210000C31F81CD8881F8FFAFDD77FEDD77FFDD7E02DDB6032078115F853ECF\r
-:202BC1000021A96BCD5E817DB4201E1177853E0021A96BCD5E817DB4200F118F853E002194\r
-:202BE100A96BCD5E817DB4280621FFFFC3B96D2A5D85DD7502DD7403DD7E02DDB603282EB0\r
-:202C0100DD5E02DD56033E0021A96BCD5E817DB4280621FFFFC3B96D211600DD4E02DD4633\r
-:202C210003095623666ADD7502DD740318CA210000C3B96D210C00DD4E02DD4603097EE6BD\r
-:202C410080CA0F6D210600DD4E02DD4603095E23560A6F030A67A7ED52DD75FADD74FB7D6B\r
-:202C6100B4CA0D6D210600DD4E02DD46030946236668DD75F8DD74F9DD6EFADD66FBE5DDC8\r
-:202C81004EF8DD46F9210A00DD5E02DD5603195E23563E0021D16DCD5E81F1DD75FCDD746A\r
-:202CA100FD4D44210000CDA681301E210000397EDD86FC77237EDD8EFD77210200397EDD3D\r
-:202CC10096FC77237EDD9EFD77DD4EFCDD46FD210000CDA68138A1DD7EFCDDA6FD3C2009E9\r
-:202CE1002ABB863E04ADB4288FDD7EFADDB6FB281B210C00DD4E02DD4603097EF600772351\r
-:202D01007EF60277DD36FEFFDD36FFFF186A210C00DD4E02DD4603097EE640285BDD6E0225\r
-:202D2100DD66034E2346DD6E02DD660323235623666AA7ED42DD75FADD74FB4D4421000053\r
-:202D4100CDA6813033210100E5DD4EFADD46FBA7210000ED427C079F4F41C5E5210A00DD76\r
-:202D61004E02DD4603095E23563E0021396ECD5E81F1F1F1CB782800210C00DD4E02DD468F\r
-:202D810003097EE63F77237EE6FA7769602323E5210400DD4E02DD460309E5210600095634\r
-:202DA10023666AE56960C1712370E1712370E1712370DD6EFEDD66FFC31F81CD5281D5215E\r
-:202DC1000300E53E0021276BCD5E81F1F1C31F81CD5281DD6E0ADD660BE5C5D5212400E53C\r
-:0F2DE1003E0021276BCD5E81F1F1F1F1C31F811F\r
+:202CF800CD8881FEFFDD5E02DD56033E0021C873CD5E81DD5E02DD560319DD75FEDD74FF04\r
+:202D180079B02008DD6EFEDD66FF1839DD6E02DD6603DD4EFEDD46FFA7ED422825DD6EFE24\r
+:202D3800DD66FF2BDD75FEDD74FF4E0600DD6E04DD6605A7ED422008DD6EFEDD66FF1805DD\r
+:202D580018CA210000C31F81CD8881F8FFAFDD77FEDD77FFDD7E02DDB6032078115E853E17\r
+:202D78000021606DCD5E817DB4201E1176853E0021606DCD5E817DB4200F118E853E00216B\r
+:202D9800606DCD5E817DB4280621FFFFC3706F2A5C85DD7502DD7403DD7E02DDB603282E86\r
+:202DB800DD5E02DD56033E0021606DCD5E817DB4280621FFFFC3706F211600DD4E02DD4609\r
+:202DD80003095623666ADD7502DD740318CA210000C3706F210C00DD4E02DD4603097EE64C\r
+:202DF80080CAC66E210600DD4E02DD4603095E23560A6F030A67A7ED52DD75FADD74FB7DFB\r
+:202E1800B4CAC46E210600DD4E02DD46030946236668DD75F8DD74F9DD6EFADD66FBE5DD57\r
+:202E38004EF8DD46F9210A00DD5E02DD5603195E23563E0021886FCD5E81F1DD75FCDD74F8\r
+:202E5800FD4D44210000CDA681301E210000397EDD86FC77237EDD8EFD77210200397EDD84\r
+:202E780096FC77237EDD9EFD77DD4EFCDD46FD210000CDA68138A1DD7EFCDDA6FD3C200930\r
+:202E98002ABA863E04ADB4288FDD7EFADDB6FB281B210C00DD4E02DD4603097EF600772399\r
+:202EB8007EF60277DD36FEFFDD36FFFF186A210C00DD4E02DD4603097EE640285BDD6E026D\r
+:202ED800DD66034E2346DD6E02DD660323235623666AA7ED42DD75FADD74FB4D442100009B\r
+:202EF800CDA6813033210100E5DD4EFADD46FBA7210000ED427C079F4F41C5E5210A00DDBE\r
+:202F18004E02DD4603095E23563E0021C16FCD5E81F1F1F1CB782800210C00DD4E02DD464D\r
+:202F380003097EE63F77237EE6FA7769602323E5210400DD4E02DD460309E521060009567B\r
+:202F580023666AE56960C1712370E1712370E1712370DD6EFEDD66FFC31F81CD5281D521A5\r
+:202F78000300E53E0021DE6CCD5E81F1F1C31F81CD5281DD6E0ADD660BE5C5D5212400E5CB\r
+:0F2F98003E0021DE6CCD5E81F1F1F1F1C31F81AE\r
 :16003E00F5C5E5784251676BED4CED6CED5C79858257E1C1F1C922\r
-:202DF000CD5281D5210300E5210700E53E0021276BCD5E81F1F1F1C31F81CD8881FCFF2173\r
-:202E10000E003901020009DD75FCDD74FDE5DD4E0ADD460B1177853E00215177CD5E81F19A\r
-:202E3000DD75FEDD74FFC31F81CD5281DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660B20\r
-:202E5000E5D5211900E53E01215649CD5E81F1F1F1F1F1C32282CD8881FEFF2A5D85DD7591\r
-:202E7000FEDD74FF1177853E0021A96BCD5E81118F853E0021A96BCD5E81DD7EFEDDB6FF99\r
-:202E9000283CDD5EFEDD56FF3E0021A96BCD5E81210A00DD4EFEDD46FF095E23563E00217F\r
-:202EB0002B72CD5E81210A000936FF2336FF211600095623666ADD75FEDD74FF18BCC31F19\r
-:202ED00081C5D52AA7857DB42002182E21000022A7851101003E00219373CD5E817DB428ED\r
-:1F2EF0000C2183857EF60177237EF600770E0011666E3E01212349CD5E81D1C1C325812E\r
-:200471000000C286C286C286C286C2870000100000000000000000000000C287C287C28717\r
-:20049100C287C28801002000000000000000000000009D859D859D859D859F8502002200C7\r
-:0C04B1000000000000000000000001003E\r
-:202F0F00CD8881F2FFAFDD77F4DD77F5DD5E02DD56033E00214072CD5E81DD75F6DD74F7DB\r
-:202F2F0059503E00214072CD5E81DD75F8DD74F92AB986DD75F2DD74F3DD6EF2DD66F34DD7\r
-:202F4F00440303DD71F2DD70F346236668DD75FADD74FB7DB4283EDD6EF6DD66F7E5DD4EA7\r
-:202F6F0002DD4603DD5EFADD56FB3E01215345CD5E81F17DB42014DD6EF6DD66F7DD4EFA1D\r
-:202F8F00DD46FB097EFE3D2002180ADD34F42003DD34F518A4DD7EFADDB6FBC2C070DD6EF4\r
-:202FAF00F4DD66F5232329EB3E0121D842CD5E81DD75FCDD74FD7DB4200C210C0022BB86CD\r
-:202FCF0021FFFFC38871DD6EF4DD66F529E5ED4BB986DD5EFCDD56FD3E0121DC47CD5E8175\r
-:202FEF00F1DD6EF8DD66F9DD4EF6DD46F709EB13133E0121D842CD5E81DD75FADD74FB7DC2\r
-:20300F00B42010DD5EFCDD56FD3E0021E573CD5E8118A7DD6EF6DD66F7E5DD4E02DD460381\r
-:20302F00DD5EFADD56FB3E0121DC47CD5E81F1DD6EF6DD66F7DD4EFADD46FB09363DDD6E79\r
-:20304F00F8DD66F923E5DD4E04DD4605DD6EF6DD66F7DD5EFADD56FB19EB133E0121DC4756\r
-:20306F00CD5E81F1DD6EF4DD66F529DD4EFCDD46FD09DD5EFADD56FB732372DD6EF4DD66C7\r
-:20308F00F529092323AF7723772AA9857DB4280CED5BA9853E0021E573CD5E81DD6EFCDD3A\r
-:2030AF0066FD22A985DD6EFCDD66FD22B986C38571DD7E0ADDB60BCA8571DD5EFADD56FB87\r
-:2030CF003E00214072CD5E81DD75FCDD74FDDD6EF8DD66F9DD4EF6DD46F7094D4403DD6EE6\r
-:2030EF00FCDD66FDA7ED423067DD6EF8DD66F9DD4EF6DD46F709EB13133E0121D842CD5E9F\r
-:20310F0081DD75FEDD74FF7DB42003C3C96FDD6EF6DD66F7E5DD4E02DD4603DD5EFEDD5611\r
-:20312F00FF3E0121DC47CD5E81F1DD6EF6DD66F7DD4EFEDD46FF09363DDD6EF2DD66F32B81\r
-:20314F002BDD75F2DD74F3DD71FADD70FB712370DD6EF8DD66F923E5DD4E04DD4605DD6EF0\r
-:20316F00F6DD66F7DD5EFADD56FB19EB133E0121DC47CD5E81F1210000C31F81CD8881F824\r
-:20318F00FFDD5E02DD56033E00214072CD5E81DD75FEDD74FF2AB986DD75F8DD74F9DD7502\r
-:2031AF00FADD74FBDD6EF8DD66F94D440303DD71F8DD70F946236668DD75FCDD74FD7DB414\r
-:2031CF00284DDD6EFEDD66FFE5DD4E02DD4603DD5EFCDD56FD3E01215345CD5E81F17DB47B\r
-:2031EF002012DD6EFEDD66FFDD4EFCDD46FD097EFE3D2819DD6EFADD66FB4D440303DD7151\r
-:1C320F00FADD70FBDD4EFCDD46FD7123701895DD6EFADD66FBAF772377C31F81C3\r
-:0204BD0000003D\r
-:20322B00CD5281D5210600E53E0021276BCD5E81F1F1C31F81CD8881FEFFDD6E02DD6603BA\r
-:20324B00DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE2003DD34FF18ECDD4E02DD460308\r
-:20326B00DD6EFEDD66FFA7ED42C31F81CD8881FAFFDD6E02DD6603DD75FADD74FBDD71FC3B\r
-:20328B00DD70FDDD6EFCDD66FD23DD75FCDD74FD2B46DD70FFDD6EFADD66FB23DD75FADD07\r
-:2032AB0074FB2B4EDD71FE79B82008AFDDB6FE280218D0DD4EFF0600DD6EFE2600A7ED42AF\r
-:0332CB00C31F819D\r
+:202FA700CD5281D5210300E5210700E53E0021DE6CCD5E81F1F1F1C31F81CD5281DD6E0EFB\r
+:202FC700DD660FE5DD6E0CDD660DE5DD6E0ADD660BE5D5211900E53E01213741CD5E81F136\r
+:202FE700F1F1F1F1C3FD81CD8881FEFF2A5C85DD75FEDD74FF1176853E0021606DCD5E8163\r
+:20300700118E853E0021606DCD5E81DD7EFEDDB6FF283CDD5EFEDD56FF3E0021606DCD5E9C\r
+:2030270081210A00DD4EFEDD46FF095E23563E0021B373CD5E81210A000936FF2336FF219F\r
+:203047001600095623666ADD75FEDD74FF18BCC31F81C5D52AA6857DB42002182E21000081\r
+:2030670022A6851101003E00211B75CD5E817DB4280C2182857EF60177237EF600770E00BA\r
+:1030870011EE6F3E0121F540CD5E81D1C1C325818F\r
+:200470000000C186C186C186C186C1870000100000000000000000000000C187C187C18720\r
+:20049000C187C18801002000000000000000000000009C859C859C859C859E8502002200CF\r
+:0C04B0000000000000000000000001003F\r
+:20309700CD8881F2FFAFDD77F4DD77F5DD5E02DD56033E0021C873CD5E81DD75F6DD74F7C9\r
+:2030B70059503E0021C873CD5E81DD75F8DD74F92AB886DD75F2DD74F3DD6EF2DD66F34DC6\r
+:2030D700440303DD71F2DD70F346236668DD75FADD74FB7DB4283EDD6EF6DD66F7E5DD4E1E\r
+:2030F70002DD4603DD5EFADD56FB3E0021AC7CCD5E81F17DB42014DD6EF6DD66F7DD4EFA05\r
+:20311700DD46FB097EFE3D2002180ADD34F42003DD34F518A4DD7EFADDB6FBC24872DD6EE0\r
+:20313700F4DD66F5232329EB3E0021317ACD5E81DD75FCDD74FD7DB4200C210C0022BA86B4\r
+:2031570021FFFFC31073DD6EF4DD66F529E5ED4BB886DD5EFCDD56FD3E0021357FCD5E81D2\r
+:20317700F1DD6EF8DD66F9DD4EF6DD46F709EB13133E0021317ACD5E81DD75FADD74FB7DA8\r
+:20319700B42010DD5EFCDD56FD3E00216D75CD5E8118A7DD6EF6DD66F7E5DD4E02DD46036E\r
+:2031B700DD5EFADD56FB3E0021357FCD5E81F1DD6EF6DD66F7DD4EFADD46FB09363DDD6E60\r
+:2031D700F8DD66F923E5DD4E04DD4605DD6EF6DD66F7DD5EFADD56FB19EB133E0021357F3D\r
+:2031F700CD5E81F1DD6EF4DD66F529DD4EFCDD46FD09DD5EFADD56FB732372DD6EF4DD663E\r
+:20321700F529092323AF7723772AA8857DB4280CED5BA8853E00216D75CD5E81DD6EFCDD28\r
+:2032370066FD22A885DD6EFCDD66FD22B886C30D73DD7E0ADDB60BCA0D73DD5EFADD56FBEB\r
+:203257003E0021C873CD5E81DD75FCDD74FDDD6EF8DD66F9DD4EF6DD46F7094D4403DD6ED3\r
+:20327700FCDD66FDA7ED423067DD6EF8DD66F9DD4EF6DD46F709EB13133E0021317ACD5E85\r
+:2032970081DD75FEDD74FF7DB42003C35171DD6EF6DD66F7E5DD4E02DD4603DD5EFEDD56FE\r
+:2032B700FF3E0021357FCD5E81F1DD6EF6DD66F7DD4EFEDD46FF09363DDD6EF2DD66F32B68\r
+:2032D7002BDD75F2DD74F3DD71FADD70FB712370DD6EF8DD66F923E5DD4E04DD4605DD6E67\r
+:2032F700F6DD66F7DD5EFADD56FB19EB133E0021357FCD5E81F1210000C31F81CD8881F80B\r
+:20331700FFDD5E02DD56033E0021C873CD5E81DD75FEDD74FF2AB886DD75F8DD74F9DD75F0\r
+:20333700FADD74FBDD6EF8DD66F94D440303DD71F8DD70F946236668DD75FCDD74FD7DB48A\r
+:20335700284DDD6EFEDD66FFE5DD4E02DD4603DD5EFCDD56FD3E0021AC7CCD5E81F17DB462\r
+:203377002012DD6EFEDD66FFDD4EFCDD46FD097EFE3D2819DD6EFADD66FB4D440303DD71C7\r
+:1C339700FADD70FBDD4EFCDD46FD7123701895DD6EFADD66FBAF772377C31F813A\r
+:0204BC0000003E\r
+:2033B300CD5281D5210600E53E0021DE6CCD5E81F1F1C31F81CD8881FEFFDD6E02DD660379\r
+:2033D300DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE2003DD34FF18ECDD4E02DD46037F\r
+:2033F300DD6EFEDD66FFA7ED42C31F81CD8881FAFFDD6E02DD6603DD75FADD74FBDD71FCB2\r
+:20341300DD70FDDD6EFCDD66FD23DD75FCDD74FD2B46DD70FFDD6EFADD66FB23DD75FADD7D\r
+:2034330074FB2B4EDD71FE79B82008AFDDB6FE280218D0DD4EFF0600DD6EFE2600A7ED4225\r
+:03345300C31F8113\r
 :12005400E3F5C54E2346237BEDB12002232309C39C81B9\r
-:2032CE00CD8881FEFFDD6E02DD6603DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE200386\r
-:2032EE00DD34FF18ECDD4E02DD4603DD6EFEDD66FFA7ED42E5DD4E02DD46031102003E006F\r
-:20330E0021D16DCD5E81F1C3B082CD52817BB22008DD3602FEDD360384DD5E02DD5603CDCC\r
-:20332E00CE72110485CDCE72ED5BBB863E0121DF45CD5E81DD7502DD7403EBCDCE72110727\r
-:07334E0085CDCE72C31F8183\r
-:0B0412006572726F72003A20000A0051\r
-:20335500CD52812AB986E53E0121C045CD5E81F1C31F81CD5281DD6E0EDD660FE5DD6E0C7E\r
-:20337500DD660DE5DD6E0ADD660BE5210F00E53E0021276BCD5E81F1F1F1F1C31F81CD884D\r
-:2033950081E2FF210000394D44DD5E02DD56033E0021CE73CD5E817DA43C2812DD7EE6E64E\r
-:2033B500006FDD7EE7E6F0673E20ACB528052100001803210100C31F81CD5281C5D5210DF5\r
-:2033D50000E53E0021276BCD5E81F1F1F1C31F81CD8881FCFF21FCFFDD4E02DD460309DDFA\r
-:2033F50075FEDD74FF23237E23B6280621FFFFC3C2742AD688DD75FCDD74FDDD4EFCDD46A4\r
-:20341500FDDD6EFEDD66FFA7ED423817DD6EFCDD66FD232346236668DD4EFEDD46FFA7ED07\r
-:20343500423053DD6EFCDD66FD23234E2346DD6EFCDD66FDA7ED423829DD4EFEDD46FFDD48\r
-:203455006EFCDD66FDA7ED423816DD6EFCDD66FD23234E2346DD6EFEDD66FFA7ED42300272\r
-:203475001814DD6EFCDD66FD232346236668DD75FCDD74FD1885DD6EFEDD66FF2323E5DD3B\r
-:203495004EFCDD46FD030369604E2346E1712370DD6EFCDD66FD2323DD4EFEDD46FF712396\r
-:1034B50070DD6EFCDD66FD22D688210000C31F810C\r
+:20345600CD8881FEFFDD6E02DD6603DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE2003FC\r
+:20347600DD34FF18ECDD4E02DD4603DD6EFEDD66FFA7ED42E5DD4E02DD46031102003E00E5\r
+:2034960021886FCD5E81F1C38182CD52817BB22008DD3602FDDD360384DD5E02DD5603CDBA\r
+:2034B6005674110385CD5674ED5BBA863E0021387DCD5E81DD7502DD7403EBCD5674110673\r
+:0734D60085CD5674C31F8170\r
+:0B0411006572726F72003A20000A0052\r
+:2034DD00CD52812AB886E53E0021197DCD5E81F1C31F81CD5281DD6E0EDD660FE5DD6E0C66\r
+:2034FD00DD660DE5DD6E0ADD660BE5210F00E53E0021DE6CCD5E81F1F1F1F1C31F81CD880C\r
+:20351D0081E2FF210000394D44DD5E02DD56033E00215675CD5E817DA43C2812DD7EE6E63A\r
+:20353D00006FDD7EE7E6F0673E20ACB528052100001803210100C31F81CD5281C5D5210D6B\r
+:20355D0000E53E0021DE6CCD5E81F1F1F1C31F81CD8881FCFF21FCFFDD4E02DD460309DDB8\r
+:20357D0075FEDD74FF23237E23B6280621FFFFC34A762AD588DD75FCDD74FDDD4EFCDD4691\r
+:20359D00FDDD6EFEDD66FFA7ED423817DD6EFCDD66FD232346236668DD4EFEDD46FFA7ED7E\r
+:2035BD00423053DD6EFCDD66FD23234E2346DD6EFCDD66FDA7ED423829DD4EFEDD46FFDDBF\r
+:2035DD006EFCDD66FDA7ED423816DD6EFCDD66FD23234E2346DD6EFEDD66FFA7ED423002E9\r
+:2035FD001814DD6EFCDD66FD232346236668DD75FCDD74FD1885DD6EFEDD66FF2323E5DDB2\r
+:20361D004EFCDD46FD030369604E2346E1712370DD6EFCDD66FD2323DD4EFEDD46FF71230C\r
+:10363D0070DD6EFCDD66FD22D588210000C31F8183\r
 :19006600E1C5D5DDE5DD210000DD39E9E526806F7EED2039ED3939E3E95E\r
-:2034C500CD528159503E00214072CD5E8123E5DD4E04DD4605DD5E02DD56033E0121DC478C\r
-:2034E500CD5E81F1C31F81CD8881FEFF3E00214F75CD5E813E0021B375CD5E81DD75FEDDC5\r
-:2035050074FF7DB4281D210400DD4EFEDD46FF0946236668DD4E02DD4603A7ED42200218AA\r
-:143525000218D13E00219475CD5E81DD6EFEDD66FFC31F81A5\r
+:20364D00CD528159503E0021C873CD5E8123E5DD4E04DD4605DD5E02DD56033E0021357FE9\r
+:20366D00CD5E81F1C31F81CD8881FEFF3E0021D776CD5E813E00213B77CD5E81DD75FEDD28\r
+:20368D0074FF7DB4281D210400DD4EFEDD46FF0946236668DD4E02DD4603A7ED4220021821\r
+:1436AD000218D13E00211C77CD5E81DD6EFEDD66FFC31F8192\r
 :20007F00E3F5C54E23462378B1280D0B7B962320F57A9620F12323230909C39C81E1C5D541\r
 :1B009F00DDE5DD210000DD395E235623EB39F9EBE909097E23666FC1F1E3C99F\r
-:20353900CD5281210A00E50100003E0121274BCD5E81F1C31F81D52AAB857DA43C280CED42\r
-:203559005BAB853E00212B72CD5E81210080E52AAD85E53E0121AD42CD5E81F1F122AB8529\r
-:203579007DA43C20122ABB86E5211585E53E00210A6ECD5E81F1F1D1C32581D52AAB857D68\r
-:20359900A43C280CED5BAB853E00212B72CD5E8121FFFF22AB85D1C32581D52AAB857DA4E3\r
-:1835B9003C280EED5BAB853E0121CF4BCD5E811803210000D1C3258174\r
-:20041D002F6574632F706173737764004552524E4F202564206F70656E696E6720706173F0\r
-:07043D0073776F72640A007F\r
-:0404BF00FFFF0985AD\r
-:2035D100CD8881FAFFAFDD77FBDD77FC59503E00214072CD5E81DD75FDDD74FEDD6E04DD8D\r
-:2035F10066057EFE2D2014DD6E04DD660523DD7504DD74052B46DD700A180EAFDDB60A28AA\r
-:2036110008DD34FD2003DD34FEDD7E10DDA6113C281DDD4EFDDD46FEDD6E10DD6611CDA666\r
-:2036310081300CDD6E10DD6611DD75FDDD74FEDD4EFDDD46FEDD6E0EDD660FCDA681300C4B\r
-:20365100DD6EFDDD66FEDD750EDD740FDD6E0EDD660FDD75FBDD74FC211400397EDD96FD6F\r
-:2036710077237EDD9EFE77DD7E0EDDB60F2009DD7EFDDDB6FECA4877DD7E08DDB609203438\r
-:20369100DD7E0EDDB60F282CDD7EFDDDB6FE280FAFDDB60A2809DD7E0CFE3020021823DD4E\r
-:2036B100460CDD70FADD6E0EDD660F2BDD750EDD740F184EDD7EFDDDB6FE2833AFDDB60AD4\r
-:2036D100280CDD460ADD70FADD360A001812DD6E04DD660523DD7504DD74052B46DD70FACC\r
-:2036F100DD6EFDDD66FE2BDD75FDDD74FE1813DD460CDD70FADD6E0EDD660F2BDD750EDDB3\r
-:20371100740FDD4E02DD4603DD5EFA16003E0121C049CD5E81DD7EFAFE0A20183E01DDAE03\r
-:2037310012DDB613200EDD5E02DD56033E0021A96BCD5E81C37876DD6EFBDD66FCC3B082D5\r
-:20375100CD8881A2FFAFDD77B0DD77B1210C00DD5E02DD5603197EE6034F237EE60047DD0F\r
-:2037710071FDDD70FE210C00197EE6FC77237EE6FF77DD6E04DD6605AFB6CA567CDD6E047E\r
-:20379100DD66057EFE25C2097C3E02DDAEFDDDB6FE200EDD5E02DD56033E0021A96BCD5E50\r
-:2037B10081AFDD77A4DD77A5DD36B300DD36B220DD36ACFFDD36ADFFAFDD77AADD77ABDD26\r
-:2037D10036A8FFDD36A9FFDD36AE0ADD36AF00211B0039DD75B5DD74B6DD36B400AFDD7766\r
-:2037F100A6DD77A7AFDD77A2DD77A3DD34042003DD3405DD6E04DD66057EFE30380BDD6E5C\r
-:2038110004DD66053E39BE3002186521000039010A00CD6682DD6E04DD66054E060021D071\r
-:20383100FF094D44210000397E8177237E8877DD7EAADDB6AB280EDD6EA2DD66A3DD75A828\r
-:20385100DD74A91821DD7EA2DDB6A3200DDD7EB2FE202006DD36B230188ADD6EA2DD66A309\r
-:20387100DD75ACDD74ADDD34042003DD34051883DD6E04DD66055ECD408114000020212357\r
-:203891002A2B2D2E5862636468696C6F70737578057C0D7A157A987BE879DE796479797939\r
-:2038B1006F797979557BD479037A5979DB78E678FA78F378377BE678CB78DD6E04DD660539\r
-:2038D1002BDD7504DD7405C3097CDD36A401DD36A500C3F577DD6E04DD660546DD70B3C379\r
-:2038F100F577DD36B401C3F577216800397EC60277237ECE00772B6E672B2B46236668DD85\r
-:2039110075A2DD74A3DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A9182ADD6EA2DD66D9\r
-:20393100A3DD75ACDD74ADCB7C281ADD36A401DD36A500DD4EA2DD46A3A7210000ED42DD77\r
-:2039510075ACDD74ADC3F577DD36AA01DD36AB00C3F577DD36A601DD36A700C3F577AFDD2E\r
-:2039710077A6DD77A7C3F577210A00E5211D0039E5DD7EA6DDB6A7281D216C00397EC604F5\r
-:2039910077237ECE00772B6E6701FCFF095E2356234E2346181A216C00397EC60277237EAD\r
-:2039B100CE00772B6E672B2B5E23567A079F4F413E0021AC7CCD5E81F1F1DD75B5DD74B6B1\r
-:2039D100C3BC7BDD36AE02DD36AF001837DD36AE08DD36AF00182DAFDD77A6DD77A7DD3681\r
-:2039F100B230DD36AC05DD36AD00DD36A808DD36A900DD36AE10DD36AF001808DD36AEF06D\r
-:203A1100DD36AFFFDD7EA6DDB6A7281E216800397EC60477237ECE00772B6E6701FCFF09E7\r
-:203A31005E2356234E2346EB1819216800397EC60277237ECE00772B6E672B2B46236668B6\r
-:203A5100010000DD75B9DD74BADD71BBDD70BCDD5EAEDD56AFD5211D003901040009E5DD45\r
-:203A71004EBBDD46BCDD5EB9DD56BA3E0121D24ACD5E81F1F1DD75B5DD74B6DD36B730DD7D\r
-:203A910036B885AFDDB6B4CA347B3E02DDAEAEDDB6AF200ADD36B731DD36B88518493E085C\r
-:203AB100DDAEAEDDB6AF2018DD7EB9DDB6BADDB6BBDDB6BC2808DD36B734DD36B885182787\r
-:203AD1003E10DDAEAEDDB6AF200ADD36B736DD36B88518133E0FDDAEAEDDA6AF3C2008DD6E\r
-:203AF10036B739DD36B885DD6EB7DD66B8AFB62832DD36B200DD4EB7DD46B8211B00395D2F\r
-:203B1100543E0021C574CD5E81DD4EB5DD46B6211B00395D543E01213649CD5E81DD75B58B\r
-:203B3100DD74B6C3BC7BDD6E04DD6605234E0600DD71A2DD70A379B02808DD34042003DD17\r
-:203B51003405181C216800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A30D\r
-:203B7100DD46A2DD6EB5DD66B670DD6EB5DD66B6233600AFDDB6B4280CDD6EB5DD66B6464B\r
-:203B9100DD70B21822181C216800397EC60277237ECE00772B6E672B2B46236668DD75B5AE\r
-:203BB100DD74B6DD36B220DD36B300DD6EFDDD66FEE5DD6EA8DD66A9E5DD6EACDD66ADE544\r
-:203BD100DD6EB2E5DD6EB3E5DD6EA4DD66A5E5DD4EB5DD46B6DD5E02DD5603CDD175EB2108\r
-:203BF1000C0039F9EB4D44210E00397E8177237E8877180218021842DD4E02DD4603DD6E50\r
-:203C110004DD66055E16003E0121C049CD5E81DD34B02003DD34B1DD6E04DD66057EFE0AFB\r
-:203C310020183E01DDAEFDDDB6FE200EDD5E02DD56033E0021A96BCD5E81DD34042003DD0E\r
-:203C51003405C38377210C00DD4E02DD4603097EDDB6FD77237EDDB6FE773E02DDAEFDDD01\r
-:203C7100B6FE200EDD5E02DD56033E0021A96BCD5E813E01DDAEFDDDB6FE2016210400DD2F\r
-:1B3C91004E02DD460309E5210600094E2346E1712370DD6EB0DD66B1C31F8196\r
-:0C044400003062003000307800305800BA\r
-:203CAC00CD8881FEFFDD36FE41DDCB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DDB5\r
-:203CCC00750CDD740DDD6EFEE53E0ADDAE0CDDB60D20043E011801AF4FC5DD6E0CDD660D66\r
-:203CEC00E5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E00210F7DCD5E81F1F1F1F126\r
-:033D0C00C31F8151\r
+:2036C100CD5281210A00E50100003E0121A141CD5E81F1C31F81D52AAA857DA43C280CED4A\r
+:2036E1005BAA853E0021B373CD5E81210080E52AAC85E53E0021067ACD5E81F1F122AA858A\r
+:203701007DA43C20122ABA86E5211485E53E01210841CD5E81F1F1D1C32581D52AAA857D0F\r
+:20372100A43C280CED5BAA853E0021B373CD5E8121FFFF22AA85D1C32581D52AAA857DA4D3\r
+:183741003C280EED5BAA853E01214942CD5E811803210000D1C325817A\r
+:20041C002F6574632F706173737764004552524E4F202564206F70656E696E6720706173F1\r
+:07043C0073776F72640A0080\r
+:0404BE00FFFF0885AF\r
 :1200BA00C5E5F57CEE806778EE8047F1A7ED42E1C1C9E5\r
-:203D0F00CD8881D6FFDD6E0ADD660BDD75F8DD74F921000039DD75FADD74FB212C0039DD5D\r
-:203D2F0075FCDD74FD213A00397ED60A77DD4E0CDD460D212400CDA6813811010280DD6E95\r
-:203D4F000CDD660D3E80AC67ED423003C3927EDD6EFCDD66FD23237EE60047237EE680B0C3\r
-:203D6F002831AFDDB60E282BDD6EF8DD66F923DD75F8DD74F92B362DDD4E04DD4605DD6ED2\r
-:203D8F0002DD6603CD4983DD7502DD7403DD7104DD7005DD6EFCDD66FD23237E23B62002A1\r
-:203DAF00184EDD6E0CDD660D7C079F4F41C5E5DD4E04DD4605DD6E02DD6603CDE082E5DDB0\r
-:203DCF006EFADD66FB23DD75FADD74FB2BC171212C0039DD5E0CDD560D7A079F4F41CDD0BC\r
-:203DEF0082DD6EFCDD66FD23237E23B620B41830DD5E02DD5603DD4E0CDD460DCDB881DD35\r
-:203E0F006EFADD66FB23DD75FADD74FB2B73DD5E02DD5603CDEB81DD6EFCDD66FD73237259\r
-:203E2F00DD6EFCDD66FD7E23B620C5210000394D44DD6EFADD66FBA7ED42DD75FFAFDDB6D9\r
-:203E4F00FF2840DD6EFADD66FB2BDD75FADD74FB46DD70FE78FE0A300ADD7EFEC630DD77B8\r
-:203E6F00FE1809DD7EFEDD8610DD77FEDD6EF8DD66F923DD75F8DD74F92BDD46FE70DD35F2\r
-:203E8F00FF18BADD6EF8DD66F93600DD6E0ADD660BC31F81CD8881FEFFDD36FE41DDCB0BAF\r
-:203EAF007E2816DD36FE61DD4E0ADD460BA7210000ED42DD750ADD740BDD6EFEE50E01C5B1\r
-:203ECF00DD6E0ADD660BE5DD6E04DD6605E53E0ADDAE0ADDB60B200DDD5E02DD56037A0733\r
-:1D3EEF009F4F411809DD5E02DD56030100003E00210F7DCD5E81F1F1F1F1C31F8134\r
-:20400000CD8881DCFFDD36F8B9DD36F979DD36FA37DD36FB9E211000E501000011C2883E06\r
-:2040200001219C47CD5E81F1210200E5DD4E04DD460511C2883E0121DC47CD5E81F1DD36F1\r
-:20404000FE00DD7EFEFE0E302EDD4EFE0600DD6E02DD6603097EB7281E21C488DD4EFE06BD\r
-:204060000009E5DD4EFE0600DD6E02DD66030946E170DD34FE18CBDD4EFE0600DD6E02DDA5\r
-:204080006603097EB72818DD4EFE0600DD6E02DD6603093AC4888632C488DD34FE18D821C4\r
-:2040A0001000E501C288210A00395D543E0121DC47CD5E81F1AFDD77F4DD77F5DD77F6DD24\r
-:2040C00077F7AFDD77E0DD77E1DD77E2DD77E3AFDD77DCDD77DDDD77DEDD77DFDD36FE4027\r
-:2040E000AFDDB6FECA024221180039DD4EFADD46FBDD5EF8DD56F9CDB78221000039E521F8\r
-:204100000600395E2356234E2346EB3E05CD0782C5E5DD6EE8DD66E9C109EBDD6EEADD66F5\r
-:20412000EBC1ED4AE5D5DD6EE2DD66E3E5DD6EE0DD66E1E5DD6EF4DD66F5C109EBDD6EF609\r
-:20414000DD66F7C1ED4AE5D5210E00395E2356234E2346EB3E04CD3882C5E5DD6EE4DD668A\r
-:20416000E5C109EBDD6EE6DD66E7C1ED4A4D44EBCD7982CD7982EBE1CDB78221040039E531\r
-:20418000210200395E2356234E2346EB3E05CD0782C5E5DD6EF0DD66F1C109EBDD6EF2DDA6\r
-:2041A00066F3C1ED4AE5D5DD6EDEDD66DFE5DD6EDCDD66DDE5DD6EF4DD66F5C109EBDD6E21\r
-:2041C000F6DD66F7C1ED4AE5D5210A00395E2356234E2346EB3E04CD3882C5E5DD6EECDD76\r
-:2041E00066EDC109EBDD6EEEDD66EFC1ED4A4D44EBCD7982CD7982EBE1CDB782DD35FEC3A3\r
-:20420000E04021000039DD75FCDD74FDDD36FE02DD7EFEFE0DD2A342DD7EFEFE0820282192\r
-:20422000000039E5210600395E2356234E2346EB3E1CCD0782EBE1CD9782DD7EFCC604DD04\r
-:2042400077FC3003DD34FDDD6EFCDD66FD5E2356234E2346EB7DE63FDD77FF3E06DD6EFC07\r
-:20426000DD66FDCDDD81DD7EFFFE0C300ADD7EFFC62EDD77FF1819DD7EFFFE26300ADD7E50\r
-:20428000FFC635DD77FF1808DD7EFFC63BDD77FFDD4EFE060021C28809DD46FF70DD34FEBF\r
-:0D42A000C31042AF32CF8821C288C31F81F6\r
-:2042AD00CD5281DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5211400E53E0021270D\r
-:0B42CD006BCD5E81F1F1F1F1C31F81A8\r
-:2000CC00F5E5CD5082EBE1F1C9F5C5E5AFCD0583F5CD5082F1B728031318067B2F5F7A2F28\r
-:2000EC0057E1C1F1C95E2356234E2346EBCD0782C37082F5E5CD50827B2F5F7A2F57E1F146\r
-:01010C00C929\r
-:2042D800CD8881FAFFDD6E02DD6603232323CB3CCB1DCB3CCB1D23DD75FEDD74FF2AD688D2\r
-:2042F800DD75FCDD74FD7DB42011DD36FCD2DD36FD8821D28822D48822D688DD6EFCDD662C\r
-:20431800FD232346236668DD75FADD74FBDD6EFADD66FB232346236668DD4EFADD46FBA789\r
-:20433800ED42CAC843DD6EFADD66FB462366682929DD4EFADD46FB09E5030369604E23469E\r
-:20435800E1A7ED42206ADD6EFADD66FB232346236668ED4BD688A7ED422015DD6EFADD66DB\r
-:20437800FB23234623666823234623666822D688DD6EFADD66FB23237E23666F4E2346DDDD\r
-:204398006EFADD66FB7E8177237E8877DD6EFADD66FB2323E5DD4EFADD46FB030369604E3B\r
-:2043B8002346030369604E2346E1712370C32543DD6EFADD66FB46236668DD4EFEDD46FFE1\r
-:2043D800A7ED42DA8644DD6EFADD66FB46236668DD4EFEDD46FFA7ED42201CDD6EFCDD66AA\r
-:2043F800FD2323E5DD4EFADD46FB030369604E2346E17123701856DD6EFEDD66FF2929DDA7\r
-:204418004EFADD46FB0922D688DD6EFCDD66FD2323ED5BD6887323722AD6882323E5030361\r
-:2044380069604E2346E1712370DD6EFADD66FB46236668DD4EFEDD46FFA7ED42E52AD688B7\r
-:20445800D1732372DD6EFADD66FB712370DD6EFCDD66FD22D688DD6EFADD66FB2323AF77EE\r
-:204478002377210400DD4EFADD46FB0918272AD688DD4EFADD46FBA7ED42204F1100043E77\r
-:204498000121574ECD5E81DD75FADD74FB7DA43C2006210000C31F81DD6EFADD66FB360039\r
-:2044B800233601DD6EFADD66FB2323AF772377210400DD4EFADD46FB09EB3E0021E573CD21\r
-:2044D8005E812AD688DD75FADD74FBDD6EFADD66FBDD75FCDD74FDDD6EFADD66FB23234697\r
-:0C44F800236668DD75FADD74FBC3254304\r
-:20010D00B7C8CB28CB19CB1CCB1D3D20F5C9B7C8FE0838096C61480600D60818F2CB38CBFB\r
-:09012D0019CB1CCB1D3D20F5C9C6\r
-:20450400CD52812ABD863ABF86B5B42812010000DD5E02DD56033ABF862ABD86CD5E81DD7F\r
-:204524005E02DD56033E0121AB49CD5E81C31F81CD5281DD6E0ADD660BE5C5D5211700E59F\r
-:0F4544003E0021276BCD5E81F1F1F1F1C31F81A4\r
-:20013600DDF9DDE1D13333F1ED3939C90405C8CB2ACB1B10FAC9B7C8FE083809414C652E60\r
-:0E01560000D60818F229CB11CB103D20F8C9B5\r
-:20455300CD8881FAFFDD71FADD70FBDD6E02DD6603DD75FCDD74FDDD36FE00DD36FF00DDBA\r
-:204573006E0ADD660B2BDD750ADD740B237DB4282CDD6EFCDD66FD23DD75FCDD74FD2B4620\r
-:20459300DD70FFDD6EFADD66FB23DD75FADD74FB2B4EDD71FE79B82802180218C2DD4EFF40\r
-:2045B3000600DD6EFE2600A7ED42C31F81CD5281DD6E0ADD660BE5C5D5210A00E53E002109\r
-:0C45D300276BCD5E81F1F1F1F1C31F8177\r
-:160164002100003E11CB13CB123DC8CB15CB14ED4230F20918EF35\r
-:2045DF00CD888176FFAFDD77FEDD77FF2AB1857DB4282BDDCB037E200FED4BB185DD6E0226\r
-:2045FF00DD6603CDA6813803C36447DD6E02DD660329ED4BAF850946236668C39947DD4E83\r
-:20461F0002DD4603210000CDA6813803C36447210000E5213C85E53E0121AD42CD5E81F1DC\r
-:20463F00F1DD75FADD74FBCB7C2803C36447218000E5210400394D44DD5EFADD56FB3E01DB\r
-:20465F00213445CD5E81F1DD75F8DD74F94D44210000CDA681D26447AFDD77FCDD77FDDD20\r
-:20467F004EF8DD46F9DD6EFCDD66FDA7ED42D2614721020039DD4EFCDD46FD097EFE0AC2EE\r
-:20469F00294721D888DD4EFEDD46FF09360011D8883E00213975CD5E81DD4E02DD4603A75C\r
-:2046BF00ED42205D21000039E501200011D8883E01217049CD5E814D44E171237079B020DA\r
-:2046DF0010DD5EFADD56FB3E00212B72CD5E811874210000397E23666F7EFE20200B21005C\r
-:2046FF000039342320013418E8DD5EFADD56FB3E00212B72CD5E8121000039462366681802\r
-:20471F0079AFDD77FEDD77FF182D014F00DD6EFEDD66FFA7ED42301F21020039DD4EFCDD08\r
-:20473F0046FD0946DD6EFEDD66FF23DD75FEDD74FF2B11D8881970DD34FC2003DD34FDC354\r
-:20475F007E46C34D46014E8511D8883E0021C574CD5E81210A00E511D8883E00214072CD38\r
-:1D477F005E8101D888094D44DD5E02DD56033E0021A37ECD5E81F121D888C31F81CF\r
-:200450002F6C69622F6C69626572726F722E74787400556E6B6E6F776E206572726F7220AE\r
-:01047000008B\r
-:0404C3000000000035\r
-:13017A005E2356CD2A81722B73C9EB702B712B722B73C94F\r
-:20479C00CD8881FEFFDD6E02DD6603DD75FEDD74FFDD6E0ADD660B2BDD750ADD740B237DD1\r
-:2047BC00B42814DD4604DD6EFEDD66FF23DD75FEDD74FF2B7018DADD6E02DD6603C31F81F5\r
-:2047DC00CD8881FCFFDD6E02DD6603DD75FCDD74FDDD71FEDD70FFDD6E0ADD660B2BDD7505\r
-:2047FC000ADD740B237DB42820DD6EFEDD66FF23DD75FEDD74FF2B46DD6EFCDD66FD23DD55\r
-:20481C0075FCDD74FD2B7018CEDD6E02DD6603C31F81CD8881FAFF2AB3852BDD75FADD744D\r
-:20483C00FB21FFFF22B3853E0021000032BF8622BD86DDCBFB7E2053010500DD5EFADD56AB\r
-:20485C00FBCD2A81212889195E23562346EBDD75FCDD74FDDD70FE110500DD4EFADD46FB73\r
-:20487C00CD2A81212B89194E2346DD5E02DD5603DD7EFEDD6EFCDD66FDCD5E81DD6EFADDDE\r
-:20489C0066FB2BDD75FADD74FB18A7C31F81CD52812AB385CB7C200E010A802AB3853E8094\r
-:2048BC00AC67ED42380B210C0022BB8621FFFF18533E01212E4832BF8622BD86DD7E02DD51\r
-:2048DC00B603DDB604283A010500ED5BB385CD2A8121288919DD5604DD4E02DD4603712303\r
-:2048FC00702372010500ED5BB385CD2A81212B8919DD4E0ADD460B7123702AB3852322B3EA\r
-:1A491C0085210000C31F81CD5281210000E53E0121AA48CD5E81F1C31F8180\r
-:0204C700000033\r
-:1E018D00EBE3F5E5210600397EAB77237EAA77D1237E73A94F237E72A847F1D1E1C99F\r
-:20493600CD5281D53E00214072CD5E81D119EB3E0021C574CD5E81DD6E02DD6603C31F8120\r
-:1A49560021040039D55E2356234D44F7300822BB8621FFFF4D44D1C325810D\r
-:1901AB00F57EB3775F237EB27757237EB1774F237EB077472B2B2BF1C9BC\r
-:20497000CD8881FEFFDD6E02DD660346DD70FE480600DD6E04DD6605A7ED422008DD6E0200\r
-:20499000DD66031809AFDDB6FE2006210000C31F81DD34022003DD340318CACD5281D521F4\r
-:1049B0000B00E53E0021276BCD5E81F1F1C31F8125\r
-:2001C400DDF9DDE1D1C1C9F57E83775F237E8A7757237E89774F237E8877472B2B2BF1C955\r
-:2049C000CD8881FEFF3E0021D16ECD5E81210C000946236668DD75FEDD74FF7DE6402818CA\r
-:2049E000DD5E04DD56053E0021A96BCD5E817DB4280621FFFFC3CF4ADD7EFEE6206FDD7E9E\r
-:204A0000FFE603673E20ADB4280621FFFFC3CF4A210800DD4E04DD4605095E23560A6F0383\r
-:204A20000A67A7ED523818DD5E04DD56053E0021A96BCD5E817DB4280621FFFFC3CF4ADD02\r
-:204A40006E04DD66054E234603702B710B6960DD460270210C00DD4E04DD4605097EF680EC\r
-:204A600077237EF600773E0ADDAE02DDB6032007DD7EFEE6012007DD7EFEE6022817DD5EFD\r
-:204A800004DD56053E0021A96BCD5E817DB4280521FFFF183ADD7EFEE6032818210400DD68\r
-:204AA0004E04DD460509E5210600094E2346E17123701816210400DD4E04DD460509E52109\r
-:204AC0000800094E2346E1712370DD6E022600C31F81CD8881FEFFDD36FE41DDCB0D7E28D3\r
-:204AE00016DD36FE61DD4E0CDD460DA7210000ED42DD750CDD740DDD6EFEE50E00C5DD6EC8\r
-:204B00000CDD660DE5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E00210F7DCD5E816B\r
-:204B2000F1F1F1F1C31F81CD8881F8FFAFDD77FCDD77FDDD6E02DD6603DD75FEDD74FFDD21\r
-:204B40006EFEDD66FF4E060021B585097EE610280ADD34FE2003DD34FF18E4DD6EFEDD667F\r
-:204B6000FF7EFE2D2012DD34FC2003DD34FDDD34FE2003DD34FF1813DD6EFEDD66FF7EFEA9\r
-:204B80002B2008DD34FE2003DD34FFDD6E0ADD660BE5DD4E04DD4605DD5EFEDD56FF3E01F7\r
-:204BA00021F24ECD5E81F1DD75F8DD74F9DD71FADD70FBDD7EFCDDB6FD2805CD4983180C02\r
-:0F4BC000DD4EFADD46FBDD6EF8DD66F9C32282BD\r
-:1001E400C5D55E2356234E2346EBCD2183C3C2835C\r
-:204BCF00CD8881F4FF210001E5015A89DD5E02DD56033E01213445CD5E81F1DD75FEDD7488\r
-:204BEF00FF4D44210000CDA6813806210000C3544E010A00115A893E01217049CD5E81DD9C\r
-:204C0F0075F4DD74F57DB4285BDD6EF4DD66F523DD75F4DD74F52B3600210100E5015A89B0\r
-:204C2F00DD6EF4DD66F5A7ED42DD4EFEDD46FFA7ED427C079F4F41C5E5DD5E02DD56033EEA\r
-:204C4F000021396ECD5E81F1F1F1DD6EF4DD66F52B2B7EFE0D200ADD6EF4DD66F52B2B367B\r
-:204C6F0000C3054D210001E5015A89DD5E02DD56033E01213445CD5E81F1DD75FEDD74FF9C\r
-:204C8F004D44210000CDA6813806210000C3544E010A00115A893E01217049CD5E81DD7585\r
-:204CAF00F4DD74F57DB428BC210100E5DD6EFEDD66FF7C079F5F53D5E5015A89DD6EF4DD76\r
-:204CCF0066F5A7ED427C079F5F53A7C1ED42EBC1ED42E5D5210100C109EB210000C1ED4AA4\r
-:204CEF00E5D5DD5E02DD56033E0021396ECD5E81F1F1F1C3D44B3A5A89FE2328153A5A8979\r
-:204D0F00FE20280E3A5A89FE0A28073A5A89FE092003C3D44BDD36F45ADD36F589AFDD77BE\r
-:204D2F00FCDD77FD010780DD6EFCDD66FD3E80AC67ED42D2FF4DDD5EFCDD56FDCDCB830068\r
-:204D4F00000700B54D624D6D4D784D864D944D9F4DAA4DDD6EF4DD66F5225A8A1848DD6E4E\r
-:204D6F00F4DD66F5225C8A183DDD6EF4DD66F5DD75FADD74FB182FDD6EF4DD66F5DD75F884\r
-:204D8F00DD74F91821DD6EF4DD66F522628A1816DD6EF4DD66F522648A180BDD6EF4DD66A2\r
-:204DAF00F522668A1800010680DD6EFCDD66FD3E80AC67ED42302E013A00DD5EF4DD56F5C7\r
-:204DCF003E01217049CD5E81DD75F4DD74F57DB42003C3D44BDD6EF4DD66F523DD75F4DD80\r
-:204DEF0074F52B3600DD34FC2003DD34FDC3334D210A00E5210400394D44DD5EF8DD56F9FB\r
-:204E0F003E0121F24ECD5E81F122608ADD6EF6DD66F7AFB62803C3D44B210A00E521040018\r
-:204E2F00394D44DD5EFADD56FB3E0121F24ECD5E81F1225E8ADD6EF6DD66F7AFB62803C321\r
-:084E4F00D44B215A8AC31F81D4\r
-:2001F400EBE3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD7508CD5B83DDF9DDE146\r
-:20021400F1D13333C9CB782809AF914F3E0098473E01CB7AC8F5AF935F3E009A57F1EE01C8\r
-:20023400C9EBE3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD7508CD5B83E1C1CD61\r
-:09025400B383DDE1F1D13333C9BC\r
-:154E5700CD5281D5211800E53E0021276BCD5E81F1F1C31F81D1\r
-:20025D00F5AF956F3E009C673E00994F3E009847F1C9F5210000010000DD36F82118021925\r
-:20027D0037DDCBFC16DDCBFD16DDCBFE16DDCBFF16DD35F8282ECB11CB10CB15CB14ED5227\r
-:20029D0038DD201078DD960738D5200879DD960638CD180479DD96064F78DD9E074730C14F\r
-:2002BD002BA718BDF1E56069C1C9F57D2F6F7C2F67792F4F782F47F1C9EB702B712B722BD1\r
-:0202DD0073C9E3\r
-:204E6C00CD8881FEFFDD36FEFFDD36FFFFDD5E02160021B585197EE608280FDD4E02060095\r
-:204E8C0021D0FF09DD75FEDD74FFDD4E02060021B585097EE604280FDD4E02060021A9FF3B\r
-:204EAC0009DD75FEDD74FFDD4E02060021B585097EE602280FDD4E02060021B0FF09DD75AB\r
-:204ECC00FEDD74FFDD4E04DD4605DD6EFEDD66FFCDA6813808DD36FEFFDD36FFFFDD6EFEF8\r
-:204EEC00DD66FFC3B082CD8881FAFF110280DD6E0ADD660B3E80AC67ED52380EDD4E0ADD02\r
-:204F0C00460B212400CDA6813007AFDD770ADD770BDD6E02DD66034E060021B585097EE6A9\r
-:204F2C0010280ADD34022003DD340318E4DD6E02DD66037EFE2B200ADD34022003DD34032F\r
-:204F4C00186DDD7E0ADDB60B2065DD6E02DD66037EFE30205ADD6E02DD6603237EEE20FE3F\r
-:204F6C00582017DD360A10DD360B00210800397EC60277237ECE00771835DD6E02DD660366\r
-:204F8C00237EEE20FE422017DD360A02DD360B00210800397EC60277237ECE00771810DD98\r
-:204FAC00360A08DD360B00DD34022003DD3403DD7E0ADDB60B2008DD360A0ADD360B00AF16\r
-:204FCC00DD77FADD77FBDD77FCDD77FDDD4E0ADD460BDD6E02DD66035ECD6C4EDD75FEDD7F\r
-:204FEC0074FF7DA43C282E21000039DD5E0ADD560B7A079F4F41CDED8321000039DD5EFE22\r
-:20500C00DD56FF7A079F4F41CDB782DD34022003DD340318B7DD7E04DDB6052811DD6E0206\r
-:20502C00DD6603E5DD6E04DD6605C1712370DD4EFCDD46FDDD6EFADD66FBC32282CD52810C\r
-:20504C00160021B585197EE604280EDD7E02EE206FDD7E03EE00671806DD6E02DD6603C31B\r
-:20506C001F81CD5281160021B585197EE602280EDD7E02EE206FDD7E03EE00671806DD6EC8\r
-:07508C0002DD6603C31F8172\r
-:2004C9000101010101010101011111111111010101010101010101010101010101010101A3\r
-:2004E900102020202020202020202020202020204848484848484848484820202020202073\r
-:2005090020424242424242020202020202020202020202020202020202020220202020205E\r
-:20052900204444444444440404040404040404040404040404040404040404202020200129\r
-:20054900000000000000000000000000000000000000000000000000000000000000000092\r
-:20056900000000000000000000000000000000000000000000000000000000000000000072\r
-:20058900000000000000000000000000000000000000000000000000000000000000000052\r
-:2005A900000000000000000000000000000000000000000000000000000000000000000032\r
-:2002DF00E3F5D57B96235F7A9E23577B96237A9E23C3DF833004EB2329195E2356EBD1F191\r
-:2002FF00E3C9C5D55E2356234E2346EBCDFD83C3C283E3D5DDE5DD210000DD39DD5609DD01\r
-:20031F007409DD5E08DD7508D5C5F5DD6E0462ED6CDD5605ED5C1959DD5607ED5C19DD5E41\r
-:20033F000650ED5C19E5DD5E04DD56FEED5CDD6E05DD6607ED6C19DD4606ED4C09E5DD5EB1\r
-:20035F0004DD5607ED5CDD6E05DD6606ED6CAF1917F5DD5E04DD5606ED5C4A0600AF091751\r
-:16037F0055C14CE10984C1814D47EBF1D1D1DDE1D133333333C920\r
+:20375900CD8881DCFFDD36F8B9DD36F979DD36FA37DD36FB9E211000E501000011C1883EB7\r
+:203779000021F57ECD5E81F1210200E5DD4E04DD460511C1883E0021357FCD5E81F1DD3683\r
+:20379900FE00DD7EFEFE0E302EDD4EFE0600DD6E02DD6603097EB7281E21C388DD4EFE066E\r
+:2037B9000009E5DD4EFE0600DD6E02DD66030946E170DD34FE18CBDD4EFE0600DD6E02DD55\r
+:2037D9006603097EB72818DD4EFE0600DD6E02DD6603093AC3888632C388DD34FE18D82176\r
+:2037F9001000E501C188210A00395D543E0021357FCD5E81F1AFDD77F4DD77F5DD77F6DD45\r
+:2038190077F7AFDD77E0DD77E1DD77E2DD77E3AFDD77DCDD77DDDD77DEDD77DFDD36FE40D6\r
+:20383900AFDDB6FECA5B7921180039DD4EFADD46FBDD5EF8DD56F9CD888221000039E52146\r
+:203859000600395E2356234E2346EB3E05CDE281C5E5DD6EE8DD66E9C109EBDD6EEADD66CB\r
+:20387900EBC1ED4AE5D5DD6EE2DD66E3E5DD6EE0DD66E1E5DD6EF4DD66F5C109EBDD6EF6B9\r
+:20389900DD66F7C1ED4AE5D5210E00395E2356234E2346EB3E04CD1382C5E5DD6EE4DD665F\r
+:2038B900E5C109EBDD6EE6DD66E7C1ED4A4D44EBCD4A82CD4A82EBE1CD888221040039E56E\r
+:2038D900210200395E2356234E2346EB3E05CDE281C5E5DD6EF0DD66F1C109EBDD6EF2DD7C\r
+:2038F90066F3C1ED4AE5D5DD6EDEDD66DFE5DD6EDCDD66DDE5DD6EF4DD66F5C109EBDD6ED1\r
+:20391900F6DD66F7C1ED4AE5D5210A00395E2356234E2346EB3E04CD1382C5E5DD6EECDD4A\r
+:2039390066EDC109EBDD6EEEDD66EFC1ED4A4D44EBCD4A82CD4A82EBE1CD8882DD35FEC3DF\r
+:20395900397821000039DD75FCDD74FDDD36FE02DD7EFEFE0DD2FC79DD7EFEFE0820282121\r
+:20397900000039E5210600395E2356234E2346EB3E1CCDE281EBE1CD6882DD7EFCC604DD09\r
+:2039990077FC3003DD34FDDD6EFCDD66FD5E2356234E2346EB7DE63FDD77FF3E06DD6EFCB7\r
+:2039B900DD66FDCDD481DD7EFFFE0C300ADD7EFFC62EDD77FF1819DD7EFFFE26300ADD7E09\r
+:2039D900FFC635DD77FF1808DD7EFFC63BDD77FFDD4EFE060021C18809DD46FF70DD34FE70\r
+:0D39F900C36979AF32CE8821C188C31F8118\r
+:203A0600CD5281DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5211400E53E0021DE05\r
+:0B3A26006CCD5E81F1F1F1F1C31F8156\r
+:2000CC00F5C5E5AFCDA182F5CD2B82F1B728031318067B2F5F7A2F57E1C1F1C95E23562304\r
+:0A00EC004E2346EBCDE281C34182B2\r
+:203A3100CD8881FAFFDD6E02DD6603232323CB3CCB1DCB3CCB1D23DD75FEDD74FF2AD58882\r
+:203A5100DD75FCDD74FD7DB42011DD36FCD1DD36FD8821D18822D38822D588DD6EFCDD66DF\r
+:203A7100FD232346236668DD75FADD74FBDD6EFADD66FB232346236668DD4EFADD46FBA739\r
+:203A9100ED42CA217BDD6EFADD66FB462366682929DD4EFADD46FB09E5030369604E2346BD\r
+:203AB100E1A7ED42206ADD6EFADD66FB232346236668ED4BD588A7ED422015DD6EFADD668C\r
+:203AD100FB23234623666823234623666822D588DD6EFADD66FB23237E23666F4E2346DD8E\r
+:203AF1006EFADD66FB7E8177237E8877DD6EFADD66FB2323E5DD4EFADD46FB030369604EEB\r
+:203B11002346030369604E2346E1712370C37E7ADD6EFADD66FB46236668DD4EFEDD46FF00\r
+:203B3100A7ED42DADF7BDD6EFADD66FB46236668DD4EFEDD46FFA7ED42201CDD6EFCDD66C9\r
+:203B5100FD2323E5DD4EFADD46FB030369604E2346E17123701856DD6EFEDD66FF2929DD56\r
+:203B71004EFADD46FB0922D588DD6EFCDD66FD2323ED5BD5887323722AD5882323E5030314\r
+:203B910069604E2346E1712370DD6EFADD66FB46236668DD4EFEDD46FFA7ED42E52AD58868\r
+:203BB100D1732372DD6EFADD66FB712370DD6EFCDD66FD22D588DD6EFADD66FB2323AF779F\r
+:203BD1002377210400DD4EFADD46FB0918272AD588DD4EFADD46FBA7ED42204F1100043E28\r
+:203BF10001210C4ECD5E81DD75FADD74FB7DA43C2006210000C31F81DD6EFADD66FB360034\r
+:203C1100233601DD6EFADD66FB2323AF772377210400DD4EFADD46FB09EB3E00216D75CD46\r
+:203C31005E812AD588DD75FADD74FBDD6EFADD66FBDD75FCDD74FDDD6EFADD66FB23234647\r
+:0C3C5100236668DD75FADD74FBC37E7A23\r
+:1B00F600B7C8FE0838096C61480600D60818F2CB38CB19CB1CCB1D3D20F5C955\r
+:203C5D00CD52812ABC863ABE86B5B42812010000DD5E02DD56033ABE862ABC86CD5E81DD33\r
+:203C7D005E02DD56033E01218C41CD5E81C31F81CD5281DD6E0ADD660BE5C5D5211700E576\r
+:0F3C9D003E0021DE6CCD5E81F1F1F1F1C31F819C\r
+:20011100DDF9DDE1D13333F1ED3939C90405C8CB2ACB1B10FAC9B7C8FE083809414C652E85\r
+:0E01310000D60818F229CB11CB103D20F8C9DA\r
+:203CAC00CD8881FAFFDD71FADD70FBDD6E02DD6603DD75FCDD74FDDD36FE00DD36FF00DD6A\r
+:203CCC006E0ADD660B2BDD750ADD740B237DB4282CDD6EFCDD66FD23DD75FCDD74FD2B46D0\r
+:203CEC00DD70FFDD6EFADD66FB23DD75FADD74FB2B4EDD71FE79B82802180218C2DD4EFFF0\r
+:203D0C000600DD6EFE2600A7ED42C31F81CD5281DD6E0ADD660BE5C5D5210A00E53E0021B8\r
+:0C3D2C00DE6CCD5E81F1F1F1F1C31F816E\r
+:16013F002100003E11CB13CB123DC8CB15CB14ED4230F20918EF5A\r
+:203D3800CD888176FFAFDD77FEDD77FF2AB0857DB4282BDDCB037E200FED4BB085DD6E02D7\r
+:203D5800DD6603CDA6813803C3BD7EDD6E02DD660329ED4BAE850946236668C3F27EDD4E13\r
+:203D780002DD4603210000CDA6813803C3BD7E210000E5212F85E53E0021067ACD5E81F179\r
+:203D9800F1DD75FADD74FBCB7C2803C3BD7E218000E5210400394D44DD5EFADD56FB3E00FC\r
+:203DB800218D7CCD5E81F1DD75F8DD74F94D44210000CDA681D2BD7EAFDD77FCDD77FDDDB0\r
+:203DD8004EF8DD46F9DD6EFCDD66FDA7ED42D2BA7E21020039DD4EFCDD46FD097EFE0AC20E\r
+:203DF800827E21D788DD4EFEDD46FF09360011D7883E0021C176CD5E81DD4E02DD4603A7F5\r
+:203E1800ED42205D21000039E501200011D7883E01215141CD5E814D44E171237079B020B1\r
+:203E380010DD5EFADD56FB3E0021B373CD5E811874210000397E23666F7EFE20200B210082\r
+:203E58000039342320013418E8DD5EFADD56FB3E0021B373CD5E8121000039462366681828\r
+:203E780079AFDD77FEDD77FF182D014F00DD6EFEDD66FFA7ED42301F21020039DD4EFCDDB8\r
+:203E980046FD0946DD6EFEDD66FF23DD75FEDD74FF2B11D7881970DD34FC2003DD34FDC305\r
+:203EB800D77DC3A67D01418511D7883E00214D76CD5E81210A00E511D7883E0021C873CDC4\r
+:1D3ED8005E8101D788094D44DD5E02DD56033E01216546CD5E81F121D788C31F81F6\r
+:200443002F6C69622F6C69626572726F722E74787400556E6B6E6F776E206572726F7220BB\r
+:010463000098\r
+:0404C2000000000036\r
+:09015500EB702B712B722B73C9A6\r
+:203EF500CD8881FEFFDD6E02DD6603DD75FEDD74FFDD6E0ADD660B2BDD750ADD740B237D81\r
+:203F1500B42814DD4604DD6EFEDD66FF23DD75FEDD74FF2B7018DADD6E02DD6603C31F81A4\r
+:203F3500CD8881FCFFDD6E02DD6603DD75FCDD74FDDD71FEDD70FFDD6E0ADD660B2BDD75B4\r
+:203F55000ADD740B237DB42820DD6EFEDD66FF23DD75FEDD74FF2B46DD6EFCDD66FD23DD04\r
+:123F750075FCDD74FD2B7018CEDD6E02DD6603C31F8104\r
+:20400000CD8881FAFF2AB2852BDD75FADD74FB21FFFF22B2853E0021000032BE8622BC86FC\r
+:20402000DDCBFB7E2053010500DD5EFADD56FBCD2A81212789195E23562346EBDD75FCDDCB\r
+:2040400074FDDD70FE110500DD4EFADD46FBCD2A81212A89194E2346DD5E02DD5603DD7E61\r
+:20406000FEDD6EFCDD66FDCD5E81DD6EFADD66FB2BDD75FADD74FB18A7C31F81CD52812ADD\r
+:20408000B285CB7C200E010A802AB2853E80AC67ED42380B210C0022BA8621FFFF18533EEE\r
+:2040A0000121004032BE8622BC86DD7E02DDB603DDB604283A010500ED5BB285CD2A8121BA\r
+:2040C000278919DD5604DD4E02DD46037123702372010500ED5BB285CD2A81212A8919DD2D\r
+:2040E0004E0ADD460B7123702AB2852322B285210000C31F81CD5281210000E53E01217C53\r
+:0841000040CD5E81F1C31F8177\r
+:0204C600000034\r
+:1E015E00EBE3F5E5210600397EAB77237EAA77D1237E73A94F237E72A847F1D1E1C9CE\r
+:20410800CD8881FCFF210E003901020009DD75FCDD74FDE5DD4E0ADD460B1176853E012102\r
+:204128004E48CD5E81F1DD75FEDD74FFC31F8121040039D55E2356234D44F7300822BA86F2\r
+:0941480021FFFF4D44D1C3258184\r
+:19017C00F57EB3775F237EB27757237EB1774F237EB077472B2B2BF1C9EB\r
+:20415100CD8881FEFFDD6E02DD660346DD70FE480600DD6E04DD6605A7ED422008DD6E0227\r
+:20417100DD66031809AFDDB6FE2006210000C31F81DD34022003DD340318CACD5281D5211B\r
+:104191000B00E53E0021DE6CCD5E81F1F1C31F8194\r
+:20019500DDF9DDE1D1C1C9F57E83775F237E8A7757237E89774F237E8877472B2B2BF1C984\r
+:2041A100CD8881F8FFAFDD77FCDD77FDDD6E02DD6603DD75FEDD74FFDD6EFEDD66FF4E06CF\r
+:2041C1000021B485097EE610280ADD34FE2003DD34FF18E4DD6EFEDD66FF7EFE2D2012DD54\r
+:2041E10034FC2003DD34FDDD34FE2003DD34FF1813DD6EFEDD66FF7EFE2B2008DD34FE2067\r
+:2042010003DD34FFDD6E0ADD660BE5DD4E04DD4605DD5EFEDD56FF3E0121C74ECD5E81F12E\r
+:20422100DD75F8DD74F9DD71FADD70FBDD7EFCDDB6FD2805CDBD82180CDD4EFADD46FBDDF5\r
+:204241006EF8DD66F9C3FD81CD8881F4FF210001E5015989DD5E02DD56033E00218D7CCD1F\r
+:204261005E81F1DD75FEDD74FF4D44210000CDA6813806210000C3CE44010A001159893EB7\r
+:2042810001215141CD5E81DD75F4DD74F57DB4285BDD6EF4DD66F523DD75F4DD74F52B36F6\r
+:2042A10000210100E5015989DD6EF4DD66F5A7ED42DD4EFEDD46FFA7ED427C079F4F41C52E\r
+:2042C100E5DD5E02DD56033E0021C16FCD5E81F1F1F1DD6EF4DD66F52B2B7EFE0D200ADD1A\r
+:2042E1006EF4DD66F52B2B3600C37F43210001E5015989DD5E02DD56033E00218D7CCD5E22\r
+:2043010081F1DD75FEDD74FF4D44210000CDA6813806210000C3CE44010A001159893E0173\r
+:20432100215141CD5E81DD75F4DD74F57DB428BC210100E5DD6EFEDD66FF7C079F5F53D541\r
+:20434100E5015989DD6EF4DD66F5A7ED427C079F5F53A7C1ED42EBC1ED42E5D5210100C164\r
+:2043610009EB210000C1ED4AE5D5DD5E02DD56033E0021C16FCD5E81F1F1F1C34E423A590E\r
+:2043810089FE2328153A5989FE20280E3A5989FE0A28073A5989FE092003C34E42DD36F4D2\r
+:2043A10059DD36F589AFDD77FCDD77FD010780DD6EFCDD66FD3E80AC67ED42D27944DD5EE9\r
+:2043C100FCDD56FDCDF082000007002F44DC43E743F24300440E4419442444DD6EF4DD669C\r
+:2043E100F522598A1848DD6EF4DD66F5225B8A183DDD6EF4DD66F5DD75FADD74FB182FDD5C\r
+:204401006EF4DD66F5DD75F8DD74F91821DD6EF4DD66F522618A1816DD6EF4DD66F5226386\r
+:204421008A180BDD6EF4DD66F522658A1800010680DD6EFCDD66FD3E80AC67ED42302E01C1\r
+:204441003A00DD5EF4DD56F53E01215141CD5E81DD75F4DD74F57DB42003C34E42DD6EF4BA\r
+:20446100DD66F523DD75F4DD74F52B3600DD34FC2003DD34FDC3AD43210A00E52104003994\r
+:204481004D44DD5EF8DD56F93E0121C74ECD5E81F1225F8ADD6EF6DD66F7AFB62803C34EF2\r
+:2044A10042210A00E5210400394D44DD5EFADD56FB3E0121C74ECD5E81F1225D8ADD6EF6FB\r
+:1044C100DD66F7AFB62803C34E4221598AC31F8167\r
+:2044D100CD8881D6FFDD6E0ADD660BDD75F8DD74F921000039DD75FADD74FB212C0039DD94\r
+:2044F10075FCDD74FD213A00397ED60A77DD4E0CDD460D212400CDA6813811010280DD6ECC\r
+:204511000CDD660D3E80AC67ED423003C35446DD6EFCDD66FD23237EE60047237EE680B06F\r
+:204531002831AFDDB60E282BDD6EF8DD66F923DD75F8DD74F92B362DDD4E04DD4605DD6E08\r
+:2045510002DD6603CDBD82DD7502DD7403DD7104DD7005DD6EFCDD66FD23237E23B6200264\r
+:20457100184EDD6E0CDD660D7C079F4F41C5E5DD4E04DD4605DD6E02DD6603CD2283E5DDA3\r
+:204591006EFADD66FB23DD75FADD74FB2BC171212C0039DD5E0CDD560D7A079F4F41CD12B0\r
+:2045B10083DD6EFCDD66FD23237E23B620B41830DD5E02DD5603DD4E0CDD460DCDCF82DD52\r
+:2045D1006EFADD66FB23DD75FADD74FB2B73DD5E02DD5603CDD882DD6EFCDD66FD732372A2\r
+:2045F100DD6EFCDD66FD7E23B620C5210000394D44DD6EFADD66FBA7ED42DD75FFAFDDB610\r
+:20461100FF2840DD6EFADD66FB2BDD75FADD74FB46DD70FE78FE0A300ADD7EFEC630DD77EE\r
+:20463100FE1809DD7EFEDD8610DD77FEDD6EF8DD66F923DD75F8DD74F92BDD46FE70DD3528\r
+:20465100FF18BADD6EF8DD66F93600DD6E0ADD660BC31F81CD8881FEFFDD36FE41DDCB0BE5\r
+:204671007E2816DD36FE61DD4E0ADD460BA7210000ED42DD750ADD740BDD6EFEE50E01C5E7\r
+:20469100DD6E0ADD660BE5DD6E04DD6605E53E0ADDAE0ADDB60B200DDD5E02DD56037A0769\r
+:2046B1009F4F411809DD5E02DD56030100003E0121D144CD5E81F1F1F1F1C31F81CD888107\r
+:2046D100FAFFAFDD77FBDD77FC59503E0021C873CD5E81DD75FDDD74FEDD6E04DD66057EE0\r
+:2046F100FE2D2014DD6E04DD660523DD7504DD74052B46DD700A180EAFDDB60A2808DD3469\r
+:20471100FD2003DD34FEDD7E10DDA6113C281DDD4EFDDD46FEDD6E10DD6611CDA681300CB1\r
+:20473100DD6E10DD6611DD75FDDD74FEDD4EFDDD46FEDD6E0EDD660FCDA681300CDD6EFDAF\r
+:20475100DD66FEDD750EDD740FDD6E0EDD660FDD75FBDD74FC211400397EDD96FD77237E8E\r
+:20477100DD9EFE77DD7E0EDDB60F2009DD7EFDDDB6FECA4548DD7E08DDB6092034DD7E0E08\r
+:20479100DDB60F282CDD7EFDDDB6FE280FAFDDB60A2809DD7E0CFE3020021823DD460CDD77\r
+:2047B10070FADD6E0EDD660F2BDD750EDD740F184EDD7EFDDDB6FE2833AFDDB60A280CDDE1\r
+:2047D100460ADD70FADD360A001812DD6E04DD660523DD7504DD74052B46DD70FADD6EFD84\r
+:2047F100DD66FE2BDD75FDDD74FE1813DD460CDD70FADD6E0EDD660F2BDD750EDD740FDD8A\r
+:204811004E02DD4603DD5EFA16003E01211E50CD5E81DD7EFAFE0A20183E01DDAE12DDB648\r
+:2048310013200EDD5E02DD56033E0021606DCD5E81C37547DD6EFBDD66FCC38182CD88813B\r
+:20485100A2FFAFDD77B0DD77B1210C00DD5E02DD5603197EE6034F237EE60047DD71FDDD89\r
+:2048710070FE210C00197EE6FC77237EE6FF77DD6E04DD6605AFB6CA534DDD6E04DD6605A2\r
+:204891007EFE25C2064D3E02DDAEFDDDB6FE200EDD5E02DD56033E0021606DCD5E81AFDDF3\r
+:2048B10077A4DD77A5DD36B300DD36B220DD36ACFFDD36ADFFAFDD77AADD77ABDD36A8FF45\r
+:2048D100DD36A9FFDD36AE0ADD36AF00211B0039DD75B5DD74B6DD36B400AFDD77A6DD7738\r
+:2048F100A7AFDD77A2DD77A3DD34042003DD3405DD6E04DD66057EFE30380BDD6E04DD66FE\r
+:20491100053E39BE3002186521000039010A00CDE682DD6E04DD66054E060021D0FF094DD2\r
+:2049310044210000397E8177237E8877DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A972\r
+:204951001821DD7EA2DDB6A3200DDD7EB2FE202006DD36B230188ADD6EA2DD66A3DD75ACF4\r
+:20497100DD74ADDD34042003DD34051883DD6E04DD66055ECD40811400002021232A2B2DC2\r
+:204991002E5862636468696C6F70737578024D0A4B124B954CE54ADB4A614A764A6C4A760E\r
+:2049B1004A524CD14A004B564AD849E349F749F049344CE349C849DD6E04DD66052BDD7561\r
+:2049D10004DD7405C3064DDD36A401DD36A500C3F248DD6E04DD660546DD70B3C3F248DD32\r
+:2049F10036B401C3F248216800397EC60277237ECE00772B6E672B2B46236668DD75A2DDFB\r
+:204A110074A3DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A9182ADD6EA2DD66A3DD75C7\r
+:204A3100ACDD74ADCB7C281ADD36A401DD36A500DD4EA2DD46A3A7210000ED42DD75ACDD5D\r
+:204A510074ADC3F248DD36AA01DD36AB00C3F248DD36A601DD36A700C3F248AFDD77A6DDB7\r
+:204A710077A7C3F248210A00E5211D0039E5DD7EA6DDB6A7281D216C00397EC60477237EF8\r
+:204A9100CE00772B6E6701FCFF095E2356234E2346181A216C00397EC60277237ECE00776F\r
+:204AB1002B6E672B2B5E23567A079F4F413E0121A94DCD5E81F1F1DD75B5DD74B6C3B94C4E\r
+:204AD100DD36AE02DD36AF001837DD36AE08DD36AF00182DAFDD77A6DD77A7DD36B230DDAB\r
+:204AF10036AC05DD36AD00DD36A808DD36A900DD36AE10DD36AF001808DD36AEF0DD36AF59\r
+:204B1100FFDD7EA6DDB6A7281E216800397EC60477237ECE00772B6E6701FCFF095E2356C1\r
+:204B3100234E2346EB1819216800397EC60277237ECE00772B6E672B2B462366680100007B\r
+:204B5100DD75B9DD74BADD71BBDD70BCDD5EAEDD56AFD5211D003901040009E5DD4EBBDD4F\r
+:204B710046BCDD5EB9DD56BA3E01217A51CD5E81F1F1DD75B5DD74B6DD36B750DD36B88510\r
+:204B9100AFDDB6B4CA314C3E02DDAEAEDDB6AF200ADD36B751DD36B88518493E08DDAEAE97\r
+:204BB100DDB6AF2018DD7EB9DDB6BADDB6BBDDB6BC2808DD36B754DD36B88518273E10DD64\r
+:204BD100AEAEDDB6AF200ADD36B756DD36B88518133E0FDDAEAEDDA6AF3C2008DD36B75922\r
+:204BF100DD36B885DD6EB7DD66B8AFB62832DD36B200DD4EB7DD46B8211B00395D543E00B2\r
+:204C1100214D76CD5E81DD4EB5DD46B6211B00395D543E0121214ECD5E81DD75B5DD74B68B\r
+:204C3100C3B94CDD6E04DD6605234E0600DD71A2DD70A379B02808DD34042003DD340518EE\r
+:204C51001C216800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A3DD46A288\r
+:204C7100DD6EB5DD66B670DD6EB5DD66B6233600AFDDB6B4280CDD6EB5DD66B646DD70B200\r
+:204C91001822181C216800397EC60277237ECE00772B6E672B2B46236668DD75B5DD74B695\r
+:204CB100DD36B220DD36B300DD6EFDDD66FEE5DD6EA8DD66A9E5DD6EACDD66ADE5DD6EB23D\r
+:204CD100E5DD6EB3E5DD6EA4DD66A5E5DD4EB5DD46B6DD5E02DD5603CDCE46EB210C0039E1\r
+:204CF100F9EB4D44210E00397E8177237E8877180218021842DD4E02DD4603DD6E04DD663D\r
+:204D1100055E16003E01211E50CD5E81DD34B02003DD34B1DD6E04DD66057EFE0A20183E56\r
+:204D310001DDAEFDDDB6FE200EDD5E02DD56033E0021606DCD5E81DD34042003DD3405C3BE\r
+:204D51008048210C00DD4E02DD4603097EDDB6FD77237EDDB6FE773E02DDAEFDDDB6FE204A\r
+:204D71000EDD5E02DD56033E0021606DCD5E813E01DDAEFDDDB6FE2016210400DD4E02DD0C\r
+:184D9100460309E5210600094E2346E1712370DD6EB0DD66B1C31F81B5\r
+:0C0464000030620030003078003058009A\r
+:1C01B500CB782809AF914F3E0098473E01CB7AC8F5AF935F3E009A57F1EE01C954\r
+:204DA900CD8881FEFFDD36FE41DDCB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DDA7\r
+:204DC900750CDD740DDD6EFEE53E0ADDAE0CDDB60D20043E011801AF4FC5DD6E0CDD660D58\r
+:204DE900E5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E0121D144CD5E81F1F1F1F18E\r
+:034E0900C31F8143\r
+:1201D100F5AF956F3E009C673E00994F3E009847F1C936\r
+:154E0C00CD5281D5211800E53E0021DE6CCD5E81F1F1C31F8164\r
+:2001E300F5E5CD2B82EBE1F1C9F5E5CD2B827B2F5F7A2F57E1F1C95E2356CD2A81722B73CB\r
+:01020300C931\r
+:204E2100CD5281D53E0021C873CD5E81D119EB3E00214D76CD5E81DD6E02DD6603C31F811D\r
+:204E4100CD8881FEFFDD36FEFFDD36FFFFDD5E02160021B485197EE608280FDD4E020600C1\r
+:204E610021D0FF09DD75FEDD74FFDD4E02060021B485097EE604280FDD4E02060021A9FF67\r
+:204E810009DD75FEDD74FFDD4E02060021B485097EE602280FDD4E02060021B0FF09DD75D7\r
+:204EA100FEDD74FFDD4E04DD4605DD6EFEDD66FFCDA6813808DD36FEFFDD36FFFFDD6EFE23\r
+:204EC100DD66FFC38182CD8881FAFF110280DD6E0ADD660B3E80AC67ED52380EDD4E0ADD5C\r
+:204EE100460B212400CDA6813007AFDD770ADD770BDD6E02DD66034E060021B485097EE6D6\r
+:204F010010280ADD34022003DD340318E4DD6E02DD66037EFE2B200ADD34022003DD34035A\r
+:204F2100186DDD7E0ADDB60B2065DD6E02DD66037EFE30205ADD6E02DD6603237EEE20FE6A\r
+:204F4100582017DD360A10DD360B00210800397EC60277237ECE00771835DD6E02DD660391\r
+:204F6100237EEE20FE422017DD360A02DD360B00210800397EC60277237ECE00771810DDC3\r
+:204F8100360A08DD360B00DD34022003DD3403DD7E0ADDB60B2008DD360A0ADD360B00AF41\r
+:204FA100DD77FADD77FBDD77FCDD77FDDD4E0ADD460BDD6E02DD66035ECD414EDD75FEDDD5\r
+:204FC10074FF7DA43C282E21000039DD5E0ADD560B7A079F4F41CDC78321000039DD5EFE73\r
+:204FE100DD56FF7A079F4F41CD8882DD34022003DD340318B7DD7E04DDB6052811DD6E0261\r
+:20500100DD6603E5DD6E04DD6605C1712370DD4EFCDD46FDDD6EFADD66FBC3FD81CD888127\r
+:20502100FEFF3E00215970CD5E81210C000946236668DD75FEDD74FF7DE6402818DD5E046F\r
+:20504100DD56053E0021606DCD5E817DB4280621FFFFC32D51DD7EFEE6206FDD7EFFE6036F\r
+:20506100673E20ADB4280621FFFFC32D51210800DD4E04DD4605095E23560A6F030A67A787\r
+:20508100ED523818DD5E04DD56053E0021606DCD5E817DB4280621FFFFC32D51DD6E04DD46\r
+:2050A10066054E234603702B710B6960DD460270210C00DD4E04DD4605097EF68077237EBC\r
+:2050C100F600773E0ADDAE02DDB6032007DD7EFEE6012007DD7EFEE6022817DD5E04DD5677\r
+:2050E100053E0021606DCD5E817DB4280521FFFF183ADD7EFEE6032818210400DD4E04DD50\r
+:20510100460509E5210600094E2346E17123701816210400DD4E04DD460509E521080009BF\r
+:205121004E2346E1712370DD6E022600C31F81CD5281160021B485197EE604280EDD7E02D8\r
+:20514100EE206FDD7E03EE00671806DD6E02DD6603C31F81CD5281160021B485197EE6027B\r
+:19516100280EDD7E02EE206FDD7E03EE00671806DD6E02DD6603C31F815E\r
+:2004C8000101010101010101011111111111010101010101010101010101010101010101A4\r
+:2004E800102020202020202020202020202020204848484848484848484820202020202074\r
+:2005080020424242424242020202020202020202020202020202020202020220202020205F\r
+:2005280020444444444444040404040404040404040404040404040404040420202020012A\r
+:20054800000000000000000000000000000000000000000000000000000000000000000093\r
+:20056800000000000000000000000000000000000000000000000000000000000000000073\r
+:20058800000000000000000000000000000000000000000000000000000000000000000053\r
+:2005A800000000000000000000000000000000000000000000000000000000000000000033\r
+:20517A00CD8881FEFFDD36FE41DDCB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DDD2\r
+:20519A00750CDD740DDD6EFEE50E00C5DD6E0CDD660DE5DD6E0ADD660BE5DD4E04DD4605AA\r
+:1551BA00DD5E02DD56033E0121D144CD5E81F1F1F1F1C31F8125\r
+:20020400E3F5D57B96235F7A9E23577B96237A9E23C304833004EB2329195E2356EBD1F147\r
+:20022400E3C9C5D55E2356234E2346EBCD4783C36A84EBE3F5DDE5DD210000DD39C5D5DD80\r
+:200244005609DD7409DD5E08DD7508CD6F83DDF9DDE1F1D13333C9EBE3F5DDE5DD2100007D\r
+:20026400DD39C5D5DD5609DD7409DD5E08DD7508CD6F83E1C1CD5B84DDE1F1D13333C9F5E6\r
+:20028400210000010000DD36F82118021937DDCBFC16DDCBFD16DDCBFE16DDCBFF16DD35A2\r
+:2002A400F8282ECB11CB10CB15CB14ED5238DD201078DD960738D5200879DD960638CD18BC\r
+:2002C4000479DD96064F78DD9E074730C12BA718BDF1E56069C1C9C5D55E2356234E234688\r
+:2002E400EBCDD783C36A84E3D5DDE5DD210000DD39DD5609DD7409DD5E08DD7508D5C5F5E7\r
+:20030400DD6E0462ED6CDD5605ED5C1959DD5607ED5C19DD5E0650ED5C19E5DD5E04DD56F6\r
+:20032400FEED5CDD6E05DD6607ED6C19DD4606ED4C09E5DD5E04DD5607ED5CDD6E05DD66C1\r
+:2003440006ED6CAF1917F5DD5E04DD5606ED5C4A0600AF091755C14CE10984C1814D47EBF5\r
+:20036400F1D1D1DDE1D133333333C9F57D2F6F7C2F67792F4F782F47F1C9EB702B712B726D\r
+:030384002B73C90F\r
 :00000001FF\r
index c89a398..da85fee 100644 (file)
@@ -8,16 +8,16 @@ Area                       Addr        Size        Decimal Bytes (Attributes)
         -----  ------            -----  ------            -----  ------    \r
      00000000  s__DEFAUL |    00000000  l_CCSTR   |    00000000  l_ECSTR  \r
      00000000  .__.ABS.  |    00000000  ?CL64180L |    00000000  ?CL64180B\r
-     00000014  e__DEFAUL |    00000014  l__DEFAUL |    00000034  l_CONST  \r
-     000000A8  l_CSTR    |    00000158  l_CDATA0  |    00000158  l_IDATA0 \r
-     00000381  l_RCODE   |    000003B3  l_UDATA0  |    00001000  l_CSTACK \r
-     00004000  s_CODE    |    00008100  s_RCODE   |    00008481  e_RCODE  \r
-     00008481  s_CONST   |    000084B5  s_CSTR    |    000084B5  e_CONST  \r
-     0000855D  e_CSTR    |    0000855D  s_IDATA0  |    0000855D  s_CDATA0 \r
-     000086B5  s_UDATA0  |    000086B5  e_CCSTR   |    000086B5  e_ECSTR  \r
-     000086B5  s_CCSTR   |    000086B5  e_CDATA0  |    000086B5  s_ECSTR  \r
-     000086B5  e_IDATA0  |    00008A68  e_UDATA0  |    00008A68  s_CSTACK \r
-     00009A68  e_CSTACK  |    0000C0F4  l_CODE    |    000100F4  e_CODE   \r
+     00000014  e__DEFAUL |    00000014  l__DEFAUL |    00000026  l_CONST  \r
+     000000C3  l_CSTR    |    00000158  l_CDATA0  |    00000158  l_IDATA0 \r
+     00000373  l_RCODE   |    000003B3  l_UDATA0  |    00001000  l_CSTACK \r
+     00004000  s_CODE    |    00008100  s_RCODE   |    00008473  e_RCODE  \r
+     00008473  s_CONST   |    00008499  s_CSTR    |    00008499  e_CONST  \r
+     0000855C  e_CSTR    |    0000855C  s_IDATA0  |    0000855C  s_CDATA0 \r
+     000086B4  s_UDATA0  |    000086B4  e_CCSTR   |    000086B4  e_ECSTR  \r
+     000086B4  s_CCSTR   |    000086B4  e_CDATA0  |    000086B4  s_ECSTR  \r
+     000086B4  e_IDATA0  |    00008A67  e_UDATA0  |    00008A67  s_CSTACK \r
+     00009A67  e_CSTACK  |    0000C079  l_CODE    |    00010079  e_CODE   \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
@@ -30,28 +30,28 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-RCODE                  00008100    00000381 =         897. bytes (REL,CON)\r
+RCODE                  00008100    00000373 =         883. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
      00008100  __init    |    0000811F  ?BANK_LEA |    00008125  ?BANK_FAS\r
      0000812A  ?S_MUL_L0 |    00008140  ?C_V_SWIT |    00008152  ?ENT_PARM\r
      0000815E  ?BANK_CAL |    0000816B  ?S_V_SWIT |    00008188  ?ENT_AUTO\r
-     0000819C  ?V_SWITCH |    000081A6  ?SS_CMP_L |    000081B8  ?US_MOD_L\r
-     000081C1  ?SS_DIV_L |    000081DD  ?UL_RSHAS |    000081EB  ?US_DIV_L\r
-     000081F9  ?SL_RSH_L |    00008207  ?UL_RSH_L |    00008222  ?BANK_LEA\r
-     0000822E  ?SS_RSH_L |    00008238  ?L_LSH_L0 |    00008250  ?S_DIVMOD\r
-     00008266  ?S_MULASG |    00008270  ?L_END_AS |    00008279  ?L_XOR_L0\r
-     00008297  ?L_ORASG_ |    000082B0  ?LEAVE_DI |    000082B7  ?L_ADDASG\r
-     000082D0  ?UL_DIVAS |    000082E0  ?UL_MOD_L |    00008305  ?S_FIND_S\r
-     00008321  ?UL_DIV_L |    00008349  ?L_NEG_L0 |    0000835B  ?L_DIVMOD\r
-     000083B3  ?L_NOT_L0 |    000083C2  ?L_END_MU |    000083CB  ?S_S_SWIT\r
-     000083DF  ?S_SWITCH |    000083ED  ?L_MULASG |    000083FD  ?L_MUL_L0\r
+     0000819C  ?V_SWITCH |    000081A6  ?SS_CMP_L |    000081B8  ?SS_DIV_L\r
+     000081D4  ?UL_RSHAS |    000081E2  ?UL_RSH_L |    000081FD  ?BANK_LEA\r
+     00008209  ?SS_RSH_L |    00008213  ?L_LSH_L0 |    0000822B  ?S_DIVMOD\r
+     00008241  ?L_END_AS |    0000824A  ?L_XOR_L0 |    00008268  ?L_ORASG_\r
+     00008281  ?LEAVE_DI |    00008288  ?L_ADDASG |    000082A1  ?S_FIND_S\r
+     000082BD  ?L_NEG_L0 |    000082CF  ?US_MOD_L |    000082D8  ?US_DIV_L\r
+     000082E6  ?S_MULASG |    000082F0  ?S_S_SWIT |    00008304  ?S_SWITCH\r
+     00008312  ?UL_DIVAS |    00008322  ?UL_MOD_L |    00008347  ?UL_DIV_L\r
+     0000836F  ?L_DIVMOD |    000083C7  ?L_MULASG |    000083D7  ?L_MUL_L0\r
+     0000845B  ?L_NOT_L0 |    0000846A  ?L_END_MU\r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CONST                  00008481    00000034 =          52. bytes (REL,CON)\r
+CONST                  00008473    00000026 =          38. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -59,7 +59,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CSTR                   000084B5    000000A8 =         168. bytes (REL,CON)\r
+CSTR                   00008499    000000C3 =         195. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -67,18 +67,18 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-IDATA0                 0000855D    00000158 =         344. bytes (NUL,CON)\r
+IDATA0                 0000855C    00000158 =         344. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     0000855D  __IO_list |    0000855F  stdin     |    00008577  stdout   \r
-     0000858F  stderr    |    000085AD  _path_pas |    000085AF  __sys_err\r
-     000085B1  __sys_ner |    000085B3  __on_exit |    000085B5  __ctype  \r
+     0000855C  __IO_list |    0000855E  stdin     |    00008576  stdout   \r
+     0000858E  stderr    |    000085AC  _path_pas |    000085AE  __sys_err\r
+     000085B0  __sys_ner |    000085B2  __on_exit |    000085B4  __ctype  \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CDATA0                 0000855D    00000158 =         344. bytes (REL,CON)\r
+CDATA0                 0000855C    00000158 =         344. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -86,7 +86,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-ECSTR                  000086B5    00000000 =           0. bytes (NUL,CON)\r
+ECSTR                  000086B4    00000000 =           0. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -94,7 +94,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CCSTR                  000086B5    00000000 =           0. bytes (REL,CON)\r
+CCSTR                  000086B4    00000000 =           0. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -102,67 +102,67 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CODE                   00004000    0000C0F4 =       49396. bytes (NUL,CON)\r
+CODE                   00004000    0000C079 =       49273. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     000045C9  GraphicsO |    00004657  GraphicsC |    0000466C  Move     \r
-     000046AB  ClearRect |    000046EE  DrawRectN |    00004733  FillRect \r
-     00004778  FillRectN |    000047BD  GrayRect  |    00004802  Text     \r
-     0000482F  TouchRegi |    00004886  ClearScre |    000048C3  EnableScr\r
-     00004901  grSetFont |    0000493E  fontSearc |    0000496E  setCurren\r
-     000049FC  loadFont  |    00004AA3  stringwid |    00004B1C  stringhei\r
-     00004B39  stringhei |    00004B4C  stringhei |    00004B55  stringwid\r
-     00004B66  stringwid |    00004B6F  stringwid |    00004B78  Component\r
-     00004C22  Component |    00004C6F  Component |    00004CCD  Component\r
-     00004D13  Component |    00004D57  Component |    00004D8F  Component\r
-     00004F60  Component |    00004F7F  Component |    00004FE8  Component\r
-     0000509B  Window_ha |    00005368  Window_pa |    000054F5  Root_pain\r
-     0000552C  Window_ad |    0000553A  Window_ne |    0000558C  Button_ha\r
-     00005643  Button_dr |    000056FF  Button_pa |    000057F8  Button_ad\r
-     000057FE  Button_ne |    00005850  ToggleBut |    000058EC  ToggleBut\r
-     000059D8  ToggleBut |    00005A2A  Dialog_ha |    00005AE3  Dialog_ne\r
-     00005BD2  Display_h |    00005C53  Display_p |    00005D9F  Display_n\r
-     00005DF9  Label_han |    00005DFF  Label_pai |    00005E60  Label_new\r
-     00005EB9  rootWindo |    00005ED7  screenbui |    000062A7  root_acti\r
-     000065DF  read_stri |    000066B4  gui_globa |    000066BA  GUIinit  \r
-     000067E1  GUIunit   |    00006806  GUIgo     |    000068C7  login    \r
-     000069D6  login_act |    00006AD8  main      |    00006B0D  setgid   \r
-     00006B27  unix      |    00006B41  strrchr   |    00006BA9  fflush   \r
-     00006DBC  chdir     |    00006DD1  _write    |    00006DF0  setuid   \r
-     00006E0A  printf    |    00006E39  lseek     |    00006E66  __stdio_c\r
-     00006ED1  __stdio_i |    00006F0F  setenv    |    0000718B  unsetenv \r
-     0000722B  close     |    00007240  strlen    |    00007277  strcmp   \r
-     00007318  perror    |    00007355  execv     |    00007368  ioctl    \r
-     00007393  isatty    |    000073CE  fstat     |    000073E5  free     \r
-     000074C5  strcpy    |    000074EC  getpwuid  |    00007539  atoi     \r
-     0000754F  setpwent  |    00007594  endpwent  |    000075B3  getpwent \r
-     00007751  vfprintf  |    00007CAC  ltoa      |    00007D0F  __longtoa\r
-     00007EA3  itoa      |    00014000  crypt     |    000142AD  open     \r
-     000142D8  malloc    |    00014504  exit      |    00014534  _read    \r
-     00014553  memcmp    |    000145C0  execve    |    000145DF  strerror \r
-     0001479C  memset    |    000147DC  memcpy    |    000148AA  on_exit  \r
-     00014923  atexit    |    00014936  strcat    |    00014956  unix_long\r
-     00014970  strchr    |    000149AB  _exit     |    000149C0  fputc    \r
-     00014AD2  ultoa     |    00014B27  strtol    |    00014BCF  __getpwen\r
-     00014E57  sbrk      |    00014EF2  strtoul   |    00015049  toupper  \r
-     0001506E  tolower  \r
+     000045C8  SetCurren |    000045E3  GraphicsO |    00004701  GraphicsC\r
+     00004726  Move      |    00004761  ClearRect |    000047A1  DrawRectN\r
+     000047E0  FillRect  |    00004822  FillRectN |    00004864  GrayRect \r
+     000048A6  Text      |    000048C9  TouchRegi |    00004920  ClearScre\r
+     0000495D  EnableScr |    0000499B  grSetFont |    000049D8  fontSearc\r
+     00004A08  setCurren |    00004A8A  loadFont  |    00004B31  stringwid\r
+     00004BAA  stringhei |    00004BC7  stringhei |    00004BDA  stringhei\r
+     00004BE3  stringwid |    00004BF4  stringwid |    00004BFD  stringwid\r
+     00004C06  Component |    00004CB0  Component |    00004CFD  Component\r
+     00004D5B  Component |    00004DA1  Component |    00004DE5  Component\r
+     00004E1D  Component |    00004FEE  Component |    0000500D  Component\r
+     00005076  Component |    00005129  Window_ha |    000053F6  Window_pa\r
+     00005594  Root_pain |    000055CB  Window_ad |    000055D9  Window_ne\r
+     00005628  Button_ha |    000056DF  Button_dr |    00005782  Button_pa\r
+     00005855  Button_ad |    0000585B  Button_ne |    000058B8  ToggleBut\r
+     00005954  ToggleBut |    00005A40  ToggleBut |    00005A9D  Dialog_ha\r
+     00005B56  Dialog_ne |    00005C66  Display_h |    00005CE7  Display_p\r
+     00005E0B  Display_n |    00005E6A  Label_han |    00005E70  Label_pai\r
+     00005ED1  Label_new |    00005F35  rootWindo |    00005F53  screenbui\r
+     00006340  root_acti |    0000668F  read_stri |    00006769  gui_globa\r
+     0000676F  GUIinit   |    00006896  GUIunit   |    000068BB  GUIgo    \r
+     00006A7E  login     |    00006B8D  login_act |    00006C8F  main     \r
+     00006CC4  setgid    |    00006CDE  unix      |    00006CF8  strrchr  \r
+     00006D60  fflush    |    00006F73  chdir     |    00006F88  _write   \r
+     00006FA7  setuid    |    00006FC1  lseek     |    00006FEE  __stdio_c\r
+     00007059  __stdio_i |    00007097  setenv    |    00007313  unsetenv \r
+     000073B3  close     |    000073C8  strlen    |    000073FF  strcmp   \r
+     000074A0  perror    |    000074DD  execv     |    000074F0  ioctl    \r
+     0000751B  isatty    |    00007556  fstat     |    0000756D  free     \r
+     0000764D  strcpy    |    00007674  getpwuid  |    000076C1  atoi     \r
+     000076D7  setpwent  |    0000771C  endpwent  |    0000773B  getpwent \r
+     00007759  crypt     |    00007A06  open      |    00007A31  malloc   \r
+     00007C5D  exit      |    00007C8D  _read     |    00007CAC  memcmp   \r
+     00007D19  execve    |    00007D38  strerror  |    00007EF5  memset   \r
+     00007F35  memcpy    |    0001407C  on_exit   |    000140F5  atexit   \r
+     00014108  printf    |    00014137  unix_long |    00014151  strchr   \r
+     0001418C  _exit     |    000141A1  strtol    |    00014249  __getpwen\r
+     000144D1  __longtoa |    00014665  itoa      |    0001484E  vfprintf \r
+     00014DA9  ltoa      |    00014E0C  sbrk      |    00014E21  strcat   \r
+     00014EC7  strtoul   |    0001501E  fputc     |    00015130  toupper  \r
+     00015155  tolower   |    0001517A  ultoa    \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-UDATA0                 000086B5    000003B3 =         947. bytes (REL,CON)\r
+UDATA0                 000086B4    000003B3 =         947. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     000086B5  _argc     |    000086B7  _argv     |    000086B9  environ  \r
-     000086BB  errno     |    000086BD  __cleanup |    000086C0  global   \r
-     000088D2  __malloc_ |    000088D6  __malloc_ |    00008928  __on_exit\r
+     000086B4  _argc     |    000086B6  _argv     |    000086B8  environ  \r
+     000086BA  errno     |    000086BC  __cleanup |    000086BF  global   \r
+     000088D1  __malloc_ |    000088D5  __malloc_ |    00008927  __on_exit\r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CSTACK                 00008A68    00001000 =        4096. bytes (REL,CON)\r
+CSTACK                 00008A67    00001000 =        4096. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -185,7 +185,6 @@ Libraries Linked                          [ object file ]
 ..\..\lib\libsysb.lib                     [ relsysb\write.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SMUL.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\setuid.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\printf.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\lseek.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\stdio0.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\setenv.rel ]\r
@@ -208,19 +207,13 @@ Libraries Linked                          [ object file ]
 ..\..\lib\libiar.lib                      [ reliar\VSWITCHEND.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\atoi.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\setpwent.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\vfprintf.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\ltoa.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SSCMP.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\itoa.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\crypt.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\open.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\USMOD.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SSDIV.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\ULRSHASG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\USDIV.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LIBVERSION.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\malloc.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SLRSH.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\ULRSH.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\exit.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\read.rel ]\r
@@ -231,38 +224,44 @@ Libraries Linked                          [ object file ]
 ..\..\lib\libsysb.lib                     [ relsysb\execve.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SDIVMOD.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\error.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SMULASG.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LENDASG.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\memset.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\memcpy.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\atexit.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LXOR.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strcat.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\printf.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\sys1b.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LORASG.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\strchr.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\_exit.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LEAVEDIRECT.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LADDASG.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\fputc.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\ultoa.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\strtol.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULDIVASG.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\getpwent.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULMOD.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\itoa.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\vfprintf.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SFINDSIGN.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULDIV.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\sbrk.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\ltoa.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LNEG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LDIVMOD.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LNOT.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LENDMULDIVASG.rel ]\r
+..\..\lib\libsysb.lib                     [ relsysb\sbrk.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\USMOD.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\USDIV.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\SMULASG.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\strcat.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\strtoul.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\fputc.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\ctype.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\ultoa.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SSSWITCH.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SSWITCHEND.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\ULDIVASG.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\ULMOD.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\ULDIV.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\LDIVMOD.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LMULASG.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LMUL.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\LNOT.rel ]\r
+..\..\lib\libiar.lib                      [ reliar\LENDMULDIVASG.rel ]\r
 \r
 \r
 User Base Address Definitions\r
diff --git a/src/gui/hello.map b/src/gui/hello.map
deleted file mode 100644 (file)
index 44a45a1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Error[e12]: Unable to open file 'hello'\r
diff --git a/src/gui/login.c.org b/src/gui/login.c.org
deleted file mode 100644 (file)
index 598cf05..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/* login.c\r
- * descripton:  login into a user account\r
- * author:      Alistair Riddoch\r
- * modification: David Murn <scuffer@hups.apana.org.au>\r
- *              Added password entry\r
- * modification: Shane Kerr <kerr@wizard.net>\r
- *              More work on password entry\r
- */\r
-\r
-/* todo:  add a timeout for serial and network logins */\r
-/* ???   need a signal mechanism (i.e. alarm() and SIGALRM) */\r
-/*       real getpass() ! */\r
-\r
-#include <unistd.h>\r
-#include <stdlib.h>\r
-#include <string.h>\r
-#include <stdio.h>\r
-#include <pwd.h>\r
-#include <wnd.h>\r
-\r
-void login(pwd, argv)\r
-       struct passwd *pwd;\r
-       char **argv;\r
-{\r
-       char pname[64];\r
-       char *bname;\r
-\r
-#if 1  /* addition by Nick, please see linux manpage passwd.5 */\r
-       if (!*pwd->pw_shell)\r
-               {\r
-               pwd->pw_shell = "/bin/sh";\r
-               }\r
-#endif\r
-\r
-/*     chown("/dev/tty",pwd->pw_uid,pwd->pw_gid); */\r
-       pname[0] = '-';\r
-       if ((bname = strrchr(pwd->pw_shell, '/')) != NULL)\r
-               bname++;\r
-       else    bname = pwd->pw_shell;\r
-       strcpy(pname+1, bname);\r
-       argv[0] = pname;\r
-       argv[1] = NULL;\r
-       /* we must set first GID, because we're still root\r
-          if UID is set first and we aren't logging as root,\r
-          we won't have permission to change our GID */\r
-       setgid(pwd->pw_gid);\r
-       setuid(pwd->pw_uid);\r
-       chdir(pwd->pw_dir);\r
-       setenv("HOME", pwd->pw_dir, 1);\r
-       setenv("USER", pwd->pw_name, 1);\r
-       execv(pwd->pw_shell, argv);\r
-       perror(pwd->pw_shell);\r
-       exit(1);\r
-}\r
-\r
-void login_actionhandler(struct Component* this){\r
-       char lbuf[20], *pbuf, salt[3], *s;\r
-       struct passwd *pwd;\r
-       int n;\r
-       struct ActionXDS *act;\r
-       struct Component* disp=this;\r
-\r
-       act=(struct ActionXDS*) (this->xds);\r
-       if(act->action==0x0101){\r
-               lbuf[0]=disp->label[0];\r
-               lbuf[1]=disp->label[1];\r
-               lbuf[2]=0;\r
-               disp->label[0]=0;\r
-               pwd = getpwnam(lbuf);\r
-               pbuf=disp->label+2;\r
-               if (pwd != NULL) {\r
-                       salt[0] = pwd->pw_passwd[0];\r
-                       salt[1] = pwd->pw_passwd[1];\r
-                       salt[2] = 0;\r
-                       s = crypt(pbuf, salt);\r
-                       if (!strcmp(s, pwd->pw_passwd)){\r
-                               ClearScreen();\r
-                               login(pwd, NULL);\r
-                       }\r
-               }\r
-               disp->paint(disp);\r
-       }\r
-}\r
-\r
-void main(int argc, char** argv)\r
-{\r
-       GUIinit();\r
-       gui_globals()->actionhandler=login_actionhandler;\r
-       GUIgo("/wnd/logn.scr");\r
-       GUIunit();\r
-}\r
-\r
-\r
index a759525..57f1f54 100644 (file)
     0000021C 3E 00                  307        LD      A,BYTE3 gui_globals\r
     0000021E 21 00 00               308        LD      HL,LWRD gui_globals\r
     00000221 CD 00 00               309        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000224 01 10 00               310        LD      BC,16\r
+    00000224 01 18 00               310        LD      BC,24\r
     00000227 09                     311        ADD     HL,BC\r
     00000228 36 0F                  312        LD      (HL),LOW(login_actionhandler)\r
     0000022A 23                     313        INC     HL\r
diff --git a/src/gui/login.map b/src/gui/login.map
deleted file mode 100644 (file)
index 297c5c7..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-.  .ABS.               00000000    00000000 =           0. bytes (ABS,OVR)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-     00000000  s__DEFAUL |    00000000  l_CCSTR   |    00000000  l_ECSTR  \r
-     00000000  .__.ABS.  |    00000000  ?CL64180L |    00000000  ?CL64180B\r
-     00000014  e__DEFAUL |    00000014  l__DEFAUL |    0000002F  l_CONST  \r
-     00000148  l_CSTR    |    00000170  l_CDATA0  |    00000170  l_IDATA0 \r
-     000003B5  l_UDATA0  |    00000430  l_RCODE   |    00001000  l_CSTACK \r
-     00004000  s_CODE    |    00008100  s_RCODE   |    00008530  e_RCODE  \r
-     00008530  s_CONST   |    0000855F  s_CSTR    |    0000855F  e_CONST  \r
-     000086A7  e_CSTR    |    000086A7  s_IDATA0  |    000086A7  s_CDATA0 \r
-     00008817  s_UDATA0  |    00008817  e_CCSTR   |    00008817  e_ECSTR  \r
-     00008817  s_CCSTR   |    00008817  e_CDATA0  |    00008817  s_ECSTR  \r
-     00008817  e_IDATA0  |    00008BCC  e_UDATA0  |    00008BCC  s_CSTACK \r
-     00009BCC  e_CSTACK  |    0000C27F  l_CODE    |    0001027F  e_CODE   \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-_DEFAULT               00000000    00000014 =          20. bytes (REL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-RCODE                  00008100    00000430 =        1072. bytes (REL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-     00008100  __init    |    0000811F  ?L_MUL_L0 |    000081A3  ?BANK_LEA\r
-     000081A9  ?BANK_FAS |    000081AE  ?S_MUL_L0 |    000081C4  ?C_V_SWIT\r
-     000081D6  ?L_ADDASG |    000081EF  ?ENT_PARM |    000081FB  ?BANK_CAL\r
-     00008208  ?S_S_SWIT |    0000821C  ?S_V_SWIT |    00008239  ?S_SWITCH\r
-     00008247  ?SL_MOD_L |    0000827A  ?ENT_AUTO |    0000828E  ?V_SWITCH\r
-     00008298  ?SL_DIV_L |    000082C8  ?SS_CMP_L |    000082DA  ?L_INC_L0\r
-     000082E2  ?US_MOD_L |    000082EB  ?SS_DIV_L |    00008307  ?UL_RSHAS\r
-     00008315  ?US_DIV_L |    00008323  ?SL_RSH_L |    00008331  ?UL_RSH_L\r
-     0000834C  ?L_DIVMOD |    000083A4  ?BANK_LEA |    000083B0  ?SS_RSH_L\r
-     000083BA  ?L_LSH_L0 |    000083D2  ?S_DIVMOD |    000083E8  ?S_MULASG\r
-     000083F2  ?L_END_AS |    000083FB  ?L_NOT_L0 |    0000840A  ?L_XOR_L0\r
-     00008428  ?L_ORASG_ |    00008441  ?LEAVE_DI |    00008448  ?L_FIND_S\r
-     0000848C  ?UL_DIVAS |    0000849C  ?UL_MOD_L |    000084C1  ?S_FIND_S\r
-     000084DD  ?UL_DIV_L |    00008505  ?L_NEG_L0 |    00008517  ?L_MULASG\r
-     00008527  ?L_END_MU\r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-CONST                  00008530    0000002F =          47. bytes (REL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-CSTR                   0000855F    00000148 =         328. bytes (REL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-IDATA0                 000086A7    00000170 =         368. bytes (NUL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-     000086BF  __IO_list |    000086C1  stdin     |    000086D9  stdout   \r
-     000086F1  stderr    |    0000870F  _path_pas |    00008711  __sys_err\r
-     00008713  __sys_ner |    00008715  __on_exit |    00008717  __ctype  \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-CDATA0                 000086A7    00000170 =         368. bytes (REL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-ECSTR                  00008817    00000000 =           0. bytes (NUL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-CCSTR                  00008817    00000000 =           0. bytes (REL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-CODE                   00004000    0000C27F =       49791. bytes (NUL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-     0000472B  GraphicsO |    000047C7  GraphicsC |    000047DF  Move     \r
-     0000481E  ClearRect |    00004861  DrawRectN |    000048A6  FillRect \r
-     000048EB  FillRectN |    00004930  GrayRect  |    00004975  Text     \r
-     000049A1  TouchRegi |    000049F8  ClearScre |    00004A35  EnableScr\r
-     00004A73  grSetFont |    00004AB0  fontSearc |    00004AE0  setCurren\r
-     00004B7C  loadFont  |    00004C23  stringwid |    00004C9C  stringhei\r
-     00004CB9  stringhei |    00004CCC  stringhei |    00004CD5  stringwid\r
-     00004CE6  stringwid |    00004CEF  stringwid |    00004CF8  Component\r
-     00004DA2  Component |    00004DEF  Component |    00004E4D  Component\r
-     00004E93  Component |    00004ED7  Component |    00004F0F  Component\r
-     000050E0  Component |    000050FF  Component |    00005168  Component\r
-     0000521B  Window_ha |    00005485  Window_pa |    00005611  Root_pain\r
-     00005648  Window_ad |    00005656  Window_ne |    000056A8  Button_ha\r
-     0000575F  Button_dr |    0000582D  Button_pa |    00005900  Button_ad\r
-     00005906  Button_ne |    00005958  ToggleBut |    000059F1  ToggleBut\r
-     00005ADD  ToggleBut |    00005B2F  Dialog_ha |    00005BE8  Dialog_ne\r
-     00005CD7  Display_h |    00005D55  Display_p |    00005E72  Display_n\r
-     00005ECC  Label_han |    00005ED2  Label_pai |    00005F33  Label_new\r
-     00005F8C  Transacti |    000065CA  rootWindo |    000065E8  screenbui\r
-     000069B0  root_acti |    00006CE5  read_stri |    00006DBA  gui_globa\r
-     00006DC0  GUIinit   |    00006EF0  GUIunit   |    00006F15  GUIgo    \r
-     00006F94  login     |    000070BD  login_act |    00007213  main     \r
-     0000727A  setgid    |    00007294  unix      |    000072AE  sprintf  \r
-     000072F2  strrchr   |    0000735A  fflush    |    0000756D  chdir    \r
-     00007582  _write    |    000075A1  setuid    |    000075BB  printf   \r
-     000075EA  lseek     |    00007617  __stdio_c |    00007682  __stdio_i\r
-     000076C0  setenv    |    0000793C  unsetenv  |    000079DC  close    \r
-     000079F1  strlen    |    00007A28  strcmp    |    00007AC9  perror   \r
-     00007B06  execv     |    00007B19  ioctl     |    00007B44  isatty   \r
-     00007B7F  fstat     |    00007B96  free      |    00007C76  getpwnam \r
-     00007CD8  setpwent  |    00007D1D  endpwent  |    00007D3C  getpwent \r
-     00007D5A  strcpy    |    00014000  __getpwen |    00014288  atoi     \r
-     0001441E  vfprintf  |    00014979  ltoa      |    000149DC  atol     \r
-     000149F2  __longtoa |    00014B86  itoa      |    00014BEF  crypt    \r
-     00014E9C  fputs     |    00014EFA  open      |    00014F25  malloc   \r
-     00015151  exit      |    00015181  _read     |    000151A0  memcmp   \r
-     0001520D  execve    |    0001522C  strerror  |    000153E9  memset   \r
-     00015429  memcpy    |    000154F7  on_exit   |    00015570  atexit   \r
-     00015583  strcat    |    000155A3  unix_long |    000155BD  strchr   \r
-     000155F8  _exit     |    00015693  strtoul   |    000157EA  fputc    \r
-     000158FC  toupper   |    00015921  tolower   |    00015946  ultoa    \r
-     0001599B  strtol    |    00015A43  sbrk     \r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-UDATA0                 00008817    000003B5 =         949. bytes (REL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-     00008817  _argc     |    00008819  _argv     |    0000881B  environ  \r
-     0000881D  errno     |    0000881F  __cleanup |    00008822  global   \r
-     00008824  trans     |    00008B44  __malloc_ |    00008B48  __malloc_\r
-     00008B9A  __on_exit\r
-Hexadecimal  [32-Bits]\r
-\r
-Area                       Addr        Size        Decimal Bytes (Attributes)\r
---------------------       ----        ----        ------- ----- ------------\r
-CSTACK                 00008BCC    00001000 =        4096. bytes (REL,CON)\r
-\r
-        Value  Global            Value  Global            Value  Global    \r
-        -----  ------            -----  ------            -----  ------    \r
-\r
-Files Linked                              [ module(s) ]\r
-\r
-..\..\lib\c0b.rel                         [ _c0b ]\r
-wnd                                       [ wnd ]\r
-login                                     [ login ]\r
-\r
-\r
-Libraries Linked                          [ object file ]\r
-\r
-..\..\lib\libsysb.lib                     [ relsysb\setgid.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\sys0b.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\sprintf.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LMUL.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\BANKLEAVEDIRECT.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strrchr.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\fflush.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\chdir.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\write.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SMUL.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\setuid.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\printf.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\lseek.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\stdio0.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\setenv.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\close.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strlen.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strcmp.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\CVSWITCH.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\perror.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\execv.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\ioctl.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LADDASG.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\isatty.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\fstat.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\free.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\getpwnam.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ENTPARMDIRECT.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\BANKCALLDIRECT.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\setpwent.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strcpy.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSSWITCH.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SVSWITCH.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSWITCHEND.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SLMOD.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\getpwent.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ENTAUTODIRECT.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\VSWITCHEND.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\atoi.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SLDIV.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\vfprintf.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\ltoa.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\atol.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSCMP.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\itoa.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LINC.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\crypt.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\fputs.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\open.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\USMOD.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSDIV.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULRSHASG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\USDIV.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LIBVERSION.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\malloc.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SLRSH.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULRSH.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\exit.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LDIVMOD.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\read.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\BANKLEAVE32.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SSRSH.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LLSH.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\memcmp.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\execve.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SDIVMOD.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\error.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SMULASG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LENDASG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LNOT.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\memset.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\memcpy.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\atexit.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LXOR.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strcat.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\sys1b.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LORASG.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strchr.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\_exit.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LEAVEDIRECT.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strtoul.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\fputc.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\ctype.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\ultoa.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\strtol.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LFINDSIGN.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULDIVASG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULMOD.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\SFINDSIGN.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\ULDIV.rel ]\r
-..\..\lib\libsysb.lib                     [ relsysb\sbrk.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LNEG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LMULASG.rel ]\r
-..\..\lib\libiar.lib                      [ reliar\LENDMULDIVASG.rel ]\r
-\r
-\r
-User Base Address Definitions\r
-\r
-l RCODE=0x8100\r
-l CODE=0x4000,0x10000\r
-c CODE=0x4000\r
index 5ceecf2..1e0e7a7 100644 (file)
@@ -202,7 +202,7 @@ T 17 02 00 00 00 00 00 00 CD 00 00 00 00 3E
 R 00 00 01 00 02 04 16 00 02 09 0F 00\r
 T 1D 02 00 00 00 00 00 00 21 00 00 00 00 CD\r
 R 00 00 01 00 2B 04 05 00 02 09 05 00\r
-T 22 02 00 00 00 00 00 00 01 10 00 09 36\r
+T 22 02 00 00 00 00 00 00 01 18 00 09 36\r
 R 00 00 01 00 02 04 0F 00\r
 T 29 02 00 00 0F 01 00 00 23 36 0F 01 00 00 23\r
 R 00 00 01 00 09 04 01 00 89 0A 01 00\r
index a448d5a..c110be5 100644 (file)
                                      29        EXTERN  ?ENT_PARM_DIRECT_L09\r
                                      30        EXTERN  ?ENT_AUTO_DIRECT_L09\r
                                      31        RSEG    CODE\r
-    000068C7                         32 login:\r
-    000068C7 FD E5                   33        PUSH    IY\r
-    000068C9 DD E5                   34        PUSH    IX\r
-    000068CB C5                      35        PUSH    BC\r
-    000068CC 21 C0 FF                36        LD      HL,65472\r
-    000068CF 39                      37        ADD     HL,SP\r
-    000068D0 F9                      38        LD      SP,HL\r
-    000068D1 D5                      39        PUSH    DE\r
-    000068D2 DD E1                   40        POP     IX\r
-    000068D4 21 0C 00                41        LD      HL,12\r
-    000068D7 19                      42        ADD     HL,DE\r
-    000068D8 7E                      43        LD      A,(HL)\r
-    000068D9 23                      44        INC     HL\r
-    000068DA 66                      45        LD      H,(HL)\r
-    000068DB 6F                      46        LD      L,A\r
-    000068DC AF                      47        XOR     A\r
-    000068DD B6                      48        OR      (HL)\r
-    000068DE 20 08                   49        JR      NZ,?0001\r
-    000068E0                         50 ?0000:\r
-    000068E0 DD 36 0C DE             51        LD      (IX+12),LOW(?0002)\r
-    000068E4 DD 36 0D 84             52        LD      (IX+13),HIGH(?0002)\r
-    000068E8                         53 ?0001:\r
-    000068E8 21 00 00                54        LD      HL,0\r
-    000068EB 39                      55        ADD     HL,SP\r
-    000068EC 36 2D                   56        LD      (HL),45\r
-    000068EE 01 2F 00                57        LD      BC,47\r
-    000068F1 DD 5E 0C                58        LD      E,(IX+12)\r
-    000068F4 DD 56 0D                59        LD      D,(IX+13)\r
-    000068F7 3E 00                   60        LD      A,BYTE3 strrchr\r
-    000068F9 21 41 6B                61        LD      HL,LWRD strrchr\r
-    000068FC CD 5E 81                62        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000068FF E5                      63        PUSH    HL\r
-    00006900 FD E1                   64        POP     IY\r
-    00006902 7D                      65        LD      A,L\r
-    00006903 B4                      66        OR      H\r
-    00006904 28 04                   67        JR      Z,?0004\r
-    00006906                         68 ?0003:\r
-    00006906 FD 23                   69        INC     IY\r
-    00006908 18 09                   70        JR      ?0005\r
-    0000690A                         71 ?0004:\r
-    0000690A DD 6E 0C                72        LD      L,(IX+12)\r
-    0000690D DD 66 0D                73        LD      H,(IX+13)\r
-    00006910 E5                      74        PUSH    HL\r
-    00006911 FD E1                   75        POP     IY\r
-    00006913                         76 ?0005:\r
-    00006913 FD E5                   77        PUSH    IY\r
-    00006915 C1                      78        POP     BC\r
-    00006916 21 00 00                79        LD      HL,0\r
-    00006919 39                      80        ADD     HL,SP\r
-    0000691A 11 01 00                81        LD      DE,1\r
-    0000691D 19                      82        ADD     HL,DE\r
-    0000691E EB                      83        EX      DE,HL\r
-    0000691F 3E 00                   84        LD      A,BYTE3 strcpy\r
-    00006921 21 C5 74                85        LD      HL,LWRD strcpy\r
-    00006924 CD 5E 81                86        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006927 21 00 00                87        LD      HL,0\r
-    0000692A 39                      88        ADD     HL,SP\r
-    0000692B E5                      89        PUSH    HL\r
-    0000692C 21 42 00                90        LD      HL,66\r
-    0000692F 39                      91        ADD     HL,SP\r
-    00006930 7E                      92        LD      A,(HL)\r
-    00006931 23                      93        INC     HL\r
-    00006932 66                      94        LD      H,(HL)\r
-    00006933 6F                      95        LD      L,A\r
-    00006934 C1                      96        POP     BC\r
-    00006935 71                      97        LD      (HL),C\r
-    00006936 23                      98        INC     HL\r
-    00006937 70                      99        LD      (HL),B\r
-    00006938 21 40 00               100        LD      HL,64\r
-    0000693B 39                     101        ADD     HL,SP\r
-    0000693C 47                     102        LD      B,A\r
-    0000693D 23                     103        INC     HL\r
-    0000693E 66                     104        LD      H,(HL)\r
-    0000693F 68                     105        LD      L,B\r
-    00006940 23                     106        INC     HL\r
-    00006941 23                     107        INC     HL\r
-    00006942 AF                     108        XOR     A\r
-    00006943 77                     109        LD      (HL),A\r
-    00006944 23                     110        INC     HL\r
-    00006945 77                     111        LD      (HL),A\r
-    00006946 DD 5E 06               112        LD      E,(IX+6)\r
-    00006949 DD 56 07               113        LD      D,(IX+7)\r
-    0000694C 3E 00                  114        LD      A,BYTE3 setgid\r
-    0000694E 21 0D 6B               115        LD      HL,LWRD setgid\r
-    00006951 CD 5E 81               116        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006954 DD 5E 04               117        LD      E,(IX+4)\r
-    00006957 DD 56 05               118        LD      D,(IX+5)\r
-    0000695A 3E 00                  119        LD      A,BYTE3 setuid\r
-    0000695C 21 F0 6D               120        LD      HL,LWRD setuid\r
-    0000695F CD 5E 81               121        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006962 DD 5E 0A               122        LD      E,(IX+10)\r
-    00006965 DD 56 0B               123        LD      D,(IX+11)\r
-    00006968 3E 00                  124        LD      A,BYTE3 chdir\r
-    0000696A 21 BC 6D               125        LD      HL,LWRD chdir\r
-    0000696D CD 5E 81               126        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006970 21 01 00               127        LD      HL,1\r
-    00006973 E5                     128        PUSH    HL\r
-    00006974 DD 4E 0A               129        LD      C,(IX+10)\r
-    00006977 DD 46 0B               130        LD      B,(IX+11)\r
-    0000697A 11 E6 84               131        LD      DE,?0006\r
-    0000697D 3E 00                  132        LD      A,BYTE3 setenv\r
-    0000697F 21 0F 6F               133        LD      HL,LWRD setenv\r
-    00006982 CD 5E 81               134        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006985 F1                     135        POP     AF\r
-    00006986 21 01 00               136        LD      HL,1\r
-    00006989 E5                     137        PUSH    HL\r
-    0000698A DD 4E 00               138        LD      C,(IX+0)\r
-    0000698D DD 46 01               139        LD      B,(IX+1)\r
-    00006990 11 EB 84               140        LD      DE,?0007\r
-    00006993 3E 00                  141        LD      A,BYTE3 setenv\r
-    00006995 21 0F 6F               142        LD      HL,LWRD setenv\r
-    00006998 CD 5E 81               143        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000699B F1                     144        POP     AF\r
-    0000699C 21 40 00               145        LD      HL,64\r
-    0000699F 39                     146        ADD     HL,SP\r
-    000069A0 4E                     147        LD      C,(HL)\r
-    000069A1 23                     148        INC     HL\r
-    000069A2 46                     149        LD      B,(HL)\r
-    000069A3 DD 5E 0C               150        LD      E,(IX+12)\r
-    000069A6 DD 56 0D               151        LD      D,(IX+13)\r
-    000069A9 3E 00                  152        LD      A,BYTE3 execv\r
-    000069AB 21 55 73               153        LD      HL,LWRD execv\r
-    000069AE CD 5E 81               154        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000069B1 DD 5E 0C               155        LD      E,(IX+12)\r
-    000069B4 DD 56 0D               156        LD      D,(IX+13)\r
-    000069B7 3E 00                  157        LD      A,BYTE3 perror\r
-    000069B9 21 18 73               158        LD      HL,LWRD perror\r
-    000069BC CD 5E 81               159        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000069BF 11 01 00               160        LD      DE,1\r
-    000069C2 3E 01                  161        LD      A,BYTE3 exit\r
-    000069C4 21 04 45               162        LD      HL,LWRD exit\r
-    000069C7 CD 5E 81               163        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000069CA 21 42 00               164        LD      HL,66\r
-    000069CD 39                     165        ADD     HL,SP\r
-    000069CE F9                     166        LD      SP,HL\r
-    000069CF DD E1                  167        POP     IX\r
-    000069D1 FD E1                  168        POP     IY\r
-    000069D3 C3 25 81               169        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000069D6                        170 login_actionhandler:\r
-    000069D6 CD 88 81               171        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000069D9 E0 FF                  172        DEFW    -32\r
-    000069DB FD E5                  173        PUSH    IY\r
-    000069DD DD 6E 02               174        LD      L,(IX+2)\r
-    000069E0 DD 66 03               175        LD      H,(IX+3)\r
-    000069E3 E5                     176        PUSH    HL\r
-    000069E4 FD E1                  177        POP     IY\r
-    000069E6 21 26 00               178        LD      HL,38\r
-    000069E9 DD 4E 02               179        LD      C,(IX+2)\r
-    000069EC DD 46 03               180        LD      B,(IX+3)\r
-    000069EF 09                     181        ADD     HL,BC\r
-    000069F0 46                     182        LD      B,(HL)\r
-    000069F1 23                     183        INC     HL\r
-    000069F2 66                     184        LD      H,(HL)\r
-    000069F3 68                     185        LD      L,B\r
-    000069F4 23                     186        INC     HL\r
-    000069F5 23                     187        INC     HL\r
-    000069F6 23                     188        INC     HL\r
-    000069F7 46                     189        LD      B,(HL)\r
-    000069F8 23                     190        INC     HL\r
-    000069F9 66                     191        LD      H,(HL)\r
-    000069FA 68                     192        LD      L,B\r
-    000069FB 01 01 01               193        LD      BC,257\r
-    000069FE A7                     194        AND     A\r
-    000069FF ED 42                  195        SBC     HL,BC\r
-    00006A01 C2 D3 6A               196        JP      NZ,?0009\r
-    00006A04                        197 ?0008:\r
-    00006A04 FD 6E 20               198        LD      L,(IY+32)\r
-    00006A07 FD 66 21               199        LD      H,(IY+33)\r
-    00006A0A 46                     200        LD      B,(HL)\r
-    00006A0B DD 70 EC               201        LD      (IX-20),B\r
-    00006A0E FD 6E 20               202        LD      L,(IY+32)\r
-    00006A11 FD 66 21               203        LD      H,(IY+33)\r
-    00006A14 23                     204        INC     HL\r
-    00006A15 46                     205        LD      B,(HL)\r
-    00006A16 DD 70 ED               206        LD      (IX-19),B\r
-    00006A19 DD 36 EE 00            207        LD      (IX-18),0\r
-    00006A1D FD 6E 20               208        LD      L,(IY+32)\r
-    00006A20 FD 66 21               209        LD      H,(IY+33)\r
-    00006A23 36 00                  210        LD      (HL),0\r
-    00006A25 21 0E 00               211        LD      HL,14\r
-    00006A28 39                     212        ADD     HL,SP\r
-    00006A29 EB                     213        EX      DE,HL\r
-    00006A2A 3E 00                  214        LD      A,BYTE3 atoi\r
-    00006A2C 21 39 75               215        LD      HL,LWRD atoi\r
-    00006A2F CD 5E 81               216        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006A32 EB                     217        EX      DE,HL\r
-    00006A33 3E 00                  218        LD      A,BYTE3 getpwuid\r
-    00006A35 21 EC 74               219        LD      HL,LWRD getpwuid\r
-    00006A38 CD 5E 81               220        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006A3B DD 75 E0               221        LD      (IX-32),L\r
-    00006A3E DD 74 E1               222        LD      (IX-31),H\r
-    00006A41 FD 4E 20               223        LD      C,(IY+32)\r
-    00006A44 FD 46 21               224        LD      B,(IY+33)\r
-    00006A47 03                     225        INC     BC\r
-    00006A48 03                     226        INC     BC\r
-    00006A49 DD 71 EA               227        LD      (IX-22),C\r
-    00006A4C DD 70 EB               228        LD      (IX-21),B\r
-    00006A4F 7D                     229        LD      A,L\r
-    00006A50 B4                     230        OR      H\r
-    00006A51 28 71                  231        JR      Z,?0013\r
-    00006A53                        232 ?0010:\r
-    00006A53 23                     233        INC     HL\r
-    00006A54 23                     234        INC     HL\r
-    00006A55 7E                     235        LD      A,(HL)\r
-    00006A56 23                     236        INC     HL\r
-    00006A57 66                     237        LD      H,(HL)\r
-    00006A58 6F                     238        LD      L,A\r
-    00006A59 46                     239        LD      B,(HL)\r
-    00006A5A DD 70 E2               240        LD      (IX-30),B\r
-    00006A5D DD 6E E0               241        LD      L,(IX-32)\r
-    00006A60 DD 66 E1               242        LD      H,(IX-31)\r
-    00006A63 23                     243        INC     HL\r
-    00006A64 23                     244        INC     HL\r
-    00006A65 46                     245        LD      B,(HL)\r
-    00006A66 23                     246        INC     HL\r
-    00006A67 66                     247        LD      H,(HL)\r
-    00006A68 68                     248        LD      L,B\r
-    00006A69 23                     249        INC     HL\r
-    00006A6A 46                     250        LD      B,(HL)\r
-    00006A6B DD 70 E3               251        LD      (IX-29),B\r
-    00006A6E DD 36 E4 00            252        LD      (IX-28),0\r
-    00006A72 21 04 00               253        LD      HL,4\r
-    00006A75 39                     254        ADD     HL,SP\r
-    00006A76 4D                     255        LD      C,L\r
-    00006A77 44                     256        LD      B,H\r
-    00006A78 DD 5E EA               257        LD      E,(IX-22)\r
-    00006A7B DD 56 EB               258        LD      D,(IX-21)\r
-    00006A7E 3E 01                  259        LD      A,BYTE3 crypt\r
-    00006A80 21 00 40               260        LD      HL,LWRD crypt\r
-    00006A83 CD 5E 81               261        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006A86 DD 75 E8               262        LD      (IX-24),L\r
-    00006A89 DD 74 E9               263        LD      (IX-23),H\r
-    00006A8C DD 4E E0               264        LD      C,(IX-32)\r
-    00006A8F DD 46 E1               265        LD      B,(IX-31)\r
-    00006A92 03                     266        INC     BC\r
-    00006A93 03                     267        INC     BC\r
-    00006A94 69                     268        LD      L,C\r
-    00006A95 60                     269        LD      H,B\r
-    00006A96 4E                     270        LD      C,(HL)\r
-    00006A97 23                     271        INC     HL\r
-    00006A98 46                     272        LD      B,(HL)\r
-    00006A99 DD 5E E8               273        LD      E,(IX-24)\r
-    00006A9C DD 56 E9               274        LD      D,(IX-23)\r
-    00006A9F 3E 00                  275        LD      A,BYTE3 strcmp\r
-    00006AA1 21 77 72               276        LD      HL,LWRD strcmp\r
-    00006AA4 CD 5E 81               277        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AA7 7D                     278        LD      A,L\r
-    00006AA8 B4                     279        OR      H\r
-    00006AA9 20 19                  280        JR      NZ,?0013\r
-    00006AAB                        281 ?0012:\r
-    00006AAB 3E 00                  282        LD      A,BYTE3 ClearScreen\r
-    00006AAD 21 86 48               283        LD      HL,LWRD ClearScreen\r
-    00006AB0 CD 5E 81               284        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AB3 01 00 00               285        LD      BC,0\r
-    00006AB6 DD 5E E0               286        LD      E,(IX-32)\r
-    00006AB9 DD 56 E1               287        LD      D,(IX-31)\r
-    00006ABC 3E 00                  288        LD      A,BYTE3 login\r
-    00006ABE 21 C7 68               289        LD      HL,LWRD login\r
-    00006AC1 CD 5E 81               290        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AC4                        291 ?0013:\r
-    00006AC4                        292 ?0011:\r
-    00006AC4 FD E5                  293        PUSH    IY\r
-    00006AC6 D1                     294        POP     DE\r
-    00006AC7 FD 7E 1C               295        LD      A,(IY+28)\r
-    00006ACA FD 6E 1A               296        LD      L,(IY+26)\r
-    00006ACD FD 66 1B               297        LD      H,(IY+27)\r
-    00006AD0 CD 5E 81               298        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AD3                        299 ?0009:\r
-    00006AD3 FD E1                  300        POP     IY\r
-    00006AD5 C3 1F 81               301        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00006AD8                        302 main:\r
-    00006AD8 CD 52 81               303        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00006ADB 3E 00                  304        LD      A,BYTE3 GUIinit\r
-    00006ADD 21 BA 66               305        LD      HL,LWRD GUIinit\r
-    00006AE0 CD 5E 81               306        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AE3 3E 00                  307        LD      A,BYTE3 gui_globals\r
-    00006AE5 21 B4 66               308        LD      HL,LWRD gui_globals\r
-    00006AE8 CD 5E 81               309        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AEB 01 10 00               310        LD      BC,16\r
-    00006AEE 09                     311        ADD     HL,BC\r
-    00006AEF 36 D6                  312        LD      (HL),LOW(login_actionhandler)\r
-    00006AF1 23                     313        INC     HL\r
-    00006AF2 36 69                  314        LD      (HL),HIGH(login_actionhandler)\r
-    00006AF4 23                     315        INC     HL\r
-    00006AF5 36 00                  316        LD      (HL),BYTE3 login_actionhandler\r
-    00006AF7 11 F0 84               317        LD      DE,?0014\r
-    00006AFA 3E 00                  318        LD      A,BYTE3 GUIgo\r
-    00006AFC 21 06 68               319        LD      HL,LWRD GUIgo\r
-    00006AFF CD 5E 81               320        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006B02 3E 00                  321        LD      A,BYTE3 GUIunit\r
-    00006B04 21 E1 67               322        LD      HL,LWRD GUIunit\r
-    00006B07 CD 5E 81               323        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006B0A C3 1F 81               324        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00006A7E                         32 login:\r
+    00006A7E FD E5                   33        PUSH    IY\r
+    00006A80 DD E5                   34        PUSH    IX\r
+    00006A82 C5                      35        PUSH    BC\r
+    00006A83 21 C0 FF                36        LD      HL,65472\r
+    00006A86 39                      37        ADD     HL,SP\r
+    00006A87 F9                      38        LD      SP,HL\r
+    00006A88 D5                      39        PUSH    DE\r
+    00006A89 DD E1                   40        POP     IX\r
+    00006A8B 21 0C 00                41        LD      HL,12\r
+    00006A8E 19                      42        ADD     HL,DE\r
+    00006A8F 7E                      43        LD      A,(HL)\r
+    00006A90 23                      44        INC     HL\r
+    00006A91 66                      45        LD      H,(HL)\r
+    00006A92 6F                      46        LD      L,A\r
+    00006A93 AF                      47        XOR     A\r
+    00006A94 B6                      48        OR      (HL)\r
+    00006A95 20 08                   49        JR      NZ,?0001\r
+    00006A97                         50 ?0000:\r
+    00006A97 DD 36 0C DD             51        LD      (IX+12),LOW(?0002)\r
+    00006A9B DD 36 0D 84             52        LD      (IX+13),HIGH(?0002)\r
+    00006A9F                         53 ?0001:\r
+    00006A9F 21 00 00                54        LD      HL,0\r
+    00006AA2 39                      55        ADD     HL,SP\r
+    00006AA3 36 2D                   56        LD      (HL),45\r
+    00006AA5 01 2F 00                57        LD      BC,47\r
+    00006AA8 DD 5E 0C                58        LD      E,(IX+12)\r
+    00006AAB DD 56 0D                59        LD      D,(IX+13)\r
+    00006AAE 3E 00                   60        LD      A,BYTE3 strrchr\r
+    00006AB0 21 F8 6C                61        LD      HL,LWRD strrchr\r
+    00006AB3 CD 5E 81                62        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006AB6 E5                      63        PUSH    HL\r
+    00006AB7 FD E1                   64        POP     IY\r
+    00006AB9 7D                      65        LD      A,L\r
+    00006ABA B4                      66        OR      H\r
+    00006ABB 28 04                   67        JR      Z,?0004\r
+    00006ABD                         68 ?0003:\r
+    00006ABD FD 23                   69        INC     IY\r
+    00006ABF 18 09                   70        JR      ?0005\r
+    00006AC1                         71 ?0004:\r
+    00006AC1 DD 6E 0C                72        LD      L,(IX+12)\r
+    00006AC4 DD 66 0D                73        LD      H,(IX+13)\r
+    00006AC7 E5                      74        PUSH    HL\r
+    00006AC8 FD E1                   75        POP     IY\r
+    00006ACA                         76 ?0005:\r
+    00006ACA FD E5                   77        PUSH    IY\r
+    00006ACC C1                      78        POP     BC\r
+    00006ACD 21 00 00                79        LD      HL,0\r
+    00006AD0 39                      80        ADD     HL,SP\r
+    00006AD1 11 01 00                81        LD      DE,1\r
+    00006AD4 19                      82        ADD     HL,DE\r
+    00006AD5 EB                      83        EX      DE,HL\r
+    00006AD6 3E 00                   84        LD      A,BYTE3 strcpy\r
+    00006AD8 21 4D 76                85        LD      HL,LWRD strcpy\r
+    00006ADB CD 5E 81                86        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006ADE 21 00 00                87        LD      HL,0\r
+    00006AE1 39                      88        ADD     HL,SP\r
+    00006AE2 E5                      89        PUSH    HL\r
+    00006AE3 21 42 00                90        LD      HL,66\r
+    00006AE6 39                      91        ADD     HL,SP\r
+    00006AE7 7E                      92        LD      A,(HL)\r
+    00006AE8 23                      93        INC     HL\r
+    00006AE9 66                      94        LD      H,(HL)\r
+    00006AEA 6F                      95        LD      L,A\r
+    00006AEB C1                      96        POP     BC\r
+    00006AEC 71                      97        LD      (HL),C\r
+    00006AED 23                      98        INC     HL\r
+    00006AEE 70                      99        LD      (HL),B\r
+    00006AEF 21 40 00               100        LD      HL,64\r
+    00006AF2 39                     101        ADD     HL,SP\r
+    00006AF3 47                     102        LD      B,A\r
+    00006AF4 23                     103        INC     HL\r
+    00006AF5 66                     104        LD      H,(HL)\r
+    00006AF6 68                     105        LD      L,B\r
+    00006AF7 23                     106        INC     HL\r
+    00006AF8 23                     107        INC     HL\r
+    00006AF9 AF                     108        XOR     A\r
+    00006AFA 77                     109        LD      (HL),A\r
+    00006AFB 23                     110        INC     HL\r
+    00006AFC 77                     111        LD      (HL),A\r
+    00006AFD DD 5E 06               112        LD      E,(IX+6)\r
+    00006B00 DD 56 07               113        LD      D,(IX+7)\r
+    00006B03 3E 00                  114        LD      A,BYTE3 setgid\r
+    00006B05 21 C4 6C               115        LD      HL,LWRD setgid\r
+    00006B08 CD 5E 81               116        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B0B DD 5E 04               117        LD      E,(IX+4)\r
+    00006B0E DD 56 05               118        LD      D,(IX+5)\r
+    00006B11 3E 00                  119        LD      A,BYTE3 setuid\r
+    00006B13 21 A7 6F               120        LD      HL,LWRD setuid\r
+    00006B16 CD 5E 81               121        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B19 DD 5E 0A               122        LD      E,(IX+10)\r
+    00006B1C DD 56 0B               123        LD      D,(IX+11)\r
+    00006B1F 3E 00                  124        LD      A,BYTE3 chdir\r
+    00006B21 21 73 6F               125        LD      HL,LWRD chdir\r
+    00006B24 CD 5E 81               126        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B27 21 01 00               127        LD      HL,1\r
+    00006B2A E5                     128        PUSH    HL\r
+    00006B2B DD 4E 0A               129        LD      C,(IX+10)\r
+    00006B2E DD 46 0B               130        LD      B,(IX+11)\r
+    00006B31 11 E5 84               131        LD      DE,?0006\r
+    00006B34 3E 00                  132        LD      A,BYTE3 setenv\r
+    00006B36 21 97 70               133        LD      HL,LWRD setenv\r
+    00006B39 CD 5E 81               134        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B3C F1                     135        POP     AF\r
+    00006B3D 21 01 00               136        LD      HL,1\r
+    00006B40 E5                     137        PUSH    HL\r
+    00006B41 DD 4E 00               138        LD      C,(IX+0)\r
+    00006B44 DD 46 01               139        LD      B,(IX+1)\r
+    00006B47 11 EA 84               140        LD      DE,?0007\r
+    00006B4A 3E 00                  141        LD      A,BYTE3 setenv\r
+    00006B4C 21 97 70               142        LD      HL,LWRD setenv\r
+    00006B4F CD 5E 81               143        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B52 F1                     144        POP     AF\r
+    00006B53 21 40 00               145        LD      HL,64\r
+    00006B56 39                     146        ADD     HL,SP\r
+    00006B57 4E                     147        LD      C,(HL)\r
+    00006B58 23                     148        INC     HL\r
+    00006B59 46                     149        LD      B,(HL)\r
+    00006B5A DD 5E 0C               150        LD      E,(IX+12)\r
+    00006B5D DD 56 0D               151        LD      D,(IX+13)\r
+    00006B60 3E 00                  152        LD      A,BYTE3 execv\r
+    00006B62 21 DD 74               153        LD      HL,LWRD execv\r
+    00006B65 CD 5E 81               154        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B68 DD 5E 0C               155        LD      E,(IX+12)\r
+    00006B6B DD 56 0D               156        LD      D,(IX+13)\r
+    00006B6E 3E 00                  157        LD      A,BYTE3 perror\r
+    00006B70 21 A0 74               158        LD      HL,LWRD perror\r
+    00006B73 CD 5E 81               159        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B76 11 01 00               160        LD      DE,1\r
+    00006B79 3E 00                  161        LD      A,BYTE3 exit\r
+    00006B7B 21 5D 7C               162        LD      HL,LWRD exit\r
+    00006B7E CD 5E 81               163        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B81 21 42 00               164        LD      HL,66\r
+    00006B84 39                     165        ADD     HL,SP\r
+    00006B85 F9                     166        LD      SP,HL\r
+    00006B86 DD E1                  167        POP     IX\r
+    00006B88 FD E1                  168        POP     IY\r
+    00006B8A C3 25 81               169        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00006B8D                        170 login_actionhandler:\r
+    00006B8D CD 88 81               171        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00006B90 E0 FF                  172        DEFW    -32\r
+    00006B92 FD E5                  173        PUSH    IY\r
+    00006B94 DD 6E 02               174        LD      L,(IX+2)\r
+    00006B97 DD 66 03               175        LD      H,(IX+3)\r
+    00006B9A E5                     176        PUSH    HL\r
+    00006B9B FD E1                  177        POP     IY\r
+    00006B9D 21 26 00               178        LD      HL,38\r
+    00006BA0 DD 4E 02               179        LD      C,(IX+2)\r
+    00006BA3 DD 46 03               180        LD      B,(IX+3)\r
+    00006BA6 09                     181        ADD     HL,BC\r
+    00006BA7 46                     182        LD      B,(HL)\r
+    00006BA8 23                     183        INC     HL\r
+    00006BA9 66                     184        LD      H,(HL)\r
+    00006BAA 68                     185        LD      L,B\r
+    00006BAB 23                     186        INC     HL\r
+    00006BAC 23                     187        INC     HL\r
+    00006BAD 23                     188        INC     HL\r
+    00006BAE 46                     189        LD      B,(HL)\r
+    00006BAF 23                     190        INC     HL\r
+    00006BB0 66                     191        LD      H,(HL)\r
+    00006BB1 68                     192        LD      L,B\r
+    00006BB2 01 01 01               193        LD      BC,257\r
+    00006BB5 A7                     194        AND     A\r
+    00006BB6 ED 42                  195        SBC     HL,BC\r
+    00006BB8 C2 8A 6C               196        JP      NZ,?0009\r
+    00006BBB                        197 ?0008:\r
+    00006BBB FD 6E 20               198        LD      L,(IY+32)\r
+    00006BBE FD 66 21               199        LD      H,(IY+33)\r
+    00006BC1 46                     200        LD      B,(HL)\r
+    00006BC2 DD 70 EC               201        LD      (IX-20),B\r
+    00006BC5 FD 6E 20               202        LD      L,(IY+32)\r
+    00006BC8 FD 66 21               203        LD      H,(IY+33)\r
+    00006BCB 23                     204        INC     HL\r
+    00006BCC 46                     205        LD      B,(HL)\r
+    00006BCD DD 70 ED               206        LD      (IX-19),B\r
+    00006BD0 DD 36 EE 00            207        LD      (IX-18),0\r
+    00006BD4 FD 6E 20               208        LD      L,(IY+32)\r
+    00006BD7 FD 66 21               209        LD      H,(IY+33)\r
+    00006BDA 36 00                  210        LD      (HL),0\r
+    00006BDC 21 0E 00               211        LD      HL,14\r
+    00006BDF 39                     212        ADD     HL,SP\r
+    00006BE0 EB                     213        EX      DE,HL\r
+    00006BE1 3E 00                  214        LD      A,BYTE3 atoi\r
+    00006BE3 21 C1 76               215        LD      HL,LWRD atoi\r
+    00006BE6 CD 5E 81               216        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006BE9 EB                     217        EX      DE,HL\r
+    00006BEA 3E 00                  218        LD      A,BYTE3 getpwuid\r
+    00006BEC 21 74 76               219        LD      HL,LWRD getpwuid\r
+    00006BEF CD 5E 81               220        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006BF2 DD 75 E0               221        LD      (IX-32),L\r
+    00006BF5 DD 74 E1               222        LD      (IX-31),H\r
+    00006BF8 FD 4E 20               223        LD      C,(IY+32)\r
+    00006BFB FD 46 21               224        LD      B,(IY+33)\r
+    00006BFE 03                     225        INC     BC\r
+    00006BFF 03                     226        INC     BC\r
+    00006C00 DD 71 EA               227        LD      (IX-22),C\r
+    00006C03 DD 70 EB               228        LD      (IX-21),B\r
+    00006C06 7D                     229        LD      A,L\r
+    00006C07 B4                     230        OR      H\r
+    00006C08 28 71                  231        JR      Z,?0013\r
+    00006C0A                        232 ?0010:\r
+    00006C0A 23                     233        INC     HL\r
+    00006C0B 23                     234        INC     HL\r
+    00006C0C 7E                     235        LD      A,(HL)\r
+    00006C0D 23                     236        INC     HL\r
+    00006C0E 66                     237        LD      H,(HL)\r
+    00006C0F 6F                     238        LD      L,A\r
+    00006C10 46                     239        LD      B,(HL)\r
+    00006C11 DD 70 E2               240        LD      (IX-30),B\r
+    00006C14 DD 6E E0               241        LD      L,(IX-32)\r
+    00006C17 DD 66 E1               242        LD      H,(IX-31)\r
+    00006C1A 23                     243        INC     HL\r
+    00006C1B 23                     244        INC     HL\r
+    00006C1C 46                     245        LD      B,(HL)\r
+    00006C1D 23                     246        INC     HL\r
+    00006C1E 66                     247        LD      H,(HL)\r
+    00006C1F 68                     248        LD      L,B\r
+    00006C20 23                     249        INC     HL\r
+    00006C21 46                     250        LD      B,(HL)\r
+    00006C22 DD 70 E3               251        LD      (IX-29),B\r
+    00006C25 DD 36 E4 00            252        LD      (IX-28),0\r
+    00006C29 21 04 00               253        LD      HL,4\r
+    00006C2C 39                     254        ADD     HL,SP\r
+    00006C2D 4D                     255        LD      C,L\r
+    00006C2E 44                     256        LD      B,H\r
+    00006C2F DD 5E EA               257        LD      E,(IX-22)\r
+    00006C32 DD 56 EB               258        LD      D,(IX-21)\r
+    00006C35 3E 00                  259        LD      A,BYTE3 crypt\r
+    00006C37 21 59 77               260        LD      HL,LWRD crypt\r
+    00006C3A CD 5E 81               261        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C3D DD 75 E8               262        LD      (IX-24),L\r
+    00006C40 DD 74 E9               263        LD      (IX-23),H\r
+    00006C43 DD 4E E0               264        LD      C,(IX-32)\r
+    00006C46 DD 46 E1               265        LD      B,(IX-31)\r
+    00006C49 03                     266        INC     BC\r
+    00006C4A 03                     267        INC     BC\r
+    00006C4B 69                     268        LD      L,C\r
+    00006C4C 60                     269        LD      H,B\r
+    00006C4D 4E                     270        LD      C,(HL)\r
+    00006C4E 23                     271        INC     HL\r
+    00006C4F 46                     272        LD      B,(HL)\r
+    00006C50 DD 5E E8               273        LD      E,(IX-24)\r
+    00006C53 DD 56 E9               274        LD      D,(IX-23)\r
+    00006C56 3E 00                  275        LD      A,BYTE3 strcmp\r
+    00006C58 21 FF 73               276        LD      HL,LWRD strcmp\r
+    00006C5B CD 5E 81               277        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C5E 7D                     278        LD      A,L\r
+    00006C5F B4                     279        OR      H\r
+    00006C60 20 19                  280        JR      NZ,?0013\r
+    00006C62                        281 ?0012:\r
+    00006C62 3E 00                  282        LD      A,BYTE3 ClearScreen\r
+    00006C64 21 20 49               283        LD      HL,LWRD ClearScreen\r
+    00006C67 CD 5E 81               284        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C6A 01 00 00               285        LD      BC,0\r
+    00006C6D DD 5E E0               286        LD      E,(IX-32)\r
+    00006C70 DD 56 E1               287        LD      D,(IX-31)\r
+    00006C73 3E 00                  288        LD      A,BYTE3 login\r
+    00006C75 21 7E 6A               289        LD      HL,LWRD login\r
+    00006C78 CD 5E 81               290        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C7B                        291 ?0013:\r
+    00006C7B                        292 ?0011:\r
+    00006C7B FD E5                  293        PUSH    IY\r
+    00006C7D D1                     294        POP     DE\r
+    00006C7E FD 7E 1C               295        LD      A,(IY+28)\r
+    00006C81 FD 6E 1A               296        LD      L,(IY+26)\r
+    00006C84 FD 66 1B               297        LD      H,(IY+27)\r
+    00006C87 CD 5E 81               298        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C8A                        299 ?0009:\r
+    00006C8A FD E1                  300        POP     IY\r
+    00006C8C C3 1F 81               301        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00006C8F                        302 main:\r
+    00006C8F CD 52 81               303        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00006C92 3E 00                  304        LD      A,BYTE3 GUIinit\r
+    00006C94 21 6F 67               305        LD      HL,LWRD GUIinit\r
+    00006C97 CD 5E 81               306        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C9A 3E 00                  307        LD      A,BYTE3 gui_globals\r
+    00006C9C 21 69 67               308        LD      HL,LWRD gui_globals\r
+    00006C9F CD 5E 81               309        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006CA2 01 18 00               310        LD      BC,24\r
+    00006CA5 09                     311        ADD     HL,BC\r
+    00006CA6 36 8D                  312        LD      (HL),LOW(login_actionhandler)\r
+    00006CA8 23                     313        INC     HL\r
+    00006CA9 36 6B                  314        LD      (HL),HIGH(login_actionhandler)\r
+    00006CAB 23                     315        INC     HL\r
+    00006CAC 36 00                  316        LD      (HL),BYTE3 login_actionhandler\r
+    00006CAE 11 EF 84               317        LD      DE,?0014\r
+    00006CB1 3E 00                  318        LD      A,BYTE3 GUIgo\r
+    00006CB3 21 BB 68               319        LD      HL,LWRD GUIgo\r
+    00006CB6 CD 5E 81               320        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006CB9 3E 00                  321        LD      A,BYTE3 GUIunit\r
+    00006CBB 21 96 68               322        LD      HL,LWRD GUIunit\r
+    00006CBE CD 5E 81               323        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006CC1 C3 1F 81               324        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
                                     325        RSEG    CSTR\r
-    000084DE                        326 ?0002:\r
-    000084DE 2F 62 69 6E 2F 73 68   327        DEFB    '/bin/sh'\r
-    000084E5 00                     328        DEFB    0\r
-    000084E6                        329 ?0006:\r
-    000084E6 48 4F 4D 45            330        DEFB    'HOME'\r
-    000084EA 00                     331        DEFB    0\r
-    000084EB                        332 ?0007:\r
-    000084EB 55 53 45 52            333        DEFB    'USER'\r
-    000084EF 00                     334        DEFB    0\r
-    000084F0                        335 ?0014:\r
-    000084F0 2F 77 6E 64 2F 6C 6F   336        DEFB    '/wnd/logn.scr'\r
+    000084DD                        326 ?0002:\r
+    000084DD 2F 62 69 6E 2F 73 68   327        DEFB    '/bin/sh'\r
+    000084E4 00                     328        DEFB    0\r
+    000084E5                        329 ?0006:\r
+    000084E5 48 4F 4D 45            330        DEFB    'HOME'\r
+    000084E9 00                     331        DEFB    0\r
+    000084EA                        332 ?0007:\r
+    000084EA 55 53 45 52            333        DEFB    'USER'\r
+    000084EE 00                     334        DEFB    0\r
+    000084EF                        335 ?0014:\r
+    000084EF 2F 77 6E 64 2F 6C 6F   336        DEFB    '/wnd/logn.scr'\r
              67 6E 2E 73 63 72\r
-    000084FD 00                     337        DEFB    0\r
+    000084FC 00                     337        DEFB    0\r
     00000020                        338        END\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
 Hexadecimal [32-Bits]\r
index 90e53fb..badf199 100644 (file)
@@ -307,7 +307,7 @@ main:
        LD      A,BYTE3 gui_globals\r
        LD      HL,LWRD gui_globals\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      BC,16\r
+       LD      BC,24\r
        ADD     HL,BC\r
        LD      (HL),LOW(login_actionhandler)\r
        INC     HL\r
index 3e56b36..b5bd020 100644 (file)
@@ -15,9 +15,9 @@ link-z80 -f wnd
 ihex2bin -l grlogin.i86 ..\..\bin\banked\grlogin\r
 @if errorlevel 1 goto failure\r
 \r
-rem cd ..\..\bin\r
-rem call appinst.bat\r
-rem cd ..\src\gui\r
+cd ..\..\bin\r
+call appinst.bat\r
+cd ..\src\gui\r
 \r
 @echo SUCCESS\r
 @goto done\r
index be22e8f..f7e61fb 100644 (file)
@@ -21,9 +21,9 @@ link-z80 -f test
 ihex2bin -l test.i86 ..\..\bin\banked\test\r
 @if errorlevel 1 goto failure\r
 \r
-rem cd ..\..\bin\r
-rem call appinst.bat\r
-rem cd ..\src\gui\r
+cd ..\..\bin\r
+call appinst.bat\r
+cd ..\src\gui\r
 \r
 @echo SUCCESS\r
 @goto done\r
index 2ef63cb..7ac9370 100644 (file)
@@ -1,10 +1,12 @@
 #include <wnd.h>\r
 #include <trans.h>\r
+#include <syscalls.h>\r
 \r
 void main(void){\r
        GUIinit();\r
        Transaction_init();\r
        gui_globals()->actionhandler=Transaction_handler;\r
-       GUIgo("/wnd/0000.scr"); /* Nick added /wnd/ */\r
+       chdir("/wnd");\r
+       GUIgo("/wnd/0000.scr");\r
        GUIunit();\r
 }
\ No newline at end of file
index 1627a04..991c9da 100644 (file)
 :020000040000FA\r
-:20000000C9A602007856341214000081008134877B897B99D1ED533487C1ED433687E122F5\r
-:13002000388721DD6F3E00CDFB81EB212C423E01C3FB8122\r
-:20064800CD7A82F8FF21060039EB21AF84010200EDB02A3F872323E50303C501E384C53E42\r
-:200668000021CD7ECDFB81F1F14D44E171237021000039E5210000E52A3F8723234E234633\r
-:20068800C53E0021E273CDFB81F1F1F1DD36FC60DD36FD0021000039E5210100E52A3F8708\r
-:2006A80023234E2346C53E0021E273CDFB81F1F1F1210200E52E08394D442A3F8723235E04\r
-:2006C80023563E00217272CDFB81F1C3A381D52A3F8723235E23563E00219673CDFB81D1D1\r
-:2006E800C3A981CD7A82FCFF21000039EB21B184010400EDB0DD4602DD70FEDD4604DD7020\r
-:20070800FF210400E52B2BC3BF464DC3C1462A3F8723235E23563E00C3CC46CDFB81F1C376\r
-:20072800A381CD7A82FCFF21000039EB21B584010400EDB0DD4602DD70FEDD4604DD70FFA5\r
-:20074800210400E52B2BC3BF464DC313472A3F87C3C54623C31B4723563E00C3CC46CDFBA5\r
-:2007680081F1C3A381CD7A82FCFF21000039EB21B984010400EDB0DD4602DD70FEDD460478\r
-:20078800DD70FF210400E52B2BC3BF464DC313472A3F87C3584723C3C74623C31D473E00A6\r
-:2007A800C36347CDFB81F1C3A381CD7A82FCFF21000039EB21BD84010400EDB0DD4602DD94\r
-:2007C80070FEDD4604DD70FF210400E52B2BC3BF464DC313472A3F87C3584723C39F47235D\r
-:2007E800C3C9463E00C32047CDFB81F1C3A381CD7A82FCFF21000039EB21C184010400ED35\r
-:20080800B0DD4602DD70FEDD4604DD70FF210400E52B2BC3BF464DC313472A3F87C3584759\r
-:2008280023C39F4723C3E8473E00C3CC46CDFB81F1C3A381CD7A82FCFF21000039EB21C5AC\r
-:2008480084010400EDB0DD4602DD70FEDD4604DD70FF210400E52B2BC3BF464DC313472ACB\r
-:200868003F87C3584723C39F4723C3E8473E00C33248CDFB81F1C3A381C5FDE5DDE5D5DDB0\r
-:20088800E13E0021AB73CDFB81E5DDE5C12A3F8723235E23563E00217272CDFB81F1DDE1F9\r
-:2008A800FDE1C1C3A981CD7A82F8FF21000039EB21C984010700EDB0DD4602DD70FADD46FD\r
-:2008C80004DD70FBDD460ADD70FCDD460CDD70FDDD460EDD70FE210700E52E02C3BF464D07\r
-:2008E800C313472A3F87C3584723C39F4723C3E8473E00C33248CDFB81F1C3A381C5D5CD9D\r
-:200908001F49CDFB81218000E56CE5E5CD3749E1E1E1D1C1C3A98101000059503E0021EBFF\r
-:2009280046CDFB8101800058503E00212A47C94D44EB3E0021AE48C3FB81CD7A82FCFF2169\r
-:20094800000039EB21D084010300EDB0DD4602DD70FE210300E52BC3BF464DC313472A3F16\r
-:2009680087C3584723C39F4723C3E8473E00C33248CDFB81F1C3A381CD7A82FEFF21000022\r
-:2009880039EB21D384010200EDB0DD4602DD70FF210200E5C3BF464DC313472A3F87C3585D\r
-:2009A8004723C39F4723C3E8473E00C33248CDFB81F1C3A381CD7A820000210C00ED4B3FFE\r
-:2009C800870946236668EB7BB228166B6246236668DD4E02DD4603ED4228062108001918E4\r
-:2009E800E1EBC3A381CDEF813E0021BD49CD6A4A2829DD5E02DD56033E00218049CDFB81E4\r
-:200A0800210A00ED4B3F8709E5DD5E02DD56033E0021BD49CD754AE1712370C3A381ED4B4F\r
-:200A28003F87094623666823234E2346237E6960CDFB814D44FD6E06FD6607A7ED42EB01CA\r
-:200A48000200CDEB82DD6E04DD660519EB3E0021EB46C9CDFB814D44FD6E08FD6609A7ED11\r
-:200A680042C9CDFB817DB4C93E01210040CDFB814D44C9CD7A82FCFFFDE5110E00CD164BEA\r
-:200A8800DD4E0271DD46032370DD460CDD6E0AFD7502DD660BFD7403FD7004DD4610DD6E4E\r
-:200AA8000EFD7505DD660FFD7406FD7007AFFD7708FD7709DD6E12FD750ADD6613FD740B19\r
-:200AC800DD6E14FD750CDD6615FD740D210C00ED4B3F87097E23B6210C00ED4B3F8709207C\r
-:200AE80010FDE5C1712370210A00ED4B3F8709181246236668EB210800197E23B6210800F7\r
-:200B08001920EEFDE5C1712370FDE1C3A3813E01210040CDFB81E5FDE1C9FDE5DDE5C5D587\r
-:200B2800DD210000FD210000FDE5210200394E2346E1097EB72850FDE5E1095ECDC4810ABF\r
-:200B480000212C2E3149696A6B6C727D4B784B6E4B784B784B694B694B734B734B734B69A7\r
-:200B68004B0102001812010300180D01040018080105001803010600DD09210200394E23CC\r
-:200B880046DD09FD2318A1DDE5E1F1F1DDE1FDE1C3A981CDEF817BFE803006210700091885\r
-:200BA8000CFECC38083EDFBB3803696023C3A381CDEF810100001A5F3E00219B4BCDFB81EC\r
-:200BC800C3A381CDEF81010500C3BE4BCDEF810100003E0021224BCDFB81C3A381CDEF81A0\r
-:200BE800010200C3DA4BCDEF81010300C3DA4BCD7A820000FDE5112800CD164B2A3F875E79\r
-:200C0800235613722B73FDE5E1732372DD6E02FD7502DD6603FD7403FD7104FD7005DD6EBB\r
-:200C28000AFD7506DD660BFD7407DD6E0CFD7508DD660DFD7409AFFD770AFD770BFD770C9D\r
-:200C4800FD770DFD770EFD770FFD7710FD7711FD7712FD7713FD7714FD7715FD7716FD77E1\r
-:200C680017FD7718FD7719FD771AFD771BFD771CFD771DFD771EFD771FFD7724FD7725FDAB\r
-:200C88007726FD7727FD7720FD7721FD7722FD7723FDE5E1FDE1C3A381CD7A820000FDE58B\r
-:200CA800DD6E02DD6603E5FDE1110000DD6E04DD6605197EB728210114806B6278AC67EDBD\r
-:200CC800423015FD6E20FD662119E5DD6E04DD66051946E1701318D4FD6E20FD66211936D4\r
-:200CE80000FDE1C3A381CD7A820000FDE55950211500DD4E02DD4603097E23666FE5FDE108\r
-:200D0800211500097E23B62009211500097323721819FD7E13FDB614280BFD6E13FD661417\r
-:200D2800E5FDE118EDFD7313FD72142113001977237721110019DD4E0271DD46032370FDE0\r
-:200D4800E1C3A381C5FDE5DDE52115001946236668E5DDE1CD884DDDE5E17DB4281ADDE5B7\r
-:200D6800D1DD7E1CDD6E1ADD661BCDFB81DD6E13DD6614E5DDE118DF1E01CD8A4DC3A64854\r
-:200D88001E003E00214249C3FB81CD7A820000FDE5DD6E02DD6603E5FDE1DD6E04DD66056C\r
-:200DA8007EFD860277237EFD8E0377DD6E0ADD660B7EFD860477237EFD8E0577FD6E11FDCB\r
-:200DC8006612E5FDE17DB420D1FDE1C3A381CD7A820000211500DD4E02DD460309462366BF\r
-:200DE80068EB7BB2281B211000194E0600DD6E04DD6605A7ED422003EB180821130019188A\r
-:200E0800DC6F67C3A381CD7A82F8FFFDE5DD6E02DD6603E5FDE1FD6E15DD75F8FD6616DD19\r
-:200E280074F9FDE5E17DB4CAC14FDD7EF8DDB6F92811DD5EF8DD56F9CDD74FDD75F8DD746A\r
-:200E4800F918E7FD7E11FDB612CADD4EFD6E11FD66120115000946236668FDE5C1A7ED428C\r
-:200E6800FD6E11FD6612011500092009E5FD6E11FD6612185046236668DD75F8DD74F92107\r
-:200E88001300DD4EF8DD46F90946236668FDE5C1A7ED422819211300DD4EF8DD46F9097E04\r
-:200EA80023B6280A211300095623666A18CB211300DD4EF8DD46F9097E23B628182113006F\r
-:200EC80009E52113000946236668011300094E2346E1712370FD6E13DD75F8FD6614DD745F\r
-:200EE800F93E04FDAE24FDB625C28D4FFD6E11DD75FCFD6612DD74FDFD6E26DD75FEFD6699\r
-:200F080027DD74FFCDCC4FDD6EFEDD66FF2323CDCC4FDD7EFCDDB6FD2820212400DD4EFC16\r
-:200F2800DD46FD093E04AE23B6280F2111000956DD72FC2366DD74FD18D8DD7EFCDDB6FDF6\r
-:200F48002843212600DD4EFCDD46FD0946DD70FE2366DD74FF210600ED4B3F8709E5DD6EBF\r
-:200F6800FEDD66FF5E2356E1732372210800ED4B3F8709E5DD4EFEDD46FF030369604E23C9\r
-:200F880046E1712370FD4E24FD4625210000CDC8823009FD5E26FD5627CDCF4FFDCB0B76A7\r
-:200FA8002011FD7E20FDB6212809FD5E20FD5621CDCF4FFDE5D1CDCF4FDD6EF8DD66F9FD64\r
-:200FC800E1C3A3815E23563E00215F74C3FB813E00210E4EC3FB81C5FDE5DDE52115001947\r
-:200FE80046236668E5DDE17DB42808DDE5D1CDD74F18F1C3A648CD7A820000FDE52115008D\r
-:20100800DD5E02DD5603195623666AE5FDE17DB4283D210A00FDE5C109DD7E04DD56052FFD\r
-:201028005F7A2F577EA377237EA277210A00097EDDB60A77237EDDB60B77210A00097EDDEC\r
-:20104800AE0C77237EDDAE0D772113000918B81100863E00215F70CDFB81FDE1C3A381C502\r
-:20106800FDE5DDE5D5DDE12115001946236668E5FDE121200019462366680100903E80AC5C\r
-:2010880067ED42302EDD4E20DD4621210000CDC8823020DD6E20DD662129E5210800ED4BFF\r
-:2010A8003F87094E2346E1092B2B46DD70202366DD7421DD6E22DD66230100903E80AC677F\r
-:2010C800ED42302EDD4E22DD4623210000CDC8823020DD6E22DD662329E5210800ED4B3FDF\r
-:2010E80087094E2346E1092B2B46DD70222366DD7423FDE5E17DB42816FDE5D13E00216704\r
-:2011080050CDFB81FD6E13FD6614E5FDE118E3C3A648CD7A82D0FFFDE5AFDD77FADD77FB04\r
-:20112800DD77FCDD77FD5950CD1C82080001000200030002010301040105010104B35321A6\r
-:2011480053B452E05228523952ED5188515751211500DD4E02DD46030946236668E5FDE1AC\r
-:201168007DB42819FDCB0A46280BDD6E0ADD660BE5CDB853E1FD6E13FD661418E0C3B353B3\r
-:20118800211500DD4E02DD46030946236668E5FDE17DB4284DFDCB0A462838DD6E0ADD6605\r
-:2011A8000BE5CDB853E1DD6E0ADD660BE5010300CDBE53E1FD7E0AE6226F26003E22AD20E4\r
-:2011C80012FD4E1044DD6E0ADD660BED422004FD210000FDE5E17DB428B7FD6E13FD66147A\r
-:2011E80018ACC3B353DD6E02DD6603E5FDE1210A00DD4E02DD460309CB462821FDCB0A6EE3\r
-:20120800281BFD4E1047DD6E0ADD660BA7ED42200CFD6E26FD6627FDE5D1CDDD53C3B353A8\r
-:20122800DD5E024BDD560342211A00CDDC53C3B353210A00DD4E02DD4603097EE6FC772127\r
-:201248002E0039E52B2B4D44DD5E02DD5603CDD453E1210800DD4E02DD4603095E2356D5DA\r
-:20126800210600095E2356D5DD6EFCDD66FDE5DD4EFADD46FB110000CD3A49E1E1E12100B6\r
-:2012880000E52E11DD5E02DD5603195E2356211100DD4E02DD4603094623666801170009D9\r
-:2012A8004E2346237E69600103011829211100DD4E02DD4603095623666AE5FDE15950CDAF\r
-:2012C800D74F210000E5010301FDE5D1FD7E19FD6E17FD6618C3AF53211500DD4E02DD4646\r
-:2012E800030946236668E5FDE17DB42829DD6E0ADD660BFDE5C1ED422814FDCB0A5E280E47\r
-:20130800DD6E0ADD660BE5010302CDBE53E1FD6E13FD661418D0C3B353211100DD4E02DD96\r
-:201328004603097E23B6200E210400ED4B3F8709360123771875210A000923CB6E2028DD8F\r
-:201348006E0ADD660BE52111005950195E23562111000946236668011700094E2346237E24\r
-:2013680069600101041840211100095623666AE5FDE1110A00197EF603776A62E523E54AD2\r
-:2013880042FDE5D13E0021FE4FCDFB81E1E1210000E5DD5E024BDD5603422E17094E23468E\r
-:2013A800237E6960010501CDFB81E1FDE1C3A381DD4E04DD4605FDE5D1FD7E19FD6E17FDA8\r
-:2013C8006618C3FB8123234D44DDE5D13E0021924DC3FB81094E2346237E6960C3FB81CD2B\r
-:2013E8007A82FCFFFDE5DD6E02DD6603E5FDE1AFDD77FEDD77FFDD77FCDD77FD210A00EDA9\r
-:201408004B3F87097E23666F46236668FD4E0EFD460FA7ED422809FD5E0EFD560FCD6C55F2\r
-:20142800FDCB0A46CA245521020039E523234D44FDE5D1CDD453E1CD884DDD4EFCDD46FDC0\r
-:20144800DD5EFEDD56FF3E0021EB46CDFB81FD4E08FD4609FD5E06FD56073E00212A47CD49\r
-:20146800FB81FD6E08FD6609E5FD6E06FD6607E5DD6EFCDD66FDE5DD4EFEDD46FF1100009C\r
-:20148800CD3A49E1E1E1FD5E20FD5621210A00ED4B3F87097E23666FCD2955DD4EFCDD4625\r
-:2014A800FD09110400194D44CD37557E23666F010500094E2346237E6960CD5B4A01FCFFF2\r
-:2014C800094D44FD5E06FD56073E00216D47CDFB81DD4EFCDD46FDCD375546236668CD2986\r
-:2014E80055010500094D44FD5E06FD56073E0021B247CDFB81210E00DD4EFCDD46FD094DC7\r
-:2015080044DD5EFEDD56FF13133E0021EB46CD5455FDE5D13E00214C4DCDFB81FDE1C3A3B0\r
-:2015280081010500094E2346237E6960C3FB81DD5EFEDD56FF3E0021EB46CDFB81FD5E20F4\r
-:20154800FD5621210A00ED4B3F8709C9CDFB81FD5E20FD56213E00218148CDFB81C9DD5E67\r
-:201568000EDD560F3E0021ED49C3FB81CDEF81CD884DCD1F49CDFB8101800058503E00215A\r
-:201588003C48CDFB81218000E56CE5E5CD3749E1E1E1DD5E02DD56033E00214C4DCDFB8116\r
-:2015A800C3A381CDEF813E0021EE4CCDFB81C3A381CD7A820000FDE5DD6E0CDD660DE5DD22\r
-:2015C8006E0ADD660BE5CDFD55F1F1E5FDE101170009361A233651233600FD361AE7FD36B9\r
-:2015E8001B53FD361C00FD361DABFD361E55FD361F00C3994CDD5E02DD56033E0021F74B77\r
-:20160800C3FB81CDEF81FDE5D5FDE1DD6E0ADD660BE53E00211A51CDFB81E13E03DDAE0465\r
-:20162800DDB605203EFD4E1047DD6E0ADD660BED422030FD7E0AE6032829DD6E0ADD660B86\r
-:20164800E5FD5E11FD5612FD6E11FD66120E17CD9856E1FDCB0A66280AFD4E100600C5CDBD\r
-:20166800A656E1210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD8956E1FDE1C3A3B0\r
-:2016880081FD5E11FD5612FD6E11FD6612011700094E2346237E6960010102C3FB81FD5E1F\r
-:2016A80011FD5612FD6E11FD66120E17094E2346237E6960010401C3FB81CDEF81FDE5D533\r
-:2016C800FDE1210A0019CB76FD5E20FD5621210A00ED4B3F87097E23666F010500094E2388\r
-:2016E80046237E69602853CDFB81294D44FD6E08FD6609A7ED42CD6F570E0C09E5FD5E20E9\r
-:20170800FD5621210A00ED4B3F87097E23666FCD2F4AC1CD5455FD5E08FD5609CD70570EC7\r
-:201728000A09E5FD5E22FD56236960CD264AC1CDFB81FD5E22FD56231820CD5B4ACD6F5776\r
-:201748000E0D09E5FD5E20FD5621210A00CD264AC1CDFB81FD5E20FD56213E00218148CD33\r
-:20176800FB81FDE1C3A381EB010200CDEB82DD6E0ADD660B19C9C5DDE5F5F5D5DDE121024C\r
-:201788000039AF7723772B2B2B772377210A00ED4B3F87097E23666F46236668E5210E00C3\r
-:2017A800194E2346E1A7ED422803CD6655DDCB0A46CA4E5821000039E5CDCD53E121000051\r
-:2017C80039CD5658CDFB81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E2392\r
-:2017E80046DDCB0A4E2807DD5E1016001803110000CD3A49E1E1E1DD7E0AE682281CDD7E80\r
-:201808000AE682EE822813DD4E08DD4609DD5E06DD56073E0021F7471811DD4E08DD4609A4\r
-:20182800DD5E06DD56073E00216D47CDFB81210000394E2346C5234E2346DDE5D13E002127\r
-:20184800C256CDFB81E1E1E1DDE1C1C3A9814E2346235E23563E0021EB46CDFB81DD4E0853\r
-:20186800DD4609DD5E06DD56073E00212A47C9CDEF81C3A381CD7A820000FDE5DD6E0CDD1D\r
-:20188800660DE5DD6E0ADD660BE5CDFD55F1F1E5FDE1010A00097EF60377DD460EFD7010EC\r
-:2018A800FD36170BFD361856FD361900FD361A7EFD361B57FD361C00FD361D77FD361E58AF\r
-:2018C800FD361F00C3994CCDEF81FDE5D5FDE1DD6E0ADD660BE53E00211A51CDFB81E13E7A\r
-:2018E80003DDAE04DDB605205CFD4E1047DD6E0ADD660BED42204EFD7E0AE6032847FD7E00\r
-:201908000AEE04FD770ADD6E0ADD660BE5FD5E11FD5612FD6E11FD66120E17094E234623F3\r
-:201928007E6960010202CDFB81E1210000E5010301CDBE53E1FDCB0A66280AFD4E10060094\r
-:20194800C5CDA656E1210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD8956E1FDE1A1\r
-:20196800C3A381C5DDE5F5F5D5DDE121020039AF7723772B2B2B772377210A00ED4B3F879D\r
-:20198800097E23666F46236668E5210E00194E2346E1A7ED422803CD6655DDCB0A46CA5425\r
-:2019A8005A21000039E5CDCD53E121000039CD5658CDFB81DDCB0A4E2836DDCB0A562830DC\r
-:2019C800DD4E08DD4609DD5E06DD56073E0021F747CDFB81DD6E08DD6609E5DD6E06DD6627\r
-:2019E80007E5210400394E2346C5234E23461834DD4E08DD4609DD5E06DD56073E00216D4D\r
-:201A080047CDFB81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E2346DDCBCE\r
-:201A28000A4E2807DD5E1016001803110000CD3A49E1E1E1210000394E2346C5234E2346E7\r
-:201A4800DDE5D13E0021C256CDFB81E1C34E58CD7A820000FDE5DD6E0CDD660DE5DD6E0A55\r
-:201A6800DD660BE5CDFD55F1F1E5FDE1010A00097EF60777DD460EFD7010FD3617CFFD3667\r
-:201A88001858FD361900FD361A6BFD361B59FD361C00FD361D77FD361E58FD361F00C399B6\r
-:201AA8004CCDEF81FDE5D5FDE1DD6E0ADD660BE53E00211A51CDFB81E1210102DD4E04DD54\r
-:201AC8004605A7ED4220403EFFDDAE0ADDB60B2036FDCB0B66E52805010501180301020146\r
-:201AE800CDBE53E1FD4E100600C5FD5E11FD5612FD6E11FD66120E17094E2346237E6960E8\r
-:201B0800010103CDFB81E1210102DD4E04DD4605A7ED4220403EFEDDAE0ADDB60B2036FD1B\r
-:201B2800CB0B66E528050105011803010201CDBE53E1FD4E100600C5FD5E11FD5612FD6E08\r
-:201B480011FD66120E17094E2346237E6960010203CDFB81E1FDE1C3A381CD7A82FEFFFDF0\r
-:201B6800E5DD6E0CDD660DE5DD6E0ADD660BE5CDFD55F1F1E5FDE1010A0009CBC6DD460ECA\r
-:201B8800FD7010FD3617A9FD36185AFD361900FD361AE7FD361B53FD361C00FD361DABFDC0\r
-:201BA800361E55FD361F0021FF00E52E14E52E28E521E4FFCD145CF1F1F1DD75FEDD74FF07\r
-:201BC80001200009E5110300CD704AE171237001ED84CD305CCDFB8121FE00E52E14E52E01\r
-:201BE80028E521C8FFCD145CF1F1F1DD75FEDD74FF01200009E5110700CD704AE1712370A5\r
-:201C080001F084CD305CCDFB81C3994CDD4E0CDD460D094D4421D0FFDD5E0ADD560B19EB85\r
-:201C28003E00217D58C3FB81DD5EFEDD56FF3E0021A14CCDFB81DD4EFEDD46FFFDE5D1FD2E\r
-:201C48007E1FFD6E1DFD661EC9CDEF81FDE5D5FDE1DD6E0ADD660BE53E00210B56CDFB81AA\r
-:201C6800E1210302DD4E04DD4605A7ED422040FDCB0A5E283A3E08DDAE0ADDB60BFD5E2042\r
-:201C8800FD56213E0021AB73200DCD6A4A2815CDBC5C2B3600180DCDC75C233600CDBC5CC7\r
-:201CA800DD460A70210000E5010301CDBE53E1FDE1C3A381FD5E20FD56213E0021AB73CDB7\r
-:201CC800FB81FD4E20FD462109C9C5FDE5DDE521B8FF39F9D5DDE1AF7723772377237721C4\r
-:201CE8000A00ED4B3F87097E23666F46236668E5210E00194E2346E1A7ED422803CD6655D0\r
-:201D0800DDCB0A46CA165E21020039E52B2BCDCF53E1210200394E23462B2B2BCD5A58CD3E\r
-:201D2800FB81DD6E08DD6609E5DD6E06DD6607E5210600394E2346C52B2B2B4E2346DDCB5F\r
-:201D48000A4E2807DD5E1016001803110000CD3A49E1E1E1DDCB0A7EDD4E08DD4609DD5EAA\r
-:201D680006DD560720073E0021F74718053E00216D47CDFB81DD5E20DD5621210A00ED4BCC\r
-:201D88003F870946236668010500094E2346237E6960CD754ADD6E08DD6609A7ED42EB0118\r
-:201DA8000200CDEB826960394623666819010700094D44210000395E235613133E0021EB4A\r
-:201DC80046CDFB81DDCB0B462836FD210000DD5E20DD56213E0021AB73CD754AFDE5E1A7D5\r
-:201DE800ED42210600300B39FDE5C109362AFD2318DC39FDE5C109360021060039EB18066D\r
-:201E0800DD5E20DD56213E00218148CDFB8121480039F9C3A648CD7A820000FDE5DD6E0E4A\r
-:201E2800DD660FE5DD6E0CDD660DE5DD6E0ADD660BE5DD5E02DD5603CD285CF1F1F1E5FDD6\r
-:201E4800E1010A0009CBDE01F784FDE5D13E0021A14CCDFB81FD361AD2FD361B5CFD361C00\r
-:201E680000FD361751FD36185CFD361900C3994CCDEF81C3A381C5DDE5F5F5D5DDE12102D9\r
-:201E88000039AF7723772B2B2B772377210A00ED4B3F87097E23666F46236668E5210E00BC\r
-:201EA800194E2346E1A7ED422803CD6655DDCB0A46282121000039E5CDCD53E12100003938\r
-:201EC8004E2346C5234E2346DDE5D13E0021C256CDFB81E1C34E58CD7A820000FDE5DD6E11\r
-:201EE8000CDD660DE5DD6E0ADD660BE5CDFD55F1F1E5FDE101200009DD4E0E71DD460F2324\r
-:201F080070FD360A01FD360B00FD361778FD36185EFD361900FD361A7EFD361B5EFD361C50\r
-:201F280000FD361D77FD361E58FD361F00C3994CCD7A820000DD6E0ADD660BE5DD5E02DDC4\r
-:201F480056033E00211A51CDFB81E1C3A381CD7A82CEFFFDE5DD36D800210000E5C53E00D9\r
-:201F680021CD7ECDFB81F1F1DD75D4DD74D5DD36F02BDD36F100DD36F21ADD36F300DD360C\r
-:201F8800F400DD7ED8FE732018DD6ED9DD66DADD75F0DD74F1DD6EDBDD66DCDD75F2DD74CA\r
-:201FA800F3DD7ED8FE422807DD7ED8FE4D204FDD4EDD0600C5CD1663D5DD4EDBDD5EF0DD9B\r
-:201FC80056F1CD1F63D5DD4EDADD5EF2DD56F3CDAE81D5DD5ED950DD4EF0DD46F1CDAE81D6\r
-:201FE8003E00217D58C1CDFB81F1F1F1E5FDE1DD7ED8FE4D2004FDCB0AF6DD36F401DD7E38\r
-:20200800D8FE542044DD4EDD0600C5CD1663D5DD4EDBDD5EF0DD56F1CD1F63D5DD4EDADDE1\r
-:202028005EF2DD56F3CDAE81D5DD5ED950DD4EF0DD46F1CDAE813E0021575AC1CDFB81F1B7\r
-:20204800F1F1E5FDE1DD36F401DD7ED8FE442044DD4EDD0600C5CD1663D5DD4EDBDD5EF0D3\r
-:20206800DD56F1CD1F63D5DD4EDADD5EF2DD56F3CDAE81D5DD5ED950DD4EF0DD46F1CDAED9\r
-:20208800813E00211E5EC1CDFB81F1F1F1E5FDE1DD36F401DD7ED8FE4C2047210C003901E9\r
-:2020A800120009E5CD1663D5DD4EDBDD5EF0DD56F1CD1F63D5DD4EDADD5EF2DD56F3CDAEB1\r
-:2020C80081D5DD5ED950DD4EF0DD46F1CDAE813E0021DF5EC1CDFB81F1F1F1E5FDE1DD36C4\r
-:2020E800F401DD7ED8FE412051212600DD4E02DD460309E5212B0039EBE1732372DD6EDEF6\r
-:20210800DD66DFDD75F8DD74F9DD6EE0DD66E1DD75FADD74FB211600394E2346235E2356F9\r
-:20212800DD71FCDD70FDDD73FEDD72FFDD5E02DD56033E00212663CDFB81DD7ED8FE53201F\r
-:2021480071210C00394D44DD5ED4DD56D53E00215E66CDFB81212600DD4E02DD460309E504\r
-:20216800110400CD0E63EBE17323722126000956DD72F52366DD74F6212400093604233695\r
-:20218800006ADD66F62323E5210800ED4B3F87095E2356E1732372210600ED4B3F87094605\r
-:2021A800236668E5DD6EF5DD66F6C1712370DD36F400AFDDB6F4CABA62DD7EDEDDB6DF280D\r
-:2021C80069FDCB0AEEFD36240BFD362500110B00CD0E63FD7526FD7427FD6E26DD75D0FDDA\r
-:2021E8006627DD74D13626233663233600DD6ED0DD66D1232323DD4EDE71DD46DF237021EF\r
-:202208000500DD4ED0DD46D109DD5EE073DD56E1237221070009E5211800395E2356234EB2\r
-:202228002346E173237223712370DD7EE6DDB6E7280CDD6EE6FD750ADD66E7FD740BDD6E90\r
-:20224800E8FD750EDD66E9FD740FDD6EEAFD7520DD7EEBE60FFD7721FD7E20FDB621201626\r
-:20226800111400CD0E63FD7520FD7421FD6E20FD662136001804FDCB0BF6DD7EEB2E004DE4\r
-:20228800E6F0472610ED423010DD6EEADD7EEBE60F6723FD7522FD7423FDE5DD5E024BDD0B\r
-:2022A800560342211D00094E2346237E6960C1CDFB81211400E52E0E394D44DD5ED4DD56A7\r
-:2022C800D5CD0663F13E14ADB4CA865FDD5ED4DD56D53E00219673CDFB81DD5E02DD56035D\r
-:2022E8003E00216750CDFB81DD5E024BDD560342211A00094E2346237E6960C367573E0152\r
-:20230800215C42C3FB813E01210040C3FB81DD4EDCDD5EF2DD56F3CDAE811B1B1BC9CD7A21\r
-:2023280082EAFFFDE5DD6E02DD6603E5FDE121060039EB21D584010E00EDB0FD6E26DD759E\r
-:20234800EAFD6627DD74EB2323233E01AE23B62008C5010104CDBE53E1DD6EEADD66EB235E\r
-:20236800232346236668CB853E02ADB4C291646F67E5E5010100FD5E11FD56123E0021FE60\r
-:202388004FCDFB81E1E1FD6E11FD6612010800094E2346C5FD6E11FD6612010600094E23EA\r
-:2023A80046C501000059503E0021B955CDFB81F1F1DD75ECDD74ED010A000936032370DD8F\r
-:2023C8006EEADD66EB232323CB46280C6960DD4EECDD46ED0923CBEE211700DD4EECDD467A\r
-:2023E800ED09363823365F233600211A00093674233655233600210700DD5EEADD56EB19E7\r
-:202408005EEBDD75F3210700DD4EEADD46EB095E2356234E2346EB3E08CD1583DD75F42124\r
-:202428000700DD4EEADD46EB095E2356234E2346EB3E10CD1583DD75F5210700DD4EEADDB1\r
-:2024480046EB095E2356234E2346EB3E18CD1583DD75F6210600394D44DD5EECDD56ED3E25\r
-:202468000021565FCDFB81DD4EECDD46EDC5FD5E11FD5612FD6E11FD6612011D00094E23EF\r
-:2024880046237E6960C1CDFB81DD6EEADD66EB2323233E04AE23B6C22F66210100E5FD6E1C\r
-:2024A80011FD6612010800094623666801F6FF09E5FD6E11FD661201060009462366680128\r
-:2024C800F6FF09E501050059503E0021625BCDFB81F1F1F1DD75ECDD74ED010A0009360361\r
-:2024E800233610210E00DD4EECDD46ED093630233600AFDD77FEDD77FF210500DD4EEADDE1\r
-:2025080046EB095E2356060CCD87834B42DD6EFEDD66FFCDC88230043E011801AFE60FCA90\r
-:20252800C365210500DD4EEADD46EB0946237E68E60F67DD4EFEDD46FF0929E5210800EDF6\r
-:202548005B3F87195E2356E1192B2B5E2356D5211000E52E06DD5EECDD56ED196E26000127\r
-:20256800F0FF09E5DD6EFEDD66FF29294D442909011400094D441108003E0021DF5ECDFBAA\r
-:2025880081F1F1F1DD75FCDD74FD010E000936302370DD4EFCDD46FDC5DD5EEC4BDD56ED94\r
-:2025A80042211D00094E2346237E6960C1CDFB81DD34FE2003DD34FFC3016501F884DD5E3C\r
-:2025C800ECDD56ED3E0021A14CCDFB8101FF00CD5066010E0009363023700EFECD5066EB44\r
-:2025E800CDD74FDD4EECDD46EDC5FD5E11FD5612FD6E11FD6612011D00094E2346237E694A\r
-:2026080060C1CDFB81210000E5FD5E11FD5612FD6E11FD6612011700094E2346237E69603E\r
-:20262800010301CDFB81E1211000ED4B3F87097E23B623B6280DFDE5D1211000ED4B3F87E4\r
-:20264800CDDC53FDE1C3A381DD5EECDD56ED3E0021D64DC3FB81CD7A82F8FFFDE5030ADD1D\r
-:2026680077FE030ADD77FF0369604EDD71FC2346DD70FDDD6EFE6729EBCD0E63DD75FADD3B\r
-:2026880074FB5950CD164BC54D44DD5E02DD5603CD0663F1110000AFDD77F8DD77F9DD4E78\r
-:2026A800FCDD46FD6B62CDC8823035CD2467303023DD75F8DD74F92B29DD4EFADD46FB099E\r
-:2026C800E5FDE5E1194D44E1712370FDE5E1197EB728031318F56B6213FDE5C1097718BE86\r
-:2026E800CD2467301329DD4EFADD46FB09E5FDE5E1194D44E1712370210600ED4B3F87095D\r
-:20270800FDE5C1712370210800ED4B3F8709DD4EFA71DD46FB2370FDE1C3A381DD4EFEDDC8\r
-:2027280046FFDD6EF8DD66F9C3C8822A3F87C3A981C5D5111300CD0E63223F87AF7723773F\r
-:20274800210400ED4B3F8709772377210A00ED4B3F8709772377210C00ED4B3F8709772323\r
-:2027680077210800ED4B3F8709772377210600ED4B3F8709772377211000ED4B3F870977AB\r
-:20278800237723773E00214846CDFB81210000E5E50E00C521B84BE50E00C521D44BE511F7\r
-:2027A8003000CD5868210C0039F9210000E5E50E00C521B84BE50E00C521E54BE5113100E3\r
-:2027C800CD5868210C0039F9210000E5E50E00C521CB4BE50E00C521EE4BE5113200CD58B1\r
-:2027E80068210C0039F9210E00ED4B3F8709E5118000D55AD54B423E0021B955CDFB81F126\r
-:20280800F14D44E1712370210E00ED4B3F87095623666A110A001936012372210E00ED4B63\r
-:202828003F87095623666A11170019363823365F233600210E00ED4B3F870946236668014A\r
-:202848001A00093674233655233600D1C1C3A9813E00217B4AC3FB81C5D5210E00ED4B3F7A\r
-:2028680087095E2356CDD74F3E00210549CDFB813E0021D646CDFB81D1C1C3A981CD7A82F4\r
-:20288800FEFFDD4E02DD4603210E00ED5B3F87195E23563E0021565FCDFB81210400ED4BF9\r
-:2028A8003F87097E23B6C24369210100E523394D442A3F8723235E2356CD0663F13E01AD68\r
-:2028C800B420D8DD4EFE47C5210485E53E00219172CDFB81F1F1AFDDB6FE28294FC5210E1F\r
-:2028E80000ED5B3F87195E2356210E00ED4B3F870946236668011700094E2346237E696023\r
-:202908000101001829DD4EFFC5210E00ED5B3F87195E2356210E00ED4B3F870946236668E3\r
-:1E292800011700094E2346237E6960010200CDFB81E1DD46FEDD70FFC3A368C3A38100\r
-:2003F7002F6465762F6C636430004F4B0043616E63656C00004D65737361676520426F78F8\r
-:09041700003078253032780A002B\r
+:20000000C9A602007856341214000081008146878D898D99D1ED534687C1ED434887E1229B\r
+:130020004A872107713E00CDFB81EB2157423E01C3FB81B9\r
+:20065A00CDEF81210600ED4B518709E5EB290923234E2346E1712370C3A381CD7A82F8FF78\r
+:20067A0021060039EB21AF84010200EDB02A51872323E50303C501D584C5CD6E47F1F14D59\r
+:20069A0044E171237021000039E5210000E52A518723234E2346C5CD6647F1F1F1DD36FCB2\r
+:2006BA0060DD36FD0021000039E5210100E52A518723234E2346C5CD6647F1F1F121020036\r
+:2006DA00E52E08394D442A51872323CD8047F1210400ED4B518709E5110200D511DF84D5FA\r
+:2006FA00CD6E47F1F1EBE173237221000039E5210000E52E04ED4B5187095E2356D5CD6639\r
+:20071A0047F1F1F1DD36FC60DD36FD0021000039E5210100E52E04095E2356D5CD6647F18E\r
+:20073A00F1F1210200E52E0839CD7647F11101003E00215A46CDFB8111E984CD8B47110043\r
+:20075A00003E00215A46CDFB81C3A3813E0021FD74C3FB813E01210040C3FB814D442104AC\r
+:20077A0000ED5B5187195E23563E0021BC73C3FB813E00213849C3FB81C5D52A5187232381\r
+:20079A00CDAD47210400ED4B518709CDAD47D1C1C3A9815E23563E0021B174C3FB81CD7A1F\r
+:2007BA0082FCFF21000039EB21B184010400EDB0DD4602DD70FEDD4604DD70FF210400E578\r
+:2007DA002B2B394D44210600ED5B5187195E23563E00CD8547F1C3A381CD7A82FCFF210014\r
+:2007FA000039EB21B584010400EDB0C3CA47DD70FEDD4604DD70FF210400E52B2B394DC384\r
+:20081A00DE47210600ED5B5187195E23563E00C3EC47CDFB81F1C3A381CD7A82FCFF210028\r
+:20083A000039EB21B984010400EDB0C3CA47DD70FEC30B48DD70FF210400E52B2B394D44CF\r
+:20085A00210600C3E24719C3244823563E00C3EC47CDFB81F1C3A381CD7A82FCFF21000070\r
+:20087A0039EB21BD84010400EDB0C3CA47DD70FEC30B48DD70FFC35148E52B2B394D442133\r
+:20089A000600ED5B518719C3E74723C326483E00C36848CDFB81F1C3A381CD7A82FCFF2103\r
+:2008BA00000039EB21C184010400EDB0C3CA47DD70FEC30B48DD70FFC35148E5C394482B66\r
+:2008DA00394D44210600ED5B5187195E23C3E9473E00C32948CDFB81F1C3A381CD7A82FC08\r
+:2008FA00FF21000039EB21C584010400EDB0C3CA47DD70FEC30B48DD70FFC35148E5C39475\r
+:20091A00482BC3DA484D44210600ED5B5187195E23563E00C3EC47CDFB81F1C3A381C5FD86\r
+:20093A00E5DDE5D5DDE13E0021C674CDFB81E5DDE5C1210600CD7B47F1DDE1FDE1C1C3A9A9\r
+:20095A0081CD7A82F8FF21000039EB21C984010700EDB0DD4602DD70FADD4604DD70FBDD2C\r
+:20097A00460ADD70FCDD460CDD70FDDD460EDD70FE210700E52E02C3DC474DC31948210614\r
+:20099A0000C35D4819C3A14823C3E7483E00C32E49CDFB81F1C3A381C5D5CDCC49CDFB819D\r
+:2009BA00218000E56CE5E5CDE449E1E1E1D1C1C3A98101000059503E0021B847CDFB8101F3\r
+:2009DA00800058503E0021F347C94D44EB3E00215B49C3FB81CD7A82FCFF21000039EB218B\r
+:2009FA00D084010300EDB0DD4602DD70FE210300E52BC3DC474DC31948210600C35D481945\r
+:200A1A00C3A14823C3E7483E00C32E49CDFB81F1C3A381CD7A82FEFF21000039EB21D384DF\r
+:200A3A00010200EDB0DD4602DD70FF210200E5C3DC474DC31948210600C35D4819C3A148D8\r
+:200A5A0023C3E7483E00C32E49CDFB81F1C3A381CD7A820000211400ED4B518709462366E8\r
+:200A7A0068EB7BB228166B6246236668DD4E02DD4603ED4228062108001918E1EBC3A381DD\r
+:200A9A00CDEF813E00216A4ACD0B4B2829DD5E02DD56033E00212D4ACDFB81211200ED4B7B\r
+:200ABA00518709E5DD5E02DD56033E00216A4ACD164BE1712370C3A381211200ED4B518793\r
+:200ADA00094623666823234E2346237E6960CDFB814D44FD6E06FD6607A7ED42EB010200DC\r
+:200AFA00CDEB82DD6E04DD660519EB3E0021B847C9CDFB817DB4C93E01212B40CDFB814D3C\r
+:200B1A0044C9CD7A82FCFFFDE5110E00CDB74BDD4E0271DD46032370DD460CDD6E0AFD75CD\r
+:200B3A0002DD660BFD7403FD7004DD4610DD6E0EFD7505DD660FFD7406FD7007AFFD7708FB\r
+:200B5A00FD7709DD6E12FD750ADD6613FD740BDD6E14FD750CDD6615FD740D211400ED4B33\r
+:200B7A005187097E23B6211400ED4B5187092010FDE5C1712370211200ED4B518709181288\r
+:200B9A0046236668EB210800197E23B62108001920EEFDE5C1712370FDE1C3A3813E012164\r
+:200BBA002B40CDFB81E5FDE1C9FDE5DDE5C5D5DD210000FD210000FDE5210200394E23468C\r
+:200BDA00E1097EB72850FDE5E1095ECDC4810A00212C2E3149696A6B6C721E4C194C0F4CE3\r
+:200BFA00194C194C0A4C0A4C144C144C144C0A4C0102001812010300180D01040018080173\r
+:200C1A0005001803010600DD09210200394E2346DD09FD2318A1DDE5E1F1F1DDE1FDE1C3F7\r
+:200C3A00A981CDEF817BFE80300621070009180CFECC38083EDFBB3803696023C3A381CDF2\r
+:200C5A00EF810100001A5F3E00213C4CCDFB81C3A381CDEF81010500C35F4CCDEF8101008A\r
+:200C7A00003E0021C34BCDFB81C3A381CDEF81010200C37B4CCDEF81010300C37B4CCD7AE1\r
+:200C9A00820000FDE5112800CDB74B2A51875E235613722B73FDE5E1732372DD6E02FD7548\r
+:200CBA0002DD6603FD7403FD7104FD7005DD6E0AFD7506DD660BFD7407DD6E0CFD7508DD39\r
+:200CDA00660DFD7409AFFD770AFD770BFD770CFD770DFD770EFD770FFD7710FD7711FD77DE\r
+:200CFA0012FD7713FD7714FD7715FD7716FD7717FD7718FD7719FD771AFD771BFD771CFD58\r
+:200D1A00771DFD771EFD771FFD7724FD7725FD7726FD7727FD7720FD7721FD7722FD772344\r
+:200D3A00FDE5E1FDE1C3A381CD7A820000FDE5DD6E02DD6603E5FDE1110000DD6E04DD666D\r
+:200D5A0005197EB728210114806B6278AC67ED423015FD6E20FD662119E5DD6E04DD6605D8\r
+:200D7A001946E1701318D4FD6E20FD6621193600FDE1C3A381CD7A820000FDE559502115FD\r
+:200D9A0000DD4E02DD4603097E23666FE5FDE1211500097E23B62009211500097323721886\r
+:200DBA0019FD7E13FDB614280BFD6E13FD6614E5FDE118EDFD7313FD7214211300197723CE\r
+:200DDA007721110019DD4E0271DD46032370FDE1C3A381C5FDE5DDE521150019462366682C\r
+:200DFA00E5DDE1CD294EDDE5E17DB4281ADDE5D1DD7E1CDD6E1ADD661BCDFB81DD6E13DD8B\r
+:200E1A006614E5DDE118DF1E01CD2B4EC353491E003E0021EF49C3FB81CD7A820000FDE541\r
+:200E3A00DD6E02DD6603E5FDE1DD6E04DD66057EFD860277237EFD8E0377DD6E0ADD660BE8\r
+:200E5A007EFD860477237EFD8E0577FD6E11FD6612E5FDE17DB420D1FDE1C3A381CD7A82F0\r
+:200E7A000000211500DD4E02DD46030946236668EB7BB2281B211000194E0600DD6E04DD6A\r
+:200E9A006605A7ED422003EB18082113001918DC6F67C3A381CD7A82F8FFFDE5DD6E02DDFF\r
+:200EBA006603E5FDE1FD6E15DD75F8FD6616DD74F9FDE5E17DB4CA6250DD7EF8DDB6F928E8\r
+:200EDA0011DD5EF8DD56F9CD7850DD75F8DD74F918E7FD7E11FDB612CA7E4FFD6E11FD6699\r
+:200EFA00120115000946236668FDE5C1A7ED42FD6E11FD6612011500092009E5FD6E11FD60\r
+:200F1A006612185046236668DD75F8DD74F9211300DD4EF8DD46F90946236668FDE5C1A70F\r
+:200F3A00ED422819211300DD4EF8DD46F9097E23B6280A211300095623666A18CB21130085\r
+:200F5A00DD4EF8DD46F9097E23B6281821130009E52113000946236668011300094E23462E\r
+:200F7A00E1712370FD6E13DD75F8FD6614DD74F93E04FDAE24FDB625C22E50FD6E11DD75F2\r
+:200F9A00FCFD6612DD74FDFD6E26DD75FEFD6627DD74FFCD6D50DD6EFEDD66FF2323CD6D28\r
+:200FBA0050DD7EFCDDB6FD2820212400DD4EFCDD46FD093E04AE23B6280F2111000956DD95\r
+:200FDA0072FC2366DD74FD18D8DD7EFCDDB6FD2843212600DD4EFCDD46FD0946DD70FE2325\r
+:200FFA0066DD74FF210A00ED4B518709E5DD6EFEDD66FF5E2356E1732372210C00ED4B51F7\r
+:20101A008709E5DD4EFEDD46FF030369604E2346E1712370FD4E24FD4625210000CDC8827C\r
+:20103A003009FD5E26FD5627CD7050FDCB0B762011FD7E20FDB6212809FD5E20FD5621CDFF\r
+:20105A007050FDE5D1CD7050DD6EF8DD66F9FDE1C3A3815E23563E00217A75C3FB813E0090\r
+:20107A0021AF4EC3FB81C5FDE5DDE52115001946236668E5DDE17DB42808DDE5D1CD7850DE\r
+:20109A0018F1C35349CD7A820000FDE5211500DD5E02DD5603195623666AE5FDE17DB428FC\r
+:2010BA003D210A00FDE5C109DD7E04DD56052F5F7A2F577EA377237EA277210A00097EDDFC\r
+:2010DA00B60A77237EDDB60B77210A00097EDDAE0C77237EDDAE0D772113000918B8111269\r
+:2010FA00863E00219471CDFB81FDE1C3A381C5FDE5DDE5D5DDE12115001946236668E5FD7A\r
+:20111A00E121200019462366680100903E80AC67ED42302EDD4E20DD4621210000CDC8828D\r
+:20113A003020DD6E20DD662129E5210C00ED4B5187094E2346E1092B2B46DD70202366DD12\r
+:20115A007421DD6E22DD66230100903E80AC67ED42302EDD4E22DD4623210000CDC8823023\r
+:20117A0020DD6E22DD662329E5210C00ED4B5187094E2346E1092B2B46DD70222366DD7488\r
+:20119A0023FDE5E17DB42816FDE5D13E00210851CDFB81FD6E13FD6614E5FDE118E3C35363\r
+:2011BA0049CD7A82D0FFFDE5AFDD77FADD77FBDD77FCDD77FD5950CD1C8208000100020046\r
+:2011DA000300020103010401050101055454C25355538153C952DA528E522952F851211580\r
+:2011FA0000DD4E02DD46030946236668E5FDE17DB42819FDCB0A46280BDD6E0ADD660BE53A\r
+:20121A00CD6454E1FD6E13FD661418E0C35454211500DD4E02DD46030946236668E5FDE16A\r
+:20123A007DB4284DFDCB0A462838DD6E0ADD660BE5CD6454E1DD6E0ADD660BE5010300CD2F\r
+:20125A006A54E1FD7E0AE6226F26003E22AD2012FD4E1044DD6E0ADD660BED422004FD21C1\r
+:20127A000000FDE5E17DB428B7FD6E13FD661418ACC35454DD6E02DD6603E5FDE1210A00DC\r
+:20129A00DD4E02DD460309CB462821FDCB0A6E281BFD4E1047DD6E0ADD660BA7ED42200CB4\r
+:2012BA00FD6E26FD6627FDE5D1CD5A54C35454DD5E024BDD560342211A00CD5954C3545440\r
+:2012DA00210A00DD4E02DD4603097EE6FC77212E0039E52B2B4D44DD5E02DD5603CD80542E\r
+:2012FA00E1210800DD4E02DD4603095E2356D5210600095E2356D5DD6EFCDD66FDE5DD4E4F\r
+:20131A00FADD46FB110000CDE749E1E1E1210000E52E11DD5E02DD5603195E235621110010\r
+:20133A00DD4E02DD46030946236668011700094E2346237E69600103011829211100DD4E1B\r
+:20135A0002DD4603095623666AE5FDE15950CD7850210000E5010301FDE5D1FD7E19FD6E3B\r
+:20137A0017FD6618C35054211500DD4E02DD46030946236668E5FDE17DB42829DD6E0ADD1A\r
+:20139A00660BFDE5C1ED422814FDCB0A5E280EDD6E0ADD660BE5010302CD6A54E1FD6E13D6\r
+:2013BA00FD661418D0C35454211100DD4E02DD4603097E23B6200E210800ED4B51870936BE\r
+:2013DA000123771875210A000923CB6E2028DD6E0ADD660BE52111005950195E235621116E\r
+:2013FA00000946236668011700094E2346237E69600101051840211100095623666AE5FD8C\r
+:20141A00E1110A00197EF603776A62E523E54A42FDE5D13E00219F50CDFB81E1E12100003D\r
+:20143A00E5DD5E024BDD5603422E17094E2346237E6960010501CDFB81E1FDE1C3A381093F\r
+:20145A004E2346237E6960C3FB81DD4E04DD4605FDE5D1FD7E19FD6E17FD6618C3FB812315\r
+:20147A00234D44DDE5D13E0021334EC3FB81C5DDE5F5F5D5DDE121020039AF7723772B2B76\r
+:20149A002B772377211200ED4B5187097E23666F46236668E5210E00194E2346E1A7ED4262\r
+:2014BA002803CDC155DDCB0A46CAB95521000039E5CD7954E1CD294E21000039CD0556CDE7\r
+:2014DA00FB81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E2346110000CDE0\r
+:2014FA00E749E1E1E1DD5E20DD5621CDD555E5210200394E2346E109010400094D442102B5\r
+:20151A0000395E23563E0021B847CDFB81DD5E20DD5621211200ED4B5187097E23666F0188\r
+:20153A000500094E2346237E6960CD164BDD6E08DD6609A7ED4201FCFF094D44DD5E06DD0B\r
+:20155A0056073E00213348CDFB81210000394E2346235E23563E0021B847CDEF55CDE15574\r
+:20157A00010500094D44DD5E06DD56073E00217248CDFB81210000394E23460303235E2319\r
+:20159A005613133E0021B847CDFB81DD5E20DD5621CD8B47DDE5D13E0021ED4DCDFB81E16A\r
+:2015BA00E1DDE1C1C3A981DD5E0EDD560F3E00219A4AC3FB81FD5E20FD5621211200ED4B5D\r
+:2015DA005187097E23666F010500094E2346237E6960C3FB81CDFB81DD5E20DD5621211200\r
+:2015FA0000ED4B51870946236668C94E2346235E23563E0021B847CDFB81DD4E08DD460901\r
+:20161A00DD5E06DD56073E0021F347C9CDEF81CD294ECDCC49CDFB8101800058503E00219F\r
+:20163A00F648CDFB81218000E56CE5E5CDE449E1E1E1DD5E02DD56033E0021ED4DCDFB815B\r
+:20165A00C3A381CDEF813E00218F4DCDFB81C3A381CD7A820000FDE5DD6E0CDD660DE5DDCD\r
+:20167A006E0ADD660BE5DD5E02DD56033E0021984CCDFB81F1F1E5FDE10117000936BB23CC\r
+:20169A003651233600FD361A88FD361B54FD361C00FD361D5DFD361E56FD361F00C33A4D9A\r
+:2016BA00CDEF81FDE5D5FDE1DD6E0ADD660BE53E0021BB51CDFB81E13E03DDAE04DDB605B9\r
+:2016DA00203EFD4E1047DD6E0ADD660BED422030FD7E0AE6032829DD6E0ADD660BE5FD5E2C\r
+:2016FA0011FD5612FD6E11FD66120E17CD4757E1FDCB0A66280AFD4E100600C5CD5557E10E\r
+:20171A00210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD3857E1FDE1C3A381FD5E4E\r
+:20173A0011FD5612FD6E11FD6612011700094E2346237E6960010102C3FB81FD5E11FD56E4\r
+:20175A0012FD6E11FD66120E17094E2346237E6960010401C3FB81CDEF81FDE5D5FDE121E5\r
+:20177A000A0019CB762853FD5E08FD5609010200CDEB82DD6E0ADD660B19E5FD5E20FD5605\r
+:20179A0021211200ED4B5187097E23666FCDDF4AC1CDFB81FD5E20FD5621CD8B47CDCF55CD\r
+:2017BA0029CDFB57C5FD5E22FD5623CDD34AC1CDFB81FD5E22FD5623181ACDCF55CDFB57E6\r
+:2017DA00C5FD5E20FD5621CDD34AC1CDFB81FD5E20FD56213E00213849CDFB81FDE1C3A3EB\r
+:2017FA0081FD4E08FD460909EB010200CDEB82DD6E0ADD660B194D4403C9C5DDE5F5F5D51F\r
+:20181A00DDE121020039AF7723772B2B2B772377211200ED4B5187097E23666F4623666849\r
+:20183A00E5210E00194E2346E1A7ED422803CDC155DDCB0A46CAE45821000039E5CD79540E\r
+:20185A00E121000039CD0556CDFB81DD6E08DD6609E5DD6E06DD6607E5210400394E2346A9\r
+:20187A00C5234E2346DDCB0A4E2807DD5E1016001803110000CDE749E1E1E1DD7E0AE68286\r
+:20189A00281CDD7E0AE682EE822813DD4E08DD4609DD5E06DD56073E0021B4481811DD4EE9\r
+:2018BA0008DD4609DD5E06DD56073E00213348CDFB81210000394E2346C5234E2346DDE5CA\r
+:2018DA00D13E00217157CDFB81E1C3B955CDEF81C3A381CD7A820000FDE5DD6E0CDD660D85\r
+:2018FA00E5DD6E0ADD660BE5DD5E02DD56033E0021984CCDFB81F1F1E5FDE1010A00097E2B\r
+:20191A00F60377DD460EFD7010FD3617BAFD361856FD361900FD361A14FD361B58FD361C48\r
+:20193A0000FD361DE7FD361E58FD361F00C33A4DCDEF81FDE5D5FDE1DD6E0ADD660BE53E79\r
+:20195A000021BB51CDFB81E13E03DDAE04DDB605205CFD4E1047DD6E0ADD660BED42204E50\r
+:20197A00FD7E0AE6032847FD7E0AEE04FD770ADD6E0ADD660BE5FD5E11FD5612FD6E11FDA9\r
+:20199A0066120E17094E2346237E6960010202CDFB81E1210000E5010301CD6A54E1FDCBF8\r
+:2019BA000A66280AFD4E100600C5CD5557E1210102DD4E04DD4605A7ED42200BDD6E0ADD3D\r
+:2019DA00660BE5CD3857E1FDE1C3A381C5DDE5F5F5D5DDE121020039AF7723772B2B2B777D\r
+:2019FA002377211200ED4B5187097E23666F46236668E5210E00194E2346E1A7ED42280374\r
+:201A1A00CDC155DDCB0A46CACF5A21000039E5CD7954E121000039CD0556CDFB81DDCB0AA7\r
+:201A3A004E2836DDCB0A562830DD4E08DD4609DD5E06DD56073E0021B448CDFB81DD6E08AF\r
+:201A5A00DD6609E5DD6E06DD6607E5210400394E2346C5234E23461834DD4E08DD4609DD7F\r
+:201A7A005E06DD56073E00213348CDFB81DD6E08DD6609E5DD6E06DD6607E5210400394EDB\r
+:201A9A002346C5234E2346DDCB0A4E2807DD5E1016001803110000CDE749E1E1E1210000A7\r
+:201ABA00394E2346C5234E2346DDE5D13E00217157CDFB81E1C3B955CD7A820000FDE5DD40\r
+:201ADA006E0CDD660DE5DD6E0ADD660BE5DD5E02DD56033E0021984CCDFB81F1F1E5FDE111\r
+:201AFA00010A00097EF60777DD460EFD7010FD36174AFD361859FD361900FD361AE6FD362E\r
+:201B1A001B59FD361C00FD361DE7FD361E58FD361F00C33A4DCDEF81FDE5D5FDE1DD6E0A45\r
+:201B3A00DD660BE53E0021BB51CDFB81E1210102DD4E04DD4605A7ED4220403EFFDDAE0A40\r
+:201B5A00DDB60B2036FDCB0B66E528050105011803010201CD6A54E1FD4E100600C5FD5E19\r
+:201B7A0011FD5612FD6E11FD66120E17094E2346237E6960010103CDFB81E1210102DD4E17\r
+:201B9A0004DD4605A7ED4220403EFEDDAE0ADDB60B2036FDCB0B66E5280501050118030196\r
+:201BBA000201CD6A54E1FD4E100600C5FD5E11FD5612FD6E11FD66120E17094E2346237E2E\r
+:201BDA006960010203CDFB81E1FDE1C3A381CD7A82FEFFFDE5DD6E0CDD660DE5DD6E0ADDC7\r
+:201BFA00660BE5DD5E02DD56033E0021984CCDFB81F1F1E5FDE1010A0009CBC6DD460EFDFE\r
+:201C1A007010FD36172FFD36185BFD361900FD361A88FD361B54FD361C00FD361D5DFD3619\r
+:201C3A001E56FD361F0021FF00E52E14E52E28E521E4FFDD4E0CDD460D094D4421D0FFDD8B\r
+:201C5A005E0ADD560B19EB3E0021ED58CDFB81F1F1F1DD75FEDD74FF01200009E51103003D\r
+:201C7A00CD114BE171237001F584CDD75CCDFB8121FE00E52E14E52E28E521C8FFDD4E0CF4\r
+:201C9A00DD460D094D4421D0FFDD5E0ADD560B19EB3E0021ED58CDFB81F1F1F1DD75FEDDFC\r
+:201CBA0074FF01200009E5110700CD114BE171237001F884CDD75CCDFB81C33A4DDD5EFE19\r
+:201CDA00DD56FF3E0021424DCDFB81DD4EFEDD46FFFDE5D1FD7E1FFD6E1DFD661EC9CDEF5B\r
+:201CFA0081FDE5D5FDE1DD6E0ADD660BE53E0021BA56CDFB81E1210302DD4E04DD4605A76F\r
+:201D1A00ED422040FDCB0A5E283A3E08DDAE0ADDB60BFD5E20FD56213E0021C674200DCD8D\r
+:201D3A000B4B2815CD635D2B3600180DCD6E5D233600CD635DDD460A70210000E5010301BD\r
+:201D5A00CD6A54E1FDE1C3A381FD5E20FD56213E0021C674CDFB81FD4E20FD462109C9C501\r
+:201D7A00FDE5DDE521B8FF39F9D5DDE1AF77237723772377211200ED4B5187097E23666F52\r
+:201D9A0046236668E5210E00194E2346E1A7ED422803CDC155DDCB0A46CA955E2102003938\r
+:201DBA00E52B2BCD7B54E1210200394E23462B2B2BCD0956CDFB81DD6E08DD6609E5DD6E79\r
+:201DDA0006DD6607E5210600394E2346C52B2B2B4E2346DDCB0A4E2807DD5E1016001803F5\r
+:201DFA00110000CDE749E1E1E1DDCB0A7EDD4E08DD4609DD5E06DD560720073E0021B4488C\r
+:201E1A0018053E00213348CDEF55CDE155DD4E08DD460909EB010200CDEB826960394623A2\r
+:201E3A006668194D44210000395E235613133E0021B847CDFB81DDCB0B462836FD2100009D\r
+:201E5A00DD5E20DD56213E0021C674CD164BFDE5E1A7ED42210600300B39FDE5C109362AB2\r
+:201E7A00FD2318DC39FDE5C109360021060039EB1806DD5E20DD5621CD8B4721480039F9C7\r
+:201E9A00C35349CD7A820000FDE5DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5DD9D\r
+:201EBA005E02DD56033E0021ED58CDFB81F1F1F1E5FDE1010A0009CBDE01FF84FDE5D13EBD\r
+:201EDA000021424DCDFB81FD361A79FD361B5DFD361C00FD3617F8FD36185CFD361900C337\r
+:201EFA003A4DCDEF81C3A381C5DDE5F5F5D5DDE121020039AF7723772B2B2B772377211238\r
+:201F1A0000ED4B5187097E23666F46236668E5210E00194E2346E1A7ED422803CDC155DD5B\r
+:201F3A00CB0A46282121000039E5CD7954E1210000394E2346C5234E2346DDE5D13E0021C7\r
+:201F5A007157CDFB81E1C3B955CD7A820000FDE5DD6E0CDD660DE5DD6E0ADD660BE5DD5EAA\r
+:201F7A0002DD56033E0021984CCDFB81F1F1E5FDE101200009DD4E0E71DD460F2370FD3612\r
+:201F9A000A01FD360B00FD3617FCFD36185EFD361900FD361A02FD361B5FFD361C00FD3625\r
+:201FBA001DE7FD361E58FD361F00C33A4DCD7A820000DD6E0ADD660BE5DD5E02DD56033EBC\r
+:201FDA000021BB51CDFB81E1C3A381CD7A82CEFFFDE5DD36D800210000E5C5CD6E47F1F117\r
+:201FFA00DD75D4DD74D5DD36F006DD36F100DD36F205DD36F300DD36F400DD7ED8FE732093\r
+:20201A0018DD6ED9DD66DADD75F0DD74F1DD6EDBDD66DCDD75F2DD74F3DD7ED8FE4228075A\r
+:20203A00DD7ED8FE4D204EDD4EDD0600C5CD9463D5CDAA63D5DD6EDB260044DD4ED9094D95\r
+:20205A0044110301CDB263EBD1A7ED522B2B2BE5CDBE63D5CDAA633E0021ED58C1CDFB81D8\r
+:20207A00F1F1F1E5FDE1DD7ED8FE4D2004FDCB0AF6DD36F401DD7ED8FE542043DD4EDD0648\r
+:20209A0000C5CD9463D5CDAA63D5DD6EDB260044DD4ED9094D44110301CDB263EBD1A7EDA4\r
+:2020BA00522B2B2BE5CDBE63D5CDAA633E0021D25AC1CDFB81F1F1F1E5FDE1DD36F401DDA1\r
+:2020DA007ED8FE442043DD4EDD0600C5CD9463D5CDAA63D5DD6EDB260044DD4ED9094D44A2\r
+:2020FA00110301CDB263EBD1A7ED522B2B2BE5CDBE63D5CDAA633E00219D5EC1CDFB81F1D5\r
+:20211A00F1F1E5FDE1DD36F401DD7ED8FE4C2046210C003901120009E5CD9463D5CDAA633B\r
+:20213A00D5DD6EDB260044DD4ED9094D44110301CDB263EBD1A7ED522B2B2BE5CDBE63D5C0\r
+:20215A00CDAA633E0021635FC1CDFB81F1F1F1E5FDE1DD36F401DD7ED8FE41205121260098\r
+:20217A00DD4E02DD460309E5212B0039EBE1732372DD6EDEDD66DFDD75F8DD74F9DD6EE0A1\r
+:20219A00DD66E1DD75FADD74FB211600394E2346235E2356DD71FCDD70FDDD73FEDD72FF18\r
+:2021BA00DD5E02DD56033E0021D263CDFB81DD7ED8FE532071210C00394D44DD5ED4DD5667\r
+:2021DA00D53E00212167CDFB81212600DD4E02DD460309E5110400CD8C63EBE17323722192\r
+:2021FA0026000956DD72F52366DD74F62124000936042336006ADD66F62323E5210C00ED63\r
+:20221A004B5187095E2356E1732372210A00ED4B51870946236668E5DD6EF5DD66F6C171AD\r
+:20223A002370DD36F400AFDDB6F4CA4063DD7EDEDDB6DF2869FDCB0AEEFD36240BFD362591\r
+:20225A0000110B00CD8C63FD7526FD7427FD6E26DD75D0FD6627DD74D136D22336632336E0\r
+:20227A0000DD6ED0DD66D1232323DD4EDE71DD46DF2370210500DD4ED0DD46D109DD5EE064\r
+:20229A0073DD56E1237221070009E5211800395E2356234E2346E173237223712370DD7E64\r
+:2022BA00E6DDB6E7280CDD6EE6FD750ADD66E7FD740BDD6EE8FD750EDD66E9FD740FDD6E73\r
+:2022DA00EAFD7520DD7EEBE60FFD7721FD7E20FDB6212016111400CD8C63FD7520FD7421EE\r
+:2022FA00FD6E20FD662136001804FDCB0BF6DD7EEB2E004DE6F0472610ED423010DD6EEAE2\r
+:20231A00DD7EEBE60F6723FD7522FD7423FDE5DD5E024BDD560342211D00094E2346237E35\r
+:20233A006960C1CDFB81211400E52E0E394D44DD5ED4DD56D53E01218742CDFB81F13E14C4\r
+:20235A00ADB4CA1060DD5ED4DD56D5CDB047DD5E02DD56033E00210851CDFB81DD5E024BF1\r
+:20237A00DD560342211A00094E2346237E6960C3F3573E01212B40C3FB81DD4EDC118300B4\r
+:20239A00CDAE81DD4EF2DD46F3CDEB821B1B1BC9DD5ED91600010301CDAE81DD4EF0DD4637\r
+:2023BA00F1C3EB82DD5EDA1600018300CDAE81DD4EF2DD46F3C3EB82CD7A82F8FFFDE5DD55\r
+:2023DA006E02DD6603E5FDE1FD6E26DD75F8FD6627DD74F92323233E01AE23B6200A6F678C\r
+:2023FA00E5010105CD6A54E1DD6EF8DD66F923232346236668CB853E02ADB4C2016521050D\r
+:20241A0000DD4EF8DD46F90956237E6AE60F6729E5210C00ED5B5187195E2356E1192B2B02\r
+:20243A0056DD72FC2366DD74FD210000E5E5010100FD5E11FD56123E00219F50CDFB81E1D4\r
+:20245A00E1FD6E11FD6612010800094E2346C5FD6E11FD6612010600094E2346C501000084\r
+:20247A0059503E00216B56CDFB81F1F1DD75FADD74FB010A000936032370DD6EF8DD66F957\r
+:20249A00232323CB46280C6960DD4EFADD46FB0923CBEE211700DD4EFADD46FB0936C723DF\r
+:2024BA00365F233600211A00093626233656233600DD4EFCDD46FDDD5EFADD56FB3E002163\r
+:2024DA00E55FCDFB81DD4EFADD46FBC5FD5E11FD5612FD6E11FD6612011D00094E2346238A\r
+:2024FA007E6960C1CDFB81DD6EF8DD66F92323233E04AE23B6C29F66210100E5FD6E11FD79\r
+:20251A006612010800094623666801F6FF09E5FD6E11FD6612010600094623666801F6FFCE\r
+:20253A0009E501050059503E0021E85BCDFB81F1F1F1DD75FADD74FB010A000936032336E8\r
+:20255A0010210E00DD4EFADD46FB093630233600AFDD77FEDD77FF210500DD4EF8DD46F95E\r
+:20257A00095E2356060CCD87834B42DD6EFEDD66FFCDC88230043E011801AFE60FCA3366B6\r
+:20259A00210500DD4EF8DD46F90946237E68E60F67DD4EFEDD46FF0929E5210C00ED5B51E0\r
+:2025BA0087195E2356E1192B2B5E2356D5211000E52E06DD5EFADD56FB196E260001F0FF44\r
+:2025DA0009E5DD6EFEDD66FF29294D442909011400094D441108003E0021635FCDFB81F130\r
+:2025FA00F1F1DD75FCDD74FD010E000936302370DD4EFCDD46FDC5DD5EFA4BDD56FB422115\r
+:20261A001D00094E2346237E6960C1CDFB81DD34FE2003DD34FFC37165010085DD5EFADDDC\r
+:20263A0056FB3E0021424DCDFB8101FF00CD1367010E0009363023700EFECD1367EBCD781D\r
+:20265A0050DD4EFADD46FBC5FD5E11FD5612FD6E11FD6612011D00094E2346237E6960C13D\r
+:20267A00CDFB81210000E5FD5E11FD5612FD6E11FD6612011700094E2346237E69600103E9\r
+:20269A0001CDFB81E1DD6EF8DD66F92323233E05AE23B6201D210500DD4EF8DD46F9095E3A\r
+:2026BA002356D5210700094D442A51872323CD8047F1DD6EF8DD66F92323233E06AE23B670\r
+:2026DA002016210500DD4EF8DD46F9095E2356D521070009CD7647F1211800ED4B51870992\r
+:2026FA007E23B623B6280DFDE5D1211800ED4B5187CD5954FDE1C3A381DD5EFADD56FB3E7F\r
+:20271A000021774EC3FB81CD7A82F8FFFDE5030ADD77FE030ADD77FF0369604EDD71FC2392\r
+:20273A0046DD70FDDD6EFE6729EBCD8C63DD75FADD74FB5950CDB74BC54D44DD5E02DD5699\r
+:20275A00033E01218742CDFB81F1110000AFDD77F8DD77F9DD4EFCDD46FD6B62CDC8823045\r
+:20277A0035CDEC67303023DD75F8DD74F92B29DD4EFADD46FB09E5FDE5E1194D44E171236C\r
+:20279A0070FDE5E1197EB728031318F56B6213FDE5C1097718BECDEC67301329DD4EFADDEC\r
+:2027BA0046FB09E5FDE5E1194D44E1712370210A00ED4B518709FDE5C1712370210C00ED79\r
+:2027DA004B518709DD4EFA71DD46FB2370FDE1C3A381DD4EFEDD46FFDD6EF8DD66F9C3C852\r
+:2027FA00822A5187C3A981C5D5111B00CD8C63225187AF772377210800ED4B518709772336\r
+:20281A0077211200ED4B518709772377211400ED4B518709772377210C00ED4B51870977AE\r
+:20283A002377210A00ED4B518709772377211800ED4B51870977237723773E00217546CDAB\r
+:20285A00FB81210000E5E50E00C521594CE50E00C521754CE5113000CD2069210C0039F9E9\r
+:20287A00210000E5E50E00C521594CE50E00C521864CE5113100CD2069210C0039F9210012\r
+:20289A0000E5E50E00C5216C4CE50E00C5218F4CE5113200CD2069210C0039F9211600EDF3\r
+:2028BA004B518709E5118000D55AD54B423E00216B56CDFB81F1F14D44E1712370211600D3\r
+:2028DA00ED4B5187095623666A110A001936012372211600ED4B5187095623666A111700BB\r
+:2028FA001936C723365F233600211600ED4B51870946236668011A00093626233656233688\r
+:20291A0000D1C1C3A9813E00211C4BC3FB81C5D5211600ED4B5187095E2356CD78503E0085\r
+:20293A0021B249CDFB813E00219347CDFB81D1C1C3A981C5DDE5D5F5F5F5F54B4221160023\r
+:20295A00ED5B5187195E23563E0021E55FCDFB81210E00ED4B518709E5111000CD8C63EB6C\r
+:20297A00E1732372210E00ED4B5187097E23666F3600211000ED4B518709E5110000D5113A\r
+:20299A000C85D5CD6E47F1F1EBE173237221020039E5210000E52E10ED4B5187095E23560A\r
+:2029BA00D5CD6647F1F1F121060039366023360021020039E5210100E52E10094E2346C581\r
+:2029DA00CD6647F1F1F1DD210000210800ED4B5187097E23B6C2056B210100E523394D44D3\r
+:2029FA00210600ED5B5187195E23563E01218742CDFB81F13E01ADB420676F6739B6282BE4\r
+:202A1A004F0600C5211600ED5B5187195E2356211600ED4B51870946236668011700094E45\r
+:202A3A002346237E69600101001829234E47C5211600ED5B5187195E2356211600ED4B51E2\r
+:202A5A00870946236668011700094E2346237E6960010200CDFB81E121010039E52B46E194\r
+:202A7A0070210100E523394D44211000ED5B5187195E23563E01218742CDFB81F13E01AD48\r
+:202A9A00B420656F67393E10BE210E00ED4B518730150946236668DDE5C109E52102003937\r
+:202ABA0046E170DD231841095623666ADDE5D1193600210E00ED4B518709E5211600ED5B2C\r
+:202ADA005187195E2356211600ED4B51870946236668011700094E2346237E696001010445\r
+:162AFA00CDFB81E1DD210000C3E469210A0039F9DDE1C1C3A981C5\r
+:2003E9002F6465762F6C636430002F6465762F6C636431004859544543482031303030004D\r
+:200409004F4B0043616E63656C00004D65737361676520426F78002F6465762F62617263B0\r
+:040429006F64650097\r
 :2003C3001B4B1B5300001B4300001B4E00001B5200001B4600001B6800001B5A00000000B9\r
-:1403E300001B45001B002F776E642F303030302E73637200AE\r
-:20294600C5D5110800CDB36922418701060009E5CDB0694D44E1712370210600ED4B418773\r
-:20296600095623666A11140019AF772377210600ED4B4187097E23666F72210600ED4B4149\r
-:2029860087095623666A110E0019AF772377210600ED4B4187094623666801100009772345\r
-:2029A6007723772377D1C1C3A9811116003E01210040C3FB81CD7A829EFFFDE5212600DD75\r
-:2029C6004E02DD46030946DD709E2366DD749F2A41877DB420083E00214669CDFB8168DDE1\r
-:2029E600669F2323233E1023AE2BB6206421070048DD469F096E67E52A4187C17123702A09\r
-:202A060041872323E5CD1D6FE1712370210400ED4B418709E5210700DD5E9EDD569F195E22\r
-:202A26002356234E2346EB3E10CD316FE17123702A41874E2346DD5E02DD5603CD586FDD25\r
-:202A46005E02DD5603CD386FDD5E02DD5603CD756FDD6E9EDD669F232323462366680110C6\r
-:202A6600903E80AC67ED42DA9C6BDD6E9EDD669F2323234E2346211210CDC882DA9C6B2198\r
-:202A86000600ED4B41870946236668DD75A2DD74A3211400DD4EA2DD46A3097E23B6280AA8\r
-:202AA600211400095623666A18E1210500DD4E9EDD469F094E2346211100DD5E02DD56037A\r
-:202AC600195E23563E0021D64DCDFB81DD75A0DD74A1012000094E2346DD5E02DD56033EBF\r
-:202AE6000021A14CCDFB81012085DD5EA0DD56A13E0021A14CCDFB81DD5EA04BDD56A1CDC8\r
-:202B0600896FDD6E9EDD669F2323235E2356CD088210100300926B236B406B656B212000EB\r
-:202B2600DD4E02DD4603094E2346DD5EA2DD56A33E00213F75CDFB811852210E00DD4EA207\r
-:202B4600DD46A309E5212000DD4E02DD4603095E23563E00216675CDFB814D44E1182A21EF\r
-:202B66002000DD4E02DD4603095E23563E0021BA7CCDFB817C079F4F41E5211000DD5EA279\r
-:202B8600DD56A319D173237223712370DD5E024BDD5603CD896FDD6E9EDD669F2323234643\r
-:202BA600236668011E10A7ED42C2F96DAFDD77ACDD77ADDD77AEDD77AF210600ED4B418715\r
-:202BC6000946236668E5FDE1210100E5212185E53E0021CD7ECDFB81F1F1DD75A0DD74A180\r
-:202BE60021080039E5210000E5DD6EA0DD66A1E53E0021E273CDFB81F1F1F1DD36A860DD06\r
-:202C060036A90021080039E5210100E5DD6EA0DD66A1E53E0021E273CDFB81F1F1F1FDE51B\r
-:202C2600E17DB4CA0E6DFD7E0EFDB60FCA026D3E01FDAE0EFDB60F20296F67E52E64E5CDB1\r
-:202C4600A06FC5E56F67E52E64E5CDAF6FC5E5FDE5212E85E521200039E5CD986F210E00F1\r
-:202C66001868210000E52E64E5FD6E0EFD660F7C079F4F41C5E5CDBE6FCD4782C5E52100AF\r
-:202C860000E52E64E5FD6E0EFD660F7C079F4F41C5E5CDBE6FCD9882C5E5210000E52E6468\r
-:202CA600E5CDA06FC5E5210000E52E64E5CDAF6FC5E5FD6E0EFD660FE5FDE5215185E521E2\r
-:202CC6002A0039E5CD986F21180039F921100039E5FD5E0EFD560F7A079F4F41C5D5CDBE78\r
-:202CE6006FEBE1CDD68121140039EB3E0021AB73CDFB81E521160039CDCD6FF1FD6E14FD85\r
-:202D06006615E5FDE1C3246C6F67E52E64E5DD4EAEDD46AFDD6EACDD66ADCD4782C5E56FA9\r
-:202D260067E52E64E5DD4EAEDD46AFDD6EACDD66ADCD9882C5E5212085E5E5219185E521DA\r
-:202D4600220039E5CD986F21100039F921140039EB3E0021AB73CDFB81E521160039CDCDE8\r
-:202D66006FF1DD5EA0DD56A13E00219673CDFB81210600ED4B41870946236668E5FDE17DE6\r
-:202D8600B42813FDE5D13E00215F74CDFB81FD6E14FD661518E6210600ED4B418709E5CD39\r
-:202DA600B069EBE1732372210600ED4B4187095623666A11140019AF772377210600ED4B4A\r
-:202DC6004187097E23666F72210600ED4B4187095623666A110E0019AF772377210600EDAF\r
-:202DE6004B418709462366680110000977237723772377DD6E9EDD669F23232346236668B0\r
-:202E0600011F10A7ED42C2186F210600ED4B41870946236668DD75A0DD74A1211400DD4EB2\r
-:202E2600A0DD46A1097E23B6280A211400095623666A18E1210700DD4E9EDD469F096E6785\r
-:202E4600E52A4187C17123702A41872323E5CD1D6FE1712370210400ED4B418709E521073A\r
-:202E660000DD5E9EDD569F195E2356234E2346EB3E10CD316FE17123702A41874E23462182\r
-:202E86001100DD5E02DD5603195E2356CD586F211100DD5E02DD5603195E2356CD386F21FA\r
-:202EA6001100DD5E02DD5603195E2356CD756F211100DD4E02DD4603095E23562111000947\r
-:202EC60046236668011A00CD8D6F211400DD4EA0DD46A109E5CDB069EBE173237221140030\r
-:202EE600095623666ADD75A0DD74A101140009AF772377DD6EA0DD66A170210E00DD4EA07F\r
-:202F0600DD46A1097723772110000977237723772377FDE1C3A381210700DD4E9EDD469FD6\r
-:202F2600095E2356234E2346EB3E08CD158306004DC93E0021D64DCDFB81EB3E0021A14C1D\r
-:202F4600011485CDFB81210400ED5B4187194E2346C93E0021D64DCDFB81EB3E0021A14CB8\r
-:202F6600010C85CDFB812A418723234E2346C93E0021D64DCDFB81EB3E0021A14C011A8516\r
-:202F8600C3FB8142211A00094E2346237E6960C3FB813E00211B70C3FB81FD4E12FD46132A\r
-:202FA600FD6E10FD6611C34782FD4E12FD4613FD6E10FD6611C39882FD4E12FD4613FD6EF3\r
-:172FC60010FD6611C31F814D44DD5EA0DD56A13E00217272C3FB814B\r
-:20042000426172636F6465005374756B73005072696A7300002F6465762F7072696E7465BB\r
-:20044000720025313373205665726B6F6F70617274696B656C20207C25376C642C253032A1\r
-:200460006C640D0A0025313373205665726B6F6F70617274696B656C0D0A253464782040FB\r
-:20048000207C2025376C642C2530326C64202020202020202020207C25376C642C25303256\r
-:2004A0006C640D0A000D0A25313373546F7461616C3A253130737C25376C642C2530326CE3\r
-:0804C000640D0A0D0A0D0A008B\r
-:202FDD00C5D53E00213967CDFB813E00214669CDFB813E00213367CDFB810110000936BB4E\r
-:1E2FFD0023366923360011B4853E00218568CDFB813E00216068CDFB81D1C1C3A981CD\r
-:0E04C8002F776E642F303030302E7363720049\r
-:20301B00CD7A82FCFF2110003901020009DD75FCDD74FDDD4E0ADD460BED43CE85E5DD4EC9\r
-:20303B000CDD460D11CE853E0021FC76CDFB81F1DD75FEDD74FF2ACE853600DD6EFEDD66EB\r
-:04305B00FFC3A3818B\r
-:1804E20000000000FFFF0000FFFFFFFF200000000000000000000000E8\r
+:0603E300001B45001B0099\r
+:202B1000C5D5110800CD7D6B22538701060009E5CD7A6B4D44E1712370210600ED4B5387EB\r
+:202B3000095623666A11140019AF772377210600ED4B5387097E23666F72210600ED4B5359\r
+:202B500087095623666A110E0019AF772377210600ED4B5387094623666801100009772367\r
+:202B70007723772377D1C1C3A9811116003E01212B40C3FB81CD7A829EFFFDE5212600DD7E\r
+:202B90004E02DD46030946DD709E2366DD749F2A53877DB420083E0021106BCDFB8168DD37\r
+:202BB000669F232323462366680110903E80AC67ED42DA046DDD6E9EDD669F2323234E23CF\r
+:202BD00046211210CDC882DA046D210600ED4B53870946236668DD75A2DD74A3211400DD87\r
+:202BF0004EA2DD46A3097E23B6280A211400095623666A18E1210500DD4E9EDD469F094EF5\r
+:202C10002346211100DD5E02DD5603195E23563E0021774ECDFB81DD75A0DD74A101200034\r
+:202C3000094E2346DD5E02DD56033E0021424DCDFB81011985DD5EA0DD56A13E0021424DDE\r
+:202C5000CDFB81DD5EA04BDD56A1CDB370DD6E9EDD669F2323235E2356CD088210100300AC\r
+:202C7000FA6C786C956CCD6C212000DD4E02DD4603094E2346DD5EA2DD56A33E00215A768A\r
+:202C9000CDFB811865210E00DD4EA2DD46A309E5212000DD5E02DD5603195E23563E0021AB\r
+:202CB0008176CDFB81EBE1732372210E00097E23B62037210E000936012377182D2120007B\r
+:202CD000DD4E02DD4603095E23563E0021D57DCDFB817C079F4F41E5211000DD5EA2DD56DF\r
+:202CF000A319D173237223712370DD5E024BDD5603CDB370DD6E9EDD669F23232346236657\r
+:202D100068011E10A7ED42C2616FAFDD77ACDD77ADDD77AEDD77AF210600ED4B5387094667\r
+:202D3000236668E5FDE1210100E5211A85E53E01210040CDFB81F1F1DD75A0DD74A121084B\r
+:202D50000039E5210000E5DD6EA0DD66A1E53E0021FD74CDFB81F1F1F1DD36A860DD36A9C8\r
+:202D70000021080039E5210100E5DD6EA0DD66A1E53E0021FD74CDFB81F1F1F1FDE5E17D15\r
+:202D9000B4CA766EFD7E0EFDB60FCA6A6E3E01FDAE0EFDB60F20296F67E52E64E5CDCA7098\r
+:202DB000C5E56F67E52E64E5CDD970C5E5FDE5212785E521200039E5CDC270210E001868C6\r
+:202DD000210000E52E64E5FD6E0EFD660F7C079F4F41C5E5CDE870CD4782C5E5210000E5B4\r
+:202DF0002E64E5FD6E0EFD660F7C079F4F41C5E5CDE870CD9882C5E5210000E52E64E5CD05\r
+:202E1000CA70C5E5210000E52E64E5CDD970C5E5FD6E0EFD660FE5FDE5214A85E5212A00AF\r
+:202E300039E5CDC27021180039F921100039E5FD5E0EFD560F7A079F4F41C5D5CDE870EB86\r
+:202E5000E1CDD68121140039EB3E0021C674CDFB81E521160039CDF770F1FD6E14FD6615B1\r
+:202E7000E5FDE1C38C6D6F67E52E64E5DD4EAEDD46AFDD6EACDD66ADCD4782C5E56F67E504\r
+:202E90002E64E5DD4EAEDD46AFDD6EACDD66ADCD9882C5E5211985E5E5218A85E5212200A7\r
+:202EB00039E5CDC27021100039F921140039EB3E0021C674CDFB81E521160039CDF770F1CD\r
+:202ED000DD5EA0DD56A13E0021B174CDFB81210600ED4B53870946236668E5FDE17DB428D1\r
+:202EF00013FDE5D13E00217A75CDFB81FD6E14FD661518E6210600ED4B538709E5CD7A6B97\r
+:202F1000EBE1732372210600ED4B5387095623666A11140019AF772377210600ED4B53870B\r
+:202F3000097E23666F72210600ED4B5387095623666A110E0019AF772377210600ED4B535B\r
+:202F50008709462366680110000977237723772377DD6E9EDD669F23232346236668011FB0\r
+:202F700010A7ED42C28F70210600ED4B53870946236668DD75A0DD74A1211400DD4EA0DD60\r
+:202F900046A1097E23B6280A211400095623666A18E1210700DD4E9EDD469F096E67E52A88\r
+:202FB0005387C17123702A53872323E5210700DD4E9EDD469F095E2356234E2346EB3E0895\r
+:202FD000CD158306004DE1712370210400ED4B538709E5210700DD5E9EDD569F195E23565C\r
+:202FF000234E2346EB3E10CD158306004DE17123702A5387CD947001AD85CDFB812A5387BC\r
+:203010002323CD947001B585CDFB81210400ED5B538719CD947001BB85CDFB81211100DD3B\r
+:203030004E02DD4603095E23562111000946236668011A00CDB770211400DD4EA0DD46A1E5\r
+:2030500009E5CD7A6BEBE1732372211400095623666ADD75A0DD74A101140009AF772377A3\r
+:20307000DD6EA0DD66A170210E00DD4EA0DD46A1097723772110000977237723772377FDAD\r
+:20309000E1C3A3814E2346211100DD5E02DD5603195E23563E0021774ECDFB81EB3E002155\r
+:2030B000424DC942211A00094E2346237E6960C3FB813E00215071C3FB81FD4E12FD4613B0\r
+:2030D000FD6E10FD6611C34782FD4E12FD4613FD6E10FD6611C39882FD4E12FD4613FD6EC8\r
+:1730F00010FD6611C31F814D44DD5EA0DD56A13E0021BC73C3FB81D5\r
+:20042D00002F6465762F7072696E7465720025313373205665726B6F6F70617274696B658C\r
+:20044D006C20207C25376C642C2530326C640D0A0025313373205665726B6F6F7061727458\r
+:20046D00696B656C0D0A253464782040207C2025376C642C2530326C6420202020202020D3\r
+:20048D002020207C25376C642C2530326C640D0A000D0A25313373546F7461616C3A2531A5\r
+:2004AD0030737C25376C642C2530326C640D0A0D0A0D0A00426172636F6465005374756BC5\r
+:0804CD0073005072696A7300AC\r
+:20310700C5D53E00210168CDFB813E0021106BCDFB813E0021FB67CDFB81011800093685F3\r
+:2031270023366B23360011C1853E0021A773CDFB8111C6853E00214D69CDFB813E00212811\r
+:0931470069CDFB81D1C1C3A9814E\r
+:1304D5002F776E64002F776E642F303030302E73637200BF\r
+:20315000CD7A82FCFF2110003901020009DD75FCDD74FDDD4E0ADD460BED43E085E5DD4E81\r
+:203170000CDD460D11E0853E00211778CDFB81F1DD75FEDD74FF2AE0853600DD6EFEDD6674\r
+:04319000FFC3A38155\r
+:1804F40000000000FFFF0000FFFFFFFF200000000000000000000000D6\r
 :20003300E3D5DDE5DD210000DD39DD5609DD7409DD5E08DD7508D5C5F5DD6E0462ED6CDD76\r
 :200053005605ED5C1959DD5607ED5C19DD5E0650ED5C19E5DD5E04DD56FEED5CDD6E05DD1D\r
 :200073006607ED6C19DD4606ED4C09E5DD5E04DD5607ED5CDD6E05DD6606ED6CAF1917F5B6\r
 :20009300DD5E04DD5606ED5C4A0600AF091755C14CE10984C1814D47EBF1D1D1DDE1D13387\r
 :0F00B300333333C9DDF9DDE1D1C1F1ED3939C99D\r
-:20305F00CD7A82F8FFAFDD77FEDD77FFDD7E02DDB603207811E8853E00215F70CDFB817D40\r
-:20307F00B4201E1100863E00215F70CDFB817DB4200F1118863E00215F70CDFB817DB42852\r
-:20309F000621FFFFC36F722AE685DD7502DD7403DD7E02DDB603282EDD5E02DD56033E0011\r
-:2030BF00215F70CDFB817DB4280621FFFFC36F72211600DD4E02DD4603095623666ADD7568\r
-:2030DF0002DD740318CA210000C36F72210C00DD4E02DD4603097EE680CAC571210600DD63\r
-:2030FF004E02DD4603095E23560A6F030A67A7ED52DD75FADD74FB7DB4CAC371210600DDBD\r
-:20311F004E02DD46030946236668DD75F8DD74F9DD6EFADD66FBE5DD4EF8DD46F9210A0074\r
-:20313F00DD5E02DD5603195E23563E00217272CDFB81F1DD75FCDD74FD4D44210000CDC8AD\r
-:20315F0082301E210000397EDD86FC77237EDD8EFD77210200397EDD96FC77237EDD9EFD79\r
-:20317F0077DD4EFCDD46FD210000CDC88238A1DD7EFCDDA6FD3C20092A3A873E04ADB4286F\r
-:20319F008FDD7EFADDB6FB281B210C00DD4E02DD4603097EF60077237EF60277DD36FEFFC7\r
-:2031BF00DD36FFFF186A210C00DD4E02DD4603097EE640285BDD6E02DD66034E2346DD6E18\r
-:2031DF0002DD660323235623666AA7ED42DD75FADD74FB4D44210000CDC88230332101003D\r
-:2031FF00E5DD4EFADD46FBA7210000ED427C079F4F41C5E5210A00DD4E02DD4603095E232D\r
-:20321F00563E0021C072CDFB81F1F1F1CB782800210C00DD4E02DD4603097EE63F77237EDD\r
-:20323F00E6FA7769602323E5210400DD4E02DD460309E5210600095623666AE56960C17165\r
-:20325F002370E1712370E1712370DD6EFEDD66FFC3A381CDEF81DD6E0ADD660BE5C5D52100\r
-:12327F002400E53E01217B42CDFB81F1F1F1F1C3A38123\r
+:20319400CD7A82F8FFAFDD77FEDD77FFDD7E02DDB603207811FA853E00219471CDFB817DC2\r
+:2031B400B4201E1112863E00219471CDFB817DB4200F112A863E00219471CDFB817DB4288C\r
+:2031D4000621FFFFC3A4732AF885DD7502DD7403DD7E02DDB603282EDD5E02DD56033E0093\r
+:2031F400219471CDFB817DB4280621FFFFC3A473211600DD4E02DD4603095623666ADD75C6\r
+:2032140002DD740318CA210000C3A473210C00DD4E02DD4603097EE680CAFA72210600DDC0\r
+:203234004E02DD4603095E23560A6F030A67A7ED52DD75FADD74FB7DB4CAF872210600DD50\r
+:203254004E02DD46030946236668DD75F8DD74F9DD6EFADD66FBE5DD4EF8DD46F9210A003E\r
+:20327400DD5E02DD5603195E23563E0021BC73CDFB81F1DD75FCDD74FD4D44210000CDC82C\r
+:2032940082301E210000397EDD86FC77237EDD8EFD77210200397EDD96FC77237EDD9EFD43\r
+:2032B40077DD4EFCDD46FD210000CDC88238A1DD7EFCDDA6FD3C20092A4C873E04ADB42827\r
+:2032D4008FDD7EFADDB6FB281B210C00DD4E02DD4603097EF60077237EF60277DD36FEFF91\r
+:2032F400DD36FFFF186A210C00DD4E02DD4603097EE640285BDD6E02DD66034E2346DD6EE2\r
+:2033140002DD660323235623666AA7ED42DD75FADD74FB4D44210000CDC882303321010006\r
+:20333400E5DD4EFADD46FBA7210000ED427C079F4F41C5E5210A00DD4E02DD4603095E23F6\r
+:20335400563E0021DB73CDFB81F1F1F1CB782800210C00DD4E02DD4603097EE63F77237E8B\r
+:20337400E6FA7769602323E5210400DD4E02DD460309E5210600095623666AE56960C1712F\r
+:203394002370E1712370E1712370DD6EFEDD66FFC3A381CDEF81D5210300E53E0121A642E7\r
+:2033B400CDFB81F1F1C3A381CDEF81DD6E0ADD660BE5C5D5212400E53E0121A642CDFB81CD\r
+:0733D400F1F1F1F1C3A38147\r
 :1600C200F5C5E5784251676BED4CED6CED5C79858257E1C1F1C99E\r
-:20329100CD7A82FCFF210E003901020009DD75FCDD74FDE5DD4E0ADD460B1100863E00210B\r
-:2032B100FC76CDFB81F1DD75FEDD74FFC3A381CDEF81DD6E0EDD660FE5DD6E0CDD660DE571\r
-:2032D100DD6E0ADD660BE5D5211900E53E01210F44CDFB81F1F1F1F1F1C37B83CD7A82FE28\r
-:2032F100FF2AE685DD75FEDD74FF1100863E00215F70CDFB811118863E00215F70CDFB8155\r
-:20331100DD7EFEDDB6FF283CDD5EFEDD56FF3E00215F70CDFB81210A00DD4EFEDD46FF09EC\r
-:203331005E23563E00219673CDFB81210A000936FF2336FF211600095623666ADD75FEDD7D\r
-:2033510074FF18BCC3A381C5D52A30867DB42002182E2100002230861101003E00210D7430\r
-:20337100CDFB817DB4280C210C867EF60177237EF600770E0011ED723E0121DC43CDFB819B\r
-:05339100D1C1C3A981B8\r
-:2004FA0000004387438743874387438800001000000000000000000000004388438843887E\r
-:20051A00438843890100200000000000000000000000268626862686268628860200220087\r
-:0C053A00000000000000000000000100B4\r
-:20339600CDEF81D5210600E53E01217B42CDFB81F1F1C3A381CD7A82FEFFDD6E02DD660371\r
-:2033B600DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE2003DD34FF18ECDD4E02DD46039C\r
-:0C33D600DD6EFEDD66FFA7ED42C3A381A3\r
+:2033DB00CDEF81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5D5211900E53E01219D\r
+:2033FB003A44CDFB81F1F1F1F1F1C37B83CD7A82FEFF2AF885DD75FEDD74FF1112863E0081\r
+:20341B00219471CDFB81112A863E00219471CDFB81DD7EFEDDB6FF283CDD5EFEDD56FF3EBC\r
+:20343B0000219471CDFB81210A00DD4EFEDD46FF095E23563E0021B174CDFB81210A0009AB\r
+:20345B0036FF2336FF211600095623666ADD75FEDD74FF18BCC3A381C5D52A42867DB42003\r
+:20347B0002182E2100002242861101003E00212875CDFB817DB4280C211E867EF60177234E\r
+:16349B007EF600770E001108743E01210744CDFB81D1C1C3A98122\r
+:20050C000000558755875587558755880000100000000000000000000000558855885588DB\r
+:20052C0055885589010020000000000000000000000038863886388638863A8602002200F7\r
+:0C054C00000000000000000000000100A2\r
+:2034B100CDEF81D5210600E53E0121A642CDFB81F1F1C3A381CD7A82FEFFDD6E02DD66032A\r
+:2034D100DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE2003DD34FF18ECDD4E02DD460380\r
+:0C34F100DD6EFEDD66FFA7ED42C3A38187\r
 :1200D800E3F5C54E2346237BEDB12002232309C38E8242\r
-:2033E200CDEF81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5210F00E53E01217BFA\r
-:0B34020042CDFB81F1F1F1F1C3A38189\r
+:2034FD00CDEF81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5210F00E53E0121A6B3\r
+:0B351D0042CDFB81F1F1F1F1C3A3816D\r
 :1900EA00F57E83775F237E8A7757237E89774F237E8877472B2B2BF1C926\r
-:20340D00CD7A82E2FF210000394D44DD5E02DD56033E00214874CDFB817DA43C2812DD7E41\r
-:20342D00E6E6006FDD7EE7E6F0673E20ACB528052100001803210100C3A381CDEF81C5D5BD\r
-:20344D00210D00E53E01217B42CDFB81F1F1F1C3A381CD7A82FCFF21FCFFDD4E02DD4603F9\r
-:20346D0009DD75FEDD74FF23237E23B6280621FFFFC33C752A4789DD75FCDD74FDDD4EFC7B\r
-:20348D00DD46FDDD6EFEDD66FFA7ED423817DD6EFCDD66FD232346236668DD4EFEDD46FF00\r
-:2034AD00A7ED423053DD6EFCDD66FD23234E2346DD6EFCDD66FDA7ED423829DD4EFEDD4618\r
-:2034CD00FFDD6EFCDD66FDA7ED423816DD6EFCDD66FD23234E2346DD6EFEDD66FFA7ED4250\r
-:2034ED0030021814DD6EFCDD66FD232346236668DD75FCDD74FD1885DD6EFEDD66FF232353\r
-:20350D00E5DD4EFCDD46FD030369604E2346E1712370DD6EFCDD66FD2323DD4EFEDD46FFEF\r
-:12352D00712370DD6EFCDD66FD224789210000C3A38107\r
+:20352800CD7A82E2FF210000394D44DD5E02DD56033E00216375CDFB817DA43C2812DD7E09\r
+:20354800E6E6006FDD7EE7E6F0673E20ACB528052100001803210100C3A381CDEF81C5D5A1\r
+:20356800210D00E53E0121A642CDFB81F1F1F1C3A381CD7A82FCFF21FCFFDD4E02DD4603B2\r
+:2035880009DD75FEDD74FF23237E23B6280621FFFFC357762A5989DD75FCDD74FDDD4EFC31\r
+:2035A800DD46FDDD6EFEDD66FFA7ED423817DD6EFCDD66FD232346236668DD4EFEDD46FFE4\r
+:2035C800A7ED423053DD6EFCDD66FD23234E2346DD6EFCDD66FDA7ED423829DD4EFEDD46FC\r
+:2035E800FFDD6EFCDD66FDA7ED423816DD6EFCDD66FD23234E2346DD6EFEDD66FFA7ED4234\r
+:2036080030021814DD6EFCDD66FD232346236668DD75FCDD74FD1885DD6EFEDD66FF232336\r
+:20362800E5DD4EFCDD46FD030369604E2346E1712370DD6EFCDD66FD2323DD4EFEDD46FFD3\r
+:12364800712370DD6EFCDD66FD225989210000C3A381D9\r
 :19010300E1C5D5DDE5DD210000DD39E9E526806F7EED2039ED3939E3E9C0\r
-:20353F00CDEF8159503E0021AB73CDFB8123E5DD4E04DD4605DD5E02DD56033E01219542B7\r
-:07355F00CDFB81F1C3A38144\r
+:20365A00CDEF8159503E0021C674CDFB8123E5DD4E04DD4605DD5E02DD56033E0121C04254\r
+:07367A00CDFB81F1C3A38128\r
 :20011C00E3F5D57B96235F7A9E23577B96237A9E23C33982E3F5C54E23462378B1280D0B24\r
 :20013C007B962320F57A9620F12323230909C38E823004EB2329195E2356EBD1F1E3C9EB4C\r
 :20015C00E3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD75083E01CDC783CD23833F\r
 :20017C00B72006CDB183CDDA82DDF9DDE1F1D13333C9E1C5D5DDE5DD210000DD395E2356AF\r
 :10019C0023EB39F9EBE909097E23666FC1F1E3C959\r
-:16356600CDEF81210A00E50100003E0121A545CDFB81F1C3A38196\r
+:16368100CDEF81210A00E50100003E0121D045CDFB81F1C3A3814F\r
 :2001AC00EBE3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD7508AFCDC783CD238394\r
 :1001CC00E1C1B7CCB183C4DA82DDE1F1D13333C9FB\r
-:20357C00CD7A82FAFFAFDD77FBDD77FC59503E0021AB73CDFB81DD75FDDD74FEDD6E04DDE6\r
-:20359C0066057EFE2D2014DD6E04DD660523DD7504DD74052B46DD700A180EAFDDB60A28FF\r
-:2035BC0008DD34FD2003DD34FEDD7E10DDA6113C281DDD4EFDDD46FEDD6E10DD6611CDC89A\r
-:2035DC0082300CDD6E10DD6611DD75FDDD74FEDD4EFDDD46FEDD6E0EDD660FCDC882300C7D\r
-:2035FC00DD6EFDDD66FEDD750EDD740FDD6E0EDD660FDD75FBDD74FC211400397EDD96FDC5\r
-:20361C0077237EDD9EFE77DD7E0EDDB60F2009DD7EFDDDB6FECAF376DD7E08DDB6092034E3\r
-:20363C00DD7E0EDDB60F282CDD7EFDDDB6FE280FAFDDB60A2809DD7E0CFE3020021823DDA3\r
-:20365C00460CDD70FADD6E0EDD660F2BDD750EDD740F184EDD7EFDDDB6FE2833AFDDB60A29\r
-:20367C00280CDD460ADD70FADD360A001812DD6E04DD660523DD7504DD74052B46DD70FA21\r
-:20369C00DD6EFDDD66FE2BDD75FDDD74FE1813DD460CDD70FADD6E0EDD660F2BDD750EDD08\r
-:2036BC00740FDD4E02DD4603DD5EFA16003E01213E44CDFB81DD7EFAFE0A20183E01DDAE43\r
-:2036DC0012DDB613200EDD5E02DD56033E00215F70CDFB81C32376DD6EFBDD66FCC3C08317\r
-:2036FC00CD7A82A2FFAFDD77B0DD77B1210C00DD5E02DD5603197EE6034F237EE60047DD72\r
-:20371C0071FDDD70FE210C00197EE6FC77237EE6FF77DD6E04DD6605AFB6CA017CDD6E0428\r
-:20373C00DD66057EFE25C2B47B3E02DDAEFDDDB6FE200EDD5E02DD56033E00215F70CDFBA3\r
-:20375C0081AFDD77A4DD77A5DD36B300DD36B220DD36ACFFDD36ADFFAFDD77AADD77ABDD7B\r
-:20377C0036A8FFDD36A9FFDD36AE0ADD36AF00211B0039DD75B5DD74B6DD36B400AFDD77BB\r
-:20379C00A6DD77A7AFDD77A2DD77A3DD34042003DD3405DD6E04DD66057EFE30380BDD6EB1\r
-:2037BC0004DD66053E39BE3002186521000039010A00CDA783DD6E04DD66054E060021D085\r
-:2037DC00FF094D44210000397E8177237E8877DD7EAADDB6AB280EDD6EA2DD66A3DD75A87E\r
-:2037FC00DD74A91821DD7EA2DDB6A3200DDD7EB2FE202006DD36B230188ADD6EA2DD66A35F\r
-:20381C00DD75ACDD74ADDD34042003DD34051883DD6E04DD66055ECDC48114000020212328\r
-:20383C002A2B2D2E5862636468696C6F70737578B07BB879C079437B937989790F79247939\r
-:20385C001A792479007B7F79AE79047986789178A5789E78E27A91787678DD6E04DD6605E1\r
-:20387C002BDD7504DD7405C3B47BDD36A401DD36A500C3A077DD6E04DD660546DD70B3C379\r
-:20389C00A077DD36B401C3A077216800397EC60277237ECE00772B6E672B2B46236668DD84\r
-:2038BC0075A2DD74A3DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A9182ADD6EA2DD662F\r
-:2038DC00A3DD75ACDD74ADCB7C281ADD36A401DD36A500DD4EA2DD46A3A7210000ED42DDCD\r
-:2038FC0075ACDD74ADC3A077DD36AA01DD36AB00C3A077DD36A601DD36A700C3A077AFDD83\r
-:20391C0077A6DD77A7C3A077210A00E5211D0039E5DD7EA6DDB6A7281D216C00397EC6049F\r
-:20393C0077237ECE00772B6E6701FCFF095E2356234E2346181A216C00397EC60277237E02\r
-:20395C00CE00772B6E672B2B5E23567A079F4F413E0021577CCDFB81F1F1DD75B5DD74B6BE\r
-:20397C00C3677BDD36AE02DD36AF001837DD36AE08DD36AF00182DAFDD77A6DD77A7DD362B\r
-:20399C00B230DD36AC05DD36AD00DD36A808DD36A900DD36AE10DD36AF001808DD36AEF0C2\r
-:2039BC00DD36AFFFDD7EA6DDB6A7281E216800397EC60477237ECE00772B6E6701FCFF093D\r
-:2039DC005E2356234E2346EB1819216800397EC60277237ECE00772B6E672B2B462366680C\r
-:2039FC00010000DD75B9DD74BADD71BBDD70BCDD5EAEDD56AFD5211D003901040009E5DD9B\r
-:203A1C004EBBDD46BCDD5EB9DD56BA3E01215045CDFB81F1F1DD75B5DD74B6DD36B7C2DD2A\r
-:203A3C0036B885AFDDB6B4CADF7A3E02DDAEAEDDB6AF200ADD36B7C3DD36B88518493E0875\r
-:203A5C00DDAEAEDDB6AF2018DD7EB9DDB6BADDB6BBDDB6BC2808DD36B7C6DD36B88518274A\r
-:203A7C003E10DDAEAEDDB6AF200ADD36B7C8DD36B88518133E0FDDAEAEDDA6AF3C2008DD31\r
-:203A9C0036B7CBDD36B885DD6EB7DD66B8AFB62832DD36B200DD4EB7DD46B8211B00395DF2\r
-:203ABC00543E00213F75CDFB81DD4EB5DD46B6211B00395D543E0121EF43CDFB81DD75B579\r
-:203ADC00DD74B6C3677BDD6E04DD6605234E0600DD71A2DD70A379B02808DD34042003DDC2\r
-:203AFC003405181C216800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A363\r
-:203B1C00DD46A2DD6EB5DD66B670DD6EB5DD66B6233600AFDDB6B4280CDD6EB5DD66B646A0\r
-:203B3C00DD70B21822181C216800397EC60277237ECE00772B6E672B2B46236668DD75B503\r
-:203B5C00DD74B6DD36B220DD36B300DD6EFDDD66FEE5DD6EA8DD66A9E5DD6EACDD66ADE599\r
-:203B7C00DD6EB2E5DD6EB3E5DD6EA4DD66A5E5DD4EB5DD46B6DD5E02DD5603CD7C75EB21B2\r
-:203B9C000C0039F9EB4D44210E00397E8177237E8877180218021842DD4E02DD4603DD6EA5\r
-:203BBC0004DD66055E16003E01213E44CDFB81DD34B02003DD34B1DD6E04DD66057EFE0A3B\r
-:203BDC0020183E01DDAEFDDDB6FE200EDD5E02DD56033E00215F70CDFB81DD34042003DD0C\r
-:203BFC003405C32E77210C00DD4E02DD4603097EDDB6FD77237EDDB6FE773E02DDAEFDDDAC\r
-:203C1C00B6FE200EDD5E02DD56033E00215F70CDFB813E01DDAEFDDDB6FE2016210400DD2C\r
-:1B3C3C004E02DD460309E5210600094E2346E1712370DD6EB0DD66B1C3A38167\r
-:0C04D60000306200300030780030580028\r
-:203C5700CD7A82FEFFDD36FE41DDCB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DD17\r
-:203C7700750CDD740DDD6EFEE53E0ADDAE0CDDB60D20043E011801AF4FC5DD6E0CDD660DBB\r
-:203C9700E5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E0021D07CCDFB81F1F1F1F11E\r
-:193CB700C3A381CDEF81210A00E50100003E0121A545CDFB81F1C37B837A\r
+:20369700CD7A82FAFFAFDD77FBDD77FC59503E0021C674CDFB81DD75FDDD74FEDD6E04DDAE\r
+:2036B70066057EFE2D2014DD6E04DD660523DD7504DD74052B46DD700A180EAFDDB60A28E3\r
+:2036D70008DD34FD2003DD34FEDD7E10DDA6113C281DDD4EFDDD46FEDD6E10DD6611CDC87E\r
+:2036F70082300CDD6E10DD6611DD75FDDD74FEDD4EFDDD46FEDD6E0EDD660FCDC882300C61\r
+:20371700DD6EFDDD66FEDD750EDD740FDD6E0EDD660FDD75FBDD74FC211400397EDD96FDA8\r
+:2037370077237EDD9EFE77DD7E0EDDB60F2009DD7EFDDDB6FECA0E78DD7E08DDB6092034AA\r
+:20375700DD7E0EDDB60F282CDD7EFDDDB6FE280FAFDDB60A2809DD7E0CFE3020021823DD87\r
+:20377700460CDD70FADD6E0EDD660F2BDD750EDD740F184EDD7EFDDDB6FE2833AFDDB60A0D\r
+:20379700280CDD460ADD70FADD360A001812DD6E04DD660523DD7504DD74052B46DD70FA05\r
+:2037B700DD6EFDDD66FE2BDD75FDDD74FE1813DD460CDD70FADD6E0EDD660F2BDD750EDDEC\r
+:2037D700740FDD4E02DD4603DD5EFA16003E01216944CDFB81DD7EFAFE0A20183E01DDAEFC\r
+:2037F70012DDB613200EDD5E02DD56033E00219471CDFB81C33E77DD6EFBDD66FCC3C083A9\r
+:20381700CD7A82A2FFAFDD77B0DD77B1210C00DD5E02DD5603197EE6034F237EE60047DD55\r
+:2038370071FDDD70FE210C00197EE6FC77237EE6FF77DD6E04DD6605AFB6CA1C7DDD6E04F0\r
+:20385700DD66057EFE25C2CF7C3E02DDAEFDDDB6FE200EDD5E02DD56033E00219471CDFB35\r
+:2038770081AFDD77A4DD77A5DD36B300DD36B220DD36ACFFDD36ADFFAFDD77AADD77ABDD5F\r
+:2038970036A8FFDD36A9FFDD36AE0ADD36AF00211B0039DD75B5DD74B6DD36B400AFDD779F\r
+:2038B700A6DD77A7AFDD77A2DD77A3DD34042003DD3405DD6E04DD66057EFE30380BDD6E95\r
+:2038D70004DD66053E39BE3002186521000039010A00CDA783DD6E04DD66054E060021D069\r
+:2038F700FF094D44210000397E8177237E8877DD7EAADDB6AB280EDD6EA2DD66A3DD75A862\r
+:20391700DD74A91821DD7EA2DDB6A3200DDD7EB2FE202006DD36B230188ADD6EA2DD66A342\r
+:20393700DD75ACDD74ADDD34042003DD34051883DD6E04DD66055ECDC4811400002021230C\r
+:203957002A2B2D2E5862636468696C6F70737578CB7CD37ADB7A5E7CAE7AA47A2A7A3F7A3D\r
+:20397700357A3F7A1B7C9A7AC97A1F7AA179AC79C079B979FD7BAC799179DD6E04DD660559\r
+:203997002BDD7504DD7405C3CF7CDD36A401DD36A500C3BB78DD6E04DD660546DD70B3C325\r
+:2039B700BB78DD36B401C3BB78216800397EC60277237ECE00772B6E672B2B46236668DD30\r
+:2039D70075A2DD74A3DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A9182ADD6EA2DD6613\r
+:2039F700A3DD75ACDD74ADCB7C281ADD36A401DD36A500DD4EA2DD46A3A7210000ED42DDB1\r
+:203A170075ACDD74ADC3BB78DD36AA01DD36AB00C3BB78DD36A601DD36A700C3BB78AFDD12\r
+:203A370077A6DD77A7C3BB78210A00E5211D0039E5DD7EA6DDB6A7281D216C00397EC60467\r
+:203A570077237ECE00772B6E6701FCFF095E2356234E2346181A216C00397EC60277237EE6\r
+:203A7700CE00772B6E672B2B5E23567A079F4F413E0021727DCDFB81F1F1DD75B5DD74B686\r
+:203A9700C3827CDD36AE02DD36AF001837DD36AE08DD36AF00182DAFDD77A6DD77A7DD36F3\r
+:203AB700B230DD36AC05DD36AD00DD36A808DD36A900DD36AE10DD36AF001808DD36AEF0A6\r
+:203AD700DD36AFFFDD7EA6DDB6A7281E216800397EC60477237ECE00772B6E6701FCFF0921\r
+:203AF7005E2356234E2346EB1819216800397EC60277237ECE00772B6E672B2B46236668F0\r
+:203B1700010000DD75B9DD74BADD71BBDD70BCDD5EAEDD56AFD5211D003901040009E5DD7E\r
+:203B37004EBBDD46BCDD5EB9DD56BA3E01217B45CDFB81F1F1DD75B5DD74B6DD36B7D4DDD1\r
+:203B570036B885AFDDB6B4CAFA7B3E02DDAEAEDDB6AF200ADD36B7D5DD36B88518493E082B\r
+:203B7700DDAEAEDDB6AF2018DD7EB9DDB6BADDB6BBDDB6BC2808DD36B7D8DD36B88518271C\r
+:203B97003E10DDAEAEDDB6AF200ADD36B7DADD36B88518133E0FDDAEAEDDA6AF3C2008DD03\r
+:203BB70036B7DDDD36B885DD6EB7DD66B8AFB62832DD36B200DD4EB7DD46B8211B00395DC4\r
+:203BD700543E00215A76CDFB81DD4EB5DD46B6211B00395D543E01211A44CDFB81DD75B515\r
+:203BF700DD74B6C3827CDD6E04DD6605234E0600DD71A2DD70A379B02808DD34042003DD8A\r
+:203C17003405181C216800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A346\r
+:203C3700DD46A2DD6EB5DD66B670DD6EB5DD66B6233600AFDDB6B4280CDD6EB5DD66B64684\r
+:203C5700DD70B21822181C216800397EC60277237ECE00772B6E672B2B46236668DD75B5E7\r
+:203C7700DD74B6DD36B220DD36B300DD6EFDDD66FEE5DD6EA8DD66A9E5DD6EACDD66ADE57D\r
+:203C9700DD6EB2E5DD6EB3E5DD6EA4DD66A5E5DD4EB5DD46B6DD5E02DD5603CD9776EB217A\r
+:203CB7000C0039F9EB4D44210E00397E8177237E8877180218021842DD4E02DD4603DD6E89\r
+:203CD70004DD66055E16003E01216944CDFB81DD34B02003DD34B1DD6E04DD66057EFE0AF4\r
+:203CF70020183E01DDAEFDDDB6FE200EDD5E02DD56033E00219471CDFB81DD34042003DDBA\r
+:203D17003405C34978210C00DD4E02DD4603097EDDB6FD77237EDDB6FE773E02DDAEFDDD73\r
+:203D3700B6FE200EDD5E02DD56033E00219471CDFB813E01DDAEFDDDB6FE2016210400DDDA\r
+:1B3D57004E02DD460309E5210600094E2346E1712370DD6EB0DD66B1C3A3814B\r
+:0C04E80000306200300030780030580016\r
+:203D7200CD7A82FEFFDD36FE41DDCB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DDFB\r
+:203D9200750CDD740DDD6EFEE53E0ADDAE0CDDB60D20043E011801AF4FC5DD6E0CDD660D9F\r
+:203DB200E5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E0021EB7DCDFB81F1F1F1F1E6\r
+:193DD200C3A381CDEF81210A00E50100003E0121D045CDFB81F1C37B8333\r
 :1201DC00C5E5F57CEE806778EE8047F1A7ED42E1C1C9C2\r
-:203CD000CD7A82D6FFDD6E0ADD660BDD75F8DD74F921000039DD75FADD74FB212C0039DDAA\r
-:203CF00075FCDD74FD213A00397ED60A77DD4E0CDD460D212400CDC8823811010280DD6EB2\r
-:203D10000CDD660D3E80AC67ED423003C3537EDD6EFCDD66FD23237EE60047237EE680B041\r
-:203D30002831AFDDB60E282BDD6EF8DD66F923DD75F8DD74F92B362DDD4E04DD4605DD6E11\r
-:203D500002DD6603CD8484DD7502DD7403DD7104DD7005DD6EFCDD66FD23237E23B62002A4\r
-:203D7000184EDD6E0CDD660D7C079F4F41C5E5DD4E04DD4605DD6E02DD6603CD1B84E5DDB2\r
-:203D90006EFADD66FB23DD75FADD74FB2BC171212C0039DD5E0CDD560D7A079F4F41CD0BC0\r
-:203DB00084DD6EFCDD66FD23237E23B620B41830DD5E02DD5603DD4E0CDD460DCDE282DD47\r
-:203DD0006EFADD66FB23DD75FADD74FB2B73DD5E02DD5603CD0783DD6EFCDD66FD7323727B\r
-:203DF000DD6EFCDD66FD7E23B620C5210000394D44DD6EFADD66FBA7ED42DD75FFAFDDB619\r
-:203E1000FF2840DD6EFADD66FB2BDD75FADD74FB46DD70FE78FE0A300ADD7EFEC630DD77F7\r
-:203E3000FE1809DD7EFEDD8610DD77FEDD6EF8DD66F923DD75F8DD74F92BDD46FE70DD3531\r
-:203E5000FF18BADD6EF8DD66F93600DD6E0ADD660BC3A381CD7A82FEFFDD36FE41DDCB0B77\r
-:203E70007E2816DD36FE61DD4E0ADD460BA7210000ED42DD750ADD740BDD6EFEE50E01C5F0\r
-:203E9000DD6E0ADD660BE5DD6E04DD6605E53E0ADDAE0ADDB60B200DDD5E02DD56037A0772\r
-:1D3EB0009F4F411809DD5E02DD56030100003E0021D07CCDFB81F1F1F1F1C3A38192\r
+:203DEB00CD7A82D6FFDD6E0ADD660BDD75F8DD74F921000039DD75FADD74FB212C0039DD8E\r
+:203E0B0075FCDD74FD213A00397ED60A77DD4E0CDD460D212400CDC8823811010280DD6E95\r
+:203E2B000CDD660D3E80AC67ED423003C36E7FDD6EFCDD66FD23237EE60047237EE680B009\r
+:203E4B002831AFDDB60E282BDD6EF8DD66F923DD75F8DD74F92B362DDD4E04DD4605DD6EF5\r
+:203E6B0002DD6603CD8484DD7502DD7403DD7104DD7005DD6EFCDD66FD23237E23B6200288\r
+:203E8B00184EDD6E0CDD660D7C079F4F41C5E5DD4E04DD4605DD6E02DD6603CD1B84E5DD96\r
+:203EAB006EFADD66FB23DD75FADD74FB2BC171212C0039DD5E0CDD560D7A079F4F41CD0BA4\r
+:203ECB0084DD6EFCDD66FD23237E23B620B41830DD5E02DD5603DD4E0CDD460DCDE282DD2B\r
+:203EEB006EFADD66FB23DD75FADD74FB2B73DD5E02DD5603CD0783DD6EFCDD66FD7323725F\r
+:203F0B00DD6EFCDD66FD7E23B620C5210000394D44DD6EFADD66FBA7ED42DD75FFAFDDB6FC\r
+:203F2B00FF2840DD6EFADD66FB2BDD75FADD74FB46DD70FE78FE0A300ADD7EFEC630DD77DB\r
+:203F4B00FE1809DD7EFEDD8610DD77FEDD6EF8DD66F923DD75F8DD74F92BDD46FE70DD3515\r
+:203F6B00FF18BADD6EF8DD66F93600DD6E0ADD660BC3A381CD7A82FEFFDD36FE41DDCB0B5B\r
+:203F8B007E2816DD36FE61DD4E0ADD460BA7210000ED42DD750ADD740BDD6EFEE50E01C5D4\r
+:203FAB00DD6E0ADD660BE5DD6E04DD6605E53E0ADDAE0ADDB60B200DDD5E02DD56037A0756\r
+:1D3FCB009F4F411809DD5E02DD56030100003E0021EB7DCDFB81F1F1F1F1C3A3815A\r
 :0801EE002CC024C00CC004C9A0\r
-:203ECD00CDEF81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5211400E53E01217BFF\r
-:0B3EED0042CDFB81F1F1F1F1C3A38194\r
+:20400000CDEF81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5211400E53E0121A69F\r
+:0B40200042CDFB81F1F1F1F1C3A3815F\r
 :2001F600F5E5CD9183EBE1F1C9F5C5E5AFCD4084F5CD9183F1B728031318067B2F5F7A2F3D\r
-:1302160057E1C1F1C9F5E5CD91837B2F5F7A2F57E1F1C9C3\r
-:20400000CD7A82FAFFDD6E02DD6603232323CB3CCB1DCB3CCB1D23DD75FEDD74FF2A478947\r
-:20402000DD75FCDD74FD7DB42011DD36FC43DD36FD89214389224589224789DD6EFCDD663E\r
-:20404000FD232346236668DD75FADD74FBDD6EFADD66FB232346236668DD4EFADD46FBA764\r
-:20406000ED42CAF040DD6EFADD66FB462366682929DD4EFADD46FB09E5030369604E234654\r
-:20408000E1A7ED42206ADD6EFADD66FB232346236668ED4B4789A7ED422015DD6EFADD6644\r
-:2040A000FB232346236668232346236668224789DD6EFADD66FB23237E23666F4E2346DD46\r
-:2040C0006EFADD66FB7E8177237E8877DD6EFADD66FB2323E5DD4EFADD46FB030369604E16\r
-:2040E0002346030369604E2346E1712370C34D40DD6EFADD66FB46236668DD4EFEDD46FF97\r
-:20410000A7ED42DAAE41DD6EFADD66FB46236668DD4EFEDD46FFA7ED42201CDD6EFCDD665F\r
-:20412000FD2323E5DD4EFADD46FB030369604E2346E17123701856DD6EFEDD66FF2929DD81\r
-:204140004EFADD46FB09224789DD6EFCDD66FD2323ED5B47897323722A47892323E50303E6\r
-:2041600069604E2346E1712370DD6EFADD66FB46236668DD4EFEDD46FFA7ED42E52A478920\r
-:20418000D1732372DD6EFADD66FB712370DD6EFCDD66FD224789DD6EFADD66FB2323AF7757\r
-:2041A0002377210400DD4EFADD46FB0918272A4789DD4EFADD46FBA7ED42204F1100043EE0\r
-:2041C00001214D46CDFB81DD75FADD74FB7DA43C2006210000C3A381DD6EFADD66FB360005\r
-:2041E000233601DD6EFADD66FB2323AF772377210400DD4EFADD46FB09EB3E00215F74CD81\r
-:20420000FB812A4789DD75FADD74FBDD6EFADD66FBDD75FCDD74FDDD6EFADD66FB23234662\r
-:0C422000236668DD75FADD74FBC34D40B9\r
-:0E022900B7C8CB28CB19CB1CCB1D3D20F5C987\r
-:20422C00CDEF812A3C873A3E87B5B42812010000DD5E02DD56033A3E872A3C87CDFB81DD20\r
-:10424C005E02DD56033E01212944CDFB81C3A381CF\r
+:2002160057E1C1F1C9F5E5CD91837B2F5F7A2F57E1F1C9B7C8CB28CB19CB1CCB1D3D20F53F\r
+:01023600C9FE\r
+:20402B00CD7A82FAFFDD6E02DD6603232323CB3CCB1DCB3CCB1D23DD75FEDD74FF2A59890A\r
+:20404B00DD75FCDD74FD7DB42011DD36FC55DD36FD89215589225789225989DD6EFCDD66CB\r
+:20406B00FD232346236668DD75FADD74FBDD6EFADD66FB232346236668DD4EFADD46FBA739\r
+:20408B00ED42CA1B41DD6EFADD66FB462366682929DD4EFADD46FB09E5030369604E2346FD\r
+:2040AB00E1A7ED42206ADD6EFADD66FB232346236668ED4B5989A7ED422015DD6EFADD6607\r
+:2040CB00FB232346236668232346236668225989DD6EFADD66FB23237E23666F4E2346DD09\r
+:2040EB006EFADD66FB7E8177237E8877DD6EFADD66FB2323E5DD4EFADD46FB030369604EEB\r
+:20410B002346030369604E2346E1712370C37840DD6EFADD66FB46236668DD4EFEDD46FF40\r
+:20412B00A7ED42DAD941DD6EFADD66FB46236668DD4EFEDD46FFA7ED42201CDD6EFCDD6609\r
+:20414B00FD2323E5DD4EFADD46FB030369604E2346E17123701856DD6EFEDD66FF2929DD56\r
+:20416B004EFADD46FB09225989DD6EFCDD66FD2323ED5B59897323722A59892323E5030385\r
+:20418B0069604E2346E1712370DD6EFADD66FB46236668DD4EFEDD46FFA7ED42E52A5989E3\r
+:2041AB00D1732372DD6EFADD66FB712370DD6EFCDD66FD225989DD6EFADD66FB2323AF771A\r
+:2041CB002377210400DD4EFADD46FB0918272A5989DD4EFADD46FBA7ED42204F1100043EA3\r
+:2041EB0001217846CDFB81DD75FADD74FB7DA43C2006210000C3A381DD6EFADD66FB3600AF\r
+:20420B00233601DD6EFADD66FB2323AF772377210400DD4EFADD46FB09EB3E00217A75CD39\r
+:20422B00FB812A5989DD75FADD74FBDD6EFADD66FBDD75FCDD74FDDD6EFADD66FB23234625\r
+:0C424B00236668DD75FADD74FBC3784063\r
+:20425700CDEF812A4E873A5087B5B42812010000DD5E02DD56033A50872A4E87CDFB81DDAD\r
+:104277005E02DD56033E01215444CDFB81C3A38179\r
 :20023700F5210000010000DD36F82118021937DDCBFC16DDCBFD16DDCBFE16DDCBFF16DD2F\r
 :2002570035F8282ECB11CB10CB15CB14ED5238DD201078DD960738D5200879DD960638CDEC\r
 :18027700180479DD96064F78DD9E074730C12BA718BDF1E56069C1C910\r
-:1F425C00CDEF81DD6E0ADD660BE5C5D5211700E53E01217B42CDFB81F1F1F1F1C3A381B6\r
+:1F428700CDEF81DD6E0ADD660BE5C5D5211700E53E0121A642CDFB81F1F1F1F1C3A38160\r
 :20028F00DDF9DDE1D13333F1ED3939C90405C8CB2ACB1B10FAC92100003E11CB13CB123D84\r
 :0C02AF00C8CB15CB14ED4230F20918EF5B\r
-:1A427B0021040039C5D55E2356234D44F73006223A8721FFFFD1C1C3A981F8\r
+:1A42A60021040039C5D55E2356234D44F73006224C8721FFFFD1C1C3A981BB\r
 :1902BB005E2356CDAE81722B73C9F57D2F6F7C2F67792F4F782F47F1C9BD\r
-:20429500CD7A82FCFFDD6E02DD6603DD75FCDD74FDDD71FEDD70FFDD6E0ADD660B2BDD755E\r
-:2042B5000ADD740B237DB42820DD6EFEDD66FF23DD75FEDD74FF2B46DD6EFCDD66FD23DDA1\r
-:2042D50075FCDD74FD2B7018CEDD6E02DD6603C3A381CD7A82FAFF2A32862BDD75FADD74A3\r
-:2042F500FB21FFFF2232863E00210000323E87223C87DDCBFB7E2053010500DD5EFADD5678\r
-:20431500FBCDAE81214989195E23562346EBDD75FCDD74FDDD70FE110500DD4EFADD46FB1A\r
-:20433500CDAE81214C89194E2346DD5E02DD5603DD7EFEDD6EFCDD66FDCDFB81DD6EFADDE8\r
-:2043550066FB2BDD75FADD74FB18A7C3A381CDEF812A3286CB7C200E010A802A32863E80BF\r
-:20437500AC67ED42380B210C00223A8721FFFF18533E0121E742323E87223C87DD7E02DD6A\r
-:20439500B603DDB604283A010500ED5B3286CDAE8121498919DD5604DD4E02DD460371232A\r
-:2043B500702372010500ED5B3286CDAE81214C8919DD4E0ADD460B7123702A328623223212\r
-:1A43D50086210000C3A381CDEF81210000E53E01216343CDFB81F1C3A381D6\r
-:020546000000B3\r
-:2043EF00CDEF81D53E0021AB73CDFB81D119EB3E00213F75CDFB81DD6E02DD6603C3A3812B\r
-:20440F0021040039D55E2356234D44F73008223A8721FFFF4D44D1C3A981CDEF81D5210B11\r
-:0F442F0000E53E01217B42CDFB81F1F1C3A3816A\r
+:2042C000CD7A82FCFFDD6E02DD6603DD75FCDD74FDDD71FEDD70FFDD6E0ADD660B2BDD7533\r
+:2042E0000ADD740B237DB42820DD6EFEDD66FF23DD75FEDD74FF2B46DD6EFCDD66FD23DD76\r
+:2043000075FCDD74FD2B7018CEDD6E02DD6603C3A381CD7A82FAFF2A44862BDD75FADD7465\r
+:20432000FB21FFFF2244863E00210000325087224E87DDCBFB7E2053010500DD5EFADD5616\r
+:20434000FBCDAE81215B89195E23562346EBDD75FCDD74FDDD70FE110500DD4EFADD46FBDD\r
+:20436000CDAE81215E89194E2346DD5E02DD5603DD7EFEDD6EFCDD66FDCDFB81DD6EFADDAB\r
+:2043800066FB2BDD75FADD74FB18A7C3A381CDEF812A4486CB7C200E010A802A44863E8070\r
+:2043A000AC67ED42380B210C00224C8721FFFF18533E01211243325087224E87DD7E02DDDD\r
+:2043C000B603DDB604283A010500ED5B4486CDAE81215B8919DD5604DD4E02DD46037123DB\r
+:2043E000702372010500ED5B4486CDAE81215E8919DD4E0ADD460B7123702A44862322449F\r
+:1A44000086210000C3A381CDEF81210000E53E01218E43CDFB81F1C3A3817F\r
+:020558000000A1\r
+:20441A00CDEF81D53E0021C674CDFB81D119EB3E00215A76CDFB81DD6E02DD6603C3A381C7\r
+:20443A0021040039D55E2356234D44F73008224C8721FFFF4D44D1C3A981CDEF81D5210BD4\r
+:0F445A0000E53E0121A642CDFB81F1F1C3A38114\r
 :0702D400DDF9DDE1D1C1C934\r
-:20443E00CD7A82FEFF3E00215873CDFB81210C000946236668DD75FEDD74FF7DE640281835\r
-:20445E00DD5E04DD56053E00215F70CDFB817DB4280621FFFFC34D45DD7EFEE6206FDD7E54\r
-:20447E00FFE603673E20ADB4280621FFFFC34D45210800DD4E04DD4605095E23560A6F0392\r
-:20449E000A67A7ED523818DD5E04DD56053E00215F70CDFB817DB4280621FFFFC34D45DDB9\r
-:2044BE006E04DD66054E234603702B710B6960DD460270210C00DD4E04DD4605097EF68074\r
-:2044DE0077237EF600773E0ADDAE02DDB6032007DD7EFEE6012007DD7EFEE6022817DD5E85\r
-:2044FE0004DD56053E00215F70CDFB817DB4280521FFFF183ADD7EFEE6032818210400DD98\r
-:20451E004E04DD460509E5210600094E2346E17123701816210400DD4E04DD460509E52190\r
-:20453E000800094E2346E1712370DD6E022600C3A381CD7A82FEFFDD36FE41DDCB0D7E28E3\r
-:20455E0016DD36FE61DD4E0CDD460DA7210000ED42DD750CDD740DDD6EFEE50E00C5DD6E4F\r
-:20457E000CDD660DE5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E0021D07CCDFB8196\r
-:20459E00F1F1F1F1C3A381CD7A82F8FFAFDD77FCDD77FDDD6E02DD6603DD75FEDD74FFDD32\r
-:2045BE006EFEDD66FF4E0600213486097EE610280ADD34FE2003DD34FF18E4DD6EFEDD6687\r
-:2045DE00FF7EFE2D2012DD34FC2003DD34FDDD34FE2003DD34FF1813DD6EFEDD66FF7EFE31\r
-:2045FE002B2008DD34FE2003DD34FFDD6E0ADD660BE5DD4E04DD4605DD5EFEDD56FF3E017F\r
-:20461E0021E846CDFB81F1DD75F8DD74F9DD71FADD70FBDD7EFCDDB6FD2805CD8484180CC2\r
-:0F463E00DD4EFADD46FBDD6EF8DD66F9C37B83EA\r
+:20446900CD7A82FEFF3E00217374CDFB81210C000946236668DD75FEDD74FF7DE6402818EE\r
+:20448900DD5E04DD56053E00219471CDFB817DB4280621FFFFC37845DD7EFEE6206FDD7EC8\r
+:2044A900FFE603673E20ADB4280621FFFFC37845210800DD4E04DD4605095E23560A6F033C\r
+:2044C9000A67A7ED523818DD5E04DD56053E00219471CDFB817DB4280621FFFFC37845DD2D\r
+:2044E9006E04DD66054E234603702B710B6960DD460270210C00DD4E04DD4605097EF68049\r
+:2045090077237EF600773E0ADDAE02DDB6032007DD7EFEE6012007DD7EFEE6022817DD5E59\r
+:2045290004DD56053E00219471CDFB817DB4280521FFFF183ADD7EFEE6032818210400DD36\r
+:204549004E04DD460509E5210600094E2346E17123701816210400DD4E04DD460509E52165\r
+:204569000800094E2346E1712370DD6E022600C3A381CD7A82FEFFDD36FE41DDCB0D7E28B8\r
+:2045890016DD36FE61DD4E0CDD460DA7210000ED42DD750CDD740DDD6EFEE50E00C5DD6E24\r
+:2045A9000CDD660DE5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E0021EB7DCDFB814F\r
+:2045C900F1F1F1F1C3A381CD7A82F8FFAFDD77FCDD77FDDD6E02DD6603DD75FEDD74FFDD07\r
+:2045E9006EFEDD66FF4E0600214686097EE610280ADD34FE2003DD34FF18E4DD6EFEDD664A\r
+:20460900FF7EFE2D2012DD34FC2003DD34FDDD34FE2003DD34FF1813DD6EFEDD66FF7EFE05\r
+:204629002B2008DD34FE2003DD34FFDD6E0ADD660BE5DD4E04DD4605DD5EFEDD56FF3E0153\r
+:20464900211347CDFB81F1DD75F8DD74F9DD71FADD70FBDD7EFCDDB6FD2805CD8484180C6B\r
+:0F466900DD4EFADD46FBDD6EF8DD66F9C37B83BF\r
 :2002DB00CB7A2818424BDD6607DD6E06CDB183CDDA825059DD7407DD75063E01DDCBFF7E6F\r
 :2002FB00C8F5DD46FFDD4EFEDD66FDDD6EFCCDB183CDDA82DD70FFDD71FEDD74FDDD75FCF6\r
 :20031B00F1EE01C9C5D55E2356234E2346EBCD5C84C39684EBE3F5DDE5DD210000DD39C5FB\r
 :20033B00D5DD5609DD7409DD5E08DD7508CD2383DDF9DDE1F1D13333C9CB782809AF914F9F\r
 :20035B003E0098473E01CB7AC8F5AF935F3E009A57F1EE01C9EBE3F5DDE5DD210000DD3912\r
 :1D037B00C5D5DD5609DD7409DD5E08DD7508CD2383E1C1CDB183DDE1F1D13333C9D3\r
-:15464D00CDEF81D5211800E53E01217B42CDFB81F1F1C3A381F9\r
+:15467800CDEF81D5211800E53E0121A642CDFB81F1F1C3A381A3\r
 :1B039800F5AF956F3E009C673E00994F3E009847F1C9EB702B712B722B73C969\r
-:20466200CD7A82FEFFDD36FEFFDD36FFFFDD5E021600213486197EE608280FDD4E02060034\r
-:2046820021D0FF09DD75FEDD74FFDD4E020600213486097EE604280FDD4E02060021A9FFCD\r
-:2046A20009DD75FEDD74FFDD4E020600213486097EE602280FDD4E02060021B0FF09DD753D\r
-:2046C200FEDD74FFDD4E04DD4605DD6EFEDD66FFCDC8823808DD36FEFFDD36FFFFDD6EFEE7\r
-:2046E200DD66FFC3C083CD7A82FAFF110280DD6E0ADD660B3E80AC67ED52380EDD4E0ADD10\r
-:20470200460B212400CDC8823007AFDD770ADD770BDD6E02DD66034E0600213486097EE618\r
-:2047220010280ADD34022003DD340318E4DD6E02DD66037EFE2B200ADD34022003DD340341\r
-:20474200186DDD7E0ADDB60B2065DD6E02DD66037EFE30205ADD6E02DD6603237EEE20FE51\r
-:20476200582017DD360A10DD360B00210800397EC60277237ECE00771835DD6E02DD660378\r
-:20478200237EEE20FE422017DD360A02DD360B00210800397EC60277237ECE00771810DDAA\r
-:2047A200360A08DD360B00DD34022003DD3403DD7E0ADDB60B2008DD360A0ADD360B00AF28\r
-:2047C200DD77FADD77FBDD77FCDD77FDDD4E0ADD460BDD6E02DD66035ECD6246DD75FEDDA3\r
-:2047E20074FF7DA43C282E21000039DD5E0ADD560B7A079F4F41CD9F8421000039DD5EFE81\r
-:20480200DD56FF7A079F4F41CDD681DD34022003DD340318B7DD7E04DDB6052811DD6E02FA\r
-:20482200DD6603E5DD6E04DD6605C1712370DD4EFCDD46FDDD6EFADD66FBC37B83CDEF8127\r
-:204842001600213486197EE604280EDD7E02EE206FDD7E03EE00671806DD6E02DD6603C3AD\r
-:20486200A381CDEF811600213486197EE602280EDD7E02EE206FDD7E03EE00671806DD6E39\r
-:0748820002DD6603C3A38100\r
-:20054800010101010101010101111111111101010101010101010101010101010101010123\r
-:200568001020202020202020202020202020202048484848484848484848202020202020F3\r
-:200588002042424242424202020202020202020202020202020202020202022020202020DF\r
-:2005A8002044444444444404040404040404040404040404040404040404042020202001AA\r
-:2005C800000000000000000000000000000000000000000000000000000000000000000013\r
-:2005E8000000000000000000000000000000000000000000000000000000000000000000F3\r
-:200608000000000000000000000000000000000000000000000000000000000000000000D2\r
-:200628000000000000000000000000000000000000000000000000000000000000000000B2\r
+:20468D00CD7A82FEFFDD36FEFFDD36FFFFDD5E021600214686197EE608280FDD4E020600F7\r
+:2046AD0021D0FF09DD75FEDD74FFDD4E020600214686097EE604280FDD4E02060021A9FF90\r
+:2046CD0009DD75FEDD74FFDD4E020600214686097EE602280FDD4E02060021B0FF09DD7500\r
+:2046ED00FEDD74FFDD4E04DD4605DD6EFEDD66FFCDC8823808DD36FEFFDD36FFFFDD6EFEBC\r
+:20470D00DD66FFC3C083CD7A82FAFF110280DD6E0ADD660B3E80AC67ED52380EDD4E0ADDE4\r
+:20472D00460B212400CDC8823007AFDD770ADD770BDD6E02DD66034E0600214686097EE6DB\r
+:20474D0010280ADD34022003DD340318E4DD6E02DD66037EFE2B200ADD34022003DD340316\r
+:20476D00186DDD7E0ADDB60B2065DD6E02DD66037EFE30205ADD6E02DD6603237EEE20FE26\r
+:20478D00582017DD360A10DD360B00210800397EC60277237ECE00771835DD6E02DD66034D\r
+:2047AD00237EEE20FE422017DD360A02DD360B00210800397EC60277237ECE00771810DD7F\r
+:2047CD00360A08DD360B00DD34022003DD3403DD7E0ADDB60B2008DD360A0ADD360B00AFFD\r
+:2047ED00DD77FADD77FBDD77FCDD77FDDD4E0ADD460BDD6E02DD66035ECD8D46DD75FEDD4D\r
+:20480D0074FF7DA43C282E21000039DD5E0ADD560B7A079F4F41CD9F8421000039DD5EFE55\r
+:20482D00DD56FF7A079F4F41CDD681DD34022003DD340318B7DD7E04DDB6052811DD6E02CF\r
+:20484D00DD6603E5DD6E04DD6605C1712370DD4EFCDD46FDDD6EFADD66FBC37B83CDEF81FC\r
+:20486D001600214686197EE604280EDD7E02EE206FDD7E03EE00671806DD6E02DD6603C370\r
+:20488D00A381CDEF811600214686197EE602280EDD7E02EE206FDD7E03EE00671806DD6EFC\r
+:0748AD0002DD6603C3A381D5\r
+:20055A00010101010101010101111111111101010101010101010101010101010101010111\r
+:20057A001020202020202020202020202020202048484848484848484848202020202020E1\r
+:20059A002042424242424202020202020202020202020202020202020202022020202020CD\r
+:2005BA00204444444444440404040404040404040404040404040404040404202020200198\r
+:2005DA00000000000000000000000000000000000000000000000000000000000000000001\r
+:2005FA000000000000000000000000000000000000000000000000000000000000000000E1\r
+:20061A000000000000000000000000000000000000000000000000000000000000000000C0\r
+:20063A000000000000000000000000000000000000000000000000000000000000000000A0\r
 :1003B300C5D55E2356234E2346EBCD1F81C39684BA\r
 :00000001FF\r
index 4604eb7..fa45ffc 100644 (file)
@@ -6,57 +6,66 @@
                                       6        EXTERN  GUIunit\r
                                       7        EXTERN  Transaction_handler\r
                                       8        EXTERN  Transaction_init\r
-                                      9        EXTERN  gui_globals\r
-                                     10        PUBLIC  main\r
-                                     11        EXTERN  ?CL64180B_4_06_L00\r
-                                     12        EXTERN  ?BANK_CALL_DIRECT_L08\r
-                                     13        EXTERN  ?BANK_FAST_LEAVE_L08\r
-                                     14        RSEG    CODE\r
-    00000000                         15 main:\r
-    00000000 C5                      16        PUSH    BC\r
-    00000001 D5                      17        PUSH    DE\r
-    00000002 3E 00                   18        LD      A,BYTE3 GUIinit\r
-    00000004 21 00 00                19        LD      HL,LWRD GUIinit\r
-    00000007 CD 00 00                20        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000000A 3E 00                   21        LD      A,BYTE3 Transaction_init\r
-    0000000C 21 00 00                22        LD      HL,LWRD Transaction_init\r
-    0000000F CD 00 00                23        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000012 3E 00                   24        LD      A,BYTE3 gui_globals\r
-    00000014 21 00 00                25        LD      HL,LWRD gui_globals\r
-    00000017 CD 00 00                26        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000001A 01 10 00                27        LD      BC,16\r
-    0000001D 09                      28        ADD     HL,BC\r
-    0000001E 36 00                   29        LD      (HL),LOW(Transaction_handler)\r
-    00000020 23                      30        INC     HL\r
-    00000021 36 00                   31        LD      (HL),HIGH(Transaction_handler)\r
-    00000023 23                      32        INC     HL\r
-    00000024 36 00                   33        LD      (HL),BYTE3 Transaction_handler\r
-    00000026 11 00 00                34        LD      DE,?0000\r
-    00000029 3E 00                   35        LD      A,BYTE3 GUIgo\r
-    0000002B 21 00 00                36        LD      HL,LWRD GUIgo\r
-    0000002E CD 00 00                37        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000031 3E 00                   38        LD      A,BYTE3 GUIunit\r
-    00000033 21 00 00                39        LD      HL,LWRD GUIunit\r
-    00000036 CD 00 00                40        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000039 D1                      41        POP     DE\r
-    0000003A C1                      42        POP     BC\r
-    0000003B C3 00 00                43        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-                                     44        RSEG    CSTR\r
-    00000000                         45 ?0000:\r
-    00000000 2F 77 6E 64 2F 30 30    46        DEFB    '/wnd/0000.scr'\r
+                                      9        EXTERN  chdir\r
+                                     10        EXTERN  gui_globals\r
+                                     11        PUBLIC  main\r
+                                     12        EXTERN  ?CL64180B_4_06_L00\r
+                                     13        EXTERN  ?BANK_CALL_DIRECT_L08\r
+                                     14        EXTERN  ?BANK_FAST_LEAVE_L08\r
+                                     15        RSEG    CODE\r
+    00000000                         16 main:\r
+    00000000 C5                      17        PUSH    BC\r
+    00000001 D5                      18        PUSH    DE\r
+    00000002 3E 00                   19        LD      A,BYTE3 GUIinit\r
+    00000004 21 00 00                20        LD      HL,LWRD GUIinit\r
+    00000007 CD 00 00                21        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000000A 3E 00                   22        LD      A,BYTE3 Transaction_init\r
+    0000000C 21 00 00                23        LD      HL,LWRD Transaction_init\r
+    0000000F CD 00 00                24        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000012 3E 00                   25        LD      A,BYTE3 gui_globals\r
+    00000014 21 00 00                26        LD      HL,LWRD gui_globals\r
+    00000017 CD 00 00                27        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000001A 01 18 00                28        LD      BC,24\r
+    0000001D 09                      29        ADD     HL,BC\r
+    0000001E 36 00                   30        LD      (HL),LOW(Transaction_handler)\r
+    00000020 23                      31        INC     HL\r
+    00000021 36 00                   32        LD      (HL),HIGH(Transaction_handler)\r
+    00000023 23                      33        INC     HL\r
+    00000024 36 00                   34        LD      (HL),BYTE3 Transaction_handler\r
+    00000026 11 00 00                35        LD      DE,?0000\r
+    00000029 3E 00                   36        LD      A,BYTE3 chdir\r
+    0000002B 21 00 00                37        LD      HL,LWRD chdir\r
+    0000002E CD 00 00                38        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000031 11 05 00                39        LD      DE,?0001\r
+    00000034 3E 00                   40        LD      A,BYTE3 GUIgo\r
+    00000036 21 00 00                41        LD      HL,LWRD GUIgo\r
+    00000039 CD 00 00                42        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000003C 3E 00                   43        LD      A,BYTE3 GUIunit\r
+    0000003E 21 00 00                44        LD      HL,LWRD GUIunit\r
+    00000041 CD 00 00                45        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000044 D1                      46        POP     DE\r
+    00000045 C1                      47        POP     BC\r
+    00000046 C3 00 00                48        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+                                     49        RSEG    CSTR\r
+    00000000                         50 ?0000:\r
+    00000000 2F 77 6E 64             51        DEFB    '/wnd'\r
+    00000004 00                      52        DEFB    0\r
+    00000005                         53 ?0001:\r
+    00000005 2F 77 6E 64 2F 30 30    54        DEFB    '/wnd/0000.scr'\r
              30 30 2E 73 63 72\r
-    0000000D 00                      47        DEFB    0\r
-    0000000E                         48        END\r
+    00000012 00                      55        DEFB    0\r
+    00000013                         56        END\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
 Hexadecimal [32-Bits]\r
 \r
 Symbol Table\r
 \r
     .__.ABS.       =    00000000 G   |   2 ?0000               00000000 R\r
-    ?BANK_CALL_DIR      ******** GX  |     ?BANK_FAST_LEA      ******** GX\r
-    ?CL64180B_4_06      ******** GX  |     GUIgo               ******** GX\r
-    GUIinit             ******** GX  |     GUIunit             ******** GX\r
-    Transaction_ha      ******** GX  |     Transaction_in      ******** GX\r
+  2 ?0001               00000005 R   |     ?BANK_CALL_DIR      ******** GX\r
+    ?BANK_FAST_LEA      ******** GX  |     ?CL64180B_4_06      ******** GX\r
+    GUIgo               ******** GX  |     GUIinit             ******** GX\r
+    GUIunit             ******** GX  |     Transaction_ha      ******** GX\r
+    Transaction_in      ******** GX  |     chdir               ******** GX\r
     gui_globals         ******** GX  |   1 main                00000000 GR\r
 \r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
@@ -65,5 +74,5 @@ Hexadecimal [32-Bits]
 Area Table\r
 \r
    0 _DEFAULT         size        0   flags   0\r
-   1 CODE             size       3E   flags   0\r
-   2 CSTR             size        E   flags   0\r
+   1 CODE             size       49   flags   0\r
+   2 CSTR             size       13   flags   0\r
index 154ee27..1b9780a 100644 (file)
@@ -8,16 +8,16 @@ Area                       Addr        Size        Decimal Bytes (Attributes)
         -----  ------            -----  ------            -----  ------    \r
      00000000  s__DEFAUL |    00000000  l_CCSTR   |    00000000  l_ECSTR  \r
      00000000  .__.ABS.  |    00000000  ?CL64180L |    00000000  ?CL64180B\r
-     00000014  e__DEFAUL |    00000014  l__DEFAUL |    00000034  l_CONST  \r
-     000000EB  l_CSTR    |    00000166  l_CDATA0  |    00000166  l_IDATA0 \r
+     00000014  e__DEFAUL |    00000014  l__DEFAUL |    00000026  l_CONST  \r
+     0000010B  l_CSTR    |    00000166  l_CDATA0  |    00000166  l_IDATA0 \r
      00000247  l_UDATA0  |    000003AF  l_RCODE   |    00001000  l_CSTACK \r
      00004000  s_CODE    |    00008100  s_RCODE   |    000084AF  e_RCODE  \r
-     000084AF  s_CONST   |    000084E3  s_CSTR    |    000084E3  e_CONST  \r
-     000085CE  e_CSTR    |    000085CE  s_IDATA0  |    000085CE  s_CDATA0 \r
-     00008734  s_UDATA0  |    00008734  e_CCSTR   |    00008734  e_ECSTR  \r
-     00008734  s_CCSTR   |    00008734  e_CDATA0  |    00008734  s_ECSTR  \r
-     00008734  e_IDATA0  |    0000897B  e_UDATA0  |    0000897B  s_CSTACK \r
-     0000997B  e_CSTACK  |    0000C108  l_CODE    |    00010108  e_CODE   \r
+     000084AF  s_CONST   |    000084D5  s_CSTR    |    000084D5  e_CONST  \r
+     000085E0  e_CSTR    |    000085E0  s_IDATA0  |    000085E0  s_CDATA0 \r
+     00008746  s_UDATA0  |    00008746  e_CCSTR   |    00008746  e_ECSTR  \r
+     00008746  s_CCSTR   |    00008746  e_CDATA0  |    00008746  s_ECSTR  \r
+     00008746  e_IDATA0  |    0000898D  e_UDATA0  |    0000898D  s_CSTACK \r
+     0000998D  e_CSTACK  |    0000C018  l_CODE    |    00010018  e_CODE   \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
@@ -51,7 +51,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CONST                  000084AF    00000034 =          52. bytes (REL,CON)\r
+CONST                  000084AF    00000026 =          38. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -59,7 +59,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CSTR                   000084E3    000000EB =         235. bytes (REL,CON)\r
+CSTR                   000084D5    0000010B =         267. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -67,17 +67,17 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-IDATA0                 000085CE    00000166 =         358. bytes (NUL,CON)\r
+IDATA0                 000085E0    00000166 =         358. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     000085E6  __IO_list |    000085E8  stdin     |    00008600  stdout   \r
-     00008618  stderr    |    00008632  __on_exit |    00008634  __ctype  \r
+     000085F8  __IO_list |    000085FA  stdin     |    00008612  stdout   \r
+     0000862A  stderr    |    00008644  __on_exit |    00008646  __ctype  \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CDATA0                 000085CE    00000166 =         358. bytes (REL,CON)\r
+CDATA0                 000085E0    00000166 =         358. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -85,7 +85,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-ECSTR                  00008734    00000000 =           0. bytes (NUL,CON)\r
+ECSTR                  00008746    00000000 =           0. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -93,7 +93,7 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CCSTR                  00008734    00000000 =           0. bytes (REL,CON)\r
+CCSTR                  00008746    00000000 =           0. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -101,62 +101,62 @@ Hexadecimal  [32-Bits]
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CODE                   00004000    0000C108 =       49416. bytes (NUL,CON)\r
+CODE                   00004000    0000C018 =       49176. bytes (NUL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     00004648  GraphicsO |    000046D6  GraphicsC |    000046EB  Move     \r
-     0000472A  ClearRect |    0000476D  DrawRectN |    000047B2  FillRect \r
-     000047F7  FillRectN |    0000483C  GrayRect  |    00004881  Text     \r
-     000048AE  TouchRegi |    00004905  ClearScre |    00004942  EnableScr\r
-     00004980  grSetFont |    000049BD  fontSearc |    000049ED  setCurren\r
-     00004A7B  loadFont  |    00004B22  stringwid |    00004B9B  stringhei\r
-     00004BB8  stringhei |    00004BCB  stringhei |    00004BD4  stringwid\r
-     00004BE5  stringwid |    00004BEE  stringwid |    00004BF7  Component\r
-     00004CA1  Component |    00004CEE  Component |    00004D4C  Component\r
-     00004D92  Component |    00004DD6  Component |    00004E0E  Component\r
-     00004FDF  Component |    00004FFE  Component |    00005067  Component\r
-     0000511A  Window_ha |    000053E7  Window_pa |    00005574  Root_pain\r
-     000055AB  Window_ad |    000055B9  Window_ne |    0000560B  Button_ha\r
-     000056C2  Button_dr |    0000577E  Button_pa |    00005877  Button_ad\r
-     0000587D  Button_ne |    000058CF  ToggleBut |    0000596B  ToggleBut\r
-     00005A57  ToggleBut |    00005AA9  Dialog_ha |    00005B62  Dialog_ne\r
-     00005C51  Display_h |    00005CD2  Display_p |    00005E1E  Display_n\r
-     00005E78  Label_han |    00005E7E  Label_pai |    00005EDF  Label_new\r
-     00005F38  rootWindo |    00005F56  screenbui |    00006326  root_acti\r
-     0000665E  read_stri |    00006733  gui_globa |    00006739  GUIinit  \r
-     00006860  GUIunit   |    00006885  GUIgo     |    00006946  Transacti\r
-     000069BB  Transacti |    00006FDD  main      |    0000701B  sprintf  \r
-     0000705F  fflush    |    00007272  _write    |    00007291  printf   \r
-     000072C0  lseek     |    000072ED  __stdio_c |    00007358  __stdio_i\r
-     00007396  close     |    000073AB  strlen    |    000073E2  ioctl    \r
-     0000740D  isatty    |    00007448  fstat     |    0000745F  free     \r
-     0000753F  strcpy    |    00007566  atoi      |    000076FC  vfprintf \r
-     00007C57  ltoa      |    00007CBA  atol      |    00007CD0  __longtoa\r
-     00007E64  itoa      |    00007ECD  open      |    00014000  malloc   \r
-     0001422C  exit      |    0001425C  _read     |    0001427B  unix     \r
-     00014295  memcpy    |    00014363  on_exit   |    000143DC  atexit   \r
-     000143EF  strcat    |    0001440F  unix_long |    00014429  _exit    \r
-     0001443E  fputc     |    00014550  ultoa     |    000145A5  strtol   \r
-     0001464D  sbrk      |    000146E8  strtoul   |    0001483F  toupper  \r
-     00014864  tolower  \r
+     0000465A  SetCurren |    00004675  GraphicsO |    00004793  GraphicsC\r
+     000047B8  Move      |    000047F3  ClearRect |    00004833  DrawRectN\r
+     00004872  FillRect  |    000048B4  FillRectN |    000048F6  GrayRect \r
+     00004938  Text      |    0000495B  TouchRegi |    000049B2  ClearScre\r
+     000049EF  EnableScr |    00004A2D  grSetFont |    00004A6A  fontSearc\r
+     00004A9A  setCurren |    00004B1C  loadFont  |    00004BC3  stringwid\r
+     00004C3C  stringhei |    00004C59  stringhei |    00004C6C  stringhei\r
+     00004C75  stringwid |    00004C86  stringwid |    00004C8F  stringwid\r
+     00004C98  Component |    00004D42  Component |    00004D8F  Component\r
+     00004DED  Component |    00004E33  Component |    00004E77  Component\r
+     00004EAF  Component |    00005080  Component |    0000509F  Component\r
+     00005108  Component |    000051BB  Window_ha |    00005488  Window_pa\r
+     00005626  Root_pain |    0000565D  Window_ad |    0000566B  Window_ne\r
+     000056BA  Button_ha |    00005771  Button_dr |    00005814  Button_pa\r
+     000058E7  Button_ad |    000058ED  Button_ne |    0000594A  ToggleBut\r
+     000059E6  ToggleBut |    00005AD2  ToggleBut |    00005B2F  Dialog_ha\r
+     00005BE8  Dialog_ne |    00005CF8  Display_h |    00005D79  Display_p\r
+     00005E9D  Display_n |    00005EFC  Label_han |    00005F02  Label_pai\r
+     00005F63  Label_new |    00005FC7  rootWindo |    00005FE5  screenbui\r
+     000063D2  root_acti |    00006721  read_stri |    000067FB  gui_globa\r
+     00006801  GUIinit   |    00006928  GUIunit   |    0000694D  GUIgo    \r
+     00006B10  Transacti |    00006B85  Transacti |    00007107  main     \r
+     00007150  sprintf   |    00007194  fflush    |    000073A7  chdir    \r
+     000073BC  _write    |    000073DB  lseek     |    00007408  __stdio_c\r
+     00007473  __stdio_i |    000074B1  close     |    000074C6  strlen   \r
+     000074FD  ioctl     |    00007528  isatty    |    00007563  fstat    \r
+     0000757A  free      |    0000765A  strcpy    |    00007681  atoi     \r
+     00007817  vfprintf  |    00007D72  ltoa      |    00007DD5  atol     \r
+     00007DEB  __longtoa |    00007F7F  itoa      |    00014000  open     \r
+     0001402B  malloc    |    00014257  exit      |    00014287  _read    \r
+     000142A6  unix      |    000142C0  memcpy    |    0001438E  on_exit  \r
+     00014407  atexit    |    0001441A  strcat    |    0001443A  unix_long\r
+     00014454  _exit     |    00014469  fputc     |    0001457B  ultoa    \r
+     000145D0  strtol    |    00014678  sbrk      |    00014713  strtoul  \r
+     0001486A  toupper   |    0001488F  tolower  \r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-UDATA0                 00008734    00000247 =         583. bytes (REL,CON)\r
+UDATA0                 00008746    00000247 =         583. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
-     00008734  _argc     |    00008736  _argv     |    00008738  environ  \r
-     0000873A  errno     |    0000873C  __cleanup |    0000873F  global   \r
-     00008741  trans     |    00008943  __malloc_ |    00008947  __malloc_\r
-     00008949  __on_exit\r
+     00008746  _argc     |    00008748  _argv     |    0000874A  environ  \r
+     0000874C  errno     |    0000874E  __cleanup |    00008751  global   \r
+     00008753  trans     |    00008955  __malloc_ |    00008959  __malloc_\r
+     0000895B  __on_exit\r
 Hexadecimal  [32-Bits]\r
 \r
 Area                       Addr        Size        Decimal Bytes (Attributes)\r
 --------------------       ----        ----        ------- ----- ------------\r
-CSTACK                 0000897B    00001000 =        4096. bytes (REL,CON)\r
+CSTACK                 0000898D    00001000 =        4096. bytes (REL,CON)\r
 \r
         Value  Global            Value  Global            Value  Global    \r
         -----  ------            -----  ------            -----  ------    \r
@@ -175,9 +175,9 @@ Libraries Linked                          [ object file ]
 ..\..\lib\libiar.lib                      [ reliar\LMUL.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\BANKLEAVEDIRECT.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\fflush.rel ]\r
+..\..\lib\libsysb.lib                     [ relsysb\chdir.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\write.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SMUL.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\printf.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\lseek.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\stdio0.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\close.rel ]\r
@@ -210,8 +210,8 @@ Libraries Linked                          [ object file ]
 ..\..\lib\libiar.lib                      [ reliar\SSDIV.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\USDIV.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LIBVERSION.rel ]\r
-..\..\lib\libcb.lib                       [ relcb\malloc.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\SLRSH.rel ]\r
+..\..\lib\libcb.lib                       [ relcb\malloc.rel ]\r
 ..\..\lib\libcb.lib                       [ relcb\exit.rel ]\r
 ..\..\lib\libiar.lib                      [ reliar\LDIVMOD.rel ]\r
 ..\..\lib\libsysb.lib                     [ relsysb\read.rel ]\r
index 3862ba0..b02d92a 100644 (file)
@@ -1,9 +1,10 @@
 XL4\r
-H 3 areas B global symbols\r
+H 3 areas C global symbols\r
 M test\r
 S GUIunit Ref00000000\r
 S ?BANK_FAST_LEAVE_L08 Ref00000000\r
 S gui_globals Ref00000000\r
+S chdir Ref00000000\r
 S GUIgo Ref00000000\r
 S ?BANK_CALL_DIRECT_L08 Ref00000000\r
 S Transaction_handler Ref00000000\r
@@ -12,36 +13,44 @@ S Transaction_init Ref00000000
 S GUIinit Ref00000000\r
 S .__.ABS. Def00000000\r
 A _DEFAULT size 0 flags 0\r
-A CODE size 3E flags 0\r
+A CODE size 49 flags 0\r
 S main Def00000000\r
-A CSTR size E flags 0\r
+A CSTR size 13 flags 0\r
 T 00 00 00 00\r
 R 00 00 01 00\r
 T 00 00 00 00 C5 D5 3E 00 00 00 00 21\r
-R 00 00 01 00 2B 07 08 00\r
+R 00 00 01 00 2B 07 09 00\r
 T 05 00 00 00 00 00 00 00 CD 00 00 00 00 3E\r
-R 00 00 01 00 02 04 08 00 02 09 04 00\r
+R 00 00 01 00 02 04 09 00 02 09 05 00\r
 T 0B 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 04 07 00 02 09 07 00\r
+R 00 00 01 00 2B 04 08 00 02 09 08 00\r
 T 10 00 00 00 00 00 00 00 3E 00 00 00 00 21\r
-R 00 00 01 00 02 04 04 00 2B 09 02 00\r
+R 00 00 01 00 02 04 05 00 2B 09 02 00\r
 T 15 00 00 00 00 00 00 00 CD 00 00 00 00 01\r
-R 00 00 01 00 02 04 02 00 02 09 04 00\r
-T 1B 00 00 00 10 00 09 36 00 00 00 00 23 36\r
-R 00 00 01 00 0B 08 05 00\r
+R 00 00 01 00 02 04 02 00 02 09 05 00\r
+T 1B 00 00 00 18 00 09 36 00 00 00 00 23 36\r
+R 00 00 01 00 0B 08 06 00\r
 T 22 00 00 00 00 00 00 00 23 36 00 00 00 00 11\r
-R 00 00 01 00 8B 04 05 00 2B 0A 05 00\r
+R 00 00 01 00 8B 04 06 00 2B 0A 06 00\r
 T 27 00 00 00 00 00 00 00 3E 00 00 00 00 21\r
 R 00 00 01 00 00 04 02 00 2B 09 03 00\r
-T 2C 00 00 00 00 00 00 00 CD 00 00 00 00 3E\r
-R 00 00 01 00 02 04 03 00 02 09 04 00\r
-T 32 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
+T 2C 00 00 00 00 00 00 00 CD 00 00 00 00 11\r
+R 00 00 01 00 02 04 03 00 02 09 05 00\r
+T 32 00 00 00 05 00 00 00 3E 00 00 00 00 21\r
+R 00 00 01 00 00 04 02 00 2B 09 04 00\r
+T 37 00 00 00 00 00 00 00 CD 00 00 00 00 3E\r
+R 00 00 01 00 02 04 04 00 02 09 05 00\r
+T 3D 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
 R 00 00 01 00 2B 04 00 00 02 09 00 00\r
-T 37 00 00 00 00 00 00 00 D1 C1 C3 00 00 00 00\r
-R 00 00 01 00 02 04 04 00 02 0B 01 00\r
+T 42 00 00 00 00 00 00 00 D1 C1 C3 00 00 00 00\r
+R 00 00 01 00 02 04 05 00 02 0B 01 00\r
 T 00 00 00 00\r
 R 00 00 02 00\r
-T 00 00 00 00 2F 77 6E 64 2F 30 30 30 30 2E 73\r
+T 00 00 00 00 2F 77 6E 64 00\r
 R 00 00 02 00\r
-T 0B 00 00 00 63 72 00\r
+T 05 00 00 00\r
+R 00 00 02 00\r
+T 05 00 00 00 2F 77 6E 64 2F 30 30 30 30 2E 73\r
+R 00 00 02 00\r
+T 10 00 00 00 63 72 00\r
 R 00 00 02 00\r
index f7c0a8a..b2e4aaa 100644 (file)
@@ -6,57 +6,66 @@
                                       6        EXTERN  GUIunit\r
                                       7        EXTERN  Transaction_handler\r
                                       8        EXTERN  Transaction_init\r
-                                      9        EXTERN  gui_globals\r
-                                     10        PUBLIC  main\r
-                                     11        EXTERN  ?CL64180B_4_06_L00\r
-                                     12        EXTERN  ?BANK_CALL_DIRECT_L08\r
-                                     13        EXTERN  ?BANK_FAST_LEAVE_L08\r
-                                     14        RSEG    CODE\r
-    00006FDD                         15 main:\r
-    00006FDD C5                      16        PUSH    BC\r
-    00006FDE D5                      17        PUSH    DE\r
-    00006FDF 3E 00                   18        LD      A,BYTE3 GUIinit\r
-    00006FE1 21 39 67                19        LD      HL,LWRD GUIinit\r
-    00006FE4 CD FB 81                20        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006FE7 3E 00                   21        LD      A,BYTE3 Transaction_init\r
-    00006FE9 21 46 69                22        LD      HL,LWRD Transaction_init\r
-    00006FEC CD FB 81                23        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006FEF 3E 00                   24        LD      A,BYTE3 gui_globals\r
-    00006FF1 21 33 67                25        LD      HL,LWRD gui_globals\r
-    00006FF4 CD FB 81                26        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006FF7 01 10 00                27        LD      BC,16\r
-    00006FFA 09                      28        ADD     HL,BC\r
-    00006FFB 36 BB                   29        LD      (HL),LOW(Transaction_handler)\r
-    00006FFD 23                      30        INC     HL\r
-    00006FFE 36 69                   31        LD      (HL),HIGH(Transaction_handler)\r
-    00007000 23                      32        INC     HL\r
-    00007001 36 00                   33        LD      (HL),BYTE3 Transaction_handler\r
-    00007003 11 B4 85                34        LD      DE,?0000\r
-    00007006 3E 00                   35        LD      A,BYTE3 GUIgo\r
-    00007008 21 85 68                36        LD      HL,LWRD GUIgo\r
-    0000700B CD FB 81                37        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000700E 3E 00                   38        LD      A,BYTE3 GUIunit\r
-    00007010 21 60 68                39        LD      HL,LWRD GUIunit\r
-    00007013 CD FB 81                40        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00007016 D1                      41        POP     DE\r
-    00007017 C1                      42        POP     BC\r
-    00007018 C3 A9 81                43        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-                                     44        RSEG    CSTR\r
-    000085B4                         45 ?0000:\r
-    000085B4 2F 77 6E 64 2F 30 30    46        DEFB    '/wnd/0000.scr'\r
+                                      9        EXTERN  chdir\r
+                                     10        EXTERN  gui_globals\r
+                                     11        PUBLIC  main\r
+                                     12        EXTERN  ?CL64180B_4_06_L00\r
+                                     13        EXTERN  ?BANK_CALL_DIRECT_L08\r
+                                     14        EXTERN  ?BANK_FAST_LEAVE_L08\r
+                                     15        RSEG    CODE\r
+    00007107                         16 main:\r
+    00007107 C5                      17        PUSH    BC\r
+    00007108 D5                      18        PUSH    DE\r
+    00007109 3E 00                   19        LD      A,BYTE3 GUIinit\r
+    0000710B 21 01 68                20        LD      HL,LWRD GUIinit\r
+    0000710E CD FB 81                21        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007111 3E 00                   22        LD      A,BYTE3 Transaction_init\r
+    00007113 21 10 6B                23        LD      HL,LWRD Transaction_init\r
+    00007116 CD FB 81                24        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007119 3E 00                   25        LD      A,BYTE3 gui_globals\r
+    0000711B 21 FB 67                26        LD      HL,LWRD gui_globals\r
+    0000711E CD FB 81                27        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007121 01 18 00                28        LD      BC,24\r
+    00007124 09                      29        ADD     HL,BC\r
+    00007125 36 85                   30        LD      (HL),LOW(Transaction_handler)\r
+    00007127 23                      31        INC     HL\r
+    00007128 36 6B                   32        LD      (HL),HIGH(Transaction_handler)\r
+    0000712A 23                      33        INC     HL\r
+    0000712B 36 00                   34        LD      (HL),BYTE3 Transaction_handler\r
+    0000712D 11 C1 85                35        LD      DE,?0000\r
+    00007130 3E 00                   36        LD      A,BYTE3 chdir\r
+    00007132 21 A7 73                37        LD      HL,LWRD chdir\r
+    00007135 CD FB 81                38        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007138 11 C6 85                39        LD      DE,?0001\r
+    0000713B 3E 00                   40        LD      A,BYTE3 GUIgo\r
+    0000713D 21 4D 69                41        LD      HL,LWRD GUIgo\r
+    00007140 CD FB 81                42        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00007143 3E 00                   43        LD      A,BYTE3 GUIunit\r
+    00007145 21 28 69                44        LD      HL,LWRD GUIunit\r
+    00007148 CD FB 81                45        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000714B D1                      46        POP     DE\r
+    0000714C C1                      47        POP     BC\r
+    0000714D C3 A9 81                48        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+                                     49        RSEG    CSTR\r
+    000085C1                         50 ?0000:\r
+    000085C1 2F 77 6E 64             51        DEFB    '/wnd'\r
+    000085C5 00                      52        DEFB    0\r
+    000085C6                         53 ?0001:\r
+    000085C6 2F 77 6E 64 2F 30 30    54        DEFB    '/wnd/0000.scr'\r
              30 30 2E 73 63 72\r
-    000085C1 00                      47        DEFB    0\r
-    0000000E                         48        END\r
+    000085D3 00                      55        DEFB    0\r
+    00000013                         56        END\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
 Hexadecimal [32-Bits]\r
 \r
 Symbol Table\r
 \r
     .__.ABS.       =    00000000 G   |   2 ?0000               00000000 R\r
-    ?BANK_CALL_DIR      ******** GX  |     ?BANK_FAST_LEA      ******** GX\r
-    ?CL64180B_4_06      ******** GX  |     GUIgo               ******** GX\r
-    GUIinit             ******** GX  |     GUIunit             ******** GX\r
-    Transaction_ha      ******** GX  |     Transaction_in      ******** GX\r
+  2 ?0001               00000005 R   |     ?BANK_CALL_DIR      ******** GX\r
+    ?BANK_FAST_LEA      ******** GX  |     ?CL64180B_4_06      ******** GX\r
+    GUIgo               ******** GX  |     GUIinit             ******** GX\r
+    GUIunit             ******** GX  |     Transaction_ha      ******** GX\r
+    Transaction_in      ******** GX  |     chdir               ******** GX\r
     gui_globals         ******** GX  |   1 main                00000000 GR\r
 \r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
@@ -65,5 +74,5 @@ Hexadecimal [32-Bits]
 Area Table\r
 \r
    0 _DEFAULT         size        0   flags   0\r
-   1 CODE             size       3E   flags   0\r
-   2 CSTR             size        E   flags   0\r
+   1 CODE             size       49   flags   0\r
+   2 CSTR             size       13   flags   0\r
index 48018bd..03c70a8 100644 (file)
@@ -6,6 +6,7 @@
        EXTERN  GUIunit\r
        EXTERN  Transaction_handler\r
        EXTERN  Transaction_init\r
+       EXTERN  chdir\r
        EXTERN  gui_globals\r
        PUBLIC  main\r
        EXTERN  ?CL64180B_4_06_L00\r
@@ -24,7 +25,7 @@ main:
        LD      A,BYTE3 gui_globals\r
        LD      HL,LWRD gui_globals\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      BC,16\r
+       LD      BC,24\r
        ADD     HL,BC\r
        LD      (HL),LOW(Transaction_handler)\r
        INC     HL\r
@@ -32,6 +33,10 @@ main:
        INC     HL\r
        LD      (HL),BYTE3 Transaction_handler\r
        LD      DE,?0000\r
+       LD      A,BYTE3 chdir\r
+       LD      HL,LWRD chdir\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      DE,?0001\r
        LD      A,BYTE3 GUIgo\r
        LD      HL,LWRD GUIgo\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
@@ -43,6 +48,9 @@ main:
        JP      LWRD ?BANK_FAST_LEAVE_L08\r
        RSEG    CSTR\r
 ?0000:\r
+       DEFB    '/wnd'\r
+       DEFB    0\r
+?0001:\r
        DEFB    '/wnd/0000.scr'\r
        DEFB    0\r
        END\r
index c41491a..c7ec75a 100644 (file)
@@ -28,7 +28,7 @@ void Transaction_handler(struct Component* this){
                Transaction_init();\r
        }\r
 \r
-       if(act->action==0x1000)         /* Transaction module init*/\r
+       /*if(act->action==0x1000)                Transaction module init\r
        {\r
                trans->barcode=act->lParam & 0xff;\r
                trans->stuks=(act->lParam>>8) & 0xff;\r
@@ -36,7 +36,7 @@ void Transaction_handler(struct Component* this){
                Component_setlabel(Component_find(this,trans->barcode),"Barcode");\r
                Component_setlabel(Component_find(this,trans->stuks),"Stuks");\r
                Component_setlabel(Component_find(this,trans->prijs),"Prijs");\r
-       }\r
+       }*/\r
 \r
        if(act->action>=0x1010 && act->action<=0x1012){\r
                struct Component* display;\r
@@ -51,8 +51,10 @@ void Transaction_handler(struct Component* this){
                case 0x1010:\r
                        strcpy(tr->barcode,this->label);\r
                        break;\r
-               case 0x1011:\r
+               case 0x1011:                    \r
                        tr->stuks=atoi(this->label);\r
+                       if(tr->stuks==0) \r
+                               tr->stuks=1;\r
                        break;\r
                case 0x1012:\r
                        tr->prijs=atol(this->label);\r
@@ -61,7 +63,7 @@ void Transaction_handler(struct Component* this){
                this->paint(this);\r
        }\r
 \r
-       if(act->action==0x101e){\r
+       if(act->action==0x101e){                /* Print receipt */\r
                int prn,i;\r
                struct sgttyb temp;\r
                struct Transaction* tr;\r
@@ -101,7 +103,7 @@ void Transaction_handler(struct Component* this){
 \r
        }\r
 \r
-       if(act->action==0x101f){\r
+       if(act->action==0x101f){        /* Register transaction line*/\r
                struct Transaction* tr=trans->first;\r
                while(tr->next!=NULL)\r
                        tr=tr->next;\r
index 4458723..d6d49a5 100644 (file)
     00000000 C5                      35        PUSH    BC\r
     00000001 D5                      36        PUSH    DE\r
     00000002 11 08 00                37        LD      DE,8\r
-    00000005 CD 6D 00                38        CALL    LWRD ?0046\r
+    00000005 CD 6D 00                38        CALL    LWRD ?0045\r
     00000008 22 00 00                39        LD      (trans),HL\r
     0000000B 01 06 00                40        LD      BC,6\r
     0000000E 09                      41        ADD     HL,BC\r
     0000000F E5                      42        PUSH    HL\r
-    00000010 CD 6A 00                43        CALL    LWRD ?0047\r
+    00000010 CD 6A 00                43        CALL    LWRD ?0046\r
     00000013 4D                      44        LD      C,L\r
     00000014 44                      45        LD      B,H\r
     00000015 E1                      46        POP     HL\r
     00000065 D1                     100        POP     DE\r
     00000066 C1                     101        POP     BC\r
     00000067 C3 00 00               102        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    0000006A                        103 ?0047:\r
+    0000006A                        103 ?0046:\r
     0000006A 11 16 00               104        LD      DE,22\r
-    0000006D                        105 ?0046:\r
+    0000006D                        105 ?0045:\r
     0000006D 3E 00                  106        LD      A,BYTE3 malloc\r
     0000006F 21 00 00               107        LD      HL,LWRD malloc\r
     00000072 C3 00 00               108        JP      LWRD ?BANK_CALL_DIRECT_L08\r
     000000A2 23                     133        INC     HL\r
     000000A3 23                     134        INC     HL\r
     000000A4 23                     135        INC     HL\r
-    000000A5 3E 10                  136        LD      A,16\r
-    000000A7 23                     137        INC     HL\r
-    000000A8 AE                     138        XOR     (HL)\r
-    000000A9 2B                     139        DEC     HL\r
-    000000AA B6                     140        OR      (HL)\r
-    000000AB 20 64                  141        JR      NZ,?0003\r
-    000000AD                        142 ?0002:\r
-    000000AD 21 07 00               143        LD      HL,7\r
-    000000B0 48                     144        LD      C,B\r
-    000000B1 DD 46 9F               145        LD      B,(IX-97)\r
-    000000B4 09                     146        ADD     HL,BC\r
-    000000B5 6E                     147        LD      L,(HL)\r
-    000000B6 67                     148        LD      H,A\r
-    000000B7 E5                     149        PUSH    HL\r
-    000000B8 2A 00 00               150        LD      HL,(trans)\r
-    000000BB C1                     151        POP     BC\r
-    000000BC 71                     152        LD      (HL),C\r
-    000000BD 23                     153        INC     HL\r
-    000000BE 70                     154        LD      (HL),B\r
-    000000BF 2A 00 00               155        LD      HL,(trans)\r
-    000000C2 23                     156        INC     HL\r
-    000000C3 23                     157        INC     HL\r
-    000000C4 E5                     158        PUSH    HL\r
-    000000C5 CD D7 05               159        CALL    LWRD ?0048\r
-    000000C8 E1                     160        POP     HL\r
-    000000C9 71                     161        LD      (HL),C\r
-    000000CA 23                     162        INC     HL\r
-    000000CB 70                     163        LD      (HL),B\r
-    000000CC 21 04 00               164        LD      HL,4\r
-    000000CF ED 4B 00 00            165        LD      BC,(trans)\r
-    000000D3 09                     166        ADD     HL,BC\r
-    000000D4 E5                     167        PUSH    HL\r
-    000000D5 21 07 00               168        LD      HL,7\r
-    000000D8 DD 5E 9E               169        LD      E,(IX-98)\r
-    000000DB DD 56 9F               170        LD      D,(IX-97)\r
-    000000DE 19                     171        ADD     HL,DE\r
-    000000DF 5E                     172        LD      E,(HL)\r
-    000000E0 23                     173        INC     HL\r
-    000000E1 56                     174        LD      D,(HL)\r
-    000000E2 23                     175        INC     HL\r
-    000000E3 4E                     176        LD      C,(HL)\r
-    000000E4 23                     177        INC     HL\r
-    000000E5 46                     178        LD      B,(HL)\r
-    000000E6 EB                     179        EX      DE,HL\r
-    000000E7 3E 10                  180        LD      A,16\r
-    000000E9 CD EB 05               181        CALL    LWRD ?0049\r
-    000000EC E1                     182        POP     HL\r
-    000000ED 71                     183        LD      (HL),C\r
-    000000EE 23                     184        INC     HL\r
-    000000EF 70                     185        LD      (HL),B\r
-    000000F0 2A 00 00               186        LD      HL,(trans)\r
-    000000F3 4E                     187        LD      C,(HL)\r
-    000000F4 23                     188        INC     HL\r
-    000000F5 46                     189        LD      B,(HL)\r
-    000000F6 DD 5E 02               190        LD      E,(IX+2)\r
-    000000F9 DD 56 03               191        LD      D,(IX+3)\r
-    000000FC CD 12 06               192        CALL    LWRD ?0051\r
-    000000FF DD 5E 02               193        LD      E,(IX+2)\r
-    00000102 DD 56 03               194        LD      D,(IX+3)\r
-    00000105 CD F2 05               195        CALL    LWRD ?0050\r
-    00000108 DD 5E 02               196        LD      E,(IX+2)\r
-    0000010B DD 56 03               197        LD      D,(IX+3)\r
-    0000010E CD 2F 06               198        CALL    LWRD ?0052\r
-    00000111                        199 ?0003:\r
-    00000111 DD 6E 9E               200        LD      L,(IX-98)\r
-    00000114 DD 66 9F               201        LD      H,(IX-97)\r
-    00000117 23                     202        INC     HL\r
-    00000118 23                     203        INC     HL\r
-    00000119 23                     204        INC     HL\r
-    0000011A 46                     205        LD      B,(HL)\r
-    0000011B 23                     206        INC     HL\r
-    0000011C 66                     207        LD      H,(HL)\r
-    0000011D 68                     208        LD      L,B\r
-    0000011E 01 10 90               209        LD      BC,36880\r
-    00000121 3E 80                  210        LD      A,128\r
-    00000123 AC                     211        XOR     H\r
-    00000124 67                     212        LD      H,A\r
-    00000125 ED 42                  213        SBC     HL,BC\r
-    00000127 DA 56 02               214        JP      C,?0008\r
-    0000012A DD 6E 9E               215        LD      L,(IX-98)\r
-    0000012D DD 66 9F               216        LD      H,(IX-97)\r
-    00000130 23                     217        INC     HL\r
-    00000131 23                     218        INC     HL\r
-    00000132 23                     219        INC     HL\r
-    00000133 4E                     220        LD      C,(HL)\r
-    00000134 23                     221        INC     HL\r
-    00000135 46                     222        LD      B,(HL)\r
-    00000136 21 12 10               223        LD      HL,4114\r
-    00000139 CD 00 00               224        CALL    LWRD ?SS_CMP_L02\r
-    0000013C DA 56 02               225        JP      C,?0008\r
-    0000013F                        226 ?0010:\r
-    0000013F                        227 ?0009:\r
-    0000013F                        228 ?0007:\r
-    0000013F 21 06 00               229        LD      HL,6\r
-    00000142 ED 4B 00 00            230        LD      BC,(trans)\r
-    00000146 09                     231        ADD     HL,BC\r
-    00000147 46                     232        LD      B,(HL)\r
-    00000148 23                     233        INC     HL\r
-    00000149 66                     234        LD      H,(HL)\r
-    0000014A 68                     235        LD      L,B\r
-    0000014B                        236 ?0041:\r
-    0000014B DD 75 A2               237        LD      (IX-94),L\r
-    0000014E DD 74 A3               238        LD      (IX-93),H\r
-    00000151                        239 ?0012:\r
-    00000151 21 14 00               240        LD      HL,20\r
-    00000154 DD 4E A2               241        LD      C,(IX-94)\r
-    00000157 DD 46 A3               242        LD      B,(IX-93)\r
-    0000015A 09                     243        ADD     HL,BC\r
-    0000015B 7E                     244        LD      A,(HL)\r
-    0000015C 23                     245        INC     HL\r
-    0000015D B6                     246        OR      (HL)\r
-    0000015E 28 0A                  247        JR      Z,?0011\r
-    00000160                        248 ?0013:\r
-    00000160 21 14 00               249        LD      HL,20\r
-    00000163 09                     250        ADD     HL,BC\r
-    00000164 56                     251        LD      D,(HL)\r
-    00000165 23                     252        INC     HL\r
-    00000166 66                     253        LD      H,(HL)\r
-    00000167 6A                     254        LD      L,D\r
-    00000168 18 E1                  255        JR      ?0041\r
-    0000016A                        256 ?0011:\r
-    0000016A 21 05 00               257        LD      HL,5\r
-    0000016D DD 4E 9E               258        LD      C,(IX-98)\r
-    00000170 DD 46 9F               259        LD      B,(IX-97)\r
-    00000173 09                     260        ADD     HL,BC\r
-    00000174 4E                     261        LD      C,(HL)\r
-    00000175 23                     262        INC     HL\r
-    00000176 46                     263        LD      B,(HL)\r
-    00000177 21 11 00               264        LD      HL,17\r
-    0000017A DD 5E 02               265        LD      E,(IX+2)\r
-    0000017D DD 56 03               266        LD      D,(IX+3)\r
-    00000180 19                     267        ADD     HL,DE\r
-    00000181 5E                     268        LD      E,(HL)\r
-    00000182 23                     269        INC     HL\r
-    00000183 56                     270        LD      D,(HL)\r
-    00000184 3E 00                  271        LD      A,BYTE3 Component_find\r
-    00000186 21 00 00               272        LD      HL,LWRD Component_find\r
-    00000189 CD 00 00               273        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000018C DD 75 A0               274        LD      (IX-96),L\r
-    0000018F DD 74 A1               275        LD      (IX-95),H\r
-    00000192 01 20 00               276        LD      BC,32\r
-    00000195 09                     277        ADD     HL,BC\r
-    00000196 4E                     278        LD      C,(HL)\r
-    00000197 23                     279        INC     HL\r
-    00000198 46                     280        LD      B,(HL)\r
-    00000199 DD 5E 02               281        LD      E,(IX+2)\r
-    0000019C DD 56 03               282        LD      D,(IX+3)\r
-    0000019F 3E 00                  283        LD      A,BYTE3 Component_setlabel\r
-    000001A1 21 00 00               284        LD      HL,LWRD Component_setlabel\r
-    000001A4 CD 00 00               285        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000001A7 01 14 00               286        LD      BC,?0014\r
-    000001AA DD 5E A0               287        LD      E,(IX-96)\r
-    000001AD DD 56 A1               288        LD      D,(IX-95)\r
-    000001B0 3E 00                  289        LD      A,BYTE3 Component_setlabel\r
-    000001B2 21 00 00               290        LD      HL,LWRD Component_setlabel\r
-    000001B5 CD 00 00               291        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000001B8 DD 5E A0               292        LD      E,(IX-96)\r
-    000001BB 4B                     293        LD      C,E\r
-    000001BC DD 56 A1               294        LD      D,(IX-95)\r
-    000001BF CD 43 06               295        CALL    LWRD ?0053\r
-    000001C2 DD 6E 9E               296        LD      L,(IX-98)\r
-    000001C5 DD 66 9F               297        LD      H,(IX-97)\r
-    000001C8 23                     298        INC     HL\r
-    000001C9 23                     299        INC     HL\r
-    000001CA 23                     300        INC     HL\r
-    000001CB 5E                     301        LD      E,(HL)\r
-    000001CC 23                     302        INC     HL\r
-    000001CD 56                     303        LD      D,(HL)\r
-    000001CE CD 00 00               304        CALL    LWRD ?S_S_SWITCH_L06\r
-    000001D1 10 10                  305        DEFW    4112\r
-    000001D3 03 00                  306        DEFW    3\r
-    000001D5 4C 02                  307        DEFW    ?0015\r
-    000001D7 DD 01                  308        DEFW    ?0016\r
-    000001D9 FA 01                  309        DEFW    ?0017\r
-    000001DB 1F 02                  310        DEFW    ?0018\r
-    000001DD                        311 ?0016:\r
-    000001DD 21 20 00               312        LD      HL,32\r
-    000001E0 DD 4E 02               313        LD      C,(IX+2)\r
-    000001E3 DD 46 03               314        LD      B,(IX+3)\r
-    000001E6 09                     315        ADD     HL,BC\r
-    000001E7 4E                     316        LD      C,(HL)\r
-    000001E8 23                     317        INC     HL\r
-    000001E9 46                     318        LD      B,(HL)\r
-    000001EA DD 5E A2               319        LD      E,(IX-94)\r
-    000001ED DD 56 A3               320        LD      D,(IX-93)\r
-    000001F0 3E 00                  321        LD      A,BYTE3 strcpy\r
-    000001F2 21 00 00               322        LD      HL,LWRD strcpy\r
-    000001F5 CD 00 00               323        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000001F8 18 52                  324        JR      ?0015\r
-    000001FA                        325 ?0017:\r
-    000001FA 21 0E 00               326        LD      HL,14\r
-    000001FD DD 4E A2               327        LD      C,(IX-94)\r
-    00000200 DD 46 A3               328        LD      B,(IX-93)\r
-    00000203 09                     329        ADD     HL,BC\r
-    00000204 E5                     330        PUSH    HL\r
-    00000205 21 20 00               331        LD      HL,32\r
-    00000208 DD 4E 02               332        LD      C,(IX+2)\r
-    0000020B DD 46 03               333        LD      B,(IX+3)\r
-    0000020E 09                     334        ADD     HL,BC\r
-    0000020F 5E                     335        LD      E,(HL)\r
-    00000210 23                     336        INC     HL\r
-    00000211 56                     337        LD      D,(HL)\r
-    00000212 3E 00                  338        LD      A,BYTE3 atoi\r
-    00000214 21 00 00               339        LD      HL,LWRD atoi\r
-    00000217 CD 00 00               340        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000021A 4D                     341        LD      C,L\r
-    0000021B 44                     342        LD      B,H\r
-    0000021C E1                     343        POP     HL\r
-    0000021D 18 2A                  344        JR      ?0042\r
-    0000021F                        345 ?0018:\r
-    0000021F 21 20 00               346        LD      HL,32\r
-    00000222 DD 4E 02               347        LD      C,(IX+2)\r
-    00000225 DD 46 03               348        LD      B,(IX+3)\r
-    00000228 09                     349        ADD     HL,BC\r
-    00000229 5E                     350        LD      E,(HL)\r
-    0000022A 23                     351        INC     HL\r
-    0000022B 56                     352        LD      D,(HL)\r
-    0000022C 3E 00                  353        LD      A,BYTE3 atol\r
-    0000022E 21 00 00               354        LD      HL,LWRD atol\r
-    00000231 CD 00 00               355        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000234 7C                     356        LD      A,H\r
-    00000235 07                     357        RLCA\r
-    00000236 9F                     358        SBC     A,A\r
-    00000237 4F                     359        LD      C,A\r
-    00000238 41                     360        LD      B,C\r
-    00000239 E5                     361        PUSH    HL\r
-    0000023A 21 10 00               362        LD      HL,16\r
-    0000023D DD 5E A2               363        LD      E,(IX-94)\r
-    00000240 DD 56 A3               364        LD      D,(IX-93)\r
-    00000243 19                     365        ADD     HL,DE\r
-    00000244 D1                     366        POP     DE\r
-    00000245 73                     367        LD      (HL),E\r
-    00000246 23                     368        INC     HL\r
-    00000247 72                     369        LD      (HL),D\r
-    00000248 23                     370        INC     HL\r
-    00000249                        371 ?0042:\r
-    00000249 71                     372        LD      (HL),C\r
-    0000024A 23                     373        INC     HL\r
-    0000024B 70                     374        LD      (HL),B\r
-    0000024C                        375 ?0015:\r
-    0000024C DD 5E 02               376        LD      E,(IX+2)\r
-    0000024F 4B                     377        LD      C,E\r
-    00000250 DD 56 03               378        LD      D,(IX+3)\r
-    00000253 CD 43 06               379        CALL    LWRD ?0053\r
-    00000256                        380 ?0008:\r
-    00000256 DD 6E 9E               381        LD      L,(IX-98)\r
-    00000259 DD 66 9F               382        LD      H,(IX-97)\r
-    0000025C 23                     383        INC     HL\r
-    0000025D 23                     384        INC     HL\r
-    0000025E 23                     385        INC     HL\r
-    0000025F 46                     386        LD      B,(HL)\r
-    00000260 23                     387        INC     HL\r
-    00000261 66                     388        LD      H,(HL)\r
-    00000262 68                     389        LD      L,B\r
-    00000263 01 1E 10               390        LD      BC,4126\r
-    00000266 A7                     391        AND     A\r
-    00000267 ED 42                  392        SBC     HL,BC\r
-    00000269 C2 B3 04               393        JP      NZ,?0020\r
-    0000026C                        394 ?0019:\r
-    0000026C AF                     395        XOR     A\r
-    0000026D DD 77 AC               396        LD      (IX-84),A\r
-    00000270 DD 77 AD               397        LD      (IX-83),A\r
-    00000273 DD 77 AE               398        LD      (IX-82),A\r
-    00000276 DD 77 AF               399        LD      (IX-81),A\r
-    00000279 21 06 00               400        LD      HL,6\r
-    0000027C ED 4B 00 00            401        LD      BC,(trans)\r
-    00000280 09                     402        ADD     HL,BC\r
-    00000281 46                     403        LD      B,(HL)\r
-    00000282 23                     404        INC     HL\r
-    00000283 66                     405        LD      H,(HL)\r
-    00000284 68                     406        LD      L,B\r
-    00000285 E5                     407        PUSH    HL\r
-    00000286 FD E1                  408        POP     IY\r
-    00000288 21 01 00               409        LD      HL,1\r
-    0000028B E5                     410        PUSH    HL\r
-    0000028C 21 15 00               411        LD      HL,?0021\r
-    0000028F E5                     412        PUSH    HL\r
-    00000290 3E 00                  413        LD      A,BYTE3 open\r
-    00000292 21 00 00               414        LD      HL,LWRD open\r
-    00000295 CD 00 00               415        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000298 F1                     416        POP     AF\r
-    00000299 F1                     417        POP     AF\r
-    0000029A DD 75 A0               418        LD      (IX-96),L\r
-    0000029D DD 74 A1               419        LD      (IX-95),H\r
-    000002A0 21 08 00               420        LD      HL,8\r
-    000002A3 39                     421        ADD     HL,SP\r
-    000002A4 E5                     422        PUSH    HL\r
-    000002A5 21 00 00               423        LD      HL,0\r
-    000002A8 E5                     424        PUSH    HL\r
-    000002A9 DD 6E A0               425        LD      L,(IX-96)\r
-    000002AC DD 66 A1               426        LD      H,(IX-95)\r
-    000002AF E5                     427        PUSH    HL\r
-    000002B0 3E 00                  428        LD      A,BYTE3 ioctl\r
-    000002B2 21 00 00               429        LD      HL,LWRD ioctl\r
-    000002B5 CD 00 00               430        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000002B8 F1                     431        POP     AF\r
-    000002B9 F1                     432        POP     AF\r
-    000002BA F1                     433        POP     AF\r
-    000002BB DD 36 A8 60            434        LD      (IX-88),96\r
-    000002BF DD 36 A9 00            435        LD      (IX-87),0\r
-    000002C3 21 08 00               436        LD      HL,8\r
-    000002C6 39                     437        ADD     HL,SP\r
-    000002C7 E5                     438        PUSH    HL\r
-    000002C8 21 01 00               439        LD      HL,1\r
-    000002CB E5                     440        PUSH    HL\r
-    000002CC DD 6E A0               441        LD      L,(IX-96)\r
-    000002CF DD 66 A1               442        LD      H,(IX-95)\r
-    000002D2 E5                     443        PUSH    HL\r
-    000002D3 3E 00                  444        LD      A,BYTE3 ioctl\r
-    000002D5 21 00 00               445        LD      HL,LWRD ioctl\r
-    000002D8 CD 00 00               446        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000002DB F1                     447        POP     AF\r
-    000002DC F1                     448        POP     AF\r
-    000002DD F1                     449        POP     AF\r
-    000002DE                        450 ?0023:\r
-    000002DE FD E5                  451        PUSH    IY\r
-    000002E0 E1                     452        POP     HL\r
-    000002E1 7D                     453        LD      A,L\r
-    000002E2 B4                     454        OR      H\r
-    000002E3 CA C8 03               455        JP      Z,?0022\r
-    000002E6                        456 ?0024:\r
-    000002E6 FD 7E 0E               457        LD      A,(IY+14)\r
-    000002E9 FD B6 0F               458        OR      (IY+15)\r
-    000002EC CA BC 03               459        JP      Z,?0026\r
-    000002EF                        460 ?0025:\r
-    000002EF 3E 01                  461        LD      A,1\r
-    000002F1 FD AE 0E               462        XOR     (IY+14)\r
-    000002F4 FD B6 0F               463        OR      (IY+15)\r
-    000002F7 20 29                  464        JR      NZ,?0028\r
-    000002F9                        465 ?0027:\r
-    000002F9 6F                     466        LD      L,A\r
-    000002FA 67                     467        LD      H,A\r
-    000002FB E5                     468        PUSH    HL\r
-    000002FC 2E 64                  469        LD      L,100\r
-    000002FE E5                     470        PUSH    HL\r
-    000002FF CD 5A 06               471        CALL    LWRD ?0056\r
-    00000302 C5                     472        PUSH    BC\r
-    00000303 E5                     473        PUSH    HL\r
-    00000304 6F                     474        LD      L,A\r
-    00000305 67                     475        LD      H,A\r
-    00000306 E5                     476        PUSH    HL\r
-    00000307 2E 64                  477        LD      L,100\r
-    00000309 E5                     478        PUSH    HL\r
-    0000030A CD 69 06               479        CALL    LWRD ?0057\r
-    0000030D C5                     480        PUSH    BC\r
-    0000030E E5                     481        PUSH    HL\r
-    0000030F FD E5                  482        PUSH    IY\r
-    00000311 21 22 00               483        LD      HL,?0029\r
-    00000314 E5                     484        PUSH    HL\r
-    00000315 21 20 00               485        LD      HL,32\r
-    00000318 39                     486        ADD     HL,SP\r
-    00000319 E5                     487        PUSH    HL\r
-    0000031A CD 52 06               488        CALL    LWRD ?0055\r
-    0000031D 21 0E 00               489        LD      HL,14\r
-    00000320 18 68                  490        JR      ?0043\r
-    00000322                        491 ?0028:\r
-    00000322 21 00 00               492        LD      HL,0\r
-    00000325 E5                     493        PUSH    HL\r
-    00000326 2E 64                  494        LD      L,100\r
-    00000328 E5                     495        PUSH    HL\r
-    00000329 FD 6E 0E               496        LD      L,(IY+14)\r
-    0000032C FD 66 0F               497        LD      H,(IY+15)\r
-    0000032F 7C                     498        LD      A,H\r
-    00000330 07                     499        RLCA\r
-    00000331 9F                     500        SBC     A,A\r
-    00000332 4F                     501        LD      C,A\r
-    00000333 41                     502        LD      B,C\r
-    00000334 C5                     503        PUSH    BC\r
-    00000335 E5                     504        PUSH    HL\r
-    00000336 CD 78 06               505        CALL    LWRD ?0058\r
-    00000339 CD 00 00               506        CALL    LWRD ?SL_MOD_L03\r
-    0000033C C5                     507        PUSH    BC\r
-    0000033D E5                     508        PUSH    HL\r
-    0000033E 21 00 00               509        LD      HL,0\r
-    00000341 E5                     510        PUSH    HL\r
-    00000342 2E 64                  511        LD      L,100\r
-    00000344 E5                     512        PUSH    HL\r
-    00000345 FD 6E 0E               513        LD      L,(IY+14)\r
-    00000348 FD 66 0F               514        LD      H,(IY+15)\r
-    0000034B 7C                     515        LD      A,H\r
-    0000034C 07                     516        RLCA\r
-    0000034D 9F                     517        SBC     A,A\r
-    0000034E 4F                     518        LD      C,A\r
-    0000034F 41                     519        LD      B,C\r
-    00000350 C5                     520        PUSH    BC\r
-    00000351 E5                     521        PUSH    HL\r
-    00000352 CD 78 06               522        CALL    LWRD ?0058\r
-    00000355 CD 00 00               523        CALL    LWRD ?SL_DIV_L03\r
-    00000358 C5                     524        PUSH    BC\r
-    00000359 E5                     525        PUSH    HL\r
-    0000035A 21 00 00               526        LD      HL,0\r
-    0000035D E5                     527        PUSH    HL\r
-    0000035E 2E 64                  528        LD      L,100\r
-    00000360 E5                     529        PUSH    HL\r
-    00000361 CD 5A 06               530        CALL    LWRD ?0056\r
-    00000364 C5                     531        PUSH    BC\r
-    00000365 E5                     532        PUSH    HL\r
-    00000366 21 00 00               533        LD      HL,0\r
-    00000369 E5                     534        PUSH    HL\r
-    0000036A 2E 64                  535        LD      L,100\r
-    0000036C E5                     536        PUSH    HL\r
-    0000036D CD 69 06               537        CALL    LWRD ?0057\r
-    00000370 C5                     538        PUSH    BC\r
-    00000371 E5                     539        PUSH    HL\r
-    00000372 FD 6E 0E               540        LD      L,(IY+14)\r
-    00000375 FD 66 0F               541        LD      H,(IY+15)\r
-    00000378 E5                     542        PUSH    HL\r
-    00000379 FD E5                  543        PUSH    IY\r
-    0000037B 21 45 00               544        LD      HL,?0031\r
-    0000037E E5                     545        PUSH    HL\r
-    0000037F 21 2A 00               546        LD      HL,42\r
-    00000382 39                     547        ADD     HL,SP\r
-    00000383 E5                     548        PUSH    HL\r
-    00000384 CD 52 06               549        CALL    LWRD ?0055\r
-    00000387 21 18 00               550        LD      HL,24\r
-    0000038A                        551 ?0043:\r
-    0000038A 39                     552        ADD     HL,SP\r
-    0000038B F9                     553        LD      SP,HL\r
-    0000038C                        554 ?0030:\r
-    0000038C 21 10 00               555        LD      HL,16\r
-    0000038F 39                     556        ADD     HL,SP\r
-    00000390 E5                     557        PUSH    HL\r
-    00000391 FD 5E 0E               558        LD      E,(IY+14)\r
-    00000394 FD 56 0F               559        LD      D,(IY+15)\r
-    00000397 7A                     560        LD      A,D\r
-    00000398 07                     561        RLCA\r
-    00000399 9F                     562        SBC     A,A\r
-    0000039A 4F                     563        LD      C,A\r
-    0000039B 41                     564        LD      B,C\r
-    0000039C C5                     565        PUSH    BC\r
-    0000039D D5                     566        PUSH    DE\r
-    0000039E CD 78 06               567        CALL    LWRD ?0058\r
-    000003A1 EB                     568        EX      DE,HL\r
-    000003A2 E1                     569        POP     HL\r
-    000003A3 CD 00 00               570        CALL    LWRD ?L_ADDASG_L03\r
-    000003A6 21 14 00               571        LD      HL,20\r
-    000003A9 39                     572        ADD     HL,SP\r
-    000003AA EB                     573        EX      DE,HL\r
-    000003AB 3E 00                  574        LD      A,BYTE3 strlen\r
-    000003AD 21 00 00               575        LD      HL,LWRD strlen\r
-    000003B0 CD 00 00               576        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000003B3 E5                     577        PUSH    HL\r
-    000003B4 21 16 00               578        LD      HL,22\r
-    000003B7 39                     579        ADD     HL,SP\r
-    000003B8 CD 87 06               580        CALL    LWRD ?0059\r
-    000003BB F1                     581        POP     AF\r
-    000003BC                        582 ?0026:\r
-    000003BC FD 6E 14               583        LD      L,(IY+20)\r
-    000003BF FD 66 15               584        LD      H,(IY+21)\r
-    000003C2 E5                     585        PUSH    HL\r
-    000003C3 FD E1                  586        POP     IY\r
-    000003C5 C3 DE 02               587        JP      LWRD ?0023\r
-    000003C8                        588 ?0022:\r
-    000003C8 6F                     589        LD      L,A\r
-    000003C9 67                     590        LD      H,A\r
-    000003CA E5                     591        PUSH    HL\r
-    000003CB 2E 64                  592        LD      L,100\r
-    000003CD E5                     593        PUSH    HL\r
-    000003CE DD 4E AE               594        LD      C,(IX-82)\r
-    000003D1 DD 46 AF               595        LD      B,(IX-81)\r
-    000003D4 DD 6E AC               596        LD      L,(IX-84)\r
-    000003D7 DD 66 AD               597        LD      H,(IX-83)\r
-    000003DA CD 00 00               598        CALL    LWRD ?SL_MOD_L03\r
-    000003DD C5                     599        PUSH    BC\r
-    000003DE E5                     600        PUSH    HL\r
-    000003DF 6F                     601        LD      L,A\r
-    000003E0 67                     602        LD      H,A\r
-    000003E1 E5                     603        PUSH    HL\r
-    000003E2 2E 64                  604        LD      L,100\r
-    000003E4 E5                     605        PUSH    HL\r
-    000003E5 DD 4E AE               606        LD      C,(IX-82)\r
-    000003E8 DD 46 AF               607        LD      B,(IX-81)\r
-    000003EB DD 6E AC               608        LD      L,(IX-84)\r
-    000003EE DD 66 AD               609        LD      H,(IX-83)\r
-    000003F1 CD 00 00               610        CALL    LWRD ?SL_DIV_L03\r
-    000003F4 C5                     611        PUSH    BC\r
-    000003F5 E5                     612        PUSH    HL\r
-    000003F6 21 14 00               613        LD      HL,?0014\r
-    000003F9 E5                     614        PUSH    HL\r
-    000003FA E5                     615        PUSH    HL\r
-    000003FB 21 85 00               616        LD      HL,?0032\r
-    000003FE E5                     617        PUSH    HL\r
-    000003FF 21 22 00               618        LD      HL,34\r
-    00000402 39                     619        ADD     HL,SP\r
-    00000403 E5                     620        PUSH    HL\r
-    00000404 CD 52 06               621        CALL    LWRD ?0055\r
-    00000407 21 10 00               622        LD      HL,16\r
-    0000040A 39                     623        ADD     HL,SP\r
-    0000040B F9                     624        LD      SP,HL\r
-    0000040C 21 14 00               625        LD      HL,20\r
-    0000040F 39                     626        ADD     HL,SP\r
-    00000410 EB                     627        EX      DE,HL\r
-    00000411 3E 00                  628        LD      A,BYTE3 strlen\r
-    00000413 21 00 00               629        LD      HL,LWRD strlen\r
-    00000416 CD 00 00               630        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000419 E5                     631        PUSH    HL\r
-    0000041A 21 16 00               632        LD      HL,22\r
-    0000041D 39                     633        ADD     HL,SP\r
-    0000041E CD 87 06               634        CALL    LWRD ?0059\r
-    00000421 F1                     635        POP     AF\r
-    00000422 DD 5E A0               636        LD      E,(IX-96)\r
-    00000425 DD 56 A1               637        LD      D,(IX-95)\r
-    00000428 3E 00                  638        LD      A,BYTE3 close\r
-    0000042A 21 00 00               639        LD      HL,LWRD close\r
-    0000042D CD 00 00               640        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000430 21 06 00               641        LD      HL,6\r
-    00000433 ED 4B 00 00            642        LD      BC,(trans)\r
-    00000437 09                     643        ADD     HL,BC\r
-    00000438 46                     644        LD      B,(HL)\r
-    00000439 23                     645        INC     HL\r
-    0000043A 66                     646        LD      H,(HL)\r
-    0000043B 68                     647        LD      L,B\r
-    0000043C                        648 ?0044:\r
-    0000043C E5                     649        PUSH    HL\r
-    0000043D FD E1                  650        POP     IY\r
-    0000043F                        651 ?0034:\r
-    0000043F 7D                     652        LD      A,L\r
-    00000440 B4                     653        OR      H\r
-    00000441 28 13                  654        JR      Z,?0033\r
-    00000443                        655 ?0035:\r
-    00000443 FD E5                  656        PUSH    IY\r
-    00000445 D1                     657        POP     DE\r
-    00000446 3E 00                  658        LD      A,BYTE3 free\r
-    00000448 21 00 00               659        LD      HL,LWRD free\r
-    0000044B CD 00 00               660        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000044E FD 6E 14               661        LD      L,(IY+20)\r
-    00000451 FD 66 15               662        LD      H,(IY+21)\r
-    00000454 18 E6                  663        JR      ?0044\r
-    00000456                        664 ?0033:\r
-    00000456 21 06 00               665        LD      HL,6\r
-    00000459 ED 4B 00 00            666        LD      BC,(trans)\r
-    0000045D 09                     667        ADD     HL,BC\r
-    0000045E E5                     668        PUSH    HL\r
-    0000045F CD 6A 00               669        CALL    LWRD ?0047\r
-    00000462 EB                     670        EX      DE,HL\r
-    00000463 E1                     671        POP     HL\r
-    00000464 73                     672        LD      (HL),E\r
-    00000465 23                     673        INC     HL\r
-    00000466 72                     674        LD      (HL),D\r
-    00000467 21 06 00               675        LD      HL,6\r
-    0000046A ED 4B 00 00            676        LD      BC,(trans)\r
-    0000046E 09                     677        ADD     HL,BC\r
-    0000046F 56                     678        LD      D,(HL)\r
-    00000470 23                     679        INC     HL\r
-    00000471 66                     680        LD      H,(HL)\r
-    00000472 6A                     681        LD      L,D\r
-    00000473 11 14 00               682        LD      DE,20\r
-    00000476 19                     683        ADD     HL,DE\r
-    00000477 AF                     684        XOR     A\r
-    00000478 77                     685        LD      (HL),A\r
-    00000479 23                     686        INC     HL\r
-    0000047A 77                     687        LD      (HL),A\r
-    0000047B 21 06 00               688        LD      HL,6\r
-    0000047E ED 4B 00 00            689        LD      BC,(trans)\r
-    00000482 09                     690        ADD     HL,BC\r
-    00000483 7E                     691        LD      A,(HL)\r
-    00000484 23                     692        INC     HL\r
-    00000485 66                     693        LD      H,(HL)\r
-    00000486 6F                     694        LD      L,A\r
-    00000487 72                     695        LD      (HL),D\r
-    00000488 21 06 00               696        LD      HL,6\r
-    0000048B ED 4B 00 00            697        LD      BC,(trans)\r
-    0000048F 09                     698        ADD     HL,BC\r
-    00000490 56                     699        LD      D,(HL)\r
-    00000491 23                     700        INC     HL\r
-    00000492 66                     701        LD      H,(HL)\r
-    00000493 6A                     702        LD      L,D\r
-    00000494 11 0E 00               703        LD      DE,14\r
-    00000497 19                     704        ADD     HL,DE\r
-    00000498 AF                     705        XOR     A\r
-    00000499 77                     706        LD      (HL),A\r
-    0000049A 23                     707        INC     HL\r
-    0000049B 77                     708        LD      (HL),A\r
-    0000049C 21 06 00               709        LD      HL,6\r
-    0000049F ED 4B 00 00            710        LD      BC,(trans)\r
-    000004A3 09                     711        ADD     HL,BC\r
-    000004A4 46                     712        LD      B,(HL)\r
-    000004A5 23                     713        INC     HL\r
-    000004A6 66                     714        LD      H,(HL)\r
-    000004A7 68                     715        LD      L,B\r
-    000004A8 01 10 00               716        LD      BC,16\r
-    000004AB 09                     717        ADD     HL,BC\r
-    000004AC 77                     718        LD      (HL),A\r
-    000004AD 23                     719        INC     HL\r
-    000004AE 77                     720        LD      (HL),A\r
-    000004AF 23                     721        INC     HL\r
-    000004B0 77                     722        LD      (HL),A\r
-    000004B1 23                     723        INC     HL\r
-    000004B2 77                     724        LD      (HL),A\r
-    000004B3                        725 ?0020:\r
-    000004B3 DD 6E 9E               726        LD      L,(IX-98)\r
-    000004B6 DD 66 9F               727        LD      H,(IX-97)\r
-    000004B9 23                     728        INC     HL\r
-    000004BA 23                     729        INC     HL\r
-    000004BB 23                     730        INC     HL\r
-    000004BC 46                     731        LD      B,(HL)\r
-    000004BD 23                     732        INC     HL\r
-    000004BE 66                     733        LD      H,(HL)\r
-    000004BF 68                     734        LD      L,B\r
-    000004C0 01 1F 10               735        LD      BC,4127\r
-    000004C3 A7                     736        AND     A\r
-    000004C4 ED 42                  737        SBC     HL,BC\r
-    000004C6 C2 D2 05               738        JP      NZ,?0037\r
-    000004C9                        739 ?0036:\r
-    000004C9 21 06 00               740        LD      HL,6\r
-    000004CC ED 4B 00 00            741        LD      BC,(trans)\r
-    000004D0 09                     742        ADD     HL,BC\r
-    000004D1 46                     743        LD      B,(HL)\r
-    000004D2 23                     744        INC     HL\r
-    000004D3 66                     745        LD      H,(HL)\r
-    000004D4 68                     746        LD      L,B\r
-    000004D5                        747 ?0045:\r
-    000004D5 DD 75 A0               748        LD      (IX-96),L\r
-    000004D8 DD 74 A1               749        LD      (IX-95),H\r
-    000004DB                        750 ?0039:\r
-    000004DB 21 14 00               751        LD      HL,20\r
-    000004DE DD 4E A0               752        LD      C,(IX-96)\r
-    000004E1 DD 46 A1               753        LD      B,(IX-95)\r
-    000004E4 09                     754        ADD     HL,BC\r
-    000004E5 7E                     755        LD      A,(HL)\r
-    000004E6 23                     756        INC     HL\r
-    000004E7 B6                     757        OR      (HL)\r
-    000004E8 28 0A                  758        JR      Z,?0038\r
-    000004EA                        759 ?0040:\r
-    000004EA 21 14 00               760        LD      HL,20\r
-    000004ED 09                     761        ADD     HL,BC\r
-    000004EE 56                     762        LD      D,(HL)\r
-    000004EF 23                     763        INC     HL\r
-    000004F0 66                     764        LD      H,(HL)\r
-    000004F1 6A                     765        LD      L,D\r
-    000004F2 18 E1                  766        JR      ?0045\r
-    000004F4                        767 ?0038:\r
-    000004F4 21 07 00               768        LD      HL,7\r
-    000004F7 DD 4E 9E               769        LD      C,(IX-98)\r
-    000004FA DD 46 9F               770        LD      B,(IX-97)\r
-    000004FD 09                     771        ADD     HL,BC\r
-    000004FE 6E                     772        LD      L,(HL)\r
-    000004FF 67                     773        LD      H,A\r
-    00000500 E5                     774        PUSH    HL\r
-    00000501 2A 00 00               775        LD      HL,(trans)\r
-    00000504 C1                     776        POP     BC\r
-    00000505 71                     777        LD      (HL),C\r
-    00000506 23                     778        INC     HL\r
-    00000507 70                     779        LD      (HL),B\r
-    00000508 2A 00 00               780        LD      HL,(trans)\r
-    0000050B 23                     781        INC     HL\r
-    0000050C 23                     782        INC     HL\r
-    0000050D E5                     783        PUSH    HL\r
-    0000050E CD D7 05               784        CALL    LWRD ?0048\r
-    00000511 E1                     785        POP     HL\r
-    00000512 71                     786        LD      (HL),C\r
-    00000513 23                     787        INC     HL\r
-    00000514 70                     788        LD      (HL),B\r
-    00000515 21 04 00               789        LD      HL,4\r
-    00000518 ED 4B 00 00            790        LD      BC,(trans)\r
-    0000051C 09                     791        ADD     HL,BC\r
-    0000051D E5                     792        PUSH    HL\r
-    0000051E 21 07 00               793        LD      HL,7\r
-    00000521 DD 5E 9E               794        LD      E,(IX-98)\r
-    00000524 DD 56 9F               795        LD      D,(IX-97)\r
-    00000527 19                     796        ADD     HL,DE\r
-    00000528 5E                     797        LD      E,(HL)\r
-    00000529 23                     798        INC     HL\r
-    0000052A 56                     799        LD      D,(HL)\r
-    0000052B 23                     800        INC     HL\r
-    0000052C 4E                     801        LD      C,(HL)\r
-    0000052D 23                     802        INC     HL\r
-    0000052E 46                     803        LD      B,(HL)\r
-    0000052F EB                     804        EX      DE,HL\r
-    00000530 3E 10                  805        LD      A,16\r
-    00000532 CD EB 05               806        CALL    LWRD ?0049\r
-    00000535 E1                     807        POP     HL\r
-    00000536 71                     808        LD      (HL),C\r
-    00000537 23                     809        INC     HL\r
-    00000538 70                     810        LD      (HL),B\r
-    00000539 2A 00 00               811        LD      HL,(trans)\r
-    0000053C 4E                     812        LD      C,(HL)\r
-    0000053D 23                     813        INC     HL\r
-    0000053E 46                     814        LD      B,(HL)\r
-    0000053F 21 11 00               815        LD      HL,17\r
-    00000542 DD 5E 02               816        LD      E,(IX+2)\r
-    00000545 DD 56 03               817        LD      D,(IX+3)\r
-    00000548 19                     818        ADD     HL,DE\r
-    00000549 5E                     819        LD      E,(HL)\r
-    0000054A 23                     820        INC     HL\r
-    0000054B 56                     821        LD      D,(HL)\r
-    0000054C CD 12 06               822        CALL    LWRD ?0051\r
-    0000054F 21 11 00               823        LD      HL,17\r
-    00000552 DD 5E 02               824        LD      E,(IX+2)\r
-    00000555 DD 56 03               825        LD      D,(IX+3)\r
-    00000558 19                     826        ADD     HL,DE\r
-    00000559 5E                     827        LD      E,(HL)\r
-    0000055A 23                     828        INC     HL\r
-    0000055B 56                     829        LD      D,(HL)\r
-    0000055C CD F2 05               830        CALL    LWRD ?0050\r
-    0000055F 21 11 00               831        LD      HL,17\r
-    00000562 DD 5E 02               832        LD      E,(IX+2)\r
-    00000565 DD 56 03               833        LD      D,(IX+3)\r
-    00000568 19                     834        ADD     HL,DE\r
-    00000569 5E                     835        LD      E,(HL)\r
-    0000056A 23                     836        INC     HL\r
-    0000056B 56                     837        LD      D,(HL)\r
-    0000056C CD 2F 06               838        CALL    LWRD ?0052\r
-    0000056F 21 11 00               839        LD      HL,17\r
-    00000572 DD 4E 02               840        LD      C,(IX+2)\r
-    00000575 DD 46 03               841        LD      B,(IX+3)\r
-    00000578 09                     842        ADD     HL,BC\r
-    00000579 5E                     843        LD      E,(HL)\r
-    0000057A 23                     844        INC     HL\r
-    0000057B 56                     845        LD      D,(HL)\r
-    0000057C 21 11 00               846        LD      HL,17\r
-    0000057F 09                     847        ADD     HL,BC\r
-    00000580 46                     848        LD      B,(HL)\r
-    00000581 23                     849        INC     HL\r
-    00000582 66                     850        LD      H,(HL)\r
-    00000583 68                     851        LD      L,B\r
-    00000584 01 1A 00               852        LD      BC,26\r
-    00000587 CD 47 06               853        CALL    LWRD ?0054\r
-    0000058A 21 14 00               854        LD      HL,20\r
-    0000058D DD 4E A0               855        LD      C,(IX-96)\r
-    00000590 DD 46 A1               856        LD      B,(IX-95)\r
-    00000593 09                     857        ADD     HL,BC\r
-    00000594 E5                     858        PUSH    HL\r
-    00000595 CD 6A 00               859        CALL    LWRD ?0047\r
-    00000598 EB                     860        EX      DE,HL\r
-    00000599 E1                     861        POP     HL\r
-    0000059A 73                     862        LD      (HL),E\r
-    0000059B 23                     863        INC     HL\r
-    0000059C 72                     864        LD      (HL),D\r
-    0000059D 21 14 00               865        LD      HL,20\r
-    000005A0 09                     866        ADD     HL,BC\r
-    000005A1 56                     867        LD      D,(HL)\r
-    000005A2 23                     868        INC     HL\r
-    000005A3 66                     869        LD      H,(HL)\r
-    000005A4 6A                     870        LD      L,D\r
-    000005A5 DD 75 A0               871        LD      (IX-96),L\r
-    000005A8 DD 74 A1               872        LD      (IX-95),H\r
-    000005AB 01 14 00               873        LD      BC,20\r
-    000005AE 09                     874        ADD     HL,BC\r
-    000005AF AF                     875        XOR     A\r
-    000005B0 77                     876        LD      (HL),A\r
-    000005B1 23                     877        INC     HL\r
-    000005B2 77                     878        LD      (HL),A\r
-    000005B3 DD 6E A0               879        LD      L,(IX-96)\r
-    000005B6 DD 66 A1               880        LD      H,(IX-95)\r
-    000005B9 70                     881        LD      (HL),B\r
-    000005BA 21 0E 00               882        LD      HL,14\r
-    000005BD DD 4E A0               883        LD      C,(IX-96)\r
-    000005C0 DD 46 A1               884        LD      B,(IX-95)\r
-    000005C3 09                     885        ADD     HL,BC\r
-    000005C4 77                     886        LD      (HL),A\r
-    000005C5 23                     887        INC     HL\r
-    000005C6 77                     888        LD      (HL),A\r
-    000005C7 21 10 00               889        LD      HL,16\r
-    000005CA 09                     890        ADD     HL,BC\r
-    000005CB 77                     891        LD      (HL),A\r
-    000005CC 23                     892        INC     HL\r
-    000005CD 77                     893        LD      (HL),A\r
-    000005CE 23                     894        INC     HL\r
-    000005CF 77                     895        LD      (HL),A\r
-    000005D0 23                     896        INC     HL\r
-    000005D1 77                     897        LD      (HL),A\r
-    000005D2                        898 ?0037:\r
-    000005D2 FD E1                  899        POP     IY\r
-    000005D4 C3 00 00               900        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000005D7                        901 ?0048:\r
-    000005D7 21 07 00               902        LD      HL,7\r
-    000005DA DD 4E 9E               903        LD      C,(IX-98)\r
-    000005DD DD 46 9F               904        LD      B,(IX-97)\r
-    000005E0 09                     905        ADD     HL,BC\r
-    000005E1 5E                     906        LD      E,(HL)\r
-    000005E2 23                     907        INC     HL\r
-    000005E3 56                     908        LD      D,(HL)\r
-    000005E4 23                     909        INC     HL\r
-    000005E5 4E                     910        LD      C,(HL)\r
-    000005E6 23                     911        INC     HL\r
-    000005E7 46                     912        LD      B,(HL)\r
-    000005E8 EB                     913        EX      DE,HL\r
-    000005E9 3E 08                  914        LD      A,8\r
-    000005EB                        915 ?0049:\r
-    000005EB CD 00 00               916        CALL    LWRD ?SL_RSH_L03\r
-    000005EE 06 00                  917        LD      B,0\r
-    000005F0 4D                     918        LD      C,L\r
-    000005F1 C9                     919        RET\r
-    000005F2                        920 ?0050:\r
-    000005F2 3E 00                  921        LD      A,BYTE3 Component_find\r
-    000005F4 21 00 00               922        LD      HL,LWRD Component_find\r
-    000005F7 CD 00 00               923        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000005FA EB                     924        EX      DE,HL\r
-    000005FB 3E 00                  925        LD      A,BYTE3 Component_setlabel\r
-    000005FD 21 00 00               926        LD      HL,LWRD Component_setlabel\r
-    00000600 01 08 00               927        LD      BC,?0005\r
-    00000603 CD 00 00               928        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000606 21 04 00               929        LD      HL,4\r
-    00000609 ED 5B 00 00            930        LD      DE,(trans)\r
-    0000060D 19                     931        ADD     HL,DE\r
-    0000060E 4E                     932        LD      C,(HL)\r
-    0000060F 23                     933        INC     HL\r
-    00000610 46                     934        LD      B,(HL)\r
-    00000611 C9                     935        RET\r
-    00000612                        936 ?0051:\r
-    00000612 3E 00                  937        LD      A,BYTE3 Component_find\r
-    00000614 21 00 00               938        LD      HL,LWRD Component_find\r
-    00000617 CD 00 00               939        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000061A EB                     940        EX      DE,HL\r
-    0000061B 3E 00                  941        LD      A,BYTE3 Component_setlabel\r
-    0000061D 21 00 00               942        LD      HL,LWRD Component_setlabel\r
-    00000620 01 00 00               943        LD      BC,?0004\r
-    00000623 CD 00 00               944        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000626 2A 00 00               945        LD      HL,(trans)\r
-    00000629 23                     946        INC     HL\r
-    0000062A 23                     947        INC     HL\r
-    0000062B 4E                     948        LD      C,(HL)\r
-    0000062C 23                     949        INC     HL\r
-    0000062D 46                     950        LD      B,(HL)\r
-    0000062E C9                     951        RET\r
-    0000062F                        952 ?0052:\r
-    0000062F 3E 00                  953        LD      A,BYTE3 Component_find\r
-    00000631 21 00 00               954        LD      HL,LWRD Component_find\r
-    00000634 CD 00 00               955        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000637 EB                     956        EX      DE,HL\r
-    00000638 3E 00                  957        LD      A,BYTE3 Component_setlabel\r
-    0000063A 21 00 00               958        LD      HL,LWRD Component_setlabel\r
-    0000063D 01 0E 00               959        LD      BC,?0006\r
-    00000640 C3 00 00               960        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000643                        961 ?0053:\r
-    00000643 42                     962        LD      B,D\r
-    00000644 21 1A 00               963        LD      HL,26\r
-    00000647                        964 ?0054:\r
-    00000647 09                     965        ADD     HL,BC\r
-    00000648 4E                     966        LD      C,(HL)\r
-    00000649 23                     967        INC     HL\r
-    0000064A 46                     968        LD      B,(HL)\r
-    0000064B 23                     969        INC     HL\r
-    0000064C 7E                     970        LD      A,(HL)\r
-    0000064D 69                     971        LD      L,C\r
-    0000064E 60                     972        LD      H,B\r
-    0000064F C3 00 00               973        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000652                        974 ?0055:\r
-    00000652 3E 00                  975        LD      A,BYTE3 sprintf\r
-    00000654 21 00 00               976        LD      HL,LWRD sprintf\r
-    00000657 C3 00 00               977        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000065A                        978 ?0056:\r
-    0000065A FD 4E 12               979        LD      C,(IY+18)\r
-    0000065D FD 46 13               980        LD      B,(IY+19)\r
-    00000660 FD 6E 10               981        LD      L,(IY+16)\r
-    00000663 FD 66 11               982        LD      H,(IY+17)\r
-    00000666 C3 00 00               983        JP      LWRD ?SL_MOD_L03\r
-    00000669                        984 ?0057:\r
-    00000669 FD 4E 12               985        LD      C,(IY+18)\r
-    0000066C FD 46 13               986        LD      B,(IY+19)\r
-    0000066F FD 6E 10               987        LD      L,(IY+16)\r
-    00000672 FD 66 11               988        LD      H,(IY+17)\r
-    00000675 C3 00 00               989        JP      LWRD ?SL_DIV_L03\r
-    00000678                        990 ?0058:\r
-    00000678 FD 4E 12               991        LD      C,(IY+18)\r
-    0000067B FD 46 13               992        LD      B,(IY+19)\r
-    0000067E FD 6E 10               993        LD      L,(IY+16)\r
-    00000681 FD 66 11               994        LD      H,(IY+17)\r
-    00000684 C3 00 00               995        JP      LWRD ?L_MUL_L03\r
-    00000687                        996 ?0059:\r
-    00000687 4D                     997        LD      C,L\r
-    00000688 44                     998        LD      B,H\r
-    00000689 DD 5E A0               999        LD      E,(IX-96)\r
-    0000068C DD 56 A1              1000        LD      D,(IX-95)\r
-    0000068F 3E 00                 1001        LD      A,BYTE3 _write\r
-    00000691 21 00 00              1002        LD      HL,LWRD _write\r
-    00000694 C3 00 00              1003        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-                                   1004        RSEG    CSTR\r
-    00000000                       1005 ?0004:\r
-    00000000 42 61 72 63 6F 64 65  1006        DEFB    'Barcode'\r
-    00000007 00                    1007        DEFB    0\r
-    00000008                       1008 ?0005:\r
-    00000008 53 74 75 6B 73        1009        DEFB    'Stuks'\r
-    0000000D 00                    1010        DEFB    0\r
-    0000000E                       1011 ?0006:\r
-    0000000E 50 72 69 6A 73        1012        DEFB    'Prijs'\r
-    00000013 00                    1013        DEFB    0\r
-    00000014                       1014 ?0014:\r
-    00000014 00                    1015        DEFB    0\r
-    00000015                       1016 ?0021:\r
-    00000015 2F 64 65 76 2F 70 72  1017        DEFB    '/dev/printer'\r
+    000000A5 46                     136        LD      B,(HL)\r
+    000000A6 23                     137        INC     HL\r
+    000000A7 66                     138        LD      H,(HL)\r
+    000000A8 68                     139        LD      L,B\r
+    000000A9 01 10 90               140        LD      BC,36880\r
+    000000AC 3E 80                  141        LD      A,128\r
+    000000AE AC                     142        XOR     H\r
+    000000AF 67                     143        LD      H,A\r
+    000000B0 ED 42                  144        SBC     HL,BC\r
+    000000B2 DA F4 01               145        JP      C,?0003\r
+    000000B5 DD 6E 9E               146        LD      L,(IX-98)\r
+    000000B8 DD 66 9F               147        LD      H,(IX-97)\r
+    000000BB 23                     148        INC     HL\r
+    000000BC 23                     149        INC     HL\r
+    000000BD 23                     150        INC     HL\r
+    000000BE 4E                     151        LD      C,(HL)\r
+    000000BF 23                     152        INC     HL\r
+    000000C0 46                     153        LD      B,(HL)\r
+    000000C1 21 12 10               154        LD      HL,4114\r
+    000000C4 CD 00 00               155        CALL    LWRD ?SS_CMP_L02\r
+    000000C7 DA F4 01               156        JP      C,?0003\r
+    000000CA                        157 ?0005:\r
+    000000CA                        158 ?0004:\r
+    000000CA                        159 ?0002:\r
+    000000CA 21 06 00               160        LD      HL,6\r
+    000000CD ED 4B 00 00            161        LD      BC,(trans)\r
+    000000D1 09                     162        ADD     HL,BC\r
+    000000D2 46                     163        LD      B,(HL)\r
+    000000D3 23                     164        INC     HL\r
+    000000D4 66                     165        LD      H,(HL)\r
+    000000D5 68                     166        LD      L,B\r
+    000000D6                        167 ?0041:\r
+    000000D6 DD 75 A2               168        LD      (IX-94),L\r
+    000000D9 DD 74 A3               169        LD      (IX-93),H\r
+    000000DC                        170 ?0007:\r
+    000000DC 21 14 00               171        LD      HL,20\r
+    000000DF DD 4E A2               172        LD      C,(IX-94)\r
+    000000E2 DD 46 A3               173        LD      B,(IX-93)\r
+    000000E5 09                     174        ADD     HL,BC\r
+    000000E6 7E                     175        LD      A,(HL)\r
+    000000E7 23                     176        INC     HL\r
+    000000E8 B6                     177        OR      (HL)\r
+    000000E9 28 0A                  178        JR      Z,?0006\r
+    000000EB                        179 ?0008:\r
+    000000EB 21 14 00               180        LD      HL,20\r
+    000000EE 09                     181        ADD     HL,BC\r
+    000000EF 56                     182        LD      D,(HL)\r
+    000000F0 23                     183        INC     HL\r
+    000000F1 66                     184        LD      H,(HL)\r
+    000000F2 6A                     185        LD      L,D\r
+    000000F3 18 E1                  186        JR      ?0041\r
+    000000F5                        187 ?0006:\r
+    000000F5 21 05 00               188        LD      HL,5\r
+    000000F8 DD 4E 9E               189        LD      C,(IX-98)\r
+    000000FB DD 46 9F               190        LD      B,(IX-97)\r
+    000000FE 09                     191        ADD     HL,BC\r
+    000000FF 4E                     192        LD      C,(HL)\r
+    00000100 23                     193        INC     HL\r
+    00000101 46                     194        LD      B,(HL)\r
+    00000102 21 11 00               195        LD      HL,17\r
+    00000105 DD 5E 02               196        LD      E,(IX+2)\r
+    00000108 DD 56 03               197        LD      D,(IX+3)\r
+    0000010B 19                     198        ADD     HL,DE\r
+    0000010C 5E                     199        LD      E,(HL)\r
+    0000010D 23                     200        INC     HL\r
+    0000010E 56                     201        LD      D,(HL)\r
+    0000010F 3E 00                  202        LD      A,BYTE3 Component_find\r
+    00000111 21 00 00               203        LD      HL,LWRD Component_find\r
+    00000114 CD 00 00               204        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000117 DD 75 A0               205        LD      (IX-96),L\r
+    0000011A DD 74 A1               206        LD      (IX-95),H\r
+    0000011D 01 20 00               207        LD      BC,32\r
+    00000120 09                     208        ADD     HL,BC\r
+    00000121 4E                     209        LD      C,(HL)\r
+    00000122 23                     210        INC     HL\r
+    00000123 46                     211        LD      B,(HL)\r
+    00000124 DD 5E 02               212        LD      E,(IX+2)\r
+    00000127 DD 56 03               213        LD      D,(IX+3)\r
+    0000012A 3E 00                  214        LD      A,BYTE3 Component_setlabel\r
+    0000012C 21 00 00               215        LD      HL,LWRD Component_setlabel\r
+    0000012F CD 00 00               216        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000132 01 00 00               217        LD      BC,?0009\r
+    00000135 DD 5E A0               218        LD      E,(IX-96)\r
+    00000138 DD 56 A1               219        LD      D,(IX-95)\r
+    0000013B 3E 00                  220        LD      A,BYTE3 Component_setlabel\r
+    0000013D 21 00 00               221        LD      HL,LWRD Component_setlabel\r
+    00000140 CD 00 00               222        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000143 DD 5E A0               223        LD      E,(IX-96)\r
+    00000146 4B                     224        LD      C,E\r
+    00000147 DD 56 A1               225        LD      D,(IX-95)\r
+    0000014A CD A3 05               226        CALL    LWRD ?0048\r
+    0000014D DD 6E 9E               227        LD      L,(IX-98)\r
+    00000150 DD 66 9F               228        LD      H,(IX-97)\r
+    00000153 23                     229        INC     HL\r
+    00000154 23                     230        INC     HL\r
+    00000155 23                     231        INC     HL\r
+    00000156 5E                     232        LD      E,(HL)\r
+    00000157 23                     233        INC     HL\r
+    00000158 56                     234        LD      D,(HL)\r
+    00000159 CD 00 00               235        CALL    LWRD ?S_S_SWITCH_L06\r
+    0000015C 10 10                  236        DEFW    4112\r
+    0000015E 03 00                  237        DEFW    3\r
+    00000160 EA 01                  238        DEFW    ?0010\r
+    00000162 68 01                  239        DEFW    ?0011\r
+    00000164 85 01                  240        DEFW    ?0012\r
+    00000166 BD 01                  241        DEFW    ?0015\r
+    00000168                        242 ?0011:\r
+    00000168 21 20 00               243        LD      HL,32\r
+    0000016B DD 4E 02               244        LD      C,(IX+2)\r
+    0000016E DD 46 03               245        LD      B,(IX+3)\r
+    00000171 09                     246        ADD     HL,BC\r
+    00000172 4E                     247        LD      C,(HL)\r
+    00000173 23                     248        INC     HL\r
+    00000174 46                     249        LD      B,(HL)\r
+    00000175 DD 5E A2               250        LD      E,(IX-94)\r
+    00000178 DD 56 A3               251        LD      D,(IX-93)\r
+    0000017B 3E 00                  252        LD      A,BYTE3 strcpy\r
+    0000017D 21 00 00               253        LD      HL,LWRD strcpy\r
+    00000180 CD 00 00               254        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000183 18 65                  255        JR      ?0010\r
+    00000185                        256 ?0012:\r
+    00000185 21 0E 00               257        LD      HL,14\r
+    00000188 DD 4E A2               258        LD      C,(IX-94)\r
+    0000018B DD 46 A3               259        LD      B,(IX-93)\r
+    0000018E 09                     260        ADD     HL,BC\r
+    0000018F E5                     261        PUSH    HL\r
+    00000190 21 20 00               262        LD      HL,32\r
+    00000193 DD 5E 02               263        LD      E,(IX+2)\r
+    00000196 DD 56 03               264        LD      D,(IX+3)\r
+    00000199 19                     265        ADD     HL,DE\r
+    0000019A 5E                     266        LD      E,(HL)\r
+    0000019B 23                     267        INC     HL\r
+    0000019C 56                     268        LD      D,(HL)\r
+    0000019D 3E 00                  269        LD      A,BYTE3 atoi\r
+    0000019F 21 00 00               270        LD      HL,LWRD atoi\r
+    000001A2 CD 00 00               271        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000001A5 EB                     272        EX      DE,HL\r
+    000001A6 E1                     273        POP     HL\r
+    000001A7 73                     274        LD      (HL),E\r
+    000001A8 23                     275        INC     HL\r
+    000001A9 72                     276        LD      (HL),D\r
+    000001AA 21 0E 00               277        LD      HL,14\r
+    000001AD 09                     278        ADD     HL,BC\r
+    000001AE 7E                     279        LD      A,(HL)\r
+    000001AF 23                     280        INC     HL\r
+    000001B0 B6                     281        OR      (HL)\r
+    000001B1 20 37                  282        JR      NZ,?0010\r
+    000001B3                        283 ?0013:\r
+    000001B3 21 0E 00               284        LD      HL,14\r
+    000001B6 09                     285        ADD     HL,BC\r
+    000001B7 36 01                  286        LD      (HL),1\r
+    000001B9 23                     287        INC     HL\r
+    000001BA 77                     288        LD      (HL),A\r
+    000001BB                        289 ?0014:\r
+    000001BB 18 2D                  290        JR      ?0010\r
+    000001BD                        291 ?0015:\r
+    000001BD 21 20 00               292        LD      HL,32\r
+    000001C0 DD 4E 02               293        LD      C,(IX+2)\r
+    000001C3 DD 46 03               294        LD      B,(IX+3)\r
+    000001C6 09                     295        ADD     HL,BC\r
+    000001C7 5E                     296        LD      E,(HL)\r
+    000001C8 23                     297        INC     HL\r
+    000001C9 56                     298        LD      D,(HL)\r
+    000001CA 3E 00                  299        LD      A,BYTE3 atol\r
+    000001CC 21 00 00               300        LD      HL,LWRD atol\r
+    000001CF CD 00 00               301        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000001D2 7C                     302        LD      A,H\r
+    000001D3 07                     303        RLCA\r
+    000001D4 9F                     304        SBC     A,A\r
+    000001D5 4F                     305        LD      C,A\r
+    000001D6 41                     306        LD      B,C\r
+    000001D7 E5                     307        PUSH    HL\r
+    000001D8 21 10 00               308        LD      HL,16\r
+    000001DB DD 5E A2               309        LD      E,(IX-94)\r
+    000001DE DD 56 A3               310        LD      D,(IX-93)\r
+    000001E1 19                     311        ADD     HL,DE\r
+    000001E2 D1                     312        POP     DE\r
+    000001E3 73                     313        LD      (HL),E\r
+    000001E4 23                     314        INC     HL\r
+    000001E5 72                     315        LD      (HL),D\r
+    000001E6 23                     316        INC     HL\r
+    000001E7 71                     317        LD      (HL),C\r
+    000001E8 23                     318        INC     HL\r
+    000001E9 70                     319        LD      (HL),B\r
+    000001EA                        320 ?0010:\r
+    000001EA DD 5E 02               321        LD      E,(IX+2)\r
+    000001ED 4B                     322        LD      C,E\r
+    000001EE DD 56 03               323        LD      D,(IX+3)\r
+    000001F1 CD A3 05               324        CALL    LWRD ?0048\r
+    000001F4                        325 ?0003:\r
+    000001F4 DD 6E 9E               326        LD      L,(IX-98)\r
+    000001F7 DD 66 9F               327        LD      H,(IX-97)\r
+    000001FA 23                     328        INC     HL\r
+    000001FB 23                     329        INC     HL\r
+    000001FC 23                     330        INC     HL\r
+    000001FD 46                     331        LD      B,(HL)\r
+    000001FE 23                     332        INC     HL\r
+    000001FF 66                     333        LD      H,(HL)\r
+    00000200 68                     334        LD      L,B\r
+    00000201 01 1E 10               335        LD      BC,4126\r
+    00000204 A7                     336        AND     A\r
+    00000205 ED 42                  337        SBC     HL,BC\r
+    00000207 C2 51 04               338        JP      NZ,?0017\r
+    0000020A                        339 ?0016:\r
+    0000020A AF                     340        XOR     A\r
+    0000020B DD 77 AC               341        LD      (IX-84),A\r
+    0000020E DD 77 AD               342        LD      (IX-83),A\r
+    00000211 DD 77 AE               343        LD      (IX-82),A\r
+    00000214 DD 77 AF               344        LD      (IX-81),A\r
+    00000217 21 06 00               345        LD      HL,6\r
+    0000021A ED 4B 00 00            346        LD      BC,(trans)\r
+    0000021E 09                     347        ADD     HL,BC\r
+    0000021F 46                     348        LD      B,(HL)\r
+    00000220 23                     349        INC     HL\r
+    00000221 66                     350        LD      H,(HL)\r
+    00000222 68                     351        LD      L,B\r
+    00000223 E5                     352        PUSH    HL\r
+    00000224 FD E1                  353        POP     IY\r
+    00000226 21 01 00               354        LD      HL,1\r
+    00000229 E5                     355        PUSH    HL\r
+    0000022A 21 01 00               356        LD      HL,?0018\r
+    0000022D E5                     357        PUSH    HL\r
+    0000022E 3E 00                  358        LD      A,BYTE3 open\r
+    00000230 21 00 00               359        LD      HL,LWRD open\r
+    00000233 CD 00 00               360        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000236 F1                     361        POP     AF\r
+    00000237 F1                     362        POP     AF\r
+    00000238 DD 75 A0               363        LD      (IX-96),L\r
+    0000023B DD 74 A1               364        LD      (IX-95),H\r
+    0000023E 21 08 00               365        LD      HL,8\r
+    00000241 39                     366        ADD     HL,SP\r
+    00000242 E5                     367        PUSH    HL\r
+    00000243 21 00 00               368        LD      HL,0\r
+    00000246 E5                     369        PUSH    HL\r
+    00000247 DD 6E A0               370        LD      L,(IX-96)\r
+    0000024A DD 66 A1               371        LD      H,(IX-95)\r
+    0000024D E5                     372        PUSH    HL\r
+    0000024E 3E 00                  373        LD      A,BYTE3 ioctl\r
+    00000250 21 00 00               374        LD      HL,LWRD ioctl\r
+    00000253 CD 00 00               375        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000256 F1                     376        POP     AF\r
+    00000257 F1                     377        POP     AF\r
+    00000258 F1                     378        POP     AF\r
+    00000259 DD 36 A8 60            379        LD      (IX-88),96\r
+    0000025D DD 36 A9 00            380        LD      (IX-87),0\r
+    00000261 21 08 00               381        LD      HL,8\r
+    00000264 39                     382        ADD     HL,SP\r
+    00000265 E5                     383        PUSH    HL\r
+    00000266 21 01 00               384        LD      HL,1\r
+    00000269 E5                     385        PUSH    HL\r
+    0000026A DD 6E A0               386        LD      L,(IX-96)\r
+    0000026D DD 66 A1               387        LD      H,(IX-95)\r
+    00000270 E5                     388        PUSH    HL\r
+    00000271 3E 00                  389        LD      A,BYTE3 ioctl\r
+    00000273 21 00 00               390        LD      HL,LWRD ioctl\r
+    00000276 CD 00 00               391        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000279 F1                     392        POP     AF\r
+    0000027A F1                     393        POP     AF\r
+    0000027B F1                     394        POP     AF\r
+    0000027C                        395 ?0020:\r
+    0000027C FD E5                  396        PUSH    IY\r
+    0000027E E1                     397        POP     HL\r
+    0000027F 7D                     398        LD      A,L\r
+    00000280 B4                     399        OR      H\r
+    00000281 CA 66 03               400        JP      Z,?0019\r
+    00000284                        401 ?0021:\r
+    00000284 FD 7E 0E               402        LD      A,(IY+14)\r
+    00000287 FD B6 0F               403        OR      (IY+15)\r
+    0000028A CA 5A 03               404        JP      Z,?0023\r
+    0000028D                        405 ?0022:\r
+    0000028D 3E 01                  406        LD      A,1\r
+    0000028F FD AE 0E               407        XOR     (IY+14)\r
+    00000292 FD B6 0F               408        OR      (IY+15)\r
+    00000295 20 29                  409        JR      NZ,?0025\r
+    00000297                        410 ?0024:\r
+    00000297 6F                     411        LD      L,A\r
+    00000298 67                     412        LD      H,A\r
+    00000299 E5                     413        PUSH    HL\r
+    0000029A 2E 64                  414        LD      L,100\r
+    0000029C E5                     415        PUSH    HL\r
+    0000029D CD BA 05               416        CALL    LWRD ?0051\r
+    000002A0 C5                     417        PUSH    BC\r
+    000002A1 E5                     418        PUSH    HL\r
+    000002A2 6F                     419        LD      L,A\r
+    000002A3 67                     420        LD      H,A\r
+    000002A4 E5                     421        PUSH    HL\r
+    000002A5 2E 64                  422        LD      L,100\r
+    000002A7 E5                     423        PUSH    HL\r
+    000002A8 CD C9 05               424        CALL    LWRD ?0052\r
+    000002AB C5                     425        PUSH    BC\r
+    000002AC E5                     426        PUSH    HL\r
+    000002AD FD E5                  427        PUSH    IY\r
+    000002AF 21 0E 00               428        LD      HL,?0026\r
+    000002B2 E5                     429        PUSH    HL\r
+    000002B3 21 20 00               430        LD      HL,32\r
+    000002B6 39                     431        ADD     HL,SP\r
+    000002B7 E5                     432        PUSH    HL\r
+    000002B8 CD B2 05               433        CALL    LWRD ?0050\r
+    000002BB 21 0E 00               434        LD      HL,14\r
+    000002BE 18 68                  435        JR      ?0042\r
+    000002C0                        436 ?0025:\r
+    000002C0 21 00 00               437        LD      HL,0\r
+    000002C3 E5                     438        PUSH    HL\r
+    000002C4 2E 64                  439        LD      L,100\r
+    000002C6 E5                     440        PUSH    HL\r
+    000002C7 FD 6E 0E               441        LD      L,(IY+14)\r
+    000002CA FD 66 0F               442        LD      H,(IY+15)\r
+    000002CD 7C                     443        LD      A,H\r
+    000002CE 07                     444        RLCA\r
+    000002CF 9F                     445        SBC     A,A\r
+    000002D0 4F                     446        LD      C,A\r
+    000002D1 41                     447        LD      B,C\r
+    000002D2 C5                     448        PUSH    BC\r
+    000002D3 E5                     449        PUSH    HL\r
+    000002D4 CD D8 05               450        CALL    LWRD ?0053\r
+    000002D7 CD 00 00               451        CALL    LWRD ?SL_MOD_L03\r
+    000002DA C5                     452        PUSH    BC\r
+    000002DB E5                     453        PUSH    HL\r
+    000002DC 21 00 00               454        LD      HL,0\r
+    000002DF E5                     455        PUSH    HL\r
+    000002E0 2E 64                  456        LD      L,100\r
+    000002E2 E5                     457        PUSH    HL\r
+    000002E3 FD 6E 0E               458        LD      L,(IY+14)\r
+    000002E6 FD 66 0F               459        LD      H,(IY+15)\r
+    000002E9 7C                     460        LD      A,H\r
+    000002EA 07                     461        RLCA\r
+    000002EB 9F                     462        SBC     A,A\r
+    000002EC 4F                     463        LD      C,A\r
+    000002ED 41                     464        LD      B,C\r
+    000002EE C5                     465        PUSH    BC\r
+    000002EF E5                     466        PUSH    HL\r
+    000002F0 CD D8 05               467        CALL    LWRD ?0053\r
+    000002F3 CD 00 00               468        CALL    LWRD ?SL_DIV_L03\r
+    000002F6 C5                     469        PUSH    BC\r
+    000002F7 E5                     470        PUSH    HL\r
+    000002F8 21 00 00               471        LD      HL,0\r
+    000002FB E5                     472        PUSH    HL\r
+    000002FC 2E 64                  473        LD      L,100\r
+    000002FE E5                     474        PUSH    HL\r
+    000002FF CD BA 05               475        CALL    LWRD ?0051\r
+    00000302 C5                     476        PUSH    BC\r
+    00000303 E5                     477        PUSH    HL\r
+    00000304 21 00 00               478        LD      HL,0\r
+    00000307 E5                     479        PUSH    HL\r
+    00000308 2E 64                  480        LD      L,100\r
+    0000030A E5                     481        PUSH    HL\r
+    0000030B CD C9 05               482        CALL    LWRD ?0052\r
+    0000030E C5                     483        PUSH    BC\r
+    0000030F E5                     484        PUSH    HL\r
+    00000310 FD 6E 0E               485        LD      L,(IY+14)\r
+    00000313 FD 66 0F               486        LD      H,(IY+15)\r
+    00000316 E5                     487        PUSH    HL\r
+    00000317 FD E5                  488        PUSH    IY\r
+    00000319 21 31 00               489        LD      HL,?0028\r
+    0000031C E5                     490        PUSH    HL\r
+    0000031D 21 2A 00               491        LD      HL,42\r
+    00000320 39                     492        ADD     HL,SP\r
+    00000321 E5                     493        PUSH    HL\r
+    00000322 CD B2 05               494        CALL    LWRD ?0050\r
+    00000325 21 18 00               495        LD      HL,24\r
+    00000328                        496 ?0042:\r
+    00000328 39                     497        ADD     HL,SP\r
+    00000329 F9                     498        LD      SP,HL\r
+    0000032A                        499 ?0027:\r
+    0000032A 21 10 00               500        LD      HL,16\r
+    0000032D 39                     501        ADD     HL,SP\r
+    0000032E E5                     502        PUSH    HL\r
+    0000032F FD 5E 0E               503        LD      E,(IY+14)\r
+    00000332 FD 56 0F               504        LD      D,(IY+15)\r
+    00000335 7A                     505        LD      A,D\r
+    00000336 07                     506        RLCA\r
+    00000337 9F                     507        SBC     A,A\r
+    00000338 4F                     508        LD      C,A\r
+    00000339 41                     509        LD      B,C\r
+    0000033A C5                     510        PUSH    BC\r
+    0000033B D5                     511        PUSH    DE\r
+    0000033C CD D8 05               512        CALL    LWRD ?0053\r
+    0000033F EB                     513        EX      DE,HL\r
+    00000340 E1                     514        POP     HL\r
+    00000341 CD 00 00               515        CALL    LWRD ?L_ADDASG_L03\r
+    00000344 21 14 00               516        LD      HL,20\r
+    00000347 39                     517        ADD     HL,SP\r
+    00000348 EB                     518        EX      DE,HL\r
+    00000349 3E 00                  519        LD      A,BYTE3 strlen\r
+    0000034B 21 00 00               520        LD      HL,LWRD strlen\r
+    0000034E CD 00 00               521        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000351 E5                     522        PUSH    HL\r
+    00000352 21 16 00               523        LD      HL,22\r
+    00000355 39                     524        ADD     HL,SP\r
+    00000356 CD E7 05               525        CALL    LWRD ?0054\r
+    00000359 F1                     526        POP     AF\r
+    0000035A                        527 ?0023:\r
+    0000035A FD 6E 14               528        LD      L,(IY+20)\r
+    0000035D FD 66 15               529        LD      H,(IY+21)\r
+    00000360 E5                     530        PUSH    HL\r
+    00000361 FD E1                  531        POP     IY\r
+    00000363 C3 7C 02               532        JP      LWRD ?0020\r
+    00000366                        533 ?0019:\r
+    00000366 6F                     534        LD      L,A\r
+    00000367 67                     535        LD      H,A\r
+    00000368 E5                     536        PUSH    HL\r
+    00000369 2E 64                  537        LD      L,100\r
+    0000036B E5                     538        PUSH    HL\r
+    0000036C DD 4E AE               539        LD      C,(IX-82)\r
+    0000036F DD 46 AF               540        LD      B,(IX-81)\r
+    00000372 DD 6E AC               541        LD      L,(IX-84)\r
+    00000375 DD 66 AD               542        LD      H,(IX-83)\r
+    00000378 CD 00 00               543        CALL    LWRD ?SL_MOD_L03\r
+    0000037B C5                     544        PUSH    BC\r
+    0000037C E5                     545        PUSH    HL\r
+    0000037D 6F                     546        LD      L,A\r
+    0000037E 67                     547        LD      H,A\r
+    0000037F E5                     548        PUSH    HL\r
+    00000380 2E 64                  549        LD      L,100\r
+    00000382 E5                     550        PUSH    HL\r
+    00000383 DD 4E AE               551        LD      C,(IX-82)\r
+    00000386 DD 46 AF               552        LD      B,(IX-81)\r
+    00000389 DD 6E AC               553        LD      L,(IX-84)\r
+    0000038C DD 66 AD               554        LD      H,(IX-83)\r
+    0000038F CD 00 00               555        CALL    LWRD ?SL_DIV_L03\r
+    00000392 C5                     556        PUSH    BC\r
+    00000393 E5                     557        PUSH    HL\r
+    00000394 21 00 00               558        LD      HL,?0009\r
+    00000397 E5                     559        PUSH    HL\r
+    00000398 E5                     560        PUSH    HL\r
+    00000399 21 71 00               561        LD      HL,?0029\r
+    0000039C E5                     562        PUSH    HL\r
+    0000039D 21 22 00               563        LD      HL,34\r
+    000003A0 39                     564        ADD     HL,SP\r
+    000003A1 E5                     565        PUSH    HL\r
+    000003A2 CD B2 05               566        CALL    LWRD ?0050\r
+    000003A5 21 10 00               567        LD      HL,16\r
+    000003A8 39                     568        ADD     HL,SP\r
+    000003A9 F9                     569        LD      SP,HL\r
+    000003AA 21 14 00               570        LD      HL,20\r
+    000003AD 39                     571        ADD     HL,SP\r
+    000003AE EB                     572        EX      DE,HL\r
+    000003AF 3E 00                  573        LD      A,BYTE3 strlen\r
+    000003B1 21 00 00               574        LD      HL,LWRD strlen\r
+    000003B4 CD 00 00               575        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000003B7 E5                     576        PUSH    HL\r
+    000003B8 21 16 00               577        LD      HL,22\r
+    000003BB 39                     578        ADD     HL,SP\r
+    000003BC CD E7 05               579        CALL    LWRD ?0054\r
+    000003BF F1                     580        POP     AF\r
+    000003C0 DD 5E A0               581        LD      E,(IX-96)\r
+    000003C3 DD 56 A1               582        LD      D,(IX-95)\r
+    000003C6 3E 00                  583        LD      A,BYTE3 close\r
+    000003C8 21 00 00               584        LD      HL,LWRD close\r
+    000003CB CD 00 00               585        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000003CE 21 06 00               586        LD      HL,6\r
+    000003D1 ED 4B 00 00            587        LD      BC,(trans)\r
+    000003D5 09                     588        ADD     HL,BC\r
+    000003D6 46                     589        LD      B,(HL)\r
+    000003D7 23                     590        INC     HL\r
+    000003D8 66                     591        LD      H,(HL)\r
+    000003D9 68                     592        LD      L,B\r
+    000003DA                        593 ?0043:\r
+    000003DA E5                     594        PUSH    HL\r
+    000003DB FD E1                  595        POP     IY\r
+    000003DD                        596 ?0031:\r
+    000003DD 7D                     597        LD      A,L\r
+    000003DE B4                     598        OR      H\r
+    000003DF 28 13                  599        JR      Z,?0030\r
+    000003E1                        600 ?0032:\r
+    000003E1 FD E5                  601        PUSH    IY\r
+    000003E3 D1                     602        POP     DE\r
+    000003E4 3E 00                  603        LD      A,BYTE3 free\r
+    000003E6 21 00 00               604        LD      HL,LWRD free\r
+    000003E9 CD 00 00               605        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000003EC FD 6E 14               606        LD      L,(IY+20)\r
+    000003EF FD 66 15               607        LD      H,(IY+21)\r
+    000003F2 18 E6                  608        JR      ?0043\r
+    000003F4                        609 ?0030:\r
+    000003F4 21 06 00               610        LD      HL,6\r
+    000003F7 ED 4B 00 00            611        LD      BC,(trans)\r
+    000003FB 09                     612        ADD     HL,BC\r
+    000003FC E5                     613        PUSH    HL\r
+    000003FD CD 6A 00               614        CALL    LWRD ?0046\r
+    00000400 EB                     615        EX      DE,HL\r
+    00000401 E1                     616        POP     HL\r
+    00000402 73                     617        LD      (HL),E\r
+    00000403 23                     618        INC     HL\r
+    00000404 72                     619        LD      (HL),D\r
+    00000405 21 06 00               620        LD      HL,6\r
+    00000408 ED 4B 00 00            621        LD      BC,(trans)\r
+    0000040C 09                     622        ADD     HL,BC\r
+    0000040D 56                     623        LD      D,(HL)\r
+    0000040E 23                     624        INC     HL\r
+    0000040F 66                     625        LD      H,(HL)\r
+    00000410 6A                     626        LD      L,D\r
+    00000411 11 14 00               627        LD      DE,20\r
+    00000414 19                     628        ADD     HL,DE\r
+    00000415 AF                     629        XOR     A\r
+    00000416 77                     630        LD      (HL),A\r
+    00000417 23                     631        INC     HL\r
+    00000418 77                     632        LD      (HL),A\r
+    00000419 21 06 00               633        LD      HL,6\r
+    0000041C ED 4B 00 00            634        LD      BC,(trans)\r
+    00000420 09                     635        ADD     HL,BC\r
+    00000421 7E                     636        LD      A,(HL)\r
+    00000422 23                     637        INC     HL\r
+    00000423 66                     638        LD      H,(HL)\r
+    00000424 6F                     639        LD      L,A\r
+    00000425 72                     640        LD      (HL),D\r
+    00000426 21 06 00               641        LD      HL,6\r
+    00000429 ED 4B 00 00            642        LD      BC,(trans)\r
+    0000042D 09                     643        ADD     HL,BC\r
+    0000042E 56                     644        LD      D,(HL)\r
+    0000042F 23                     645        INC     HL\r
+    00000430 66                     646        LD      H,(HL)\r
+    00000431 6A                     647        LD      L,D\r
+    00000432 11 0E 00               648        LD      DE,14\r
+    00000435 19                     649        ADD     HL,DE\r
+    00000436 AF                     650        XOR     A\r
+    00000437 77                     651        LD      (HL),A\r
+    00000438 23                     652        INC     HL\r
+    00000439 77                     653        LD      (HL),A\r
+    0000043A 21 06 00               654        LD      HL,6\r
+    0000043D ED 4B 00 00            655        LD      BC,(trans)\r
+    00000441 09                     656        ADD     HL,BC\r
+    00000442 46                     657        LD      B,(HL)\r
+    00000443 23                     658        INC     HL\r
+    00000444 66                     659        LD      H,(HL)\r
+    00000445 68                     660        LD      L,B\r
+    00000446 01 10 00               661        LD      BC,16\r
+    00000449 09                     662        ADD     HL,BC\r
+    0000044A 77                     663        LD      (HL),A\r
+    0000044B 23                     664        INC     HL\r
+    0000044C 77                     665        LD      (HL),A\r
+    0000044D 23                     666        INC     HL\r
+    0000044E 77                     667        LD      (HL),A\r
+    0000044F 23                     668        INC     HL\r
+    00000450 77                     669        LD      (HL),A\r
+    00000451                        670 ?0017:\r
+    00000451 DD 6E 9E               671        LD      L,(IX-98)\r
+    00000454 DD 66 9F               672        LD      H,(IX-97)\r
+    00000457 23                     673        INC     HL\r
+    00000458 23                     674        INC     HL\r
+    00000459 23                     675        INC     HL\r
+    0000045A 46                     676        LD      B,(HL)\r
+    0000045B 23                     677        INC     HL\r
+    0000045C 66                     678        LD      H,(HL)\r
+    0000045D 68                     679        LD      L,B\r
+    0000045E 01 1F 10               680        LD      BC,4127\r
+    00000461 A7                     681        AND     A\r
+    00000462 ED 42                  682        SBC     HL,BC\r
+    00000464 C2 7F 05               683        JP      NZ,?0034\r
+    00000467                        684 ?0033:\r
+    00000467 21 06 00               685        LD      HL,6\r
+    0000046A ED 4B 00 00            686        LD      BC,(trans)\r
+    0000046E 09                     687        ADD     HL,BC\r
+    0000046F 46                     688        LD      B,(HL)\r
+    00000470 23                     689        INC     HL\r
+    00000471 66                     690        LD      H,(HL)\r
+    00000472 68                     691        LD      L,B\r
+    00000473                        692 ?0044:\r
+    00000473 DD 75 A0               693        LD      (IX-96),L\r
+    00000476 DD 74 A1               694        LD      (IX-95),H\r
+    00000479                        695 ?0036:\r
+    00000479 21 14 00               696        LD      HL,20\r
+    0000047C DD 4E A0               697        LD      C,(IX-96)\r
+    0000047F DD 46 A1               698        LD      B,(IX-95)\r
+    00000482 09                     699        ADD     HL,BC\r
+    00000483 7E                     700        LD      A,(HL)\r
+    00000484 23                     701        INC     HL\r
+    00000485 B6                     702        OR      (HL)\r
+    00000486 28 0A                  703        JR      Z,?0035\r
+    00000488                        704 ?0037:\r
+    00000488 21 14 00               705        LD      HL,20\r
+    0000048B 09                     706        ADD     HL,BC\r
+    0000048C 56                     707        LD      D,(HL)\r
+    0000048D 23                     708        INC     HL\r
+    0000048E 66                     709        LD      H,(HL)\r
+    0000048F 6A                     710        LD      L,D\r
+    00000490 18 E1                  711        JR      ?0044\r
+    00000492                        712 ?0035:\r
+    00000492 21 07 00               713        LD      HL,7\r
+    00000495 DD 4E 9E               714        LD      C,(IX-98)\r
+    00000498 DD 46 9F               715        LD      B,(IX-97)\r
+    0000049B 09                     716        ADD     HL,BC\r
+    0000049C 6E                     717        LD      L,(HL)\r
+    0000049D 67                     718        LD      H,A\r
+    0000049E E5                     719        PUSH    HL\r
+    0000049F 2A 00 00               720        LD      HL,(trans)\r
+    000004A2 C1                     721        POP     BC\r
+    000004A3 71                     722        LD      (HL),C\r
+    000004A4 23                     723        INC     HL\r
+    000004A5 70                     724        LD      (HL),B\r
+    000004A6 2A 00 00               725        LD      HL,(trans)\r
+    000004A9 23                     726        INC     HL\r
+    000004AA 23                     727        INC     HL\r
+    000004AB E5                     728        PUSH    HL\r
+    000004AC 21 07 00               729        LD      HL,7\r
+    000004AF DD 4E 9E               730        LD      C,(IX-98)\r
+    000004B2 DD 46 9F               731        LD      B,(IX-97)\r
+    000004B5 09                     732        ADD     HL,BC\r
+    000004B6 5E                     733        LD      E,(HL)\r
+    000004B7 23                     734        INC     HL\r
+    000004B8 56                     735        LD      D,(HL)\r
+    000004B9 23                     736        INC     HL\r
+    000004BA 4E                     737        LD      C,(HL)\r
+    000004BB 23                     738        INC     HL\r
+    000004BC 46                     739        LD      B,(HL)\r
+    000004BD EB                     740        EX      DE,HL\r
+    000004BE 3E 08                  741        LD      A,8\r
+    000004C0 CD 00 00               742        CALL    LWRD ?SL_RSH_L03\r
+    000004C3 06 00                  743        LD      B,0\r
+    000004C5 4D                     744        LD      C,L\r
+    000004C6 E1                     745        POP     HL\r
+    000004C7 71                     746        LD      (HL),C\r
+    000004C8 23                     747        INC     HL\r
+    000004C9 70                     748        LD      (HL),B\r
+    000004CA 21 04 00               749        LD      HL,4\r
+    000004CD ED 4B 00 00            750        LD      BC,(trans)\r
+    000004D1 09                     751        ADD     HL,BC\r
+    000004D2 E5                     752        PUSH    HL\r
+    000004D3 21 07 00               753        LD      HL,7\r
+    000004D6 DD 5E 9E               754        LD      E,(IX-98)\r
+    000004D9 DD 56 9F               755        LD      D,(IX-97)\r
+    000004DC 19                     756        ADD     HL,DE\r
+    000004DD 5E                     757        LD      E,(HL)\r
+    000004DE 23                     758        INC     HL\r
+    000004DF 56                     759        LD      D,(HL)\r
+    000004E0 23                     760        INC     HL\r
+    000004E1 4E                     761        LD      C,(HL)\r
+    000004E2 23                     762        INC     HL\r
+    000004E3 46                     763        LD      B,(HL)\r
+    000004E4 EB                     764        EX      DE,HL\r
+    000004E5 3E 10                  765        LD      A,16\r
+    000004E7 CD 00 00               766        CALL    LWRD ?SL_RSH_L03\r
+    000004EA 06 00                  767        LD      B,0\r
+    000004EC 4D                     768        LD      C,L\r
+    000004ED E1                     769        POP     HL\r
+    000004EE 71                     770        LD      (HL),C\r
+    000004EF 23                     771        INC     HL\r
+    000004F0 70                     772        LD      (HL),B\r
+    000004F1 2A 00 00               773        LD      HL,(trans)\r
+    000004F4 CD 84 05               774        CALL    LWRD ?0047\r
+    000004F7 01 94 00               775        LD      BC,?0038\r
+    000004FA CD 00 00               776        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000004FD 2A 00 00               777        LD      HL,(trans)\r
+    00000500 23                     778        INC     HL\r
+    00000501 23                     779        INC     HL\r
+    00000502 CD 84 05               780        CALL    LWRD ?0047\r
+    00000505 01 9C 00               781        LD      BC,?0039\r
+    00000508 CD 00 00               782        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000050B 21 04 00               783        LD      HL,4\r
+    0000050E ED 5B 00 00            784        LD      DE,(trans)\r
+    00000512 19                     785        ADD     HL,DE\r
+    00000513 CD 84 05               786        CALL    LWRD ?0047\r
+    00000516 01 A2 00               787        LD      BC,?0040\r
+    00000519 CD 00 00               788        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000051C 21 11 00               789        LD      HL,17\r
+    0000051F DD 4E 02               790        LD      C,(IX+2)\r
+    00000522 DD 46 03               791        LD      B,(IX+3)\r
+    00000525 09                     792        ADD     HL,BC\r
+    00000526 5E                     793        LD      E,(HL)\r
+    00000527 23                     794        INC     HL\r
+    00000528 56                     795        LD      D,(HL)\r
+    00000529 21 11 00               796        LD      HL,17\r
+    0000052C 09                     797        ADD     HL,BC\r
+    0000052D 46                     798        LD      B,(HL)\r
+    0000052E 23                     799        INC     HL\r
+    0000052F 66                     800        LD      H,(HL)\r
+    00000530 68                     801        LD      L,B\r
+    00000531 01 1A 00               802        LD      BC,26\r
+    00000534 CD A7 05               803        CALL    LWRD ?0049\r
+    00000537 21 14 00               804        LD      HL,20\r
+    0000053A DD 4E A0               805        LD      C,(IX-96)\r
+    0000053D DD 46 A1               806        LD      B,(IX-95)\r
+    00000540 09                     807        ADD     HL,BC\r
+    00000541 E5                     808        PUSH    HL\r
+    00000542 CD 6A 00               809        CALL    LWRD ?0046\r
+    00000545 EB                     810        EX      DE,HL\r
+    00000546 E1                     811        POP     HL\r
+    00000547 73                     812        LD      (HL),E\r
+    00000548 23                     813        INC     HL\r
+    00000549 72                     814        LD      (HL),D\r
+    0000054A 21 14 00               815        LD      HL,20\r
+    0000054D 09                     816        ADD     HL,BC\r
+    0000054E 56                     817        LD      D,(HL)\r
+    0000054F 23                     818        INC     HL\r
+    00000550 66                     819        LD      H,(HL)\r
+    00000551 6A                     820        LD      L,D\r
+    00000552 DD 75 A0               821        LD      (IX-96),L\r
+    00000555 DD 74 A1               822        LD      (IX-95),H\r
+    00000558 01 14 00               823        LD      BC,20\r
+    0000055B 09                     824        ADD     HL,BC\r
+    0000055C AF                     825        XOR     A\r
+    0000055D 77                     826        LD      (HL),A\r
+    0000055E 23                     827        INC     HL\r
+    0000055F 77                     828        LD      (HL),A\r
+    00000560 DD 6E A0               829        LD      L,(IX-96)\r
+    00000563 DD 66 A1               830        LD      H,(IX-95)\r
+    00000566 70                     831        LD      (HL),B\r
+    00000567 21 0E 00               832        LD      HL,14\r
+    0000056A DD 4E A0               833        LD      C,(IX-96)\r
+    0000056D DD 46 A1               834        LD      B,(IX-95)\r
+    00000570 09                     835        ADD     HL,BC\r
+    00000571 77                     836        LD      (HL),A\r
+    00000572 23                     837        INC     HL\r
+    00000573 77                     838        LD      (HL),A\r
+    00000574 21 10 00               839        LD      HL,16\r
+    00000577 09                     840        ADD     HL,BC\r
+    00000578 77                     841        LD      (HL),A\r
+    00000579 23                     842        INC     HL\r
+    0000057A 77                     843        LD      (HL),A\r
+    0000057B 23                     844        INC     HL\r
+    0000057C 77                     845        LD      (HL),A\r
+    0000057D 23                     846        INC     HL\r
+    0000057E 77                     847        LD      (HL),A\r
+    0000057F                        848 ?0034:\r
+    0000057F FD E1                  849        POP     IY\r
+    00000581 C3 00 00               850        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000584                        851 ?0047:\r
+    00000584 4E                     852        LD      C,(HL)\r
+    00000585 23                     853        INC     HL\r
+    00000586 46                     854        LD      B,(HL)\r
+    00000587 21 11 00               855        LD      HL,17\r
+    0000058A DD 5E 02               856        LD      E,(IX+2)\r
+    0000058D DD 56 03               857        LD      D,(IX+3)\r
+    00000590 19                     858        ADD     HL,DE\r
+    00000591 5E                     859        LD      E,(HL)\r
+    00000592 23                     860        INC     HL\r
+    00000593 56                     861        LD      D,(HL)\r
+    00000594 3E 00                  862        LD      A,BYTE3 Component_find\r
+    00000596 21 00 00               863        LD      HL,LWRD Component_find\r
+    00000599 CD 00 00               864        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000059C EB                     865        EX      DE,HL\r
+    0000059D 3E 00                  866        LD      A,BYTE3 Component_setlabel\r
+    0000059F 21 00 00               867        LD      HL,LWRD Component_setlabel\r
+    000005A2 C9                     868        RET\r
+    000005A3                        869 ?0048:\r
+    000005A3 42                     870        LD      B,D\r
+    000005A4 21 1A 00               871        LD      HL,26\r
+    000005A7                        872 ?0049:\r
+    000005A7 09                     873        ADD     HL,BC\r
+    000005A8 4E                     874        LD      C,(HL)\r
+    000005A9 23                     875        INC     HL\r
+    000005AA 46                     876        LD      B,(HL)\r
+    000005AB 23                     877        INC     HL\r
+    000005AC 7E                     878        LD      A,(HL)\r
+    000005AD 69                     879        LD      L,C\r
+    000005AE 60                     880        LD      H,B\r
+    000005AF C3 00 00               881        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000005B2                        882 ?0050:\r
+    000005B2 3E 00                  883        LD      A,BYTE3 sprintf\r
+    000005B4 21 00 00               884        LD      HL,LWRD sprintf\r
+    000005B7 C3 00 00               885        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000005BA                        886 ?0051:\r
+    000005BA FD 4E 12               887        LD      C,(IY+18)\r
+    000005BD FD 46 13               888        LD      B,(IY+19)\r
+    000005C0 FD 6E 10               889        LD      L,(IY+16)\r
+    000005C3 FD 66 11               890        LD      H,(IY+17)\r
+    000005C6 C3 00 00               891        JP      LWRD ?SL_MOD_L03\r
+    000005C9                        892 ?0052:\r
+    000005C9 FD 4E 12               893        LD      C,(IY+18)\r
+    000005CC FD 46 13               894        LD      B,(IY+19)\r
+    000005CF FD 6E 10               895        LD      L,(IY+16)\r
+    000005D2 FD 66 11               896        LD      H,(IY+17)\r
+    000005D5 C3 00 00               897        JP      LWRD ?SL_DIV_L03\r
+    000005D8                        898 ?0053:\r
+    000005D8 FD 4E 12               899        LD      C,(IY+18)\r
+    000005DB FD 46 13               900        LD      B,(IY+19)\r
+    000005DE FD 6E 10               901        LD      L,(IY+16)\r
+    000005E1 FD 66 11               902        LD      H,(IY+17)\r
+    000005E4 C3 00 00               903        JP      LWRD ?L_MUL_L03\r
+    000005E7                        904 ?0054:\r
+    000005E7 4D                     905        LD      C,L\r
+    000005E8 44                     906        LD      B,H\r
+    000005E9 DD 5E A0               907        LD      E,(IX-96)\r
+    000005EC DD 56 A1               908        LD      D,(IX-95)\r
+    000005EF 3E 00                  909        LD      A,BYTE3 _write\r
+    000005F1 21 00 00               910        LD      HL,LWRD _write\r
+    000005F4 C3 00 00               911        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+                                    912        RSEG    CSTR\r
+    00000000                        913 ?0009:\r
+    00000000 00                     914        DEFB    0\r
+    00000001                        915 ?0018:\r
+    00000001 2F 64 65 76 2F 70 72   916        DEFB    '/dev/printer'\r
              69 6E 74 65 72\r
-    00000021 00                    1018        DEFB    0\r
-    00000022                       1019 ?0029:\r
-    00000022 25 31 33 73 20 56 65  1020        DEFB    '%13s Verkoopartikel  |%7ld,%02ld'\r
+    0000000D 00                     917        DEFB    0\r
+    0000000E                        918 ?0026:\r
+    0000000E 25 31 33 73 20 56 65   919        DEFB    '%13s Verkoopartikel  |%7ld,%02ld'\r
              72 6B 6F 6F 70 61 72\r
              74 69 6B 65 6C 20 20\r
              7C 25 37 6C 64 2C 25\r
              30 32 6C 64\r
-    00000042 0D 0A 00              1021        DEFB    13,10,0\r
-    00000045                       1022 ?0031:\r
-    00000045 25 31 33 73 20 56 65  1023        DEFB    '%13s Verkoopartikel'\r
+    0000002E 0D 0A 00               920        DEFB    13,10,0\r
+    00000031                        921 ?0028:\r
+    00000031 25 31 33 73 20 56 65   922        DEFB    '%13s Verkoopartikel'\r
              72 6B 6F 6F 70 61 72\r
              74 69 6B 65 6C\r
-    00000058 0D 0A                 1024        DEFB    13,10\r
-    0000005A 25 34 64 78 20 40 20  1025        DEFB    '%4dx @ | %7ld,%02ld          |%7ld,%02ld'\r
+    00000044 0D 0A                  923        DEFB    13,10\r
+    00000046 25 34 64 78 20 40 20   924        DEFB    '%4dx @ | %7ld,%02ld          |%7ld,%02ld'\r
              7C 20 25 37 6C 64 2C\r
              25 30 32 6C 64 20 20\r
              20 20 20 20 20 20 20\r
              20 7C 25 37 6C 64 2C\r
              25 30 32 6C 64\r
-    00000082 0D 0A 00              1026        DEFB    13,10,0\r
-    00000085                       1027 ?0032:\r
-    00000085 0D 0A                 1028        DEFB    13,10\r
-    00000087 25 31 33 73 54 6F 74  1029        DEFB    '%13sTotaal:%10s|%7ld,%02ld'\r
+    0000006E 0D 0A 00               925        DEFB    13,10,0\r
+    00000071                        926 ?0029:\r
+    00000071 0D 0A                  927        DEFB    13,10\r
+    00000073 25 31 33 73 54 6F 74   928        DEFB    '%13sTotaal:%10s|%7ld,%02ld'\r
              61 61 6C 3A 25 31 30\r
              73 7C 25 37 6C 64 2C\r
              25 30 32 6C 64\r
-    000000A1 0D 0A 0D 0A 0D 0A 00  1030        DEFB    13,10,13,10,13,10,0\r
-                                   1031        RSEG    UDATA0\r
-    00000000                       1032 trans:\r
-    00000000                       1033        DEFS    2\r
-    00000002                       1034        END\r
+    0000008D 0D 0A 0D 0A 0D 0A 00   929        DEFB    13,10,13,10,13,10,0\r
+    00000094                        930 ?0038:\r
+    00000094 42 61 72 63 6F 64 65   931        DEFB    'Barcode'\r
+    0000009B 00                     932        DEFB    0\r
+    0000009C                        933 ?0039:\r
+    0000009C 53 74 75 6B 73         934        DEFB    'Stuks'\r
+    000000A1 00                     935        DEFB    0\r
+    000000A2                        936 ?0040:\r
+    000000A2 50 72 69 6A 73         937        DEFB    'Prijs'\r
+    000000A7 00                     938        DEFB    0\r
+                                    939        RSEG    UDATA0\r
+    00000000                        940 trans:\r
+    00000000                        941        DEFS    2\r
+    00000002                        942        END\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
 Hexadecimal [32-Bits]\r
 \r
 Symbol Table\r
 \r
     .__.ABS.       =    00000000 G   |   1 ?0000               00000096 R\r
-  1 ?0001               0000009E R   |   1 ?0002               000000AD R\r
-  1 ?0003               00000111 R   |   2 ?0004               00000000 R\r
-  2 ?0005               00000008 R   |   2 ?0006               0000000E R\r
-  1 ?0007               0000013F R   |   1 ?0008               00000256 R\r
-  1 ?0009               0000013F R   |   1 ?0010               0000013F R\r
-  1 ?0011               0000016A R   |   1 ?0012               00000151 R\r
-  1 ?0013               00000160 R   |   2 ?0014               00000014 R\r
-  1 ?0015               0000024C R   |   1 ?0016               000001DD R\r
-  1 ?0017               000001FA R   |   1 ?0018               0000021F R\r
-  1 ?0019               0000026C R   |   1 ?0020               000004B3 R\r
-  2 ?0021               00000015 R   |   1 ?0022               000003C8 R\r
-  1 ?0023               000002DE R   |   1 ?0024               000002E6 R\r
-  1 ?0025               000002EF R   |   1 ?0026               000003BC R\r
-  1 ?0027               000002F9 R   |   1 ?0028               00000322 R\r
-  2 ?0029               00000022 R   |   1 ?0030               0000038C R\r
-  2 ?0031               00000045 R   |   2 ?0032               00000085 R\r
-  1 ?0033               00000456 R   |   1 ?0034               0000043F R\r
-  1 ?0035               00000443 R   |   1 ?0036               000004C9 R\r
-  1 ?0037               000005D2 R   |   1 ?0038               000004F4 R\r
-  1 ?0039               000004DB R   |   1 ?0040               000004EA R\r
-  1 ?0041               0000014B R   |   1 ?0042               00000249 R\r
-  1 ?0043               0000038A R   |   1 ?0044               0000043C R\r
-  1 ?0045               000004D5 R   |   1 ?0046               0000006D R\r
-  1 ?0047               0000006A R   |   1 ?0048               000005D7 R\r
-  1 ?0049               000005EB R   |   1 ?0050               000005F2 R\r
-  1 ?0051               00000612 R   |   1 ?0052               0000062F R\r
-  1 ?0053               00000643 R   |   1 ?0054               00000647 R\r
-  1 ?0055               00000652 R   |   1 ?0056               0000065A R\r
-  1 ?0057               00000669 R   |   1 ?0058               00000678 R\r
-  1 ?0059               00000687 R   |     ?BANK_CALL_DIR      ******** GX\r
-    ?BANK_FAST_LEA      ******** GX  |     ?BANK_LEAVE_DI      ******** GX\r
-    ?CL64180B_4_06      ******** GX  |     ?ENT_AUTO_DIRE      ******** GX\r
-    ?L_ADDASG_L03       ******** GX  |     ?L_MUL_L03          ******** GX\r
-    ?SL_DIV_L03         ******** GX  |     ?SL_MOD_L03         ******** GX\r
-    ?SL_RSH_L03         ******** GX  |     ?SS_CMP_L02         ******** GX\r
-    ?S_S_SWITCH_L0      ******** GX  |     Component_find      ******** GX\r
-    Component_setl      ******** GX  |   1 Transaction_ha      00000075 GR\r
-  1 Transaction_in      00000000 GR  |     _write              ******** GX\r
-    atoi                ******** GX  |     atol                ******** GX\r
-    close               ******** GX  |     free                ******** GX\r
-    ioctl               ******** GX  |     malloc              ******** GX\r
-    open                ******** GX  |     sprintf             ******** GX\r
-    strcpy              ******** GX  |     strlen              ******** GX\r
-  3 trans               00000000 GR\r
+  1 ?0001               0000009E R   |   1 ?0002               000000CA R\r
+  1 ?0003               000001F4 R   |   1 ?0004               000000CA R\r
+  1 ?0005               000000CA R   |   1 ?0006               000000F5 R\r
+  1 ?0007               000000DC R   |   1 ?0008               000000EB R\r
+  2 ?0009               00000000 R   |   1 ?0010               000001EA R\r
+  1 ?0011               00000168 R   |   1 ?0012               00000185 R\r
+  1 ?0013               000001B3 R   |   1 ?0014               000001BB R\r
+  1 ?0015               000001BD R   |   1 ?0016               0000020A R\r
+  1 ?0017               00000451 R   |   2 ?0018               00000001 R\r
+  1 ?0019               00000366 R   |   1 ?0020               0000027C R\r
+  1 ?0021               00000284 R   |   1 ?0022               0000028D R\r
+  1 ?0023               0000035A R   |   1 ?0024               00000297 R\r
+  1 ?0025               000002C0 R   |   2 ?0026               0000000E R\r
+  1 ?0027               0000032A R   |   2 ?0028               00000031 R\r
+  2 ?0029               00000071 R   |   1 ?0030               000003F4 R\r
+  1 ?0031               000003DD R   |   1 ?0032               000003E1 R\r
+  1 ?0033               00000467 R   |   1 ?0034               0000057F R\r
+  1 ?0035               00000492 R   |   1 ?0036               00000479 R\r
+  1 ?0037               00000488 R   |   2 ?0038               00000094 R\r
+  2 ?0039               0000009C R   |   2 ?0040               000000A2 R\r
+  1 ?0041               000000D6 R   |   1 ?0042               00000328 R\r
+  1 ?0043               000003DA R   |   1 ?0044               00000473 R\r
+  1 ?0045               0000006D R   |   1 ?0046               0000006A R\r
+  1 ?0047               00000584 R   |   1 ?0048               000005A3 R\r
+  1 ?0049               000005A7 R   |   1 ?0050               000005B2 R\r
+  1 ?0051               000005BA R   |   1 ?0052               000005C9 R\r
+  1 ?0053               000005D8 R   |   1 ?0054               000005E7 R\r
+    ?BANK_CALL_DIR      ******** GX  |     ?BANK_FAST_LEA      ******** GX\r
+    ?BANK_LEAVE_DI      ******** GX  |     ?CL64180B_4_06      ******** GX\r
+    ?ENT_AUTO_DIRE      ******** GX  |     ?L_ADDASG_L03       ******** GX\r
+    ?L_MUL_L03          ******** GX  |     ?SL_DIV_L03         ******** GX\r
+    ?SL_MOD_L03         ******** GX  |     ?SL_RSH_L03         ******** GX\r
+    ?SS_CMP_L02         ******** GX  |     ?S_S_SWITCH_L0      ******** GX\r
+    Component_find      ******** GX  |     Component_setl      ******** GX\r
+  1 Transaction_ha      00000075 GR  |   1 Transaction_in      00000000 GR\r
+    _write              ******** GX  |     atoi                ******** GX\r
+    atol                ******** GX  |     close               ******** GX\r
+    free                ******** GX  |     ioctl               ******** GX\r
+    malloc              ******** GX  |     open                ******** GX\r
+    sprintf             ******** GX  |     strcpy              ******** GX\r
+    strlen              ******** GX  |   3 trans               00000000 GR\r
+\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
 Hexadecimal [32-Bits]\r
 \r
 Area Table\r
 \r
    0 _DEFAULT         size        0   flags   0\r
-   1 CODE             size      697   flags   0\r
+   1 CODE             size      5F7   flags   0\r
    2 CSTR             size       A8   flags   0\r
    3 UDATA0           size        2   flags   0\r
index 0fc49de..97ed7dc 100644 (file)
@@ -28,7 +28,7 @@ S malloc Ref00000000
 S Component_setlabel Ref00000000\r
 S .__.ABS. Def00000000\r
 A _DEFAULT size 0 flags 0\r
-A CODE size 697 flags 0\r
+A CODE size 5F7 flags 0\r
 S Transaction_handler Def00000075\r
 S Transaction_init Def00000000\r
 A CSTR size A8 flags 0\r
@@ -88,549 +88,495 @@ T 9C 00 00 00 00 00 00 00
 R 00 00 01 00 02 04 0B 00\r
 T 9E 00 00 00\r
 R 00 00 01 00\r
-T 9E 00 00 00 68 DD 66 9F 23 23 23 3E 10 23 AE\r
+T 9E 00 00 00 68 DD 66 9F 23 23 23 46 23 66 68\r
 R 00 00 01 00\r
-T A9 00 00 00 2B B6 20 64\r
+T A9 00 00 00 01 10 90 3E 80 AC 67 ED 42 DA\r
 R 00 00 01 00\r
-T AD 00 00 00\r
-R 00 00 01 00\r
-T AD 00 00 00 21 07 00 48 DD 46 9F 09 6E 67 E5\r
-R 00 00 01 00\r
-T B8 00 00 00 2A 00 00 00 00 C1 71 23 70 2A\r
-R 00 00 01 00 00 05 03 00\r
-T C0 00 00 00 00 00 00 00 23 23 E5 CD\r
-R 00 00 01 00 00 04 03 00\r
-T C6 00 00 00 D7 05 00 00 E1 71 23 70 21 04 00\r
-R 00 00 01 00 00 04 01 00\r
-T CF 00 00 00 ED 4B 00 00 00 00 09 E5 21 07 00\r
-R 00 00 01 00 00 06 03 00\r
-T D8 00 00 00 DD 5E 9E DD 56 9F 19 5E 23 56 23\r
-R 00 00 01 00\r
-T E3 00 00 00 4E 23 46 EB 3E 10 CD EB 05 00 00\r
-R 00 00 01 00 00 0B 01 00\r
-T EC 00 00 00 E1 71 23 70 2A 00 00 00 00 4E 23\r
-R 00 00 01 00 00 09 03 00\r
-T F5 00 00 00 46 DD 5E 02 DD 56 03 CD\r
-R 00 00 01 00\r
-T FD 00 00 00 12 06 00 00 DD 5E 02 DD 56 03 CD\r
+T B3 00 00 00 F4 01 00 00 DD 6E 9E DD 66 9F 23\r
 R 00 00 01 00 00 04 01 00\r
-T 06 01 00 00 F2 05 00 00 DD 5E 02 DD 56 03 CD\r
-R 00 00 01 00 00 04 01 00\r
-T 0F 01 00 00 2F 06 00 00\r
-R 00 00 01 00 00 04 01 00\r
-T 11 01 00 00\r
-R 00 00 01 00\r
-T 11 01 00 00 DD 6E 9E DD 66 9F 23 23 23 46 23\r
+T BC 00 00 00 23 23 4E 23 46 21 12 10 CD\r
 R 00 00 01 00\r
-T 1C 01 00 00 66 68 01 10 90 3E 80 AC 67 ED 42\r
-R 00 00 01 00\r
-T 27 01 00 00 DA 56 02 00 00 DD 6E 9E DD 66 9F\r
-R 00 00 01 00 00 05 01 00\r
-T 30 01 00 00 23 23 23 4E 23 46 21 12 10 CD\r
-R 00 00 01 00\r
-T 3A 01 00 00 00 00 00 00 DA 56 02 00 00\r
+T C5 00 00 00 00 00 00 00 DA F4 01 00 00\r
 R 00 00 01 00 02 04 13 00 00 09 01 00\r
-T 3F 01 00 00\r
+T CA 00 00 00\r
 R 00 00 01 00\r
-T 3F 01 00 00\r
+T CA 00 00 00\r
 R 00 00 01 00\r
-T 3F 01 00 00\r
+T CA 00 00 00\r
 R 00 00 01 00\r
-T 3F 01 00 00 21 06 00 ED 4B 00 00 00 00 09 46\r
+T CA 00 00 00 21 06 00 ED 4B 00 00 00 00 09 46\r
 R 00 00 01 00 00 09 03 00\r
-T 48 01 00 00 23 66 68\r
+T D3 00 00 00 23 66 68\r
 R 00 00 01 00\r
-T 4B 01 00 00\r
+T D6 00 00 00\r
 R 00 00 01 00\r
-T 4B 01 00 00 DD 75 A2 DD 74 A3\r
+T D6 00 00 00 DD 75 A2 DD 74 A3\r
 R 00 00 01 00\r
-T 51 01 00 00\r
+T DC 00 00 00\r
 R 00 00 01 00\r
-T 51 01 00 00 21 14 00 DD 4E A2 DD 46 A3 09 7E\r
+T DC 00 00 00 21 14 00 DD 4E A2 DD 46 A3 09 7E\r
 R 00 00 01 00\r
-T 5C 01 00 00 23 B6 28 0A\r
+T E7 00 00 00 23 B6 28 0A\r
 R 00 00 01 00\r
-T 60 01 00 00\r
+T EB 00 00 00\r
 R 00 00 01 00\r
-T 60 01 00 00 21 14 00 09 56 23 66 6A 18 E1\r
+T EB 00 00 00 21 14 00 09 56 23 66 6A 18 E1\r
 R 00 00 01 00\r
-T 6A 01 00 00\r
+T F5 00 00 00\r
 R 00 00 01 00\r
-T 6A 01 00 00 21 05 00 DD 4E 9E DD 46 9F 09 4E\r
+T F5 00 00 00 21 05 00 DD 4E 9E DD 46 9F 09 4E\r
 R 00 00 01 00\r
-T 75 01 00 00 23 46 21 11 00 DD 5E 02 DD 56 03\r
+T 00 01 00 00 23 46 21 11 00 DD 5E 02 DD 56 03\r
 R 00 00 01 00\r
-T 80 01 00 00 19 5E 23 56 3E 00 00 00 00 21\r
+T 0B 01 00 00 19 5E 23 56 3E 00 00 00 00 21\r
 R 00 00 01 00 2B 09 04 00\r
-T 87 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75\r
+T 12 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75\r
 R 00 00 01 00 02 04 04 00 02 09 0B 00\r
-T 8E 01 00 00 A0 DD 74 A1 01 20 00 09 4E 23 46\r
+T 19 01 00 00 A0 DD 74 A1 01 20 00 09 4E 23 46\r
 R 00 00 01 00\r
-T 99 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00\r
+T 24 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00\r
 R 00 00 01 00 2B 0B 18 00\r
-T A1 01 00 00 21 00 00 00 00 CD 00 00 00 00 01\r
+T 2C 01 00 00 21 00 00 00 00 CD 00 00 00 00 01\r
 R 00 00 01 00 02 05 18 00 02 0A 0B 00\r
-T A8 01 00 00 14 00 00 00 DD 5E A0 DD 56 A1 3E\r
+T 33 01 00 00 00 00 00 00 DD 5E A0 DD 56 A1 3E\r
 R 00 00 01 00 00 04 02 00\r
-T B1 01 00 00 00 00 00 00 21 00 00 00 00 CD\r
+T 3C 01 00 00 00 00 00 00 21 00 00 00 00 CD\r
 R 00 00 01 00 2B 04 18 00 02 09 18 00\r
-T B6 01 00 00 00 00 00 00 DD 5E A0 4B DD 56 A1\r
+T 41 01 00 00 00 00 00 00 DD 5E A0 4B DD 56 A1\r
 R 00 00 01 00 02 04 0B 00\r
-T BF 01 00 00 CD 43 06 00 00 DD 6E 9E DD 66 9F\r
+T 4A 01 00 00 CD A3 05 00 00 DD 6E 9E DD 66 9F\r
 R 00 00 01 00 00 05 01 00\r
-T C8 01 00 00 23 23 23 5E 23 56 CD 00 00 00 00\r
+T 53 01 00 00 23 23 23 5E 23 56 CD 00 00 00 00\r
 R 00 00 01 00 02 0B 0D 00\r
-T D1 01 00 00 10 10 03 00 4C 02 00 00\r
+T 5C 01 00 00 10 10 03 00 EA 01 00 00\r
 R 00 00 01 00 00 08 01 00\r
-T D7 01 00 00 DD 01 00 00 FA 01 00 00\r
+T 62 01 00 00 68 01 00 00 85 01 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T DB 01 00 00 1F 02 00 00\r
+T 66 01 00 00 BD 01 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T DD 01 00 00\r
+T 68 01 00 00\r
 R 00 00 01 00\r
-T DD 01 00 00 21 20 00 DD 4E 02 DD 46 03 09 4E\r
+T 68 01 00 00 21 20 00 DD 4E 02 DD 46 03 09 4E\r
 R 00 00 01 00\r
-T E8 01 00 00 23 46 DD 5E A2 DD 56 A3 3E\r
+T 73 01 00 00 23 46 DD 5E A2 DD 56 A3 3E\r
 R 00 00 01 00\r
-T F1 01 00 00 00 00 00 00 21 00 00 00 00 CD\r
+T 7C 01 00 00 00 00 00 00 21 00 00 00 00 CD\r
 R 00 00 01 00 2B 04 0C 00 02 09 0C 00\r
-T F6 01 00 00 00 00 00 00 18 52\r
+T 81 01 00 00 00 00 00 00 18 65\r
 R 00 00 01 00 02 04 0B 00\r
-T FA 01 00 00\r
+T 85 01 00 00\r
 R 00 00 01 00\r
-T FA 01 00 00 21 0E 00 DD 4E A2 DD 46 A3 09 E5\r
+T 85 01 00 00 21 0E 00 DD 4E A2 DD 46 A3 09 E5\r
 R 00 00 01 00\r
-T 05 02 00 00 21 20 00 DD 4E 02 DD 46 03 09 5E\r
+T 90 01 00 00 21 20 00 DD 5E 02 DD 56 03 19 5E\r
 R 00 00 01 00\r
-T 10 02 00 00 23 56 3E 00 00 00 00 21\r
+T 9B 01 00 00 23 56 3E 00 00 00 00 21\r
 R 00 00 01 00 2B 07 10 00\r
-T 15 02 00 00 00 00 00 00 CD 00 00 00 00 4D 44\r
+T A0 01 00 00 00 00 00 00 CD 00 00 00 00 EB E1\r
 R 00 00 01 00 02 04 10 00 02 09 0B 00\r
-T 1C 02 00 00 E1 18 2A\r
+T A7 01 00 00 73 23 72 21 0E 00 09 7E 23 B6 20\r
 R 00 00 01 00\r
-T 1F 02 00 00\r
+T B2 01 00 00 37\r
 R 00 00 01 00\r
-T 1F 02 00 00 21 20 00 DD 4E 02 DD 46 03 09 5E\r
+T B3 01 00 00\r
 R 00 00 01 00\r
-T 2A 02 00 00 23 56 3E 00 00 00 00 21\r
-R 00 00 01 00 2B 07 12 00\r
-T 2F 02 00 00 00 00 00 00 CD 00 00 00 00 7C 07\r
-R 00 00 01 00 02 04 12 00 02 09 0B 00\r
-T 36 02 00 00 9F 4F 41 E5 21 10 00 DD 5E A2 DD\r
+T B3 01 00 00 21 0E 00 09 36 01 23 77\r
 R 00 00 01 00\r
-T 41 02 00 00 56 A3 19 D1 73 23 72 23\r
+T BB 01 00 00\r
 R 00 00 01 00\r
-T 49 02 00 00\r
+T BB 01 00 00 18 2D\r
 R 00 00 01 00\r
-T 49 02 00 00 71 23 70\r
+T BD 01 00 00\r
 R 00 00 01 00\r
-T 4C 02 00 00\r
+T BD 01 00 00 21 20 00 DD 4E 02 DD 46 03 09 5E\r
 R 00 00 01 00\r
-T 4C 02 00 00 DD 5E 02 4B DD 56 03 CD\r
+T C8 01 00 00 23 56 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 07 12 00\r
+T CD 01 00 00 00 00 00 00 CD 00 00 00 00 7C 07\r
+R 00 00 01 00 02 04 12 00 02 09 0B 00\r
+T D4 01 00 00 9F 4F 41 E5 21 10 00 DD 5E A2 DD\r
+R 00 00 01 00\r
+T DF 01 00 00 56 A3 19 D1 73 23 72 23 71 23 70\r
+R 00 00 01 00\r
+T EA 01 00 00\r
 R 00 00 01 00\r
-T 54 02 00 00 43 06 00 00\r
+T EA 01 00 00 DD 5E 02 4B DD 56 03 CD\r
+R 00 00 01 00\r
+T F2 01 00 00 A3 05 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T 56 02 00 00\r
+T F4 01 00 00\r
 R 00 00 01 00\r
-T 56 02 00 00 DD 6E 9E DD 66 9F 23 23 23 46 23\r
+T F4 01 00 00 DD 6E 9E DD 66 9F 23 23 23 46 23\r
 R 00 00 01 00\r
-T 61 02 00 00 66 68 01 1E 10 A7 ED 42 C2\r
+T FF 01 00 00 66 68 01 1E 10 A7 ED 42 C2\r
 R 00 00 01 00\r
-T 6A 02 00 00 B3 04 00 00\r
+T 08 02 00 00 51 04 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T 6C 02 00 00\r
+T 0A 02 00 00\r
 R 00 00 01 00\r
-T 6C 02 00 00 AF DD 77 AC DD 77 AD DD 77 AE DD\r
+T 0A 02 00 00 AF DD 77 AC DD 77 AD DD 77 AE DD\r
 R 00 00 01 00\r
-T 77 02 00 00 77 AF 21 06 00 ED 4B 00 00 00 00\r
+T 15 02 00 00 77 AF 21 06 00 ED 4B 00 00 00 00\r
 R 00 00 01 00 00 0B 03 00\r
-T 80 02 00 00 09 46 23 66 68 E5 FD E1 21 01 00\r
+T 1E 02 00 00 09 46 23 66 68 E5 FD E1 21 01 00\r
 R 00 00 01 00\r
-T 8B 02 00 00 E5 21 15 00 00 00 E5 3E\r
+T 29 02 00 00 E5 21 01 00 00 00 E5 3E\r
 R 00 00 01 00 00 06 02 00\r
-T 91 02 00 00 00 00 00 00 21 00 00 00 00 CD\r
+T 2F 02 00 00 00 00 00 00 21 00 00 00 00 CD\r
 R 00 00 01 00 2B 04 14 00 02 09 14 00\r
-T 96 02 00 00 00 00 00 00 F1 F1 DD 75 A0 DD 74\r
+T 34 02 00 00 00 00 00 00 F1 F1 DD 75 A0 DD 74\r
 R 00 00 01 00 02 04 0B 00\r
-T 9F 02 00 00 A1 21 08 00 39 E5 21 00 00 E5 DD\r
+T 3D 02 00 00 A1 21 08 00 39 E5 21 00 00 E5 DD\r
 R 00 00 01 00\r
-T AA 02 00 00 6E A0 DD 66 A1 E5 3E 00 00 00 00\r
+T 48 02 00 00 6E A0 DD 66 A1 E5 3E 00 00 00 00\r
 R 00 00 01 00 2B 0B 08 00\r
-T B2 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1\r
+T 50 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1\r
 R 00 00 01 00 02 05 08 00 02 0A 0B 00\r
-T B9 02 00 00 F1 F1 DD 36 A8 60 DD 36 A9 00 21\r
+T 57 02 00 00 F1 F1 DD 36 A8 60 DD 36 A9 00 21\r
 R 00 00 01 00\r
-T C4 02 00 00 08 00 39 E5 21 01 00 E5 DD 6E A0\r
+T 62 02 00 00 08 00 39 E5 21 01 00 E5 DD 6E A0\r
 R 00 00 01 00\r
-T CF 02 00 00 DD 66 A1 E5 3E 00 00 00 00 21\r
+T 6D 02 00 00 DD 66 A1 E5 3E 00 00 00 00 21\r
 R 00 00 01 00 2B 09 08 00\r
-T D6 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
+T 74 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
 R 00 00 01 00 02 04 08 00 02 09 0B 00\r
-T DD 02 00 00 F1\r
+T 7B 02 00 00 F1\r
 R 00 00 01 00\r
-T DE 02 00 00\r
+T 7C 02 00 00\r
 R 00 00 01 00\r
-T DE 02 00 00 FD E5 E1 7D B4 CA C8 03 00 00\r
+T 7C 02 00 00 FD E5 E1 7D B4 CA 66 03 00 00\r
 R 00 00 01 00 00 0A 01 00\r
-T E6 02 00 00\r
+T 84 02 00 00\r
 R 00 00 01 00\r
-T E6 02 00 00 FD 7E 0E FD B6 0F CA BC 03 00 00\r
+T 84 02 00 00 FD 7E 0E FD B6 0F CA 5A 03 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T EF 02 00 00\r
+T 8D 02 00 00\r
 R 00 00 01 00\r
-T EF 02 00 00 3E 01 FD AE 0E FD B6 0F 20 29\r
+T 8D 02 00 00 3E 01 FD AE 0E FD B6 0F 20 29\r
 R 00 00 01 00\r
-T F9 02 00 00\r
+T 97 02 00 00\r
 R 00 00 01 00\r
-T F9 02 00 00 6F 67 E5 2E 64 E5 CD 5A 06 00 00\r
+T 97 02 00 00 6F 67 E5 2E 64 E5 CD BA 05 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 02 03 00 00 C5 E5 6F 67 E5 2E 64 E5 CD\r
+T A0 02 00 00 C5 E5 6F 67 E5 2E 64 E5 CD\r
 R 00 00 01 00\r
-T 0B 03 00 00 69 06 00 00 C5 E5 FD E5 21\r
+T A9 02 00 00 C9 05 00 00 C5 E5 FD E5 21\r
 R 00 00 01 00 00 04 01 00\r
-T 12 03 00 00 22 00 00 00 E5 21 20 00 39 E5 CD\r
+T B0 02 00 00 0E 00 00 00 E5 21 20 00 39 E5 CD\r
 R 00 00 01 00 00 04 02 00\r
-T 1B 03 00 00 52 06 00 00 21 0E 00 18 68\r
+T B9 02 00 00 B2 05 00 00 21 0E 00 18 68\r
 R 00 00 01 00 00 04 01 00\r
-T 22 03 00 00\r
+T C0 02 00 00\r
 R 00 00 01 00\r
-T 22 03 00 00 21 00 00 E5 2E 64 E5 FD 6E 0E FD\r
+T C0 02 00 00 21 00 00 E5 2E 64 E5 FD 6E 0E FD\r
 R 00 00 01 00\r
-T 2D 03 00 00 66 0F 7C 07 9F 4F 41 C5 E5 CD\r
+T CB 02 00 00 66 0F 7C 07 9F 4F 41 C5 E5 CD\r
 R 00 00 01 00\r
-T 37 03 00 00 78 06 00 00 CD 00 00 00 00 C5 E5\r
+T D5 02 00 00 D8 05 00 00 CD 00 00 00 00 C5 E5\r
 R 00 00 01 00 00 04 01 00 02 09 0E 00\r
-T 3E 03 00 00 21 00 00 E5 2E 64 E5 FD 6E 0E FD\r
+T DC 02 00 00 21 00 00 E5 2E 64 E5 FD 6E 0E FD\r
 R 00 00 01 00\r
-T 49 03 00 00 66 0F 7C 07 9F 4F 41 C5 E5 CD\r
+T E7 02 00 00 66 0F 7C 07 9F 4F 41 C5 E5 CD\r
 R 00 00 01 00\r
-T 53 03 00 00 78 06 00 00 CD 00 00 00 00 C5 E5\r
+T F1 02 00 00 D8 05 00 00 CD 00 00 00 00 C5 E5\r
 R 00 00 01 00 00 04 01 00 02 09 11 00\r
-T 5A 03 00 00 21 00 00 E5 2E 64 E5 CD\r
+T F8 02 00 00 21 00 00 E5 2E 64 E5 CD\r
 R 00 00 01 00\r
-T 62 03 00 00 5A 06 00 00 C5 E5 21 00 00 E5 2E\r
+T 00 03 00 00 BA 05 00 00 C5 E5 21 00 00 E5 2E\r
 R 00 00 01 00 00 04 01 00\r
-T 6B 03 00 00 64 E5 CD 69 06 00 00 C5 E5 FD 6E\r
+T 09 03 00 00 64 E5 CD C9 05 00 00 C5 E5 FD 6E\r
 R 00 00 01 00 00 07 01 00\r
-T 74 03 00 00 0E FD 66 0F E5 FD E5 21\r
+T 12 03 00 00 0E FD 66 0F E5 FD E5 21\r
 R 00 00 01 00\r
-T 7C 03 00 00 45 00 00 00 E5 21 2A 00 39 E5 CD\r
+T 1A 03 00 00 31 00 00 00 E5 21 2A 00 39 E5 CD\r
 R 00 00 01 00 00 04 02 00\r
-T 85 03 00 00 52 06 00 00 21 18 00\r
+T 23 03 00 00 B2 05 00 00 21 18 00\r
 R 00 00 01 00 00 04 01 00\r
-T 8A 03 00 00\r
+T 28 03 00 00\r
 R 00 00 01 00\r
-T 8A 03 00 00 39 F9\r
+T 28 03 00 00 39 F9\r
 R 00 00 01 00\r
-T 8C 03 00 00\r
+T 2A 03 00 00\r
 R 00 00 01 00\r
-T 8C 03 00 00 21 10 00 39 E5 FD 5E 0E FD 56 0F\r
+T 2A 03 00 00 21 10 00 39 E5 FD 5E 0E FD 56 0F\r
 R 00 00 01 00\r
-T 97 03 00 00 7A 07 9F 4F 41 C5 D5 CD\r
+T 35 03 00 00 7A 07 9F 4F 41 C5 D5 CD\r
 R 00 00 01 00\r
-T 9F 03 00 00 78 06 00 00 EB E1 CD 00 00 00 00\r
+T 3D 03 00 00 D8 05 00 00 EB E1 CD 00 00 00 00\r
 R 00 00 01 00 00 04 01 00 02 0B 09 00\r
-T A6 03 00 00 21 14 00 39 EB 3E 00 00 00 00 21\r
+T 44 03 00 00 21 14 00 39 EB 3E 00 00 00 00 21\r
 R 00 00 01 00 2B 0A 07 00\r
-T AE 03 00 00 00 00 00 00 CD 00 00 00 00 E5 21\r
+T 4C 03 00 00 00 00 00 00 CD 00 00 00 00 E5 21\r
 R 00 00 01 00 02 04 07 00 02 09 0B 00\r
-T B5 03 00 00 16 00 39 CD 87 06 00 00 F1\r
+T 53 03 00 00 16 00 39 CD E7 05 00 00 F1\r
 R 00 00 01 00 00 08 01 00\r
-T BC 03 00 00\r
+T 5A 03 00 00\r
 R 00 00 01 00\r
-T BC 03 00 00 FD 6E 14 FD 66 15 E5 FD E1 C3\r
+T 5A 03 00 00 FD 6E 14 FD 66 15 E5 FD E1 C3\r
 R 00 00 01 00\r
-T C6 03 00 00 DE 02 00 00\r
+T 64 03 00 00 7C 02 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T C8 03 00 00\r
+T 66 03 00 00\r
 R 00 00 01 00\r
-T C8 03 00 00 6F 67 E5 2E 64 E5 DD 4E AE DD 46\r
+T 66 03 00 00 6F 67 E5 2E 64 E5 DD 4E AE DD 46\r
 R 00 00 01 00\r
-T D3 03 00 00 AF DD 6E AC DD 66 AD CD\r
+T 71 03 00 00 AF DD 6E AC DD 66 AD CD\r
 R 00 00 01 00\r
-T DB 03 00 00 00 00 00 00 C5 E5 6F 67 E5 2E 64\r
+T 79 03 00 00 00 00 00 00 C5 E5 6F 67 E5 2E 64\r
 R 00 00 01 00 02 04 0E 00\r
-T E4 03 00 00 E5 DD 4E AE DD 46 AF DD 6E AC DD\r
+T 82 03 00 00 E5 DD 4E AE DD 46 AF DD 6E AC DD\r
 R 00 00 01 00\r
-T EF 03 00 00 66 AD CD 00 00 00 00 C5 E5 21\r
+T 8D 03 00 00 66 AD CD 00 00 00 00 C5 E5 21\r
 R 00 00 01 00 02 07 11 00\r
-T F7 03 00 00 14 00 00 00 E5 E5 21 85 00 00 00\r
+T 95 03 00 00 00 00 00 00 E5 E5 21 71 00 00 00\r
 R 00 00 01 00 00 04 02 00 00 0B 02 00\r
-T FE 03 00 00 E5 21 22 00 39 E5 CD 52 06 00 00\r
+T 9C 03 00 00 E5 21 22 00 39 E5 CD B2 05 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 07 04 00 00 21 10 00 39 F9 21 14 00 39 EB 3E\r
+T A5 03 00 00 21 10 00 39 F9 21 14 00 39 EB 3E\r
 R 00 00 01 00\r
-T 12 04 00 00 00 00 00 00 21 00 00 00 00 CD\r
+T B0 03 00 00 00 00 00 00 21 00 00 00 00 CD\r
 R 00 00 01 00 2B 04 07 00 02 09 07 00\r
-T 17 04 00 00 00 00 00 00 E5 21 16 00 39 CD\r
+T B5 03 00 00 00 00 00 00 E5 21 16 00 39 CD\r
 R 00 00 01 00 02 04 0B 00\r
-T 1F 04 00 00 87 06 00 00 F1 DD 5E A0 DD 56 A1\r
+T BD 03 00 00 E7 05 00 00 F1 DD 5E A0 DD 56 A1\r
 R 00 00 01 00 00 04 01 00\r
-T 28 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
+T C6 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
 R 00 00 01 00 2B 05 06 00 02 0A 06 00\r
-T 2E 04 00 00 00 00 00 00 21 06 00 ED 4B\r
+T CC 03 00 00 00 00 00 00 21 06 00 ED 4B\r
 R 00 00 01 00 02 04 0B 00\r
-T 35 04 00 00 00 00 00 00 09 46 23 66 68\r
+T D3 03 00 00 00 00 00 00 09 46 23 66 68\r
 R 00 00 01 00 00 04 03 00\r
-T 3C 04 00 00\r
+T DA 03 00 00\r
 R 00 00 01 00\r
-T 3C 04 00 00 E5 FD E1\r
+T DA 03 00 00 E5 FD E1\r
 R 00 00 01 00\r
-T 3F 04 00 00\r
+T DD 03 00 00\r
 R 00 00 01 00\r
-T 3F 04 00 00 7D B4 28 13\r
+T DD 03 00 00 7D B4 28 13\r
 R 00 00 01 00\r
-T 43 04 00 00\r
+T E1 03 00 00\r
 R 00 00 01 00\r
-T 43 04 00 00 FD E5 D1 3E 00 00 00 00 21\r
+T E1 03 00 00 FD E5 D1 3E 00 00 00 00 21\r
 R 00 00 01 00 2B 08 0A 00\r
-T 49 04 00 00 00 00 00 00 CD 00 00 00 00 FD 6E\r
+T E7 03 00 00 00 00 00 00 CD 00 00 00 00 FD 6E\r
 R 00 00 01 00 02 04 0A 00 02 09 0B 00\r
-T 50 04 00 00 14 FD 66 15 18 E6\r
+T EE 03 00 00 14 FD 66 15 18 E6\r
 R 00 00 01 00\r
-T 56 04 00 00\r
+T F4 03 00 00\r
 R 00 00 01 00\r
-T 56 04 00 00 21 06 00 ED 4B 00 00 00 00 09 E5\r
+T F4 03 00 00 21 06 00 ED 4B 00 00 00 00 09 E5\r
 R 00 00 01 00 00 09 03 00\r
-T 5F 04 00 00 CD 6A 00 00 00 EB E1 73 23 72 21\r
+T FD 03 00 00 CD 6A 00 00 00 EB E1 73 23 72 21\r
 R 00 00 01 00 00 05 01 00\r
-T 68 04 00 00 06 00 ED 4B 00 00 00 00 09 56 23\r
+T 06 04 00 00 06 00 ED 4B 00 00 00 00 09 56 23\r
 R 00 00 01 00 00 08 03 00\r
-T 71 04 00 00 66 6A 11 14 00 19 AF 77 23 77 21\r
+T 0F 04 00 00 66 6A 11 14 00 19 AF 77 23 77 21\r
 R 00 00 01 00\r
-T 7C 04 00 00 06 00 ED 4B 00 00 00 00 09 7E 23\r
+T 1A 04 00 00 06 00 ED 4B 00 00 00 00 09 7E 23\r
 R 00 00 01 00 00 08 03 00\r
-T 85 04 00 00 66 6F 72 21 06 00 ED 4B\r
+T 23 04 00 00 66 6F 72 21 06 00 ED 4B\r
 R 00 00 01 00\r
-T 8D 04 00 00 00 00 00 00 09 56 23 66 6A 11\r
+T 2B 04 00 00 00 00 00 00 09 56 23 66 6A 11\r
 R 00 00 01 00 00 04 03 00\r
-T 95 04 00 00 0E 00 19 AF 77 23 77 21 06 00 ED\r
+T 33 04 00 00 0E 00 19 AF 77 23 77 21 06 00 ED\r
 R 00 00 01 00\r
-T A0 04 00 00 4B 00 00 00 00 09 46 23 66 68 01\r
+T 3E 04 00 00 4B 00 00 00 00 09 46 23 66 68 01\r
 R 00 00 01 00 00 05 03 00\r
-T A9 04 00 00 10 00 09 77 23 77 23 77 23 77\r
+T 47 04 00 00 10 00 09 77 23 77 23 77 23 77\r
 R 00 00 01 00\r
-T B3 04 00 00\r
+T 51 04 00 00\r
 R 00 00 01 00\r
-T B3 04 00 00 DD 6E 9E DD 66 9F 23 23 23 46 23\r
+T 51 04 00 00 DD 6E 9E DD 66 9F 23 23 23 46 23\r
 R 00 00 01 00\r
-T BE 04 00 00 66 68 01 1F 10 A7 ED 42 C2\r
+T 5C 04 00 00 66 68 01 1F 10 A7 ED 42 C2\r
 R 00 00 01 00\r
-T C7 04 00 00 D2 05 00 00\r
+T 65 04 00 00 7F 05 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T C9 04 00 00\r
+T 67 04 00 00\r
 R 00 00 01 00\r
-T C9 04 00 00 21 06 00 ED 4B 00 00 00 00 09 46\r
+T 67 04 00 00 21 06 00 ED 4B 00 00 00 00 09 46\r
 R 00 00 01 00 00 09 03 00\r
-T D2 04 00 00 23 66 68\r
+T 70 04 00 00 23 66 68\r
 R 00 00 01 00\r
-T D5 04 00 00\r
+T 73 04 00 00\r
 R 00 00 01 00\r
-T D5 04 00 00 DD 75 A0 DD 74 A1\r
+T 73 04 00 00 DD 75 A0 DD 74 A1\r
 R 00 00 01 00\r
-T DB 04 00 00\r
+T 79 04 00 00\r
 R 00 00 01 00\r
-T DB 04 00 00 21 14 00 DD 4E A0 DD 46 A1 09 7E\r
+T 79 04 00 00 21 14 00 DD 4E A0 DD 46 A1 09 7E\r
 R 00 00 01 00\r
-T E6 04 00 00 23 B6 28 0A\r
+T 84 04 00 00 23 B6 28 0A\r
 R 00 00 01 00\r
-T EA 04 00 00\r
+T 88 04 00 00\r
 R 00 00 01 00\r
-T EA 04 00 00 21 14 00 09 56 23 66 6A 18 E1\r
+T 88 04 00 00 21 14 00 09 56 23 66 6A 18 E1\r
 R 00 00 01 00\r
-T F4 04 00 00\r
+T 92 04 00 00\r
 R 00 00 01 00\r
-T F4 04 00 00 21 07 00 DD 4E 9E DD 46 9F 09 6E\r
+T 92 04 00 00 21 07 00 DD 4E 9E DD 46 9F 09 6E\r
 R 00 00 01 00\r
-T FF 04 00 00 67 E5 2A 00 00 00 00 C1 71 23 70\r
+T 9D 04 00 00 67 E5 2A 00 00 00 00 C1 71 23 70\r
 R 00 00 01 00 00 07 03 00\r
-T 08 05 00 00 2A 00 00 00 00 23 23 E5 CD\r
+T A6 04 00 00 2A 00 00 00 00 23 23 E5 21 07 00\r
 R 00 00 01 00 00 05 03 00\r
-T 0F 05 00 00 D7 05 00 00 E1 71 23 70 21 04 00\r
-R 00 00 01 00 00 04 01 00\r
-T 18 05 00 00 ED 4B 00 00 00 00 09 E5 21 07 00\r
-R 00 00 01 00 00 06 03 00\r
-T 21 05 00 00 DD 5E 9E DD 56 9F 19 5E 23 56 23\r
+T AF 04 00 00 DD 4E 9E DD 46 9F 09 5E 23 56 23\r
 R 00 00 01 00\r
-T 2C 05 00 00 4E 23 46 EB 3E 10 CD EB 05 00 00\r
-R 00 00 01 00 00 0B 01 00\r
-T 35 05 00 00 E1 71 23 70 2A 00 00 00 00 4E 23\r
-R 00 00 01 00 00 09 03 00\r
-T 3E 05 00 00 46 21 11 00 DD 5E 02 DD 56 03 19\r
+T BA 04 00 00 4E 23 46 EB 3E 08 CD 00 00 00 00\r
+R 00 00 01 00 02 0B 16 00\r
+T C3 04 00 00 06 00 4D E1 71 23 70 21 04 00 ED\r
 R 00 00 01 00\r
-T 49 05 00 00 5E 23 56 CD 12 06 00 00 21 11 00\r
-R 00 00 01 00 00 08 01 00\r
-T 52 05 00 00 DD 5E 02 DD 56 03 19 5E 23 56 CD\r
+T CE 04 00 00 4B 00 00 00 00 09 E5 21 07 00 DD\r
+R 00 00 01 00 00 05 03 00\r
+T D7 04 00 00 5E 9E DD 56 9F 19 5E 23 56 23 4E\r
 R 00 00 01 00\r
-T 5D 05 00 00 F2 05 00 00 21 11 00 DD 5E 02 DD\r
-R 00 00 01 00 00 04 01 00\r
-T 66 05 00 00 56 03 19 5E 23 56 CD 2F 06 00 00\r
-R 00 00 01 00 00 0B 01 00\r
-T 6F 05 00 00 21 11 00 DD 4E 02 DD 46 03 09 5E\r
+T E2 04 00 00 23 46 EB 3E 10 CD 00 00 00 00 06\r
+R 00 00 01 00 02 0A 16 00\r
+T EB 04 00 00 00 4D E1 71 23 70 2A 00 00 00 00\r
+R 00 00 01 00 00 0B 03 00\r
+T F4 04 00 00 CD 84 05 00 00 01 94 00 00 00 CD\r
+R 00 00 01 00 00 05 01 00 00 0A 02 00\r
+T FB 04 00 00 00 00 00 00 2A 00 00 00 00 23 23\r
+R 00 00 01 00 02 04 0B 00 00 09 03 00\r
+T 02 05 00 00 CD 84 05 00 00 01 9C 00 00 00 CD\r
+R 00 00 01 00 00 05 01 00 00 0A 02 00\r
+T 09 05 00 00 00 00 00 00 21 04 00 ED 5B\r
+R 00 00 01 00 02 04 0B 00\r
+T 10 05 00 00 00 00 00 00 19 CD 84 05 00 00 01\r
+R 00 00 01 00 00 04 03 00 00 0A 01 00\r
+T 17 05 00 00 A2 00 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 04 02 00 02 09 0B 00\r
+T 1D 05 00 00 11 00 DD 4E 02 DD 46 03 09 5E 23\r
 R 00 00 01 00\r
-T 7A 05 00 00 23 56 21 11 00 09 46 23 66 68 01\r
+T 28 05 00 00 56 21 11 00 09 46 23 66 68 01\r
 R 00 00 01 00\r
-T 85 05 00 00 1A 00 CD 47 06 00 00 21 14 00 DD\r
+T 32 05 00 00 1A 00 CD A7 05 00 00 21 14 00 DD\r
 R 00 00 01 00 00 07 01 00\r
-T 8E 05 00 00 4E A0 DD 46 A1 09 E5 CD\r
+T 3B 05 00 00 4E A0 DD 46 A1 09 E5 CD\r
 R 00 00 01 00\r
-T 96 05 00 00 6A 00 00 00 EB E1 73 23 72 21\r
+T 43 05 00 00 6A 00 00 00 EB E1 73 23 72 21\r
 R 00 00 01 00 00 04 01 00\r
-T 9E 05 00 00 14 00 09 56 23 66 6A DD 75 A0 DD\r
+T 4B 05 00 00 14 00 09 56 23 66 6A DD 75 A0 DD\r
 R 00 00 01 00\r
-T A9 05 00 00 74 A1 01 14 00 09 AF 77 23 77 DD\r
+T 56 05 00 00 74 A1 01 14 00 09 AF 77 23 77 DD\r
 R 00 00 01 00\r
-T B4 05 00 00 6E A0 DD 66 A1 70 21 0E 00 DD 4E\r
+T 61 05 00 00 6E A0 DD 66 A1 70 21 0E 00 DD 4E\r
 R 00 00 01 00\r
-T BF 05 00 00 A0 DD 46 A1 09 77 23 77 21 10 00\r
+T 6C 05 00 00 A0 DD 46 A1 09 77 23 77 21 10 00\r
 R 00 00 01 00\r
-T CA 05 00 00 09 77 23 77 23 77 23 77\r
+T 77 05 00 00 09 77 23 77 23 77 23 77\r
 R 00 00 01 00\r
-T D2 05 00 00\r
+T 7F 05 00 00\r
 R 00 00 01 00\r
-T D2 05 00 00 FD E1 C3 00 00 00 00\r
+T 7F 05 00 00 FD E1 C3 00 00 00 00\r
 R 00 00 01 00 02 07 05 00\r
-T D7 05 00 00\r
-R 00 00 01 00\r
-T D7 05 00 00 21 07 00 DD 4E 9E DD 46 9F 09 5E\r
-R 00 00 01 00\r
-T E2 05 00 00 23 56 23 4E 23 46 EB 3E 08\r
+T 84 05 00 00\r
 R 00 00 01 00\r
-T EB 05 00 00\r
+T 84 05 00 00 4E 23 46 21 11 00 DD 5E 02 DD 56\r
 R 00 00 01 00\r
-T EB 05 00 00 CD 00 00 00 00 06 00 4D C9\r
-R 00 00 01 00 02 05 16 00\r
-T F2 05 00 00\r
-R 00 00 01 00\r
-T F2 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 05 04 00 02 0A 04 00\r
-T F8 05 00 00 00 00 00 00 EB 3E 00 00 00 00 21\r
-R 00 00 01 00 02 04 0B 00 2B 0A 18 00\r
-T FE 05 00 00 00 00 00 00 01 08 00 00 00 CD\r
-R 00 00 01 00 02 04 18 00 00 09 02 00\r
-T 04 06 00 00 00 00 00 00 21 04 00 ED 5B\r
-R 00 00 01 00 02 04 0B 00\r
-T 0B 06 00 00 00 00 00 00 19 4E 23 46 C9\r
-R 00 00 01 00 00 04 03 00\r
-T 12 06 00 00\r
-R 00 00 01 00\r
-T 12 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 05 04 00 02 0A 04 00\r
-T 18 06 00 00 00 00 00 00 EB 3E 00 00 00 00 21\r
-R 00 00 01 00 02 04 0B 00 2B 0A 18 00\r
-T 1E 06 00 00 00 00 00 00 01 00 00 00 00 CD\r
-R 00 00 01 00 02 04 18 00 00 09 02 00\r
-T 24 06 00 00 00 00 00 00 2A 00 00 00 00 23 23\r
-R 00 00 01 00 02 04 0B 00 00 09 03 00\r
-T 2B 06 00 00 4E 23 46 C9\r
-R 00 00 01 00\r
-T 2F 06 00 00\r
-R 00 00 01 00\r
-T 2F 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 05 04 00 02 0A 04 00\r
-T 35 06 00 00 00 00 00 00 EB 3E 00 00 00 00 21\r
-R 00 00 01 00 02 04 0B 00 2B 0A 18 00\r
-T 3B 06 00 00 00 00 00 00 01 0E 00 00 00 C3\r
-R 00 00 01 00 02 04 18 00 00 09 02 00\r
-T 41 06 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0B 00\r
-T 43 06 00 00\r
+T 8F 05 00 00 03 19 5E 23 56 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 0A 04 00\r
+T 97 05 00 00 00 00 00 00 CD 00 00 00 00 EB 3E\r
+R 00 00 01 00 02 04 04 00 02 09 0B 00\r
+T 9E 05 00 00 00 00 00 00 21 00 00 00 00 C9\r
+R 00 00 01 00 2B 04 18 00 02 09 18 00\r
+T A3 05 00 00\r
 R 00 00 01 00\r
-T 43 06 00 00 42 21 1A 00\r
+T A3 05 00 00 42 21 1A 00\r
 R 00 00 01 00\r
-T 47 06 00 00\r
+T A7 05 00 00\r
 R 00 00 01 00\r
-T 47 06 00 00 09 4E 23 46 23 7E 69 60 C3\r
+T A7 05 00 00 09 4E 23 46 23 7E 69 60 C3\r
 R 00 00 01 00\r
-T 50 06 00 00 00 00 00 00\r
+T B0 05 00 00 00 00 00 00\r
 R 00 00 01 00 02 04 0B 00\r
-T 52 06 00 00\r
+T B2 05 00 00\r
 R 00 00 01 00\r
-T 52 06 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+T B2 05 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
 R 00 00 01 00 2B 05 01 00 02 0A 01 00\r
-T 58 06 00 00 00 00 00 00\r
+T B8 05 00 00 00 00 00 00\r
 R 00 00 01 00 02 04 0B 00\r
-T 5A 06 00 00\r
+T BA 05 00 00\r
 R 00 00 01 00\r
-T 5A 06 00 00 FD 4E 12 FD 46 13 FD 6E 10 FD 66\r
+T BA 05 00 00 FD 4E 12 FD 46 13 FD 6E 10 FD 66\r
 R 00 00 01 00\r
-T 65 06 00 00 11 C3 00 00 00 00\r
+T C5 05 00 00 11 C3 00 00 00 00\r
 R 00 00 01 00 02 06 0E 00\r
-T 69 06 00 00\r
+T C9 05 00 00\r
 R 00 00 01 00\r
-T 69 06 00 00 FD 4E 12 FD 46 13 FD 6E 10 FD 66\r
+T C9 05 00 00 FD 4E 12 FD 46 13 FD 6E 10 FD 66\r
 R 00 00 01 00\r
-T 74 06 00 00 11 C3 00 00 00 00\r
+T D4 05 00 00 11 C3 00 00 00 00\r
 R 00 00 01 00 02 06 11 00\r
-T 78 06 00 00\r
+T D8 05 00 00\r
 R 00 00 01 00\r
-T 78 06 00 00 FD 4E 12 FD 46 13 FD 6E 10 FD 66\r
+T D8 05 00 00 FD 4E 12 FD 46 13 FD 6E 10 FD 66\r
 R 00 00 01 00\r
-T 83 06 00 00 11 C3 00 00 00 00\r
+T E3 05 00 00 11 C3 00 00 00 00\r
 R 00 00 01 00 02 06 00 00\r
-T 87 06 00 00\r
+T E7 05 00 00\r
 R 00 00 01 00\r
-T 87 06 00 00 4D 44 DD 5E A0 DD 56 A1 3E\r
+T E7 05 00 00 4D 44 DD 5E A0 DD 56 A1 3E\r
 R 00 00 01 00\r
-T 90 06 00 00 00 00 00 00 21 00 00 00 00 C3\r
+T F0 05 00 00 00 00 00 00 21 00 00 00 00 C3\r
 R 00 00 01 00 2B 04 03 00 02 09 03 00\r
-T 95 06 00 00 00 00 00 00\r
+T F5 05 00 00 00 00 00 00\r
 R 00 00 01 00 02 04 0B 00\r
 T 00 00 00 00\r
 R 00 00 02 00\r
-T 00 00 00 00 42 61 72 63 6F 64 65 00\r
+T 00 00 00 00 00\r
 R 00 00 02 00\r
-T 08 00 00 00\r
+T 01 00 00 00\r
 R 00 00 02 00\r
-T 08 00 00 00 53 74 75 6B 73 00\r
+T 01 00 00 00 2F 64 65 76 2F 70 72 69 6E 74 65\r
 R 00 00 02 00\r
-T 0E 00 00 00\r
+T 0C 00 00 00 72 00\r
 R 00 00 02 00\r
-T 0E 00 00 00 50 72 69 6A 73 00\r
+T 0E 00 00 00\r
 R 00 00 02 00\r
-T 14 00 00 00\r
+T 0E 00 00 00 25 31 33 73 20 56 65 72 6B 6F 6F\r
 R 00 00 02 00\r
-T 14 00 00 00 00\r
+T 19 00 00 00 70 61 72 74 69 6B 65 6C 20 20 7C\r
 R 00 00 02 00\r
-T 15 00 00 00\r
+T 24 00 00 00 25 37 6C 64 2C 25 30 32 6C 64 0D\r
 R 00 00 02 00\r
-T 15 00 00 00 2F 64 65 76 2F 70 72 69 6E 74 65\r
+T 2F 00 00 00 0A 00\r
 R 00 00 02 00\r
-T 20 00 00 00 72 00\r
+T 31 00 00 00\r
 R 00 00 02 00\r
-T 22 00 00 00\r
+T 31 00 00 00 25 31 33 73 20 56 65 72 6B 6F 6F\r
 R 00 00 02 00\r
-T 22 00 00 00 25 31 33 73 20 56 65 72 6B 6F 6F\r
+T 3C 00 00 00 70 61 72 74 69 6B 65 6C 0D 0A 25\r
 R 00 00 02 00\r
-T 2D 00 00 00 70 61 72 74 69 6B 65 6C 20 20 7C\r
+T 47 00 00 00 34 64 78 20 40 20 7C 20 25 37 6C\r
 R 00 00 02 00\r
-T 38 00 00 00 25 37 6C 64 2C 25 30 32 6C 64 0D\r
+T 52 00 00 00 64 2C 25 30 32 6C 64 20 20 20 20\r
 R 00 00 02 00\r
-T 43 00 00 00 0A 00\r
+T 5D 00 00 00 20 20 20 20 20 20 7C 25 37 6C 64\r
 R 00 00 02 00\r
-T 45 00 00 00\r
+T 68 00 00 00 2C 25 30 32 6C 64 0D 0A 00\r
 R 00 00 02 00\r
-T 45 00 00 00 25 31 33 73 20 56 65 72 6B 6F 6F\r
+T 71 00 00 00\r
 R 00 00 02 00\r
-T 50 00 00 00 70 61 72 74 69 6B 65 6C 0D 0A 25\r
+T 71 00 00 00 0D 0A 25 31 33 73 54 6F 74 61 61\r
 R 00 00 02 00\r
-T 5B 00 00 00 34 64 78 20 40 20 7C 20 25 37 6C\r
+T 7C 00 00 00 6C 3A 25 31 30 73 7C 25 37 6C 64\r
 R 00 00 02 00\r
-T 66 00 00 00 64 2C 25 30 32 6C 64 20 20 20 20\r
+T 87 00 00 00 2C 25 30 32 6C 64 0D 0A 0D 0A 0D\r
 R 00 00 02 00\r
-T 71 00 00 00 20 20 20 20 20 20 7C 25 37 6C 64\r
+T 92 00 00 00 0A 00\r
 R 00 00 02 00\r
-T 7C 00 00 00 2C 25 30 32 6C 64 0D 0A 00\r
+T 94 00 00 00\r
 R 00 00 02 00\r
-T 85 00 00 00\r
+T 94 00 00 00 42 61 72 63 6F 64 65 00\r
 R 00 00 02 00\r
-T 85 00 00 00 0D 0A 25 31 33 73 54 6F 74 61 61\r
+T 9C 00 00 00\r
 R 00 00 02 00\r
-T 90 00 00 00 6C 3A 25 31 30 73 7C 25 37 6C 64\r
+T 9C 00 00 00 53 74 75 6B 73 00\r
 R 00 00 02 00\r
-T 9B 00 00 00 2C 25 30 32 6C 64 0D 0A 0D 0A 0D\r
+T A2 00 00 00\r
 R 00 00 02 00\r
-T A6 00 00 00 0A 00\r
+T A2 00 00 00 50 72 69 6A 73 00\r
 R 00 00 02 00\r
 T 00 00 00 00\r
 R 00 00 03 00\r
index d97f1ab..7891e0b 100644 (file)
                                      31        EXTERN  ?BANK_FAST_LEAVE_L08\r
                                      32        EXTERN  ?ENT_AUTO_DIRECT_L09\r
                                      33        RSEG    CODE\r
-    00006946                         34 Transaction_init:\r
-    00006946 C5                      35        PUSH    BC\r
-    00006947 D5                      36        PUSH    DE\r
-    00006948 11 08 00                37        LD      DE,8\r
-    0000694B CD B3 69                38        CALL    LWRD ?0046\r
-    0000694E 22 41 87                39        LD      (trans),HL\r
-    00006951 01 06 00                40        LD      BC,6\r
-    00006954 09                      41        ADD     HL,BC\r
-    00006955 E5                      42        PUSH    HL\r
-    00006956 CD B0 69                43        CALL    LWRD ?0047\r
-    00006959 4D                      44        LD      C,L\r
-    0000695A 44                      45        LD      B,H\r
-    0000695B E1                      46        POP     HL\r
-    0000695C 71                      47        LD      (HL),C\r
-    0000695D 23                      48        INC     HL\r
-    0000695E 70                      49        LD      (HL),B\r
-    0000695F 21 06 00                50        LD      HL,6\r
-    00006962 ED 4B 41 87             51        LD      BC,(trans)\r
-    00006966 09                      52        ADD     HL,BC\r
-    00006967 56                      53        LD      D,(HL)\r
-    00006968 23                      54        INC     HL\r
-    00006969 66                      55        LD      H,(HL)\r
-    0000696A 6A                      56        LD      L,D\r
-    0000696B 11 14 00                57        LD      DE,20\r
-    0000696E 19                      58        ADD     HL,DE\r
-    0000696F AF                      59        XOR     A\r
-    00006970 77                      60        LD      (HL),A\r
-    00006971 23                      61        INC     HL\r
-    00006972 77                      62        LD      (HL),A\r
-    00006973 21 06 00                63        LD      HL,6\r
-    00006976 ED 4B 41 87             64        LD      BC,(trans)\r
-    0000697A 09                      65        ADD     HL,BC\r
-    0000697B 7E                      66        LD      A,(HL)\r
-    0000697C 23                      67        INC     HL\r
-    0000697D 66                      68        LD      H,(HL)\r
-    0000697E 6F                      69        LD      L,A\r
-    0000697F 72                      70        LD      (HL),D\r
-    00006980 21 06 00                71        LD      HL,6\r
-    00006983 ED 4B 41 87             72        LD      BC,(trans)\r
-    00006987 09                      73        ADD     HL,BC\r
-    00006988 56                      74        LD      D,(HL)\r
-    00006989 23                      75        INC     HL\r
-    0000698A 66                      76        LD      H,(HL)\r
-    0000698B 6A                      77        LD      L,D\r
-    0000698C 11 0E 00                78        LD      DE,14\r
-    0000698F 19                      79        ADD     HL,DE\r
-    00006990 AF                      80        XOR     A\r
-    00006991 77                      81        LD      (HL),A\r
-    00006992 23                      82        INC     HL\r
-    00006993 77                      83        LD      (HL),A\r
-    00006994 21 06 00                84        LD      HL,6\r
-    00006997 ED 4B 41 87             85        LD      BC,(trans)\r
-    0000699B 09                      86        ADD     HL,BC\r
-    0000699C 46                      87        LD      B,(HL)\r
-    0000699D 23                      88        INC     HL\r
-    0000699E 66                      89        LD      H,(HL)\r
-    0000699F 68                      90        LD      L,B\r
-    000069A0 01 10 00                91        LD      BC,16\r
-    000069A3 09                      92        ADD     HL,BC\r
-    000069A4 77                      93        LD      (HL),A\r
-    000069A5 23                      94        INC     HL\r
-    000069A6 77                      95        LD      (HL),A\r
-    000069A7 23                      96        INC     HL\r
-    000069A8 77                      97        LD      (HL),A\r
-    000069A9 23                      98        INC     HL\r
-    000069AA 77                      99        LD      (HL),A\r
-    000069AB D1                     100        POP     DE\r
-    000069AC C1                     101        POP     BC\r
-    000069AD C3 A9 81               102        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000069B0                        103 ?0047:\r
-    000069B0 11 16 00               104        LD      DE,22\r
-    000069B3                        105 ?0046:\r
-    000069B3 3E 01                  106        LD      A,BYTE3 malloc\r
-    000069B5 21 00 40               107        LD      HL,LWRD malloc\r
-    000069B8 C3 FB 81               108        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    000069BB                        109 Transaction_handler:\r
-    000069BB CD 7A 82               110        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000069BE 9E FF                  111        DEFW    65438\r
-    000069C0 FD E5                  112        PUSH    IY\r
-    000069C2 21 26 00               113        LD      HL,38\r
-    000069C5 DD 4E 02               114        LD      C,(IX+2)\r
-    000069C8 DD 46 03               115        LD      B,(IX+3)\r
-    000069CB 09                     116        ADD     HL,BC\r
-    000069CC 46                     117        LD      B,(HL)\r
-    000069CD DD 70 9E               118        LD      (IX-98),B\r
-    000069D0 23                     119        INC     HL\r
-    000069D1 66                     120        LD      H,(HL)\r
-    000069D2 DD 74 9F               121        LD      (IX-97),H\r
-    000069D5 2A 41 87               122        LD      HL,(trans)\r
-    000069D8 7D                     123        LD      A,L\r
-    000069D9 B4                     124        OR      H\r
-    000069DA 20 08                  125        JR      NZ,?0001\r
-    000069DC                        126 ?0000:\r
-    000069DC 3E 00                  127        LD      A,BYTE3 Transaction_init\r
-    000069DE 21 46 69               128        LD      HL,LWRD Transaction_init\r
-    000069E1 CD FB 81               129        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000069E4                        130 ?0001:\r
-    000069E4 68                     131        LD      L,B\r
-    000069E5 DD 66 9F               132        LD      H,(IX-97)\r
-    000069E8 23                     133        INC     HL\r
-    000069E9 23                     134        INC     HL\r
-    000069EA 23                     135        INC     HL\r
-    000069EB 3E 10                  136        LD      A,16\r
-    000069ED 23                     137        INC     HL\r
-    000069EE AE                     138        XOR     (HL)\r
-    000069EF 2B                     139        DEC     HL\r
-    000069F0 B6                     140        OR      (HL)\r
-    000069F1 20 64                  141        JR      NZ,?0003\r
-    000069F3                        142 ?0002:\r
-    000069F3 21 07 00               143        LD      HL,7\r
-    000069F6 48                     144        LD      C,B\r
-    000069F7 DD 46 9F               145        LD      B,(IX-97)\r
-    000069FA 09                     146        ADD     HL,BC\r
-    000069FB 6E                     147        LD      L,(HL)\r
-    000069FC 67                     148        LD      H,A\r
-    000069FD E5                     149        PUSH    HL\r
-    000069FE 2A 41 87               150        LD      HL,(trans)\r
-    00006A01 C1                     151        POP     BC\r
-    00006A02 71                     152        LD      (HL),C\r
-    00006A03 23                     153        INC     HL\r
-    00006A04 70                     154        LD      (HL),B\r
-    00006A05 2A 41 87               155        LD      HL,(trans)\r
-    00006A08 23                     156        INC     HL\r
-    00006A09 23                     157        INC     HL\r
-    00006A0A E5                     158        PUSH    HL\r
-    00006A0B CD 1D 6F               159        CALL    LWRD ?0048\r
-    00006A0E E1                     160        POP     HL\r
-    00006A0F 71                     161        LD      (HL),C\r
-    00006A10 23                     162        INC     HL\r
-    00006A11 70                     163        LD      (HL),B\r
-    00006A12 21 04 00               164        LD      HL,4\r
-    00006A15 ED 4B 41 87            165        LD      BC,(trans)\r
-    00006A19 09                     166        ADD     HL,BC\r
-    00006A1A E5                     167        PUSH    HL\r
-    00006A1B 21 07 00               168        LD      HL,7\r
-    00006A1E DD 5E 9E               169        LD      E,(IX-98)\r
-    00006A21 DD 56 9F               170        LD      D,(IX-97)\r
-    00006A24 19                     171        ADD     HL,DE\r
-    00006A25 5E                     172        LD      E,(HL)\r
-    00006A26 23                     173        INC     HL\r
-    00006A27 56                     174        LD      D,(HL)\r
-    00006A28 23                     175        INC     HL\r
-    00006A29 4E                     176        LD      C,(HL)\r
-    00006A2A 23                     177        INC     HL\r
-    00006A2B 46                     178        LD      B,(HL)\r
-    00006A2C EB                     179        EX      DE,HL\r
-    00006A2D 3E 10                  180        LD      A,16\r
-    00006A2F CD 31 6F               181        CALL    LWRD ?0049\r
-    00006A32 E1                     182        POP     HL\r
-    00006A33 71                     183        LD      (HL),C\r
-    00006A34 23                     184        INC     HL\r
-    00006A35 70                     185        LD      (HL),B\r
-    00006A36 2A 41 87               186        LD      HL,(trans)\r
-    00006A39 4E                     187        LD      C,(HL)\r
-    00006A3A 23                     188        INC     HL\r
-    00006A3B 46                     189        LD      B,(HL)\r
-    00006A3C DD 5E 02               190        LD      E,(IX+2)\r
-    00006A3F DD 56 03               191        LD      D,(IX+3)\r
-    00006A42 CD 58 6F               192        CALL    LWRD ?0051\r
-    00006A45 DD 5E 02               193        LD      E,(IX+2)\r
-    00006A48 DD 56 03               194        LD      D,(IX+3)\r
-    00006A4B CD 38 6F               195        CALL    LWRD ?0050\r
-    00006A4E DD 5E 02               196        LD      E,(IX+2)\r
-    00006A51 DD 56 03               197        LD      D,(IX+3)\r
-    00006A54 CD 75 6F               198        CALL    LWRD ?0052\r
-    00006A57                        199 ?0003:\r
-    00006A57 DD 6E 9E               200        LD      L,(IX-98)\r
-    00006A5A DD 66 9F               201        LD      H,(IX-97)\r
-    00006A5D 23                     202        INC     HL\r
-    00006A5E 23                     203        INC     HL\r
-    00006A5F 23                     204        INC     HL\r
-    00006A60 46                     205        LD      B,(HL)\r
-    00006A61 23                     206        INC     HL\r
-    00006A62 66                     207        LD      H,(HL)\r
-    00006A63 68                     208        LD      L,B\r
-    00006A64 01 10 90               209        LD      BC,36880\r
-    00006A67 3E 80                  210        LD      A,128\r
-    00006A69 AC                     211        XOR     H\r
-    00006A6A 67                     212        LD      H,A\r
-    00006A6B ED 42                  213        SBC     HL,BC\r
-    00006A6D DA 9C 6B               214        JP      C,?0008\r
-    00006A70 DD 6E 9E               215        LD      L,(IX-98)\r
-    00006A73 DD 66 9F               216        LD      H,(IX-97)\r
-    00006A76 23                     217        INC     HL\r
-    00006A77 23                     218        INC     HL\r
-    00006A78 23                     219        INC     HL\r
-    00006A79 4E                     220        LD      C,(HL)\r
-    00006A7A 23                     221        INC     HL\r
-    00006A7B 46                     222        LD      B,(HL)\r
-    00006A7C 21 12 10               223        LD      HL,4114\r
-    00006A7F CD C8 82               224        CALL    LWRD ?SS_CMP_L02\r
-    00006A82 DA 9C 6B               225        JP      C,?0008\r
-    00006A85                        226 ?0010:\r
-    00006A85                        227 ?0009:\r
-    00006A85                        228 ?0007:\r
-    00006A85 21 06 00               229        LD      HL,6\r
-    00006A88 ED 4B 41 87            230        LD      BC,(trans)\r
-    00006A8C 09                     231        ADD     HL,BC\r
-    00006A8D 46                     232        LD      B,(HL)\r
-    00006A8E 23                     233        INC     HL\r
-    00006A8F 66                     234        LD      H,(HL)\r
-    00006A90 68                     235        LD      L,B\r
-    00006A91                        236 ?0041:\r
-    00006A91 DD 75 A2               237        LD      (IX-94),L\r
-    00006A94 DD 74 A3               238        LD      (IX-93),H\r
-    00006A97                        239 ?0012:\r
-    00006A97 21 14 00               240        LD      HL,20\r
-    00006A9A DD 4E A2               241        LD      C,(IX-94)\r
-    00006A9D DD 46 A3               242        LD      B,(IX-93)\r
-    00006AA0 09                     243        ADD     HL,BC\r
-    00006AA1 7E                     244        LD      A,(HL)\r
-    00006AA2 23                     245        INC     HL\r
-    00006AA3 B6                     246        OR      (HL)\r
-    00006AA4 28 0A                  247        JR      Z,?0011\r
-    00006AA6                        248 ?0013:\r
-    00006AA6 21 14 00               249        LD      HL,20\r
-    00006AA9 09                     250        ADD     HL,BC\r
-    00006AAA 56                     251        LD      D,(HL)\r
-    00006AAB 23                     252        INC     HL\r
-    00006AAC 66                     253        LD      H,(HL)\r
-    00006AAD 6A                     254        LD      L,D\r
-    00006AAE 18 E1                  255        JR      ?0041\r
-    00006AB0                        256 ?0011:\r
-    00006AB0 21 05 00               257        LD      HL,5\r
-    00006AB3 DD 4E 9E               258        LD      C,(IX-98)\r
-    00006AB6 DD 46 9F               259        LD      B,(IX-97)\r
-    00006AB9 09                     260        ADD     HL,BC\r
-    00006ABA 4E                     261        LD      C,(HL)\r
-    00006ABB 23                     262        INC     HL\r
-    00006ABC 46                     263        LD      B,(HL)\r
-    00006ABD 21 11 00               264        LD      HL,17\r
-    00006AC0 DD 5E 02               265        LD      E,(IX+2)\r
-    00006AC3 DD 56 03               266        LD      D,(IX+3)\r
-    00006AC6 19                     267        ADD     HL,DE\r
-    00006AC7 5E                     268        LD      E,(HL)\r
-    00006AC8 23                     269        INC     HL\r
-    00006AC9 56                     270        LD      D,(HL)\r
-    00006ACA 3E 00                  271        LD      A,BYTE3 Component_find\r
-    00006ACC 21 D6 4D               272        LD      HL,LWRD Component_find\r
-    00006ACF CD FB 81               273        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AD2 DD 75 A0               274        LD      (IX-96),L\r
-    00006AD5 DD 74 A1               275        LD      (IX-95),H\r
-    00006AD8 01 20 00               276        LD      BC,32\r
-    00006ADB 09                     277        ADD     HL,BC\r
-    00006ADC 4E                     278        LD      C,(HL)\r
-    00006ADD 23                     279        INC     HL\r
-    00006ADE 46                     280        LD      B,(HL)\r
-    00006ADF DD 5E 02               281        LD      E,(IX+2)\r
-    00006AE2 DD 56 03               282        LD      D,(IX+3)\r
-    00006AE5 3E 00                  283        LD      A,BYTE3 Component_setlabel\r
-    00006AE7 21 A1 4C               284        LD      HL,LWRD Component_setlabel\r
-    00006AEA CD FB 81               285        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AED 01 20 85               286        LD      BC,?0014\r
-    00006AF0 DD 5E A0               287        LD      E,(IX-96)\r
-    00006AF3 DD 56 A1               288        LD      D,(IX-95)\r
-    00006AF6 3E 00                  289        LD      A,BYTE3 Component_setlabel\r
-    00006AF8 21 A1 4C               290        LD      HL,LWRD Component_setlabel\r
-    00006AFB CD FB 81               291        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006AFE DD 5E A0               292        LD      E,(IX-96)\r
-    00006B01 4B                     293        LD      C,E\r
-    00006B02 DD 56 A1               294        LD      D,(IX-95)\r
-    00006B05 CD 89 6F               295        CALL    LWRD ?0053\r
-    00006B08 DD 6E 9E               296        LD      L,(IX-98)\r
-    00006B0B DD 66 9F               297        LD      H,(IX-97)\r
-    00006B0E 23                     298        INC     HL\r
-    00006B0F 23                     299        INC     HL\r
-    00006B10 23                     300        INC     HL\r
-    00006B11 5E                     301        LD      E,(HL)\r
-    00006B12 23                     302        INC     HL\r
-    00006B13 56                     303        LD      D,(HL)\r
-    00006B14 CD 08 82               304        CALL    LWRD ?S_S_SWITCH_L06\r
-    00006B17 10 10                  305        DEFW    4112\r
-    00006B19 03 00                  306        DEFW    3\r
-    00006B1B 92 6B                  307        DEFW    ?0015\r
-    00006B1D 23 6B                  308        DEFW    ?0016\r
-    00006B1F 40 6B                  309        DEFW    ?0017\r
-    00006B21 65 6B                  310        DEFW    ?0018\r
-    00006B23                        311 ?0016:\r
-    00006B23 21 20 00               312        LD      HL,32\r
-    00006B26 DD 4E 02               313        LD      C,(IX+2)\r
-    00006B29 DD 46 03               314        LD      B,(IX+3)\r
-    00006B2C 09                     315        ADD     HL,BC\r
-    00006B2D 4E                     316        LD      C,(HL)\r
-    00006B2E 23                     317        INC     HL\r
-    00006B2F 46                     318        LD      B,(HL)\r
-    00006B30 DD 5E A2               319        LD      E,(IX-94)\r
-    00006B33 DD 56 A3               320        LD      D,(IX-93)\r
-    00006B36 3E 00                  321        LD      A,BYTE3 strcpy\r
-    00006B38 21 3F 75               322        LD      HL,LWRD strcpy\r
-    00006B3B CD FB 81               323        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006B3E 18 52                  324        JR      ?0015\r
-    00006B40                        325 ?0017:\r
-    00006B40 21 0E 00               326        LD      HL,14\r
-    00006B43 DD 4E A2               327        LD      C,(IX-94)\r
-    00006B46 DD 46 A3               328        LD      B,(IX-93)\r
-    00006B49 09                     329        ADD     HL,BC\r
-    00006B4A E5                     330        PUSH    HL\r
-    00006B4B 21 20 00               331        LD      HL,32\r
-    00006B4E DD 4E 02               332        LD      C,(IX+2)\r
-    00006B51 DD 46 03               333        LD      B,(IX+3)\r
-    00006B54 09                     334        ADD     HL,BC\r
-    00006B55 5E                     335        LD      E,(HL)\r
-    00006B56 23                     336        INC     HL\r
-    00006B57 56                     337        LD      D,(HL)\r
-    00006B58 3E 00                  338        LD      A,BYTE3 atoi\r
-    00006B5A 21 66 75               339        LD      HL,LWRD atoi\r
-    00006B5D CD FB 81               340        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006B60 4D                     341        LD      C,L\r
-    00006B61 44                     342        LD      B,H\r
-    00006B62 E1                     343        POP     HL\r
-    00006B63 18 2A                  344        JR      ?0042\r
-    00006B65                        345 ?0018:\r
-    00006B65 21 20 00               346        LD      HL,32\r
-    00006B68 DD 4E 02               347        LD      C,(IX+2)\r
-    00006B6B DD 46 03               348        LD      B,(IX+3)\r
-    00006B6E 09                     349        ADD     HL,BC\r
-    00006B6F 5E                     350        LD      E,(HL)\r
-    00006B70 23                     351        INC     HL\r
-    00006B71 56                     352        LD      D,(HL)\r
-    00006B72 3E 00                  353        LD      A,BYTE3 atol\r
-    00006B74 21 BA 7C               354        LD      HL,LWRD atol\r
-    00006B77 CD FB 81               355        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006B7A 7C                     356        LD      A,H\r
-    00006B7B 07                     357        RLCA\r
-    00006B7C 9F                     358        SBC     A,A\r
-    00006B7D 4F                     359        LD      C,A\r
-    00006B7E 41                     360        LD      B,C\r
-    00006B7F E5                     361        PUSH    HL\r
-    00006B80 21 10 00               362        LD      HL,16\r
-    00006B83 DD 5E A2               363        LD      E,(IX-94)\r
-    00006B86 DD 56 A3               364        LD      D,(IX-93)\r
-    00006B89 19                     365        ADD     HL,DE\r
-    00006B8A D1                     366        POP     DE\r
-    00006B8B 73                     367        LD      (HL),E\r
-    00006B8C 23                     368        INC     HL\r
-    00006B8D 72                     369        LD      (HL),D\r
-    00006B8E 23                     370        INC     HL\r
-    00006B8F                        371 ?0042:\r
-    00006B8F 71                     372        LD      (HL),C\r
-    00006B90 23                     373        INC     HL\r
-    00006B91 70                     374        LD      (HL),B\r
-    00006B92                        375 ?0015:\r
-    00006B92 DD 5E 02               376        LD      E,(IX+2)\r
-    00006B95 4B                     377        LD      C,E\r
-    00006B96 DD 56 03               378        LD      D,(IX+3)\r
-    00006B99 CD 89 6F               379        CALL    LWRD ?0053\r
-    00006B9C                        380 ?0008:\r
-    00006B9C DD 6E 9E               381        LD      L,(IX-98)\r
-    00006B9F DD 66 9F               382        LD      H,(IX-97)\r
-    00006BA2 23                     383        INC     HL\r
-    00006BA3 23                     384        INC     HL\r
-    00006BA4 23                     385        INC     HL\r
-    00006BA5 46                     386        LD      B,(HL)\r
-    00006BA6 23                     387        INC     HL\r
-    00006BA7 66                     388        LD      H,(HL)\r
-    00006BA8 68                     389        LD      L,B\r
-    00006BA9 01 1E 10               390        LD      BC,4126\r
-    00006BAC A7                     391        AND     A\r
-    00006BAD ED 42                  392        SBC     HL,BC\r
-    00006BAF C2 F9 6D               393        JP      NZ,?0020\r
-    00006BB2                        394 ?0019:\r
-    00006BB2 AF                     395        XOR     A\r
-    00006BB3 DD 77 AC               396        LD      (IX-84),A\r
-    00006BB6 DD 77 AD               397        LD      (IX-83),A\r
-    00006BB9 DD 77 AE               398        LD      (IX-82),A\r
-    00006BBC DD 77 AF               399        LD      (IX-81),A\r
-    00006BBF 21 06 00               400        LD      HL,6\r
-    00006BC2 ED 4B 41 87            401        LD      BC,(trans)\r
-    00006BC6 09                     402        ADD     HL,BC\r
-    00006BC7 46                     403        LD      B,(HL)\r
-    00006BC8 23                     404        INC     HL\r
-    00006BC9 66                     405        LD      H,(HL)\r
-    00006BCA 68                     406        LD      L,B\r
-    00006BCB E5                     407        PUSH    HL\r
-    00006BCC FD E1                  408        POP     IY\r
-    00006BCE 21 01 00               409        LD      HL,1\r
-    00006BD1 E5                     410        PUSH    HL\r
-    00006BD2 21 21 85               411        LD      HL,?0021\r
-    00006BD5 E5                     412        PUSH    HL\r
-    00006BD6 3E 00                  413        LD      A,BYTE3 open\r
-    00006BD8 21 CD 7E               414        LD      HL,LWRD open\r
-    00006BDB CD FB 81               415        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006BDE F1                     416        POP     AF\r
-    00006BDF F1                     417        POP     AF\r
-    00006BE0 DD 75 A0               418        LD      (IX-96),L\r
-    00006BE3 DD 74 A1               419        LD      (IX-95),H\r
-    00006BE6 21 08 00               420        LD      HL,8\r
-    00006BE9 39                     421        ADD     HL,SP\r
-    00006BEA E5                     422        PUSH    HL\r
-    00006BEB 21 00 00               423        LD      HL,0\r
-    00006BEE E5                     424        PUSH    HL\r
-    00006BEF DD 6E A0               425        LD      L,(IX-96)\r
-    00006BF2 DD 66 A1               426        LD      H,(IX-95)\r
-    00006BF5 E5                     427        PUSH    HL\r
-    00006BF6 3E 00                  428        LD      A,BYTE3 ioctl\r
-    00006BF8 21 E2 73               429        LD      HL,LWRD ioctl\r
-    00006BFB CD FB 81               430        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006BFE F1                     431        POP     AF\r
-    00006BFF F1                     432        POP     AF\r
-    00006C00 F1                     433        POP     AF\r
-    00006C01 DD 36 A8 60            434        LD      (IX-88),96\r
-    00006C05 DD 36 A9 00            435        LD      (IX-87),0\r
-    00006C09 21 08 00               436        LD      HL,8\r
-    00006C0C 39                     437        ADD     HL,SP\r
-    00006C0D E5                     438        PUSH    HL\r
-    00006C0E 21 01 00               439        LD      HL,1\r
-    00006C11 E5                     440        PUSH    HL\r
-    00006C12 DD 6E A0               441        LD      L,(IX-96)\r
-    00006C15 DD 66 A1               442        LD      H,(IX-95)\r
-    00006C18 E5                     443        PUSH    HL\r
-    00006C19 3E 00                  444        LD      A,BYTE3 ioctl\r
-    00006C1B 21 E2 73               445        LD      HL,LWRD ioctl\r
-    00006C1E CD FB 81               446        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006C21 F1                     447        POP     AF\r
-    00006C22 F1                     448        POP     AF\r
-    00006C23 F1                     449        POP     AF\r
-    00006C24                        450 ?0023:\r
-    00006C24 FD E5                  451        PUSH    IY\r
-    00006C26 E1                     452        POP     HL\r
-    00006C27 7D                     453        LD      A,L\r
-    00006C28 B4                     454        OR      H\r
-    00006C29 CA 0E 6D               455        JP      Z,?0022\r
-    00006C2C                        456 ?0024:\r
-    00006C2C FD 7E 0E               457        LD      A,(IY+14)\r
-    00006C2F FD B6 0F               458        OR      (IY+15)\r
-    00006C32 CA 02 6D               459        JP      Z,?0026\r
-    00006C35                        460 ?0025:\r
-    00006C35 3E 01                  461        LD      A,1\r
-    00006C37 FD AE 0E               462        XOR     (IY+14)\r
-    00006C3A FD B6 0F               463        OR      (IY+15)\r
-    00006C3D 20 29                  464        JR      NZ,?0028\r
-    00006C3F                        465 ?0027:\r
-    00006C3F 6F                     466        LD      L,A\r
-    00006C40 67                     467        LD      H,A\r
-    00006C41 E5                     468        PUSH    HL\r
-    00006C42 2E 64                  469        LD      L,100\r
-    00006C44 E5                     470        PUSH    HL\r
-    00006C45 CD A0 6F               471        CALL    LWRD ?0056\r
-    00006C48 C5                     472        PUSH    BC\r
-    00006C49 E5                     473        PUSH    HL\r
-    00006C4A 6F                     474        LD      L,A\r
-    00006C4B 67                     475        LD      H,A\r
-    00006C4C E5                     476        PUSH    HL\r
-    00006C4D 2E 64                  477        LD      L,100\r
-    00006C4F E5                     478        PUSH    HL\r
-    00006C50 CD AF 6F               479        CALL    LWRD ?0057\r
-    00006C53 C5                     480        PUSH    BC\r
-    00006C54 E5                     481        PUSH    HL\r
-    00006C55 FD E5                  482        PUSH    IY\r
-    00006C57 21 2E 85               483        LD      HL,?0029\r
-    00006C5A E5                     484        PUSH    HL\r
-    00006C5B 21 20 00               485        LD      HL,32\r
-    00006C5E 39                     486        ADD     HL,SP\r
-    00006C5F E5                     487        PUSH    HL\r
-    00006C60 CD 98 6F               488        CALL    LWRD ?0055\r
-    00006C63 21 0E 00               489        LD      HL,14\r
-    00006C66 18 68                  490        JR      ?0043\r
-    00006C68                        491 ?0028:\r
-    00006C68 21 00 00               492        LD      HL,0\r
-    00006C6B E5                     493        PUSH    HL\r
-    00006C6C 2E 64                  494        LD      L,100\r
-    00006C6E E5                     495        PUSH    HL\r
-    00006C6F FD 6E 0E               496        LD      L,(IY+14)\r
-    00006C72 FD 66 0F               497        LD      H,(IY+15)\r
-    00006C75 7C                     498        LD      A,H\r
-    00006C76 07                     499        RLCA\r
-    00006C77 9F                     500        SBC     A,A\r
-    00006C78 4F                     501        LD      C,A\r
-    00006C79 41                     502        LD      B,C\r
-    00006C7A C5                     503        PUSH    BC\r
-    00006C7B E5                     504        PUSH    HL\r
-    00006C7C CD BE 6F               505        CALL    LWRD ?0058\r
-    00006C7F CD 47 82               506        CALL    LWRD ?SL_MOD_L03\r
-    00006C82 C5                     507        PUSH    BC\r
-    00006C83 E5                     508        PUSH    HL\r
-    00006C84 21 00 00               509        LD      HL,0\r
-    00006C87 E5                     510        PUSH    HL\r
-    00006C88 2E 64                  511        LD      L,100\r
-    00006C8A E5                     512        PUSH    HL\r
-    00006C8B FD 6E 0E               513        LD      L,(IY+14)\r
-    00006C8E FD 66 0F               514        LD      H,(IY+15)\r
-    00006C91 7C                     515        LD      A,H\r
-    00006C92 07                     516        RLCA\r
-    00006C93 9F                     517        SBC     A,A\r
-    00006C94 4F                     518        LD      C,A\r
-    00006C95 41                     519        LD      B,C\r
-    00006C96 C5                     520        PUSH    BC\r
-    00006C97 E5                     521        PUSH    HL\r
-    00006C98 CD BE 6F               522        CALL    LWRD ?0058\r
-    00006C9B CD 98 82               523        CALL    LWRD ?SL_DIV_L03\r
-    00006C9E C5                     524        PUSH    BC\r
-    00006C9F E5                     525        PUSH    HL\r
-    00006CA0 21 00 00               526        LD      HL,0\r
-    00006CA3 E5                     527        PUSH    HL\r
-    00006CA4 2E 64                  528        LD      L,100\r
-    00006CA6 E5                     529        PUSH    HL\r
-    00006CA7 CD A0 6F               530        CALL    LWRD ?0056\r
-    00006CAA C5                     531        PUSH    BC\r
-    00006CAB E5                     532        PUSH    HL\r
-    00006CAC 21 00 00               533        LD      HL,0\r
-    00006CAF E5                     534        PUSH    HL\r
-    00006CB0 2E 64                  535        LD      L,100\r
-    00006CB2 E5                     536        PUSH    HL\r
-    00006CB3 CD AF 6F               537        CALL    LWRD ?0057\r
-    00006CB6 C5                     538        PUSH    BC\r
-    00006CB7 E5                     539        PUSH    HL\r
-    00006CB8 FD 6E 0E               540        LD      L,(IY+14)\r
-    00006CBB FD 66 0F               541        LD      H,(IY+15)\r
-    00006CBE E5                     542        PUSH    HL\r
-    00006CBF FD E5                  543        PUSH    IY\r
-    00006CC1 21 51 85               544        LD      HL,?0031\r
-    00006CC4 E5                     545        PUSH    HL\r
-    00006CC5 21 2A 00               546        LD      HL,42\r
-    00006CC8 39                     547        ADD     HL,SP\r
-    00006CC9 E5                     548        PUSH    HL\r
-    00006CCA CD 98 6F               549        CALL    LWRD ?0055\r
-    00006CCD 21 18 00               550        LD      HL,24\r
-    00006CD0                        551 ?0043:\r
-    00006CD0 39                     552        ADD     HL,SP\r
-    00006CD1 F9                     553        LD      SP,HL\r
-    00006CD2                        554 ?0030:\r
-    00006CD2 21 10 00               555        LD      HL,16\r
-    00006CD5 39                     556        ADD     HL,SP\r
-    00006CD6 E5                     557        PUSH    HL\r
-    00006CD7 FD 5E 0E               558        LD      E,(IY+14)\r
-    00006CDA FD 56 0F               559        LD      D,(IY+15)\r
-    00006CDD 7A                     560        LD      A,D\r
-    00006CDE 07                     561        RLCA\r
-    00006CDF 9F                     562        SBC     A,A\r
-    00006CE0 4F                     563        LD      C,A\r
-    00006CE1 41                     564        LD      B,C\r
-    00006CE2 C5                     565        PUSH    BC\r
-    00006CE3 D5                     566        PUSH    DE\r
-    00006CE4 CD BE 6F               567        CALL    LWRD ?0058\r
-    00006CE7 EB                     568        EX      DE,HL\r
-    00006CE8 E1                     569        POP     HL\r
-    00006CE9 CD D6 81               570        CALL    LWRD ?L_ADDASG_L03\r
-    00006CEC 21 14 00               571        LD      HL,20\r
-    00006CEF 39                     572        ADD     HL,SP\r
-    00006CF0 EB                     573        EX      DE,HL\r
-    00006CF1 3E 00                  574        LD      A,BYTE3 strlen\r
-    00006CF3 21 AB 73               575        LD      HL,LWRD strlen\r
-    00006CF6 CD FB 81               576        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006CF9 E5                     577        PUSH    HL\r
-    00006CFA 21 16 00               578        LD      HL,22\r
-    00006CFD 39                     579        ADD     HL,SP\r
-    00006CFE CD CD 6F               580        CALL    LWRD ?0059\r
-    00006D01 F1                     581        POP     AF\r
-    00006D02                        582 ?0026:\r
-    00006D02 FD 6E 14               583        LD      L,(IY+20)\r
-    00006D05 FD 66 15               584        LD      H,(IY+21)\r
-    00006D08 E5                     585        PUSH    HL\r
-    00006D09 FD E1                  586        POP     IY\r
-    00006D0B C3 24 6C               587        JP      LWRD ?0023\r
-    00006D0E                        588 ?0022:\r
-    00006D0E 6F                     589        LD      L,A\r
-    00006D0F 67                     590        LD      H,A\r
-    00006D10 E5                     591        PUSH    HL\r
-    00006D11 2E 64                  592        LD      L,100\r
-    00006D13 E5                     593        PUSH    HL\r
-    00006D14 DD 4E AE               594        LD      C,(IX-82)\r
-    00006D17 DD 46 AF               595        LD      B,(IX-81)\r
-    00006D1A DD 6E AC               596        LD      L,(IX-84)\r
-    00006D1D DD 66 AD               597        LD      H,(IX-83)\r
-    00006D20 CD 47 82               598        CALL    LWRD ?SL_MOD_L03\r
-    00006D23 C5                     599        PUSH    BC\r
-    00006D24 E5                     600        PUSH    HL\r
-    00006D25 6F                     601        LD      L,A\r
-    00006D26 67                     602        LD      H,A\r
-    00006D27 E5                     603        PUSH    HL\r
-    00006D28 2E 64                  604        LD      L,100\r
-    00006D2A E5                     605        PUSH    HL\r
-    00006D2B DD 4E AE               606        LD      C,(IX-82)\r
-    00006D2E DD 46 AF               607        LD      B,(IX-81)\r
-    00006D31 DD 6E AC               608        LD      L,(IX-84)\r
-    00006D34 DD 66 AD               609        LD      H,(IX-83)\r
-    00006D37 CD 98 82               610        CALL    LWRD ?SL_DIV_L03\r
-    00006D3A C5                     611        PUSH    BC\r
-    00006D3B E5                     612        PUSH    HL\r
-    00006D3C 21 20 85               613        LD      HL,?0014\r
-    00006D3F E5                     614        PUSH    HL\r
-    00006D40 E5                     615        PUSH    HL\r
-    00006D41 21 91 85               616        LD      HL,?0032\r
-    00006D44 E5                     617        PUSH    HL\r
-    00006D45 21 22 00               618        LD      HL,34\r
-    00006D48 39                     619        ADD     HL,SP\r
-    00006D49 E5                     620        PUSH    HL\r
-    00006D4A CD 98 6F               621        CALL    LWRD ?0055\r
-    00006D4D 21 10 00               622        LD      HL,16\r
-    00006D50 39                     623        ADD     HL,SP\r
-    00006D51 F9                     624        LD      SP,HL\r
-    00006D52 21 14 00               625        LD      HL,20\r
-    00006D55 39                     626        ADD     HL,SP\r
-    00006D56 EB                     627        EX      DE,HL\r
-    00006D57 3E 00                  628        LD      A,BYTE3 strlen\r
-    00006D59 21 AB 73               629        LD      HL,LWRD strlen\r
-    00006D5C CD FB 81               630        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006D5F E5                     631        PUSH    HL\r
-    00006D60 21 16 00               632        LD      HL,22\r
-    00006D63 39                     633        ADD     HL,SP\r
-    00006D64 CD CD 6F               634        CALL    LWRD ?0059\r
-    00006D67 F1                     635        POP     AF\r
-    00006D68 DD 5E A0               636        LD      E,(IX-96)\r
-    00006D6B DD 56 A1               637        LD      D,(IX-95)\r
-    00006D6E 3E 00                  638        LD      A,BYTE3 close\r
-    00006D70 21 96 73               639        LD      HL,LWRD close\r
-    00006D73 CD FB 81               640        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006D76 21 06 00               641        LD      HL,6\r
-    00006D79 ED 4B 41 87            642        LD      BC,(trans)\r
-    00006D7D 09                     643        ADD     HL,BC\r
-    00006D7E 46                     644        LD      B,(HL)\r
-    00006D7F 23                     645        INC     HL\r
-    00006D80 66                     646        LD      H,(HL)\r
-    00006D81 68                     647        LD      L,B\r
-    00006D82                        648 ?0044:\r
-    00006D82 E5                     649        PUSH    HL\r
-    00006D83 FD E1                  650        POP     IY\r
-    00006D85                        651 ?0034:\r
-    00006D85 7D                     652        LD      A,L\r
-    00006D86 B4                     653        OR      H\r
-    00006D87 28 13                  654        JR      Z,?0033\r
-    00006D89                        655 ?0035:\r
-    00006D89 FD E5                  656        PUSH    IY\r
-    00006D8B D1                     657        POP     DE\r
-    00006D8C 3E 00                  658        LD      A,BYTE3 free\r
-    00006D8E 21 5F 74               659        LD      HL,LWRD free\r
-    00006D91 CD FB 81               660        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006D94 FD 6E 14               661        LD      L,(IY+20)\r
-    00006D97 FD 66 15               662        LD      H,(IY+21)\r
-    00006D9A 18 E6                  663        JR      ?0044\r
-    00006D9C                        664 ?0033:\r
-    00006D9C 21 06 00               665        LD      HL,6\r
-    00006D9F ED 4B 41 87            666        LD      BC,(trans)\r
-    00006DA3 09                     667        ADD     HL,BC\r
-    00006DA4 E5                     668        PUSH    HL\r
-    00006DA5 CD B0 69               669        CALL    LWRD ?0047\r
-    00006DA8 EB                     670        EX      DE,HL\r
-    00006DA9 E1                     671        POP     HL\r
-    00006DAA 73                     672        LD      (HL),E\r
-    00006DAB 23                     673        INC     HL\r
-    00006DAC 72                     674        LD      (HL),D\r
-    00006DAD 21 06 00               675        LD      HL,6\r
-    00006DB0 ED 4B 41 87            676        LD      BC,(trans)\r
-    00006DB4 09                     677        ADD     HL,BC\r
-    00006DB5 56                     678        LD      D,(HL)\r
-    00006DB6 23                     679        INC     HL\r
-    00006DB7 66                     680        LD      H,(HL)\r
-    00006DB8 6A                     681        LD      L,D\r
-    00006DB9 11 14 00               682        LD      DE,20\r
-    00006DBC 19                     683        ADD     HL,DE\r
-    00006DBD AF                     684        XOR     A\r
-    00006DBE 77                     685        LD      (HL),A\r
-    00006DBF 23                     686        INC     HL\r
-    00006DC0 77                     687        LD      (HL),A\r
-    00006DC1 21 06 00               688        LD      HL,6\r
-    00006DC4 ED 4B 41 87            689        LD      BC,(trans)\r
-    00006DC8 09                     690        ADD     HL,BC\r
-    00006DC9 7E                     691        LD      A,(HL)\r
-    00006DCA 23                     692        INC     HL\r
-    00006DCB 66                     693        LD      H,(HL)\r
-    00006DCC 6F                     694        LD      L,A\r
-    00006DCD 72                     695        LD      (HL),D\r
-    00006DCE 21 06 00               696        LD      HL,6\r
-    00006DD1 ED 4B 41 87            697        LD      BC,(trans)\r
-    00006DD5 09                     698        ADD     HL,BC\r
-    00006DD6 56                     699        LD      D,(HL)\r
-    00006DD7 23                     700        INC     HL\r
-    00006DD8 66                     701        LD      H,(HL)\r
-    00006DD9 6A                     702        LD      L,D\r
-    00006DDA 11 0E 00               703        LD      DE,14\r
-    00006DDD 19                     704        ADD     HL,DE\r
-    00006DDE AF                     705        XOR     A\r
-    00006DDF 77                     706        LD      (HL),A\r
-    00006DE0 23                     707        INC     HL\r
-    00006DE1 77                     708        LD      (HL),A\r
-    00006DE2 21 06 00               709        LD      HL,6\r
-    00006DE5 ED 4B 41 87            710        LD      BC,(trans)\r
-    00006DE9 09                     711        ADD     HL,BC\r
-    00006DEA 46                     712        LD      B,(HL)\r
-    00006DEB 23                     713        INC     HL\r
-    00006DEC 66                     714        LD      H,(HL)\r
-    00006DED 68                     715        LD      L,B\r
-    00006DEE 01 10 00               716        LD      BC,16\r
-    00006DF1 09                     717        ADD     HL,BC\r
-    00006DF2 77                     718        LD      (HL),A\r
-    00006DF3 23                     719        INC     HL\r
-    00006DF4 77                     720        LD      (HL),A\r
-    00006DF5 23                     721        INC     HL\r
-    00006DF6 77                     722        LD      (HL),A\r
-    00006DF7 23                     723        INC     HL\r
-    00006DF8 77                     724        LD      (HL),A\r
-    00006DF9                        725 ?0020:\r
-    00006DF9 DD 6E 9E               726        LD      L,(IX-98)\r
-    00006DFC DD 66 9F               727        LD      H,(IX-97)\r
-    00006DFF 23                     728        INC     HL\r
-    00006E00 23                     729        INC     HL\r
-    00006E01 23                     730        INC     HL\r
-    00006E02 46                     731        LD      B,(HL)\r
-    00006E03 23                     732        INC     HL\r
-    00006E04 66                     733        LD      H,(HL)\r
-    00006E05 68                     734        LD      L,B\r
-    00006E06 01 1F 10               735        LD      BC,4127\r
-    00006E09 A7                     736        AND     A\r
-    00006E0A ED 42                  737        SBC     HL,BC\r
-    00006E0C C2 18 6F               738        JP      NZ,?0037\r
-    00006E0F                        739 ?0036:\r
-    00006E0F 21 06 00               740        LD      HL,6\r
-    00006E12 ED 4B 41 87            741        LD      BC,(trans)\r
-    00006E16 09                     742        ADD     HL,BC\r
-    00006E17 46                     743        LD      B,(HL)\r
-    00006E18 23                     744        INC     HL\r
-    00006E19 66                     745        LD      H,(HL)\r
-    00006E1A 68                     746        LD      L,B\r
-    00006E1B                        747 ?0045:\r
-    00006E1B DD 75 A0               748        LD      (IX-96),L\r
-    00006E1E DD 74 A1               749        LD      (IX-95),H\r
-    00006E21                        750 ?0039:\r
-    00006E21 21 14 00               751        LD      HL,20\r
-    00006E24 DD 4E A0               752        LD      C,(IX-96)\r
-    00006E27 DD 46 A1               753        LD      B,(IX-95)\r
-    00006E2A 09                     754        ADD     HL,BC\r
-    00006E2B 7E                     755        LD      A,(HL)\r
-    00006E2C 23                     756        INC     HL\r
-    00006E2D B6                     757        OR      (HL)\r
-    00006E2E 28 0A                  758        JR      Z,?0038\r
-    00006E30                        759 ?0040:\r
-    00006E30 21 14 00               760        LD      HL,20\r
-    00006E33 09                     761        ADD     HL,BC\r
-    00006E34 56                     762        LD      D,(HL)\r
-    00006E35 23                     763        INC     HL\r
-    00006E36 66                     764        LD      H,(HL)\r
-    00006E37 6A                     765        LD      L,D\r
-    00006E38 18 E1                  766        JR      ?0045\r
-    00006E3A                        767 ?0038:\r
-    00006E3A 21 07 00               768        LD      HL,7\r
-    00006E3D DD 4E 9E               769        LD      C,(IX-98)\r
-    00006E40 DD 46 9F               770        LD      B,(IX-97)\r
-    00006E43 09                     771        ADD     HL,BC\r
-    00006E44 6E                     772        LD      L,(HL)\r
-    00006E45 67                     773        LD      H,A\r
-    00006E46 E5                     774        PUSH    HL\r
-    00006E47 2A 41 87               775        LD      HL,(trans)\r
-    00006E4A C1                     776        POP     BC\r
-    00006E4B 71                     777        LD      (HL),C\r
-    00006E4C 23                     778        INC     HL\r
-    00006E4D 70                     779        LD      (HL),B\r
-    00006E4E 2A 41 87               780        LD      HL,(trans)\r
-    00006E51 23                     781        INC     HL\r
-    00006E52 23                     782        INC     HL\r
-    00006E53 E5                     783        PUSH    HL\r
-    00006E54 CD 1D 6F               784        CALL    LWRD ?0048\r
-    00006E57 E1                     785        POP     HL\r
-    00006E58 71                     786        LD      (HL),C\r
-    00006E59 23                     787        INC     HL\r
-    00006E5A 70                     788        LD      (HL),B\r
-    00006E5B 21 04 00               789        LD      HL,4\r
-    00006E5E ED 4B 41 87            790        LD      BC,(trans)\r
-    00006E62 09                     791        ADD     HL,BC\r
-    00006E63 E5                     792        PUSH    HL\r
-    00006E64 21 07 00               793        LD      HL,7\r
-    00006E67 DD 5E 9E               794        LD      E,(IX-98)\r
-    00006E6A DD 56 9F               795        LD      D,(IX-97)\r
-    00006E6D 19                     796        ADD     HL,DE\r
-    00006E6E 5E                     797        LD      E,(HL)\r
-    00006E6F 23                     798        INC     HL\r
-    00006E70 56                     799        LD      D,(HL)\r
-    00006E71 23                     800        INC     HL\r
-    00006E72 4E                     801        LD      C,(HL)\r
-    00006E73 23                     802        INC     HL\r
-    00006E74 46                     803        LD      B,(HL)\r
-    00006E75 EB                     804        EX      DE,HL\r
-    00006E76 3E 10                  805        LD      A,16\r
-    00006E78 CD 31 6F               806        CALL    LWRD ?0049\r
-    00006E7B E1                     807        POP     HL\r
-    00006E7C 71                     808        LD      (HL),C\r
-    00006E7D 23                     809        INC     HL\r
-    00006E7E 70                     810        LD      (HL),B\r
-    00006E7F 2A 41 87               811        LD      HL,(trans)\r
-    00006E82 4E                     812        LD      C,(HL)\r
-    00006E83 23                     813        INC     HL\r
-    00006E84 46                     814        LD      B,(HL)\r
-    00006E85 21 11 00               815        LD      HL,17\r
-    00006E88 DD 5E 02               816        LD      E,(IX+2)\r
-    00006E8B DD 56 03               817        LD      D,(IX+3)\r
-    00006E8E 19                     818        ADD     HL,DE\r
-    00006E8F 5E                     819        LD      E,(HL)\r
-    00006E90 23                     820        INC     HL\r
-    00006E91 56                     821        LD      D,(HL)\r
-    00006E92 CD 58 6F               822        CALL    LWRD ?0051\r
-    00006E95 21 11 00               823        LD      HL,17\r
-    00006E98 DD 5E 02               824        LD      E,(IX+2)\r
-    00006E9B DD 56 03               825        LD      D,(IX+3)\r
-    00006E9E 19                     826        ADD     HL,DE\r
-    00006E9F 5E                     827        LD      E,(HL)\r
-    00006EA0 23                     828        INC     HL\r
-    00006EA1 56                     829        LD      D,(HL)\r
-    00006EA2 CD 38 6F               830        CALL    LWRD ?0050\r
-    00006EA5 21 11 00               831        LD      HL,17\r
-    00006EA8 DD 5E 02               832        LD      E,(IX+2)\r
-    00006EAB DD 56 03               833        LD      D,(IX+3)\r
-    00006EAE 19                     834        ADD     HL,DE\r
-    00006EAF 5E                     835        LD      E,(HL)\r
-    00006EB0 23                     836        INC     HL\r
-    00006EB1 56                     837        LD      D,(HL)\r
-    00006EB2 CD 75 6F               838        CALL    LWRD ?0052\r
-    00006EB5 21 11 00               839        LD      HL,17\r
-    00006EB8 DD 4E 02               840        LD      C,(IX+2)\r
-    00006EBB DD 46 03               841        LD      B,(IX+3)\r
-    00006EBE 09                     842        ADD     HL,BC\r
-    00006EBF 5E                     843        LD      E,(HL)\r
-    00006EC0 23                     844        INC     HL\r
-    00006EC1 56                     845        LD      D,(HL)\r
-    00006EC2 21 11 00               846        LD      HL,17\r
-    00006EC5 09                     847        ADD     HL,BC\r
-    00006EC6 46                     848        LD      B,(HL)\r
-    00006EC7 23                     849        INC     HL\r
-    00006EC8 66                     850        LD      H,(HL)\r
-    00006EC9 68                     851        LD      L,B\r
-    00006ECA 01 1A 00               852        LD      BC,26\r
-    00006ECD CD 8D 6F               853        CALL    LWRD ?0054\r
-    00006ED0 21 14 00               854        LD      HL,20\r
-    00006ED3 DD 4E A0               855        LD      C,(IX-96)\r
-    00006ED6 DD 46 A1               856        LD      B,(IX-95)\r
-    00006ED9 09                     857        ADD     HL,BC\r
-    00006EDA E5                     858        PUSH    HL\r
-    00006EDB CD B0 69               859        CALL    LWRD ?0047\r
-    00006EDE EB                     860        EX      DE,HL\r
-    00006EDF E1                     861        POP     HL\r
-    00006EE0 73                     862        LD      (HL),E\r
-    00006EE1 23                     863        INC     HL\r
-    00006EE2 72                     864        LD      (HL),D\r
-    00006EE3 21 14 00               865        LD      HL,20\r
-    00006EE6 09                     866        ADD     HL,BC\r
-    00006EE7 56                     867        LD      D,(HL)\r
-    00006EE8 23                     868        INC     HL\r
-    00006EE9 66                     869        LD      H,(HL)\r
-    00006EEA 6A                     870        LD      L,D\r
-    00006EEB DD 75 A0               871        LD      (IX-96),L\r
-    00006EEE DD 74 A1               872        LD      (IX-95),H\r
-    00006EF1 01 14 00               873        LD      BC,20\r
-    00006EF4 09                     874        ADD     HL,BC\r
-    00006EF5 AF                     875        XOR     A\r
-    00006EF6 77                     876        LD      (HL),A\r
-    00006EF7 23                     877        INC     HL\r
-    00006EF8 77                     878        LD      (HL),A\r
-    00006EF9 DD 6E A0               879        LD      L,(IX-96)\r
-    00006EFC DD 66 A1               880        LD      H,(IX-95)\r
-    00006EFF 70                     881        LD      (HL),B\r
-    00006F00 21 0E 00               882        LD      HL,14\r
-    00006F03 DD 4E A0               883        LD      C,(IX-96)\r
-    00006F06 DD 46 A1               884        LD      B,(IX-95)\r
-    00006F09 09                     885        ADD     HL,BC\r
-    00006F0A 77                     886        LD      (HL),A\r
-    00006F0B 23                     887        INC     HL\r
-    00006F0C 77                     888        LD      (HL),A\r
-    00006F0D 21 10 00               889        LD      HL,16\r
-    00006F10 09                     890        ADD     HL,BC\r
-    00006F11 77                     891        LD      (HL),A\r
-    00006F12 23                     892        INC     HL\r
-    00006F13 77                     893        LD      (HL),A\r
-    00006F14 23                     894        INC     HL\r
-    00006F15 77                     895        LD      (HL),A\r
-    00006F16 23                     896        INC     HL\r
-    00006F17 77                     897        LD      (HL),A\r
-    00006F18                        898 ?0037:\r
-    00006F18 FD E1                  899        POP     IY\r
-    00006F1A C3 A3 81               900        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00006F1D                        901 ?0048:\r
-    00006F1D 21 07 00               902        LD      HL,7\r
-    00006F20 DD 4E 9E               903        LD      C,(IX-98)\r
-    00006F23 DD 46 9F               904        LD      B,(IX-97)\r
-    00006F26 09                     905        ADD     HL,BC\r
-    00006F27 5E                     906        LD      E,(HL)\r
-    00006F28 23                     907        INC     HL\r
-    00006F29 56                     908        LD      D,(HL)\r
-    00006F2A 23                     909        INC     HL\r
-    00006F2B 4E                     910        LD      C,(HL)\r
-    00006F2C 23                     911        INC     HL\r
-    00006F2D 46                     912        LD      B,(HL)\r
-    00006F2E EB                     913        EX      DE,HL\r
-    00006F2F 3E 08                  914        LD      A,8\r
-    00006F31                        915 ?0049:\r
-    00006F31 CD 15 83               916        CALL    LWRD ?SL_RSH_L03\r
-    00006F34 06 00                  917        LD      B,0\r
-    00006F36 4D                     918        LD      C,L\r
-    00006F37 C9                     919        RET\r
-    00006F38                        920 ?0050:\r
-    00006F38 3E 00                  921        LD      A,BYTE3 Component_find\r
-    00006F3A 21 D6 4D               922        LD      HL,LWRD Component_find\r
-    00006F3D CD FB 81               923        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006F40 EB                     924        EX      DE,HL\r
-    00006F41 3E 00                  925        LD      A,BYTE3 Component_setlabel\r
-    00006F43 21 A1 4C               926        LD      HL,LWRD Component_setlabel\r
-    00006F46 01 14 85               927        LD      BC,?0005\r
-    00006F49 CD FB 81               928        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006F4C 21 04 00               929        LD      HL,4\r
-    00006F4F ED 5B 41 87            930        LD      DE,(trans)\r
-    00006F53 19                     931        ADD     HL,DE\r
-    00006F54 4E                     932        LD      C,(HL)\r
-    00006F55 23                     933        INC     HL\r
-    00006F56 46                     934        LD      B,(HL)\r
-    00006F57 C9                     935        RET\r
-    00006F58                        936 ?0051:\r
-    00006F58 3E 00                  937        LD      A,BYTE3 Component_find\r
-    00006F5A 21 D6 4D               938        LD      HL,LWRD Component_find\r
-    00006F5D CD FB 81               939        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006F60 EB                     940        EX      DE,HL\r
-    00006F61 3E 00                  941        LD      A,BYTE3 Component_setlabel\r
-    00006F63 21 A1 4C               942        LD      HL,LWRD Component_setlabel\r
-    00006F66 01 0C 85               943        LD      BC,?0004\r
-    00006F69 CD FB 81               944        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006F6C 2A 41 87               945        LD      HL,(trans)\r
-    00006F6F 23                     946        INC     HL\r
-    00006F70 23                     947        INC     HL\r
-    00006F71 4E                     948        LD      C,(HL)\r
-    00006F72 23                     949        INC     HL\r
-    00006F73 46                     950        LD      B,(HL)\r
-    00006F74 C9                     951        RET\r
-    00006F75                        952 ?0052:\r
-    00006F75 3E 00                  953        LD      A,BYTE3 Component_find\r
-    00006F77 21 D6 4D               954        LD      HL,LWRD Component_find\r
-    00006F7A CD FB 81               955        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006F7D EB                     956        EX      DE,HL\r
-    00006F7E 3E 00                  957        LD      A,BYTE3 Component_setlabel\r
-    00006F80 21 A1 4C               958        LD      HL,LWRD Component_setlabel\r
-    00006F83 01 1A 85               959        LD      BC,?0006\r
-    00006F86 C3 FB 81               960        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00006F89                        961 ?0053:\r
-    00006F89 42                     962        LD      B,D\r
-    00006F8A 21 1A 00               963        LD      HL,26\r
-    00006F8D                        964 ?0054:\r
-    00006F8D 09                     965        ADD     HL,BC\r
-    00006F8E 4E                     966        LD      C,(HL)\r
-    00006F8F 23                     967        INC     HL\r
-    00006F90 46                     968        LD      B,(HL)\r
-    00006F91 23                     969        INC     HL\r
-    00006F92 7E                     970        LD      A,(HL)\r
-    00006F93 69                     971        LD      L,C\r
-    00006F94 60                     972        LD      H,B\r
-    00006F95 C3 FB 81               973        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00006F98                        974 ?0055:\r
-    00006F98 3E 00                  975        LD      A,BYTE3 sprintf\r
-    00006F9A 21 1B 70               976        LD      HL,LWRD sprintf\r
-    00006F9D C3 FB 81               977        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00006FA0                        978 ?0056:\r
-    00006FA0 FD 4E 12               979        LD      C,(IY+18)\r
-    00006FA3 FD 46 13               980        LD      B,(IY+19)\r
-    00006FA6 FD 6E 10               981        LD      L,(IY+16)\r
-    00006FA9 FD 66 11               982        LD      H,(IY+17)\r
-    00006FAC C3 47 82               983        JP      LWRD ?SL_MOD_L03\r
-    00006FAF                        984 ?0057:\r
-    00006FAF FD 4E 12               985        LD      C,(IY+18)\r
-    00006FB2 FD 46 13               986        LD      B,(IY+19)\r
-    00006FB5 FD 6E 10               987        LD      L,(IY+16)\r
-    00006FB8 FD 66 11               988        LD      H,(IY+17)\r
-    00006FBB C3 98 82               989        JP      LWRD ?SL_DIV_L03\r
-    00006FBE                        990 ?0058:\r
-    00006FBE FD 4E 12               991        LD      C,(IY+18)\r
-    00006FC1 FD 46 13               992        LD      B,(IY+19)\r
-    00006FC4 FD 6E 10               993        LD      L,(IY+16)\r
-    00006FC7 FD 66 11               994        LD      H,(IY+17)\r
-    00006FCA C3 1F 81               995        JP      LWRD ?L_MUL_L03\r
-    00006FCD                        996 ?0059:\r
-    00006FCD 4D                     997        LD      C,L\r
-    00006FCE 44                     998        LD      B,H\r
-    00006FCF DD 5E A0               999        LD      E,(IX-96)\r
-    00006FD2 DD 56 A1              1000        LD      D,(IX-95)\r
-    00006FD5 3E 00                 1001        LD      A,BYTE3 _write\r
-    00006FD7 21 72 72              1002        LD      HL,LWRD _write\r
-    00006FDA C3 FB 81              1003        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-                                   1004        RSEG    CSTR\r
-    0000850C                       1005 ?0004:\r
-    0000850C 42 61 72 63 6F 64 65  1006        DEFB    'Barcode'\r
-    00008513 00                    1007        DEFB    0\r
-    00008514                       1008 ?0005:\r
-    00008514 53 74 75 6B 73        1009        DEFB    'Stuks'\r
-    00008519 00                    1010        DEFB    0\r
-    0000851A                       1011 ?0006:\r
-    0000851A 50 72 69 6A 73        1012        DEFB    'Prijs'\r
-    0000851F 00                    1013        DEFB    0\r
-    00008520                       1014 ?0014:\r
-    00008520 00                    1015        DEFB    0\r
-    00008521                       1016 ?0021:\r
-    00008521 2F 64 65 76 2F 70 72  1017        DEFB    '/dev/printer'\r
+    00006B10                         34 Transaction_init:\r
+    00006B10 C5                      35        PUSH    BC\r
+    00006B11 D5                      36        PUSH    DE\r
+    00006B12 11 08 00                37        LD      DE,8\r
+    00006B15 CD 7D 6B                38        CALL    LWRD ?0045\r
+    00006B18 22 53 87                39        LD      (trans),HL\r
+    00006B1B 01 06 00                40        LD      BC,6\r
+    00006B1E 09                      41        ADD     HL,BC\r
+    00006B1F E5                      42        PUSH    HL\r
+    00006B20 CD 7A 6B                43        CALL    LWRD ?0046\r
+    00006B23 4D                      44        LD      C,L\r
+    00006B24 44                      45        LD      B,H\r
+    00006B25 E1                      46        POP     HL\r
+    00006B26 71                      47        LD      (HL),C\r
+    00006B27 23                      48        INC     HL\r
+    00006B28 70                      49        LD      (HL),B\r
+    00006B29 21 06 00                50        LD      HL,6\r
+    00006B2C ED 4B 53 87             51        LD      BC,(trans)\r
+    00006B30 09                      52        ADD     HL,BC\r
+    00006B31 56                      53        LD      D,(HL)\r
+    00006B32 23                      54        INC     HL\r
+    00006B33 66                      55        LD      H,(HL)\r
+    00006B34 6A                      56        LD      L,D\r
+    00006B35 11 14 00                57        LD      DE,20\r
+    00006B38 19                      58        ADD     HL,DE\r
+    00006B39 AF                      59        XOR     A\r
+    00006B3A 77                      60        LD      (HL),A\r
+    00006B3B 23                      61        INC     HL\r
+    00006B3C 77                      62        LD      (HL),A\r
+    00006B3D 21 06 00                63        LD      HL,6\r
+    00006B40 ED 4B 53 87             64        LD      BC,(trans)\r
+    00006B44 09                      65        ADD     HL,BC\r
+    00006B45 7E                      66        LD      A,(HL)\r
+    00006B46 23                      67        INC     HL\r
+    00006B47 66                      68        LD      H,(HL)\r
+    00006B48 6F                      69        LD      L,A\r
+    00006B49 72                      70        LD      (HL),D\r
+    00006B4A 21 06 00                71        LD      HL,6\r
+    00006B4D ED 4B 53 87             72        LD      BC,(trans)\r
+    00006B51 09                      73        ADD     HL,BC\r
+    00006B52 56                      74        LD      D,(HL)\r
+    00006B53 23                      75        INC     HL\r
+    00006B54 66                      76        LD      H,(HL)\r
+    00006B55 6A                      77        LD      L,D\r
+    00006B56 11 0E 00                78        LD      DE,14\r
+    00006B59 19                      79        ADD     HL,DE\r
+    00006B5A AF                      80        XOR     A\r
+    00006B5B 77                      81        LD      (HL),A\r
+    00006B5C 23                      82        INC     HL\r
+    00006B5D 77                      83        LD      (HL),A\r
+    00006B5E 21 06 00                84        LD      HL,6\r
+    00006B61 ED 4B 53 87             85        LD      BC,(trans)\r
+    00006B65 09                      86        ADD     HL,BC\r
+    00006B66 46                      87        LD      B,(HL)\r
+    00006B67 23                      88        INC     HL\r
+    00006B68 66                      89        LD      H,(HL)\r
+    00006B69 68                      90        LD      L,B\r
+    00006B6A 01 10 00                91        LD      BC,16\r
+    00006B6D 09                      92        ADD     HL,BC\r
+    00006B6E 77                      93        LD      (HL),A\r
+    00006B6F 23                      94        INC     HL\r
+    00006B70 77                      95        LD      (HL),A\r
+    00006B71 23                      96        INC     HL\r
+    00006B72 77                      97        LD      (HL),A\r
+    00006B73 23                      98        INC     HL\r
+    00006B74 77                      99        LD      (HL),A\r
+    00006B75 D1                     100        POP     DE\r
+    00006B76 C1                     101        POP     BC\r
+    00006B77 C3 A9 81               102        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00006B7A                        103 ?0046:\r
+    00006B7A 11 16 00               104        LD      DE,22\r
+    00006B7D                        105 ?0045:\r
+    00006B7D 3E 01                  106        LD      A,BYTE3 malloc\r
+    00006B7F 21 2B 40               107        LD      HL,LWRD malloc\r
+    00006B82 C3 FB 81               108        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00006B85                        109 Transaction_handler:\r
+    00006B85 CD 7A 82               110        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00006B88 9E FF                  111        DEFW    65438\r
+    00006B8A FD E5                  112        PUSH    IY\r
+    00006B8C 21 26 00               113        LD      HL,38\r
+    00006B8F DD 4E 02               114        LD      C,(IX+2)\r
+    00006B92 DD 46 03               115        LD      B,(IX+3)\r
+    00006B95 09                     116        ADD     HL,BC\r
+    00006B96 46                     117        LD      B,(HL)\r
+    00006B97 DD 70 9E               118        LD      (IX-98),B\r
+    00006B9A 23                     119        INC     HL\r
+    00006B9B 66                     120        LD      H,(HL)\r
+    00006B9C DD 74 9F               121        LD      (IX-97),H\r
+    00006B9F 2A 53 87               122        LD      HL,(trans)\r
+    00006BA2 7D                     123        LD      A,L\r
+    00006BA3 B4                     124        OR      H\r
+    00006BA4 20 08                  125        JR      NZ,?0001\r
+    00006BA6                        126 ?0000:\r
+    00006BA6 3E 00                  127        LD      A,BYTE3 Transaction_init\r
+    00006BA8 21 10 6B               128        LD      HL,LWRD Transaction_init\r
+    00006BAB CD FB 81               129        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006BAE                        130 ?0001:\r
+    00006BAE 68                     131        LD      L,B\r
+    00006BAF DD 66 9F               132        LD      H,(IX-97)\r
+    00006BB2 23                     133        INC     HL\r
+    00006BB3 23                     134        INC     HL\r
+    00006BB4 23                     135        INC     HL\r
+    00006BB5 46                     136        LD      B,(HL)\r
+    00006BB6 23                     137        INC     HL\r
+    00006BB7 66                     138        LD      H,(HL)\r
+    00006BB8 68                     139        LD      L,B\r
+    00006BB9 01 10 90               140        LD      BC,36880\r
+    00006BBC 3E 80                  141        LD      A,128\r
+    00006BBE AC                     142        XOR     H\r
+    00006BBF 67                     143        LD      H,A\r
+    00006BC0 ED 42                  144        SBC     HL,BC\r
+    00006BC2 DA 04 6D               145        JP      C,?0003\r
+    00006BC5 DD 6E 9E               146        LD      L,(IX-98)\r
+    00006BC8 DD 66 9F               147        LD      H,(IX-97)\r
+    00006BCB 23                     148        INC     HL\r
+    00006BCC 23                     149        INC     HL\r
+    00006BCD 23                     150        INC     HL\r
+    00006BCE 4E                     151        LD      C,(HL)\r
+    00006BCF 23                     152        INC     HL\r
+    00006BD0 46                     153        LD      B,(HL)\r
+    00006BD1 21 12 10               154        LD      HL,4114\r
+    00006BD4 CD C8 82               155        CALL    LWRD ?SS_CMP_L02\r
+    00006BD7 DA 04 6D               156        JP      C,?0003\r
+    00006BDA                        157 ?0005:\r
+    00006BDA                        158 ?0004:\r
+    00006BDA                        159 ?0002:\r
+    00006BDA 21 06 00               160        LD      HL,6\r
+    00006BDD ED 4B 53 87            161        LD      BC,(trans)\r
+    00006BE1 09                     162        ADD     HL,BC\r
+    00006BE2 46                     163        LD      B,(HL)\r
+    00006BE3 23                     164        INC     HL\r
+    00006BE4 66                     165        LD      H,(HL)\r
+    00006BE5 68                     166        LD      L,B\r
+    00006BE6                        167 ?0041:\r
+    00006BE6 DD 75 A2               168        LD      (IX-94),L\r
+    00006BE9 DD 74 A3               169        LD      (IX-93),H\r
+    00006BEC                        170 ?0007:\r
+    00006BEC 21 14 00               171        LD      HL,20\r
+    00006BEF DD 4E A2               172        LD      C,(IX-94)\r
+    00006BF2 DD 46 A3               173        LD      B,(IX-93)\r
+    00006BF5 09                     174        ADD     HL,BC\r
+    00006BF6 7E                     175        LD      A,(HL)\r
+    00006BF7 23                     176        INC     HL\r
+    00006BF8 B6                     177        OR      (HL)\r
+    00006BF9 28 0A                  178        JR      Z,?0006\r
+    00006BFB                        179 ?0008:\r
+    00006BFB 21 14 00               180        LD      HL,20\r
+    00006BFE 09                     181        ADD     HL,BC\r
+    00006BFF 56                     182        LD      D,(HL)\r
+    00006C00 23                     183        INC     HL\r
+    00006C01 66                     184        LD      H,(HL)\r
+    00006C02 6A                     185        LD      L,D\r
+    00006C03 18 E1                  186        JR      ?0041\r
+    00006C05                        187 ?0006:\r
+    00006C05 21 05 00               188        LD      HL,5\r
+    00006C08 DD 4E 9E               189        LD      C,(IX-98)\r
+    00006C0B DD 46 9F               190        LD      B,(IX-97)\r
+    00006C0E 09                     191        ADD     HL,BC\r
+    00006C0F 4E                     192        LD      C,(HL)\r
+    00006C10 23                     193        INC     HL\r
+    00006C11 46                     194        LD      B,(HL)\r
+    00006C12 21 11 00               195        LD      HL,17\r
+    00006C15 DD 5E 02               196        LD      E,(IX+2)\r
+    00006C18 DD 56 03               197        LD      D,(IX+3)\r
+    00006C1B 19                     198        ADD     HL,DE\r
+    00006C1C 5E                     199        LD      E,(HL)\r
+    00006C1D 23                     200        INC     HL\r
+    00006C1E 56                     201        LD      D,(HL)\r
+    00006C1F 3E 00                  202        LD      A,BYTE3 Component_find\r
+    00006C21 21 77 4E               203        LD      HL,LWRD Component_find\r
+    00006C24 CD FB 81               204        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C27 DD 75 A0               205        LD      (IX-96),L\r
+    00006C2A DD 74 A1               206        LD      (IX-95),H\r
+    00006C2D 01 20 00               207        LD      BC,32\r
+    00006C30 09                     208        ADD     HL,BC\r
+    00006C31 4E                     209        LD      C,(HL)\r
+    00006C32 23                     210        INC     HL\r
+    00006C33 46                     211        LD      B,(HL)\r
+    00006C34 DD 5E 02               212        LD      E,(IX+2)\r
+    00006C37 DD 56 03               213        LD      D,(IX+3)\r
+    00006C3A 3E 00                  214        LD      A,BYTE3 Component_setlabel\r
+    00006C3C 21 42 4D               215        LD      HL,LWRD Component_setlabel\r
+    00006C3F CD FB 81               216        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C42 01 19 85               217        LD      BC,?0009\r
+    00006C45 DD 5E A0               218        LD      E,(IX-96)\r
+    00006C48 DD 56 A1               219        LD      D,(IX-95)\r
+    00006C4B 3E 00                  220        LD      A,BYTE3 Component_setlabel\r
+    00006C4D 21 42 4D               221        LD      HL,LWRD Component_setlabel\r
+    00006C50 CD FB 81               222        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C53 DD 5E A0               223        LD      E,(IX-96)\r
+    00006C56 4B                     224        LD      C,E\r
+    00006C57 DD 56 A1               225        LD      D,(IX-95)\r
+    00006C5A CD B3 70               226        CALL    LWRD ?0048\r
+    00006C5D DD 6E 9E               227        LD      L,(IX-98)\r
+    00006C60 DD 66 9F               228        LD      H,(IX-97)\r
+    00006C63 23                     229        INC     HL\r
+    00006C64 23                     230        INC     HL\r
+    00006C65 23                     231        INC     HL\r
+    00006C66 5E                     232        LD      E,(HL)\r
+    00006C67 23                     233        INC     HL\r
+    00006C68 56                     234        LD      D,(HL)\r
+    00006C69 CD 08 82               235        CALL    LWRD ?S_S_SWITCH_L06\r
+    00006C6C 10 10                  236        DEFW    4112\r
+    00006C6E 03 00                  237        DEFW    3\r
+    00006C70 FA 6C                  238        DEFW    ?0010\r
+    00006C72 78 6C                  239        DEFW    ?0011\r
+    00006C74 95 6C                  240        DEFW    ?0012\r
+    00006C76 CD 6C                  241        DEFW    ?0015\r
+    00006C78                        242 ?0011:\r
+    00006C78 21 20 00               243        LD      HL,32\r
+    00006C7B DD 4E 02               244        LD      C,(IX+2)\r
+    00006C7E DD 46 03               245        LD      B,(IX+3)\r
+    00006C81 09                     246        ADD     HL,BC\r
+    00006C82 4E                     247        LD      C,(HL)\r
+    00006C83 23                     248        INC     HL\r
+    00006C84 46                     249        LD      B,(HL)\r
+    00006C85 DD 5E A2               250        LD      E,(IX-94)\r
+    00006C88 DD 56 A3               251        LD      D,(IX-93)\r
+    00006C8B 3E 00                  252        LD      A,BYTE3 strcpy\r
+    00006C8D 21 5A 76               253        LD      HL,LWRD strcpy\r
+    00006C90 CD FB 81               254        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006C93 18 65                  255        JR      ?0010\r
+    00006C95                        256 ?0012:\r
+    00006C95 21 0E 00               257        LD      HL,14\r
+    00006C98 DD 4E A2               258        LD      C,(IX-94)\r
+    00006C9B DD 46 A3               259        LD      B,(IX-93)\r
+    00006C9E 09                     260        ADD     HL,BC\r
+    00006C9F E5                     261        PUSH    HL\r
+    00006CA0 21 20 00               262        LD      HL,32\r
+    00006CA3 DD 5E 02               263        LD      E,(IX+2)\r
+    00006CA6 DD 56 03               264        LD      D,(IX+3)\r
+    00006CA9 19                     265        ADD     HL,DE\r
+    00006CAA 5E                     266        LD      E,(HL)\r
+    00006CAB 23                     267        INC     HL\r
+    00006CAC 56                     268        LD      D,(HL)\r
+    00006CAD 3E 00                  269        LD      A,BYTE3 atoi\r
+    00006CAF 21 81 76               270        LD      HL,LWRD atoi\r
+    00006CB2 CD FB 81               271        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006CB5 EB                     272        EX      DE,HL\r
+    00006CB6 E1                     273        POP     HL\r
+    00006CB7 73                     274        LD      (HL),E\r
+    00006CB8 23                     275        INC     HL\r
+    00006CB9 72                     276        LD      (HL),D\r
+    00006CBA 21 0E 00               277        LD      HL,14\r
+    00006CBD 09                     278        ADD     HL,BC\r
+    00006CBE 7E                     279        LD      A,(HL)\r
+    00006CBF 23                     280        INC     HL\r
+    00006CC0 B6                     281        OR      (HL)\r
+    00006CC1 20 37                  282        JR      NZ,?0010\r
+    00006CC3                        283 ?0013:\r
+    00006CC3 21 0E 00               284        LD      HL,14\r
+    00006CC6 09                     285        ADD     HL,BC\r
+    00006CC7 36 01                  286        LD      (HL),1\r
+    00006CC9 23                     287        INC     HL\r
+    00006CCA 77                     288        LD      (HL),A\r
+    00006CCB                        289 ?0014:\r
+    00006CCB 18 2D                  290        JR      ?0010\r
+    00006CCD                        291 ?0015:\r
+    00006CCD 21 20 00               292        LD      HL,32\r
+    00006CD0 DD 4E 02               293        LD      C,(IX+2)\r
+    00006CD3 DD 46 03               294        LD      B,(IX+3)\r
+    00006CD6 09                     295        ADD     HL,BC\r
+    00006CD7 5E                     296        LD      E,(HL)\r
+    00006CD8 23                     297        INC     HL\r
+    00006CD9 56                     298        LD      D,(HL)\r
+    00006CDA 3E 00                  299        LD      A,BYTE3 atol\r
+    00006CDC 21 D5 7D               300        LD      HL,LWRD atol\r
+    00006CDF CD FB 81               301        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006CE2 7C                     302        LD      A,H\r
+    00006CE3 07                     303        RLCA\r
+    00006CE4 9F                     304        SBC     A,A\r
+    00006CE5 4F                     305        LD      C,A\r
+    00006CE6 41                     306        LD      B,C\r
+    00006CE7 E5                     307        PUSH    HL\r
+    00006CE8 21 10 00               308        LD      HL,16\r
+    00006CEB DD 5E A2               309        LD      E,(IX-94)\r
+    00006CEE DD 56 A3               310        LD      D,(IX-93)\r
+    00006CF1 19                     311        ADD     HL,DE\r
+    00006CF2 D1                     312        POP     DE\r
+    00006CF3 73                     313        LD      (HL),E\r
+    00006CF4 23                     314        INC     HL\r
+    00006CF5 72                     315        LD      (HL),D\r
+    00006CF6 23                     316        INC     HL\r
+    00006CF7 71                     317        LD      (HL),C\r
+    00006CF8 23                     318        INC     HL\r
+    00006CF9 70                     319        LD      (HL),B\r
+    00006CFA                        320 ?0010:\r
+    00006CFA DD 5E 02               321        LD      E,(IX+2)\r
+    00006CFD 4B                     322        LD      C,E\r
+    00006CFE DD 56 03               323        LD      D,(IX+3)\r
+    00006D01 CD B3 70               324        CALL    LWRD ?0048\r
+    00006D04                        325 ?0003:\r
+    00006D04 DD 6E 9E               326        LD      L,(IX-98)\r
+    00006D07 DD 66 9F               327        LD      H,(IX-97)\r
+    00006D0A 23                     328        INC     HL\r
+    00006D0B 23                     329        INC     HL\r
+    00006D0C 23                     330        INC     HL\r
+    00006D0D 46                     331        LD      B,(HL)\r
+    00006D0E 23                     332        INC     HL\r
+    00006D0F 66                     333        LD      H,(HL)\r
+    00006D10 68                     334        LD      L,B\r
+    00006D11 01 1E 10               335        LD      BC,4126\r
+    00006D14 A7                     336        AND     A\r
+    00006D15 ED 42                  337        SBC     HL,BC\r
+    00006D17 C2 61 6F               338        JP      NZ,?0017\r
+    00006D1A                        339 ?0016:\r
+    00006D1A AF                     340        XOR     A\r
+    00006D1B DD 77 AC               341        LD      (IX-84),A\r
+    00006D1E DD 77 AD               342        LD      (IX-83),A\r
+    00006D21 DD 77 AE               343        LD      (IX-82),A\r
+    00006D24 DD 77 AF               344        LD      (IX-81),A\r
+    00006D27 21 06 00               345        LD      HL,6\r
+    00006D2A ED 4B 53 87            346        LD      BC,(trans)\r
+    00006D2E 09                     347        ADD     HL,BC\r
+    00006D2F 46                     348        LD      B,(HL)\r
+    00006D30 23                     349        INC     HL\r
+    00006D31 66                     350        LD      H,(HL)\r
+    00006D32 68                     351        LD      L,B\r
+    00006D33 E5                     352        PUSH    HL\r
+    00006D34 FD E1                  353        POP     IY\r
+    00006D36 21 01 00               354        LD      HL,1\r
+    00006D39 E5                     355        PUSH    HL\r
+    00006D3A 21 1A 85               356        LD      HL,?0018\r
+    00006D3D E5                     357        PUSH    HL\r
+    00006D3E 3E 01                  358        LD      A,BYTE3 open\r
+    00006D40 21 00 40               359        LD      HL,LWRD open\r
+    00006D43 CD FB 81               360        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006D46 F1                     361        POP     AF\r
+    00006D47 F1                     362        POP     AF\r
+    00006D48 DD 75 A0               363        LD      (IX-96),L\r
+    00006D4B DD 74 A1               364        LD      (IX-95),H\r
+    00006D4E 21 08 00               365        LD      HL,8\r
+    00006D51 39                     366        ADD     HL,SP\r
+    00006D52 E5                     367        PUSH    HL\r
+    00006D53 21 00 00               368        LD      HL,0\r
+    00006D56 E5                     369        PUSH    HL\r
+    00006D57 DD 6E A0               370        LD      L,(IX-96)\r
+    00006D5A DD 66 A1               371        LD      H,(IX-95)\r
+    00006D5D E5                     372        PUSH    HL\r
+    00006D5E 3E 00                  373        LD      A,BYTE3 ioctl\r
+    00006D60 21 FD 74               374        LD      HL,LWRD ioctl\r
+    00006D63 CD FB 81               375        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006D66 F1                     376        POP     AF\r
+    00006D67 F1                     377        POP     AF\r
+    00006D68 F1                     378        POP     AF\r
+    00006D69 DD 36 A8 60            379        LD      (IX-88),96\r
+    00006D6D DD 36 A9 00            380        LD      (IX-87),0\r
+    00006D71 21 08 00               381        LD      HL,8\r
+    00006D74 39                     382        ADD     HL,SP\r
+    00006D75 E5                     383        PUSH    HL\r
+    00006D76 21 01 00               384        LD      HL,1\r
+    00006D79 E5                     385        PUSH    HL\r
+    00006D7A DD 6E A0               386        LD      L,(IX-96)\r
+    00006D7D DD 66 A1               387        LD      H,(IX-95)\r
+    00006D80 E5                     388        PUSH    HL\r
+    00006D81 3E 00                  389        LD      A,BYTE3 ioctl\r
+    00006D83 21 FD 74               390        LD      HL,LWRD ioctl\r
+    00006D86 CD FB 81               391        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006D89 F1                     392        POP     AF\r
+    00006D8A F1                     393        POP     AF\r
+    00006D8B F1                     394        POP     AF\r
+    00006D8C                        395 ?0020:\r
+    00006D8C FD E5                  396        PUSH    IY\r
+    00006D8E E1                     397        POP     HL\r
+    00006D8F 7D                     398        LD      A,L\r
+    00006D90 B4                     399        OR      H\r
+    00006D91 CA 76 6E               400        JP      Z,?0019\r
+    00006D94                        401 ?0021:\r
+    00006D94 FD 7E 0E               402        LD      A,(IY+14)\r
+    00006D97 FD B6 0F               403        OR      (IY+15)\r
+    00006D9A CA 6A 6E               404        JP      Z,?0023\r
+    00006D9D                        405 ?0022:\r
+    00006D9D 3E 01                  406        LD      A,1\r
+    00006D9F FD AE 0E               407        XOR     (IY+14)\r
+    00006DA2 FD B6 0F               408        OR      (IY+15)\r
+    00006DA5 20 29                  409        JR      NZ,?0025\r
+    00006DA7                        410 ?0024:\r
+    00006DA7 6F                     411        LD      L,A\r
+    00006DA8 67                     412        LD      H,A\r
+    00006DA9 E5                     413        PUSH    HL\r
+    00006DAA 2E 64                  414        LD      L,100\r
+    00006DAC E5                     415        PUSH    HL\r
+    00006DAD CD CA 70               416        CALL    LWRD ?0051\r
+    00006DB0 C5                     417        PUSH    BC\r
+    00006DB1 E5                     418        PUSH    HL\r
+    00006DB2 6F                     419        LD      L,A\r
+    00006DB3 67                     420        LD      H,A\r
+    00006DB4 E5                     421        PUSH    HL\r
+    00006DB5 2E 64                  422        LD      L,100\r
+    00006DB7 E5                     423        PUSH    HL\r
+    00006DB8 CD D9 70               424        CALL    LWRD ?0052\r
+    00006DBB C5                     425        PUSH    BC\r
+    00006DBC E5                     426        PUSH    HL\r
+    00006DBD FD E5                  427        PUSH    IY\r
+    00006DBF 21 27 85               428        LD      HL,?0026\r
+    00006DC2 E5                     429        PUSH    HL\r
+    00006DC3 21 20 00               430        LD      HL,32\r
+    00006DC6 39                     431        ADD     HL,SP\r
+    00006DC7 E5                     432        PUSH    HL\r
+    00006DC8 CD C2 70               433        CALL    LWRD ?0050\r
+    00006DCB 21 0E 00               434        LD      HL,14\r
+    00006DCE 18 68                  435        JR      ?0042\r
+    00006DD0                        436 ?0025:\r
+    00006DD0 21 00 00               437        LD      HL,0\r
+    00006DD3 E5                     438        PUSH    HL\r
+    00006DD4 2E 64                  439        LD      L,100\r
+    00006DD6 E5                     440        PUSH    HL\r
+    00006DD7 FD 6E 0E               441        LD      L,(IY+14)\r
+    00006DDA FD 66 0F               442        LD      H,(IY+15)\r
+    00006DDD 7C                     443        LD      A,H\r
+    00006DDE 07                     444        RLCA\r
+    00006DDF 9F                     445        SBC     A,A\r
+    00006DE0 4F                     446        LD      C,A\r
+    00006DE1 41                     447        LD      B,C\r
+    00006DE2 C5                     448        PUSH    BC\r
+    00006DE3 E5                     449        PUSH    HL\r
+    00006DE4 CD E8 70               450        CALL    LWRD ?0053\r
+    00006DE7 CD 47 82               451        CALL    LWRD ?SL_MOD_L03\r
+    00006DEA C5                     452        PUSH    BC\r
+    00006DEB E5                     453        PUSH    HL\r
+    00006DEC 21 00 00               454        LD      HL,0\r
+    00006DEF E5                     455        PUSH    HL\r
+    00006DF0 2E 64                  456        LD      L,100\r
+    00006DF2 E5                     457        PUSH    HL\r
+    00006DF3 FD 6E 0E               458        LD      L,(IY+14)\r
+    00006DF6 FD 66 0F               459        LD      H,(IY+15)\r
+    00006DF9 7C                     460        LD      A,H\r
+    00006DFA 07                     461        RLCA\r
+    00006DFB 9F                     462        SBC     A,A\r
+    00006DFC 4F                     463        LD      C,A\r
+    00006DFD 41                     464        LD      B,C\r
+    00006DFE C5                     465        PUSH    BC\r
+    00006DFF E5                     466        PUSH    HL\r
+    00006E00 CD E8 70               467        CALL    LWRD ?0053\r
+    00006E03 CD 98 82               468        CALL    LWRD ?SL_DIV_L03\r
+    00006E06 C5                     469        PUSH    BC\r
+    00006E07 E5                     470        PUSH    HL\r
+    00006E08 21 00 00               471        LD      HL,0\r
+    00006E0B E5                     472        PUSH    HL\r
+    00006E0C 2E 64                  473        LD      L,100\r
+    00006E0E E5                     474        PUSH    HL\r
+    00006E0F CD CA 70               475        CALL    LWRD ?0051\r
+    00006E12 C5                     476        PUSH    BC\r
+    00006E13 E5                     477        PUSH    HL\r
+    00006E14 21 00 00               478        LD      HL,0\r
+    00006E17 E5                     479        PUSH    HL\r
+    00006E18 2E 64                  480        LD      L,100\r
+    00006E1A E5                     481        PUSH    HL\r
+    00006E1B CD D9 70               482        CALL    LWRD ?0052\r
+    00006E1E C5                     483        PUSH    BC\r
+    00006E1F E5                     484        PUSH    HL\r
+    00006E20 FD 6E 0E               485        LD      L,(IY+14)\r
+    00006E23 FD 66 0F               486        LD      H,(IY+15)\r
+    00006E26 E5                     487        PUSH    HL\r
+    00006E27 FD E5                  488        PUSH    IY\r
+    00006E29 21 4A 85               489        LD      HL,?0028\r
+    00006E2C E5                     490        PUSH    HL\r
+    00006E2D 21 2A 00               491        LD      HL,42\r
+    00006E30 39                     492        ADD     HL,SP\r
+    00006E31 E5                     493        PUSH    HL\r
+    00006E32 CD C2 70               494        CALL    LWRD ?0050\r
+    00006E35 21 18 00               495        LD      HL,24\r
+    00006E38                        496 ?0042:\r
+    00006E38 39                     497        ADD     HL,SP\r
+    00006E39 F9                     498        LD      SP,HL\r
+    00006E3A                        499 ?0027:\r
+    00006E3A 21 10 00               500        LD      HL,16\r
+    00006E3D 39                     501        ADD     HL,SP\r
+    00006E3E E5                     502        PUSH    HL\r
+    00006E3F FD 5E 0E               503        LD      E,(IY+14)\r
+    00006E42 FD 56 0F               504        LD      D,(IY+15)\r
+    00006E45 7A                     505        LD      A,D\r
+    00006E46 07                     506        RLCA\r
+    00006E47 9F                     507        SBC     A,A\r
+    00006E48 4F                     508        LD      C,A\r
+    00006E49 41                     509        LD      B,C\r
+    00006E4A C5                     510        PUSH    BC\r
+    00006E4B D5                     511        PUSH    DE\r
+    00006E4C CD E8 70               512        CALL    LWRD ?0053\r
+    00006E4F EB                     513        EX      DE,HL\r
+    00006E50 E1                     514        POP     HL\r
+    00006E51 CD D6 81               515        CALL    LWRD ?L_ADDASG_L03\r
+    00006E54 21 14 00               516        LD      HL,20\r
+    00006E57 39                     517        ADD     HL,SP\r
+    00006E58 EB                     518        EX      DE,HL\r
+    00006E59 3E 00                  519        LD      A,BYTE3 strlen\r
+    00006E5B 21 C6 74               520        LD      HL,LWRD strlen\r
+    00006E5E CD FB 81               521        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006E61 E5                     522        PUSH    HL\r
+    00006E62 21 16 00               523        LD      HL,22\r
+    00006E65 39                     524        ADD     HL,SP\r
+    00006E66 CD F7 70               525        CALL    LWRD ?0054\r
+    00006E69 F1                     526        POP     AF\r
+    00006E6A                        527 ?0023:\r
+    00006E6A FD 6E 14               528        LD      L,(IY+20)\r
+    00006E6D FD 66 15               529        LD      H,(IY+21)\r
+    00006E70 E5                     530        PUSH    HL\r
+    00006E71 FD E1                  531        POP     IY\r
+    00006E73 C3 8C 6D               532        JP      LWRD ?0020\r
+    00006E76                        533 ?0019:\r
+    00006E76 6F                     534        LD      L,A\r
+    00006E77 67                     535        LD      H,A\r
+    00006E78 E5                     536        PUSH    HL\r
+    00006E79 2E 64                  537        LD      L,100\r
+    00006E7B E5                     538        PUSH    HL\r
+    00006E7C DD 4E AE               539        LD      C,(IX-82)\r
+    00006E7F DD 46 AF               540        LD      B,(IX-81)\r
+    00006E82 DD 6E AC               541        LD      L,(IX-84)\r
+    00006E85 DD 66 AD               542        LD      H,(IX-83)\r
+    00006E88 CD 47 82               543        CALL    LWRD ?SL_MOD_L03\r
+    00006E8B C5                     544        PUSH    BC\r
+    00006E8C E5                     545        PUSH    HL\r
+    00006E8D 6F                     546        LD      L,A\r
+    00006E8E 67                     547        LD      H,A\r
+    00006E8F E5                     548        PUSH    HL\r
+    00006E90 2E 64                  549        LD      L,100\r
+    00006E92 E5                     550        PUSH    HL\r
+    00006E93 DD 4E AE               551        LD      C,(IX-82)\r
+    00006E96 DD 46 AF               552        LD      B,(IX-81)\r
+    00006E99 DD 6E AC               553        LD      L,(IX-84)\r
+    00006E9C DD 66 AD               554        LD      H,(IX-83)\r
+    00006E9F CD 98 82               555        CALL    LWRD ?SL_DIV_L03\r
+    00006EA2 C5                     556        PUSH    BC\r
+    00006EA3 E5                     557        PUSH    HL\r
+    00006EA4 21 19 85               558        LD      HL,?0009\r
+    00006EA7 E5                     559        PUSH    HL\r
+    00006EA8 E5                     560        PUSH    HL\r
+    00006EA9 21 8A 85               561        LD      HL,?0029\r
+    00006EAC E5                     562        PUSH    HL\r
+    00006EAD 21 22 00               563        LD      HL,34\r
+    00006EB0 39                     564        ADD     HL,SP\r
+    00006EB1 E5                     565        PUSH    HL\r
+    00006EB2 CD C2 70               566        CALL    LWRD ?0050\r
+    00006EB5 21 10 00               567        LD      HL,16\r
+    00006EB8 39                     568        ADD     HL,SP\r
+    00006EB9 F9                     569        LD      SP,HL\r
+    00006EBA 21 14 00               570        LD      HL,20\r
+    00006EBD 39                     571        ADD     HL,SP\r
+    00006EBE EB                     572        EX      DE,HL\r
+    00006EBF 3E 00                  573        LD      A,BYTE3 strlen\r
+    00006EC1 21 C6 74               574        LD      HL,LWRD strlen\r
+    00006EC4 CD FB 81               575        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006EC7 E5                     576        PUSH    HL\r
+    00006EC8 21 16 00               577        LD      HL,22\r
+    00006ECB 39                     578        ADD     HL,SP\r
+    00006ECC CD F7 70               579        CALL    LWRD ?0054\r
+    00006ECF F1                     580        POP     AF\r
+    00006ED0 DD 5E A0               581        LD      E,(IX-96)\r
+    00006ED3 DD 56 A1               582        LD      D,(IX-95)\r
+    00006ED6 3E 00                  583        LD      A,BYTE3 close\r
+    00006ED8 21 B1 74               584        LD      HL,LWRD close\r
+    00006EDB CD FB 81               585        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006EDE 21 06 00               586        LD      HL,6\r
+    00006EE1 ED 4B 53 87            587        LD      BC,(trans)\r
+    00006EE5 09                     588        ADD     HL,BC\r
+    00006EE6 46                     589        LD      B,(HL)\r
+    00006EE7 23                     590        INC     HL\r
+    00006EE8 66                     591        LD      H,(HL)\r
+    00006EE9 68                     592        LD      L,B\r
+    00006EEA                        593 ?0043:\r
+    00006EEA E5                     594        PUSH    HL\r
+    00006EEB FD E1                  595        POP     IY\r
+    00006EED                        596 ?0031:\r
+    00006EED 7D                     597        LD      A,L\r
+    00006EEE B4                     598        OR      H\r
+    00006EEF 28 13                  599        JR      Z,?0030\r
+    00006EF1                        600 ?0032:\r
+    00006EF1 FD E5                  601        PUSH    IY\r
+    00006EF3 D1                     602        POP     DE\r
+    00006EF4 3E 00                  603        LD      A,BYTE3 free\r
+    00006EF6 21 7A 75               604        LD      HL,LWRD free\r
+    00006EF9 CD FB 81               605        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006EFC FD 6E 14               606        LD      L,(IY+20)\r
+    00006EFF FD 66 15               607        LD      H,(IY+21)\r
+    00006F02 18 E6                  608        JR      ?0043\r
+    00006F04                        609 ?0030:\r
+    00006F04 21 06 00               610        LD      HL,6\r
+    00006F07 ED 4B 53 87            611        LD      BC,(trans)\r
+    00006F0B 09                     612        ADD     HL,BC\r
+    00006F0C E5                     613        PUSH    HL\r
+    00006F0D CD 7A 6B               614        CALL    LWRD ?0046\r
+    00006F10 EB                     615        EX      DE,HL\r
+    00006F11 E1                     616        POP     HL\r
+    00006F12 73                     617        LD      (HL),E\r
+    00006F13 23                     618        INC     HL\r
+    00006F14 72                     619        LD      (HL),D\r
+    00006F15 21 06 00               620        LD      HL,6\r
+    00006F18 ED 4B 53 87            621        LD      BC,(trans)\r
+    00006F1C 09                     622        ADD     HL,BC\r
+    00006F1D 56                     623        LD      D,(HL)\r
+    00006F1E 23                     624        INC     HL\r
+    00006F1F 66                     625        LD      H,(HL)\r
+    00006F20 6A                     626        LD      L,D\r
+    00006F21 11 14 00               627        LD      DE,20\r
+    00006F24 19                     628        ADD     HL,DE\r
+    00006F25 AF                     629        XOR     A\r
+    00006F26 77                     630        LD      (HL),A\r
+    00006F27 23                     631        INC     HL\r
+    00006F28 77                     632        LD      (HL),A\r
+    00006F29 21 06 00               633        LD      HL,6\r
+    00006F2C ED 4B 53 87            634        LD      BC,(trans)\r
+    00006F30 09                     635        ADD     HL,BC\r
+    00006F31 7E                     636        LD      A,(HL)\r
+    00006F32 23                     637        INC     HL\r
+    00006F33 66                     638        LD      H,(HL)\r
+    00006F34 6F                     639        LD      L,A\r
+    00006F35 72                     640        LD      (HL),D\r
+    00006F36 21 06 00               641        LD      HL,6\r
+    00006F39 ED 4B 53 87            642        LD      BC,(trans)\r
+    00006F3D 09                     643        ADD     HL,BC\r
+    00006F3E 56                     644        LD      D,(HL)\r
+    00006F3F 23                     645        INC     HL\r
+    00006F40 66                     646        LD      H,(HL)\r
+    00006F41 6A                     647        LD      L,D\r
+    00006F42 11 0E 00               648        LD      DE,14\r
+    00006F45 19                     649        ADD     HL,DE\r
+    00006F46 AF                     650        XOR     A\r
+    00006F47 77                     651        LD      (HL),A\r
+    00006F48 23                     652        INC     HL\r
+    00006F49 77                     653        LD      (HL),A\r
+    00006F4A 21 06 00               654        LD      HL,6\r
+    00006F4D ED 4B 53 87            655        LD      BC,(trans)\r
+    00006F51 09                     656        ADD     HL,BC\r
+    00006F52 46                     657        LD      B,(HL)\r
+    00006F53 23                     658        INC     HL\r
+    00006F54 66                     659        LD      H,(HL)\r
+    00006F55 68                     660        LD      L,B\r
+    00006F56 01 10 00               661        LD      BC,16\r
+    00006F59 09                     662        ADD     HL,BC\r
+    00006F5A 77                     663        LD      (HL),A\r
+    00006F5B 23                     664        INC     HL\r
+    00006F5C 77                     665        LD      (HL),A\r
+    00006F5D 23                     666        INC     HL\r
+    00006F5E 77                     667        LD      (HL),A\r
+    00006F5F 23                     668        INC     HL\r
+    00006F60 77                     669        LD      (HL),A\r
+    00006F61                        670 ?0017:\r
+    00006F61 DD 6E 9E               671        LD      L,(IX-98)\r
+    00006F64 DD 66 9F               672        LD      H,(IX-97)\r
+    00006F67 23                     673        INC     HL\r
+    00006F68 23                     674        INC     HL\r
+    00006F69 23                     675        INC     HL\r
+    00006F6A 46                     676        LD      B,(HL)\r
+    00006F6B 23                     677        INC     HL\r
+    00006F6C 66                     678        LD      H,(HL)\r
+    00006F6D 68                     679        LD      L,B\r
+    00006F6E 01 1F 10               680        LD      BC,4127\r
+    00006F71 A7                     681        AND     A\r
+    00006F72 ED 42                  682        SBC     HL,BC\r
+    00006F74 C2 8F 70               683        JP      NZ,?0034\r
+    00006F77                        684 ?0033:\r
+    00006F77 21 06 00               685        LD      HL,6\r
+    00006F7A ED 4B 53 87            686        LD      BC,(trans)\r
+    00006F7E 09                     687        ADD     HL,BC\r
+    00006F7F 46                     688        LD      B,(HL)\r
+    00006F80 23                     689        INC     HL\r
+    00006F81 66                     690        LD      H,(HL)\r
+    00006F82 68                     691        LD      L,B\r
+    00006F83                        692 ?0044:\r
+    00006F83 DD 75 A0               693        LD      (IX-96),L\r
+    00006F86 DD 74 A1               694        LD      (IX-95),H\r
+    00006F89                        695 ?0036:\r
+    00006F89 21 14 00               696        LD      HL,20\r
+    00006F8C DD 4E A0               697        LD      C,(IX-96)\r
+    00006F8F DD 46 A1               698        LD      B,(IX-95)\r
+    00006F92 09                     699        ADD     HL,BC\r
+    00006F93 7E                     700        LD      A,(HL)\r
+    00006F94 23                     701        INC     HL\r
+    00006F95 B6                     702        OR      (HL)\r
+    00006F96 28 0A                  703        JR      Z,?0035\r
+    00006F98                        704 ?0037:\r
+    00006F98 21 14 00               705        LD      HL,20\r
+    00006F9B 09                     706        ADD     HL,BC\r
+    00006F9C 56                     707        LD      D,(HL)\r
+    00006F9D 23                     708        INC     HL\r
+    00006F9E 66                     709        LD      H,(HL)\r
+    00006F9F 6A                     710        LD      L,D\r
+    00006FA0 18 E1                  711        JR      ?0044\r
+    00006FA2                        712 ?0035:\r
+    00006FA2 21 07 00               713        LD      HL,7\r
+    00006FA5 DD 4E 9E               714        LD      C,(IX-98)\r
+    00006FA8 DD 46 9F               715        LD      B,(IX-97)\r
+    00006FAB 09                     716        ADD     HL,BC\r
+    00006FAC 6E                     717        LD      L,(HL)\r
+    00006FAD 67                     718        LD      H,A\r
+    00006FAE E5                     719        PUSH    HL\r
+    00006FAF 2A 53 87               720        LD      HL,(trans)\r
+    00006FB2 C1                     721        POP     BC\r
+    00006FB3 71                     722        LD      (HL),C\r
+    00006FB4 23                     723        INC     HL\r
+    00006FB5 70                     724        LD      (HL),B\r
+    00006FB6 2A 53 87               725        LD      HL,(trans)\r
+    00006FB9 23                     726        INC     HL\r
+    00006FBA 23                     727        INC     HL\r
+    00006FBB E5                     728        PUSH    HL\r
+    00006FBC 21 07 00               729        LD      HL,7\r
+    00006FBF DD 4E 9E               730        LD      C,(IX-98)\r
+    00006FC2 DD 46 9F               731        LD      B,(IX-97)\r
+    00006FC5 09                     732        ADD     HL,BC\r
+    00006FC6 5E                     733        LD      E,(HL)\r
+    00006FC7 23                     734        INC     HL\r
+    00006FC8 56                     735        LD      D,(HL)\r
+    00006FC9 23                     736        INC     HL\r
+    00006FCA 4E                     737        LD      C,(HL)\r
+    00006FCB 23                     738        INC     HL\r
+    00006FCC 46                     739        LD      B,(HL)\r
+    00006FCD EB                     740        EX      DE,HL\r
+    00006FCE 3E 08                  741        LD      A,8\r
+    00006FD0 CD 15 83               742        CALL    LWRD ?SL_RSH_L03\r
+    00006FD3 06 00                  743        LD      B,0\r
+    00006FD5 4D                     744        LD      C,L\r
+    00006FD6 E1                     745        POP     HL\r
+    00006FD7 71                     746        LD      (HL),C\r
+    00006FD8 23                     747        INC     HL\r
+    00006FD9 70                     748        LD      (HL),B\r
+    00006FDA 21 04 00               749        LD      HL,4\r
+    00006FDD ED 4B 53 87            750        LD      BC,(trans)\r
+    00006FE1 09                     751        ADD     HL,BC\r
+    00006FE2 E5                     752        PUSH    HL\r
+    00006FE3 21 07 00               753        LD      HL,7\r
+    00006FE6 DD 5E 9E               754        LD      E,(IX-98)\r
+    00006FE9 DD 56 9F               755        LD      D,(IX-97)\r
+    00006FEC 19                     756        ADD     HL,DE\r
+    00006FED 5E                     757        LD      E,(HL)\r
+    00006FEE 23                     758        INC     HL\r
+    00006FEF 56                     759        LD      D,(HL)\r
+    00006FF0 23                     760        INC     HL\r
+    00006FF1 4E                     761        LD      C,(HL)\r
+    00006FF2 23                     762        INC     HL\r
+    00006FF3 46                     763        LD      B,(HL)\r
+    00006FF4 EB                     764        EX      DE,HL\r
+    00006FF5 3E 10                  765        LD      A,16\r
+    00006FF7 CD 15 83               766        CALL    LWRD ?SL_RSH_L03\r
+    00006FFA 06 00                  767        LD      B,0\r
+    00006FFC 4D                     768        LD      C,L\r
+    00006FFD E1                     769        POP     HL\r
+    00006FFE 71                     770        LD      (HL),C\r
+    00006FFF 23                     771        INC     HL\r
+    00007000 70                     772        LD      (HL),B\r
+    00007001 2A 53 87               773        LD      HL,(trans)\r
+    00007004 CD 94 70               774        CALL    LWRD ?0047\r
+    00007007 01 AD 85               775        LD      BC,?0038\r
+    0000700A CD FB 81               776        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000700D 2A 53 87               777        LD      HL,(trans)\r
+    00007010 23                     778        INC     HL\r
+    00007011 23                     779        INC     HL\r
+    00007012 CD 94 70               780        CALL    LWRD ?0047\r
+    00007015 01 B5 85               781        LD      BC,?0039\r
+    00007018 CD FB 81               782        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000701B 21 04 00               783        LD      HL,4\r
+    0000701E ED 5B 53 87            784        LD      DE,(trans)\r
+    00007022 19                     785        ADD     HL,DE\r
+    00007023 CD 94 70               786        CALL    LWRD ?0047\r
+    00007026 01 BB 85               787        LD      BC,?0040\r
+    00007029 CD FB 81               788        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000702C 21 11 00               789        LD      HL,17\r
+    0000702F DD 4E 02               790        LD      C,(IX+2)\r
+    00007032 DD 46 03               791        LD      B,(IX+3)\r
+    00007035 09                     792        ADD     HL,BC\r
+    00007036 5E                     793        LD      E,(HL)\r
+    00007037 23                     794        INC     HL\r
+    00007038 56                     795        LD      D,(HL)\r
+    00007039 21 11 00               796        LD      HL,17\r
+    0000703C 09                     797        ADD     HL,BC\r
+    0000703D 46                     798        LD      B,(HL)\r
+    0000703E 23                     799        INC     HL\r
+    0000703F 66                     800        LD      H,(HL)\r
+    00007040 68                     801        LD      L,B\r
+    00007041 01 1A 00               802        LD      BC,26\r
+    00007044 CD B7 70               803        CALL    LWRD ?0049\r
+    00007047 21 14 00               804        LD      HL,20\r
+    0000704A DD 4E A0               805        LD      C,(IX-96)\r
+    0000704D DD 46 A1               806        LD      B,(IX-95)\r
+    00007050 09                     807        ADD     HL,BC\r
+    00007051 E5                     808        PUSH    HL\r
+    00007052 CD 7A 6B               809        CALL    LWRD ?0046\r
+    00007055 EB                     810        EX      DE,HL\r
+    00007056 E1                     811        POP     HL\r
+    00007057 73                     812        LD      (HL),E\r
+    00007058 23                     813        INC     HL\r
+    00007059 72                     814        LD      (HL),D\r
+    0000705A 21 14 00               815        LD      HL,20\r
+    0000705D 09                     816        ADD     HL,BC\r
+    0000705E 56                     817        LD      D,(HL)\r
+    0000705F 23                     818        INC     HL\r
+    00007060 66                     819        LD      H,(HL)\r
+    00007061 6A                     820        LD      L,D\r
+    00007062 DD 75 A0               821        LD      (IX-96),L\r
+    00007065 DD 74 A1               822        LD      (IX-95),H\r
+    00007068 01 14 00               823        LD      BC,20\r
+    0000706B 09                     824        ADD     HL,BC\r
+    0000706C AF                     825        XOR     A\r
+    0000706D 77                     826        LD      (HL),A\r
+    0000706E 23                     827        INC     HL\r
+    0000706F 77                     828        LD      (HL),A\r
+    00007070 DD 6E A0               829        LD      L,(IX-96)\r
+    00007073 DD 66 A1               830        LD      H,(IX-95)\r
+    00007076 70                     831        LD      (HL),B\r
+    00007077 21 0E 00               832        LD      HL,14\r
+    0000707A DD 4E A0               833        LD      C,(IX-96)\r
+    0000707D DD 46 A1               834        LD      B,(IX-95)\r
+    00007080 09                     835        ADD     HL,BC\r
+    00007081 77                     836        LD      (HL),A\r
+    00007082 23                     837        INC     HL\r
+    00007083 77                     838        LD      (HL),A\r
+    00007084 21 10 00               839        LD      HL,16\r
+    00007087 09                     840        ADD     HL,BC\r
+    00007088 77                     841        LD      (HL),A\r
+    00007089 23                     842        INC     HL\r
+    0000708A 77                     843        LD      (HL),A\r
+    0000708B 23                     844        INC     HL\r
+    0000708C 77                     845        LD      (HL),A\r
+    0000708D 23                     846        INC     HL\r
+    0000708E 77                     847        LD      (HL),A\r
+    0000708F                        848 ?0034:\r
+    0000708F FD E1                  849        POP     IY\r
+    00007091 C3 A3 81               850        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00007094                        851 ?0047:\r
+    00007094 4E                     852        LD      C,(HL)\r
+    00007095 23                     853        INC     HL\r
+    00007096 46                     854        LD      B,(HL)\r
+    00007097 21 11 00               855        LD      HL,17\r
+    0000709A DD 5E 02               856        LD      E,(IX+2)\r
+    0000709D DD 56 03               857        LD      D,(IX+3)\r
+    000070A0 19                     858        ADD     HL,DE\r
+    000070A1 5E                     859        LD      E,(HL)\r
+    000070A2 23                     860        INC     HL\r
+    000070A3 56                     861        LD      D,(HL)\r
+    000070A4 3E 00                  862        LD      A,BYTE3 Component_find\r
+    000070A6 21 77 4E               863        LD      HL,LWRD Component_find\r
+    000070A9 CD FB 81               864        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000070AC EB                     865        EX      DE,HL\r
+    000070AD 3E 00                  866        LD      A,BYTE3 Component_setlabel\r
+    000070AF 21 42 4D               867        LD      HL,LWRD Component_setlabel\r
+    000070B2 C9                     868        RET\r
+    000070B3                        869 ?0048:\r
+    000070B3 42                     870        LD      B,D\r
+    000070B4 21 1A 00               871        LD      HL,26\r
+    000070B7                        872 ?0049:\r
+    000070B7 09                     873        ADD     HL,BC\r
+    000070B8 4E                     874        LD      C,(HL)\r
+    000070B9 23                     875        INC     HL\r
+    000070BA 46                     876        LD      B,(HL)\r
+    000070BB 23                     877        INC     HL\r
+    000070BC 7E                     878        LD      A,(HL)\r
+    000070BD 69                     879        LD      L,C\r
+    000070BE 60                     880        LD      H,B\r
+    000070BF C3 FB 81               881        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000070C2                        882 ?0050:\r
+    000070C2 3E 00                  883        LD      A,BYTE3 sprintf\r
+    000070C4 21 50 71               884        LD      HL,LWRD sprintf\r
+    000070C7 C3 FB 81               885        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000070CA                        886 ?0051:\r
+    000070CA FD 4E 12               887        LD      C,(IY+18)\r
+    000070CD FD 46 13               888        LD      B,(IY+19)\r
+    000070D0 FD 6E 10               889        LD      L,(IY+16)\r
+    000070D3 FD 66 11               890        LD      H,(IY+17)\r
+    000070D6 C3 47 82               891        JP      LWRD ?SL_MOD_L03\r
+    000070D9                        892 ?0052:\r
+    000070D9 FD 4E 12               893        LD      C,(IY+18)\r
+    000070DC FD 46 13               894        LD      B,(IY+19)\r
+    000070DF FD 6E 10               895        LD      L,(IY+16)\r
+    000070E2 FD 66 11               896        LD      H,(IY+17)\r
+    000070E5 C3 98 82               897        JP      LWRD ?SL_DIV_L03\r
+    000070E8                        898 ?0053:\r
+    000070E8 FD 4E 12               899        LD      C,(IY+18)\r
+    000070EB FD 46 13               900        LD      B,(IY+19)\r
+    000070EE FD 6E 10               901        LD      L,(IY+16)\r
+    000070F1 FD 66 11               902        LD      H,(IY+17)\r
+    000070F4 C3 1F 81               903        JP      LWRD ?L_MUL_L03\r
+    000070F7                        904 ?0054:\r
+    000070F7 4D                     905        LD      C,L\r
+    000070F8 44                     906        LD      B,H\r
+    000070F9 DD 5E A0               907        LD      E,(IX-96)\r
+    000070FC DD 56 A1               908        LD      D,(IX-95)\r
+    000070FF 3E 00                  909        LD      A,BYTE3 _write\r
+    00007101 21 BC 73               910        LD      HL,LWRD _write\r
+    00007104 C3 FB 81               911        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+                                    912        RSEG    CSTR\r
+    00008519                        913 ?0009:\r
+    00008519 00                     914        DEFB    0\r
+    0000851A                        915 ?0018:\r
+    0000851A 2F 64 65 76 2F 70 72   916        DEFB    '/dev/printer'\r
              69 6E 74 65 72\r
-    0000852D 00                    1018        DEFB    0\r
-    0000852E                       1019 ?0029:\r
-    0000852E 25 31 33 73 20 56 65  1020        DEFB    '%13s Verkoopartikel  |%7ld,%02ld'\r
+    00008526 00                     917        DEFB    0\r
+    00008527                        918 ?0026:\r
+    00008527 25 31 33 73 20 56 65   919        DEFB    '%13s Verkoopartikel  |%7ld,%02ld'\r
              72 6B 6F 6F 70 61 72\r
              74 69 6B 65 6C 20 20\r
              7C 25 37 6C 64 2C 25\r
              30 32 6C 64\r
-    0000854E 0D 0A 00              1021        DEFB    13,10,0\r
-    00008551                       1022 ?0031:\r
-    00008551 25 31 33 73 20 56 65  1023        DEFB    '%13s Verkoopartikel'\r
+    00008547 0D 0A 00               920        DEFB    13,10,0\r
+    0000854A                        921 ?0028:\r
+    0000854A 25 31 33 73 20 56 65   922        DEFB    '%13s Verkoopartikel'\r
              72 6B 6F 6F 70 61 72\r
              74 69 6B 65 6C\r
-    00008564 0D 0A                 1024        DEFB    13,10\r
-    00008566 25 34 64 78 20 40 20  1025        DEFB    '%4dx @ | %7ld,%02ld          |%7ld,%02ld'\r
+    0000855D 0D 0A                  923        DEFB    13,10\r
+    0000855F 25 34 64 78 20 40 20   924        DEFB    '%4dx @ | %7ld,%02ld          |%7ld,%02ld'\r
              7C 20 25 37 6C 64 2C\r
              25 30 32 6C 64 20 20\r
              20 20 20 20 20 20 20\r
              20 7C 25 37 6C 64 2C\r
              25 30 32 6C 64\r
-    0000858E 0D 0A 00              1026        DEFB    13,10,0\r
-    00008591                       1027 ?0032:\r
-    00008591 0D 0A                 1028        DEFB    13,10\r
-    00008593 25 31 33 73 54 6F 74  1029        DEFB    '%13sTotaal:%10s|%7ld,%02ld'\r
+    00008587 0D 0A 00               925        DEFB    13,10,0\r
+    0000858A                        926 ?0029:\r
+    0000858A 0D 0A                  927        DEFB    13,10\r
+    0000858C 25 31 33 73 54 6F 74   928        DEFB    '%13sTotaal:%10s|%7ld,%02ld'\r
              61 61 6C 3A 25 31 30\r
              73 7C 25 37 6C 64 2C\r
              25 30 32 6C 64\r
-    000085AD 0D 0A 0D 0A 0D 0A 00  1030        DEFB    13,10,13,10,13,10,0\r
-                                   1031        RSEG    UDATA0\r
-    00008741                       1032 trans:\r
-    00008741                       1033        DEFS    2\r
-    00000002                       1034        END\r
+    000085A6 0D 0A 0D 0A 0D 0A 00   929        DEFB    13,10,13,10,13,10,0\r
+    000085AD                        930 ?0038:\r
+    000085AD 42 61 72 63 6F 64 65   931        DEFB    'Barcode'\r
+    000085B4 00                     932        DEFB    0\r
+    000085B5                        933 ?0039:\r
+    000085B5 53 74 75 6B 73         934        DEFB    'Stuks'\r
+    000085BA 00                     935        DEFB    0\r
+    000085BB                        936 ?0040:\r
+    000085BB 50 72 69 6A 73         937        DEFB    'Prijs'\r
+    000085C0 00                     938        DEFB    0\r
+                                    939        RSEG    UDATA0\r
+    00008753                        940 trans:\r
+    00008753                        941        DEFS    2\r
+    00000002                        942        END\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
 Hexadecimal [32-Bits]\r
 \r
 Symbol Table\r
 \r
     .__.ABS.       =    00000000 G   |   1 ?0000               00000096 R\r
-  1 ?0001               0000009E R   |   1 ?0002               000000AD R\r
-  1 ?0003               00000111 R   |   2 ?0004               00000000 R\r
-  2 ?0005               00000008 R   |   2 ?0006               0000000E R\r
-  1 ?0007               0000013F R   |   1 ?0008               00000256 R\r
-  1 ?0009               0000013F R   |   1 ?0010               0000013F R\r
-  1 ?0011               0000016A R   |   1 ?0012               00000151 R\r
-  1 ?0013               00000160 R   |   2 ?0014               00000014 R\r
-  1 ?0015               0000024C R   |   1 ?0016               000001DD R\r
-  1 ?0017               000001FA R   |   1 ?0018               0000021F R\r
-  1 ?0019               0000026C R   |   1 ?0020               000004B3 R\r
-  2 ?0021               00000015 R   |   1 ?0022               000003C8 R\r
-  1 ?0023               000002DE R   |   1 ?0024               000002E6 R\r
-  1 ?0025               000002EF R   |   1 ?0026               000003BC R\r
-  1 ?0027               000002F9 R   |   1 ?0028               00000322 R\r
-  2 ?0029               00000022 R   |   1 ?0030               0000038C R\r
-  2 ?0031               00000045 R   |   2 ?0032               00000085 R\r
-  1 ?0033               00000456 R   |   1 ?0034               0000043F R\r
-  1 ?0035               00000443 R   |   1 ?0036               000004C9 R\r
-  1 ?0037               000005D2 R   |   1 ?0038               000004F4 R\r
-  1 ?0039               000004DB R   |   1 ?0040               000004EA R\r
-  1 ?0041               0000014B R   |   1 ?0042               00000249 R\r
-  1 ?0043               0000038A R   |   1 ?0044               0000043C R\r
-  1 ?0045               000004D5 R   |   1 ?0046               0000006D R\r
-  1 ?0047               0000006A R   |   1 ?0048               000005D7 R\r
-  1 ?0049               000005EB R   |   1 ?0050               000005F2 R\r
-  1 ?0051               00000612 R   |   1 ?0052               0000062F R\r
-  1 ?0053               00000643 R   |   1 ?0054               00000647 R\r
-  1 ?0055               00000652 R   |   1 ?0056               0000065A R\r
-  1 ?0057               00000669 R   |   1 ?0058               00000678 R\r
-  1 ?0059               00000687 R   |     ?BANK_CALL_DIR      ******** GX\r
-    ?BANK_FAST_LEA      ******** GX  |     ?BANK_LEAVE_DI      ******** GX\r
-    ?CL64180B_4_06      ******** GX  |     ?ENT_AUTO_DIRE      ******** GX\r
-    ?L_ADDASG_L03       ******** GX  |     ?L_MUL_L03          ******** GX\r
-    ?SL_DIV_L03         ******** GX  |     ?SL_MOD_L03         ******** GX\r
-    ?SL_RSH_L03         ******** GX  |     ?SS_CMP_L02         ******** GX\r
-    ?S_S_SWITCH_L0      ******** GX  |     Component_find      ******** GX\r
-    Component_setl      ******** GX  |   1 Transaction_ha      00000075 GR\r
-  1 Transaction_in      00000000 GR  |     _write              ******** GX\r
-    atoi                ******** GX  |     atol                ******** GX\r
-    close               ******** GX  |     free                ******** GX\r
-    ioctl               ******** GX  |     malloc              ******** GX\r
-    open                ******** GX  |     sprintf             ******** GX\r
-    strcpy              ******** GX  |     strlen              ******** GX\r
-  3 trans               00000000 GR\r
+  1 ?0001               0000009E R   |   1 ?0002               000000CA R\r
+  1 ?0003               000001F4 R   |   1 ?0004               000000CA R\r
+  1 ?0005               000000CA R   |   1 ?0006               000000F5 R\r
+  1 ?0007               000000DC R   |   1 ?0008               000000EB R\r
+  2 ?0009               00000000 R   |   1 ?0010               000001EA R\r
+  1 ?0011               00000168 R   |   1 ?0012               00000185 R\r
+  1 ?0013               000001B3 R   |   1 ?0014               000001BB R\r
+  1 ?0015               000001BD R   |   1 ?0016               0000020A R\r
+  1 ?0017               00000451 R   |   2 ?0018               00000001 R\r
+  1 ?0019               00000366 R   |   1 ?0020               0000027C R\r
+  1 ?0021               00000284 R   |   1 ?0022               0000028D R\r
+  1 ?0023               0000035A R   |   1 ?0024               00000297 R\r
+  1 ?0025               000002C0 R   |   2 ?0026               0000000E R\r
+  1 ?0027               0000032A R   |   2 ?0028               00000031 R\r
+  2 ?0029               00000071 R   |   1 ?0030               000003F4 R\r
+  1 ?0031               000003DD R   |   1 ?0032               000003E1 R\r
+  1 ?0033               00000467 R   |   1 ?0034               0000057F R\r
+  1 ?0035               00000492 R   |   1 ?0036               00000479 R\r
+  1 ?0037               00000488 R   |   2 ?0038               00000094 R\r
+  2 ?0039               0000009C R   |   2 ?0040               000000A2 R\r
+  1 ?0041               000000D6 R   |   1 ?0042               00000328 R\r
+  1 ?0043               000003DA R   |   1 ?0044               00000473 R\r
+  1 ?0045               0000006D R   |   1 ?0046               0000006A R\r
+  1 ?0047               00000584 R   |   1 ?0048               000005A3 R\r
+  1 ?0049               000005A7 R   |   1 ?0050               000005B2 R\r
+  1 ?0051               000005BA R   |   1 ?0052               000005C9 R\r
+  1 ?0053               000005D8 R   |   1 ?0054               000005E7 R\r
+    ?BANK_CALL_DIR      ******** GX  |     ?BANK_FAST_LEA      ******** GX\r
+    ?BANK_LEAVE_DI      ******** GX  |     ?CL64180B_4_06      ******** GX\r
+    ?ENT_AUTO_DIRE      ******** GX  |     ?L_ADDASG_L03       ******** GX\r
+    ?L_MUL_L03          ******** GX  |     ?SL_DIV_L03         ******** GX\r
+    ?SL_MOD_L03         ******** GX  |     ?SL_RSH_L03         ******** GX\r
+    ?SS_CMP_L02         ******** GX  |     ?S_S_SWITCH_L0      ******** GX\r
+    Component_find      ******** GX  |     Component_setl      ******** GX\r
+  1 Transaction_ha      00000075 GR  |   1 Transaction_in      00000000 GR\r
+    _write              ******** GX  |     atoi                ******** GX\r
+    atol                ******** GX  |     close               ******** GX\r
+    free                ******** GX  |     ioctl               ******** GX\r
+    malloc              ******** GX  |     open                ******** GX\r
+    sprintf             ******** GX  |     strcpy              ******** GX\r
+    strlen              ******** GX  |   3 trans               00000000 GR\r
+\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
 Hexadecimal [32-Bits]\r
 \r
 Area Table\r
 \r
    0 _DEFAULT         size        0   flags   0\r
-   1 CODE             size      697   flags   0\r
+   1 CODE             size      5F7   flags   0\r
    2 CSTR             size       A8   flags   0\r
    3 UDATA0           size        2   flags   0\r
index ed02df1..08ec1a3 100644 (file)
@@ -35,12 +35,12 @@ Transaction_init:
        PUSH    BC\r
        PUSH    DE\r
        LD      DE,8\r
-       CALL    LWRD ?0046\r
+       CALL    LWRD ?0045\r
        LD      (trans),HL\r
        LD      BC,6\r
        ADD     HL,BC\r
        PUSH    HL\r
-       CALL    LWRD ?0047\r
+       CALL    LWRD ?0046\r
        LD      C,L\r
        LD      B,H\r
        POP     HL\r
@@ -100,9 +100,9 @@ Transaction_init:
        POP     DE\r
        POP     BC\r
        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-?0047:\r
-       LD      DE,22\r
 ?0046:\r
+       LD      DE,22\r
+?0045:\r
        LD      A,BYTE3 malloc\r
        LD      HL,LWRD malloc\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
@@ -133,75 +133,6 @@ Transaction_handler:
        INC     HL\r
        INC     HL\r
        INC     HL\r
-       LD      A,16\r
-       INC     HL\r
-       XOR     (HL)\r
-       DEC     HL\r
-       OR      (HL)\r
-       JR      NZ,?0003\r
-?0002:\r
-       LD      HL,7\r
-       LD      C,B\r
-       LD      B,(IX-97)\r
-       ADD     HL,BC\r
-       LD      L,(HL)\r
-       LD      H,A\r
-       PUSH    HL\r
-       LD      HL,(trans)\r
-       POP     BC\r
-       LD      (HL),C\r
-       INC     HL\r
-       LD      (HL),B\r
-       LD      HL,(trans)\r
-       INC     HL\r
-       INC     HL\r
-       PUSH    HL\r
-       CALL    LWRD ?0048\r
-       POP     HL\r
-       LD      (HL),C\r
-       INC     HL\r
-       LD      (HL),B\r
-       LD      HL,4\r
-       LD      BC,(trans)\r
-       ADD     HL,BC\r
-       PUSH    HL\r
-       LD      HL,7\r
-       LD      E,(IX-98)\r
-       LD      D,(IX-97)\r
-       ADD     HL,DE\r
-       LD      E,(HL)\r
-       INC     HL\r
-       LD      D,(HL)\r
-       INC     HL\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       EX      DE,HL\r
-       LD      A,16\r
-       CALL    LWRD ?0049\r
-       POP     HL\r
-       LD      (HL),C\r
-       INC     HL\r
-       LD      (HL),B\r
-       LD      HL,(trans)\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       LD      E,(IX+2)\r
-       LD      D,(IX+3)\r
-       CALL    LWRD ?0051\r
-       LD      E,(IX+2)\r
-       LD      D,(IX+3)\r
-       CALL    LWRD ?0050\r
-       LD      E,(IX+2)\r
-       LD      D,(IX+3)\r
-       CALL    LWRD ?0052\r
-?0003:\r
-       LD      L,(IX-98)\r
-       LD      H,(IX-97)\r
-       INC     HL\r
-       INC     HL\r
-       INC     HL\r
        LD      B,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
@@ -211,7 +142,7 @@ Transaction_handler:
        XOR     H\r
        LD      H,A\r
        SBC     HL,BC\r
-       JP      C,?0008\r
+       JP      C,?0003\r
        LD      L,(IX-98)\r
        LD      H,(IX-97)\r
        INC     HL\r
@@ -222,10 +153,10 @@ Transaction_handler:
        LD      B,(HL)\r
        LD      HL,4114\r
        CALL    LWRD ?SS_CMP_L02\r
-       JP      C,?0008\r
-?0010:\r
-?0009:\r
-?0007:\r
+       JP      C,?0003\r
+?0005:\r
+?0004:\r
+?0002:\r
        LD      HL,6\r
        LD      BC,(trans)\r
        ADD     HL,BC\r
@@ -236,7 +167,7 @@ Transaction_handler:
 ?0041:\r
        LD      (IX-94),L\r
        LD      (IX-93),H\r
-?0012:\r
+?0007:\r
        LD      HL,20\r
        LD      C,(IX-94)\r
        LD      B,(IX-93)\r
@@ -244,8 +175,8 @@ Transaction_handler:
        LD      A,(HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      Z,?0011\r
-?0013:\r
+       JR      Z,?0006\r
+?0008:\r
        LD      HL,20\r
        ADD     HL,BC\r
        LD      D,(HL)\r
@@ -253,7 +184,7 @@ Transaction_handler:
        LD      H,(HL)\r
        LD      L,D\r
        JR      ?0041\r
-?0011:\r
+?0006:\r
        LD      HL,5\r
        LD      C,(IX-98)\r
        LD      B,(IX-97)\r
@@ -283,7 +214,7 @@ Transaction_handler:
        LD      A,BYTE3 Component_setlabel\r
        LD      HL,LWRD Component_setlabel\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      BC,?0014\r
+       LD      BC,?0009\r
        LD      E,(IX-96)\r
        LD      D,(IX-95)\r
        LD      A,BYTE3 Component_setlabel\r
@@ -292,7 +223,7 @@ Transaction_handler:
        LD      E,(IX-96)\r
        LD      C,E\r
        LD      D,(IX-95)\r
-       CALL    LWRD ?0053\r
+       CALL    LWRD ?0048\r
        LD      L,(IX-98)\r
        LD      H,(IX-97)\r
        INC     HL\r
@@ -304,11 +235,11 @@ Transaction_handler:
        CALL    LWRD ?S_S_SWITCH_L06\r
        DEFW    4112\r
        DEFW    3\r
+       DEFW    ?0010\r
+       DEFW    ?0011\r
+       DEFW    ?0012\r
        DEFW    ?0015\r
-       DEFW    ?0016\r
-       DEFW    ?0017\r
-       DEFW    ?0018\r
-?0016:\r
+?0011:\r
        LD      HL,32\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -321,28 +252,43 @@ Transaction_handler:
        LD      A,BYTE3 strcpy\r
        LD      HL,LWRD strcpy\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       JR      ?0015\r
-?0017:\r
+       JR      ?0010\r
+?0012:\r
        LD      HL,14\r
        LD      C,(IX-94)\r
        LD      B,(IX-93)\r
        ADD     HL,BC\r
        PUSH    HL\r
        LD      HL,32\r
-       LD      C,(IX+2)\r
-       LD      B,(IX+3)\r
-       ADD     HL,BC\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       ADD     HL,DE\r
        LD      E,(HL)\r
        INC     HL\r
        LD      D,(HL)\r
        LD      A,BYTE3 atoi\r
        LD      HL,LWRD atoi\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      C,L\r
-       LD      B,H\r
+       EX      DE,HL\r
        POP     HL\r
-       JR      ?0042\r
-?0018:\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      HL,14\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       JR      NZ,?0010\r
+?0013:\r
+       LD      HL,14\r
+       ADD     HL,BC\r
+       LD      (HL),1\r
+       INC     HL\r
+       LD      (HL),A\r
+?0014:\r
+       JR      ?0010\r
+?0015:\r
        LD      HL,32\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -368,16 +314,15 @@ Transaction_handler:
        INC     HL\r
        LD      (HL),D\r
        INC     HL\r
-?0042:\r
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-?0015:\r
+?0010:\r
        LD      E,(IX+2)\r
        LD      C,E\r
        LD      D,(IX+3)\r
-       CALL    LWRD ?0053\r
-?0008:\r
+       CALL    LWRD ?0048\r
+?0003:\r
        LD      L,(IX-98)\r
        LD      H,(IX-97)\r
        INC     HL\r
@@ -390,8 +335,8 @@ Transaction_handler:
        LD      BC,4126\r
        AND     A\r
        SBC     HL,BC\r
-       JP      NZ,?0020\r
-?0019:\r
+       JP      NZ,?0017\r
+?0016:\r
        XOR     A\r
        LD      (IX-84),A\r
        LD      (IX-83),A\r
@@ -408,7 +353,7 @@ Transaction_handler:
        POP     IY\r
        LD      HL,1\r
        PUSH    HL\r
-       LD      HL,?0021\r
+       LD      HL,?0018\r
        PUSH    HL\r
        LD      A,BYTE3 open\r
        LD      HL,LWRD open\r
@@ -447,28 +392,28 @@ Transaction_handler:
        POP     AF\r
        POP     AF\r
        POP     AF\r
-?0023:\r
+?0020:\r
        PUSH    IY\r
        POP     HL\r
        LD      A,L\r
        OR      H\r
-       JP      Z,?0022\r
-?0024:\r
+       JP      Z,?0019\r
+?0021:\r
        LD      A,(IY+14)\r
        OR      (IY+15)\r
-       JP      Z,?0026\r
-?0025:\r
+       JP      Z,?0023\r
+?0022:\r
        LD      A,1\r
        XOR     (IY+14)\r
        OR      (IY+15)\r
-       JR      NZ,?0028\r
-?0027:\r
+       JR      NZ,?0025\r
+?0024:\r
        LD      L,A\r
        LD      H,A\r
        PUSH    HL\r
        LD      L,100\r
        PUSH    HL\r
-       CALL    LWRD ?0056\r
+       CALL    LWRD ?0051\r
        PUSH    BC\r
        PUSH    HL\r
        LD      L,A\r
@@ -476,19 +421,19 @@ Transaction_handler:
        PUSH    HL\r
        LD      L,100\r
        PUSH    HL\r
-       CALL    LWRD ?0057\r
+       CALL    LWRD ?0052\r
        PUSH    BC\r
        PUSH    HL\r
        PUSH    IY\r
-       LD      HL,?0029\r
+       LD      HL,?0026\r
        PUSH    HL\r
        LD      HL,32\r
        ADD     HL,SP\r
        PUSH    HL\r
-       CALL    LWRD ?0055\r
+       CALL    LWRD ?0050\r
        LD      HL,14\r
-       JR      ?0043\r
-?0028:\r
+       JR      ?0042\r
+?0025:\r
        LD      HL,0\r
        PUSH    HL\r
        LD      L,100\r
@@ -502,7 +447,7 @@ Transaction_handler:
        LD      B,C\r
        PUSH    BC\r
        PUSH    HL\r
-       CALL    LWRD ?0058\r
+       CALL    LWRD ?0053\r
        CALL    LWRD ?SL_MOD_L03\r
        PUSH    BC\r
        PUSH    HL\r
@@ -519,7 +464,7 @@ Transaction_handler:
        LD      B,C\r
        PUSH    BC\r
        PUSH    HL\r
-       CALL    LWRD ?0058\r
+       CALL    LWRD ?0053\r
        CALL    LWRD ?SL_DIV_L03\r
        PUSH    BC\r
        PUSH    HL\r
@@ -527,31 +472,31 @@ Transaction_handler:
        PUSH    HL\r
        LD      L,100\r
        PUSH    HL\r
-       CALL    LWRD ?0056\r
+       CALL    LWRD ?0051\r
        PUSH    BC\r
        PUSH    HL\r
        LD      HL,0\r
        PUSH    HL\r
        LD      L,100\r
        PUSH    HL\r
-       CALL    LWRD ?0057\r
+       CALL    LWRD ?0052\r
        PUSH    BC\r
        PUSH    HL\r
        LD      L,(IY+14)\r
        LD      H,(IY+15)\r
        PUSH    HL\r
        PUSH    IY\r
-       LD      HL,?0031\r
+       LD      HL,?0028\r
        PUSH    HL\r
        LD      HL,42\r
        ADD     HL,SP\r
        PUSH    HL\r
-       CALL    LWRD ?0055\r
+       CALL    LWRD ?0050\r
        LD      HL,24\r
-?0043:\r
+?0042:\r
        ADD     HL,SP\r
        LD      SP,HL\r
-?0030:\r
+?0027:\r
        LD      HL,16\r
        ADD     HL,SP\r
        PUSH    HL\r
@@ -564,7 +509,7 @@ Transaction_handler:
        LD      B,C\r
        PUSH    BC\r
        PUSH    DE\r
-       CALL    LWRD ?0058\r
+       CALL    LWRD ?0053\r
        EX      DE,HL\r
        POP     HL\r
        CALL    LWRD ?L_ADDASG_L03\r
@@ -577,15 +522,15 @@ Transaction_handler:
        PUSH    HL\r
        LD      HL,22\r
        ADD     HL,SP\r
-       CALL    LWRD ?0059\r
+       CALL    LWRD ?0054\r
        POP     AF\r
-?0026:\r
+?0023:\r
        LD      L,(IY+20)\r
        LD      H,(IY+21)\r
        PUSH    HL\r
        POP     IY\r
-       JP      LWRD ?0023\r
-?0022:\r
+       JP      LWRD ?0020\r
+?0019:\r
        LD      L,A\r
        LD      H,A\r
        PUSH    HL\r
@@ -610,15 +555,15 @@ Transaction_handler:
        CALL    LWRD ?SL_DIV_L03\r
        PUSH    BC\r
        PUSH    HL\r
-       LD      HL,?0014\r
+       LD      HL,?0009\r
        PUSH    HL\r
        PUSH    HL\r
-       LD      HL,?0032\r
+       LD      HL,?0029\r
        PUSH    HL\r
        LD      HL,34\r
        ADD     HL,SP\r
        PUSH    HL\r
-       CALL    LWRD ?0055\r
+       CALL    LWRD ?0050\r
        LD      HL,16\r
        ADD     HL,SP\r
        LD      SP,HL\r
@@ -631,7 +576,7 @@ Transaction_handler:
        PUSH    HL\r
        LD      HL,22\r
        ADD     HL,SP\r
-       CALL    LWRD ?0059\r
+       CALL    LWRD ?0054\r
        POP     AF\r
        LD      E,(IX-96)\r
        LD      D,(IX-95)\r
@@ -645,14 +590,14 @@ Transaction_handler:
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-?0044:\r
+?0043:\r
        PUSH    HL\r
        POP     IY\r
-?0034:\r
+?0031:\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0033\r
-?0035:\r
+       JR      Z,?0030\r
+?0032:\r
        PUSH    IY\r
        POP     DE\r
        LD      A,BYTE3 free\r
@@ -660,13 +605,13 @@ Transaction_handler:
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      L,(IY+20)\r
        LD      H,(IY+21)\r
-       JR      ?0044\r
-?0033:\r
+       JR      ?0043\r
+?0030:\r
        LD      HL,6\r
        LD      BC,(trans)\r
        ADD     HL,BC\r
        PUSH    HL\r
-       CALL    LWRD ?0047\r
+       CALL    LWRD ?0046\r
        EX      DE,HL\r
        POP     HL\r
        LD      (HL),E\r
@@ -722,7 +667,7 @@ Transaction_handler:
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-?0020:\r
+?0017:\r
        LD      L,(IX-98)\r
        LD      H,(IX-97)\r
        INC     HL\r
@@ -735,8 +680,8 @@ Transaction_handler:
        LD      BC,4127\r
        AND     A\r
        SBC     HL,BC\r
-       JP      NZ,?0037\r
-?0036:\r
+       JP      NZ,?0034\r
+?0033:\r
        LD      HL,6\r
        LD      BC,(trans)\r
        ADD     HL,BC\r
@@ -744,10 +689,10 @@ Transaction_handler:
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-?0045:\r
+?0044:\r
        LD      (IX-96),L\r
        LD      (IX-95),H\r
-?0039:\r
+?0036:\r
        LD      HL,20\r
        LD      C,(IX-96)\r
        LD      B,(IX-95)\r
@@ -755,16 +700,16 @@ Transaction_handler:
        LD      A,(HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      Z,?0038\r
-?0040:\r
+       JR      Z,?0035\r
+?0037:\r
        LD      HL,20\r
        ADD     HL,BC\r
        LD      D,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,D\r
-       JR      ?0045\r
-?0038:\r
+       JR      ?0044\r
+?0035:\r
        LD      HL,7\r
        LD      C,(IX-98)\r
        LD      B,(IX-97)\r
@@ -781,7 +726,22 @@ Transaction_handler:
        INC     HL\r
        INC     HL\r
        PUSH    HL\r
-       CALL    LWRD ?0048\r
+       LD      HL,7\r
+       LD      C,(IX-98)\r
+       LD      B,(IX-97)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       EX      DE,HL\r
+       LD      A,8\r
+       CALL    LWRD ?SL_RSH_L03\r
+       LD      B,0\r
+       LD      C,L\r
        POP     HL\r
        LD      (HL),C\r
        INC     HL\r
@@ -803,39 +763,29 @@ Transaction_handler:
        LD      B,(HL)\r
        EX      DE,HL\r
        LD      A,16\r
-       CALL    LWRD ?0049\r
+       CALL    LWRD ?SL_RSH_L03\r
+       LD      B,0\r
+       LD      C,L\r
        POP     HL\r
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
        LD      HL,(trans)\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       LD      HL,17\r
-       LD      E,(IX+2)\r
-       LD      D,(IX+3)\r
-       ADD     HL,DE\r
-       LD      E,(HL)\r
+       CALL    LWRD ?0047\r
+       LD      BC,?0038\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,(trans)\r
        INC     HL\r
-       LD      D,(HL)\r
-       CALL    LWRD ?0051\r
-       LD      HL,17\r
-       LD      E,(IX+2)\r
-       LD      D,(IX+3)\r
-       ADD     HL,DE\r
-       LD      E,(HL)\r
        INC     HL\r
-       LD      D,(HL)\r
-       CALL    LWRD ?0050\r
-       LD      HL,17\r
-       LD      E,(IX+2)\r
-       LD      D,(IX+3)\r
+       CALL    LWRD ?0047\r
+       LD      BC,?0039\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,4\r
+       LD      DE,(trans)\r
        ADD     HL,DE\r
-       LD      E,(HL)\r
-       INC     HL\r
-       LD      D,(HL)\r
-       CALL    LWRD ?0052\r
+       CALL    LWRD ?0047\r
+       LD      BC,?0040\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      HL,17\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -850,13 +800,13 @@ Transaction_handler:
        LD      H,(HL)\r
        LD      L,B\r
        LD      BC,26\r
-       CALL    LWRD ?0054\r
+       CALL    LWRD ?0049\r
        LD      HL,20\r
        LD      C,(IX-96)\r
        LD      B,(IX-95)\r
        ADD     HL,BC\r
        PUSH    HL\r
-       CALL    LWRD ?0047\r
+       CALL    LWRD ?0046\r
        EX      DE,HL\r
        POP     HL\r
        LD      (HL),E\r
@@ -895,73 +845,31 @@ Transaction_handler:
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-?0037:\r
+?0034:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0048:\r
-       LD      HL,7\r
-       LD      C,(IX-98)\r
-       LD      B,(IX-97)\r
-       ADD     HL,BC\r
-       LD      E,(HL)\r
-       INC     HL\r
-       LD      D,(HL)\r
-       INC     HL\r
+?0047:\r
        LD      C,(HL)\r
        INC     HL\r
        LD      B,(HL)\r
-       EX      DE,HL\r
-       LD      A,8\r
-?0049:\r
-       CALL    LWRD ?SL_RSH_L03\r
-       LD      B,0\r
-       LD      C,L\r
-       RET\r
-?0050:\r
-       LD      A,BYTE3 Component_find\r
-       LD      HL,LWRD Component_find\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       EX      DE,HL\r
-       LD      A,BYTE3 Component_setlabel\r
-       LD      HL,LWRD Component_setlabel\r
-       LD      BC,?0005\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      HL,4\r
-       LD      DE,(trans)\r
+       LD      HL,17\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
        ADD     HL,DE\r
-       LD      C,(HL)\r
+       LD      E,(HL)\r
        INC     HL\r
-       LD      B,(HL)\r
-       RET\r
-?0051:\r
+       LD      D,(HL)\r
        LD      A,BYTE3 Component_find\r
        LD      HL,LWRD Component_find\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        EX      DE,HL\r
        LD      A,BYTE3 Component_setlabel\r
        LD      HL,LWRD Component_setlabel\r
-       LD      BC,?0004\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      HL,(trans)\r
-       INC     HL\r
-       INC     HL\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
        RET\r
-?0052:\r
-       LD      A,BYTE3 Component_find\r
-       LD      HL,LWRD Component_find\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       EX      DE,HL\r
-       LD      A,BYTE3 Component_setlabel\r
-       LD      HL,LWRD Component_setlabel\r
-       LD      BC,?0006\r
-       JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0053:\r
+?0048:\r
        LD      B,D\r
        LD      HL,26\r
-?0054:\r
+?0049:\r
        ADD     HL,BC\r
        LD      C,(HL)\r
        INC     HL\r
@@ -971,29 +879,29 @@ Transaction_handler:
        LD      L,C\r
        LD      H,B\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0055:\r
+?0050:\r
        LD      A,BYTE3 sprintf\r
        LD      HL,LWRD sprintf\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0056:\r
+?0051:\r
        LD      C,(IY+18)\r
        LD      B,(IY+19)\r
        LD      L,(IY+16)\r
        LD      H,(IY+17)\r
        JP      LWRD ?SL_MOD_L03\r
-?0057:\r
+?0052:\r
        LD      C,(IY+18)\r
        LD      B,(IY+19)\r
        LD      L,(IY+16)\r
        LD      H,(IY+17)\r
        JP      LWRD ?SL_DIV_L03\r
-?0058:\r
+?0053:\r
        LD      C,(IY+18)\r
        LD      B,(IY+19)\r
        LD      L,(IY+16)\r
        LD      H,(IY+17)\r
        JP      LWRD ?L_MUL_L03\r
-?0059:\r
+?0054:\r
        LD      C,L\r
        LD      B,H\r
        LD      E,(IX-96)\r
@@ -1002,32 +910,32 @@ Transaction_handler:
        LD      HL,LWRD _write\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
        RSEG    CSTR\r
-?0004:\r
-       DEFB    'Barcode'\r
-       DEFB    0\r
-?0005:\r
-       DEFB    'Stuks'\r
-       DEFB    0\r
-?0006:\r
-       DEFB    'Prijs'\r
-       DEFB    0\r
-?0014:\r
+?0009:\r
        DEFB    0\r
-?0021:\r
+?0018:\r
        DEFB    '/dev/printer'\r
        DEFB    0\r
-?0029:\r
+?0026:\r
        DEFB    '%13s Verkoopartikel  |%7ld,%02ld'\r
        DEFB    13,10,0\r
-?0031:\r
+?0028:\r
        DEFB    '%13s Verkoopartikel'\r
        DEFB    13,10\r
        DEFB    '%4dx @ | %7ld,%02ld          |%7ld,%02ld'\r
        DEFB    13,10,0\r
-?0032:\r
+?0029:\r
        DEFB    13,10\r
        DEFB    '%13sTotaal:%10s|%7ld,%02ld'\r
        DEFB    13,10,13,10,13,10,0\r
+?0038:\r
+       DEFB    'Barcode'\r
+       DEFB    0\r
+?0039:\r
+       DEFB    'Stuks'\r
+       DEFB    0\r
+?0040:\r
+       DEFB    'Prijs'\r
+       DEFB    0\r
        RSEG    UDATA0\r
 trans:\r
        DEFS    2\r
index ec269e8..f2135c0 100644 (file)
@@ -7,6 +7,7 @@
 #include "..\libc\malloc-l.h"\r
 #undef NULL\r
 #define NULL   0\r
+#define TEXT_BOTTOM_ALIGNED\r
 \r
 /*void *malloc(size_t size)\r
   {\r
@@ -35,20 +36,35 @@ struct Global_GUI* global;
  * Graphics                                     *\r
  ************************************************/\r
 \r
+void SetCurrentGraphicsDevice(int n){\r
+       global->lcd=global->lcda[n];\r
+}\r
+\r
 void GraphicsOpen(){\r
        struct sgttyb temp;\r
        char init[]={0x1B,'K'};\r
 \r
-       global->lcd=open("/dev/lcd0",O_RDWR);\r
-       gtty(global->lcd,&temp);\r
+       global->lcda[0]=open("/dev/lcd0",O_RDWR);\r
+       gtty(global->lcda[0],&temp);\r
+       temp.sg_flags=RAW | UNBUFF;\r
+       stty(global->lcda[0],&temp);\r
+\r
+       write(global->lcda[0],init,2);\r
+\r
+       global->lcda[1]=open("/dev/lcd1",O_RDWR);\r
+       gtty(global->lcda[1],&temp);\r
        temp.sg_flags=RAW | UNBUFF;\r
-       stty(global->lcd,&temp);\r
+       stty(global->lcda[1],&temp);\r
 \r
-       write(global->lcd,init,2);\r
+       write(global->lcda[1],init,2);\r
+       SetCurrentGraphicsDevice(1);\r
+       Text("HYTECH 1000");\r
+       SetCurrentGraphicsDevice(0);\r
 }\r
 \r
 void GraphicsClose(){\r
-       close(global->lcd);\r
+       close(global->lcda[0]);\r
+       close(global->lcda[1]);\r
 }\r
 \r
 void Move(int x, int y){\r
@@ -66,7 +82,7 @@ void ClearRect(int sx, int sy){
 }\r
 \r
 void DrawRectNC(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'N',0,0};\r
+       unsigned char cmd[]={0x1B,'N',0,0}; \r
        cmd[2]=(unsigned char) (sx);\r
        cmd[3]=(unsigned char) (sy);\r
        write(global->lcd,cmd,4);\r
@@ -532,7 +548,7 @@ void Window_paint(struct Component* this){
                DrawRectNC(this->sizex,this->sizey-global->currentfont->stringheight(this->label)-4);\r
                Move(x,y);\r
                FillRect(this->sizex,global->currentfont->stringheight(this->label)+5);\r
-               Move(x+2,y+14); /* Nick 2); */\r
+               Move(x+2,y+2);\r
                Text(this->label);\r
                Component_paint(this);\r
        }\r
@@ -579,15 +595,30 @@ void Button_handler(struct Component* this, int msg, int param){
 }\r
 \r
 void Button_drawtext(struct Component* this, int x, int y){\r
+#ifdef TEXT_TOP_ALIGNED\r
+       if((this->state & STYLE_MULTILINE)!=0){         \r
+               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-2*global->currentfont->stringheight(this->label))/2);\r
+               Text(this->label);\r
+               Move(x+(this->sizex-global->currentfont->stringwidth(this->label2))/2,y+(this->sizey)/2+1);\r
+               Text(this->label2);\r
+       } else {\r
+               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+1);\r
+               Text(this->label);\r
+       }               \r
+#endif\r
+#ifdef TEXT_BOTTOM_ALIGNED\r
        if((this->state & STYLE_MULTILINE)!=0){         \r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-2*global->currentfont->stringheight(this->label))/2+12); /* Nick +7 */\r
+               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey)/2);\r
                Text(this->label);\r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label2))/2,y+(this->sizey)/2+10); /* Nick 1); */\r
+               Move(x+(this->sizex-global->currentfont->stringwidth(this->label2))/2,y+(this->sizey+2*global->currentfont->stringheight(this->label))/2+1);\r
                Text(this->label2);\r
        } else {\r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+13); /* Nick 1); */\r
+               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey+global->currentfont->stringheight(this->label))/2+1);\r
                Text(this->label);\r
        }               \r
+\r
+#endif\r
+\r
 #ifdef STR_DEBUG\r
        printf("Drawtext (%d): ""%s"" @ %x\n",this->id,this->label,this->label); fflush(stdout);\r
 #endif\r
@@ -781,7 +812,12 @@ void Display_paint(struct Component* this){
                        FillRectNC(this->sizex,this->sizey);\r
                else\r
                        DrawRectNC(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+7);\r
+#ifdef TEXT_TOP_ALIGNED\r
+               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2);\r
+#endif\r
+#ifdef TEXT_BOTTOM_ALIGNED\r
+               Move(x+2,y+(this->sizey+global->currentfont->stringheight(this->label))/2);\r
+#endif\r
                if(this->state & STYLE_PASSWORD){\r
                        int i;\r
                        for(i=0; i<strlen(this->label); i++)\r
@@ -797,7 +833,7 @@ void Display_paint(struct Component* this){
                ClearRect(this->sizex,this->sizey);\r
        \r
                FillRectNC(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+12); /x Nick +7 x/\r
+               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2);\r
                Text(this->label);\r
                TouchRegion((this->state&STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
 */\r
@@ -888,8 +924,8 @@ void screenbuilder(struct Component* root, char* filename){
        char buf[SIZE_SCRBLD_RECORD];\r
        long l;\r
        int xs,ys;\r
-       xs=0x2b;\r
-       ys=0x1a;\r
+       xs=6;\r
+       ys=5;\r
        buf[0]=0;\r
        fh=open(filename,O_RDONLY);\r
        do{     \r
@@ -900,20 +936,20 @@ void screenbuilder(struct Component* root, char* filename){
                }\r
 \r
                if(buf[0]=='B' || buf[0]=='M'){         /* Button, Multi-line button */\r
-                       subw=Button_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
+                       subw=Button_new(0x103*buf[1]/xs,0x083*buf[2]/ys,0x103*(buf[1]+buf[3])/xs-0x103*buf[1]/xs-3,0x083*buf[4]/ys-3,buf[5]);\r
                        if(buf[0]=='M') subw->state|=STYLE_MULTILINE;\r
                        comp=1;\r
                }\r
                if(buf[0]=='T'){                                        /* Toggle-button */\r
-                       subw=ToggleButton_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
+                       subw=ToggleButton_new(0x103*buf[1]/xs,0x083*buf[2]/ys,0x103*(buf[1]+buf[3])/xs-0x103*buf[1]/xs-3,0x083*buf[4]/ys-3,buf[5]);\r
                        comp=1;\r
                }\r
                if(buf[0]=='D'){                                        /* Display button */\r
-                       subw=Display_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
+                       subw=Display_new(0x103*buf[1]/xs,0x083*buf[2]/ys,0x103*(buf[1]+buf[3])/xs-0x103*buf[1]/xs-3,0x083*buf[4]/ys-3,buf[5]);\r
                        comp=1;\r
                }\r
                if(buf[0]=='L'){                                        /* Label */\r
-                       subw=Label_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf+0x12);\r
+                       subw=Label_new(0x103*buf[1]/xs,0x083*buf[2]/ys,0x103*(buf[1]+buf[3])/xs-0x103*buf[1]/xs-3,0x083*buf[4]/ys-3,buf+0x12);\r
                        comp=1;\r
                }\r
                if(buf[0]=='A'){                        \r
@@ -963,7 +999,7 @@ void screenbuilder(struct Component* root, char* filename){
 \r
                        subw->label=(char*) (*((int*) (buf+0x12)) & 0x0fff);\r
                        if(subw->label==NULL) {\r
-                               subw->label=(char*) malloc(LABEL_LENGTH);\r
+                               subw->label=(char*) malloc(LABEL_LENGTH); /* Stringtable ref<0x8000 alloced data >0x8000*/\r
 #ifdef MALLOC_DEBUG\r
        printf("malloc: %x\n",subw->label); fflush(stdout);\r
 #endif\r
@@ -988,7 +1024,6 @@ void screenbuilder(struct Component* root, char* filename){
 void root_actionhandler(struct Component* this){\r
        struct ActionXDS *act;\r
        struct Component* subw;\r
-       char filename[]={'/','w','n','d','/','0','0','0','0','.','s','c','r',0}; /* Nick added /wnd/ */\r
 \r
        act=(struct ActionXDS*) (this->xds);\r
 #ifdef JOOST_DEBUG\r
@@ -998,6 +1033,7 @@ void root_actionhandler(struct Component* this){
                this->handler(this,APP_QUIT,0);\r
        }\r
        if((act->action & 0xfffe)==0x0002){             /*Open Screen*/\r
+               char* filename=global->stringtable[(act->wParam & 0xfff)-1];\r
                Component_changestate_children(this->parent,STATE_VISIBLE,0,0);         \r
                subw=Window_new(0,0,this->parent->sizex,this->parent->sizey);\r
                subw->state=STATE_VISIBLE | STATE_ENABLED;\r
@@ -1005,10 +1041,6 @@ void root_actionhandler(struct Component* this){
                        subw->state|=STATE_APPLICATION;\r
                subw->handler=rootWindow_handler;\r
                subw->paint=Root_paint;\r
-               filename[5]=(char) ((act->lParam) &0xff); /* Nick 5 formerly 0 */\r
-               filename[6]=(char) ((act->lParam>>8) &0xff); /* Nick 6 formerly 1 */\r
-               filename[7]=(char) ((act->lParam>>16) &0xff); /* Nick 7 formerly 2 */\r
-               filename[8]=(char) ((act->lParam>>24) &0xff); /* Nick 8 formerly 3 */\r
                screenbuilder(subw,filename);\r
                this->parent->add(this->parent,subw);\r
        }\r
@@ -1030,12 +1062,20 @@ void root_actionhandler(struct Component* this){
                this->parent->add(this->parent,subw);\r
                this->parent->handler(this->parent,WND_REDRAW,0);\r
        }\r
+\r
+       if(act->action==0x0005){ /* Send info to lcd0 */\r
+               write(global->lcda[0],&(act->lParam),act->wParam);\r
+       }\r
+\r
+       if(act->action==0x0006) { /* Send info to lcd1 */\r
+               write(global->lcda[1],&(act->lParam),act->wParam);\r
+       }\r
+\r
 #ifdef JOOST_DEBUG\r
        printf("Before external handler...\n"); fflush(stdout);\r
 #endif\r
        if(global->actionhandler!=NULL)\r
                global->actionhandler(this);\r
-\r
 #ifdef JOOST_DEBUG\r
        printf("After external handler...\n"); fflush(stdout);\r
 #endif\r
@@ -1118,19 +1158,42 @@ void GUIunit(void){
 \r
 void GUIgo(char* scr){\r
        char buf,obuf;\r
-       screenbuilder(global->root,scr);\r
+       int ptr=0;\r
+       struct sgttyb temp;\r
 \r
-       /* commented by Nick while(read(global->lcd,&buf,1)==1); */\r
+    screenbuilder(global->root,scr);\r
+    global->barcode=malloc(16);\r
+       global->barcode[0]=0;\r
+       global->barcodetty=open("/dev/barcode",O_RDONLY);\r
+\r
+       gtty(global->barcodetty,&temp);\r
+       temp.sg_flags=RAW | UNBUFF;\r
+       stty(global->barcodetty,&temp);\r
+\r
+#if 0 /* Nick, don't flush because continuity of testscript is ruined */\r
+       while(read(global->lcd,&buf,1)==1);\r
+#endif\r
 \r
        while(!global->willquit){\r
                if(read(global->lcd,&buf,1)==1){\r
- printf("0x%02x\n", (int)buf); /* Nick */\r
+#if 0 /* Nick, optional code useful for debugging testscript execution */\r
+                       printf("0x%02x\n", (int)buf);\r
+#endif\r
                        if(buf!=0)\r
                                global->root->handler(global->root,KEY_PRESSED,buf);            \r
                        else\r
                                global->root->handler(global->root,KEY_RELEASED,obuf);\r
                        obuf=buf;\r
                }\r
+               if(read(global->barcodetty,&buf,1)==1){\r
+                       if(buf>0x10)\r
+                               global->barcode[ptr++]=buf;\r
+                       else {\r
+                               global->barcode[ptr++]=0;\r
+                               global->root->handler(global->root,BARCODE_SCAN,(int) (&(global->barcode)));\r
+                               ptr=0;\r
+                       }\r
+               }\r
        }\r
 }\r
 \r
diff --git a/src/gui/wnd.c.org b/src/gui/wnd.c.org
deleted file mode 100644 (file)
index bb795a9..0000000
+++ /dev/null
@@ -1,1141 +0,0 @@
-/************************************************\r
- * Graphical User Interface driver (GUI)        *\r
- * By J.W. Morsink for Retail Vision B.V.       *\r
- ************************************************/\r
-\r
-#include <wnd.h>\r
-#include "..\libc\malloc-l.h"\r
-#undef NULL\r
-#define NULL   0\r
-\r
-/*void *malloc(size_t size)\r
-  {\r
-  void *ptr;\r
-\r
-  ptr = (void *)sbrk(size);\r
-  return (ptr == (void *)-1) ? NULL : ptr;\r
-  }\r
-\r
-void free(void *ptr)\r
-  {\r
-  }\r
-\r
-*/\r
-/*#define JOOST_DEBUG\r
-/*#define STR_DEBUG*/\r
-/*#define MALLOC_DEBUG\r
-\r
-/************************************************\r
- * Global variables for GUI                     *\r
- ************************************************/\r
-\r
-struct Global_GUI* global;\r
-\r
-/************************************************\r
- * Graphics                                     *\r
- ************************************************/\r
-\r
-void GraphicsOpen(){\r
-       struct sgttyb temp;\r
-       char init[]={0x1B,'K'};\r
-\r
-       global->lcd=open("/dev/lcd0",O_RDWR);\r
-       gtty(global->lcd,&temp);\r
-       temp.sg_flags=RAW | UNBUFF;\r
-       stty(global->lcd,&temp);\r
-\r
-       write(global->lcd,init,2);\r
-}\r
-\r
-void GraphicsClose(){\r
-       close(global->lcd);\r
-}\r
-\r
-void Move(int x, int y){\r
-       unsigned char cmd[]={0x1B,'S',0,0};\r
-       cmd[2]=(unsigned char) (x);\r
-       cmd[3]=(unsigned char) (y);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void ClearRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'C',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void DrawRectNC(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'N',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void FillRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'R',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void FillRectNC(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'F',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void GrayRect(int sx,int sy){\r
-       unsigned char cmd[]={0x1B,'h',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(global->lcd,cmd,4);\r
-}\r
-\r
-void Text(char *s){\r
-       int c=strlen(s);\r
-       write(global->lcd,s,c);\r
-}\r
-\r
-void TouchRegion(int msg, int x, int y, int sx, int sy){\r
-       char touch[]={0x1B,'Z',0,0,0,0,0};\r
-       touch[2]=(unsigned char) (msg);\r
-       touch[3]=(unsigned char) (x);\r
-       touch[4]=(unsigned char) (y);\r
-       touch[5]=(unsigned char) (sx);\r
-       touch[6]=(unsigned char) (sy);\r
-       write(global->lcd,touch,7);\r
-#ifdef JOOST_DEBUG\r
-       printf("Touch: %x,%x,%x,%x,%x\n",msg,x,y,sx,sy); fflush(stdout);\r
-#endif\r
-}\r
-\r
-void ClearScreen(){\r
-       Move(0,0);\r
-       ClearRect(0,0x80);\r
-       TouchRegion(0,0,0,0,0x80);\r
-}\r
-\r
-void EnableScreen(unsigned char c){\r
-       char cmd[]={0x1B,'E',0};\r
-       cmd[2]=c;\r
-       write(global->lcd,cmd,3);\r
-}\r
-\r
-void grSetFont(int f){\r
-       char cmd[]={0x1B,0};\r
-       cmd[1]=f & 0xff;\r
-       write(global->lcd,cmd,2);\r
-}\r
-\r
-/************************************************\r
- * Fonts                                        *\r
- ************************************************/\r
-\r
-struct Font* fontSearch(int f){\r
-       struct Font* current=global->firstfont;\r
-       while(current!=NULL && current->id!=f)\r
-               current=current->nextfont;\r
-       return current;\r
-}\r
-\r
-void setCurrentFont(int f){\r
-       if(fontSearch(f)!=NULL){\r
-               grSetFont(f);\r
-               global->currentfont=fontSearch(f);\r
-       }\r
-}\r
-\r
-void loadFont(int id,int (*sw)(char*),int (*sh)(char*),int sizedata, void* data){\r
-       struct Font* font=(struct Font*) malloc(sizeof(struct Font));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",font); fflush(stdout);\r
-#endif\r
-       font->id=id;\r
-       font->stringwidth=sw;\r
-       font->stringheight=sh;\r
-       font->nextfont=NULL;\r
-       font->sizefontdata=sizedata;\r
-       font->fontdata=data;\r
-       if(global->firstfont==NULL){\r
-               global->firstfont=font;\r
-               global->currentfont=font;\r
-       }\r
-       else\r
-       {\r
-               struct Font* current=global->firstfont;\r
-               while(current->nextfont!=NULL)\r
-                       current=current->nextfont;\r
-               current->nextfont=font;\r
-       }\r
-}\r
-\r
-int stringwidth(char *str,int extra){\r
-       int w=0,i=0;\r
-       while(str[i]!=0x00){\r
-               switch(str[i]){\r
-               case 'i':\r
-               case 'I':\r
-               case '!':\r
-                       w+=2;\r
-                       break;\r
-               case 'l':\r
-                       w+=3;\r
-                       break;\r
-               case ',':\r
-               case '1':\r
-               case '.':\r
-                       w+=4;\r
-                       break;\r
-               case 'r':\r
-               case 'k':\r
-               case 'j':\r
-                       w+=5;\r
-                       break;\r
-               default:\r
-                       w+=6;\r
-               }\r
-               i++;\r
-               w+=extra;\r
-       }\r
-       return w;\r
-}\r
-\r
-int stringheight(char ch, int extra){\r
-       if(ch<0x80) return 7+extra;\r
-       if(ch>=0xcc && ch<=0xdf) return 1+extra;\r
-}\r
-\r
-int stringheight01(char* ch){\r
-       return stringheight(ch[0],0);\r
-}\r
-\r
-int stringheight2(char* ch){\r
-       return stringheight(ch[0],5);\r
-}\r
-\r
-int stringwidth0(char *str){\r
-       return stringwidth(str,0);\r
-}\r
-\r
-int stringwidth1(char *str){\r
-       return stringwidth(str,2);\r
-}\r
-\r
-int stringwidth2(char *str){\r
-       return stringwidth(str,3);\r
-}\r
-/************************************************\r
- * Components                                   *\r
- ************************************************/\r
-\r
-struct Component* Component_new(int x,int y,int sx,int sy){\r
-       struct Component* this=(struct Component*) (malloc(sizeof(struct Component)));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",this); fflush(stdout);\r
-#endif\r
-\r
-       this->id=(++global->id);\r
-       this->x=x;\r
-       this->y=y;\r
-       this->sizex=sx;\r
-       this->sizey=sy;\r
-       this->state=0;\r
-       this->order=0;\r
-       this->font=0;\r
-       this->msg=0;\r
-       this->parent=NULL;\r
-       this->next_sibling=NULL;\r
-       this->first_child=NULL;\r
-       this->handler=NULL;\r
-       this->paint=NULL;\r
-       this->add=NULL;\r
-       this->sizexds=0;\r
-       this->xds=NULL;\r
-       this->label=NULL;\r
-       this->label2=NULL;\r
-       return this;\r
-}\r
-\r
-void Component_setlabel(struct Component* this, char* s){\r
-       int i=0;\r
-       while(s[i]!=0 && i<LABEL_LENGTH){\r
-               this->label[i]=s[i];\r
-               i++;\r
-       }\r
-       this->label[i]=0;\r
-}\r
-\r
-void Component_add(struct Component* this, struct Component* comp){\r
-       struct Component* current=this->first_child;\r
-       if(this->first_child==NULL){\r
-               this->first_child=comp;\r
-               comp->next_sibling=NULL;\r
-       }\r
-       else\r
-       {\r
-               while(current->next_sibling!=NULL){\r
-                       current=current->next_sibling;\r
-               }\r
-               current->next_sibling=comp;\r
-               comp->next_sibling=NULL;\r
-       }\r
-       comp->parent=this;\r
-}\r
-\r
-void Component_paint(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       EnableScreen(0);\r
-       while(current!=NULL){\r
-               current->paint(current);\r
-               current=current->next_sibling;\r
-       }\r
-       EnableScreen(1);\r
-}\r
-\r
-void Component_findXY(struct Component* this, int* x, int* y){\r
-    struct Component* current=this;\r
-    do{\r
-        *x+=current->x;\r
-        *y+=current->y;\r
-        current=current->parent;\r
-    } while(current!=NULL);\r
-}\r
-\r
-struct Component* Component_find(struct Component* this, int msg){\r
-       struct Component* current=this->first_child;\r
-#ifdef JOOST_DEBUG\r
-       printf("Find %x in %x:\n",msg, this->id); fflush(stdout);\r
-#endif\r
-       while(current!=NULL){\r
-#ifdef JOOST_DEBUG\r
-               printf("Comp_find: %x, %x\n",msg, current->msg); fflush(stdout);\r
-#endif\r
-               if(current->msg==msg)\r
-                       return current;\r
-               current=current->next_sibling;\r
-       }\r
-       return NULL;\r
-}\r
-\r
-struct Component* Component_delete(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       int id=this->id;\r
-       if(this!=NULL){\r
-#ifdef JOOST_DEBUG\r
-               printf("Deleting component: %d\n",id); fflush(stdout);\r
-#endif\r
-               while(current!=NULL){\r
-                       current=Component_delete(current);\r
-               }\r
-               if(this->parent!=NULL){\r
-                       if(this==this->parent->first_child)\r
-                               this->parent->first_child=this->parent->first_child->next_sibling;\r
-                       else{\r
-                               current=this->parent->first_child;\r
-                               while(this!=current->next_sibling && current->next_sibling!=NULL)\r
-                                       current=current->next_sibling;\r
-                               if(current->next_sibling!=NULL)\r
-                                       current->next_sibling=current->next_sibling->next_sibling;\r
-                       }\r
-               }       \r
-               current=this->next_sibling;\r
-               if(this->sizexds==sizeof(struct StringTableXDS))\r
-               {\r
-                       struct Component* par=this->parent;\r
-                       struct StringTableXDS* stx=(struct StringTableXDS*) this->xds;\r
-                       \r
-#ifdef STR_DEBUG\r
-                       printf("Stringtable @ %x freed!\n",stx->stringtabledata); fflush(stdout);\r
-#endif\r
-\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",stx->stringtabledata); fflush(stdout);\r
-#endif\r
-                       free(stx->stringtabledata);\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",stx->stringtable); fflush(stdout);\r
-#endif\r
-                       free(stx->stringtable);\r
-\r
-                       while((par!=NULL) && (par->sizexds!=sizeof(struct StringTableXDS)))\r
-                               par=par->parent;\r
-                       if(par!=NULL)\r
-                       {\r
-                               stx=(struct StringTableXDS*) par->xds;\r
-                               global->stringtabledata=stx->stringtabledata;\r
-                               global->stringtable=stx->stringtable;\r
-                       }               \r
-               }\r
-               if(this->sizexds>0){\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",this->xds); fflush(stdout);\r
-#endif\r
-                       free(this->xds);\r
-               }\r
-               if((this->state & STRING_FROMTABLE)==0  && this->label!=NULL){\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",this->label); fflush(stdout);\r
-#endif\r
-                       free(this->label);\r
-               }\r
-#ifdef MALLOC_DEBUG\r
-       printf("free: %x\n",this); fflush(stdout);\r
-#endif\r
-\r
-               free(this);\r
-#ifdef JOOST_DEBUG\r
-               printf("Deleted component: %d\n",id); fflush(stdout);\r
-#endif\r
-       }\r
-       return current;\r
-}\r
-\r
-void Component_delete_children(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       while(current!=NULL)\r
-               current=Component_delete(current);\r
-}\r
-\r
-void Component_changestate_children(struct Component* this, int andmask, int ormask, int xormask){\r
-       struct Component* current=this->first_child;\r
-       while(current!=NULL){\r
-               current->state&=(0xffff-andmask);\r
-               current->state|=ormask;\r
-               current->state^=xormask;\r
-               current=current->next_sibling;\r
-       }\r
-       fflush(stdout);\r
-}\r
-\r
-void Component_linkstringtable(struct Component* this){\r
-       struct Component* child=this->first_child;\r
-#ifdef STR_DEBUG\r
-       printf("%d: %x -> %x\n",this->id,this->label-1,global->stringtable[(int) (this->label)-1]); fflush(stdout);\r
-#endif\r
-       if(((int)(this->label))<0x1000 && ((int)(this->label))>0)\r
-               this->label=global->stringtable[(int) (this->label)-1];\r
-       if(((int)(this->label2))<0x1000 && ((int)(this->label2))>0)\r
-               this->label2=global->stringtable[(int) (this->label2)-1];\r
-       while(child!=NULL){\r
-               Component_linkstringtable(child);\r
-               child=child->next_sibling;\r
-       }\r
-\r
-}\r
-\r
-/************************************************\r
- * Windows                                      *\r
- ************************************************/\r
-\r
-void Window_handler (struct Component* this, int msg, int param){\r
-       struct Component* current,current2;\r
-       int x=0,y=0;\r
-#ifdef JOOST_DEBUG\r
-       printf("Message in window %d, Msg: %x, Param: %x\n",this->id,msg,param); fflush(stdout);\r
-#endif\r
-       switch(msg){\r
-       case KEY_PRESSED:\r
-               current=this->first_child;\r
-               while(current!=NULL) {\r
-                       if((current->state & STATE_VISIBLE)==(STATE_VISIBLE))\r
-                               current->handler(current,msg,param);\r
-                       current=current->next_sibling;\r
-               }\r
-               break;\r
-       case KEY_RELEASED:\r
-               current=this->first_child;\r
-               while(current!=NULL) {\r
-                       if((current->state & STATE_VISIBLE)!=0){\r
-                               current->handler(current,msg,param);\r
-                               current->handler(current,KEY_TYPED,param);\r
-                               if((current->state & (STATE_ACTION | STATE_ENABLED))==(STATE_ACTION | STATE_ENABLED) && current->msg==param)\r
-                                       current=NULL;\r
-                       }                       \r
-                       if(current!=NULL)\r
-                               current=current->next_sibling;\r
-               }\r
-               break;\r
-       case KEY_TYPED:\r
-               current=this;\r
-               if((current->state & STATE_VISIBLE)==(STATE_VISIBLE)){\r
-                               \r
-                               if((current->state & STATE_ACTION)!=0 && current->msg==param){\r
-                                       struct ActionXDS* act=(struct ActionXDS*) (current->xds);\r
-#ifdef JOOST_DEBUG\r
-                                       printf("Before actionhandler...\n");\r
-#endif\r
-                                       act->actionhandler(current);\r
-                                       if((act->action & 0xff00)==0){                                          \r
-                                               current=NULL;\r
-                                       }\r
-#ifdef JOOST_DEBUG\r
-                                       printf("After actionhandler...\n");\r
-#endif\r
-                               }\r
-               }\r
-               if(current!=NULL)\r
-                       current=current->next_sibling;\r
-               \r
-               break;\r
-       case WND_REDRAW:\r
-               this->paint(this);\r
-               break;\r
-       case WND_CLOSE:\r
-               this->state=this->state & (0xffff-(STATE_VISIBLE | STATE_ENABLED));\r
-               Component_findXY(this,&x,&y);\r
-               TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               this->parent->handler(this->parent,WND_REDRAW,0);\r
-               break;\r
-       case WND_DESTROY:\r
-               current=this->parent;\r
-               Component_delete(this);\r
-               current->handler(current,WND_REDRAW,0);\r
-               break;\r
-       case WND_BROADCAST:\r
-               current=this->first_child;\r
-               while(current!=NULL){\r
-                       if(current!=(struct Component*) (param) && (current->state & STATE_FOCUS)!=0)\r
-                               current->handler(current,CMP_BROADCAST,param);\r
-                       current=current->next_sibling;\r
-               }\r
-               break;\r
-       case APP_QUIT:\r
-               if(this->parent==NULL)\r
-                       global->willquit=1;\r
-               else if((this->state & STATE_APPLICATION)==0)\r
-                       this->parent->handler(this->parent,APP_QUIT,param);\r
-               else{\r
-                       current=this->parent;\r
-                       current->state|=STATE_VISIBLE | STATE_ENABLED;\r
-                       Component_changestate_children(current,0,STATE_VISIBLE,0);\r
-                       this->handler(this,WND_DESTROY,0);\r
-               }\r
-               break;                  \r
-       }\r
-}\r
-\r
-void Window_paint(struct Component* this){\r
-       int x=0,y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               \r
-               EnableScreen(0);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               Move(x,y+global->currentfont->stringheight(this->label)+4);\r
-               DrawRectNC(this->sizex,this->sizey-global->currentfont->stringheight(this->label)-4);\r
-               Move(x,y);\r
-               FillRect(this->sizex,global->currentfont->stringheight(this->label)+5);\r
-               Move(x+2,y+14); /* Nick 2); */\r
-               Text(this->label);\r
-               Component_paint(this);\r
-       }\r
-}\r
-\r
-void Root_paint(struct Component* this){\r
-       EnableScreen(0);\r
-       Move(0,0);\r
-       ClearRect(0,0x80);\r
-       GrayRect(0,0x80);\r
-       TouchRegion(0,0,0,0,0x80);\r
-\r
-       Component_paint(this);  \r
-/*     EnableScreen(0);\r
-       Window_paint(this);\r
-       EnableScreen(1);*/\r
-}\r
-\r
-void Window_add(struct Component* this, struct Component* comp){\r
-       Component_add(this,comp);\r
-}\r
-\r
-struct Component* Window_new(int x,int y,int sx,int sy){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->handler=Window_handler;\r
-       this->paint=Window_paint;\r
-       this->add=Window_add;\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Buttons                                      *\r
- ************************************************/\r
-\r
-void Button_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-               if((this->state & STATE_CASTING)!=0)\r
-                       this->parent->handler(this->parent, WND_BROADCAST, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION)\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-}\r
-\r
-void Button_drawtext(struct Component* this, int x, int y){\r
-       if((this->state & STYLE_MULTILINE)!=0){         \r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-2*global->currentfont->stringheight(this->label))/2+12); /* Nick +7 */\r
-               Text(this->label);\r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label2))/2,y+(this->sizey)/2+10); /* Nick 1); */\r
-               Text(this->label2);\r
-       } else {\r
-               Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+13); /* Nick 1); */\r
-               Text(this->label);\r
-       }               \r
-#ifdef STR_DEBUG\r
-       printf("Drawtext (%d): ""%s"" @ %x\n",this->id,this->label,this->label); fflush(stdout);\r
-#endif\r
-}\r
-\r
-void Button_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               \r
-               if( (this->state & (STATE_ENABLED | STYLE_INVERTED))!=0 && (this->state & (STATE_ENABLED | STYLE_INVERTED))!=(STATE_ENABLED | STYLE_INVERTED) )\r
-                       FillRectNC(this->sizex,this->sizey);\r
-               else\r
-                       DrawRectNC(this->sizex,this->sizey);\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-void Button_add(struct Component* this, struct Component* comp){\r
-       return;\r
-}\r
-\r
-struct Component* Button_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_ENABLED | STATE_VISIBLE;\r
-       this->msg=msg;\r
-       this->handler=Button_handler;\r
-       this->paint=Button_paint;\r
-       this->add=Button_add;\r
-       \r
-       return this;\r
-}\r
-\r
-/*void Numpad(struct Component* this, int x, int y){\r
-       int i;\r
-       char s[2]={0,0};\r
-       struct Component* button;\r
-       for(i=0; i<9; i++){\r
-               s[0]=0x31+(char) i;\r
-               button=Button_new(x+(i%3)*0x18,y+0x30-(i/3)*0x18,0x16,0x16,i+0x31);\r
-               Component_setlabel(button,s);\r
-               button->state|=STATE_CASTING;\r
-               this->add(this,button);\r
-       }\r
-       button=Button_new(x+0x18,y+0x48,0x16,0x16,0x30);\r
-       Component_setlabel(button,"0");\r
-       button->state|=STATE_CASTING;\r
-       this->add(this,button);\r
-\r
-       button=Button_new(x+0x30,y+0x48,0x16,0x16,0x08);\r
-       Component_setlabel(button,"CE");\r
-       button->state|=STATE_CASTING;\r
-       this->add(this,button);\r
-}*/\r
-\r
-/************************************************\r
- * Toggle-buttons                               *\r
- ************************************************/\r
-\r
-void ToggleButton_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){\r
-               this->state^=STATE_CHECKED;\r
-               this->parent->handler(this->parent, CMP_STATECHANGE, param);\r
-               this->handler(this, WND_REDRAW, 0);\r
-               if((this->state & STATE_CASTING)!=0)\r
-                       this->parent->handler(this->parent, WND_BROADCAST, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION)\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-}\r
-\r
-void ToggleButton_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               if((this->state & STATE_ENABLED)!=0 && (this->state & STATE_CHECKED)!=0){\r
-                       FillRectNC(this->sizex,this->sizey);\r
-                       TouchRegion(this->msg,x,y,this->sizex,this->sizey);\r
-               }else{\r
-                       DrawRectNC(this->sizex,this->sizey);\r
-                       TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               }\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-struct Component* ToggleButton_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_ENABLED | STATE_VISIBLE | STATE_CHECKED;\r
-       this->msg=msg;\r
-       this->handler=ToggleButton_handler;\r
-       this->paint=ToggleButton_paint;\r
-       this->add=Button_add;\r
-       \r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Dialogs                                      *\r
- ************************************************/\r
-\r
-void Dialog_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==CMP_ACTION && param==0xff){\r
-               if((this->state & STYLE_SELFDESTRUCT)!=0)\r
-                       this->handler(this,WND_DESTROY,0);\r
-               else\r
-                       this->handler(this,WND_CLOSE,0);\r
-               this->parent->handler(this->parent, DLG_OK, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION && param==0xfe){\r
-               if((this->state & STYLE_SELFDESTRUCT)!=0)\r
-                       this->handler(this,WND_DESTROY,0);\r
-               else\r
-                       this->handler(this,WND_CLOSE,0);\r
-               this->parent->handler(this->parent, DLG_CANCEL, this->msg);\r
-\r
-       }\r
-}\r
-\r
-struct Component* Dialog_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* ok;\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state|=STATE_VISIBLE;\r
-       this->msg=msg;\r
-       this->handler=Dialog_handler;\r
-       this->paint=Window_paint;\r
-       this->add=Window_add;\r
-\r
-       ok=Button_new(sx-0x30,sy-0x1c,0x28,0x14,0xff);\r
-       ok->label=(char*) malloc(3);\r
-       Component_setlabel(ok,"OK");\r
-       this->add(this,ok);\r
-\r
-       ok=Button_new(sx-0x30,sy-0x38,0x28,0x14,0xfe);  /*Cancel*/\r
-       ok->label=(char*) malloc(7);\r
-       Component_setlabel(ok,"Cancel");\r
-       this->add(this,ok);\r
-\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Displays                                     *\r
- ************************************************/\r
-void Display_handler(struct Component* this, int msg, int param){\r
-       Button_handler(this,msg,param);\r
-       if(msg==CMP_BROADCAST && (this->state & STATE_FOCUS)!=0){\r
-#ifdef JOOST_DEBUG\r
-               printf("strlen = %d->",strlen(this->label)); fflush(stdout);\r
-#endif\r
-               if(param==0x08){\r
-                       if(strlen(this->label)!=0)\r
-                               this->label[strlen(this->label)-1]=0;\r
-               }else{\r
-                       this->label[strlen(this->label)+1]=0;\r
-                       this->label[strlen(this->label)]=(char) param;\r
-               }       \r
-#ifdef JOOST_DEBUG\r
-               printf("%d\n",strlen(this->label)); fflush(stdout);\r
-#endif\r
-               this->handler(this,WND_REDRAW,0);\r
-       }\r
-}\r
-\r
-void Display_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       char pwd[64];\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               \r
-               if( (this->state & STYLE_INVERTED)==0)\r
-                       FillRectNC(this->sizex,this->sizey);\r
-               else\r
-                       DrawRectNC(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+7);\r
-               if(this->state & STYLE_PASSWORD){\r
-                       int i;\r
-                       for(i=0; i<strlen(this->label); i++)\r
-                               pwd[i]='*';\r
-                       pwd[i]=0;\r
-                       Text(pwd);\r
-               }else\r
-                       Text(this->label);\r
-\r
-/*             Component_findXY(this,&x,&y);\r
-\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-       \r
-               FillRectNC(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+12); /x Nick +7 x/\r
-               Text(this->label);\r
-               TouchRegion((this->state&STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-*/\r
-       }\r
-}\r
-\r
-struct Component* Display_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Button_new(x,y,sx,sy,msg);\r
-       this->state|=STATE_FOCUS;\r
-       Component_setlabel(this,"");\r
-       this->paint=Display_paint;\r
-       this->handler=Display_handler;\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Labels                                       *\r
- ************************************************/\r
-void Label_handler(struct Component* this, int msg, int param){\r
-       return;\r
-}\r
-\r
-void Label_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       if(global->currentfont->id!=this->font)\r
-               setCurrentFont(this->font);\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Button_drawtext(this,x,y);\r
-       }\r
-}\r
-\r
-struct Component* Label_new(int x, int y, int sx, int sy,char* l){\r
-       struct Component* comp=Component_new(x,y,sx,sy);\r
-       comp->label=l;\r
-       comp->state=STATE_VISIBLE;\r
-       comp->handler=Label_handler;\r
-       comp->paint=Label_paint;\r
-       comp->add=Button_add;\r
-       return comp;\r
-}\r
- /************************************************\r
- * Implementation                               *\r
- ************************************************/\r
-/*\r
-void ScreenDialog_handler(struct Component* this, int msg, int param){\r
-       char cmd[]={0x1B,'V',0};\r
-       Dialog_handler(this,msg,param);\r
-       if(msg==CMP_ACTION){\r
-               if(param=='U')\r
-                       cmd[2]=0;\r
-               else if(param=='D')\r
-                       cmd[2]=1;\r
-               else \r
-                       return;\r
-               write(global->lcd,cmd,3);\r
-       }\r
-}\r
-\r
-struct Component* ScreenDialog_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* button;\r
-       struct Component* this=Dialog_new(x,y,sx,sy,msg);\r
-       \r
-       button=Button_new(0x04,0x10,0x20,0x14,'U');\r
-       Component_setlabel(button,"Up");\r
-       this->add(this,button);\r
-\r
-       button=Button_new(0x04,0x28,0x20,0x14,'D');\r
-       Component_setlabel(button,"Down");\r
-       this->add(this,button);\r
-\r
-       this->handler=ScreenDialog_handler;\r
-\r
-       return this;\r
-}\r
-*/\r
-void rootWindow_handler(struct Component* this, int msg, int param){\r
-       struct Component* dummy;\r
-       Window_handler(this,msg,param);\r
-}\r
-\r
-\r
-void screenbuilder(struct Component* root, char* filename){\r
-       struct Component* subw;\r
-       struct ActionXDS* action;\r
-       int mode;               \r
-       int fh,rd;\r
-       char buf[SIZE_SCRBLD_RECORD];\r
-       long l;\r
-       int xs,ys;\r
-       xs=0x2b;\r
-       ys=0x1a;\r
-       buf[0]=0;\r
-       fh=open(filename,O_RDONLY);\r
-       do{     \r
-               char comp=0;\r
-               if(buf[0]=='s'){                /* Change size */\r
-                       xs=*((int*)(buf+0x1));\r
-                       ys=*((int*)(buf+0x3));\r
-               }\r
-\r
-               if(buf[0]=='B' || buf[0]=='M'){         /* Button, Multi-line button */\r
-                       subw=Button_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       if(buf[0]=='M') subw->state|=STYLE_MULTILINE;\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='T'){                                        /* Toggle-button */\r
-                       subw=ToggleButton_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='D'){                                        /* Display button */\r
-                       subw=Display_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]);\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='L'){                                        /* Label */\r
-                       subw=Label_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf+0x12);\r
-                       comp=1;\r
-               }\r
-               if(buf[0]=='A'){                        \r
-                       struct ActionXDS a;\r
-                       root->xds=&a;\r
-                       a.action=*((int*)(buf+0x6));\r
-                       a.wParam=*((int*)(buf+0x8));\r
-                       a.lParam=*((long*)(buf+0xa));\r
-                       root_actionhandler(root);\r
-               }\r
-                               \r
-               if(buf[0]=='S'){\r
-                       struct StringTableXDS* stx;\r
-                       read_stringtable(fh,buf);\r
-                       root->xds=(void*) malloc(sizeof(struct StringTableXDS));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",root->xds); fflush(stdout);\r
-#endif\r
-\r
-                       stx=(struct StringTableXDS*) root->xds;\r
-                       root->sizexds=sizeof(struct StringTableXDS);\r
-                       stx->stringtable=global->stringtable;\r
-                       stx->stringtabledata=global->stringtabledata;\r
-#ifdef STR_DEBUG\r
-                       printf("Stringtable created @ %x\n",stx->stringtabledata); fflush(stdout);\r
-#endif\r
-                       comp=0;\r
-               }\r
-               if(comp!=0){\r
-                       if((buf[6] | buf[7])!=0){\r
-                               subw->state|=STATE_ACTION;\r
-                               subw->sizexds=sizeof(struct ActionXDS);\r
-                               subw->xds=(void*) malloc(sizeof(struct ActionXDS));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc Action: %x\n",subw->xds); fflush(stdout);\r
-#endif\r
-\r
-                               action=(struct ActionXDS*) (subw->xds);\r
-                               action->actionhandler=root_actionhandler;\r
-                               action->action=*((int*)(buf+0x6));\r
-                               action->wParam=*((int*)(buf+0x8));\r
-                               action->lParam=*((long*)(buf+0xa));\r
-                       }\r
-                       if((buf[0x0e] | buf[0x0f])!=0) \r
-                               subw->state=*((int*)(buf+0x0e));\r
-                       subw->font=*((int*)(buf+0x10));\r
-\r
-                       subw->label=(char*) (*((int*) (buf+0x12)) & 0x0fff);\r
-                       if(subw->label==NULL) {\r
-                               subw->label=(char*) malloc(LABEL_LENGTH);\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",subw->label); fflush(stdout);\r
-#endif\r
-                               subw->label[0]=0;\r
-                       }\r
-                       else\r
-                               subw->state|=STRING_FROMTABLE;\r
-\r
-                       if((*((int*) (buf+0x12)) &0xf000)>0x1000)\r
-                               subw->label2=(char*)((*((int*) (buf+0x12)) & 0x0fff)+1);\r
-\r
-                       root->add(root,subw);\r
-               }\r
-               \r
-               rd=read(fh,buf,SIZE_SCRBLD_RECORD);\r
-       } while(rd==SIZE_SCRBLD_RECORD);\r
-       close(fh);\r
-       Component_linkstringtable(root);\r
-       root->paint(root);\r
-}\r
-\r
-void root_actionhandler(struct Component* this){\r
-       struct ActionXDS *act;\r
-       struct Component* subw;\r
-       char filename[]={'/','w','n','d','/','0','0','0','0','.','s','c','r',0}; /* Nick added /wnd/ */\r
-\r
-       act=(struct ActionXDS*) (this->xds);\r
-#ifdef JOOST_DEBUG\r
-       printf("0x%x: (0x%x, 0x%x, 0x%lx)",act, act->action, act->wParam, act->lParam);\r
-#endif\r
-       if(act->action==0x0001){                        /*QUIT*/\r
-               this->handler(this,APP_QUIT,0);\r
-       }\r
-       if((act->action & 0xfffe)==0x0002){             /*Open Screen*/\r
-               Component_changestate_children(this->parent,STATE_VISIBLE,0,0);         \r
-               subw=Window_new(0,0,this->parent->sizex,this->parent->sizey);\r
-               subw->state=STATE_VISIBLE | STATE_ENABLED;\r
-               if((act->action & 1)!=0)\r
-                       subw->state|=STATE_APPLICATION;\r
-               subw->handler=rootWindow_handler;\r
-               subw->paint=Root_paint;\r
-               filename[5]=(char) ((act->lParam) &0xff); /* Nick 5 formerly 0 */\r
-               filename[6]=(char) ((act->lParam>>8) &0xff); /* Nick 6 formerly 1 */\r
-               filename[7]=(char) ((act->lParam>>16) &0xff); /* Nick 7 formerly 2 */\r
-               filename[8]=(char) ((act->lParam>>24) &0xff); /* Nick 8 formerly 3 */\r
-               screenbuilder(subw,filename);\r
-               this->parent->add(this->parent,subw);\r
-       }\r
-       if(act->action==0x0004) {                               /* Open MessageBox */\r
-               /*Component_changestate_children(this->parent,0,0,0);*/\r
-               struct Component* label;\r
-               int i;\r
-               subw=Dialog_new(0x05,0x05,this->parent->sizex-0x0a,this->parent->sizey-0x0a,1);\r
-               subw->state=STATE_VISIBLE | STATE_ENABLED | STYLE_SELFDESTRUCT;\r
-               subw->font=0x0030;\r
-               for(i=0; i<(act->wParam>>12)&0x0f; i++){\r
-                       label=Label_new(0x08,0x14+i*0x0c,(subw->sizex & 0xff)-0x10,0x10,global->stringtable[(act->wParam&0xfff)+i-1]);\r
-                       label->font=0x0030;\r
-                       subw->add(subw,label);\r
-               }\r
-               Component_setlabel(subw,"Message Box");\r
-               Component_find(subw,0xff)->font=0x0030;\r
-               Component_delete(Component_find(subw,0xfe));\r
-               this->parent->add(this->parent,subw);\r
-               this->parent->handler(this->parent,WND_REDRAW,0);\r
-       }\r
-#ifdef JOOST_DEBUG\r
-       printf("Before external handler...\n"); fflush(stdout);\r
-#endif\r
-       if(global->actionhandler!=NULL)\r
-               global->actionhandler(this);\r
-\r
-#ifdef JOOST_DEBUG\r
-       printf("After external handler...\n"); fflush(stdout);\r
-#endif\r
-}\r
-\r
-void read_stringtable(int fh,char* buf){\r
-       int siz,bsiz;\r
-       int i=0,j=0;\r
-       char **ptrs;\r
-       char *rawdata;\r
-\r
-       siz=*((int*) (buf+0x01));\r
-       bsiz=*((int*) (buf+0x03));\r
-#ifdef STR_DEBUG\r
-       printf("%d %d\n",siz,bsiz);\r
-#endif\r
-\r
-       ptrs=(char**) malloc(sizeof(char*)*siz);\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",ptrs); fflush(stdout);\r
-#endif\r
-\r
-       rawdata=(char*) malloc(bsiz);\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",rawdata); fflush(stdout);\r
-#endif\r
-\r
-       read(fh,rawdata,bsiz);\r
-       while(i<bsiz && j<siz){\r
-               ptrs[j++]=&(rawdata[i]);\r
-               while(rawdata[i]!=0x00)\r
-                       i++;\r
-               rawdata[i++]=0x00;\r
-       }\r
-       if(j<siz)\r
-               ptrs[j]=&(rawdata[i]);\r
-       global->stringtabledata=rawdata;\r
-       global->stringtable=ptrs;\r
-#ifdef STR_DEBUG\r
-       for(i=0; i<siz; i++)\r
-               printf("%d: %x->""%s""\n",i,global->stringtable[i],global->stringtable[i]);\r
-       fflush(stdout);\r
-#endif\r
-\r
-}\r
-\r
-struct Global_GUI* gui_globals(){\r
-       return global;\r
-}\r
-\r
-\r
-void GUIinit(void){\r
-       global=(struct Global_GUI*) malloc(sizeof(struct Global_GUI));\r
-#ifdef MALLOC_DEBUG\r
-       printf("malloc: %x\n",global); fflush(stdout);\r
-#endif\r
-\r
-       global->id=0;\r
-       global->willquit=0;\r
-       global->currentfont=NULL;\r
-       global->firstfont=NULL;\r
-       global->stringtable=NULL;\r
-       global->stringtabledata=NULL;\r
-       global->actionhandler=NULL;\r
-       GraphicsOpen();\r
-       loadFont(0x0030,stringwidth0,stringheight01,0,NULL);\r
-       loadFont(0x0031,stringwidth1,stringheight01,0,NULL);\r
-       loadFont(0x0032,stringwidth2,stringheight2,0,NULL);\r
-       global->root=Window_new(0x0,0x0,0x00,0x80);\r
-       global->root->state=STATE_VISIBLE;\r
-       global->root->handler=rootWindow_handler;\r
-       global->root->paint=Root_paint;\r
-}\r
-\r
-void GUIunit(void){\r
-       Component_delete(global->root);\r
-       ClearScreen();\r
-       GraphicsClose();\r
-}\r
-\r
-void GUIgo(char* scr){\r
-       char buf,obuf;\r
-       screenbuilder(global->root,scr);\r
-\r
-       while(read(global->lcd,&buf,1)==1);\r
-\r
-       while(!global->willquit){\r
-               if(read(global->lcd,&buf,1)==1){\r
-                       if(buf!=0)\r
-                               global->root->handler(global->root,KEY_PRESSED,buf);            \r
-                       else\r
-                               global->root->handler(global->root,KEY_RELEASED,obuf);\r
-                       obuf=buf;\r
-               }\r
-       }\r
-}\r
-\r
-/*void main(void){\r
-       GUIinit();\r
-       GUIgo();\r
-       GUIunit();\r
-}*/\r
-\r
diff --git a/src/gui/wnd.cbackup b/src/gui/wnd.cbackup
deleted file mode 100644 (file)
index d7f96da..0000000
+++ /dev/null
@@ -1,658 +0,0 @@
-#include <stdio.h>\r
-#include <syscalls.h>\r
-#include <fcntl.h>\r
-#include <sys\ioctl.h>\r
-#include <sgtty.h>\r
-#include <string.h>\r
-\r
-/*#define JOOST_DEBUG*/\r
-\r
-#define FONT_HEIGHT            7\r
-#define FONT_WIDTH             6\r
-\r
-#define STATE_VISIBLE  0x0001\r
-#define STATE_ENABLED  0x0002\r
-#define STATE_CHECKED  0x0004\r
-#define STATE_FOCUS            0x0008\r
-#define STATE_CASTING  0x0010\r
-#define STATE_ACTION   0x0020\r
-\r
-#define KEY_TYPED              0x0001\r
-#define WND_OPEN               0x0101\r
-#define WND_CLOSE              0x0102\r
-#define WND_REDRAW             0x0103\r
-#define WND_BROADCAST   0x0104\r
-#define CMP_ACTION             0x0201\r
-#define CMP_STATECHANGE        0x0202\r
-#define CMP_BROADCAST  0x0203\r
-#define DLG_OK                 0x0301\r
-#define DLG_CANCEL             0x0302\r
-\r
-int id=0;\r
-int lcd;\r
-int willquit;\r
-\r
-/************************************************\r
- * Graphics                                     *\r
- ************************************************/\r
-\r
-void GraphicsOpen(){\r
-       struct sgttyb temp;\r
-       char init[]={0x1B,'K'};\r
-\r
-       lcd=open("/dev/lcd0",O_RDWR);\r
-       gtty(lcd,&temp);\r
-       temp.sg_flags=RAW | UNBUFF;\r
-       stty(lcd,&temp);\r
-\r
-       write(lcd,init,2);\r
-}\r
-\r
-void Move(int x, int y){\r
-       unsigned char cmd[]={0x1B,'S',0,0};\r
-       cmd[2]=(unsigned char) (x);\r
-       cmd[3]=(unsigned char) (y);\r
-       write(lcd,cmd,4);\r
-}\r
-\r
-void ClearRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'C',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(lcd,cmd,4);\r
-}\r
-\r
-void DrawRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'N',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(lcd,cmd,4);\r
-}\r
-\r
-void FillRect(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'R',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(lcd,cmd,4);\r
-}\r
-\r
-void FillRectNC(int sx, int sy){\r
-       unsigned char cmd[]={0x1B,'F',0,0};\r
-       cmd[2]=(unsigned char) (sx);\r
-       cmd[3]=(unsigned char) (sy);\r
-       write(lcd,cmd,4);\r
-}\r
-\r
-void Text(char *s){\r
-       int c=strlen(s);\r
-       write(lcd,s,c);\r
-}\r
-\r
-void TouchRegion(int msg, int x, int y, int sx, int sy){\r
-       char touch[]={0x1B,'Z',0,0,0,0,0};\r
-       touch[2]=(unsigned char) (msg);\r
-       touch[3]=(unsigned char) (x);\r
-       touch[4]=(unsigned char) (y);\r
-       touch[5]=(unsigned char) (sx);\r
-       touch[6]=(unsigned char) (sy);\r
-       write(lcd,touch,7);\r
-#ifdef JOOST_DEBUG\r
-       printf("Touch: %x,%x,%x,%x,%x\n",msg,x,y,sx,sy); fflush(stdout);\r
-#endif\r
-}\r
-\r
-void ClearScreen(){\r
-       Move(0,0);\r
-       ClearRect(0,0x80);\r
-       TouchRegion(0,0,0,0,0x80);\r
-}\r
-\r
-void EnableScreen(unsigned char c){\r
-       char cmd[]={0x1B,'E',0};\r
-       cmd[2]=c;\r
-       write(lcd,cmd,3);\r
-}\r
-\r
-/************************************************\r
- * Components                                   *\r
- ************************************************/\r
-\r
-struct Component {\r
-       int id;\r
-       int x,y;\r
-       int sizex,sizey;\r
-       int state;\r
-       int order;\r
-       char msg;\r
-       struct Component* parent;\r
-       struct Component *next_sibling;\r
-       struct Component *first_child;\r
-       void (*handler) (struct Component*, int, int);\r
-       void (*paint) (struct Component*);\r
-       void (*add) (struct Component*, struct Component*);\r
-       char label[20];\r
-       int sizexds;\r
-       void *xds;\r
-};\r
-\r
-struct ActionXDS {\r
-       void (*actionhandler)(struct Component*, int);\r
-       int action;\r
-       int wParam;\r
-       long lParam;\r
-};\r
-\r
-struct Component* root;\r
-\r
-struct Component* Component_new(int x,int y,int sx,int sy){\r
-       struct Component* this=(struct Component*) (malloc(sizeof(struct Component)));\r
-       this->id=(++id);\r
-       this->x=x;\r
-       this->y=y;\r
-       this->sizex=sx;\r
-       this->sizey=sy;\r
-       this->state=0;\r
-       this->order=0;\r
-       this->msg=0;\r
-       this->parent=NULL;\r
-       this->next_sibling=NULL;\r
-       this->first_child=NULL;\r
-       this->handler=NULL;\r
-       this->paint=NULL;\r
-       this->add=NULL;\r
-       this->sizexds=0;\r
-       this->xds=NULL;\r
-       this->label[0]=0;\r
-       return this;\r
-}\r
-\r
-void Component_setlabel(struct Component* this, char* s){\r
-       int i=0;\r
-       while(s[i]!=0 && i<20){\r
-               this->label[i]=s[i];\r
-               i++;\r
-       }\r
-       this->label[i]=0;\r
-}\r
-\r
-void Component_add(struct Component* this, struct Component* comp){\r
-       struct Component* current=this->first_child;\r
-       if(this->first_child==NULL){\r
-               this->first_child=comp;\r
-               comp->next_sibling=NULL;\r
-       }\r
-       else\r
-       {\r
-               while(current->next_sibling!=NULL){\r
-                       current=current->next_sibling;\r
-               }\r
-               current->next_sibling=comp;\r
-               comp->next_sibling=NULL;\r
-       }\r
-       comp->parent=this;\r
-}\r
-void Component_paint(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       while(current!=NULL){\r
-               current->paint(current);\r
-               current=current->next_sibling;\r
-       }\r
-}\r
-\r
-\r
-void Component_findXY(struct Component* this, int* x, int* y){\r
-       struct Component* current=this;\r
-       do{\r
-               *x+=current->x;\r
-               *y+=current->y;\r
-               current=current->parent;\r
-       } while(current!=NULL);\r
-}\r
-\r
-struct Component* Component_find(struct Component* this, int msg){\r
-       struct Component* current=this->first_child;\r
-#ifdef JOOST_DEBUG\r
-       printf("Find %x in %x:\n",msg, this->id); fflush(stdout);\r
-#endif\r
-       while(current!=NULL){\r
-#ifdef JOOST_DEBUG\r
-               printf("Comp_find: %x, %x\n",msg, current->msg); fflush(stdout);\r
-#endif\r
-               if(current->msg==msg)\r
-                       return current;\r
-               current=current->next_sibling;\r
-       }\r
-       return NULL;\r
-}\r
-\r
-struct Component* Component_delete(struct Component* this){\r
-       struct Component* current=this->first_child;\r
-       int id=this->id;\r
-       if(this!=NULL){\r
-#ifdef JOOST_DEBUG\r
-               printf("Deleting component: %d\n",id); fflush(stdout);\r
-#endif\r
-               while(current!=NULL){\r
-                       current=Component_delete(current);\r
-               }\r
-               if(this->parent!=NULL){\r
-                       if(this==this->parent->first_child)\r
-                               this->parent->first_child=this->parent->first_child->next_sibling;\r
-                       else{\r
-                               current=this->parent->first_child;\r
-                               while(this!=current->next_sibling && current->next_sibling!=NULL)\r
-                                       current=current->next_sibling;\r
-                               if(current->next_sibling!=NULL)\r
-                                       current->next_sibling=current->next_sibling->next_sibling;\r
-                       }\r
-               }       \r
-               current=this->next_sibling;\r
-               if(this->sizexds>0)\r
-                       free(this->xds);\r
-               free(this);\r
-#ifdef JOOST_DEBUG\r
-               printf("Deleted component: %d\n",id); fflush(stdout);\r
-#endif\r
-       }\r
-       return current;\r
-}\r
-\r
-\r
-/************************************************\r
- * Windows                                      *\r
- ************************************************/\r
-\r
-void Window_handler (struct Component* this, int msg, int param){\r
-       struct Component* current;\r
-       int x=0,y=0;\r
-#ifdef JOOST_DEBUG\r
-       printf("Message in window %d, Msg: %x, Param: %x\n",this->id,msg,param); fflush(stdout);\r
-#endif\r
-       switch(msg){\r
-       case KEY_TYPED:\r
-               current=this->first_child;\r
-               while(current!=NULL) {\r
-                       current->handler(current,msg,param);\r
-                       current=current->next_sibling;\r
-               }\r
-               break;\r
-       case WND_REDRAW:\r
-               this->paint(this);\r
-               break;\r
-       case WND_CLOSE:\r
-               Component_findXY(this,&x,&y);\r
-               TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               this->parent->handler(this->parent,WND_REDRAW,0);\r
-               break;\r
-       case WND_BROADCAST:\r
-               current=this->first_child;\r
-               while(current!=NULL){\r
-                       if(current!=(struct Component*) (param) && (current->state & STATE_FOCUS)!=0)\r
-                               current->handler(current,CMP_BROADCAST,param);\r
-                       current=current->next_sibling;\r
-               }\r
-               break;\r
-       }\r
-}\r
-\r
-void Window_paint(struct Component* this){\r
-       int x=0,y=0;\r
-       struct Component* current;\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               Move(x,y+FONT_HEIGHT+4);\r
-               DrawRect(this->sizex,this->sizey-FONT_HEIGHT-4);\r
-               Move(x,y);\r
-               FillRect(this->sizex, FONT_HEIGHT+5);\r
-               Move(x+2,y+2);\r
-               Text(this->label);\r
-               Component_paint(this);\r
-       }\r
-}\r
-\r
-void Root_paint(struct Component* this){\r
-       Move(0,0);\r
-       ClearRect(0,0x80);\r
-       Component_paint(this);  \r
-/*     EnableScreen(0);\r
-       Window_paint(this);\r
-       EnableScreen(1);*/\r
-}\r
-\r
-void Window_add(struct Component* this, struct Component* comp){\r
-       Component_add(this,comp);\r
-}\r
-\r
-struct Component* Window_new(int x,int y,int sx,int sy){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->handler=Window_handler;\r
-       this->paint=Window_paint;\r
-       this->add=Window_add;\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Buttons                                      *\r
- ************************************************/\r
-\r
-void Button_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-               if((this->state & STATE_CASTING)!=0)\r
-                       this->parent->handler(this->parent, WND_BROADCAST, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION)\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-}\r
-\r
-void Button_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               if((this->state & STATE_ENABLED)!=0){\r
-                       FillRectNC(this->sizex,this->sizey);\r
-                       Move(x+(this->sizex-FONT_WIDTH*strlen(this->label))/2,y+(this->sizey-FONT_HEIGHT)/2);\r
-                       Text(this->label);\r
-                       TouchRegion(this->msg,x,y,this->sizex,this->sizey);\r
-               }else{\r
-                       DrawRect(this->sizex,this->sizey);\r
-                       Move(x+(this->sizex-FONT_WIDTH*strlen(this->label))/2,y+(this->sizey-FONT_HEIGHT)/2);\r
-                       Text(this->label);\r
-                       TouchRegion(0,x,y,this->sizex,this->sizey);\r
-               }               \r
-       }\r
-}\r
-\r
-void Button_add(struct Component* this, struct Component* comp){\r
-       \r
-}\r
-\r
-struct Component* Button_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state=this->state | STATE_ENABLED | STATE_VISIBLE;\r
-       this->msg=msg;\r
-       this->handler=Button_handler;\r
-       this->paint=Button_paint;\r
-       this->add=Button_add;\r
-       \r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Toggle-buttons                               *\r
- ************************************************/\r
-\r
-void ToggleButton_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){\r
-               this->state^=STATE_CHECKED;\r
-               this->parent->handler(this->parent, CMP_STATECHANGE, param);\r
-               this->handler(this, WND_REDRAW, 0);\r
-               if((this->state & STATE_CASTING)!=0)\r
-                       this->parent->handler(this->parent, WND_BROADCAST, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION)\r
-               this->parent->handler(this->parent, CMP_ACTION, param);\r
-}\r
-\r
-void ToggleButton_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-               if((this->state & STATE_ENABLED)!=0 && (this->state & STATE_CHECKED)!=0){\r
-                       FillRectNC(this->sizex,this->sizey);\r
-                       Move(x+2,y+(this->sizey-FONT_HEIGHT)/2);\r
-                       Text(this->label);\r
-                       TouchRegion(this->msg,x,y,this->sizex,this->sizey);\r
-               }else{\r
-                       DrawRect(this->sizex,this->sizey);\r
-                       Move(x+2,y+(this->sizey-FONT_HEIGHT)/2);\r
-                       Text(this->label);\r
-                       TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey);\r
-               }               \r
-       }\r
-}\r
-\r
-struct Component* ToggleButton_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state=this->state | STATE_ENABLED | STATE_VISIBLE | STATE_CHECKED;\r
-       this->msg=msg;\r
-       this->handler=ToggleButton_handler;\r
-       this->paint=ToggleButton_paint;\r
-       this->add=Button_add;\r
-       \r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Dialogs                                      *\r
- ************************************************/\r
-\r
-void Dialog_handler(struct Component* this, int msg, int param){\r
-       Window_handler(this,msg,param);\r
-       if(msg==CMP_ACTION && param=='O'){\r
-               this->state=this->state & (0xffff-(STATE_VISIBLE | STATE_ENABLED));\r
-               this->handler(this,WND_CLOSE,0);\r
-               this->parent->handler(this->parent, DLG_OK, this->msg);\r
-       }\r
-       if(msg==CMP_ACTION && param=='C'){\r
-               this->state=this->state & (0xffff-(STATE_VISIBLE | STATE_ENABLED));\r
-               this->handler(this,WND_CLOSE,0);\r
-               this->parent->handler(this->parent, DLG_CANCEL, this->msg);\r
-       }\r
-}\r
-\r
-struct Component* Dialog_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* ok;\r
-       struct Component* this=Component_new(x,y,sx,sy);\r
-       this->state=this->state | STATE_VISIBLE;\r
-       this->msg=msg;\r
-       this->handler=Dialog_handler;\r
-       this->paint=Window_paint;\r
-       this->add=Window_add;\r
-\r
-       ok=Button_new(sx-0x30,sy-0x1c,0x28,0x14,'O');\r
-       Component_setlabel(ok,"OK");\r
-       this->add(this,ok);\r
-\r
-       ok=Button_new(sx-0x30,sy-0x38,0x28,0x14,'C');  /*Cancel*/\r
-       Component_setlabel(ok,"Cancel");\r
-       this->add(this,ok);\r
-\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Displays                                     *\r
- ************************************************/\r
-void Display_handler(struct Component* this, int msg, int param){\r
-       Button_handler(this,msg,param);\r
-       if(msg==CMP_BROADCAST && (this->state & STATE_FOCUS)!=0){\r
-#ifdef JOOST_DEBUG\r
-               printf("strlen = %d->",strlen(this->label)); fflush(stdout);\r
-#endif\r
-               if(param==0x08){\r
-                       if(strlen(this->label)!=0)\r
-                               this->label[strlen(this->label)-1]=0;\r
-               }else{\r
-                       this->label[strlen(this->label)+1]=0;\r
-                       this->label[strlen(this->label)]=(char) param;\r
-               }       \r
-#ifdef JOOST_DEBUG\r
-               printf("%d\n",strlen(this->label)); fflush(stdout);\r
-#endif\r
-               this->handler(this,WND_REDRAW,0);\r
-       }\r
-}\r
-\r
-void Display_paint(struct Component* this){\r
-       int x=0, y=0;\r
-       struct Component* current;\r
-       if((this->state & STATE_VISIBLE)!=0){\r
-               Component_findXY(this,&x,&y);\r
-\r
-               Move(x,y);\r
-               ClearRect(this->sizex,this->sizey);\r
-       \r
-               FillRectNC(this->sizex,this->sizey);\r
-               Move(x+2,y+(this->sizey-FONT_HEIGHT)/2);\r
-               Text(this->label);\r
-               if((this->state & STATE_ENABLED)!=0)\r
-                       TouchRegion(this->msg,x,y,this->sizex,this->sizey);\r
-       }\r
-}\r
-\r
-struct Component* Display_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* this=Button_new(x,y,sx,sy,msg);\r
-       this->state|=STATE_FOCUS;\r
-       Component_setlabel(this,"");\r
-       this->paint=Display_paint;\r
-       this->handler=Display_handler;\r
-       return this;\r
-}\r
-\r
-/************************************************\r
- * Implementation                               *\r
- ************************************************/\r
-\r
-void ScreenDialog_handler(struct Component* this, int msg, int param){\r
-       char cmd[]={0x1B,'V',0};\r
-       Dialog_handler(this,msg,param);\r
-       if(msg==CMP_ACTION){\r
-               if(param=='U')\r
-                       cmd[2]=0;\r
-               else if(param=='D')\r
-                       cmd[2]=1;\r
-               else \r
-                       return;\r
-               write(lcd,cmd,3);\r
-       }\r
-}\r
-\r
-struct Component* ScreenDialog_new(int x, int y, int sx, int sy, int msg){\r
-       struct Component* button;\r
-       struct Component* this=Dialog_new(x,y,sx,sy,msg);\r
-       \r
-       button=Button_new(0x04,0x10,0x20,0x14,'U');\r
-       Component_setlabel(button,"Up");\r
-       this->add(this,button);\r
-\r
-       button=Button_new(0x04,0x28,0x20,0x14,'D');\r
-       Component_setlabel(button,"Down");\r
-       this->add(this,button);\r
-\r
-       this->handler=ScreenDialog_handler;\r
-\r
-       return this;\r
-}\r
-\r
-void rootWindow_handler(struct Component* this, int msg, int param){\r
-       struct Component* dummy;\r
-       Window_handler(this,msg,param);\r
-       if(msg==DLG_OK && param=='!')\r
-               willquit=1;\r
-       if(msg==DLG_CANCEL && param=='!'){\r
-               Component_delete(Component_find(this,'!'));\r
-               Component_find(this,'Q')->state|=STATE_ENABLED;\r
-               this->handler(this,WND_REDRAW,0);\r
-       }\r
-\r
-       if((msg==DLG_CANCEL || msg==DLG_OK) && param=='#'){\r
-               Component_delete(Component_find(this,'#'));\r
-               Component_find(this,'S')->state|=STATE_ENABLED;\r
-               this->handler(this,WND_REDRAW,0);\r
-       }\r
-\r
-       if(msg==CMP_ACTION && param=='Q'){\r
-               dummy=Dialog_new(0x02,0x02,0xfc,0x7c,'!');\r
-               dummy->state=dummy->state | STATE_VISIBLE;\r
-               Component_setlabel(dummy,"Really quit?");\r
-               this->add(root,dummy);\r
-               Component_find(this,'Q')->state&=0xffff-STATE_ENABLED;\r
-               this->handler(this,WND_REDRAW,0);\r
-       }\r
-\r
-       if(msg==CMP_ACTION && param=='S'){\r
-               dummy=ScreenDialog_new(0x02,0x02,0xfc,0x7c,'#');\r
-               dummy->state=dummy->state | STATE_VISIBLE;\r
-               Component_setlabel(dummy,"Screen contrast");\r
-               \r
-               this->add(root,dummy);\r
-               Component_find(this,'S')->state&=0xffff-STATE_ENABLED;\r
-               this->handler(this,WND_REDRAW,0);\r
-       }\r
-}\r
-\r
-void Numpad(struct Component* this, int x, int y){\r
-       int i;\r
-       char s[2]={0,0};\r
-       struct Component* button;\r
-       for(i=0; i<9; i++){\r
-               s[0]=0x31+(char) i;\r
-               button=Button_new(x+(i%3)*0x18,y+0x30-(i/3)*0x18,0x16,0x16,i+0x31);\r
-               Component_setlabel(button,s);\r
-               button->state|=STATE_CASTING;\r
-               this->add(this,button);\r
-       }\r
-       button=Button_new(x+0x18,y+0x48,0x16,0x16,0x30);\r
-       Component_setlabel(button,"0");\r
-       button->state|=STATE_CASTING;\r
-       this->add(this,button);\r
-\r
-       button=Button_new(x+0x30,y+0x48,0x16,0x16,0x08);\r
-       Component_setlabel(button,"CE");\r
-       button->state|=STATE_CASTING;\r
-       this->add(this,button);\r
-}\r
-\r
-void main(void){\r
-       struct Component* subw;\r
-       char buf;\r
-       willquit=0;\r
-       GraphicsOpen();\r
-       root=Window_new(0x0,0x0,0x00,0x80);\r
-       root->state=STATE_VISIBLE;\r
-       root->handler=rootWindow_handler;\r
-       root->paint=Root_paint;\r
-       Component_setlabel(root,"Test-window");\r
-\r
-       subw=Button_new(0xc0,0x60,0x30,0x18,'Q');\r
-       Component_setlabel(subw,"Quit");\r
-       root->add(root,subw);\r
-\r
-       subw=ToggleButton_new(0xc0,0x40,0x30,0x18,'T');\r
-       Component_setlabel(subw," Toggle!");\r
-       root->add(root,subw);\r
-\r
-       subw=Button_new(0xc0,0x20,0x30,0x18,'S');\r
-       Component_setlabel(subw,"Screen");\r
-       root->add(root,subw);\r
-\r
-       subw=Display_new(0x10,0x02,0x46,0x18,'@');\r
-       root->add(root,subw);\r
-\r
-       Numpad(root,0x10,0x1f);\r
-\r
-       root->paint(root);\r
-\r
-       while(read(lcd,&buf,1)==1);\r
-\r
-       while(!willquit){\r
-               if(read(lcd,&buf,1)==1)\r
-                       root->handler(root,KEY_TYPED,buf);\r
-       }\r
-\r
-       Component_delete(root);\r
-       ClearScreen();\r
-}
\ No newline at end of file
index dcf45c3..cf96840 100644 (file)
 #define CMP_BROADCAST          0x0203\r
 #define DLG_OK                         0x0301\r
 #define DLG_CANCEL                     0x0302\r
-#define APP_QUIT                       0x0401\r
+#define BARCODE_SCAN           0x0401\r
+#define APP_QUIT                       0x0501\r
 \r
 struct Global_GUI {\r
        int id;\r
+       int lcda[2];\r
        int lcd;\r
        int willquit;\r
        char *stringtabledata;\r
        char **stringtable;\r
+       char *barcode;\r
+       int barcodetty;\r
        struct Font* currentfont;\r
        struct Font* firstfont;\r
        struct Component* root;\r
diff --git a/src/gui/wnd.ihx b/src/gui/wnd.ihx
deleted file mode 100644 (file)
index be61cb6..0000000
+++ /dev/null
@@ -1,1068 +0,0 @@
-:020000040000FA\r
-:10810000C30381ED73A6C3114AC7CDF9BFCD458125\r
-:10811000DD210000DD39DD6E04DD66052212C5DDDE\r
-:108120004E02DD4603ED4310C5DD5E00DD5601ED78\r
-:10813000530EC5CD3AABEBD52A16C57DB4C44481E8\r
-:10814000D1C319C0E9214AC7110EC5CD6E8111A056\r
-:10815000C321A0C30132C2CD6381114AC721A0C38C\r
-:1081600001A0C3AFED42C54D44E1C8EDB0C9AFE5D4\r
-:10817000ED52E1C8121318F77BF5ED3804E602283A\r
-:10818000F9F1ED3906C93E0DCD79813E0A18EAEBC9\r
-:108190007CCD95817DF50F0F0F0FCD9E81F1E60F00\r
-:1081A000C69027CE402718D1E3F57E23B72805CD0A\r
-:1081B000798118F6F1E3C90405C8CB2ACB1B10FA64\r
-:1081C000C9F5E5CD2C827B2F5F7A2F57E1F1C9F5F8\r
-:1081D000C5E5AFCD1082F5CD2C82F1B72803131879\r
-:1081E000067B2F5F7A2F57E1C1F1C9F5E5CD2C82CF\r
-:1081F000EBE1F1C9F5E5C53E01CD1082F5CD2C824C\r
-:10820000F1EBB72007AF935F3E009A57C1E1F1C988\r
-:10821000CB782809AF914F3E0098473E01CB7AC8F2\r
-:10822000F5AF935F3E009A57F1EE01C92100003E81\r
-:1082300011CB13CB123DC8CB15CB14ED4230F20954\r
-:1082400018EFF5C5E5784251676BED4CED6CED5CD0\r
-:1082500079858257E1C1F1C9C5E5F57CEE80677883\r
-:10826000EE8047F1A7ED42E1C1C95E2356CD4282BF\r
-:10827000722B73C9B7C8CB28CB19CB1CCB1D3D20A3\r
-:10828000F5C9E3D5DDE5DD210000DD39DD5609DD89\r
-:108290007409DD5E08DD7508D5C5F5DD6E0462ED97\r
-:1082A0006CDD5605ED5C1959DD5607ED5C19DD5E98\r
-:1082B0000650ED5C19E5DD5E04DD56FEED5CDD6E1D\r
-:1082C00005DD6607ED6C19DD4606ED4C09E5DD5E62\r
-:1082D00004DD5607ED5CDD6E05DD6606ED6CAF195D\r
-:1082E00017F5DD5E04DD5606ED5C4A0600AF0917A2\r
-:1082F00055C14CE10984C1814D47EBF1D1D1DDE19C\r
-:10830000D133333333C9EBE3F5DDE5DD210000DDA7\r
-:1083100039C5D5DD5609DD7409DD5E08DD7508CD8A\r
-:10832000FA83E1C1CD5A84DDE1F1D13333C9EBE306\r
-:10833000F5DDE5DD210000DD39C5D5DD5609DD744B\r
-:1083400009DD5E08DD7508AFCDB683CDFA83E1C1E6\r
-:10835000B7CC5A84C45284DDE1F1D13333C9EBE3A5\r
-:10836000F5DDE5DD210000DD39C5D5DD5609DD741B\r
-:1083700009DD5E08DD7508CDFA83DDF9DDE1F1D1B7\r
-:108380003333C9EBE3F5DDE5DD210000DD39C5D58B\r
-:10839000DD5609DD7409DD5E08DD75083E01CDB6E8\r
-:1083A00083CDFA83B72006CD5A84CD5284DDF9DD22\r
-:1083B000E1F1D13333C9CB7A2818424BDD6607DDB2\r
-:1083C0006E06CD5A84CD52845059DD7407DD750692\r
-:1083D0003E01DDCBFF7EC8F5DD46FFDD4EFEDD66EE\r
-:1083E000FDDD6EFCCD5A84CD5284DD70FFDD71FE63\r
-:1083F000DD74FDDD75FCF1EE01C9F5210000010021\r
-:1084000000DD36F82118021937DDCBFC16DDCBFD77\r
-:1084100016DDCBFE16DDCBFF16DD35F8282ECB1191\r
-:10842000CB10CB15CB14ED5238DD201078DD96073C\r
-:1084300038D5200879DD960638CD180479DD960602\r
-:108440004F78DD9E074730C12BA718BDF1E5606965\r
-:10845000C1C92CC024C00CC004C9F57D2F6F7C2F6E\r
-:1084600067792F4F782F47F1C9F5AF956F3E009C84\r
-:10847000673E00994F3E009847F1C9C5D55E235627\r
-:10848000234E2346EBCD8282C39B84C5D55E235603\r
-:10849000234E2346EBCD0683C39B84EB702B712BBD\r
-:1084A000722B73C9F57E83775F237E8A7757237E8D\r
-:1084B00089774F237E8877472B2B2BF1C9E3F5D59E\r
-:1084C0007B96235F7A9E23577B96237A9E23C3D184\r
-:1084D000843004EB2329195E2356EBD1F1E3C9E381\r
-:1084E000F5C54E2346237BEDB12002232309C30E9D\r
-:1084F00085E3F5C54E23462378B1280D0B7B9623E3\r
-:1085000020F57A9620F12323230909C30E85090952\r
-:108510007E23666FC1F1E3C9E1C5D5DDE5DD21004C\r
-:1085200000DD39E9E1C5D5DDE5DD210000DD395E9D\r
-:10853000235623EB39F9EBE9DDF9DDE1D1C1C9DDE2\r
-:10854000F9DDE1D13333C9E9CD2485F8FF210600F7\r
-:1085500039EB2123C1010200EDB02A18C52323E520\r
-:108560000303C50150C1C5CD89C0F1F14D44E1718E\r
-:10857000237021000039E5210000E52A18C52323D6\r
-:108580004E2346C5CD3BC0F1F1F1DD36FC60DD3652\r
-:10859000FD0021000039E5210100E52A18C523234B\r
-:1085A0004E2346C5CD3BC0F1F1F1210200E52E0876\r
-:1085B000394D442A18C523235E2356CD09C1F1C382\r
-:1085C0003885D52A18C523235E2356CD09C0D1C9C5\r
-:1085D000CD2485FCFF21000039EB2125C1010400D9\r
-:1085E000EDB0DD4602DD70FEDD4604DD70FF2104E6\r
-:1085F00000E52B2BC3B0854DC3B2852A18C52323B4\r
-:108600005E23C3BA85CD09C1F1C33885CD2485FC6D\r
-:10861000FF21000039EB2129C1010400EDB0DD4646\r
-:1086200002DD70FEDD4604DD70FF210400E52B2B2A\r
-:10863000C3B0854DC3F8852A18C5C3B68523C300CA\r
-:108640008623C3BA85CD09C1F1C33885CD2485FC05\r
-:10865000FF21000039EB212DC1010400EDB0DD4602\r
-:1086600002DD70FEDD4604DD70FF210400E52B2BEA\r
-:10867000C3B0854DC3F8852A18C5C33A8623C3B84D\r
-:108680008523C30286CD09C1F1C33885CD2485FC7D\r
-:10869000FF21000039EB2131C1010400EDB0DD46BE\r
-:1086A00002DD70FEDD4604DD70FF210400E52B2BAA\r
-:1086B000C3B0854DC3F8852A18C5C33A8623C37E47\r
-:1086C0008623C3BA85CD09C1F1C33885CD2485FC85\r
-:1086D000FF21000039EB2135C1010400EDB0DD467A\r
-:1086E00002DD70FEDD4604DD70FF210400E52B2B6A\r
-:1086F000C3B0854DC3F8852A18C5C33A8623C37E07\r
-:108700008623C3C286CD09C1F1C33885C5FDE5DD29\r
-:10871000E5D5DDE1CD4EB6E5DDE5C12A18C523235B\r
-:108720005E2356CD09C1F1DDE1FDE1C1C9CD24854E\r
-:10873000F8FF21000039EB2139C1010700EDB0DD60\r
-:108740004602DD70FADD4604DD70FBDD4608DD70B3\r
-:10875000FCDD460ADD70FDDD460CDD70FE21070004\r
-:10876000E52E02C3B0854DC3F8852A18C5C33A86E5\r
-:1087700023C37E8623C3C286CD09C1F1C33885C514\r
-:10878000D5CD9487E56CE5E54D44EBCD2D87E1E152\r
-:10879000E1D1C1C90100005950CDD08501800058F8\r
-:1087A00050CD0C86218000C9CD2485FCFF2100001E\r
-:1087B00039EB2140C1010300EDB0DD4602DD70FE62\r
-:1087C000210300E52BC3B0854DC3F8852A18C5C326\r
-:1087D0003A8623C37E8623C3C286CD09C1F1C3383E\r
-:1087E00085CD2485FEFF21000039EB2143C1010224\r
-:1087F00000EDB0DD4602DD70FF210200E5C3B0856B\r
-:108800004DC3F8852A18C5C33A8623C37E8623C381\r
-:10881000C286CD09C1F1C33885CD24850000210C65\r
-:1088200000ED4B18C50946236668EB7BB228166B32\r
-:108830006246236668DD4E02DD4603ED42280621CE\r
-:1088400006001918E1EBC33885C5DDE5D5DDE1CDBE\r
-:1088500019887DB4281BDDE5D1CDE187210A00ED23\r
-:108860004B18C509E5DDE5D1CD19884D44E17123EB\r
-:1088700070DDE1C1C9CD2485FCFFFDE5110C00CD03\r
-:108880000489DD4E0271DD46032370DD6E04FD7543\r
-:1088900002DD6605FD7403DD6E08FD7504DD660905\r
-:1088A000FD7405AFFD7706FD7707DD6E0AFD7508DF\r
-:1088B000DD660BFD7409DD6E0CFD750ADD660DFDD0\r
-:1088C000740B210C00ED4B18C5097E23B6210C005A\r
-:1088D000ED4B18C5092010FDE5C1712370210A0078\r
-:1088E000ED4B18C509181246236668EB21060019DE\r
-:1088F0007E23B62106001920EEFDE5C1712370FD2F\r
-:10890000E1C33885CDE3B2E5FDE1C9FDE5DDE5C5AF\r
-:10891000D5DD210000FD210000FDE5210200394EDA\r
-:108920002346E1097EB72850FDE5E1095ECDDF84ED\r
-:108930000A00212C2E3149696A6B6C726689618943\r
-:10894000578961896189528952895C895C895C890E\r
-:1089500052890102001812010300180D01040018C9\r
-:10896000080105001803010600DD09210200394E47\r
-:108970002346DD09FD2318A1DDE5E1F1F1DDE1FD8F\r
-:10898000E1C9CD18857BFE80300621070009180C4F\r
-:10899000FECC38083EDFBB3803696023C33885CD81\r
-:1089A00018850100001A5FCD8289C33885CD1885EE\r
-:1089B000010500C3A589C5D5010000CD0B89F1C112\r
-:1089C000C9C5D5010200CD0B89F1C1C9C5D50103C7\r
-:1089D00000CD0B89F1C1C9CD24850000FDE511252D\r
-:1089E00000CD04892A18C55E235613722B73FDE54A\r
-:1089F000E1732372DD6E02FD7502DD6603FD740313\r
-:108A0000FD7104FD7005DD6E08FD7506DD6609FD6E\r
-:108A10007407DD6E0AFD7508DD660BFD7409AFFD98\r
-:108A2000770AFD770BFD770CFD770DFD770EFD774F\r
-:108A30000FFD7710FD7711FD7712FD7713FD771489\r
-:108A4000FD7715FD7716FD7717FD7718FD7719FD72\r
-:108A5000771AFD771BFD771CFD7721FD7722FD77C7\r
-:108A600023FD7724FD771DFD771EFD771FFD772001\r
-:108A7000FDE5E1FDE1C33885CD24850000FDE5DDA0\r
-:108A80006E02DD6603E5FDE1110000DD6E04DD66CA\r
-:108A900005197EB728210114806B6278AC67ED421E\r
-:108AA0003015FD6E1DFD661E19E5DD6E04DD6605E3\r
-:108AB0001946E1701318D4FD6E1DFD661E193600AF\r
-:108AC000FDE1C33885CD24850000FDE55950211511\r
-:108AD00000DD4E02DD4603097E23666FE5FDE121E0\r
-:108AE0001500097E23B62009211500097323721889\r
-:108AF00019FD7E13FDB614280BFD6E13FD6614E5FB\r
-:108B0000FDE118EDFD7313FD721421130019772395\r
-:108B10007721110019DD4E0271DD46032370FDE15E\r
-:108B2000C33885C5FDE5DDE52115001946236668D6\r
-:108B3000E5DDE17DB42814DDE5D1DD6E19DD661AD1\r
-:108B4000CD4785DD6E13DD661418E5DDE1FDE1C17D\r
-:108B5000C9CD24850000FDE5DD6E02DD6603E5FD7F\r
-:108B6000E1DD6E04DD66057EFD860277237EFD8EE7\r
-:108B70000377DD6E08DD66097EFD860477237EFDC2\r
-:108B80008E0577FD6E11FD6612E5FDE17DB420D105\r
-:108B9000FDE1C33885CD24850000211500DD4E029E\r
-:108BA000DD46030946236668EB7BB2281B211000D3\r
-:108BB000194E0600DD6E04DD6605A7ED422003EBCD\r
-:108BC00018082113001918DC6F67C33885CD248578\r
-:108BD000F8FFFDE5DD6E02DD6603E5FDE1FD6E15E6\r
-:108BE000DD75F8FD6616DD74F9FDE5E17DB4CA8634\r
-:108BF0008DDD7EF8DDB6F92811DD5EF8DD56F9CDA4\r
-:108C0000CD8BDD75F8DD74F918E7FD7E11FDB61228\r
-:108C1000CA9C8CFD6E11FD66120115000946236683\r
-:108C200068FDE5C1A7ED42FD6E11FD66120115005C\r
-:108C3000092009E5FD6E11FD66121850462366688D\r
-:108C4000DD75F8DD74F9211300DD4EF8DD46F90914\r
-:108C500046236668FDE5C1A7ED422819211300DD12\r
-:108C60004EF8DD46F9097E23B6280A21130009567D\r
-:108C700023666A18CB211300DD4EF8DD46F9097E24\r
-:108C800023B6281821130009E5211300094623669D\r
-:108C900068011300094E2346E1712370FD6E13DD58\r
-:108CA00075F8FD6614DD74F93E04FDAE21FDB622B3\r
-:108CB000C2528DFD6E11DD75FCFD6612DD74FDFD89\r
-:108CC0006E23DD75FEFD6624DD74FF5E2356CD77D1\r
-:108CD000AFDD6EFEDD66FF23235E2356CD77AFDD6D\r
-:108CE0007EFCDDB6FD2820212100DD4EFCDD46FDA9\r
-:108CF000093E04AE23B6280F2111000956DD72FC8F\r
-:108D00002366DD74FD18D8DD7EFCDDB6FD28432129\r
-:108D10002300DD4EFCDD46FD0946DD70FE2366DDE9\r
-:108D200074FF210600ED4B18C509E5DD6EFEDD661A\r
-:108D3000FF5E2356E1732372210800ED4B18C5092D\r
-:108D4000E5DD4EFEDD46FF030369604E2346E1711B\r
-:108D50002370FD4E21FD4622210000CD58823009AE\r
-:108D6000FD5E23FD5624CD77AFFDCB0B762011FDA4\r
-:108D70007E1DFDB61E2809FD5E1DFD561ECD77AF7A\r
-:108D8000FDE5D1CD77AFDD6EF8DD66F9FDE1C338E5\r
-:108D900085C5FDE5DDE52115001946236668E5DD9D\r
-:108DA000E17DB42808DDE5D1CDCD8B18F1DDE1FD05\r
-:108DB000E1C1C9CD24850000FDE5211500DD5E027D\r
-:108DC000DD5603195623666AE5FDE17DB4283D2191\r
-:108DD0000A00FDE5C109DD7E04DD56052F5F7A2F0F\r
-:108DE000577EA377237EA277210A00097EDDB6088D\r
-:108DF00077237EDDB60977210A00097EDDAE0A778A\r
-:108E0000237EDDAE0B772113000918B811DCC4CD29\r
-:108E100084ACFDE1C33885C5FDE5DDE5D5DDE121A7\r
-:108E200015001946236668E5FDE1211D001946235A\r
-:108E300066680100903E80AC67ED42302EDD4E1D2D\r
-:108E4000DD461E210000CD58823020DD6E1DDD661E\r
-:108E50001E29E5210800ED4B18C5094E2346E109FE\r
-:108E60002B2B46DD701D2366DD741EDD6E1FDD6657\r
-:108E7000200100903E80AC67ED42302EDD4E1FDDBC\r
-:108E80004620210000CD58823020DD6E1FDD662097\r
-:108E900029E5210800ED4B18C5094E2346E1092BB1\r
-:108EA0002B46DD701F2366DD7420FDE5E17DB428CF\r
-:108EB00011FDE5D1CD178EFD6E13FD6614E5FDE1C4\r
-:108EC00018E8DDE1FDE1C1C9CD2485D2FFFDE5AFA4\r
-:108ED000DD77F9DD77FADD77FBDD77FC5950CDF1F1\r
-:108EE000840600010002010301040105010104F3ED\r
-:108EF000906C9002902B90798F8A8FFD8E211500B7\r
-:108F0000DD4E02DD46030946236668E5FDE17DB4DA\r
-:108F10002864FDCB0A46284FDD6E08DD6609E5DDD5\r
-:108F20004E04DD4605CD3191E1FDCB0A6E2838FDBA\r
-:108F30004E100600DD6E08DD6609A7ED422028FD13\r
-:108F40006E23DD75FDFD6624DD74FEFDE5D146234F\r
-:108F50006668CD4785DD6EFDDD66FE23232366AFA3\r
-:108F6000B42004FD210000FDE5E17DB428A0FD6EE4\r
-:108F700013FD66141895C3F390DD5E024BDD5603B6\r
-:108F800042211900CD2991C3F390210A00DD4E0240\r
-:108F9000DD4603097EE6FC77212B0039E52B2B4DBE\r
-:108FA00044DD5E02DD5603CD518BE1210800DD4E2C\r
-:108FB00002DD4603095E2356D5210600095E2356CD\r
-:108FC000D5DD6EFBDD66FCE5DD4EF9DD46FA110010\r
-:108FD00000CD2D87E1E1E1210000E52E11DD5E02EB\r
-:108FE000DD5603195E2356211100DD4E02DD4603D6\r
-:108FF00009462366680117000946236668010301D4\r
-:109000001826211100DD4E02DD4603095623666A4B\r
-:10901000E5FDE15950CDCD8B210000E5010301FDB7\r
-:10902000E5D1FD6E17FD6618C3EF90211500DD4EEA\r
-:1090300002DD46030946236668E5FDE17DB4282983\r
-:10904000DD6E08DD6609FDE5C1ED422814FDCB0AA1\r
-:109050005E280EDD6E08DD6609E5010302CD319163\r
-:10906000E1FD6E13FD661418D0C3F390211100DDED\r
-:109070004E02DD4603097E23B6200E210400ED4B8F\r
-:1090800018C50936012377186A210A000923CB6E17\r
-:109090002025DD6E08DD6609E52111005950195EB5\r
-:1090A000235621110009462366680117000946234B\r
-:1090B00066680101041838211100095623666AE523\r
-:1090C000FDE1110A00197EF603776A62E523E54A9D\r
-:1090D00042FDE5D1CDB38DE1E1210000E5DD5E0289\r
-:1090E0004BDD5603422E170946236668010501CD64\r
-:1090F0004785E1FDE1C338852346211100DD5E028D\r
-:10910000DD5603195E2356CD958BEB0178C1CD78E2\r
-:109110008A211100DD4E02DD4603095E235621112E\r
-:109120000009462366680119000946236668C3479B\r
-:1091300085FDE5D1FD6E17FD6618C34785C5DDE5E4\r
-:10914000F5F5D5DDE121020039AF7723772B2B2B05\r
-:10915000772377210A00ED4B18C5097E23666F46F9\r
-:10916000236668E5210E00194E2346E1A7ED42284B\r
-:1091700003CD6092DDCB0A46CA1B9221000039E57F\r
-:10918000CD5692E121000039CD2192E5DD6E06DD5C\r
-:109190006607E5210400394E2346C5234E234611B8\r
-:1091A0000000CD2D87E1E1E1DD5E1DDD561E210AC7\r
-:1091B00000ED4B18C509CDAC92E5210200394E23D4\r
-:1091C00046E109010400094D4421020039CD4192D4\r
-:1091D000CDAC924D44DD6E08DD6609A7ED4201FC81\r
-:1091E000FF094D44CDC192210000394E234623CDC5\r
-:1091F000419246236668CDB092010500094D44DDD9\r
-:109200005E06DD5607CD8C86210000394E234603CD\r
-:109210000323CDCA92DDE5D1CD238BE1E1DDE1C1B0\r
-:10922000C94E2346235E2356CDD085DD4E08DD464C\r
-:1092300009DD5E06DD5607CD0C86DD6E08DD6609AC\r
-:10924000C95E2356CDD085DD5E1DDD561E210A0088\r
-:10925000ED4B18C509C923234D44DDE5D1C3518B1E\r
-:10926000DD5E0EDD560FC34988210A00ED4B18C59F\r
-:109270000946236668232346236668CD47854D4407\r
-:10928000DD6E06DD6607A7ED42EB010200CDCF8162\r
-:10929000FDE5E119EBC9CD47854D44DD6E08DD667E\r
-:1092A00009A7ED42EB010200CDCF81C97E23666F95\r
-:1092B0000104000946236668C34785DD4E08DD4684\r
-:1092C00009DD5E06DD5607C34C865E23561313CDBB\r
-:1092D000D085DD5E1DDD561EC30C87CD1885CD946F\r
-:1092E00087E56CE5E54D44EBCD2D87E1E1E1DD5E01\r
-:1092F00002DD5603CD238BC33885C5D5CDC58AE1A4\r
-:10930000E1C9DDE5C5D5210A00394E2346C52B2B21\r
-:109310002B4E2346C5210600394E2346CDD789F171\r
-:10932000F1E5DDE10117000936C823368EDD361977\r
-:109330003DDD361A91DD361BFADD361C92DDE5E1A6\r
-:10934000F1F1DDE1C9CD1885FDE5D5FDE1DD6E0862\r
-:10935000DD6609E5CDC88EE13E01DDAE04DDB60572\r
-:109360002054FD4E1047DD6E08DD6609ED422046B3\r
-:10937000FD7E0AE603283FDD6E08DD6609E5FD5E39\r
-:1093800011FD5612FD6E11FD66120E17CDE393E12D\r
-:10939000FDCB0A662820FD4E100600C5FD5E11FDBE\r
-:1093A0005612FD6E11FD66120E17094623666801FE\r
-:1093B0000401CD4785E1210102DD4E04DD4605A70C\r
-:1093C000ED42200BDD6E08DD6609E5CDD493E1FDAD\r
-:1093D000E1C33885FD5E11FD5612FD6E11FD66126A\r
-:1093E0000117000946236668010102C34785FDE5B0\r
-:1093F000DDE5D5DDE1C5FDE1210A0019CB76DD5EB5\r
-:109400001DDD561E210A00ED4B18C5097E23666F2F\r
-:109410000104000946236668CA9E94CD4785294DFC\r
-:1094200044DD6E08DD6609A7ED42EB010200CDCFF9\r
-:1094300081210600394623666819E5DD5E1DDD568B\r
-:109440001E210A00ED4B18C5097E23666F23237E7B\r
-:1094500023666FCD4785EBDD6E06DD6607A7ED520F\r
-:10946000EB010200CDCF81FDE5E119EBC1CDCF923B\r
-:10947000DD5E08DD5609010200CDCF8121060039ED\r
-:1094800046236668194D4403C5DD5E1FDD5620CDB9\r
-:109490006992C1CDD085DD5E1FDD56201823CD96A3\r
-:1094A000922106003946236668194D4403C5DD5EE6\r
-:1094B0001DDD561ECD6992C1CDD085DD5E1DDD5608\r
-:1094C0001ECD0C87DDE1FDE1C9C5DDE5F5F5D5DD96\r
-:1094D000E121020039AF7723772B2B2B77237721DC\r
-:1094E0000A00ED4B18C5097E23666F46236668E5C2\r
-:1094F000210E00194E2346E1A7ED422803CD6092CC\r
-:10950000DDCB0A46285E21000039E5CD5692E121E7\r
-:10951000000039CD2192E5DD6E06DD6607E5210408\r
-:1095200000394E2346C5234E2346DDCB0A4E28077D\r
-:10953000DD5E1016001803110000CD2D87E1E1E17A\r
-:10954000DD7E0AE682280EDD7E0AE682EE822805AE\r
-:10955000CD6A951803CDBB92210000394E2346C534\r
-:10956000CD7995E1E1E1DDE1C1C9DD4E08DD4609D6\r
-:10957000DD5E06DD5607C3CC86234E2346DDE5D1EE\r
-:10958000C3EE93C5D5E1E1C9CD24850000FDE5DD3D\r
-:109590006E0ADD660BE5DD6E08DD6609E5CDCE956C\r
-:1095A000F1F1E5FDE1010A00097EF60377DD460CE5\r
-:1095B000FD7010FD361745FD361893FD3619C9FDAF\r
-:1095C000361A94FD361B83FD361C95C3708ADD5E0A\r
-:1095D00002DD5603C3D789CD2485FCFFFDE52104B8\r
-:1095E0000039EB2145C1010200EDB0AFDD77FCDDB4\r
-:1095F00077FD010980DD6EFCDD66FD78AC67ED422C\r
-:10960000D28896DD7EFCC631DD77FE213100DD4E4D\r
-:10961000FCDD46FD09E5211600E5E5010300DD5E00\r
-:10962000FCDD56FDCDCF810E18CD4282DD6E08DD0A\r
-:109630006609A7ED520E3009E50E03DD5EFCDD562E\r
-:10964000FDCDF4810E18CD4282DD6E04DD66051974\r
-:10965000EBC1CD8895F1F1F1E5FDE1210400394D33\r
-:1096600044FDE5D1CD1097FDE5DD5E024BDD5603EF\r
-:1096700042211B000946236668C1CD4785DD34FCC5\r
-:109680002003DD34FDC3F295213000E52E16E5E51B\r
-:109690002E48DD4E08DD4609094D44211800DD5EE7\r
-:1096A00004DD5605CD2A97F1F1F1E5FDE1015AC13E\r
-:1096B000CD0F97FDE5DD5E024BDD560342211B0019\r
-:1096C000097E23666FC1CD4785210800E52E16E58A\r
-:1096D000E52E48DD4E08DD4609094D44213000DD08\r
-:1096E0005E04DD5605CD2A97F1F1F1E5FDE1015C5F\r
-:1096F000C1CD0F97FDE5DD5E024BDD560342211B18\r
-:10970000000946236668C1CD4785FDE1C33885EB76\r
-:10971000CD788AFDCB0AE6C9DD4E0ADD460B094D40\r
-:109720004421D0FFDD5E08DD560919EBC38895CDD5\r
-:109730001885FDE5D5FDE1DD6E08DD6609E5CDC8DE\r
-:109740008EE13E01DDAE04DDB6052078FD4E10470A\r
-:10975000DD6E08DD6609ED42206AFD7E0AE603281B\r
-:1097600063FD7E0AEE04FD770ADD6E08DD6609E51D\r
-:10977000FD5E11FD5612FD6E11FD66120E170946B3\r
-:10978000236668010202CD4785E1210000E501035F\r
-:1097900001FDE5D1FD6E17FD6618CD4785E1FDCBD6\r
-:1097A0000A662820FD4E100600C5FD5E11FD56120A\r
-:1097B000FD6E11FD66120E1709462366680104014D\r
-:1097C000CD4785E1210102DD4E04DD4605A7ED42CE\r
-:1097D000200BDD6E08DD6609E5CDD493E1FDE1C324\r
-:1097E0003885C5DDE5F5F5D5DDE121020039AF7736\r
-:1097F00023772B2B2B772377210A00ED4B18C509F4\r
-:109800007E23666F46236668E5210E00194E2346C7\r
-:10981000E1A7ED422803CD6092DDCB0A46CAB0989D\r
-:1098200021000039E5CD5692E1210000394E234652\r
-:10983000235E2356CDD085DD4E08DD4609DD5E066C\r
-:10984000DD5607CD0C86DDCB0A4E2825DDCB0A562A\r
-:10985000281FCD6A95DD6E08DD6609E5DD6E06DD43\r
-:109860006607E5210400394E2346C5234E234618DA\r
-:1098700023CDBB92DD6E08DD6609E5DD6E06DD6693\r
-:1098800007E5210400394E2346C5234E2346DDCB90\r
-:109890000A4E2807DD5E1016001803110000CD2DBA\r
-:1098A00087E1E1E1210000394E2346C5CD7995E1FC\r
-:1098B000E1E1DDE1C1C9CD24850000FDE5DD6E0AF1\r
-:1098C000DD660BE5DD6E08DD6609E5CDCE95F1F1CF\r
-:1098D000E5FDE1010A00097EF60777DD460CFD7023\r
-:1098E00010FD36172FFD361897FD3619E2FD361A92\r
-:1098F00097FD361B83FD361C95C3708ACD1885FDF8\r
-:10990000E5D5FDE1DD6E08DD6609E5CDC88EE12116\r
-:109910000102DD4E04DD4605A7ED4220463EFFDD97\r
-:10992000AE08DDB609203CFDCB0B66E52805010538\r
-:10993000011803010201FDE5D1FD6E17FD6618CD8A\r
-:109940004785E1FD4E100600C5FD5E11FD5612FD76\r
-:109950006E11FD66120E170946236668010103CDDC\r
-:109960004785E1210102DD4E04DD4605A7ED4220D9\r
-:10997000463EFEDDAE08DDB609203CFDCB0B66E5BC\r
-:1099800028050105011803010201FDE5D1FD6E174F\r
-:10999000FD6618CD4785E1FD4E100600C5FD5E1140\r
-:1099A000FD5612FD6E11FD66120E170946236668FC\r
-:1099B000010203CD4785E1FDE1C33885CD2485FE55\r
-:1099C000FFFDE5DD6E0ADD660BE5DD6E08DD66098F\r
-:1099D000E5CDCE95F1F1E5FDE1010A0009CBC6DD4B\r
-:1099E000460CFD7010FD3617FCFD361898FD361933\r
-:1099F0003DFD361A91FD361BFAFD361C9221FF0003\r
-:109A0000E52E14E52E28E521E4FFCD1897F1F1F1BC\r
-:109A1000DD75FEDD74FF011D0009E5110300CDE3D6\r
-:109A2000B24D44E1712370015FC1CD609A21FE0007\r
-:109A3000E52E14E52E28E521C8FFCD1897F1F1F1A8\r
-:109A4000DD75FEDD74FF011D0009E5110700CDE3A2\r
-:109A5000B24D44E17123700162C1CD609AC3708A36\r
-:109A6000DD5EFEDD56FFCD788ADD4EFEDD46FFFD74\r
-:109A7000E5D1FD6E1BFD661CCD4785C9CD1885FD62\r
-:109A8000E5D5FDE1DD6E08DD6609E5CD4593E12113\r
-:109A90000302DD4E04DD4605A7ED422046FDCB0A5C\r
-:109AA0005E28403E08DDAE08DDB609FD5E1DFD56B0\r
-:109AB0001E200FCD4EB67DB42815CDE89A2B36006A\r
-:109AC000180DCDEE9A233600CDE89ADD46087021B8\r
-:109AD0000000E5010301FDE5D1FD6E17FD6618CD1F\r
-:109AE0004785E1FDE1C33885FD5E1DFD561ECD4E67\r
-:109AF000B6FD4E1DFD461E09C9C5DDE5F5F5D5DDF2\r
-:109B0000E121020039AF7723772B2B2B77237721A5\r
-:109B10000A00ED4B18C5097E23666F46236668E58B\r
-:109B2000210E00194E2346E1A7ED422803CD609295\r
-:109B3000DDCB0A46CAB99B21000039E5CD5692E13A\r
-:109B400021000039CD2192E5DD6E06DD6607E521B5\r
-:109B50000400394E2346C5234E2346DDCB0A4E284A\r
-:109B600007DD5E1016001803110000CD2D87E1E11E\r
-:109B7000E1DDCB0A7EDD4E08DD4609DD5E06DD5601\r
-:109B8000072005CDCC861803CD4C86DD5E1DDD5645\r
-:109B90001E210A00ED4B18C5094623666801040022\r
-:109BA0000946236668CD969268603946236668192F\r
-:109BB0004D4421020039CDCA92E1E1DDE1C1C9DDA8\r
-:109BC000E5C5D5210C00394E2346C52B2B2B4E2342\r
-:109BD00046C52B2B2B4E2346C5210800394E234664\r
-:109BE000CD8895F1F1F1E5DDE1010A0009CBDE0157\r
-:109BF00069C1DDE5D1CD788ADD3619F9DD361A9AED\r
-:109C0000DD36177CDD36189AC33D93C5D5E1E1C931\r
-:109C1000C5DDE5F5F5D5DDE121020039AF77237724\r
-:109C20002B2B2B772377210A00ED4B18C5097E23B8\r
-:109C3000666F46236668E5210E00194E2346E1A7AC\r
-:109C4000ED422803CD6092DDCB0A462815210000A5\r
-:109C500039E5CD5692E1210000394E2346C5CD7934\r
-:109C600095E1E1E1DDE1C1C9CD24850000FDE5DD3F\r
-:109C70006E0ADD660BE5DD6E08DD6609E5CDCE9585\r
-:109C8000F1F1E5FDE1011D0009DD4E0C71DD460D30\r
-:109C90002370FD360A01FD360B00FD36170BFD362D\r
-:109CA000189CFD361910FD361A9CFD361B83FD36B7\r
-:109CB0001C95C3708ACD24859EFFFDE5212300DD20\r
-:109CC0004E02DD46030946DD709E2366DD749F2A41\r
-:109CD0001AC57DB42066110800CDE3B2221AC50171\r
-:109CE000060009E5111600CDE3B24D44E171237081\r
-:109CF000210600ED4B1AC5095623666A1114001996\r
-:109D0000AF772377210600ED4B1AC5097E23666FD6\r
-:109D100072210600ED4B1AC5095623666A110E0022\r
-:109D200019AF772377210600ED4B1AC50946236644\r
-:109D3000680110000977237723772377DD6E9EDD96\r
-:109D4000669F23233E1023AE2BB6204B210600DD59\r
-:109D50004E9EDD469F096E67E52A1AC5C1712370C4\r
-:109D60002A1AC52323E5CD2FA2E171237021040017\r
-:109D7000ED4B1AC509E5210600DD5E9EDD569F19F3\r
-:109D80005E2356234E2346EB3E10CD43A2E1CDE5A4\r
-:109D9000A1CD22A2CDF890DD6E9EDD669F232346E5\r
-:109DA0002366680110903E80AC67ED42DAC39EDD09\r
-:109DB0006E9EDD669F23234E2346211210CD5882CE\r
-:109DC000DAC39E210600ED4B1AC50946236668DDFD\r
-:109DD00075A2DD74A3211400DD4EA2DD46A3097E29\r
-:109DE00023B6280A211400095623666A18E12104C3\r
-:109DF00000DD4E9EDD469F094E2346211100DD5EAB\r
-:109E000002DD5603195E2356CD958BDD75A0DD74FA\r
-:109E1000A1011D00094E2346DD5E02DD5603CD780B\r
-:109E20008A0169C1DD5EA0DD56A1CD788ADD5EA024\r
-:109E30004BDD56A142211900CD2991DD6E9EDD66D4\r
-:109E40009F23235E2356CDBD8410100300B59E557D\r
-:109E50009E6D9E8D9E211D00DD4E02DD4603094E46\r
-:109E60002346DD5EA2DD56A3CD31B61848210E0093\r
-:109E7000DD4EA2DD46A309E5211D00DD4E02DD46D3\r
-:109E800003095E2356CD18AC4D44E11825211D0071\r
-:109E9000DD4E02DD4603095E2356CD29AC7C079FCB\r
-:109EA0004F41E5211000DD5EA2DD56A319D17323D9\r
-:109EB0007223712370DD5E024BDD560342211900CF\r
-:109EC000CD2991DD6E9EDD669F23234623666801C2\r
-:109ED0001E10A7ED42C2FFA0AFDD77ACDD77ADDD90\r
-:109EE00077AEDD77AF210600ED4B1AC50946236634\r
-:109EF00068E5FDE1210100E5217EC1E5CD89C0F1E4\r
-:109F0000F1DD75A0DD74A121080039E5210000E52F\r
-:109F1000DD6EA0DD66A1E5CD3BC0F1F1F1DD36A837\r
-:109F200060DD36A90021080039E5210100E5DD6E7C\r
-:109F3000A0DD66A1E5CD3BC0F1F1F1FDE5E17DB429\r
-:109F4000CA20A0FD7E0EFDB60FCA14A03E01FDAED4\r
-:109F50000EFDB60F20296F67E52E64E5CD4AA2C538\r
-:109F6000E56F67E52E64E5CD59A2C5E5FDE5218BDA\r
-:109F7000C1E521200039E5CD57B5210E0018682133\r
-:109F80000000E52E64E5FD6E0EFD660F7C079F4F19\r
-:109F900041C5E5CD68A2CD8383C5E5210000E52E4E\r
-:109FA00064E5FD6E0EFD660F7C079F4F41C5E5CD54\r
-:109FB00068A2CD2E83C5E5210000E52E64E5CD4ADB\r
-:109FC000A2C5E5210000E52E64E5CD59A2C5E5FD59\r
-:109FD0006E0EFD660FE5FDE521AEC1E5212A0039D3\r
-:109FE000E5CD57B521180039F921100039E5FD5E9E\r
-:109FF0000EFD560F7A079F4F41C5D5CD68A2EBE104\r
-:10A00000CDA48421140039EBCD4EB6E521160039DC\r
-:10A01000CDDAA1F1FD6E14FD6615E5FDE1C33B9FB0\r
-:10A020006F67E52E64E5DD4EAEDD46AFDD6EACDD7F\r
-:10A0300066ADCD8383C5E56F67E52E64E5DD4EAE85\r
-:10A04000DD46AFDD6EACDD66ADCD2E83C5E52169A5\r
-:10A05000C1E5E521EEC1E521220039E5CD57B52165\r
-:10A06000100039F921140039EBCD4EB6E521160068\r
-:10A0700039CDDAA1F1DD5EA0DD56A1CD09C0210602\r
-:10A0800000ED4B1AC50946236668E5FDE17DB4285D\r
-:10A090000EFDE5D1CD77AFFD6E14FD661518EB21F1\r
-:10A0A0000600ED4B1AC509E5111600CDE3B2EBE150\r
-:10A0B000732372210600ED4B1AC5095623666A11F7\r
-:10A0C000140019AF772377210600ED4B1AC5097EDE\r
-:10A0D00023666F72210600ED4B1AC5095623666A86\r
-:10A0E000110E0019AF772377210600ED4B1AC50931\r
-:10A0F000462366680110000977237723772377DDED\r
-:10A100006E9EDD669F232346236668011F10A7ED20\r
-:10A1100042C2D5A1210600ED4B1AC5094623666847\r
-:10A12000DD75A0DD74A1211400DD4EA0DD46A1097E\r
-:10A130007E23B6280A211400095623666A18E121F5\r
-:10A140000600DD4E9EDD469F096E67E52A1AC5C1F1\r
-:10A150007123702A1AC52323E5CD2FA2E171237044\r
-:10A16000210400ED4B1AC509E5210600DD5E9EDDE8\r
-:10A17000569F195E2356234E2346EB3E10CD43A235\r
-:10A18000E1CDE5A1CD22A2CDF890211400DD4EA0B5\r
-:10A19000DD46A109E5111600CDE3B2EBE1732372B0\r
-:10A1A000211400095623666ADD75A0DD74A101142F\r
-:10A1B0000009AF772377DD6EA0DD66A170210E0068\r
-:10A1C000DD4EA0DD46A10977237721100009772312\r
-:10A1D0007723772377FDE1C338854D44DD5EA0DD2D\r
-:10A1E00056A1C309C17123702A1AC54E23462111F5\r
-:10A1F00000DD5E02DD5603195E2356CD958BEB0123\r
-:10A200006AC1CD788A2A1AC523234E23462111001C\r
-:10A21000DD5E02DD5603195E2356CD958BEB017290\r
-:10A22000C1C9CD788A210400ED5B1AC5194EC92138\r
-:10A230000600DD4E9EDD469F095E2356234E2346D3\r
-:10A24000EB3E08CD748206004DC9FD4E12FD46134B\r
-:10A25000FD6E10FD6611C38383FD4E12FD4613FD96\r
-:10A260006E10FD6611C32E83FD4E12FD4613FD6E6A\r
-:10A2700010FD6611C38282C5D5210600394E2346E2\r
-:10A28000C5210400394E2346CDC88EE1E1E1C9CD98\r
-:10A290002485CEFFFDE5DD36D800210000E5C5CDE3\r
-:10A2A00089C0F1F1DD75D4DD74D5DD36F02BDD36F6\r
-:10A2B000F100DD36F21ADD36F300DD36F400DD7E26\r
-:10A2C000D8FE732018DD6ED9DD66DADD75F0DD7439\r
-:10A2D000F1DD6EDBDD66DCDD75F2DD74F3DD7ED88D\r
-:10A2E000FE422807DD7ED8FE4D2037DD4EDD06001C\r
-:10A2F000C5CDBCA5D5DD4EDBDD5EF0DD56F1CDC5AF\r
-:10A30000A5D5CDD9A5D5CDCCA5C1CD8895F1F1F1F7\r
-:10A31000E5FDE1DD7ED8FE4D2004FDCB0AF6DD36FD\r
-:10A32000F401DD7ED8FE54202CDD4EDD0600C5CDC7\r
-:10A33000BCA5D5DD4EDBDD5EF0DD56F1CDC5A5D586\r
-:10A34000CDD9A5D5CDCCA5C1CDB698F1F1F1E5FD1E\r
-:10A35000E1DD36F401DD7ED8FE44202CDD4EDD0645\r
-:10A3600000C5CDBCA5D5DD4EDBDD5EF0DD56F1CD03\r
-:10A37000C5A5D5CDD9A5D5CDCCA5C1CDBF9BF1F176\r
-:10A38000F1E5FDE1DD36F401DD7ED8FE4C202F2124\r
-:10A390000C003901120009E5CDBCA5D5DD4EDBDD91\r
-:10A3A0005EF0DD56F1CDC5A5D5CDD9A5D5CDCCA5D1\r
-:10A3B000C1CD689CF1F1F1E5FDE1DD36F401DD7E12\r
-:10A3C000D8FE41204C212300DD4E02DD460309E585\r
-:10A3D000212B0039EBE1732372DD6EDEDD66DFDDFC\r
-:10A3E00075F7DD74F8DD6EE0DD66E1DD75F9DD74CD\r
-:10A3F000FA211600394E2346235E2356DD71FBDD1C\r
-:10A4000070FCDD73FDDD72FEDD5E02DD5603CDE521\r
-:10A41000A5DD7ED8FE53206C210C00394D44DD5E55\r
-:10A42000D4DD56D5CDDAA8212300DD4E02DD46036A\r
-:10A4300009E5110400CDE3B2EBE17323722123009F\r
-:10A440000956DD72F52366DD74F621210009360414\r
-:10A450002336006ADD66F62323E5210800ED4B185C\r
-:10A46000C5095E2356E1732372210600ED4B18C522\r
-:10A470000946236668E5DD6EF5DD66F6C171237079\r
-:10A48000DD36F400AFDDB6F4CA7DA5DD7EDEDDB6D7\r
-:10A49000DF2865FDCB0AEEFD36210AFD36220011CC\r
-:10A4A0000A00CDE3B2FD7523FD7424FD6E23DD7536\r
-:10A4B000D0FD6624DD74D136E52336A5DD6ED0DD12\r
-:10A4C00066D12323DD4EDE71DD46DF2370210400DB\r
-:10A4D000DD4ED0DD46D109DD5EE073DD56E123724D\r
-:10A4E00021060009E5211800395E2356234E234634\r
-:10A4F000E173237223712370DD7EE6DDB6E7280C5D\r
-:10A50000DD6EE6FD750ADD66E7FD740BDD6EE8FDC8\r
-:10A51000750EDD66E9FD740FDD6EEAFD751DDD7EED\r
-:10A52000EBE60FFD771EFD7E1DFDB61E20161114F5\r
-:10A5300000CDE3B2FD751DFD741EFD6E1DFD661E92\r
-:10A5400036001804FDCB0BF6DD7EEB2E004DE6F059\r
-:10A55000472610ED423010DD6EEADD7EEBE60F6738\r
-:10A5600023FD751FFD7420FDE5DD5E024BDD560306\r
-:10A5700042211B000946236668C1CD47852114008E\r
-:10A58000E52E0E394D44DD5ED4DD56D5CDAFC0F19C\r
-:10A590003E14ADB4CABAA2DD5ED4DD56D5CD09C035\r
-:10A5A000DD5E02DD5603CD178EDD5E024BDD560308\r
-:10A5B00042211900CD2991FDE1C33885DD4EDCDD56\r
-:10A5C0005EF2DD56F3CD42821B1B1BC9DD5ED95006\r
-:10A5D000DD4EF0DD46F1C34282DD4EDADD5EF2DDB6\r
-:10A5E00056F3C34282CD2485EEFFFDE5DD6E02DD2C\r
-:10A5F0006603E5FDE121060039EB2147C1010900B1\r
-:10A60000EDB0FD6E23DD75EEFD6624DD74EF2323D2\r
-:10A610003E01AE23B62011C5010104FDE5D1FD6E5A\r
-:10A6200017FD6618CD4785E1DD6EEEDD66EF23236D\r
-:10A6300046236668CB853E02ADB4C23EA76F67E590\r
-:10A64000E5010100FD5E11FD5612CDB38DE1E1FD86\r
-:10A650006E11FD6612010800094E2346C5FD6E11FC\r
-:10A66000FD6612010600094E2346C501000059503F\r
-:10A67000CD0293F1F1DD75F0DD74F1010A000936C8\r
-:10A68000032370DD6EEEDD66EF2323CB46280C69D5\r
-:10A6900060DD4EF0DD46F10923CBEE211700DD4EE3\r
-:10A6A000F0DD46F10936772336A22119000936DBA1\r
-:10A6B000233692210600DD5EEEDD56EF195EEBDDFE\r
-:10A6C00075F2210600DD4EEEDD46EF095E235623CE\r
-:10A6D0004E2346EB3E08CD7482DD75F3210600DD86\r
-:10A6E0004EEEDD46EF095E2356234E2346EB3E1029\r
-:10A6F000CD7482DD75F4210600DD4EEEDD46EF09F6\r
-:10A700005E2356234E2346EB3E18CD7482DD75F54D\r
-:10A71000210600394D44DD5EF0DD56F1CD8FA2DD1E\r
-:10A720004EF0DD46F1C5FD5E11FD5612FD6E11FDC8\r
-:10A730006612011B000946236668C1CD4785DD6EA0\r
-:10A74000EEDD66EF23233E04AE23B6C2CFA821017F\r
-:10A7500000E5FD6E11FD66120108000946236668DA\r
-:10A7600001F6FF09E5FD6E11FD66120106000946BE\r
-:10A7700023666801F6FF09E50105005950CDBC9933\r
-:10A78000F1F1F1DD75F0DD74F1010A000936032302\r
-:10A790003610210E00DD4EF0DD46F109363023364D\r
-:10A7A00000AFDD77FDDD77FE210400DD4EEEDD46F6\r
-:10A7B000EF095E2356060CCDB7814B42DD6EFDDD01\r
-:10A7C00066FECD588230043E011801AFE60FCA6222\r
-:10A7D000A8210400DD4EEEDD46EF0946237E68E643\r
-:10A7E0000F67DD4EFDDD46FE0929E5210800ED5B22\r
-:10A7F00018C5195E2356E1192B2B5E2356D521105F\r
-:10A8000000E52E06DD5EF0DD56F1196E260001F042\r
-:10A81000FF09E5DD6EFDDD66FE29294D44290901AC\r
-:10A820001400094D44110800CD689CF1F1F1DD756B\r
-:10A83000FBDD74FC010E000936302370DD4EFBDDBC\r
-:10A8400046FCC5DD5EF04BDD56F142211B0009469A\r
-:10A85000236668C1CD4785DD34FD2003DD34FEC3AA\r
-:10A86000A8A70111C2DD5EF0DD56F1CD788A01FFA7\r
-:10A8700000DD5EF0DD56F1CD958B010E000936301E\r
-:10A8800023700EFEDD5EF0DD56F1CD958BEBCDCD68\r
-:10A890008BDD4EF0DD46F1C5FD5E11FD5612FD6EFD\r
-:10A8A00011FD6612011B000946236668C1CD47856C\r
-:10A8B000210000E5FD5E11FD5612FD6E11FD6612D0\r
-:10A8C0000117000946236668010301CD4785E1FDB4\r
-:10A8D000E5D1CDB59CFDE1C33885CD2485F8FFFDDC\r
-:10A8E000E5030ADD77FE030ADD77FF0369604EDDCD\r
-:10A8F00071FC2346DD70FDDD6EFE6729EBCDE3B212\r
-:10A90000DD75FADD74FB5950CD0489C54D44DD5E1B\r
-:10A9100002DD5603CDAFC0F1110000AFDD77F8DDE9\r
-:10A9200077F9DD4EFCDD46FD6B62CD58823035CDCA\r
-:10A93000A0A9303023DD75F8DD74F92B29DD4EFA3E\r
-:10A94000DD46FB09E5FDE5E1194D44E1712370FDAC\r
-:10A95000E5E1197EB728031318F56B6213FDE5C115\r
-:10A96000097718BECDA0A9301329DD4EFADD46FBCC\r
-:10A9700009E5FDE5E1194D44E1712370210600ED83\r
-:10A980004B18C509FDE5C1712370210800ED4B1876\r
-:10A99000C509DD4EFA71DD46FB2370FDE1C3388544\r
-:10A9A000DD4EFEDD46FFDD6EF8DD66F9C35882C57B\r
-:10A9B000D5111000CDE3B22218C5210000221AC51E\r
-:10A9C0002A18C5AF772377210400ED4B18C5097706\r
-:10A9D0002377210A00ED4B18C509772377210C0056\r
-:10A9E000ED4B18C509772377210800ED4B18C509F1\r
-:10A9F000772377210600ED4B18C509772377CD48DB\r
-:10AA000085210000E5E5219F89E501B68911300027\r
-:10AA1000CD7588E1E1E1210000E5E5219F89E501AF\r
-:10AA2000C189113100CD7588E1E1E1210000E5E542\r
-:10AA300021AD89E501CC89113200CD7588E1E1E1D4\r
-:10AA4000210E00ED4B18C509E5118000D55AD54BF4\r
-:10AA500042CD0293F1F14D44E1712370210E00EDDE\r
-:10AA60004B18C5095623666A110A0019360123726C\r
-:10AA7000210E00ED4B18C5095623666A11170019FF\r
-:10AA800036772336A2210E00ED4B18C50946236602\r
-:10AA9000680119000936DB233692D1C1C9C5D52119\r
-:10AAA0000E00ED4B18C5095E2356CDCD8BCD7F87AB\r
-:10AAB000CDC285D1C1C9CD2485FEFF011DC2210EA5\r
-:10AAC00000ED5B18C5195E2356CD8FA2210100E56C\r
-:10AAD0002339CD2DABF13E01ADB428F0210400EDBA\r
-:10AAE0004B18C5097E23B62041210100E52339CD4D\r
-:10AAF0002DABF13E01ADB420E3DDB6FE28DE4F06FE\r
-:10AB000000C5210E00ED5B18C5195E2356210E000D\r
-:10AB1000ED4B18C5094623666801170009462366F0\r
-:10AB200068010100CD4785E118B2C338854D442A3C\r
-:10AB300018C523235E2356C3AFC0CDAFA9CDB6AA97\r
-:10AB4000C39DAACD2485FCFF2AA8C32BDD75FCDD9F\r
-:10AB500074FD21FFFF22A8C32100002216C5DDCB12\r
-:10AB6000FD7E2043DD6EFCDD66FD2929011CC50943\r
-:10AB700046236668DD75FEDD74FFDD6EFCDD66FD77\r
-:10AB80002929011EC5094E2346DD5E02DD5603DD7F\r
-:10AB90006EFEDD66FFCD4785DD6EFCDD66FD2BDDDF\r
-:10ABA00075FCDD74FD18B7C33885CD18852AA8C398\r
-:10ABB000CB7C200E010A802AA8C33E80AC67ED4200\r
-:10ABC000380B210C002214C521FFFF183C2143AB98\r
-:10ABD0002216C5DD7E02DDB603282B2AA8C329294B\r
-:10ABE000011CC509DD4E02DD46037123702AA8C38E\r
-:10ABF0002929011EC509DD4E04DD46057123702A91\r
-:10AC0000A8C32322A8C3210000C33885CD1885011D\r
-:10AC10000000CDAAABC33885CD1885210A00E50117\r
-:10AC20000000CD85B6F1C33885CD1885210A00E531\r
-:10AC3000010000CD85B6F1C33F85CD1885160021F2\r
-:10AC4000AAC3197EE604280EDD7E02EE206FDD7EAB\r
-:10AC500003EE00671806DD6E02DD6603C33885CD9E\r
-:10AC60001885160021AAC3197EE602280EDD7E0291\r
-:10AC7000EE206FDD7E03EE00671806DD6E02DD66F6\r
-:10AC800003C33885CD2485F8FFAFDD77FEDD77FF80\r
-:10AC9000DD7E02DDB603206411C4C4CD84AC7DB476\r
-:10ACA000201411DCC4CD84AC7DB4200A11F4C4CDD1\r
-:10ACB00084AC7DB4280621FFFFC376AE2AC2C4DD72\r
-:10ACC0007502DD7403DD7E02DDB6032829DD5E0238\r
-:10ACD000DD5603CD84AC7DB4280621FFFFC376AEDC\r
-:10ACE000211600DD4E02DD4603095623666ADD7536\r
-:10ACF00002DD740318CF210000C376AE210C00DD05\r
-:10AD00004E02DD4603097EE680CAD1AD210600DD94\r
-:10AD10004E02DD4603095E23560A6F030A67A7ED5C\r
-:10AD200052DD75FADD74FB7DB4CACFAD210600DDBE\r
-:10AD30004E02DD46030946236668DD75F8DD74F9C9\r
-:10AD4000DD6EFADD66FBE5DD4EF8DD46F9210A0031\r
-:10AD5000DD5E02DD5603195E2356CD09C1F1DD75B6\r
-:10AD6000FCDD74FD4D44210000CD5882301E2100D1\r
-:10AD700000397EDD86FC77237EDD8EFD77210200A3\r
-:10AD8000397EDD96FC77237EDD9EFD77DD4EFCDD92\r
-:10AD900046FD210000CD588238A6DD7EFCDDA6FDF3\r
-:10ADA0003C20092A14C53E04ADB42894DD7EFADDAA\r
-:10ADB000B6FB281B210C00DD4E02DD4603097EF6A2\r
-:10ADC0000077237EF60277DD36FEFFDD36FFFF18C3\r
-:10ADD00065210C00DD4E02DD4603097EE640285663\r
-:10ADE000DD6E02DD66034E2346DD6E02DD66032363\r
-:10ADF000235623666AA7ED42DD75FADD74FB4D44E8\r
-:10AE0000210000CD5882302E210100E5DD4EFADD13\r
-:10AE100046FBA7210000ED427C079F4F41C5E5217D\r
-:10AE20000A00DD4E02DD4603095E2356CD61C0F106\r
-:10AE3000F1F1CB782800210C00DD4E02DD4603093C\r
-:10AE40007EE63F77237EE6FA7769602323E52104D7\r
-:10AE500000DD4E02DD460309E521060009562366A2\r
-:10AE60006AE56960C1712370E1712370E17123703B\r
-:10AE7000DD6EFEDD66FFC33885CD2485FEFFCDED9A\r
-:10AE8000B5210C000946236668DD75FEDD74FF7D83\r
-:10AE9000E6402813DD5E04DD5605CD84AC7DB42884\r
-:10AEA0000621FFFFC374AFDD7EFEE6206FDD7EFF6F\r
-:10AEB000E603673E20ADB4280621FFFFC374AF212F\r
-:10AEC0000800DD4E04DD4605095E23560A6F030ABD\r
-:10AED00067A7ED523813DD5E04DD5605CD84AC7DE9\r
-:10AEE000B4280621FFFFC374AFDD6E04DD66054E96\r
-:10AEF000234603702B710B6960DD460270210C0044\r
-:10AF0000DD4E04DD4605097EF68077237EF6007768\r
-:10AF10003E0ADDAE02DDB6032007DD7EFEE601203F\r
-:10AF200007DD7EFEE6022812DD5E04DD5605CD84D7\r
-:10AF3000AC7DB4280521FFFF183ADD7EFEE603282C\r
-:10AF400018210400DD4E04DD460509E5210600094F\r
-:10AF50004E2346E17123701816210400DD4E04DDF6\r
-:10AF6000460509E5210800094E2346E1712370DDFD\r
-:10AF70006E022600C33885CD2485FCFF21FCFFDD51\r
-:10AF80004E02DD460309DD75FEDD74FF23237E23BB\r
-:10AF9000B6280621FFFFC354B02A48C5DD75FCDD85\r
-:10AFA00074FDDD4EFCDD46FDDD6EFEDD66FFA7EDCA\r
-:10AFB000423817DD6EFCDD66FD232346236668DD1F\r
-:10AFC0004EFEDD46FFA7ED423053DD6EFCDD66FD33\r
-:10AFD00023234E2346DD6EFCDD66FDA7ED423829B6\r
-:10AFE000DD4EFEDD46FFDD6EFCDD66FDA7ED423881\r
-:10AFF00016DD6EFCDD66FD23234E2346DD6EFEDD91\r
-:10B0000066FFA7ED4230021814DD6EFCDD66FD23FD\r
-:10B010002346236668DD75FCDD74FD1885DD6EFE54\r
-:10B02000DD66FF2323E5DD4EFCDD46FD030369609D\r
-:10B030004E2346E1712370DD6EFCDD66FD2323DDCA\r
-:10B040004EFEDD46FF712370DD6EFCDD66FD22489D\r
-:10B05000C5210000C33885CD2485E2FF21000039D9\r
-:10B060004D44DD5E02DD5603CD29C07DA43C28128F\r
-:10B07000DD7EE6E6006FDD7EE7E6F0673E20ACB5FC\r
-:10B0800028052100001803210100C33885CD24853F\r
-:10B09000D6FFDD6E08DD6609DD75F8DD74F9210087\r
-:10B0A0000039DD75FADD74FB212C0039DD75FCDD1E\r
-:10B0B00074FD213800397ED60A77DD4E0ADD460B55\r
-:10B0C000212400CD58823811010280DD6E0ADD6630\r
-:10B0D0000B3E80AC67ED423003C310B2DD6EFCDD89\r
-:10B0E00066FD23237EE60047237EE680B02831AF4D\r
-:10B0F000DDB60C282BDD6EF8DD66F923DD75F8DD95\r
-:10B1000074F92B362DDD4E04DD4605DD6E02DD665D\r
-:10B1100003CD6984DD7502DD7403DD7104DD700526\r
-:10B12000DD6EFCDD66FD23237E23B62002184EDD96\r
-:10B130006E0ADD660B7C079F4F41C5E5DD4E04DDE1\r
-:10B140004605DD6E02DD6603CD5E83E5DD6EFADD6C\r
-:10B1500066FB23DD75FADD74FB2BC171212C0039F0\r
-:10B16000DD5E0ADD560B7A079F4F41CD8B84DD6E85\r
-:10B17000FCDD66FD23237E23B620B41830DD5E029D\r
-:10B18000DD5603DD4E0ADD460BCDEB81DD6EFADDCB\r
-:10B1900066FB23DD75FADD74FB2B73DD5E02DD5685\r
-:10B1A00003CDC181DD6EFCDD66FD732372DD6EFCB7\r
-:10B1B000DD66FD7E23B620C5210000394D44DD6EDD\r
-:10B1C000FADD66FBA7ED42DD75FFAFDDB6FF284077\r
-:10B1D000DD6EFADD66FB2BDD75FADD74FB46DD7096\r
-:10B1E000FE78FE0A300ADD7EFEC630DD77FE1809E5\r
-:10B1F000DD7EFEDD860EDD77FEDD6EF8DD66F92391\r
-:10B20000DD75F8DD74F92BDD46FE70DD35FF18BA0B\r
-:10B21000DD6EF8DD66F93600DD6E08DD6609C338DF\r
-:10B2200085CD2485FEFFDD36FE41DDCB097E281667\r
-:10B23000DD36FE61DD4E08DD4609A7210000ED4246\r
-:10B24000DD7508DD7409DD6EFEE50E01C5DD6E08F5\r
-:10B25000DD6609E5DD6E04DD6605E53E0ADDAE0866\r
-:10B26000DDB609200DDD5E02DD56037A079F4F41F2\r
-:10B270001809DD5E02DD5603010000CD8DB0F1F14D\r
-:10B28000F1F1C33885CD2485FEFFDD36FE41DDCBEF\r
-:10B290000B7E2816DD36FE61DD4E0ADD460BA7214A\r
-:10B2A0000000ED42DD750ADD740BDD6EFEE53E0A41\r
-:10B2B000DDAE0ADDB60B20043E011801AF4FC5DD3F\r
-:10B2C0006E0ADD660BE5DD6E08DD6609E5DD4E0420\r
-:10B2D000DD4605DD5E02DD5603CD8DB0F1F1F1F105\r
-:10B2E000C33885CD2485FAFFDD6E02DD6603232396\r
-:10B2F00023CB3CCB1DCB3CCB1D23DD75FEDD74FF8A\r
-:10B300002A48C5DD75FCDD74FD7DB42011DD36FCF9\r
-:10B3100044DD36FDC52144C52246C52248C5DD6E43\r
-:10B32000FCDD66FD232346236668DD75FADD74FBCC\r
-:10B33000DD6EFADD66FB232346236668DD4EFADD0B\r
-:10B3400046FBA7ED42CAD3B3DD6EFADD66FB4623AA\r
-:10B3500066682929DD4EFADD46FB09E503036960CD\r
-:10B360004E2346E1A7ED42206ADD6EFADD66FB233F\r
-:10B370002346236668ED4B48C5A7ED422015DD6ED8\r
-:10B38000FADD66FB2323462366682323462366688B\r
-:10B390002248C5DD6EFADD66FB23237E23666F4EF1\r
-:10B3A0002346DD6EFADD66FB7E8177237E8877DDBE\r
-:10B3B0006EFADD66FB2323E5DD4EFADD46FB030373\r
-:10B3C00069604E2346030369604E2346E171237092\r
-:10B3D000C330B3DD6EFADD66FB46236668DD4EFEE4\r
-:10B3E000DD46FFA7ED42DA91B4DD6EFADD66FB467D\r
-:10B3F000236668DD4EFEDD46FFA7ED42201CDD6EB4\r
-:10B40000FCDD66FD2323E5DD4EFADD46FB03036923\r
-:10B41000604E2346E17123701856DD6EFEDD66FF37\r
-:10B420002929DD4EFADD46FB092248C5DD6EFCDD2B\r
-:10B4300066FD2323ED5B48C57323722A48C5232389\r
-:10B44000E5030369604E2346E1712370DD6EFADD8A\r
-:10B4500066FB46236668DD4EFEDD46FFA7ED42E54E\r
-:10B460002A48C5D1732372DD6EFADD66FB71237045\r
-:10B47000DD6EFCDD66FD2248C5DD6EFADD66FB2370\r
-:10B4800023AF772377210400DD4EFADD46FB091850\r
-:10B49000222A48C5DD4EFADD46FBA7ED42204511C4\r
-:10B4A0000004CDC9C0DD75FADD74FB7DA43C200627\r
-:10B4B000210000C33885DD6EFADD66FB36002336D9\r
-:10B4C00001DD6EFADD66FB2323AF772377210400CD\r
-:10B4D000DD4EFADD46FB09EBCD77AF2A48C5DD75B9\r
-:10B4E000FADD74FBDD6EFADD66FBDD75FCDD74FDF7\r
-:10B4F000DD6EFADD66FB232346236668DD75FADD23\r
-:10B5000074FBC330B3CD2485FCFFDD6E02DD660322\r
-:10B51000DD75FCDD74FDDD71FEDD70FFDD6E08DDC7\r
-:10B5200066092BDD7508DD7409237DB42820DD6EE6\r
-:10B53000FEDD66FF23DD75FEDD74FF2B46DD6EFC50\r
-:10B54000DD66FD23DD75FCDD74FD2B7018CEDD6E30\r
-:10B5500002DD6603C33885CD2485FCFF210E00394A\r
-:10B5600001020009DD75FCDD74FDDD4E08DD4609D4\r
-:10B57000ED43AAC4E5DD4E0ADD460B11AAC4CDC6D3\r
-:10B58000BAF1DD75FEDD74FF2AAAC43600DD6EFE59\r
-:10B59000DD66FFC33885CD2485FEFF2AC2C4DD7574\r
-:10B5A000FEDD74FF11DCC4CD84AC11F4C4CD84ACD9\r
-:10B5B000DD7EFEDDB6FF2832DD5EFEDD56FFCD848A\r
-:10B5C000AC210A00DD4EFEDD46FF095E2356CD09A3\r
-:10B5D000C0210A000936FF2336FF21160009562331\r
-:10B5E000666ADD75FEDD74FF18C6C33885D52A0C82\r
-:10B5F000C57DB420021822210000220CC5110100D3\r
-:10B60000CD57B07DB4280C21E8C47EF60177237EA7\r
-:10B61000F600771196B5CD0CACD1C9CD1885D5CD36\r
-:10B620004EB6D119EBCD31B6DD6E02DD6603C338FF\r
-:10B6300085CD18855950CD4EB623E5DD4E04DD4647\r
-:10B6400005DD5E02DD5603CD05B5F1C33885CD2499\r
-:10B6500085FEFFDD6E02DD6603DD75FEDD74FFDD58\r
-:10B660006EFEDD66FFAFB6280ADD34FE2003DD3452\r
-:10B67000FF18ECDD4E02DD4603DD6EFEDD66FFA742\r
-:10B68000ED42C33885CD2485F8FFAFDD77FCDD774B\r
-:10B69000FDDD6E02DD6603DD75FEDD74FFDD6EFE31\r
-:10B6A000DD66FF4E060021AAC3097EE610280ADDEA\r
-:10B6B00034FE2003DD34FF18E4DD6EFEDD66FF7E20\r
-:10B6C000FE2D2012DD34FC2003DD34FDDD34FE20B0\r
-:10B6D00003DD34FF1813DD6EFEDD66FF7EFE2B20DA\r
-:10B6E00008DD34FE2003DD34FFDD6E08DD6609E58C\r
-:10B6F000DD4E04DD4605DD5EFEDD56FFCDAEB7F165\r
-:10B70000DD75F8DD74F9DD71FADD70FBDD7EFCDDE1\r
-:10B71000B6FD2805CD6984180CDD4EFADD46FBDD4B\r
-:10B720006EF8DD66F9C33F85CD2485FEFFDD36FE6C\r
-:10B73000FFDD36FFFFDD5E02160021AAC3197EE69B\r
-:10B7400008280FDD4E02060021D0FF09DD75FEDD61\r
-:10B7500074FFDD4E02060021AAC3097EE604280F0D\r
-:10B76000DD4E02060021A9FF09DD75FEDD74FFDD57\r
-:10B770004E02060021AAC3097EE602280FDD4E0212\r
-:10B78000060021B0FF09DD75FEDD74FFDD4E04DD2E\r
-:10B790004605DD6EFEDD66FFCD58823808DD36FEDB\r
-:10B7A000FFDD36FFFFDD6EFEDD66FFC33885CD248D\r
-:10B7B00085FAFF110280DD6E08DD66093E80AC6708\r
-:10B7C000ED52380EDD4E08DD4609212400CD5882A9\r
-:10B7D0003007AFDD7708DD7709DD6E02DD66034EE9\r
-:10B7E000060021AAC3097EE610280ADD34022003E0\r
-:10B7F000DD340318E4DD6E02DD66037EFE2B200AD5\r
-:10B80000DD34022003DD3403186DDD7E08DDB6096A\r
-:10B810002065DD6E02DD66037EFE30205ADD6E029D\r
-:10B82000DD6603237EEE20FE582017DD360810DD8E\r
-:10B83000360900210800397EC60277237ECE0077C4\r
-:10B840001835DD6E02DD6603237EEE20FE422017F2\r
-:10B85000DD360802DD360900210800397EC6027790\r
-:10B86000237ECE00771810DD360808DD360900DDAE\r
-:10B8700034022003DD3403DD7E08DDB6092008DD57\r
-:10B8800036080ADD360900AFDD77FADD77FBDD77B4\r
-:10B89000FCDD77FDDD4E08DD4609DD6E02DD660369\r
-:10B8A0005ECD28B7DD75FEDD74FF7DA43C282E211A\r
-:10B8B000000039DD5E08DD56097A079F4F41CD7BD8\r
-:10B8C0008421000039DD5EFEDD56FF7A079F4F417F\r
-:10B8D000CDA484DD34022003DD340318B7DD7E04FB\r
-:10B8E000DDB6052811DD6E02DD6603E5DD6E04DDE3\r
-:10B8F0006605C1712370DD4EFCDD46FDDD6EFADDAF\r
-:10B9000066FBC33F85CD2485FEFFDD36FE41DDCBE2\r
-:10B910000B7E2816DD36FE61DD4E0ADD460BA721C3\r
-:10B920000000ED42DD750ADD740BDD6EFEE50E00F4\r
-:10B93000C5DD6E0ADD660BE5DD6E08DD6609E5DD59\r
-:10B940004E04DD4605DD5E02DD5603CD8DB0F1F11E\r
-:10B95000F1F1C33885CD2485FAFFAFDD77FBDD77C4\r
-:10B96000FC5950CD4EB6DD75FDDD74FEDD6E04DD97\r
-:10B9700066057EFE2D2014DD6E04DD660523DD7573\r
-:10B9800004DD74052B46DD700A180EAFDDB60A28FB\r
-:10B9900008DD34FD2003DD34FEDD7E10DDA6113C24\r
-:10B9A000281DDD4EFDDD46FEDD6E10DD6611CD5835\r
-:10B9B00082300CDD6E10DD6611DD75FDDD74FEDD9F\r
-:10B9C0004EFDDD46FEDD6E0EDD660FCD5882300C7D\r
-:10B9D000DD6EFDDD66FEDD750EDD740FDD6E0EDDE8\r
-:10B9E000660FDD75FBDD74FC211400397EDD96FDEC\r
-:10B9F00077237EDD9EFE77DD7E0EDDB60F2009DD2E\r
-:10BA00007EFDDDB6FECABDBADD7E08DDB609203496\r
-:10BA1000DD7E0EDDB60F282CDD7EFDDDB6FE280FA7\r
-:10BA2000AFDDB60A2809DD7E0CFE3020021823DDCA\r
-:10BA3000460CDD70FADD6E0EDD660F2BDD750EDD5A\r
-:10BA4000740F184EDD7EFDDDB6FE2833AFDDB60A7D\r
-:10BA5000280CDD460ADD70FADD360A001812DD6EAC\r
-:10BA600004DD660523DD7504DD74052B46DD70FA03\r
-:10BA7000DD6EFDDD66FE2BDD75FDDD74FE1813DD6C\r
-:10BA8000460CDD70FADD6E0EDD660F2BDD750EDD0A\r
-:10BA9000740FDD4E02DD4603DD5EFA1600CD79AE91\r
-:10BAA000DD7EFAFE0A20133E01DDAE12DDB6132064\r
-:10BAB00009DD5E02DD5603CD84ACC3F7B9DD6EFB54\r
-:10BAC000DD66FCC33885CD2485A2FFAFDD77B0DD10\r
-:10BAD00077B1210C00DD5E02DD5603197EE6034FCF\r
-:10BAE000237EE60047DD71FDDD70FE210C00197E2E\r
-:10BAF000E6FC77237EE6FF77DD6E04DD6605AFB6F4\r
-:10BB0000CAA8BFDD6E04DD66057EFE25C265BF3EA8\r
-:10BB100002DDAEFDDDB6FE2009DD5E02DD5603CDA1\r
-:10BB200084ACAFDD77A4DD77A5DD36B300DD36B2BA\r
-:10BB300020DD36ACFFDD36ADFFAFDD77AADD77ABBC\r
-:10BB4000DD36A8FFDD36A9FFDD36AE0ADD36AF00F3\r
-:10BB5000211B0039DD75B5DD74B6DD36B400AFDD0F\r
-:10BB600077A6DD77A7AFDD77A2DD77A3DD340420EC\r
-:10BB700003DD3405DD6E04DD66057EFE30380BDD49\r
-:10BB80006E04DD66053E39BE3002186521000039BD\r
-:10BB9000010A00CD6A82DD6E04DD66054E060021D5\r
-:10BBA000D0FF094D44210000397E8177237E8877BC\r
-:10BBB000DD7EAADDB6AB280EDD6EA2DD66A3DD75E7\r
-:10BBC000A8DD74A91821DD7EA2DDB6A3200DDD7EDF\r
-:10BBD000B2FE202006DD36B230188ADD6EA2DD66A8\r
-:10BBE000A3DD75ACDD74ADDD34042003DD34051850\r
-:10BBF00083DD6E04DD66055ECDDF84140000202148\r
-:10BC0000232A2B2D2E5862636468696C6F707375DC\r
-:10BC10007861BF78BD80BDF4BE53BD49BDD4BCE9D9\r
-:10BC2000BCDFBCE9BCB1BE3FBD6EBDC9BC4BBC56A0\r
-:10BC3000BC6ABC63BC93BE56BC3BBCDD6E04DD6617\r
-:10BC4000052BDD7504DD7405C365BFDD36A401DD9C\r
-:10BC500036A500C365BBDD6E04DD660546DD70B349\r
-:10BC6000C365BBDD36B401C365BB216600397EC642\r
-:10BC70000277237ECE00772B6E672B2B46236668D8\r
-:10BC8000DD75A2DD74A3DD7EAADDB6AB280EDD6E08\r
-:10BC9000A2DD66A3DD75A8DD74A9182ADD6EA2DD1C\r
-:10BCA00066A3DD75ACDD74ADCB7C281ADD36A4014E\r
-:10BCB000DD36A500DD4EA2DD46A3A7210000ED4242\r
-:10BCC000DD75ACDD74ADC365BBDD36AA01DD36AB19\r
-:10BCD00000C365BBDD36A601DD36A700C365BBAF7B\r
-:10BCE000DD77A6DD77A7C365BB210A00E5211D002E\r
-:10BCF00039E5DD7EA6DDB6A7281D216A00397EC69E\r
-:10BD00000477237ECE00772B6E6701FCFF095E234C\r
-:10BD100056234E2346181A216A00397EC60277231D\r
-:10BD20007ECE00772B6E672B2B5E23567A079F4FB4\r
-:10BD300041CD85B2F1F1DD75B5DD74B6C318BFDD57\r
-:10BD400036AE02DD36AF001837DD36AE08DD36AF71\r
-:10BD500000182DAFDD77A6DD77A7DD36B230DD36F2\r
-:10BD6000AC05DD36AD00DD36A808DD36A900DD36D0\r
-:10BD7000AE10DD36AF001808DD36AEF0DD36AFFFB1\r
-:10BD8000DD7EA6DDB6A7281E216600397EC60477B3\r
-:10BD9000237ECE00772B6E6701FCFF095E235623BE\r
-:10BDA0004E2346EB1819216600397EC60277237EA2\r
-:10BDB000CE00772B6E672B2B46236668010000DDD3\r
-:10BDC00075B9DD74BADD71BBDD70BCDD5EAEDD560C\r
-:10BDD000AFD5211D003901040009E5DD4EBBDD466C\r
-:10BDE000BCDD5EB9DD56BACD05B9F1F1DD75B5DD65\r
-:10BDF00074B6DD36B726DD36B8C2AFDDB6B4CA904C\r
-:10BE0000BE3E02DDAEAEDDB6AF200ADD36B727DDC1\r
-:10BE100036B8C218493E08DDAEAEDDB6AF2018DD3B\r
-:10BE20007EB9DDB6BADDB6BBDDB6BC2808DD36B7F7\r
-:10BE30002ADD36B8C218273E10DDAEAEDDB6AF2023\r
-:10BE40000ADD36B72CDD36B8C218133E0FDDAEAEB4\r
-:10BE5000DDA6AF3C2008DD36B72FDD36B8C2DD6E7B\r
-:10BE6000B7DD66B8AFB62828DD36B200DD4EB7DDE7\r
-:10BE700046B8211B00395D54CD31B6DD4EB5DD46E7\r
-:10BE8000B6211B00395D54CD1BB6DD75B5DD74B62A\r
-:10BE9000C318BFDD6E04DD6605234E0600DD71A20A\r
-:10BEA000DD70A379B02808DD34042003DD340518E3\r
-:10BEB0001C216600397EC60277237ECE00772B6E6A\r
-:10BEC000672B2B46236668DD75A2DD74A3DD46A2D1\r
-:10BED000DD6EB5DD66B670DD6EB5DD66B6233600A7\r
-:10BEE000AFDDB6B4280CDD6EB5DD66B646DD70B2EA\r
-:10BEF0001822181C216600397EC60277237ECE00E8\r
-:10BF0000772B6E672B2B46236668DD75B5DD74B61F\r
-:10BF1000DD36B220DD36B300DD6EFDDD66FEE5DD2B\r
-:10BF20006EA8DD66A9E5DD6EACDD66ADE5DD6EB261\r
-:10BF3000E5DD6EB3E5DD6EA4DD66A5E5DD4EB5DDC0\r
-:10BF400046B6DD5E02DD5603CD55B9EB210C003956\r
-:10BF5000F9EB4D44210E00397E8177237E887718D6\r
-:10BF60000218021838DD4E02DD4603DD6E04DD6680\r
-:10BF7000055E1600CD79AEDD34B02003DD34B1DDD1\r
-:10BF80006E04DD66057EFE0A20133E01DDAEFDDD9A\r
-:10BF9000B6FE2009DD5E02DD5603CD84ACDD34043F\r
-:10BFA0002003DD3405C3F8BA210C00DD4E02DD4666\r
-:10BFB00003097EDDB6FD77237EDDB6FE773E02DD2A\r
-:10BFC000AEFDDDB6FE2009DD5E02DD5603CD84AC9C\r
-:10BFD0003E01DDAEFDDDB6FE2016210400DD4E0281\r
-:10BFE000DD460309E5210600094E2346E171237071\r
-:10BFF000DD6EB0DD66B1C33885CD1885D521020070\r
-:10C00000E5CDD9C0F1F1C33885CD1885D52106001D\r
-:10C01000E5CDD9C0F1F1C33885CD1885D5210B0008\r
-:10C02000E5CDD9C0F1F1C33885CD1885C5D5210D31\r
-:10C0300000E5CDD9C0F1F1F1C33885CD1885DD6EAD\r
-:10C040000CDD660DE5DD6E0ADD660BE5DD6E08DDF7\r
-:10C050006609E5210F00E5CDD9C0F1F1F1F1C33852\r
-:10C0600085CD1885DD6E0CDD660DE5DD6E0ADD66BD\r
-:10C070000BE5DD6E08DD6609E5D5211900E5CDF19A\r
-:10C08000C0F1F1F1F1F1C33F85CD1885DD6E0CDD16\r
-:10C09000660DE5DD6E0ADD660BE5DD6E08DD660921\r
-:10C0A000E5211400E5CDD9C0F1F1F1F1C33885CD1A\r
-:10C0B0001885DD6E08DD6609E5C5D5211700E5CDDB\r
-:10C0C000D9C0F1F1F1F1C33885CD1885D52118001B\r
-:10C0D000E5CDD9C0F1F1C3388521020039C5D55E5F\r
-:10C0E0002356234D44F730062214C521FFFFD1C14A\r
-:10C0F000C921020039D55E2356234D44F73008226A\r
-:10C1000014C521FFFF4D44D1C9CD1885DD6E08DD72\r
-:10C110006609E5C5D5212400E5CDD9C0F1F1F1F1DD\r
-:10C12000C338851B4B1B5300001B4300001B4E00F4\r
-:10C13000001B5200001B4600001B5A0000000000BC\r
-:10C140001B45001B000000303030302E736372003E\r
-:10C150002F6465762F6C6364300030004345004FD8\r
-:10C160004B0043616E63656C0000426172636F64F3\r
-:10C1700065005374756B73005072696A73002F64A5\r
-:10C1800065762F7072696E74657200253133732085\r
-:10C190005665726B6F6F70617274696B656C20208D\r
-:10C1A0007C25376C642C2530326C640D0A002531F7\r
-:10C1B0003373205665726B6F6F70617274696B6553\r
-:10C1C0006C0D0A253464782040207C2025376C646F\r
-:10C1D0002C2530326C64202020202020202020209C\r
-:10C1E0007C25376C642C2530326C640D0A000D0AF6\r
-:10C1F00025313373546F7461616C3A253130737C2F\r
-:10C2000025376C642C2530326C640D0A0D0A0D0A3A\r
-:10C21000004D65737361676520426F780030303080\r
-:10C22000302E7363720000306200300030780030CE\r
-:10C2300058004AC74AC74AC700000000010101016F\r
-:10C24000010101010111111111110101010101018E\r
-:10C250000101010101010101010101011020202062\r
-:10C26000202020202020202020202020484848482E\r
-:10C270004848484848482020202020202042424268\r
-:10C2800042424202020202020202020202020202CE\r
-:10C290000202020202020220202020202044444404\r
-:10C2A000444444040404040404040404040404048E\r
-:10C2B00004040404040404202020200100000000E1\r
-:10C2C000000000000000000000000000000000006E\r
-:10C2D000000000000000000000000000000000005E\r
-:10C2E000000000000000000000000000000000004E\r
-:10C2F000000000000000000000000000000000003E\r
-:10C30000000000000000000000000000000000002D\r
-:10C31000000000000000000000000000000000001D\r
-:10C32000000000000000000000000000000000000D\r
-:10C3300000000000000000000000000000000000FD\r
-:10C34000FFFF0000FFFFFFFF2000000000000000D3\r
-:10C350000000000000004AC54AC54AC54AC54AC691\r
-:10C3600000001000000000000000000000004AC6AD\r
-:10C370004AC64AC64AC64AC701002000000000005B\r
-:10C3800000000000000002C502C502C502C504C5C8\r
-:10C390000200220000000000000000000000010078\r
-:00000001FF\r
index 17aae1e..a9b2fd9 100644 (file)
                                      40        PUBLIC  Label_paint\r
                                      41        PUBLIC  Move\r
                                      42        PUBLIC  Root_paint\r
-                                     43        PUBLIC  Text\r
-                                     44        PUBLIC  ToggleButton_handler\r
-                                     45        PUBLIC  ToggleButton_new\r
-                                     46        PUBLIC  ToggleButton_paint\r
-                                     47        PUBLIC  TouchRegion\r
-                                     48        PUBLIC  Window_add\r
-                                     49        PUBLIC  Window_handler\r
-                                     50        PUBLIC  Window_new\r
-                                     51        PUBLIC  Window_paint\r
-                                     52        EXTERN  _read\r
-                                     53        EXTERN  _write\r
-                                     54        EXTERN  close\r
-                                     55        EXTERN  fflush\r
-                                     56        PUBLIC  fontSearch\r
-                                     57        EXTERN  free\r
-                                     58        PUBLIC  global\r
-                                     59        PUBLIC  grSetFont\r
-                                     60        PUBLIC  gui_globals\r
-                                     61        EXTERN  ioctl\r
-                                     62        PUBLIC  loadFont\r
-                                     63        EXTERN  malloc\r
-                                     64        EXTERN  open\r
-                                     65        EXTERN  printf\r
+                                     43        PUBLIC  SetCurrentGraphicsDevice\r
+                                     44        PUBLIC  Text\r
+                                     45        PUBLIC  ToggleButton_handler\r
+                                     46        PUBLIC  ToggleButton_new\r
+                                     47        PUBLIC  ToggleButton_paint\r
+                                     48        PUBLIC  TouchRegion\r
+                                     49        PUBLIC  Window_add\r
+                                     50        PUBLIC  Window_handler\r
+                                     51        PUBLIC  Window_new\r
+                                     52        PUBLIC  Window_paint\r
+                                     53        EXTERN  _read\r
+                                     54        EXTERN  _write\r
+                                     55        EXTERN  close\r
+                                     56        EXTERN  fflush\r
+                                     57        PUBLIC  fontSearch\r
+                                     58        EXTERN  free\r
+                                     59        PUBLIC  global\r
+                                     60        PUBLIC  grSetFont\r
+                                     61        PUBLIC  gui_globals\r
+                                     62        EXTERN  ioctl\r
+                                     63        PUBLIC  loadFont\r
+                                     64        EXTERN  malloc\r
+                                     65        EXTERN  open\r
                                      66        PUBLIC  read_stringtable\r
                                      67        PUBLIC  rootWindow_handler\r
                                      68        PUBLIC  root_actionhandler\r
                                      82        EXTERN  ?SS_DIV_L02\r
                                      83        EXTERN  ?S_MUL_L02\r
                                      84        EXTERN  ?SS_CMP_L02\r
-                                     85        EXTERN  ?SL_RSH_L03\r
-                                     86        EXTERN  ?C_V_SWITCH_L06\r
-                                     87        EXTERN  ?S_V_SWITCH_L06\r
-                                     88        EXTERN  ?BANK_CALL_DIRECT_L08\r
-                                     89        EXTERN  ?BANK_LEAVE_DIRECT_L08\r
-                                     90        EXTERN  ?BANK_FAST_LEAVE_L08\r
-                                     91        EXTERN  ?ENT_PARM_DIRECT_L09\r
-                                     92        EXTERN  ?ENT_AUTO_DIRECT_L09\r
-                                     93        RSEG    CODE\r
-    00000000                         94 GraphicsOpen:\r
-    00000000 CD 00 00                95        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000003 F8 FF                   96        DEFW    65528\r
-    00000005 21 06 00                97        LD      HL,6\r
-    00000008 39                      98        ADD     HL,SP\r
-    00000009 EB                      99        EX      DE,HL\r
-    0000000A 21 00 00               100        LD      HL,?0000\r
-    0000000D 01 02 00               101        LD      BC,2\r
-    00000010 ED B0                  102        LDIR\r
-    00000012 2A 00 00               103        LD      HL,(global)\r
-    00000015 23                     104        INC     HL\r
-    00000016 23                     105        INC     HL\r
-    00000017 E5                     106        PUSH    HL\r
-    00000018 03                     107        INC     BC\r
-    00000019 03                     108        INC     BC\r
-    0000001A C5                     109        PUSH    BC\r
-    0000001B 01 00 00               110        LD      BC,?0001\r
-    0000001E C5                     111        PUSH    BC\r
-    0000001F 3E 00                  112        LD      A,BYTE3 open\r
-    00000021 21 00 00               113        LD      HL,LWRD open\r
-    00000024 CD 00 00               114        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000027 F1                     115        POP     AF\r
-    00000028 F1                     116        POP     AF\r
-    00000029 4D                     117        LD      C,L\r
-    0000002A 44                     118        LD      B,H\r
-    0000002B E1                     119        POP     HL\r
-    0000002C 71                     120        LD      (HL),C\r
-    0000002D 23                     121        INC     HL\r
-    0000002E 70                     122        LD      (HL),B\r
-    0000002F 21 00 00               123        LD      HL,0\r
-    00000032 39                     124        ADD     HL,SP\r
-    00000033 E5                     125        PUSH    HL\r
-    00000034 21 00 00               126        LD      HL,0\r
-    00000037 E5                     127        PUSH    HL\r
-    00000038 2A 00 00               128        LD      HL,(global)\r
-    0000003B 23                     129        INC     HL\r
-    0000003C 23                     130        INC     HL\r
-    0000003D 4E                     131        LD      C,(HL)\r
-    0000003E 23                     132        INC     HL\r
-    0000003F 46                     133        LD      B,(HL)\r
-    00000040 C5                     134        PUSH    BC\r
-    00000041 3E 00                  135        LD      A,BYTE3 ioctl\r
-    00000043 21 00 00               136        LD      HL,LWRD ioctl\r
-    00000046 CD 00 00               137        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000049 F1                     138        POP     AF\r
-    0000004A F1                     139        POP     AF\r
-    0000004B F1                     140        POP     AF\r
-    0000004C DD 36 FC 60            141        LD      (IX-4),96\r
-    00000050 DD 36 FD 00            142        LD      (IX-3),0\r
-    00000054 21 00 00               143        LD      HL,0\r
-    00000057 39                     144        ADD     HL,SP\r
-    00000058 E5                     145        PUSH    HL\r
-    00000059 21 01 00               146        LD      HL,1\r
-    0000005C E5                     147        PUSH    HL\r
-    0000005D 2A 00 00               148        LD      HL,(global)\r
-    00000060 23                     149        INC     HL\r
-    00000061 23                     150        INC     HL\r
-    00000062 4E                     151        LD      C,(HL)\r
-    00000063 23                     152        INC     HL\r
-    00000064 46                     153        LD      B,(HL)\r
-    00000065 C5                     154        PUSH    BC\r
-    00000066 3E 00                  155        LD      A,BYTE3 ioctl\r
-    00000068 21 00 00               156        LD      HL,LWRD ioctl\r
-    0000006B CD 00 00               157        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000006E F1                     158        POP     AF\r
-    0000006F F1                     159        POP     AF\r
-    00000070 F1                     160        POP     AF\r
-    00000071 21 02 00               161        LD      HL,2\r
-    00000074 E5                     162        PUSH    HL\r
-    00000075 2E 08                  163        LD      L,8\r
-    00000077                        164 ?0372:\r
-    00000077 39                     165        ADD     HL,SP\r
-    00000078 4D                     166        LD      C,L\r
-    00000079                        167 ?0427:\r
-    00000079 44                     168        LD      B,H\r
-    0000007A 2A 00 00               169        LD      HL,(global)\r
-    0000007D                        170 ?0428:\r
-    0000007D 23                     171        INC     HL\r
-    0000007E 23                     172        INC     HL\r
-    0000007F                        173 ?0429:\r
-    0000007F 5E                     174        LD      E,(HL)\r
-    00000080 23                     175        INC     HL\r
-    00000081                        176 ?0430:\r
-    00000081 56                     177        LD      D,(HL)\r
-    00000082 3E 00                  178        LD      A,BYTE3 _write\r
-    00000084                        179 ?0431:\r
-    00000084 21 00 00               180        LD      HL,LWRD _write\r
-    00000087 CD 00 00               181        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000008A F1                     182        POP     AF\r
-    0000008B C3 00 00               183        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000008E                        184 GraphicsClose:\r
-    0000008E D5                     185        PUSH    DE\r
-    0000008F 2A 00 00               186        LD      HL,(global)\r
-    00000092 23                     187        INC     HL\r
-    00000093 23                     188        INC     HL\r
-    00000094 5E                     189        LD      E,(HL)\r
-    00000095 23                     190        INC     HL\r
-    00000096 56                     191        LD      D,(HL)\r
-    00000097 3E 00                  192        LD      A,BYTE3 close\r
-    00000099 21 00 00               193        LD      HL,LWRD close\r
-    0000009C CD 00 00               194        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000009F D1                     195        POP     DE\r
-    000000A0 C3 00 00               196        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000000A3                        197 Move:\r
-    000000A3 CD 00 00               198        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000000A6 FC FF                  199        DEFW    65532\r
-    000000A8 21 00 00               200        LD      HL,0\r
-    000000AB 39                     201        ADD     HL,SP\r
-    000000AC EB                     202        EX      DE,HL\r
-    000000AD 21 02 00               203        LD      HL,?0002\r
-    000000B0 01 04 00               204        LD      BC,4\r
-    000000B3 ED B0                  205        LDIR\r
-    000000B5 DD 46 02               206        LD      B,(IX+2)\r
-    000000B8 DD 70 FE               207        LD      (IX-2),B\r
-    000000BB DD 46 04               208        LD      B,(IX+4)\r
-    000000BE DD 70 FF               209        LD      (IX-1),B\r
-    000000C1 21 04 00               210        LD      HL,4\r
-    000000C4 E5                     211        PUSH    HL\r
-    000000C5 2B                     212        DEC     HL\r
-    000000C6 2B                     213        DEC     HL\r
-    000000C7 C3 77 00               214        JP      LWRD ?0372\r
-    000000CA 4D                     215        LD      C,L\r
-    000000CB                        216 ?0381:\r
-    000000CB C3 79 00               217        JP      LWRD ?0427\r
-    000000CE 2A 00 00               218        LD      HL,(global)\r
-    000000D1 23                     219        INC     HL\r
-    000000D2 23                     220        INC     HL\r
-    000000D3                        221 ?0432:\r
-    000000D3 5E                     222        LD      E,(HL)\r
-    000000D4 23                     223        INC     HL\r
-    000000D5                        224 ?0433:\r
-    000000D5 56                     225        LD      D,(HL)\r
-    000000D6 3E 00                  226        LD      A,BYTE3 _write\r
-    000000D8                        227 ?0434:\r
-    000000D8 C3 84 00               228        JP      LWRD ?0431\r
-    000000DB CD 00 00               229        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000000DE F1                     230        POP     AF\r
-    000000DF C3 00 00               231        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000000E2                        232 ClearRect:\r
-    000000E2 CD 00 00               233        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000000E5 FC FF                  234        DEFW    65532\r
-    000000E7 21 00 00               235        LD      HL,0\r
-    000000EA 39                     236        ADD     HL,SP\r
-    000000EB EB                     237        EX      DE,HL\r
-    000000EC 21 06 00               238        LD      HL,?0003\r
-    000000EF 01 04 00               239        LD      BC,4\r
-    000000F2 ED B0                  240        LDIR\r
-    000000F4 DD 46 02               241        LD      B,(IX+2)\r
-    000000F7 DD 70 FE               242        LD      (IX-2),B\r
-    000000FA DD 46 04               243        LD      B,(IX+4)\r
-    000000FD DD 70 FF               244        LD      (IX-1),B\r
-    00000100 21 04 00               245        LD      HL,4\r
-    00000103 E5                     246        PUSH    HL\r
-    00000104 2B                     247        DEC     HL\r
-    00000105 2B                     248        DEC     HL\r
-    00000106 C3 77 00               249        JP      LWRD ?0372\r
-    00000109 4D                     250        LD      C,L\r
-    0000010A C3 CB 00               251        JP      LWRD ?0381\r
-    0000010D 2A 00 00               252        LD      HL,(global)\r
-    00000110                        253 ?0389:\r
-    00000110 C3 7D 00               254        JP      LWRD ?0428\r
-    00000113 23                     255        INC     HL\r
-    00000114 C3 D3 00               256        JP      LWRD ?0432\r
-    00000117 23                     257        INC     HL\r
-    00000118 56                     258        LD      D,(HL)\r
-    00000119 3E 00                  259        LD      A,BYTE3 _write\r
-    0000011B                        260 ?0435:\r
-    0000011B C3 84 00               261        JP      LWRD ?0431\r
-    0000011E CD 00 00               262        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000121 F1                     263        POP     AF\r
-    00000122 C3 00 00               264        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000125                        265 DrawRectNC:\r
-    00000125 CD 00 00               266        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000128 FC FF                  267        DEFW    65532\r
-    0000012A 21 00 00               268        LD      HL,0\r
-    0000012D 39                     269        ADD     HL,SP\r
-    0000012E EB                     270        EX      DE,HL\r
-    0000012F 21 0A 00               271        LD      HL,?0004\r
-    00000132 01 04 00               272        LD      BC,4\r
-    00000135 ED B0                  273        LDIR\r
-    00000137 DD 46 02               274        LD      B,(IX+2)\r
-    0000013A DD 70 FE               275        LD      (IX-2),B\r
-    0000013D DD 46 04               276        LD      B,(IX+4)\r
-    00000140 DD 70 FF               277        LD      (IX-1),B\r
-    00000143 21 04 00               278        LD      HL,4\r
-    00000146 E5                     279        PUSH    HL\r
-    00000147 2B                     280        DEC     HL\r
-    00000148 2B                     281        DEC     HL\r
-    00000149 C3 77 00               282        JP      LWRD ?0372\r
-    0000014C 4D                     283        LD      C,L\r
-    0000014D C3 CB 00               284        JP      LWRD ?0381\r
-    00000150 2A 00 00               285        LD      HL,(global)\r
-    00000153 C3 10 01               286        JP      LWRD ?0389\r
-    00000156 23                     287        INC     HL\r
-    00000157                        288 ?0396:\r
-    00000157 C3 7F 00               289        JP      LWRD ?0429\r
-    0000015A 23                     290        INC     HL\r
-    0000015B C3 D5 00               291        JP      LWRD ?0433\r
-    0000015E 3E 00                  292        LD      A,BYTE3 _write\r
-    00000160 C3 1B 01               293        JP      LWRD ?0435\r
-    00000163 CD 00 00               294        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000166 F1                     295        POP     AF\r
-    00000167 C3 00 00               296        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000016A                        297 FillRect:\r
-    0000016A CD 00 00               298        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000016D FC FF                  299        DEFW    65532\r
-    0000016F 21 00 00               300        LD      HL,0\r
-    00000172 39                     301        ADD     HL,SP\r
-    00000173 EB                     302        EX      DE,HL\r
-    00000174 21 0E 00               303        LD      HL,?0005\r
-    00000177 01 04 00               304        LD      BC,4\r
-    0000017A ED B0                  305        LDIR\r
-    0000017C DD 46 02               306        LD      B,(IX+2)\r
-    0000017F DD 70 FE               307        LD      (IX-2),B\r
-    00000182 DD 46 04               308        LD      B,(IX+4)\r
-    00000185 DD 70 FF               309        LD      (IX-1),B\r
-    00000188 21 04 00               310        LD      HL,4\r
-    0000018B E5                     311        PUSH    HL\r
-    0000018C 2B                     312        DEC     HL\r
-    0000018D 2B                     313        DEC     HL\r
-    0000018E C3 77 00               314        JP      LWRD ?0372\r
-    00000191 4D                     315        LD      C,L\r
-    00000192 C3 CB 00               316        JP      LWRD ?0381\r
-    00000195 2A 00 00               317        LD      HL,(global)\r
-    00000198 C3 10 01               318        JP      LWRD ?0389\r
-    0000019B 23                     319        INC     HL\r
-    0000019C C3 57 01               320        JP      LWRD ?0396\r
-    0000019F 23                     321        INC     HL\r
-    000001A0                        322 ?0402:\r
-    000001A0 C3 81 00               323        JP      LWRD ?0430\r
-    000001A3 3E 00                  324        LD      A,BYTE3 _write\r
-    000001A5 C3 D8 00               325        JP      LWRD ?0434\r
-    000001A8 CD 00 00               326        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000001AB F1                     327        POP     AF\r
-    000001AC C3 00 00               328        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000001AF                        329 FillRectNC:\r
-    000001AF CD 00 00               330        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000001B2 FC FF                  331        DEFW    65532\r
-    000001B4 21 00 00               332        LD      HL,0\r
-    000001B7 39                     333        ADD     HL,SP\r
-    000001B8 EB                     334        EX      DE,HL\r
-    000001B9 21 12 00               335        LD      HL,?0006\r
-    000001BC 01 04 00               336        LD      BC,4\r
-    000001BF ED B0                  337        LDIR\r
-    000001C1 DD 46 02               338        LD      B,(IX+2)\r
-    000001C4 DD 70 FE               339        LD      (IX-2),B\r
-    000001C7 DD 46 04               340        LD      B,(IX+4)\r
-    000001CA DD 70 FF               341        LD      (IX-1),B\r
-    000001CD 21 04 00               342        LD      HL,4\r
-    000001D0 E5                     343        PUSH    HL\r
-    000001D1 2B                     344        DEC     HL\r
-    000001D2 2B                     345        DEC     HL\r
-    000001D3 C3 77 00               346        JP      LWRD ?0372\r
-    000001D6 4D                     347        LD      C,L\r
-    000001D7 C3 CB 00               348        JP      LWRD ?0381\r
-    000001DA 2A 00 00               349        LD      HL,(global)\r
-    000001DD C3 10 01               350        JP      LWRD ?0389\r
-    000001E0 23                     351        INC     HL\r
-    000001E1 C3 57 01               352        JP      LWRD ?0396\r
-    000001E4 23                     353        INC     HL\r
-    000001E5 C3 A0 01               354        JP      LWRD ?0402\r
-    000001E8 3E 00                  355        LD      A,BYTE3 _write\r
-    000001EA                        356 ?0407:\r
-    000001EA C3 84 00               357        JP      LWRD ?0431\r
-    000001ED CD 00 00               358        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000001F0 F1                     359        POP     AF\r
-    000001F1 C3 00 00               360        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000001F4                        361 GrayRect:\r
-    000001F4 CD 00 00               362        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000001F7 FC FF                  363        DEFW    65532\r
-    000001F9 21 00 00               364        LD      HL,0\r
-    000001FC 39                     365        ADD     HL,SP\r
-    000001FD EB                     366        EX      DE,HL\r
-    000001FE 21 16 00               367        LD      HL,?0007\r
-    00000201 01 04 00               368        LD      BC,4\r
-    00000204 ED B0                  369        LDIR\r
-    00000206 DD 46 02               370        LD      B,(IX+2)\r
-    00000209 DD 70 FE               371        LD      (IX-2),B\r
-    0000020C DD 46 04               372        LD      B,(IX+4)\r
-    0000020F DD 70 FF               373        LD      (IX-1),B\r
-    00000212 21 04 00               374        LD      HL,4\r
-    00000215 E5                     375        PUSH    HL\r
-    00000216 2B                     376        DEC     HL\r
-    00000217 2B                     377        DEC     HL\r
-    00000218 C3 77 00               378        JP      LWRD ?0372\r
-    0000021B 4D                     379        LD      C,L\r
-    0000021C C3 CB 00               380        JP      LWRD ?0381\r
-    0000021F 2A 00 00               381        LD      HL,(global)\r
-    00000222 C3 10 01               382        JP      LWRD ?0389\r
-    00000225 23                     383        INC     HL\r
-    00000226 C3 57 01               384        JP      LWRD ?0396\r
-    00000229 23                     385        INC     HL\r
-    0000022A C3 A0 01               386        JP      LWRD ?0402\r
-    0000022D 3E 00                  387        LD      A,BYTE3 _write\r
-    0000022F C3 EA 01               388        JP      LWRD ?0407\r
-    00000232 CD 00 00               389        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000235 F1                     390        POP     AF\r
-    00000236 C3 00 00               391        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000239                        392 Text:\r
-    00000239 C5                     393        PUSH    BC\r
-    0000023A FD E5                  394        PUSH    IY\r
-    0000023C DD E5                  395        PUSH    IX\r
-    0000023E D5                     396        PUSH    DE\r
-    0000023F DD E1                  397        POP     IX\r
-    00000241 3E 00                  398        LD      A,BYTE3 strlen\r
-    00000243 21 00 00               399        LD      HL,LWRD strlen\r
-    00000246 CD 00 00               400        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000249 E5                     401        PUSH    HL\r
-    0000024A DD E5                  402        PUSH    IX\r
-    0000024C C1                     403        POP     BC\r
-    0000024D 2A 00 00               404        LD      HL,(global)\r
-    00000250 23                     405        INC     HL\r
-    00000251 23                     406        INC     HL\r
-    00000252 5E                     407        LD      E,(HL)\r
-    00000253 23                     408        INC     HL\r
-    00000254 56                     409        LD      D,(HL)\r
-    00000255 3E 00                  410        LD      A,BYTE3 _write\r
-    00000257 21 00 00               411        LD      HL,LWRD _write\r
-    0000025A CD 00 00               412        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000025D F1                     413        POP     AF\r
-    0000025E                        414 ?0411:\r
-    0000025E DD E1                  415        POP     IX\r
-    00000260 FD E1                  416        POP     IY\r
-    00000262 C1                     417        POP     BC\r
-    00000263 C3 00 00               418        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    00000266                        419 TouchRegion:\r
-    00000266 CD 00 00               420        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000269 F8 FF                  421        DEFW    65528\r
-    0000026B 21 00 00               422        LD      HL,0\r
-    0000026E 39                     423        ADD     HL,SP\r
-    0000026F EB                     424        EX      DE,HL\r
-    00000270 21 1A 00               425        LD      HL,?0008\r
-    00000273 01 07 00               426        LD      BC,7\r
-    00000276 ED B0                  427        LDIR\r
-    00000278 DD 46 02               428        LD      B,(IX+2)\r
-    0000027B DD 70 FA               429        LD      (IX-6),B\r
-    0000027E DD 46 04               430        LD      B,(IX+4)\r
-    00000281 DD 70 FB               431        LD      (IX-5),B\r
-    00000284 DD 46 0A               432        LD      B,(IX+10)\r
-    00000287 DD 70 FC               433        LD      (IX-4),B\r
-    0000028A DD 46 0C               434        LD      B,(IX+12)\r
-    0000028D DD 70 FD               435        LD      (IX-3),B\r
-    00000290 DD 46 0E               436        LD      B,(IX+14)\r
-    00000293 DD 70 FE               437        LD      (IX-2),B\r
-    00000296 21 07 00               438        LD      HL,7\r
-    00000299 E5                     439        PUSH    HL\r
-    0000029A 2E 02                  440        LD      L,2\r
-    0000029C C3 77 00               441        JP      LWRD ?0372\r
-    0000029F 4D                     442        LD      C,L\r
-    000002A0 C3 CB 00               443        JP      LWRD ?0381\r
-    000002A3 2A 00 00               444        LD      HL,(global)\r
-    000002A6 C3 10 01               445        JP      LWRD ?0389\r
-    000002A9 23                     446        INC     HL\r
-    000002AA C3 57 01               447        JP      LWRD ?0396\r
-    000002AD 23                     448        INC     HL\r
-    000002AE C3 A0 01               449        JP      LWRD ?0402\r
-    000002B1 3E 00                  450        LD      A,BYTE3 _write\r
-    000002B3 C3 EA 01               451        JP      LWRD ?0407\r
-    000002B6 CD 00 00               452        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000002B9 F1                     453        POP     AF\r
-    000002BA C3 00 00               454        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000002BD                        455 ClearScreen:\r
-    000002BD C5                     456        PUSH    BC\r
-    000002BE D5                     457        PUSH    DE\r
-    000002BF CD D7 02               458        CALL    LWRD ?0461\r
-    000002C2 CD 00 00               459        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000002C5 21 80 00               460        LD      HL,128\r
-    000002C8 E5                     461        PUSH    HL\r
-    000002C9 6C                     462        LD      L,H\r
-    000002CA E5                     463        PUSH    HL\r
-    000002CB E5                     464        PUSH    HL\r
-    000002CC CD EF 02               465        CALL    LWRD ?0470\r
-    000002CF E1                     466        POP     HL\r
-    000002D0 E1                     467        POP     HL\r
-    000002D1 E1                     468        POP     HL\r
-    000002D2 D1                     469        POP     DE\r
-    000002D3 C1                     470        POP     BC\r
-    000002D4 C3 00 00               471        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000002D7                        472 ?0461:\r
-    000002D7 01 00 00               473        LD      BC,0\r
-    000002DA 59                     474        LD      E,C\r
-    000002DB 50                     475        LD      D,B\r
-    000002DC 3E A3                  476        LD      A,BYTE3 Move\r
-    000002DE 21 A3 00               477        LD      HL,LWRD Move\r
-    000002E1 CD 00 00               478        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000002E4 01 80 00               479        LD      BC,128\r
-    000002E7 58                     480        LD      E,B\r
-    000002E8 50                     481        LD      D,B\r
-    000002E9 3E E2                  482        LD      A,BYTE3 ClearRect\r
-    000002EB 21 E2 00               483        LD      HL,LWRD ClearRect\r
-    000002EE C9                     484        RET\r
-    000002EF                        485 ?0470:\r
-    000002EF 4D                     486        LD      C,L\r
-    000002F0 44                     487        LD      B,H\r
-    000002F1 EB                     488        EX      DE,HL\r
-    000002F2                        489 ?0471:\r
-    000002F2 3E 66                  490        LD      A,BYTE3 TouchRegion\r
-    000002F4 21 66 02               491        LD      HL,LWRD TouchRegion\r
-    000002F7 C3 00 00               492        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    000002FA                        493 EnableScreen:\r
-    000002FA CD 00 00               494        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000002FD FC FF                  495        DEFW    65532\r
-    000002FF 21 00 00               496        LD      HL,0\r
-    00000302 39                     497        ADD     HL,SP\r
-    00000303 EB                     498        EX      DE,HL\r
-    00000304 21 21 00               499        LD      HL,?0009\r
-    00000307 01 03 00               500        LD      BC,3\r
-    0000030A ED B0                  501        LDIR\r
-    0000030C DD 46 02               502        LD      B,(IX+2)\r
-    0000030F DD 70 FE               503        LD      (IX-2),B\r
-    00000312 21 03 00               504        LD      HL,3\r
-    00000315 E5                     505        PUSH    HL\r
-    00000316 2B                     506        DEC     HL\r
-    00000317 C3 77 00               507        JP      LWRD ?0372\r
-    0000031A 4D                     508        LD      C,L\r
-    0000031B C3 CB 00               509        JP      LWRD ?0381\r
-    0000031E 2A 00 00               510        LD      HL,(global)\r
-    00000321 C3 10 01               511        JP      LWRD ?0389\r
-    00000324 23                     512        INC     HL\r
-    00000325 C3 57 01               513        JP      LWRD ?0396\r
-    00000328 23                     514        INC     HL\r
-    00000329 C3 A0 01               515        JP      LWRD ?0402\r
-    0000032C 3E 00                  516        LD      A,BYTE3 _write\r
-    0000032E C3 EA 01               517        JP      LWRD ?0407\r
-    00000331 CD 00 00               518        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000334 F1                     519        POP     AF\r
-    00000335 C3 00 00               520        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000338                        521 grSetFont:\r
-    00000338 CD 00 00               522        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000033B FE FF                  523        DEFW    65534\r
-    0000033D 21 00 00               524        LD      HL,0\r
-    00000340 39                     525        ADD     HL,SP\r
-    00000341 EB                     526        EX      DE,HL\r
-    00000342 21 24 00               527        LD      HL,?0010\r
-    00000345 01 02 00               528        LD      BC,2\r
-    00000348 ED B0                  529        LDIR\r
-    0000034A DD 46 02               530        LD      B,(IX+2)\r
-    0000034D DD 70 FF               531        LD      (IX-1),B\r
-    00000350 21 02 00               532        LD      HL,2\r
-    00000353 E5                     533        PUSH    HL\r
-    00000354 C3 77 00               534        JP      LWRD ?0372\r
-    00000357 4D                     535        LD      C,L\r
-    00000358 C3 CB 00               536        JP      LWRD ?0381\r
-    0000035B 2A 00 00               537        LD      HL,(global)\r
-    0000035E C3 10 01               538        JP      LWRD ?0389\r
-    00000361 23                     539        INC     HL\r
-    00000362 C3 57 01               540        JP      LWRD ?0396\r
-    00000365 23                     541        INC     HL\r
-    00000366 C3 A0 01               542        JP      LWRD ?0402\r
-    00000369 3E 00                  543        LD      A,BYTE3 _write\r
-    0000036B C3 EA 01               544        JP      LWRD ?0407\r
-    0000036E CD 00 00               545        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000371 F1                     546        POP     AF\r
-    00000372 C3 00 00               547        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000375                        548 fontSearch:\r
-    00000375 CD 00 00               549        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000378 00 00                  550        DEFW    0\r
-    0000037A 21 0C 00               551        LD      HL,12\r
-    0000037D ED 4B 00 00            552        LD      BC,(global)\r
-    00000381 09                     553        ADD     HL,BC\r
-    00000382                        554 ?0321:\r
-    00000382 46                     555        LD      B,(HL)\r
-    00000383 23                     556        INC     HL\r
-    00000384 66                     557        LD      H,(HL)\r
-    00000385 68                     558        LD      L,B\r
-    00000386 EB                     559        EX      DE,HL\r
-    00000387                        560 ?0012:\r
-    00000387 7B                     561        LD      A,E\r
-    00000388 B2                     562        OR      D\r
-    00000389 28 16                  563        JR      Z,?0011\r
-    0000038B 6B                     564        LD      L,E\r
-    0000038C 62                     565        LD      H,D\r
-    0000038D 46                     566        LD      B,(HL)\r
-    0000038E 23                     567        INC     HL\r
-    0000038F 66                     568        LD      H,(HL)\r
-    00000390 68                     569        LD      L,B\r
-    00000391 DD 4E 02               570        LD      C,(IX+2)\r
-    00000394 DD 46 03               571        LD      B,(IX+3)\r
-    00000397 ED 42                  572        SBC     HL,BC\r
-    00000399 28 06                  573        JR      Z,?0011\r
-    0000039B                        574 ?0015:\r
-    0000039B                        575 ?0014:\r
-    0000039B                        576 ?0013:\r
-    0000039B 21 08 00               577        LD      HL,8\r
-    0000039E 19                     578        ADD     HL,DE\r
-    0000039F 18 E1                  579        JR      ?0321\r
-    000003A1                        580 ?0011:\r
-    000003A1 EB                     581        EX      DE,HL\r
-    000003A2 C3 00 00               582        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000003A5                        583 setCurrentFont:\r
-    000003A5 CD 00 00               584        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    000003A8 3E 75                  585        LD      A,BYTE3 fontSearch\r
-    000003AA 21 75 03               586        LD      HL,LWRD fontSearch\r
-    000003AD CD 22 04               587        CALL    LWRD ?0448\r
-    000003B0 28 29                  588        JR      Z,?0017\r
-    000003B2                        589 ?0016:\r
-    000003B2 DD 5E 02               590        LD      E,(IX+2)\r
-    000003B5 DD 56 03               591        LD      D,(IX+3)\r
-    000003B8 3E 38                  592        LD      A,BYTE3 grSetFont\r
-    000003BA 21 38 03               593        LD      HL,LWRD grSetFont\r
-    000003BD CD 00 00               594        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000003C0 21 0A 00               595        LD      HL,10\r
-    000003C3 ED 4B 00 00            596        LD      BC,(global)\r
-    000003C7 09                     597        ADD     HL,BC\r
-    000003C8 E5                     598        PUSH    HL\r
-    000003C9 DD 5E 02               599        LD      E,(IX+2)\r
-    000003CC DD 56 03               600        LD      D,(IX+3)\r
-    000003CF 3E 75                  601        LD      A,BYTE3 fontSearch\r
-    000003D1 21 75 03               602        LD      HL,LWRD fontSearch\r
-    000003D4 CD 2D 04               603        CALL    LWRD ?0449\r
-    000003D7 E1                     604        POP     HL\r
-    000003D8 71                     605        LD      (HL),C\r
-    000003D9 23                     606        INC     HL\r
-    000003DA 70                     607        LD      (HL),B\r
-    000003DB                        608 ?0017:\r
-    000003DB C3 00 00               609        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000003DE                        610 ?0443:\r
-    000003DE ED 4B 00 00            611        LD      BC,(global)\r
-    000003E2 09                     612        ADD     HL,BC\r
-    000003E3 46                     613        LD      B,(HL)\r
-    000003E4 23                     614        INC     HL\r
-    000003E5 66                     615        LD      H,(HL)\r
-    000003E6 68                     616        LD      L,B\r
-    000003E7                        617 ?0442:\r
-    000003E7 23                     618        INC     HL\r
-    000003E8 23                     619        INC     HL\r
-    000003E9 4E                     620        LD      C,(HL)\r
-    000003EA 23                     621        INC     HL\r
-    000003EB 46                     622        LD      B,(HL)\r
-    000003EC 23                     623        INC     HL\r
-    000003ED 7E                     624        LD      A,(HL)\r
-    000003EE 69                     625        LD      L,C\r
-    000003EF 60                     626        LD      H,B\r
-    000003F0 CD 00 00               627        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000003F3 4D                     628        LD      C,L\r
-    000003F4 44                     629        LD      B,H\r
-    000003F5 FD 6E 06               630        LD      L,(IY+6)\r
-    000003F8 FD 66 07               631        LD      H,(IY+7)\r
-    000003FB A7                     632        AND     A\r
-    000003FC ED 42                  633        SBC     HL,BC\r
-    000003FE EB                     634        EX      DE,HL\r
-    000003FF 01 02 00               635        LD      BC,2\r
-    00000402 CD 00 00               636        CALL    LWRD ?SS_DIV_L02\r
-    00000405 DD 6E 04               637        LD      L,(IX+4)\r
-    00000408 DD 66 05               638        LD      H,(IX+5)\r
-    0000040B 19                     639        ADD     HL,DE\r
-    0000040C EB                     640        EX      DE,HL\r
-    0000040D 3E A3                  641        LD      A,BYTE3 Move\r
-    0000040F 21 A3 00               642        LD      HL,LWRD Move\r
-    00000412 C9                     643        RET\r
-    00000413                        644 ?0444:\r
-    00000413 CD 00 00               645        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000416 4D                     646        LD      C,L\r
-    00000417 44                     647        LD      B,H\r
-    00000418 FD 6E 08               648        LD      L,(IY+8)\r
-    0000041B FD 66 09               649        LD      H,(IY+9)\r
-    0000041E A7                     650        AND     A\r
-    0000041F ED 42                  651        SBC     HL,BC\r
-    00000421 C9                     652        RET\r
-    00000422                        653 ?0448:\r
-    00000422 CD 00 00               654        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000425 7D                     655        LD      A,L\r
-    00000426 B4                     656        OR      H\r
-    00000427 C9                     657        RET\r
-    00000428                        658 ?0450:\r
-    00000428 3E 00                  659        LD      A,BYTE3 malloc\r
-    0000042A 21 00 00               660        LD      HL,LWRD malloc\r
-    0000042D                        661 ?0449:\r
-    0000042D CD 00 00               662        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000430 4D                     663        LD      C,L\r
-    00000431 44                     664        LD      B,H\r
-    00000432 C9                     665        RET\r
-    00000433                        666 loadFont:\r
-    00000433 CD 00 00               667        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000436 FC FF                  668        DEFW    65532\r
-    00000438 FD E5                  669        PUSH    IY\r
-    0000043A 11 0E 00               670        LD      DE,14\r
-    0000043D CD CE 04               671        CALL    LWRD ?0447\r
-    00000440 DD 4E 02               672        LD      C,(IX+2)\r
-    00000443 71                     673        LD      (HL),C\r
-    00000444 DD 46 03               674        LD      B,(IX+3)\r
-    00000447 23                     675        INC     HL\r
-    00000448 70                     676        LD      (HL),B\r
-    00000449 DD 46 0C               677        LD      B,(IX+12)\r
-    0000044C DD 6E 0A               678        LD      L,(IX+10)\r
-    0000044F FD 75 02               679        LD      (IY+2),L\r
-    00000452 DD 66 0B               680        LD      H,(IX+11)\r
-    00000455 FD 74 03               681        LD      (IY+3),H\r
-    00000458 FD 70 04               682        LD      (IY+4),B\r
-    0000045B DD 46 10               683        LD      B,(IX+16)\r
-    0000045E DD 6E 0E               684        LD      L,(IX+14)\r
-    00000461 FD 75 05               685        LD      (IY+5),L\r
-    00000464 DD 66 0F               686        LD      H,(IX+15)\r
-    00000467 FD 74 06               687        LD      (IY+6),H\r
-    0000046A FD 70 07               688        LD      (IY+7),B\r
-    0000046D AF                     689        XOR     A\r
-    0000046E FD 77 08               690        LD      (IY+8),A\r
-    00000471 FD 77 09               691        LD      (IY+9),A\r
-    00000474 DD 6E 12               692        LD      L,(IX+18)\r
-    00000477 FD 75 0A               693        LD      (IY+10),L\r
-    0000047A DD 66 13               694        LD      H,(IX+19)\r
-    0000047D FD 74 0B               695        LD      (IY+11),H\r
-    00000480 DD 6E 14               696        LD      L,(IX+20)\r
-    00000483 FD 75 0C               697        LD      (IY+12),L\r
-    00000486 DD 66 15               698        LD      H,(IX+21)\r
-    00000489 FD 74 0D               699        LD      (IY+13),H\r
-    0000048C 21 0C 00               700        LD      HL,12\r
-    0000048F ED 4B 00 00            701        LD      BC,(global)\r
-    00000493 09                     702        ADD     HL,BC\r
-    00000494 7E                     703        LD      A,(HL)\r
-    00000495 23                     704        INC     HL\r
-    00000496 B6                     705        OR      (HL)\r
-    00000497 21 0C 00               706        LD      HL,12\r
-    0000049A ED 4B 00 00            707        LD      BC,(global)\r
-    0000049E 09                     708        ADD     HL,BC\r
-    0000049F 20 10                  709        JR      NZ,?0019\r
-    000004A1                        710 ?0018:\r
-    000004A1 FD E5                  711        PUSH    IY\r
-    000004A3 C1                     712        POP     BC\r
-    000004A4 71                     713        LD      (HL),C\r
-    000004A5 23                     714        INC     HL\r
-    000004A6 70                     715        LD      (HL),B\r
-    000004A7 21 0A 00               716        LD      HL,10\r
-    000004AA ED 4B 00 00            717        LD      BC,(global)\r
-    000004AE 09                     718        ADD     HL,BC\r
-    000004AF 18 12                  719        JR      ?0021\r
-    000004B1                        720 ?0019:\r
-    000004B1 46                     721        LD      B,(HL)\r
-    000004B2 23                     722        INC     HL\r
-    000004B3 66                     723        LD      H,(HL)\r
-    000004B4 68                     724        LD      L,B\r
-    000004B5 EB                     725        EX      DE,HL\r
-    000004B6                        726 ?0022:\r
-    000004B6 21 08 00               727        LD      HL,8\r
-    000004B9 19                     728        ADD     HL,DE\r
-    000004BA 7E                     729        LD      A,(HL)\r
-    000004BB 23                     730        INC     HL\r
-    000004BC B6                     731        OR      (HL)\r
-    000004BD 21 08 00               732        LD      HL,8\r
-    000004C0 19                     733        ADD     HL,DE\r
-    000004C1 20 EE                  734        JR      NZ,?0019\r
-    000004C3                        735 ?0023:\r
-    000004C3                        736 ?0021:\r
-    000004C3 FD E5                  737        PUSH    IY\r
-    000004C5 C1                     738        POP     BC\r
-    000004C6 71                     739        LD      (HL),C\r
-    000004C7 23                     740        INC     HL\r
-    000004C8 70                     741        LD      (HL),B\r
-    000004C9                        742 ?0020:\r
-    000004C9 FD E1                  743        POP     IY\r
-    000004CB C3 00 00               744        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000004CE                        745 ?0447:\r
-    000004CE 3E 00                  746        LD      A,BYTE3 malloc\r
-    000004D0 21 00 00               747        LD      HL,LWRD malloc\r
-    000004D3 CD 00 00               748        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000004D6 E5                     749        PUSH    HL\r
-    000004D7 FD E1                  750        POP     IY\r
-    000004D9 C9                     751        RET\r
-    000004DA                        752 stringwidth:\r
-    000004DA FD E5                  753        PUSH    IY\r
-    000004DC DD E5                  754        PUSH    IX\r
-    000004DE C5                     755        PUSH    BC\r
-    000004DF D5                     756        PUSH    DE\r
-    000004E0 DD 21 00 00            757        LD      IX,0\r
-    000004E4 FD 21 00 00            758        LD      IY,0\r
-    000004E8                        759 ?0025:\r
-    000004E8 FD E5                  760        PUSH    IY\r
-    000004EA 21 02 00               761        LD      HL,2\r
-    000004ED 39                     762        ADD     HL,SP\r
-    000004EE 4E                     763        LD      C,(HL)\r
-    000004EF 23                     764        INC     HL\r
-    000004F0 46                     765        LD      B,(HL)\r
-    000004F1 E1                     766        POP     HL\r
-    000004F2 09                     767        ADD     HL,BC\r
-    000004F3 7E                     768        LD      A,(HL)\r
-    000004F4 B7                     769        OR      A\r
-    000004F5 28 50                  770        JR      Z,?0024\r
-    000004F7                        771 ?0026:\r
-    000004F7 FD E5                  772        PUSH    IY\r
-    000004F9 E1                     773        POP     HL\r
-    000004FA 09                     774        ADD     HL,BC\r
-    000004FB 5E                     775        LD      E,(HL)\r
-    000004FC CD 00 00               776        CALL    LWRD ?C_V_SWITCH_L06\r
-    000004FF 0A 00                  777        DEFW    10\r
-    00000501 21                     778        DEFB    33\r
-    00000502 2C                     779        DEFB    44\r
-    00000503 2E                     780        DEFB    46\r
-    00000504 31                     781        DEFB    49\r
-    00000505 49                     782        DEFB    73\r
-    00000506 69                     783        DEFB    105\r
-    00000507 6A                     784        DEFB    106\r
-    00000508 6B                     785        DEFB    107\r
-    00000509 6C                     786        DEFB    108\r
-    0000050A 72                     787        DEFB    114\r
-    0000050B 35 05                  788        DEFW    ?0032\r
-    0000050D 30 05                  789        DEFW    ?0031\r
-    0000050F 26 05                  790        DEFW    ?0029\r
-    00000511 30 05                  791        DEFW    ?0031\r
-    00000513 30 05                  792        DEFW    ?0031\r
-    00000515 21 05                  793        DEFW    ?0028\r
-    00000517 21 05                  794        DEFW    ?0028\r
-    00000519 2B 05                  795        DEFW    ?0030\r
-    0000051B 2B 05                  796        DEFW    ?0030\r
-    0000051D 2B 05                  797        DEFW    ?0030\r
-    0000051F 21 05                  798        DEFW    ?0028\r
-    00000521                        799 ?0028:\r
-    00000521 01 02 00               800        LD      BC,2\r
-    00000524 18 12                  801        JR      ?0331\r
-    00000526                        802 ?0029:\r
-    00000526 01 03 00               803        LD      BC,3\r
-    00000529 18 0D                  804        JR      ?0331\r
-    0000052B                        805 ?0030:\r
-    0000052B 01 04 00               806        LD      BC,4\r
-    0000052E 18 08                  807        JR      ?0331\r
-    00000530                        808 ?0031:\r
-    00000530 01 05 00               809        LD      BC,5\r
-    00000533 18 03                  810        JR      ?0331\r
-    00000535                        811 ?0032:\r
-    00000535 01 06 00               812        LD      BC,6\r
-    00000538                        813 ?0331:\r
-    00000538 DD 09                  814        ADD     IX,BC\r
-    0000053A                        815 ?0027:\r
-    0000053A 21 02 00               816        LD      HL,2\r
-    0000053D 39                     817        ADD     HL,SP\r
-    0000053E 4E                     818        LD      C,(HL)\r
-    0000053F 23                     819        INC     HL\r
-    00000540 46                     820        LD      B,(HL)\r
-    00000541 DD 09                  821        ADD     IX,BC\r
-    00000543 FD 23                  822        INC     IY\r
-    00000545 18 A1                  823        JR      ?0025\r
-    00000547                        824 ?0024:\r
-    00000547 DD E5                  825        PUSH    IX\r
-    00000549 E1                     826        POP     HL\r
-    0000054A F1                     827        POP     AF\r
-    0000054B F1                     828        POP     AF\r
-    0000054C DD E1                  829        POP     IX\r
-    0000054E FD E1                  830        POP     IY\r
-    00000550 C3 00 00               831        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    00000553                        832 stringheight:\r
-    00000553 CD 00 00               833        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00000556 7B                     834        LD      A,E\r
-    00000557 FE 80                  835        CP      128\r
-    00000559 30 06                  836        JR      NC,?0034\r
-    0000055B                        837 ?0033:\r
-    0000055B 21 07 00               838        LD      HL,7\r
-    0000055E 09                     839        ADD     HL,BC\r
-    0000055F 18 0C                  840        JR      ?0036\r
-    00000561                        841 ?0034:\r
-    00000561 FE CC                  842        CP      204\r
-    00000563 38 08                  843        JR      C,?0036\r
-    00000565 3E DF                  844        LD      A,223\r
-    00000567 BB                     845        CP      E\r
-    00000568 38 03                  846        JR      C,?0036\r
-    0000056A                        847 ?0038:\r
-    0000056A                        848 ?0037:\r
-    0000056A                        849 ?0035:\r
-    0000056A 69                     850        LD      L,C\r
-    0000056B 60                     851        LD      H,B\r
-    0000056C 23                     852        INC     HL\r
-    0000056D                        853 ?0036:\r
-    0000056D                        854 ?0039:\r
-    0000056D C3 00 00               855        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000570                        856 stringheight01:\r
-    00000570 CD 00 00               857        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00000573 01 00 00               858        LD      BC,0\r
-    00000576                        859 ?0415:\r
-    00000576 1A                     860        LD      A,(DE)\r
-    00000577 5F                     861        LD      E,A\r
-    00000578 3E 53                  862        LD      A,BYTE3 stringheight\r
-    0000057A 21 53 05               863        LD      HL,LWRD stringheight\r
-    0000057D CD 00 00               864        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000580 C3 00 00               865        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000583                        866 stringheight2:\r
-    00000583 CD 00 00               867        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00000586 01 05 00               868        LD      BC,5\r
-    00000589 C3 76 05               869        JP      LWRD ?0415\r
-    0000058C                        870 stringwidth0:\r
-    0000058C CD 00 00               871        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    0000058F 01 00 00               872        LD      BC,0\r
-    00000592                        873 ?0416:\r
-    00000592 3E DA                  874        LD      A,BYTE3 stringwidth\r
-    00000594 21 DA 04               875        LD      HL,LWRD stringwidth\r
-    00000597 CD 00 00               876        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000059A C3 00 00               877        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000059D                        878 stringwidth1:\r
-    0000059D CD 00 00               879        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    000005A0 01 02 00               880        LD      BC,2\r
-    000005A3 C3 92 05               881        JP      LWRD ?0416\r
-    000005A6                        882 stringwidth2:\r
-    000005A6 CD 00 00               883        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    000005A9 01 03 00               884        LD      BC,3\r
-    000005AC C3 92 05               885        JP      LWRD ?0416\r
-    000005AF                        886 Component_new:\r
-    000005AF CD 00 00               887        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000005B2 00 00                  888        DEFW    0\r
-    000005B4 FD E5                  889        PUSH    IY\r
-    000005B6 11 28 00               890        LD      DE,40\r
-    000005B9 CD CE 04               891        CALL    LWRD ?0447\r
-    000005BC 2A 00 00               892        LD      HL,(global)\r
-    000005BF 5E                     893        LD      E,(HL)\r
-    000005C0 23                     894        INC     HL\r
-    000005C1 56                     895        LD      D,(HL)\r
-    000005C2 13                     896        INC     DE\r
-    000005C3 72                     897        LD      (HL),D\r
-    000005C4 2B                     898        DEC     HL\r
-    000005C5 73                     899        LD      (HL),E\r
-    000005C6 FD E5                  900        PUSH    IY\r
-    000005C8 E1                     901        POP     HL\r
-    000005C9 73                     902        LD      (HL),E\r
-    000005CA 23                     903        INC     HL\r
-    000005CB 72                     904        LD      (HL),D\r
-    000005CC DD 6E 02               905        LD      L,(IX+2)\r
-    000005CF FD 75 02               906        LD      (IY+2),L\r
-    000005D2 DD 66 03               907        LD      H,(IX+3)\r
-    000005D5 FD 74 03               908        LD      (IY+3),H\r
-    000005D8 FD 71 04               909        LD      (IY+4),C\r
-    000005DB FD 70 05               910        LD      (IY+5),B\r
-    000005DE DD 6E 0A               911        LD      L,(IX+10)\r
-    000005E1 FD 75 06               912        LD      (IY+6),L\r
-    000005E4 DD 66 0B               913        LD      H,(IX+11)\r
-    000005E7 FD 74 07               914        LD      (IY+7),H\r
-    000005EA DD 6E 0C               915        LD      L,(IX+12)\r
-    000005ED FD 75 08               916        LD      (IY+8),L\r
-    000005F0 DD 66 0D               917        LD      H,(IX+13)\r
-    000005F3 FD 74 09               918        LD      (IY+9),H\r
-    000005F6 AF                     919        XOR     A\r
-    000005F7 FD 77 0A               920        LD      (IY+10),A\r
-    000005FA FD 77 0B               921        LD      (IY+11),A\r
-    000005FD FD 77 0C               922        LD      (IY+12),A\r
-    00000600 FD 77 0D               923        LD      (IY+13),A\r
-    00000603 FD 77 0E               924        LD      (IY+14),A\r
-    00000606 FD 77 0F               925        LD      (IY+15),A\r
-    00000609 FD 77 10               926        LD      (IY+16),A\r
-    0000060C FD 77 11               927        LD      (IY+17),A\r
-    0000060F FD 77 12               928        LD      (IY+18),A\r
-    00000612 FD 77 13               929        LD      (IY+19),A\r
-    00000615 FD 77 14               930        LD      (IY+20),A\r
-    00000618 FD 77 15               931        LD      (IY+21),A\r
-    0000061B FD 77 16               932        LD      (IY+22),A\r
-    0000061E FD 77 17               933        LD      (IY+23),A\r
-    00000621 FD 77 18               934        LD      (IY+24),A\r
-    00000624 FD 77 19               935        LD      (IY+25),A\r
-    00000627 FD 77 1A               936        LD      (IY+26),A\r
-    0000062A FD 77 1B               937        LD      (IY+27),A\r
-    0000062D FD 77 1C               938        LD      (IY+28),A\r
-    00000630 FD 77 1D               939        LD      (IY+29),A\r
-    00000633 FD 77 1E               940        LD      (IY+30),A\r
-    00000636 FD 77 1F               941        LD      (IY+31),A\r
-    00000639 FD 77 24               942        LD      (IY+36),A\r
-    0000063C FD 77 25               943        LD      (IY+37),A\r
-    0000063F FD 77 26               944        LD      (IY+38),A\r
-    00000642 FD 77 27               945        LD      (IY+39),A\r
-    00000645 FD 77 20               946        LD      (IY+32),A\r
-    00000648 FD 77 21               947        LD      (IY+33),A\r
-    0000064B FD 77 22               948        LD      (IY+34),A\r
-    0000064E FD 77 23               949        LD      (IY+35),A\r
-    00000651                        950 ?0418:\r
-    00000651 FD E5                  951        PUSH    IY\r
-    00000653 E1                     952        POP     HL\r
-    00000654 FD E1                  953        POP     IY\r
-    00000656 C3 00 00               954        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000659                        955 Component_setlabel:\r
-    00000659 CD 00 00               956        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000065C 00 00                  957        DEFW    0\r
-    0000065E FD E5                  958        PUSH    IY\r
-    00000660 DD 6E 02               959        LD      L,(IX+2)\r
-    00000663 DD 66 03               960        LD      H,(IX+3)\r
-    00000666 E5                     961        PUSH    HL\r
-    00000667 FD E1                  962        POP     IY\r
-    00000669 11 00 00               963        LD      DE,0\r
-    0000066C                        964 ?0041:\r
-    0000066C DD 6E 04               965        LD      L,(IX+4)\r
-    0000066F DD 66 05               966        LD      H,(IX+5)\r
-    00000672 19                     967        ADD     HL,DE\r
-    00000673 7E                     968        LD      A,(HL)\r
-    00000674 B7                     969        OR      A\r
-    00000675 28 21                  970        JR      Z,?0040\r
-    00000677 01 14 80               971        LD      BC,32788\r
-    0000067A 6B                     972        LD      L,E\r
-    0000067B 62                     973        LD      H,D\r
-    0000067C 78                     974        LD      A,B\r
-    0000067D AC                     975        XOR     H\r
-    0000067E 67                     976        LD      H,A\r
-    0000067F ED 42                  977        SBC     HL,BC\r
-    00000681 30 15                  978        JR      NC,?0040\r
-    00000683                        979 ?0044:\r
-    00000683                        980 ?0043:\r
-    00000683                        981 ?0042:\r
-    00000683 FD 6E 20               982        LD      L,(IY+32)\r
-    00000686 FD 66 21               983        LD      H,(IY+33)\r
-    00000689 19                     984        ADD     HL,DE\r
-    0000068A E5                     985        PUSH    HL\r
-    0000068B DD 6E 04               986        LD      L,(IX+4)\r
-    0000068E DD 66 05               987        LD      H,(IX+5)\r
-    00000691 19                     988        ADD     HL,DE\r
-    00000692 46                     989        LD      B,(HL)\r
-    00000693 E1                     990        POP     HL\r
-    00000694 70                     991        LD      (HL),B\r
-    00000695 13                     992        INC     DE\r
-    00000696 18 D4                  993        JR      ?0041\r
-    00000698                        994 ?0040:\r
-    00000698 FD 6E 20               995        LD      L,(IY+32)\r
-    0000069B FD 66 21               996        LD      H,(IY+33)\r
-    0000069E 19                     997        ADD     HL,DE\r
-    0000069F 36 00                  998        LD      (HL),0\r
-    000006A1 FD E1                  999        POP     IY\r
-    000006A3 C3 00 00              1000        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000006A6                       1001 Component_add:\r
-    000006A6 CD 00 00              1002        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000006A9 00 00                 1003        DEFW    0\r
-    000006AB FD E5                 1004        PUSH    IY\r
-    000006AD 59                    1005        LD      E,C\r
-    000006AE 50                    1006        LD      D,B\r
-    000006AF 21 15 00              1007        LD      HL,21\r
-    000006B2 DD 4E 02              1008        LD      C,(IX+2)\r
-    000006B5 DD 46 03              1009        LD      B,(IX+3)\r
-    000006B8 09                    1010        ADD     HL,BC\r
-    000006B9 7E                    1011        LD      A,(HL)\r
-    000006BA 23                    1012        INC     HL\r
-    000006BB 66                    1013        LD      H,(HL)\r
-    000006BC 6F                    1014        LD      L,A\r
-    000006BD E5                    1015        PUSH    HL\r
-    000006BE FD E1                 1016        POP     IY\r
-    000006C0 21 15 00              1017        LD      HL,21\r
-    000006C3 09                    1018        ADD     HL,BC\r
-    000006C4 7E                    1019        LD      A,(HL)\r
-    000006C5 23                    1020        INC     HL\r
-    000006C6 B6                    1021        OR      (HL)\r
-    000006C7 20 09                 1022        JR      NZ,?0046\r
-    000006C9                       1023 ?0045:\r
-    000006C9 21 15 00              1024        LD      HL,21\r
-    000006CC 09                    1025        ADD     HL,BC\r
-    000006CD 73                    1026        LD      (HL),E\r
-    000006CE 23                    1027        INC     HL\r
-    000006CF 72                    1028        LD      (HL),D\r
-    000006D0 18 19                 1029        JR      ?0335\r
-    000006D2                       1030 ?0046:\r
-    000006D2                       1031 ?0049:\r
-    000006D2 FD 7E 13              1032        LD      A,(IY+19)\r
-    000006D5 FD B6 14              1033        OR      (IY+20)\r
-    000006D8 28 0B                 1034        JR      Z,?0048\r
-    000006DA                       1035 ?0050:\r
-    000006DA FD 6E 13              1036        LD      L,(IY+19)\r
-    000006DD FD 66 14              1037        LD      H,(IY+20)\r
-    000006E0 E5                    1038        PUSH    HL\r
-    000006E1 FD E1                 1039        POP     IY\r
-    000006E3 18 ED                 1040        JR      ?0046\r
-    000006E5                       1041 ?0048:\r
-    000006E5 FD 73 13              1042        LD      (IY+19),E\r
-    000006E8 FD 72 14              1043        LD      (IY+20),D\r
-    000006EB                       1044 ?0335:\r
-    000006EB 21 13 00              1045        LD      HL,19\r
-    000006EE 19                    1046        ADD     HL,DE\r
-    000006EF 77                    1047        LD      (HL),A\r
-    000006F0 23                    1048        INC     HL\r
-    000006F1 77                    1049        LD      (HL),A\r
-    000006F2                       1050 ?0047:\r
-    000006F2 21 11 00              1051        LD      HL,17\r
-    000006F5 19                    1052        ADD     HL,DE\r
-    000006F6 DD 4E 02              1053        LD      C,(IX+2)\r
-    000006F9 71                    1054        LD      (HL),C\r
-    000006FA DD 46 03              1055        LD      B,(IX+3)\r
-    000006FD 23                    1056        INC     HL\r
-    000006FE 70                    1057        LD      (HL),B\r
-    000006FF FD E1                 1058        POP     IY\r
-    00000701 C3 00 00              1059        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000704                       1060 Component_paint:\r
-    00000704 C5                    1061        PUSH    BC\r
-    00000705 FD E5                 1062        PUSH    IY\r
-    00000707 DD E5                 1063        PUSH    IX\r
-    00000709 21 15 00              1064        LD      HL,21\r
-    0000070C 19                    1065        ADD     HL,DE\r
-    0000070D 46                    1066        LD      B,(HL)\r
-    0000070E 23                    1067        INC     HL\r
-    0000070F 66                    1068        LD      H,(HL)\r
-    00000710 68                    1069        LD      L,B\r
-    00000711 E5                    1070        PUSH    HL\r
-    00000712 DD E1                 1071        POP     IX\r
-    00000714 CD 40 07              1072        CALL    LWRD ?0477\r
-    00000717                       1073 ?0052:\r
-    00000717 DD E5                 1074        PUSH    IX\r
-    00000719 E1                    1075        POP     HL\r
-    0000071A 7D                    1076        LD      A,L\r
-    0000071B B4                    1077        OR      H\r
-    0000071C 28 1A                 1078        JR      Z,?0051\r
-    0000071E                       1079 ?0053:\r
-    0000071E DD E5                 1080        PUSH    IX\r
-    00000720 D1                    1081        POP     DE\r
-    00000721 DD 7E 1C              1082        LD      A,(IX+28)\r
-    00000724 DD 6E 1A              1083        LD      L,(IX+26)\r
-    00000727 DD 66 1B              1084        LD      H,(IX+27)\r
-    0000072A CD 00 00              1085        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000072D DD 6E 13              1086        LD      L,(IX+19)\r
-    00000730 DD 66 14              1087        LD      H,(IX+20)\r
-    00000733 E5                    1088        PUSH    HL\r
-    00000734 DD E1                 1089        POP     IX\r
-    00000736 18 DF                 1090        JR      ?0052\r
-    00000738                       1091 ?0051:\r
-    00000738 1E 01                 1092        LD      E,1\r
-    0000073A CD 42 07              1093        CALL    LWRD ?0478\r
-    0000073D C3 5E 02              1094        JP      LWRD ?0411\r
-    00000740                       1095 ?0477:\r
-    00000740 1E 00                 1096        LD      E,0\r
-    00000742                       1097 ?0478:\r
-    00000742 3E FA                 1098        LD      A,BYTE3 EnableScreen\r
-    00000744 21 FA 02              1099        LD      HL,LWRD EnableScreen\r
-    00000747 C3 00 00              1100        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000074A                       1101 Component_findXY:\r
-    0000074A CD 00 00              1102        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000074D 00 00                 1103        DEFW    0\r
-    0000074F FD E5                 1104        PUSH    IY\r
-    00000751 DD 6E 02              1105        LD      L,(IX+2)\r
-    00000754 DD 66 03              1106        LD      H,(IX+3)\r
-    00000757 E5                    1107        PUSH    HL\r
-    00000758 FD E1                 1108        POP     IY\r
-    0000075A                       1109 ?0056:\r
-    0000075A DD 6E 04              1110        LD      L,(IX+4)\r
-    0000075D DD 66 05              1111        LD      H,(IX+5)\r
-    00000760 7E                    1112        LD      A,(HL)\r
-    00000761 FD 86 02              1113        ADD     A,(IY+2)\r
-    00000764 77                    1114        LD      (HL),A\r
-    00000765 23                    1115        INC     HL\r
-    00000766 7E                    1116        LD      A,(HL)\r
-    00000767 FD 8E 03              1117        ADC     A,(IY+3)\r
-    0000076A 77                    1118        LD      (HL),A\r
-    0000076B DD 6E 0A              1119        LD      L,(IX+10)\r
-    0000076E DD 66 0B              1120        LD      H,(IX+11)\r
-    00000771 7E                    1121        LD      A,(HL)\r
-    00000772 FD 86 04              1122        ADD     A,(IY+4)\r
-    00000775 77                    1123        LD      (HL),A\r
-    00000776 23                    1124        INC     HL\r
-    00000777 7E                    1125        LD      A,(HL)\r
-    00000778 FD 8E 05              1126        ADC     A,(IY+5)\r
-    0000077B 77                    1127        LD      (HL),A\r
-    0000077C FD 6E 11              1128        LD      L,(IY+17)\r
-    0000077F FD 66 12              1129        LD      H,(IY+18)\r
-    00000782 E5                    1130        PUSH    HL\r
-    00000783 FD E1                 1131        POP     IY\r
-    00000785 7D                    1132        LD      A,L\r
-    00000786 B4                    1133        OR      H\r
-    00000787 20 D1                 1134        JR      NZ,?0056\r
-    00000789                       1135 ?0054:\r
-    00000789 FD E1                 1136        POP     IY\r
-    0000078B C3 00 00              1137        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000078E                       1138 Component_find:\r
-    0000078E CD 00 00              1139        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000791 00 00                 1140        DEFW    0\r
-    00000793 21 15 00              1141        LD      HL,21\r
-    00000796 DD 4E 02              1142        LD      C,(IX+2)\r
-    00000799 DD 46 03              1143        LD      B,(IX+3)\r
-    0000079C 09                    1144        ADD     HL,BC\r
-    0000079D                       1145 ?0336:\r
-    0000079D 46                    1146        LD      B,(HL)\r
-    0000079E 23                    1147        INC     HL\r
-    0000079F 66                    1148        LD      H,(HL)\r
-    000007A0 68                    1149        LD      L,B\r
-    000007A1 EB                    1150        EX      DE,HL\r
-    000007A2                       1151 ?0058:\r
-    000007A2 7B                    1152        LD      A,E\r
-    000007A3 B2                    1153        OR      D\r
-    000007A4 28 1B                 1154        JR      Z,?0057\r
-    000007A6                       1155 ?0059:\r
-    000007A6 21 10 00              1156        LD      HL,16\r
-    000007A9 19                    1157        ADD     HL,DE\r
-    000007AA 4E                    1158        LD      C,(HL)\r
-    000007AB 06 00                 1159        LD      B,0\r
-    000007AD DD 6E 04              1160        LD      L,(IX+4)\r
-    000007B0 DD 66 05              1161        LD      H,(IX+5)\r
-    000007B3 A7                    1162        AND     A\r
-    000007B4 ED 42                 1163        SBC     HL,BC\r
-    000007B6 20 03                 1164        JR      NZ,?0061\r
-    000007B8                       1165 ?0060:\r
-    000007B8 EB                    1166        EX      DE,HL\r
-    000007B9 18 08                 1167        JR      ?0062\r
-    000007BB                       1168 ?0061:\r
-    000007BB 21 13 00              1169        LD      HL,19\r
-    000007BE 19                    1170        ADD     HL,DE\r
-    000007BF 18 DC                 1171        JR      ?0336\r
-    000007C1                       1172 ?0057:\r
-    000007C1 6F                    1173        LD      L,A\r
-    000007C2 67                    1174        LD      H,A\r
-    000007C3                       1175 ?0062:\r
-    000007C3 C3 00 00              1176        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000007C6                       1177 Component_delete:\r
-    000007C6 CD 00 00              1178        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000007C9 F8 FF                 1179        DEFW    65528\r
-    000007CB FD E5                 1180        PUSH    IY\r
-    000007CD DD 6E 02              1181        LD      L,(IX+2)\r
-    000007D0 DD 66 03              1182        LD      H,(IX+3)\r
-    000007D3 E5                    1183        PUSH    HL\r
-    000007D4 FD E1                 1184        POP     IY\r
-    000007D6 FD 6E 15              1185        LD      L,(IY+21)\r
-    000007D9 DD 75 F8              1186        LD      (IX-8),L\r
-    000007DC FD 66 16              1187        LD      H,(IY+22)\r
-    000007DF DD 74 F9              1188        LD      (IX-7),H\r
-    000007E2 FD E5                 1189        PUSH    IY\r
-    000007E4 E1                    1190        POP     HL\r
-    000007E5 7D                    1191        LD      A,L\r
-    000007E6 B4                    1192        OR      H\r
-    000007E7 CA 79 09              1193        JP      Z,?0064\r
-    000007EA                       1194 ?0063:\r
-    000007EA                       1195 ?0066:\r
-    000007EA DD 7E F8              1196        LD      A,(IX-8)\r
-    000007ED DD B6 F9              1197        OR      (IX-7)\r
-    000007F0 28 11                 1198        JR      Z,?0065\r
-    000007F2                       1199 ?0067:\r
-    000007F2 DD 5E F8              1200        LD      E,(IX-8)\r
-    000007F5 DD 56 F9              1201        LD      D,(IX-7)\r
-    000007F8 CD 8F 09              1202        CALL    LWRD ?0453\r
-    000007FB DD 75 F8              1203        LD      (IX-8),L\r
-    000007FE DD 74 F9              1204        LD      (IX-7),H\r
-    00000801 18 E7                 1205        JR      ?0063\r
-    00000803                       1206 ?0065:\r
-    00000803 FD 7E 11              1207        LD      A,(IY+17)\r
-    00000806 FD B6 12              1208        OR      (IY+18)\r
-    00000809 CA 95 08              1209        JP      Z,?0079\r
-    0000080C                       1210 ?0068:\r
-    0000080C FD 6E 11              1211        LD      L,(IY+17)\r
-    0000080F FD 66 12              1212        LD      H,(IY+18)\r
-    00000812 01 15 00              1213        LD      BC,21\r
-    00000815 09                    1214        ADD     HL,BC\r
-    00000816 46                    1215        LD      B,(HL)\r
-    00000817 23                    1216        INC     HL\r
-    00000818 66                    1217        LD      H,(HL)\r
-    00000819 68                    1218        LD      L,B\r
-    0000081A FD E5                 1219        PUSH    IY\r
-    0000081C C1                    1220        POP     BC\r
-    0000081D A7                    1221        AND     A\r
-    0000081E ED 42                 1222        SBC     HL,BC\r
-    00000820 FD 6E 11              1223        LD      L,(IY+17)\r
-    00000823 FD 66 12              1224        LD      H,(IY+18)\r
-    00000826 01 15 00              1225        LD      BC,21\r
-    00000829 09                    1226        ADD     HL,BC\r
-    0000082A 20 09                 1227        JR      NZ,?0071\r
-    0000082C                       1228 ?0070:\r
-    0000082C E5                    1229        PUSH    HL\r
-    0000082D FD 6E 11              1230        LD      L,(IY+17)\r
-    00000830 FD 66 12              1231        LD      H,(IY+18)\r
-    00000833 18 50                 1232        JR      ?0339\r
-    00000835                       1233 ?0071:\r
-    00000835 46                    1234        LD      B,(HL)\r
-    00000836 23                    1235        INC     HL\r
-    00000837 66                    1236        LD      H,(HL)\r
-    00000838 68                    1237        LD      L,B\r
-    00000839                       1238 ?0338:\r
-    00000839 DD 75 F8              1239        LD      (IX-8),L\r
-    0000083C DD 74 F9              1240        LD      (IX-7),H\r
-    0000083F                       1241 ?0074:\r
-    0000083F 21 13 00              1242        LD      HL,19\r
-    00000842 DD 4E F8              1243        LD      C,(IX-8)\r
-    00000845 DD 46 F9              1244        LD      B,(IX-7)\r
-    00000848 09                    1245        ADD     HL,BC\r
-    00000849 46                    1246        LD      B,(HL)\r
-    0000084A 23                    1247        INC     HL\r
-    0000084B 66                    1248        LD      H,(HL)\r
-    0000084C 68                    1249        LD      L,B\r
-    0000084D FD E5                 1250        PUSH    IY\r
-    0000084F C1                    1251        POP     BC\r
-    00000850 A7                    1252        AND     A\r
-    00000851 ED 42                 1253        SBC     HL,BC\r
-    00000853 28 19                 1254        JR      Z,?0073\r
-    00000855 21 13 00              1255        LD      HL,19\r
-    00000858 DD 4E F8              1256        LD      C,(IX-8)\r
-    0000085B DD 46 F9              1257        LD      B,(IX-7)\r
-    0000085E 09                    1258        ADD     HL,BC\r
-    0000085F 7E                    1259        LD      A,(HL)\r
-    00000860 23                    1260        INC     HL\r
-    00000861 B6                    1261        OR      (HL)\r
-    00000862 28 0A                 1262        JR      Z,?0073\r
-    00000864                       1263 ?0077:\r
-    00000864                       1264 ?0076:\r
-    00000864                       1265 ?0075:\r
-    00000864 21 13 00              1266        LD      HL,19\r
-    00000867 09                    1267        ADD     HL,BC\r
-    00000868 56                    1268        LD      D,(HL)\r
-    00000869 23                    1269        INC     HL\r
-    0000086A 66                    1270        LD      H,(HL)\r
-    0000086B 6A                    1271        LD      L,D\r
-    0000086C 18 CB                 1272        JR      ?0338\r
-    0000086E                       1273 ?0073:\r
-    0000086E 21 13 00              1274        LD      HL,19\r
-    00000871 DD 4E F8              1275        LD      C,(IX-8)\r
-    00000874 DD 46 F9              1276        LD      B,(IX-7)\r
-    00000877 09                    1277        ADD     HL,BC\r
-    00000878 7E                    1278        LD      A,(HL)\r
-    00000879 23                    1279        INC     HL\r
-    0000087A B6                    1280        OR      (HL)\r
-    0000087B 28 18                 1281        JR      Z,?0079\r
-    0000087D                       1282 ?0078:\r
-    0000087D 21 13 00              1283        LD      HL,19\r
-    00000880 09                    1284        ADD     HL,BC\r
-    00000881 E5                    1285        PUSH    HL\r
-    00000882 21 13 00              1286        LD      HL,19\r
-    00000885                       1287 ?0339:\r
-    00000885 09                    1288        ADD     HL,BC\r
-    00000886 46                    1289        LD      B,(HL)\r
-    00000887 23                    1290        INC     HL\r
-    00000888 66                    1291        LD      H,(HL)\r
-    00000889 68                    1292        LD      L,B\r
-    0000088A 01 13 00              1293        LD      BC,19\r
-    0000088D 09                    1294        ADD     HL,BC\r
-    0000088E 4E                    1295        LD      C,(HL)\r
-    0000088F 23                    1296        INC     HL\r
-    00000890 46                    1297        LD      B,(HL)\r
-    00000891 E1                    1298        POP     HL\r
-    00000892 71                    1299        LD      (HL),C\r
-    00000893 23                    1300        INC     HL\r
-    00000894 70                    1301        LD      (HL),B\r
-    00000895                       1302 ?0079:\r
-    00000895                       1303 ?0072:\r
-    00000895                       1304 ?0069:\r
-    00000895 FD 6E 13              1305        LD      L,(IY+19)\r
-    00000898 DD 75 F8              1306        LD      (IX-8),L\r
-    0000089B FD 66 14              1307        LD      H,(IY+20)\r
-    0000089E DD 74 F9              1308        LD      (IX-7),H\r
-    000008A1 3E 04                 1309        LD      A,4\r
-    000008A3 FD AE 24              1310        XOR     (IY+36)\r
-    000008A6 FD B6 25              1311        OR      (IY+37)\r
-    000008A9 C2 45 09              1312        JP      NZ,?0088\r
-    000008AC                       1313 ?0080:\r
-    000008AC FD 6E 11              1314        LD      L,(IY+17)\r
-    000008AF DD 75 FC              1315        LD      (IX-4),L\r
-    000008B2 FD 66 12              1316        LD      H,(IY+18)\r
-    000008B5 DD 74 FD              1317        LD      (IX-3),H\r
-    000008B8 FD 6E 26              1318        LD      L,(IY+38)\r
-    000008BB DD 75 FE              1319        LD      (IX-2),L\r
-    000008BE FD 66 27              1320        LD      H,(IY+39)\r
-    000008C1 DD 74 FF              1321        LD      (IX-1),H\r
-    000008C4 CD 84 09              1322        CALL    LWRD ?0451\r
-    000008C7 DD 6E FE              1323        LD      L,(IX-2)\r
-    000008CA DD 66 FF              1324        LD      H,(IX-1)\r
-    000008CD 23                    1325        INC     HL\r
-    000008CE 23                    1326        INC     HL\r
-    000008CF CD 84 09              1327        CALL    LWRD ?0451\r
-    000008D2                       1328 ?0083:\r
-    000008D2 DD 7E FC              1329        LD      A,(IX-4)\r
-    000008D5 DD B6 FD              1330        OR      (IX-3)\r
-    000008D8 28 20                 1331        JR      Z,?0082\r
-    000008DA 21 24 00              1332        LD      HL,36\r
-    000008DD DD 4E FC              1333        LD      C,(IX-4)\r
-    000008E0 DD 46 FD              1334        LD      B,(IX-3)\r
-    000008E3 09                    1335        ADD     HL,BC\r
-    000008E4 3E 04                 1336        LD      A,4\r
-    000008E6 AE                    1337        XOR     (HL)\r
-    000008E7 23                    1338        INC     HL\r
-    000008E8 B6                    1339        OR      (HL)\r
-    000008E9 28 0F                 1340        JR      Z,?0082\r
-    000008EB                       1341 ?0086:\r
-    000008EB                       1342 ?0085:\r
-    000008EB                       1343 ?0084:\r
-    000008EB 21 11 00              1344        LD      HL,17\r
-    000008EE 09                    1345        ADD     HL,BC\r
-    000008EF 56                    1346        LD      D,(HL)\r
-    000008F0 DD 72 FC              1347        LD      (IX-4),D\r
-    000008F3 23                    1348        INC     HL\r
-    000008F4 66                    1349        LD      H,(HL)\r
-    000008F5 DD 74 FD              1350        LD      (IX-3),H\r
-    000008F8 18 D8                 1351        JR      ?0083\r
-    000008FA                       1352 ?0082:\r
-    000008FA DD 7E FC              1353        LD      A,(IX-4)\r
-    000008FD DD B6 FD              1354        OR      (IX-3)\r
-    00000900 28 43                 1355        JR      Z,?0088\r
-    00000902                       1356 ?0087:\r
-    00000902 21 26 00              1357        LD      HL,38\r
-    00000905 DD 4E FC              1358        LD      C,(IX-4)\r
-    00000908 DD 46 FD              1359        LD      B,(IX-3)\r
-    0000090B 09                    1360        ADD     HL,BC\r
-    0000090C 46                    1361        LD      B,(HL)\r
-    0000090D DD 70 FE              1362        LD      (IX-2),B\r
-    00000910 23                    1363        INC     HL\r
-    00000911 66                    1364        LD      H,(HL)\r
-    00000912 DD 74 FF              1365        LD      (IX-1),H\r
-    00000915 21 06 00              1366        LD      HL,6\r
-    00000918 ED 4B 00 00           1367        LD      BC,(global)\r
-    0000091C 09                    1368        ADD     HL,BC\r
-    0000091D E5                    1369        PUSH    HL\r
-    0000091E DD 6E FE              1370        LD      L,(IX-2)\r
-    00000921 DD 66 FF              1371        LD      H,(IX-1)\r
-    00000924 5E                    1372        LD      E,(HL)\r
-    00000925 23                    1373        INC     HL\r
-    00000926 56                    1374        LD      D,(HL)\r
-    00000927 E1                    1375        POP     HL\r
-    00000928 73                    1376        LD      (HL),E\r
-    00000929 23                    1377        INC     HL\r
-    0000092A 72                    1378        LD      (HL),D\r
-    0000092B 21 08 00              1379        LD      HL,8\r
-    0000092E ED 4B 00 00           1380        LD      BC,(global)\r
-    00000932 09                    1381        ADD     HL,BC\r
-    00000933 E5                    1382        PUSH    HL\r
-    00000934 DD 4E FE              1383        LD      C,(IX-2)\r
-    00000937 DD 46 FF              1384        LD      B,(IX-1)\r
-    0000093A 03                    1385        INC     BC\r
-    0000093B 03                    1386        INC     BC\r
-    0000093C 69                    1387        LD      L,C\r
-    0000093D 60                    1388        LD      H,B\r
-    0000093E 4E                    1389        LD      C,(HL)\r
-    0000093F 23                    1390        INC     HL\r
-    00000940 46                    1391        LD      B,(HL)\r
-    00000941 E1                    1392        POP     HL\r
-    00000942 71                    1393        LD      (HL),C\r
-    00000943 23                    1394        INC     HL\r
-    00000944 70                    1395        LD      (HL),B\r
-    00000945                       1396 ?0088:\r
-    00000945                       1397 ?0081:\r
-    00000945 FD 4E 24              1398        LD      C,(IY+36)\r
-    00000948 FD 46 25              1399        LD      B,(IY+37)\r
-    0000094B 21 00 00              1400        LD      HL,0\r
-    0000094E CD 00 00              1401        CALL    LWRD ?SS_CMP_L02\r
-    00000951 30 09                 1402        JR      NC,?0090\r
-    00000953                       1403 ?0089:\r
-    00000953 FD 5E 26              1404        LD      E,(IY+38)\r
-    00000956 FD 56 27              1405        LD      D,(IY+39)\r
-    00000959 CD 87 09              1406        CALL    LWRD ?0452\r
-    0000095C                       1407 ?0090:\r
-    0000095C FD CB 0B 76           1408        BIT     6,(IY+11)\r
-    00000960 20 11                 1409        JR      NZ,?0092\r
-    00000962 FD 7E 20              1410        LD      A,(IY+32)\r
-    00000965 FD B6 21              1411        OR      (IY+33)\r
-    00000968 28 09                 1412        JR      Z,?0092\r
-    0000096A                       1413 ?0094:\r
-    0000096A                       1414 ?0093:\r
-    0000096A                       1415 ?0091:\r
-    0000096A FD 5E 20              1416        LD      E,(IY+32)\r
-    0000096D FD 56 21              1417        LD      D,(IY+33)\r
-    00000970 CD 87 09              1418        CALL    LWRD ?0452\r
-    00000973                       1419 ?0092:\r
-    00000973 FD E5                 1420        PUSH    IY\r
-    00000975 D1                    1421        POP     DE\r
-    00000976 CD 87 09              1422        CALL    LWRD ?0452\r
-    00000979                       1423 ?0064:\r
-    00000979 DD 6E F8              1424        LD      L,(IX-8)\r
-    0000097C DD 66 F9              1425        LD      H,(IX-7)\r
-    0000097F FD E1                 1426        POP     IY\r
-    00000981 C3 00 00              1427        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000984                       1428 ?0451:\r
-    00000984 5E                    1429        LD      E,(HL)\r
-    00000985 23                    1430        INC     HL\r
-    00000986 56                    1431        LD      D,(HL)\r
-    00000987                       1432 ?0452:\r
-    00000987 3E 00                 1433        LD      A,BYTE3 free\r
-    00000989 21 00 00              1434        LD      HL,LWRD free\r
-    0000098C C3 00 00              1435        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000098F                       1436 ?0453:\r
-    0000098F 3E C6                 1437        LD      A,BYTE3 Component_delete\r
-    00000991 21 C6 07              1438        LD      HL,LWRD Component_delete\r
-    00000994 C3 00 00              1439        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000997                       1440 Component_delete_children:\r
-    00000997 C5                    1441        PUSH    BC\r
-    00000998 FD E5                 1442        PUSH    IY\r
-    0000099A DD E5                 1443        PUSH    IX\r
-    0000099C 21 15 00              1444        LD      HL,21\r
-    0000099F 19                    1445        ADD     HL,DE\r
-    000009A0 46                    1446        LD      B,(HL)\r
-    000009A1 23                    1447        INC     HL\r
-    000009A2 66                    1448        LD      H,(HL)\r
-    000009A3 68                    1449        LD      L,B\r
-    000009A4                       1450 ?0341:\r
-    000009A4 E5                    1451        PUSH    HL\r
-    000009A5 DD E1                 1452        POP     IX\r
-    000009A7                       1453 ?0096:\r
-    000009A7 7D                    1454        LD      A,L\r
-    000009A8 B4                    1455        OR      H\r
-    000009A9 28 08                 1456        JR      Z,?0095\r
-    000009AB                       1457 ?0097:\r
-    000009AB DD E5                 1458        PUSH    IX\r
-    000009AD D1                    1459        POP     DE\r
-    000009AE CD 8F 09              1460        CALL    LWRD ?0453\r
-    000009B1 18 F1                 1461        JR      ?0341\r
-    000009B3                       1462 ?0095:\r
-    000009B3 C3 5E 02              1463        JP      LWRD ?0411\r
-    000009B6                       1464 Component_changestate_children:\r
-    000009B6 CD 00 00              1465        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000009B9 00 00                 1466        DEFW    0\r
-    000009BB FD E5                 1467        PUSH    IY\r
-    000009BD 21 15 00              1468        LD      HL,21\r
-    000009C0 DD 5E 02              1469        LD      E,(IX+2)\r
-    000009C3 DD 56 03              1470        LD      D,(IX+3)\r
-    000009C6 19                    1471        ADD     HL,DE\r
-    000009C7                       1472 ?0342:\r
-    000009C7 56                    1473        LD      D,(HL)\r
-    000009C8 23                    1474        INC     HL\r
-    000009C9 66                    1475        LD      H,(HL)\r
-    000009CA 6A                    1476        LD      L,D\r
-    000009CB E5                    1477        PUSH    HL\r
-    000009CC FD E1                 1478        POP     IY\r
-    000009CE                       1479 ?0099:\r
-    000009CE 7D                    1480        LD      A,L\r
-    000009CF B4                    1481        OR      H\r
-    000009D0 28 3D                 1482        JR      Z,?0098\r
-    000009D2                       1483 ?0100:\r
-    000009D2 21 0A 00              1484        LD      HL,10\r
-    000009D5 FD E5                 1485        PUSH    IY\r
-    000009D7 C1                    1486        POP     BC\r
-    000009D8 09                    1487        ADD     HL,BC\r
-    000009D9 DD 7E 04              1488        LD      A,(IX+4)\r
-    000009DC DD 56 05              1489        LD      D,(IX+5)\r
-    000009DF 2F                    1490        CPL\r
-    000009E0 5F                    1491        LD      E,A\r
-    000009E1 7A                    1492        LD      A,D\r
-    000009E2 2F                    1493        CPL\r
-    000009E3 57                    1494        LD      D,A\r
-    000009E4 7E                    1495        LD      A,(HL)\r
-    000009E5 A3                    1496        AND     E\r
-    000009E6 77                    1497        LD      (HL),A\r
-    000009E7 23                    1498        INC     HL\r
-    000009E8 7E                    1499        LD      A,(HL)\r
-    000009E9 A2                    1500        AND     D\r
-    000009EA 77                    1501        LD      (HL),A\r
-    000009EB 21 0A 00              1502        LD      HL,10\r
-    000009EE 09                    1503        ADD     HL,BC\r
-    000009EF 7E                    1504        LD      A,(HL)\r
-    000009F0 DD B6 0A              1505        OR      (IX+10)\r
-    000009F3 77                    1506        LD      (HL),A\r
-    000009F4 23                    1507        INC     HL\r
-    000009F5 7E                    1508        LD      A,(HL)\r
-    000009F6 DD B6 0B              1509        OR      (IX+11)\r
-    000009F9 77                    1510        LD      (HL),A\r
-    000009FA 21 0A 00              1511        LD      HL,10\r
-    000009FD 09                    1512        ADD     HL,BC\r
-    000009FE 7E                    1513        LD      A,(HL)\r
-    000009FF DD AE 0C              1514        XOR     (IX+12)\r
-    00000A02 77                    1515        LD      (HL),A\r
-    00000A03 23                    1516        INC     HL\r
-    00000A04 7E                    1517        LD      A,(HL)\r
-    00000A05 DD AE 0D              1518        XOR     (IX+13)\r
-    00000A08 77                    1519        LD      (HL),A\r
-    00000A09 21 13 00              1520        LD      HL,19\r
-    00000A0C 09                    1521        ADD     HL,BC\r
-    00000A0D 18 B8                 1522        JR      ?0342\r
-    00000A0F                       1523 ?0098:\r
-    00000A0F 11 00 00              1524        LD      DE,stdout\r
-    00000A12 3E 00                 1525        LD      A,BYTE3 fflush\r
-    00000A14 21 00 00              1526        LD      HL,LWRD fflush\r
-    00000A17 CD 00 00              1527        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000A1A FD E1                 1528        POP     IY\r
-    00000A1C C3 00 00              1529        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000A1F                       1530 Component_linkstringtable:\r
-    00000A1F C5                    1531        PUSH    BC\r
-    00000A20 FD E5                 1532        PUSH    IY\r
-    00000A22 DD E5                 1533        PUSH    IX\r
-    00000A24 D5                    1534        PUSH    DE\r
-    00000A25 DD E1                 1535        POP     IX\r
-    00000A27 21 15 00              1536        LD      HL,21\r
-    00000A2A 19                    1537        ADD     HL,DE\r
-    00000A2B 46                    1538        LD      B,(HL)\r
-    00000A2C 23                    1539        INC     HL\r
-    00000A2D 66                    1540        LD      H,(HL)\r
-    00000A2E 68                    1541        LD      L,B\r
-    00000A2F E5                    1542        PUSH    HL\r
-    00000A30 FD E1                 1543        POP     IY\r
-    00000A32 21 20 00              1544        LD      HL,32\r
-    00000A35 19                    1545        ADD     HL,DE\r
-    00000A36 46                    1546        LD      B,(HL)\r
-    00000A37 23                    1547        INC     HL\r
-    00000A38 66                    1548        LD      H,(HL)\r
-    00000A39 68                    1549        LD      L,B\r
-    00000A3A 01 00 90              1550        LD      BC,36864\r
-    00000A3D 3E 80                 1551        LD      A,128\r
-    00000A3F AC                    1552        XOR     H\r
-    00000A40 67                    1553        LD      H,A\r
-    00000A41 ED 42                 1554        SBC     HL,BC\r
-    00000A43 30 2E                 1555        JR      NC,?0102\r
-    00000A45 DD 4E 20              1556        LD      C,(IX+32)\r
-    00000A48 DD 46 21              1557        LD      B,(IX+33)\r
-    00000A4B 21 00 00              1558        LD      HL,0\r
-    00000A4E CD 00 00              1559        CALL    LWRD ?SS_CMP_L02\r
-    00000A51 30 20                 1560        JR      NC,?0102\r
-    00000A53                       1561 ?0104:\r
-    00000A53                       1562 ?0103:\r
-    00000A53                       1563 ?0101:\r
-    00000A53 DD 6E 20              1564        LD      L,(IX+32)\r
-    00000A56 DD 66 21              1565        LD      H,(IX+33)\r
-    00000A59 29                    1566        ADD     HL,HL\r
-    00000A5A E5                    1567        PUSH    HL\r
-    00000A5B 21 08 00              1568        LD      HL,8\r
-    00000A5E ED 4B 00 00           1569        LD      BC,(global)\r
-    00000A62 09                    1570        ADD     HL,BC\r
-    00000A63 4E                    1571        LD      C,(HL)\r
-    00000A64 23                    1572        INC     HL\r
-    00000A65 46                    1573        LD      B,(HL)\r
-    00000A66 E1                    1574        POP     HL\r
-    00000A67 09                    1575        ADD     HL,BC\r
-    00000A68 2B                    1576        DEC     HL\r
-    00000A69 2B                    1577        DEC     HL\r
-    00000A6A 46                    1578        LD      B,(HL)\r
-    00000A6B DD 70 20              1579        LD      (IX+32),B\r
-    00000A6E 23                    1580        INC     HL\r
-    00000A6F 66                    1581        LD      H,(HL)\r
-    00000A70 DD 74 21              1582        LD      (IX+33),H\r
-    00000A73                       1583 ?0102:\r
-    00000A73 DD 6E 22              1584        LD      L,(IX+34)\r
-    00000A76 DD 66 23              1585        LD      H,(IX+35)\r
-    00000A79 01 00 90              1586        LD      BC,36864\r
-    00000A7C 3E 80                 1587        LD      A,128\r
-    00000A7E AC                    1588        XOR     H\r
-    00000A7F 67                    1589        LD      H,A\r
-    00000A80 ED 42                 1590        SBC     HL,BC\r
-    00000A82 30 2E                 1591        JR      NC,?0106\r
-    00000A84 DD 4E 22              1592        LD      C,(IX+34)\r
-    00000A87 DD 46 23              1593        LD      B,(IX+35)\r
-    00000A8A 21 00 00              1594        LD      HL,0\r
-    00000A8D CD 00 00              1595        CALL    LWRD ?SS_CMP_L02\r
-    00000A90 30 20                 1596        JR      NC,?0106\r
-    00000A92                       1597 ?0108:\r
-    00000A92                       1598 ?0107:\r
-    00000A92                       1599 ?0105:\r
-    00000A92 DD 6E 22              1600        LD      L,(IX+34)\r
-    00000A95 DD 66 23              1601        LD      H,(IX+35)\r
-    00000A98 29                    1602        ADD     HL,HL\r
-    00000A99 E5                    1603        PUSH    HL\r
-    00000A9A 21 08 00              1604        LD      HL,8\r
-    00000A9D ED 4B 00 00           1605        LD      BC,(global)\r
-    00000AA1 09                    1606        ADD     HL,BC\r
-    00000AA2 4E                    1607        LD      C,(HL)\r
-    00000AA3 23                    1608        INC     HL\r
-    00000AA4 46                    1609        LD      B,(HL)\r
-    00000AA5 E1                    1610        POP     HL\r
-    00000AA6 09                    1611        ADD     HL,BC\r
-    00000AA7 2B                    1612        DEC     HL\r
-    00000AA8 2B                    1613        DEC     HL\r
-    00000AA9 46                    1614        LD      B,(HL)\r
-    00000AAA DD 70 22              1615        LD      (IX+34),B\r
-    00000AAD 23                    1616        INC     HL\r
-    00000AAE 66                    1617        LD      H,(HL)\r
-    00000AAF DD 74 23              1618        LD      (IX+35),H\r
-    00000AB2                       1619 ?0106:\r
-    00000AB2                       1620 ?0110:\r
-    00000AB2 FD E5                 1621        PUSH    IY\r
-    00000AB4 E1                    1622        POP     HL\r
-    00000AB5 7D                    1623        LD      A,L\r
-    00000AB6 B4                    1624        OR      H\r
-    00000AB7 28 16                 1625        JR      Z,?0109\r
-    00000AB9                       1626 ?0111:\r
-    00000AB9 FD E5                 1627        PUSH    IY\r
-    00000ABB D1                    1628        POP     DE\r
-    00000ABC 3E 1F                 1629        LD      A,BYTE3 Component_linkstringtable\r
-    00000ABE 21 1F 0A              1630        LD      HL,LWRD Component_linkstringtable\r
-    00000AC1 CD 00 00              1631        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000AC4 FD 6E 13              1632        LD      L,(IY+19)\r
-    00000AC7 FD 66 14              1633        LD      H,(IY+20)\r
-    00000ACA E5                    1634        PUSH    HL\r
-    00000ACB FD E1                 1635        POP     IY\r
-    00000ACD 18 E3                 1636        JR      ?0106\r
-    00000ACF                       1637 ?0109:\r
-    00000ACF C3 5E 02              1638        JP      LWRD ?0411\r
-    00000AD2                       1639 Window_handler:\r
-    00000AD2 CD 00 00              1640        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000AD5 D0 FF                 1641        DEFW    65488\r
-    00000AD7 FD E5                 1642        PUSH    IY\r
-    00000AD9 AF                    1643        XOR     A\r
-    00000ADA DD 77 FA              1644        LD      (IX-6),A\r
-    00000ADD DD 77 FB              1645        LD      (IX-5),A\r
-    00000AE0 DD 77 FC              1646        LD      (IX-4),A\r
-    00000AE3 DD 77 FD              1647        LD      (IX-3),A\r
-    00000AE6 59                    1648        LD      E,C\r
-    00000AE7 50                    1649        LD      D,B\r
-    00000AE8 CD 00 00              1650        CALL    LWRD ?S_V_SWITCH_L06\r
-    00000AEB 08 00                 1651        DEFW    8\r
-    00000AED 01 00                 1652        DEFW    1\r
-    00000AEF 02 00                 1653        DEFW    2\r
-    00000AF1 03 00                 1654        DEFW    3\r
-    00000AF3 02 01                 1655        DEFW    258\r
-    00000AF5 03 01                 1656        DEFW    259\r
-    00000AF7 04 01                 1657        DEFW    260\r
-    00000AF9 05 01                 1658        DEFW    261\r
-    00000AFB 01 04                 1659        DEFW    1025\r
-    00000AFD 6B 0D                 1660        DEFW    ?0159\r
-    00000AFF D9 0C                 1661        DEFW    ?0153\r
-    00000B01 6C 0C                 1662        DEFW    ?0144\r
-    00000B03 98 0C                 1663        DEFW    ?0145\r
-    00000B05 E0 0B                 1664        DEFW    ?0142\r
-    00000B07 F1 0B                 1665        DEFW    ?0143\r
-    00000B09 A5 0B                 1666        DEFW    ?0131\r
-    00000B0B 40 0B                 1667        DEFW    ?0119\r
-    00000B0D 0F 0B                 1668        DEFW    ?0113\r
-    00000B0F                       1669 ?0113:\r
-    00000B0F 21 15 00              1670        LD      HL,21\r
-    00000B12 DD 4E 02              1671        LD      C,(IX+2)\r
-    00000B15 DD 46 03              1672        LD      B,(IX+3)\r
-    00000B18 09                    1673        ADD     HL,BC\r
-    00000B19 46                    1674        LD      B,(HL)\r
-    00000B1A 23                    1675        INC     HL\r
-    00000B1B 66                    1676        LD      H,(HL)\r
-    00000B1C 68                    1677        LD      L,B\r
-    00000B1D                       1678 ?0344:\r
-    00000B1D E5                    1679        PUSH    HL\r
-    00000B1E FD E1                 1680        POP     IY\r
-    00000B20                       1681 ?0115:\r
-    00000B20 7D                    1682        LD      A,L\r
-    00000B21 B4                    1683        OR      H\r
-    00000B22 28 19                 1684        JR      Z,?0114\r
-    00000B24                       1685 ?0116:\r
-    00000B24 FD CB 0A 46           1686        BIT     0,(IY+10)\r
-    00000B28 28 0B                 1687        JR      Z,?0118\r
-    00000B2A                       1688 ?0117:\r
-    00000B2A DD 6E 0A              1689        LD      L,(IX+10)\r
-    00000B2D DD 66 0B              1690        LD      H,(IX+11)\r
-    00000B30 E5                    1691        PUSH    HL\r
-    00000B31 CD 70 0D              1692        CALL    LWRD ?0462\r
-    00000B34 E1                    1693        POP     HL\r
-    00000B35                       1694 ?0118:\r
-    00000B35 FD 6E 13              1695        LD      L,(IY+19)\r
-    00000B38 FD 66 14              1696        LD      H,(IY+20)\r
-    00000B3B 18 E0                 1697        JR      ?0344\r
-    00000B3D                       1698 ?0114:\r
-    00000B3D C3 6B 0D              1699        JP      LWRD ?0159\r
-    00000B40                       1700 ?0119:\r
-    00000B40 21 15 00              1701        LD      HL,21\r
-    00000B43 DD 4E 02              1702        LD      C,(IX+2)\r
-    00000B46 DD 46 03              1703        LD      B,(IX+3)\r
-    00000B49 09                    1704        ADD     HL,BC\r
-    00000B4A 46                    1705        LD      B,(HL)\r
-    00000B4B 23                    1706        INC     HL\r
-    00000B4C 66                    1707        LD      H,(HL)\r
-    00000B4D 68                    1708        LD      L,B\r
-    00000B4E                       1709 ?0348:\r
-    00000B4E E5                    1710        PUSH    HL\r
-    00000B4F FD E1                 1711        POP     IY\r
-    00000B51                       1712 ?0121:\r
-    00000B51 7D                    1713        LD      A,L\r
-    00000B52 B4                    1714        OR      H\r
-    00000B53 28 4D                 1715        JR      Z,?0120\r
-    00000B55                       1716 ?0122:\r
-    00000B55 FD CB 0A 46           1717        BIT     0,(IY+10)\r
-    00000B59 28 38                 1718        JR      Z,?0126\r
-    00000B5B                       1719 ?0123:\r
-    00000B5B DD 6E 0A              1720        LD      L,(IX+10)\r
-    00000B5E DD 66 0B              1721        LD      H,(IX+11)\r
-    00000B61 E5                    1722        PUSH    HL\r
-    00000B62 CD 70 0D              1723        CALL    LWRD ?0462\r
-    00000B65 E1                    1724        POP     HL\r
-    00000B66 DD 6E 0A              1725        LD      L,(IX+10)\r
-    00000B69 DD 66 0B              1726        LD      H,(IX+11)\r
-    00000B6C E5                    1727        PUSH    HL\r
-    00000B6D 01 03 00              1728        LD      BC,3\r
-    00000B70 CD 76 0D              1729        CALL    LWRD ?0463\r
-    00000B73 E1                    1730        POP     HL\r
-    00000B74 FD 7E 0A              1731        LD      A,(IY+10)\r
-    00000B77 E6 22                 1732        AND     34\r
-    00000B79 6F                    1733        LD      L,A\r
-    00000B7A 26 00                 1734        LD      H,0\r
-    00000B7C 3E 22                 1735        LD      A,34\r
-    00000B7E AD                    1736        XOR     L\r
-    00000B7F 20 12                 1737        JR      NZ,?0126\r
-    00000B81 FD 4E 10              1738        LD      C,(IY+16)\r
-    00000B84 44                    1739        LD      B,H\r
-    00000B85 DD 6E 0A              1740        LD      L,(IX+10)\r
-    00000B88 DD 66 0B              1741        LD      H,(IX+11)\r
-    00000B8B ED 42                 1742        SBC     HL,BC\r
-    00000B8D 20 04                 1743        JR      NZ,?0126\r
-    00000B8F                       1744 ?0128:\r
-    00000B8F                       1745 ?0127:\r
-    00000B8F                       1746 ?0125:\r
-    00000B8F FD 21 00 00           1747        LD      IY,0\r
-    00000B93                       1748 ?0126:\r
-    00000B93                       1749 ?0124:\r
-    00000B93 FD E5                 1750        PUSH    IY\r
-    00000B95 E1                    1751        POP     HL\r
-    00000B96 7D                    1752        LD      A,L\r
-    00000B97 B4                    1753        OR      H\r
-    00000B98 28 B7                 1754        JR      Z,?0121\r
-    00000B9A                       1755 ?0129:\r
-    00000B9A FD 6E 13              1756        LD      L,(IY+19)\r
-    00000B9D FD 66 14              1757        LD      H,(IY+20)\r
-    00000BA0 18 AC                 1758        JR      ?0348\r
-    00000BA2                       1759 ?0130:\r
-    00000BA2                       1760 ?0120:\r
-    00000BA2 C3 6B 0D              1761        JP      LWRD ?0159\r
-    00000BA5                       1762 ?0131:\r
-    00000BA5 DD 6E 02              1763        LD      L,(IX+2)\r
-    00000BA8 DD 66 03              1764        LD      H,(IX+3)\r
-    00000BAB E5                    1765        PUSH    HL\r
-    00000BAC FD E1                 1766        POP     IY\r
-    00000BAE 21 0A 00              1767        LD      HL,10\r
-    00000BB1 DD 4E 02              1768        LD      C,(IX+2)\r
-    00000BB4 DD 46 03              1769        LD      B,(IX+3)\r
-    00000BB7 09                    1770        ADD     HL,BC\r
-    00000BB8 CB 46                 1771        BIT     0,(HL)\r
-    00000BBA 28 21                 1772        JR      Z,?0139\r
-    00000BBC                       1773 ?0132:\r
-    00000BBC FD CB 0A 6E           1774        BIT     5,(IY+10)\r
-    00000BC0 28 1B                 1775        JR      Z,?0139\r
-    00000BC2 FD 4E 10              1776        LD      C,(IY+16)\r
-    00000BC5 47                    1777        LD      B,A\r
-    00000BC6 DD 6E 0A              1778        LD      L,(IX+10)\r
-    00000BC9 DD 66 0B              1779        LD      H,(IX+11)\r
-    00000BCC A7                    1780        AND     A\r
-    00000BCD ED 42                 1781        SBC     HL,BC\r
-    00000BCF 20 0C                 1782        JR      NZ,?0139\r
-    00000BD1                       1783 ?0137:\r
-    00000BD1                       1784 ?0136:\r
-    00000BD1                       1785 ?0134:\r
-    00000BD1 FD 6E 26              1786        LD      L,(IY+38)\r
-    00000BD4 FD 66 27              1787        LD      H,(IY+39)\r
-    00000BD7 FD E5                 1788        PUSH    IY\r
-    00000BD9 D1                    1789        POP     DE\r
-    00000BDA CD 95 0D              1790        CALL    LWRD ?0474\r
-    00000BDD                       1791 ?0138:\r
-    00000BDD                       1792 ?0139:\r
-    00000BDD                       1793 ?0135:\r
-    00000BDD                       1794 ?0133:\r
-    00000BDD                       1795 ?0140:\r
-    00000BDD                       1796 ?0141:\r
-    00000BDD C3 6B 0D              1797        JP      LWRD ?0159\r
-    00000BE0                       1798 ?0142:\r
-    00000BE0 DD 5E 02              1799        LD      E,(IX+2)\r
-    00000BE3 4B                    1800        LD      C,E\r
-    00000BE4 DD 56 03              1801        LD      D,(IX+3)\r
-    00000BE7 42                    1802        LD      B,D\r
-    00000BE8 21 1A 00              1803        LD      HL,26\r
-    00000BEB CD 94 0D              1804        CALL    LWRD ?0475\r
-    00000BEE C3 6B 0D              1805        JP      LWRD ?0159\r
-    00000BF1                       1806 ?0143:\r
-    00000BF1 21 0A 00              1807        LD      HL,10\r
-    00000BF4 DD 4E 02              1808        LD      C,(IX+2)\r
-    00000BF7 DD 46 03              1809        LD      B,(IX+3)\r
-    00000BFA 09                    1810        ADD     HL,BC\r
-    00000BFB 7E                    1811        LD      A,(HL)\r
-    00000BFC E6 FC                 1812        AND     252\r
-    00000BFE 77                    1813        LD      (HL),A\r
-    00000BFF 21 2E 00              1814        LD      HL,46\r
-    00000C02 39                    1815        ADD     HL,SP\r
-    00000C03 E5                    1816        PUSH    HL\r
-    00000C04 2B                    1817        DEC     HL\r
-    00000C05 2B                    1818        DEC     HL\r
-    00000C06 4D                    1819        LD      C,L\r
-    00000C07 44                    1820        LD      B,H\r
-    00000C08 DD 5E 02              1821        LD      E,(IX+2)\r
-    00000C0B DD 56 03              1822        LD      D,(IX+3)\r
-    00000C0E CD 8C 0D              1823        CALL    LWRD ?0466\r
-    00000C11 E1                    1824        POP     HL\r
-    00000C12 21 08 00              1825        LD      HL,8\r
-    00000C15 DD 4E 02              1826        LD      C,(IX+2)\r
-    00000C18 DD 46 03              1827        LD      B,(IX+3)\r
-    00000C1B 09                    1828        ADD     HL,BC\r
-    00000C1C 5E                    1829        LD      E,(HL)\r
-    00000C1D 23                    1830        INC     HL\r
-    00000C1E 56                    1831        LD      D,(HL)\r
-    00000C1F D5                    1832        PUSH    DE\r
-    00000C20 21 06 00              1833        LD      HL,6\r
-    00000C23 09                    1834        ADD     HL,BC\r
-    00000C24 5E                    1835        LD      E,(HL)\r
-    00000C25 23                    1836        INC     HL\r
-    00000C26 56                    1837        LD      D,(HL)\r
-    00000C27 D5                    1838        PUSH    DE\r
-    00000C28 DD 6E FC              1839        LD      L,(IX-4)\r
-    00000C2B DD 66 FD              1840        LD      H,(IX-3)\r
-    00000C2E E5                    1841        PUSH    HL\r
-    00000C2F DD 4E FA              1842        LD      C,(IX-6)\r
-    00000C32 DD 46 FB              1843        LD      B,(IX-5)\r
-    00000C35 11 00 00              1844        LD      DE,0\r
-    00000C38 CD F2 02              1845        CALL    LWRD ?0471\r
-    00000C3B E1                    1846        POP     HL\r
-    00000C3C E1                    1847        POP     HL\r
-    00000C3D E1                    1848        POP     HL\r
-    00000C3E 21 00 00              1849        LD      HL,0\r
-    00000C41 E5                    1850        PUSH    HL\r
-    00000C42 2E 11                 1851        LD      L,17\r
-    00000C44 DD 5E 02              1852        LD      E,(IX+2)\r
-    00000C47 DD 56 03              1853        LD      D,(IX+3)\r
-    00000C4A 19                    1854        ADD     HL,DE\r
-    00000C4B 5E                    1855        LD      E,(HL)\r
-    00000C4C 23                    1856        INC     HL\r
-    00000C4D 56                    1857        LD      D,(HL)\r
-    00000C4E 21 11 00              1858        LD      HL,17\r
-    00000C51 DD 4E 02              1859        LD      C,(IX+2)\r
-    00000C54 DD 46 03              1860        LD      B,(IX+3)\r
-    00000C57 09                    1861        ADD     HL,BC\r
-    00000C58 46                    1862        LD      B,(HL)\r
-    00000C59 23                    1863        INC     HL\r
-    00000C5A 66                    1864        LD      H,(HL)\r
-    00000C5B 68                    1865        LD      L,B\r
-    00000C5C 01 17 00              1866        LD      BC,23\r
-    00000C5F 09                    1867        ADD     HL,BC\r
-    00000C60 4E                    1868        LD      C,(HL)\r
-    00000C61 23                    1869        INC     HL\r
-    00000C62 46                    1870        LD      B,(HL)\r
-    00000C63 23                    1871        INC     HL\r
-    00000C64 7E                    1872        LD      A,(HL)\r
-    00000C65 69                    1873        LD      L,C\r
-    00000C66 60                    1874        LD      H,B\r
-    00000C67 01 03 01              1875        LD      BC,259\r
-    00000C6A 18 29                 1876        JR      ?0347\r
-    00000C6C                       1877 ?0144:\r
-    00000C6C 21 11 00              1878        LD      HL,17\r
-    00000C6F DD 4E 02              1879        LD      C,(IX+2)\r
-    00000C72 DD 46 03              1880        LD      B,(IX+3)\r
-    00000C75 09                    1881        ADD     HL,BC\r
-    00000C76 56                    1882        LD      D,(HL)\r
-    00000C77 23                    1883        INC     HL\r
-    00000C78 66                    1884        LD      H,(HL)\r
-    00000C79 6A                    1885        LD      L,D\r
-    00000C7A E5                    1886        PUSH    HL\r
-    00000C7B FD E1                 1887        POP     IY\r
-    00000C7D 59                    1888        LD      E,C\r
-    00000C7E 50                    1889        LD      D,B\r
-    00000C7F CD 8F 09              1890        CALL    LWRD ?0453\r
-    00000C82 21 00 00              1891        LD      HL,0\r
-    00000C85 E5                    1892        PUSH    HL\r
-    00000C86 01 03 01              1893        LD      BC,259\r
-    00000C89 FD E5                 1894        PUSH    IY\r
-    00000C8B D1                    1895        POP     DE\r
-    00000C8C FD 7E 19              1896        LD      A,(IY+25)\r
-    00000C8F FD 6E 17              1897        LD      L,(IY+23)\r
-    00000C92 FD 66 18              1898        LD      H,(IY+24)\r
-    00000C95                       1899 ?0347:\r
-    00000C95 C3 67 0D              1900        JP      LWRD ?0346\r
-    00000C98                       1901 ?0145:\r
-    00000C98 21 15 00              1902        LD      HL,21\r
-    00000C9B DD 4E 02              1903        LD      C,(IX+2)\r
-    00000C9E DD 46 03              1904        LD      B,(IX+3)\r
-    00000CA1 09                    1905        ADD     HL,BC\r
-    00000CA2 46                    1906        LD      B,(HL)\r
-    00000CA3 23                    1907        INC     HL\r
-    00000CA4 66                    1908        LD      H,(HL)\r
-    00000CA5 68                    1909        LD      L,B\r
-    00000CA6                       1910 ?0345:\r
-    00000CA6 E5                    1911        PUSH    HL\r
-    00000CA7 FD E1                 1912        POP     IY\r
-    00000CA9                       1913 ?0147:\r
-    00000CA9 7D                    1914        LD      A,L\r
-    00000CAA B4                    1915        OR      H\r
-    00000CAB 28 29                 1916        JR      Z,?0146\r
-    00000CAD                       1917 ?0148:\r
-    00000CAD DD 6E 0A              1918        LD      L,(IX+10)\r
-    00000CB0 DD 66 0B              1919        LD      H,(IX+11)\r
-    00000CB3 FD E5                 1920        PUSH    IY\r
-    00000CB5 C1                    1921        POP     BC\r
-    00000CB6 ED 42                 1922        SBC     HL,BC\r
-    00000CB8 28 14                 1923        JR      Z,?0150\r
-    00000CBA FD CB 0A 5E           1924        BIT     3,(IY+10)\r
-    00000CBE 28 0E                 1925        JR      Z,?0150\r
-    00000CC0                       1926 ?0152:\r
-    00000CC0                       1927 ?0151:\r
-    00000CC0                       1928 ?0149:\r
-    00000CC0 DD 6E 0A              1929        LD      L,(IX+10)\r
-    00000CC3 DD 66 0B              1930        LD      H,(IX+11)\r
-    00000CC6 E5                    1931        PUSH    HL\r
-    00000CC7 01 03 02              1932        LD      BC,515\r
-    00000CCA CD 76 0D              1933        CALL    LWRD ?0463\r
-    00000CCD E1                    1934        POP     HL\r
-    00000CCE                       1935 ?0150:\r
-    00000CCE FD 6E 13              1936        LD      L,(IY+19)\r
-    00000CD1 FD 66 14              1937        LD      H,(IY+20)\r
-    00000CD4 18 D0                 1938        JR      ?0345\r
-    00000CD6                       1939 ?0146:\r
-    00000CD6 C3 6B 0D              1940        JP      LWRD ?0159\r
-    00000CD9                       1941 ?0153:\r
-    00000CD9 21 11 00              1942        LD      HL,17\r
-    00000CDC DD 4E 02              1943        LD      C,(IX+2)\r
-    00000CDF DD 46 03              1944        LD      B,(IX+3)\r
-    00000CE2 09                    1945        ADD     HL,BC\r
-    00000CE3 7E                    1946        LD      A,(HL)\r
-    00000CE4 23                    1947        INC     HL\r
-    00000CE5 B6                    1948        OR      (HL)\r
-    00000CE6 20 0E                 1949        JR      NZ,?0155\r
-    00000CE8                       1950 ?0154:\r
-    00000CE8 21 04 00              1951        LD      HL,4\r
-    00000CEB ED 4B 00 00           1952        LD      BC,(global)\r
-    00000CEF 09                    1953        ADD     HL,BC\r
-    00000CF0 36 01                 1954        LD      (HL),1\r
-    00000CF2 23                    1955        INC     HL\r
-    00000CF3 77                    1956        LD      (HL),A\r
-    00000CF4 18 75                 1957        JR      ?0159\r
-    00000CF6                       1958 ?0155:\r
-    00000CF6 21 0A 00              1959        LD      HL,10\r
-    00000CF9 09                    1960        ADD     HL,BC\r
-    00000CFA 23                    1961        INC     HL\r
-    00000CFB CB 6E                 1962        BIT     5,(HL)\r
-    00000CFD 20 28                 1963        JR      NZ,?0158\r
-    00000CFF                       1964 ?0157:\r
-    00000CFF DD 6E 0A              1965        LD      L,(IX+10)\r
-    00000D02 DD 66 0B              1966        LD      H,(IX+11)\r
-    00000D05 E5                    1967        PUSH    HL\r
-    00000D06 21 11 00              1968        LD      HL,17\r
-    00000D09 59                    1969        LD      E,C\r
-    00000D0A 50                    1970        LD      D,B\r
-    00000D0B 19                    1971        ADD     HL,DE\r
-    00000D0C 5E                    1972        LD      E,(HL)\r
-    00000D0D 23                    1973        INC     HL\r
-    00000D0E 56                    1974        LD      D,(HL)\r
-    00000D0F 21 11 00              1975        LD      HL,17\r
-    00000D12 09                    1976        ADD     HL,BC\r
-    00000D13 46                    1977        LD      B,(HL)\r
-    00000D14 23                    1978        INC     HL\r
-    00000D15 66                    1979        LD      H,(HL)\r
-    00000D16 68                    1980        LD      L,B\r
-    00000D17 01 17 00              1981        LD      BC,23\r
-    00000D1A 09                    1982        ADD     HL,BC\r
-    00000D1B 4E                    1983        LD      C,(HL)\r
-    00000D1C 23                    1984        INC     HL\r
-    00000D1D 46                    1985        LD      B,(HL)\r
-    00000D1E 23                    1986        INC     HL\r
-    00000D1F 7E                    1987        LD      A,(HL)\r
-    00000D20 69                    1988        LD      L,C\r
-    00000D21 60                    1989        LD      H,B\r
-    00000D22 01 01 04              1990        LD      BC,1025\r
-    00000D25 18 40                 1991        JR      ?0346\r
-    00000D27                       1992 ?0158:\r
-    00000D27 21 11 00              1993        LD      HL,17\r
-    00000D2A 09                    1994        ADD     HL,BC\r
-    00000D2B 56                    1995        LD      D,(HL)\r
-    00000D2C 23                    1996        INC     HL\r
-    00000D2D 66                    1997        LD      H,(HL)\r
-    00000D2E 6A                    1998        LD      L,D\r
-    00000D2F E5                    1999        PUSH    HL\r
-    00000D30 FD E1                 2000        POP     IY\r
-    00000D32 11 0A 00              2001        LD      DE,10\r
-    00000D35 19                    2002        ADD     HL,DE\r
-    00000D36 7E                    2003        LD      A,(HL)\r
-    00000D37 F6 03                 2004        OR      3\r
-    00000D39 77                    2005        LD      (HL),A\r
-    00000D3A 6A                    2006        LD      L,D\r
-    00000D3B 62                    2007        LD      H,D\r
-    00000D3C E5                    2008        PUSH    HL\r
-    00000D3D 23                    2009        INC     HL\r
-    00000D3E E5                    2010        PUSH    HL\r
-    00000D3F 4A                    2011        LD      C,D\r
-    00000D40 42                    2012        LD      B,D\r
-    00000D41 FD E5                 2013        PUSH    IY\r
-    00000D43 D1                    2014        POP     DE\r
-    00000D44 3E B6                 2015        LD      A,BYTE3 Component_changestate_children\r
-    00000D46 21 B6 09              2016        LD      HL,LWRD Component_changestate_children\r
-    00000D49 CD 00 00              2017        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000D4C E1                    2018        POP     HL\r
-    00000D4D E1                    2019        POP     HL\r
-    00000D4E 21 00 00              2020        LD      HL,0\r
-    00000D51 E5                    2021        PUSH    HL\r
-    00000D52 DD 5E 02              2022        LD      E,(IX+2)\r
-    00000D55 4B                    2023        LD      C,E\r
-    00000D56 DD 56 03              2024        LD      D,(IX+3)\r
-    00000D59 42                    2025        LD      B,D\r
-    00000D5A 2E 17                 2026        LD      L,23\r
-    00000D5C 09                    2027        ADD     HL,BC\r
-    00000D5D 4E                    2028        LD      C,(HL)\r
-    00000D5E 23                    2029        INC     HL\r
-    00000D5F 46                    2030        LD      B,(HL)\r
-    00000D60 23                    2031        INC     HL\r
-    00000D61 7E                    2032        LD      A,(HL)\r
-    00000D62 69                    2033        LD      L,C\r
-    00000D63 60                    2034        LD      H,B\r
-    00000D64 01 05 01              2035        LD      BC,261\r
-    00000D67                       2036 ?0346:\r
-    00000D67 CD 00 00              2037        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000D6A E1                    2038        POP     HL\r
-    00000D6B                       2039 ?0159:\r
-    00000D6B                       2040 ?0156:\r
-    00000D6B                       2041 ?0112:\r
-    00000D6B FD E1                 2042        POP     IY\r
-    00000D6D C3 00 00              2043        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000D70                       2044 ?0462:\r
-    00000D70 DD 4E 04              2045        LD      C,(IX+4)\r
-    00000D73 DD 46 05              2046        LD      B,(IX+5)\r
-    00000D76                       2047 ?0463:\r
-    00000D76 FD E5                 2048        PUSH    IY\r
-    00000D78 D1                    2049        POP     DE\r
-    00000D79 FD 7E 19              2050        LD      A,(IY+25)\r
-    00000D7C FD 6E 17              2051        LD      L,(IY+23)\r
-    00000D7F FD 66 18              2052        LD      H,(IY+24)\r
-    00000D82 C3 00 00              2053        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000D85                       2054 ?0467:\r
-    00000D85 23                    2055        INC     HL\r
-    00000D86 23                    2056        INC     HL\r
-    00000D87                       2057 ?0468:\r
-    00000D87 4D                    2058        LD      C,L\r
-    00000D88 44                    2059        LD      B,H\r
-    00000D89 DD E5                 2060        PUSH    IX\r
-    00000D8B D1                    2061        POP     DE\r
-    00000D8C                       2062 ?0466:\r
-    00000D8C 3E 4A                 2063        LD      A,BYTE3 Component_findXY\r
-    00000D8E 21 4A 07              2064        LD      HL,LWRD Component_findXY\r
-    00000D91 C3 00 00              2065        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000D94                       2066 ?0475:\r
-    00000D94 09                    2067        ADD     HL,BC\r
-    00000D95                       2068 ?0474:\r
-    00000D95 4E                    2069        LD      C,(HL)\r
-    00000D96 23                    2070        INC     HL\r
-    00000D97 46                    2071        LD      B,(HL)\r
-    00000D98 23                    2072        INC     HL\r
-    00000D99 7E                    2073        LD      A,(HL)\r
-    00000D9A 69                    2074        LD      L,C\r
-    00000D9B 60                    2075        LD      H,B\r
-    00000D9C C3 00 00              2076        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000D9F                       2077 Window_paint:\r
-    00000D9F CD 00 00              2078        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000DA2 FC FF                 2079        DEFW    -4\r
-    00000DA4 FD E5                 2080        PUSH    IY\r
-    00000DA6 DD 6E 02              2081        LD      L,(IX+2)\r
-    00000DA9 DD 66 03              2082        LD      H,(IX+3)\r
-    00000DAC E5                    2083        PUSH    HL\r
-    00000DAD FD E1                 2084        POP     IY\r
-    00000DAF AF                    2085        XOR     A\r
-    00000DB0 DD 77 FE              2086        LD      (IX-2),A\r
-    00000DB3 DD 77 FF              2087        LD      (IX-1),A\r
-    00000DB6 DD 77 FC              2088        LD      (IX-4),A\r
-    00000DB9 DD 77 FD              2089        LD      (IX-3),A\r
-    00000DBC 21 0A 00              2090        LD      HL,10\r
-    00000DBF ED 4B 00 00           2091        LD      BC,(global)\r
-    00000DC3 09                    2092        ADD     HL,BC\r
-    00000DC4 7E                    2093        LD      A,(HL)\r
-    00000DC5 23                    2094        INC     HL\r
-    00000DC6 66                    2095        LD      H,(HL)\r
-    00000DC7 6F                    2096        LD      L,A\r
-    00000DC8 46                    2097        LD      B,(HL)\r
-    00000DC9 23                    2098        INC     HL\r
-    00000DCA 66                    2099        LD      H,(HL)\r
-    00000DCB 68                    2100        LD      L,B\r
-    00000DCC FD 4E 0E              2101        LD      C,(IY+14)\r
-    00000DCF FD 46 0F              2102        LD      B,(IY+15)\r
-    00000DD2 A7                    2103        AND     A\r
-    00000DD3 ED 42                 2104        SBC     HL,BC\r
-    00000DD5 28 09                 2105        JR      Z,?0161\r
-    00000DD7                       2106 ?0160:\r
-    00000DD7 FD 5E 0E              2107        LD      E,(IY+14)\r
-    00000DDA FD 56 0F              2108        LD      D,(IY+15)\r
-    00000DDD CD 24 0F              2109        CALL    LWRD ?0472\r
-    00000DE0                       2110 ?0161:\r
-    00000DE0 FD CB 0A 46           2111        BIT     0,(IY+10)\r
-    00000DE4 CA DC 0E              2112        JP      Z,?0163\r
-    00000DE7                       2113 ?0162:\r
-    00000DE7 21 02 00              2114        LD      HL,2\r
-    00000DEA 39                    2115        ADD     HL,SP\r
-    00000DEB E5                    2116        PUSH    HL\r
-    00000DEC 23                    2117        INC     HL\r
-    00000DED 23                    2118        INC     HL\r
-    00000DEE 4D                    2119        LD      C,L\r
-    00000DEF 44                    2120        LD      B,H\r
-    00000DF0 FD E5                 2121        PUSH    IY\r
-    00000DF2 D1                    2122        POP     DE\r
-    00000DF3 CD 8C 0D              2123        CALL    LWRD ?0466\r
-    00000DF6 E1                    2124        POP     HL\r
-    00000DF7 CD 40 07              2125        CALL    LWRD ?0477\r
-    00000DFA DD 4E FC              2126        LD      C,(IX-4)\r
-    00000DFD DD 46 FD              2127        LD      B,(IX-3)\r
-    00000E00 DD 5E FE              2128        LD      E,(IX-2)\r
-    00000E03 DD 56 FF              2129        LD      D,(IX-1)\r
-    00000E06 3E A3                 2130        LD      A,BYTE3 Move\r
-    00000E08 21 A3 00              2131        LD      HL,LWRD Move\r
-    00000E0B CD 00 00              2132        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000E0E FD 4E 08              2133        LD      C,(IY+8)\r
-    00000E11 FD 46 09              2134        LD      B,(IY+9)\r
-    00000E14 FD 5E 06              2135        LD      E,(IY+6)\r
-    00000E17 FD 56 07              2136        LD      D,(IY+7)\r
-    00000E1A 3E E2                 2137        LD      A,BYTE3 ClearRect\r
-    00000E1C 21 E2 00              2138        LD      HL,LWRD ClearRect\r
-    00000E1F CD 00 00              2139        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000E22 FD 6E 08              2140        LD      L,(IY+8)\r
-    00000E25 FD 66 09              2141        LD      H,(IY+9)\r
-    00000E28 E5                    2142        PUSH    HL\r
-    00000E29 FD 6E 06              2143        LD      L,(IY+6)\r
-    00000E2C FD 66 07              2144        LD      H,(IY+7)\r
-    00000E2F E5                    2145        PUSH    HL\r
-    00000E30 DD 6E FC              2146        LD      L,(IX-4)\r
-    00000E33 DD 66 FD              2147        LD      H,(IX-3)\r
-    00000E36 E5                    2148        PUSH    HL\r
-    00000E37 DD 4E FE              2149        LD      C,(IX-2)\r
-    00000E3A DD 46 FF              2150        LD      B,(IX-1)\r
-    00000E3D 11 00 00              2151        LD      DE,0\r
-    00000E40 CD F2 02              2152        CALL    LWRD ?0471\r
-    00000E43 E1                    2153        POP     HL\r
-    00000E44 E1                    2154        POP     HL\r
-    00000E45 E1                    2155        POP     HL\r
-    00000E46 FD 5E 20              2156        LD      E,(IY+32)\r
-    00000E49 FD 56 21              2157        LD      D,(IY+33)\r
-    00000E4C 21 0A 00              2158        LD      HL,10\r
-    00000E4F ED 4B 00 00           2159        LD      BC,(global)\r
-    00000E53 09                    2160        ADD     HL,BC\r
-    00000E54 7E                    2161        LD      A,(HL)\r
-    00000E55 23                    2162        INC     HL\r
-    00000E56 66                    2163        LD      H,(HL)\r
-    00000E57 6F                    2164        LD      L,A\r
-    00000E58 CD E1 0E              2165        CALL    LWRD ?0455\r
-    00000E5B DD 4E FC              2166        LD      C,(IX-4)\r
-    00000E5E DD 46 FD              2167        LD      B,(IX-3)\r
-    00000E61 09                    2168        ADD     HL,BC\r
-    00000E62 11 04 00              2169        LD      DE,4\r
-    00000E65 19                    2170        ADD     HL,DE\r
-    00000E66 4D                    2171        LD      C,L\r
-    00000E67 44                    2172        LD      B,H\r
-    00000E68 CD EF 0E              2173        CALL    LWRD ?0459\r
-    00000E6B 7E                    2174        LD      A,(HL)\r
-    00000E6C 23                    2175        INC     HL\r
-    00000E6D 66                    2176        LD      H,(HL)\r
-    00000E6E 6F                    2177        LD      L,A\r
-    00000E6F 01 05 00              2178        LD      BC,5\r
-    00000E72 09                    2179        ADD     HL,BC\r
-    00000E73 4E                    2180        LD      C,(HL)\r
-    00000E74 23                    2181        INC     HL\r
-    00000E75 46                    2182        LD      B,(HL)\r
-    00000E76 23                    2183        INC     HL\r
-    00000E77 7E                    2184        LD      A,(HL)\r
-    00000E78 69                    2185        LD      L,C\r
-    00000E79 60                    2186        LD      H,B\r
-    00000E7A CD 13 04              2187        CALL    LWRD ?0444\r
-    00000E7D 01 FC FF              2188        LD      BC,65532\r
-    00000E80 09                    2189        ADD     HL,BC\r
-    00000E81 4D                    2190        LD      C,L\r
-    00000E82 44                    2191        LD      B,H\r
-    00000E83 FD 5E 06              2192        LD      E,(IY+6)\r
-    00000E86 FD 56 07              2193        LD      D,(IY+7)\r
-    00000E89 3E 25                 2194        LD      A,BYTE3 DrawRectNC\r
-    00000E8B 21 25 01              2195        LD      HL,LWRD DrawRectNC\r
-    00000E8E CD 00 00              2196        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000E91 DD 4E FC              2197        LD      C,(IX-4)\r
-    00000E94 DD 46 FD              2198        LD      B,(IX-3)\r
-    00000E97 CD EF 0E              2199        CALL    LWRD ?0459\r
-    00000E9A 46                    2200        LD      B,(HL)\r
-    00000E9B 23                    2201        INC     HL\r
-    00000E9C 66                    2202        LD      H,(HL)\r
-    00000E9D 68                    2203        LD      L,B\r
-    00000E9E CD E1 0E              2204        CALL    LWRD ?0455\r
-    00000EA1 01 05 00              2205        LD      BC,5\r
-    00000EA4 09                    2206        ADD     HL,BC\r
-    00000EA5 4D                    2207        LD      C,L\r
-    00000EA6 44                    2208        LD      B,H\r
-    00000EA7 FD 5E 06              2209        LD      E,(IY+6)\r
-    00000EAA FD 56 07              2210        LD      D,(IY+7)\r
-    00000EAD 3E 6A                 2211        LD      A,BYTE3 FillRect\r
-    00000EAF 21 6A 01              2212        LD      HL,LWRD FillRect\r
-    00000EB2 CD 00 00              2213        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000EB5 21 0E 00              2214        LD      HL,14\r
-    00000EB8 DD 4E FC              2215        LD      C,(IX-4)\r
-    00000EBB DD 46 FD              2216        LD      B,(IX-3)\r
-    00000EBE 09                    2217        ADD     HL,BC\r
-    00000EBF 4D                    2218        LD      C,L\r
-    00000EC0 44                    2219        LD      B,H\r
-    00000EC1 DD 5E FE              2220        LD      E,(IX-2)\r
-    00000EC4 DD 56 FF              2221        LD      D,(IX-1)\r
-    00000EC7 13                    2222        INC     DE\r
-    00000EC8 13                    2223        INC     DE\r
-    00000EC9 3E A3                 2224        LD      A,BYTE3 Move\r
-    00000ECB 21 A3 00              2225        LD      HL,LWRD Move\r
-    00000ECE CD 0C 0F              2226        CALL    LWRD ?0460\r
-    00000ED1 FD E5                 2227        PUSH    IY\r
-    00000ED3 D1                    2228        POP     DE\r
-    00000ED4 3E 04                 2229        LD      A,BYTE3 Component_paint\r
-    00000ED6 21 04 07              2230        LD      HL,LWRD Component_paint\r
-    00000ED9 CD 00 00              2231        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000EDC                       2232 ?0163:\r
-    00000EDC FD E1                 2233        POP     IY\r
-    00000EDE C3 00 00              2234        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000EE1                       2235 ?0455:\r
-    00000EE1 01 05 00              2236        LD      BC,5\r
-    00000EE4 09                    2237        ADD     HL,BC\r
-    00000EE5 4E                    2238        LD      C,(HL)\r
-    00000EE6 23                    2239        INC     HL\r
-    00000EE7 46                    2240        LD      B,(HL)\r
-    00000EE8 23                    2241        INC     HL\r
-    00000EE9 7E                    2242        LD      A,(HL)\r
-    00000EEA 69                    2243        LD      L,C\r
-    00000EEB 60                    2244        LD      H,B\r
-    00000EEC C3 00 00              2245        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000EEF                       2246 ?0459:\r
-    00000EEF DD 5E FE              2247        LD      E,(IX-2)\r
-    00000EF2 DD 56 FF              2248        LD      D,(IX-1)\r
-    00000EF5 3E A3                 2249        LD      A,BYTE3 Move\r
-    00000EF7 21 A3 00              2250        LD      HL,LWRD Move\r
-    00000EFA CD 00 00              2251        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000EFD FD 5E 20              2252        LD      E,(IY+32)\r
-    00000F00 FD 56 21              2253        LD      D,(IY+33)\r
-    00000F03 21 0A 00              2254        LD      HL,10\r
-    00000F06 ED 4B 00 00           2255        LD      BC,(global)\r
-    00000F0A 09                    2256        ADD     HL,BC\r
-    00000F0B C9                    2257        RET\r
-    00000F0C                       2258 ?0460:\r
-    00000F0C CD 00 00              2259        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000F0F FD 5E 20              2260        LD      E,(IY+32)\r
-    00000F12 FD 56 21              2261        LD      D,(IY+33)\r
-    00000F15 3E 39                 2262        LD      A,BYTE3 Text\r
-    00000F17 21 39 02              2263        LD      HL,LWRD Text\r
-    00000F1A CD 00 00              2264        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000F1D C9                    2265        RET\r
-    00000F1E                       2266 ?0473:\r
-    00000F1E DD 5E 0E              2267        LD      E,(IX+14)\r
-    00000F21 DD 56 0F              2268        LD      D,(IX+15)\r
-    00000F24                       2269 ?0472:\r
-    00000F24 3E A5                 2270        LD      A,BYTE3 setCurrentFont\r
-    00000F26 21 A5 03              2271        LD      HL,LWRD setCurrentFont\r
-    00000F29 C3 00 00              2272        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000F2C                       2273 Root_paint:\r
-    00000F2C CD 00 00              2274        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00000F2F CD 40 07              2275        CALL    LWRD ?0477\r
-    00000F32 CD D7 02              2276        CALL    LWRD ?0461\r
-    00000F35 CD 00 00              2277        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000F38 01 80 00              2278        LD      BC,128\r
-    00000F3B 58                    2279        LD      E,B\r
-    00000F3C 50                    2280        LD      D,B\r
-    00000F3D 3E F4                 2281        LD      A,BYTE3 GrayRect\r
-    00000F3F 21 F4 01              2282        LD      HL,LWRD GrayRect\r
-    00000F42 CD 00 00              2283        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000F45 21 80 00              2284        LD      HL,128\r
-    00000F48 E5                    2285        PUSH    HL\r
-    00000F49 6C                    2286        LD      L,H\r
-    00000F4A E5                    2287        PUSH    HL\r
-    00000F4B E5                    2288        PUSH    HL\r
-    00000F4C CD EF 02              2289        CALL    LWRD ?0470\r
-    00000F4F E1                    2290        POP     HL\r
-    00000F50 E1                    2291        POP     HL\r
-    00000F51 E1                    2292        POP     HL\r
-    00000F52 DD 5E 02              2293        LD      E,(IX+2)\r
-    00000F55 DD 56 03              2294        LD      D,(IX+3)\r
-    00000F58 3E 04                 2295        LD      A,BYTE3 Component_paint\r
-    00000F5A 21 04 07              2296        LD      HL,LWRD Component_paint\r
-    00000F5D CD 00 00              2297        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000F60 C3 00 00              2298        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000F63                       2299 Window_add:\r
-    00000F63 CD 00 00              2300        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00000F66 3E A6                 2301        LD      A,BYTE3 Component_add\r
-    00000F68 21 A6 06              2302        LD      HL,LWRD Component_add\r
-    00000F6B CD 00 00              2303        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000F6E C3 00 00              2304        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00000F71                       2305 Window_new:\r
-    00000F71 CD 00 00              2306        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00000F74 00 00                 2307        DEFW    0\r
-    00000F76 FD E5                 2308        PUSH    IY\r
-    00000F78 DD 6E 0C              2309        LD      L,(IX+12)\r
-    00000F7B DD 66 0D              2310        LD      H,(IX+13)\r
-    00000F7E E5                    2311        PUSH    HL\r
-    00000F7F DD 6E 0A              2312        LD      L,(IX+10)\r
-    00000F82 DD 66 0B              2313        LD      H,(IX+11)\r
-    00000F85 E5                    2314        PUSH    HL\r
-    00000F86 CD B5 0F              2315        CALL    LWRD ?0438\r
-    00000F89 F1                    2316        POP     AF\r
-    00000F8A F1                    2317        POP     AF\r
-    00000F8B E5                    2318        PUSH    HL\r
-    00000F8C FD E1                 2319        POP     IY\r
-    00000F8E 01 17 00              2320        LD      BC,23\r
-    00000F91 09                    2321        ADD     HL,BC\r
-    00000F92 36 D2                 2322        LD      (HL),LOW(Window_handler)\r
-    00000F94 23                    2323        INC     HL\r
-    00000F95 36 0A                 2324        LD      (HL),HIGH(Window_handler)\r
-    00000F97 23                    2325        INC     HL\r
-    00000F98 36 D2                 2326        LD      (HL),BYTE3 Window_handler\r
-    00000F9A FD 36 1A 9F           2327        LD      (IY+26),LOW(Window_paint)\r
-    00000F9E FD 36 1B 0D           2328        LD      (IY+27),HIGH(Window_paint)\r
-    00000FA2 FD 36 1C 9F           2329        LD      (IY+28),BYTE3 Window_paint\r
-    00000FA6 FD 36 1D 63           2330        LD      (IY+29),LOW(Window_add)\r
-    00000FAA FD 36 1E 0F           2331        LD      (IY+30),HIGH(Window_add)\r
-    00000FAE FD 36 1F 63           2332        LD      (IY+31),BYTE3 Window_add\r
-    00000FB2 C3 51 06              2333        JP      LWRD ?0418\r
-    00000FB5                       2334 ?0438:\r
-    00000FB5 DD 5E 02              2335        LD      E,(IX+2)\r
-    00000FB8 DD 56 03              2336        LD      D,(IX+3)\r
-    00000FBB 3E AF                 2337        LD      A,BYTE3 Component_new\r
-    00000FBD 21 AF 05              2338        LD      HL,LWRD Component_new\r
-    00000FC0 C3 00 00              2339        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00000FC3                       2340 Button_handler:\r
-    00000FC3 CD 00 00              2341        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00000FC6 FD E5                 2342        PUSH    IY\r
-    00000FC8 D5                    2343        PUSH    DE\r
-    00000FC9 FD E1                 2344        POP     IY\r
-    00000FCB DD 6E 0A              2345        LD      L,(IX+10)\r
-    00000FCE DD 66 0B              2346        LD      H,(IX+11)\r
-    00000FD1 E5                    2347        PUSH    HL\r
-    00000FD2 3E D2                 2348        LD      A,BYTE3 Window_handler\r
-    00000FD4 21 D2 0A              2349        LD      HL,LWRD Window_handler\r
-    00000FD7 CD 00 00              2350        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00000FDA E1                    2351        POP     HL\r
-    00000FDB 3E 03                 2352        LD      A,3\r
-    00000FDD DD AE 04              2353        XOR     (IX+4)\r
-    00000FE0 DD B6 05              2354        OR      (IX+5)\r
-    00000FE3 20 3E                 2355        JR      NZ,?0169\r
-    00000FE5 FD 4E 10              2356        LD      C,(IY+16)\r
-    00000FE8 47                    2357        LD      B,A\r
-    00000FE9 DD 6E 0A              2358        LD      L,(IX+10)\r
-    00000FEC DD 66 0B              2359        LD      H,(IX+11)\r
-    00000FEF ED 42                 2360        SBC     HL,BC\r
-    00000FF1 20 30                 2361        JR      NZ,?0169\r
-    00000FF3 FD 7E 0A              2362        LD      A,(IY+10)\r
-    00000FF6 E6 03                 2363        AND     3\r
-    00000FF8 28 29                 2364        JR      Z,?0169\r
-    00000FFA                       2365 ?0167:\r
-    00000FFA                       2366 ?0166:\r
-    00000FFA                       2367 ?0164:\r
-    00000FFA DD 6E 0A              2368        LD      L,(IX+10)\r
-    00000FFD DD 66 0B              2369        LD      H,(IX+11)\r
-    00001000 E5                    2370        PUSH    HL\r
-    00001001 FD 5E 11              2371        LD      E,(IY+17)\r
-    00001004 FD 56 12              2372        LD      D,(IY+18)\r
-    00001007 FD 6E 11              2373        LD      L,(IY+17)\r
-    0000100A FD 66 12              2374        LD      H,(IY+18)\r
-    0000100D 0E 17                 2375        LD      C,23\r
-    0000100F CD 50 10              2376        CALL    LWRD ?0464\r
-    00001012 E1                    2377        POP     HL\r
-    00001013 FD CB 0A 66           2378        BIT     4,(IY+10)\r
-    00001017 28 0A                 2379        JR      Z,?0169\r
-    00001019                       2380 ?0168:\r
-    00001019 FD 4E 10              2381        LD      C,(IY+16)\r
-    0000101C 06 00                 2382        LD      B,0\r
-    0000101E C5                    2383        PUSH    BC\r
-    0000101F CD 5E 10              2384        CALL    LWRD ?0469\r
-    00001022 E1                    2385        POP     HL\r
-    00001023                       2386 ?0169:\r
-    00001023                       2387 ?0165:\r
-    00001023 21 01 02              2388        LD      HL,513\r
-    00001026 DD 4E 04              2389        LD      C,(IX+4)\r
-    00001029 DD 46 05              2390        LD      B,(IX+5)\r
-    0000102C A7                    2391        AND     A\r
-    0000102D ED 42                 2392        SBC     HL,BC\r
-    0000102F 20 0B                 2393        JR      NZ,?0171\r
-    00001031                       2394 ?0170:\r
-    00001031 DD 6E 0A              2395        LD      L,(IX+10)\r
-    00001034 DD 66 0B              2396        LD      H,(IX+11)\r
-    00001037 E5                    2397        PUSH    HL\r
-    00001038 CD 41 10              2398        CALL    LWRD ?0465\r
-    0000103B E1                    2399        POP     HL\r
-    0000103C                       2400 ?0171:\r
-    0000103C FD E1                 2401        POP     IY\r
-    0000103E C3 00 00              2402        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00001041                       2403 ?0465:\r
-    00001041 FD 5E 11              2404        LD      E,(IY+17)\r
-    00001044 FD 56 12              2405        LD      D,(IY+18)\r
-    00001047 FD 6E 11              2406        LD      L,(IY+17)\r
-    0000104A FD 66 12              2407        LD      H,(IY+18)\r
-    0000104D 01 17 00              2408        LD      BC,23\r
-    00001050                       2409 ?0464:\r
-    00001050 09                    2410        ADD     HL,BC\r
-    00001051 4E                    2411        LD      C,(HL)\r
-    00001052 23                    2412        INC     HL\r
-    00001053 46                    2413        LD      B,(HL)\r
-    00001054 23                    2414        INC     HL\r
-    00001055 7E                    2415        LD      A,(HL)\r
-    00001056 69                    2416        LD      L,C\r
-    00001057 60                    2417        LD      H,B\r
-    00001058 01 01 02              2418        LD      BC,513\r
-    0000105B C3 00 00              2419        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000105E                       2420 ?0469:\r
-    0000105E FD 5E 11              2421        LD      E,(IY+17)\r
-    00001061 FD 56 12              2422        LD      D,(IY+18)\r
-    00001064 FD 6E 11              2423        LD      L,(IY+17)\r
-    00001067 FD 66 12              2424        LD      H,(IY+18)\r
-    0000106A 0E 17                 2425        LD      C,23\r
-    0000106C 09                    2426        ADD     HL,BC\r
-    0000106D 4E                    2427        LD      C,(HL)\r
-    0000106E 23                    2428        INC     HL\r
-    0000106F 46                    2429        LD      B,(HL)\r
-    00001070 23                    2430        INC     HL\r
-    00001071 7E                    2431        LD      A,(HL)\r
-    00001072 69                    2432        LD      L,C\r
-    00001073 60                    2433        LD      H,B\r
-    00001074 01 04 01              2434        LD      BC,260\r
-    00001077 C3 00 00              2435        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000107A                       2436 Button_drawtext:\r
-    0000107A CD 00 00              2437        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    0000107D FD E5                 2438        PUSH    IY\r
-    0000107F D5                    2439        PUSH    DE\r
-    00001080 FD E1                 2440        POP     IY\r
-    00001082 21 0A 00              2441        LD      HL,10\r
-    00001085 19                    2442        ADD     HL,DE\r
-    00001086 CB 76                 2443        BIT     6,(HL)\r
-    00001088 FD 5E 20              2444        LD      E,(IY+32)\r
-    0000108B FD 56 21              2445        LD      D,(IY+33)\r
-    0000108E 21 0A 00              2446        LD      HL,10\r
-    00001091 ED 4B 00 00           2447        LD      BC,(global)\r
-    00001095 09                    2448        ADD     HL,BC\r
-    00001096 7E                    2449        LD      A,(HL)\r
-    00001097 23                    2450        INC     HL\r
-    00001098 66                    2451        LD      H,(HL)\r
-    00001099 6F                    2452        LD      L,A\r
-    0000109A 01 05 00              2453        LD      BC,5\r
-    0000109D 09                    2454        ADD     HL,BC\r
-    0000109E 4E                    2455        LD      C,(HL)\r
-    0000109F 23                    2456        INC     HL\r
-    000010A0 46                    2457        LD      B,(HL)\r
-    000010A1 23                    2458        INC     HL\r
-    000010A2 7E                    2459        LD      A,(HL)\r
-    000010A3 69                    2460        LD      L,C\r
-    000010A4 60                    2461        LD      H,B\r
-    000010A5 28 53                 2462        JR      Z,?0173\r
-    000010A7                       2463 ?0172:\r
-    000010A7 CD 00 00              2464        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000010AA 29                    2465        ADD     HL,HL\r
-    000010AB 4D                    2466        LD      C,L\r
-    000010AC 44                    2467        LD      B,H\r
-    000010AD FD 6E 08              2468        LD      L,(IY+8)\r
-    000010B0 FD 66 09              2469        LD      H,(IY+9)\r
-    000010B3 A7                    2470        AND     A\r
-    000010B4 ED 42                 2471        SBC     HL,BC\r
-    000010B6 CD 27 11              2472        CALL    LWRD ?0480\r
-    000010B9 0E 0C                 2473        LD      C,12\r
-    000010BB 09                    2474        ADD     HL,BC\r
-    000010BC E5                    2475        PUSH    HL\r
-    000010BD FD 5E 20              2476        LD      E,(IY+32)\r
-    000010C0 FD 56 21              2477        LD      D,(IY+33)\r
-    000010C3 21 0A 00              2478        LD      HL,10\r
-    000010C6 ED 4B 00 00           2479        LD      BC,(global)\r
-    000010CA 09                    2480        ADD     HL,BC\r
-    000010CB 7E                    2481        LD      A,(HL)\r
-    000010CC 23                    2482        INC     HL\r
-    000010CD 66                    2483        LD      H,(HL)\r
-    000010CE 6F                    2484        LD      L,A\r
-    000010CF CD E7 03              2485        CALL    LWRD ?0442\r
-    000010D2 C1                    2486        POP     BC\r
-    000010D3 CD 0C 0F              2487        CALL    LWRD ?0460\r
-    000010D6 FD 5E 08              2488        LD      E,(IY+8)\r
-    000010D9 FD 56 09              2489        LD      D,(IY+9)\r
-    000010DC CD 28 11              2490        CALL    LWRD ?0481\r
-    000010DF 0E 0A                 2491        LD      C,10\r
-    000010E1 09                    2492        ADD     HL,BC\r
-    000010E2 E5                    2493        PUSH    HL\r
-    000010E3 FD 5E 22              2494        LD      E,(IY+34)\r
-    000010E6 FD 56 23              2495        LD      D,(IY+35)\r
-    000010E9 69                    2496        LD      L,C\r
-    000010EA 60                    2497        LD      H,B\r
-    000010EB CD DE 03              2498        CALL    LWRD ?0443\r
-    000010EE C1                    2499        POP     BC\r
-    000010EF CD 00 00              2500        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000010F2 FD 5E 22              2501        LD      E,(IY+34)\r
-    000010F5 FD 56 23              2502        LD      D,(IY+35)\r
-    000010F8 18 20                 2503        JR      ?0350\r
-    000010FA                       2504 ?0173:\r
-    000010FA CD 13 04              2505        CALL    LWRD ?0444\r
-    000010FD CD 27 11              2506        CALL    LWRD ?0480\r
-    00001100 0E 0D                 2507        LD      C,13\r
-    00001102 09                    2508        ADD     HL,BC\r
-    00001103 E5                    2509        PUSH    HL\r
-    00001104 FD 5E 20              2510        LD      E,(IY+32)\r
-    00001107 FD 56 21              2511        LD      D,(IY+33)\r
-    0000110A 21 0A 00              2512        LD      HL,10\r
-    0000110D CD DE 03              2513        CALL    LWRD ?0443\r
-    00001110 C1                    2514        POP     BC\r
-    00001111 CD 00 00              2515        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001114 FD 5E 20              2516        LD      E,(IY+32)\r
-    00001117 FD 56 21              2517        LD      D,(IY+33)\r
-    0000111A                       2518 ?0350:\r
-    0000111A 3E 39                 2519        LD      A,BYTE3 Text\r
-    0000111C 21 39 02              2520        LD      HL,LWRD Text\r
-    0000111F                       2521 ?0424:\r
-    0000111F CD 00 00              2522        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001122                       2523 ?0174:\r
-    00001122 FD E1                 2524        POP     IY\r
-    00001124 C3 00 00              2525        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00001127                       2526 ?0480:\r
-    00001127 EB                    2527        EX      DE,HL\r
-    00001128                       2528 ?0481:\r
-    00001128 01 02 00              2529        LD      BC,2\r
-    0000112B CD 00 00              2530        CALL    LWRD ?SS_DIV_L02\r
-    0000112E DD 6E 0A              2531        LD      L,(IX+10)\r
-    00001131 DD 66 0B              2532        LD      H,(IX+11)\r
-    00001134 19                    2533        ADD     HL,DE\r
-    00001135 C9                    2534        RET\r
-    00001136                       2535 Button_paint:\r
-    00001136 C5                    2536        PUSH    BC\r
-    00001137 DD E5                 2537        PUSH    IX\r
-    00001139 F5                    2538        PUSH    AF\r
-    0000113A F5                    2539        PUSH    AF\r
-    0000113B D5                    2540        PUSH    DE\r
-    0000113C DD E1                 2541        POP     IX\r
-    0000113E 21 02 00              2542        LD      HL,2\r
-    00001141 39                    2543        ADD     HL,SP\r
-    00001142 AF                    2544        XOR     A\r
-    00001143 77                    2545        LD      (HL),A\r
-    00001144 23                    2546        INC     HL\r
-    00001145 77                    2547        LD      (HL),A\r
-    00001146 2B                    2548        DEC     HL\r
-    00001147 2B                    2549        DEC     HL\r
-    00001148 2B                    2550        DEC     HL\r
-    00001149 77                    2551        LD      (HL),A\r
-    0000114A 23                    2552        INC     HL\r
-    0000114B 77                    2553        LD      (HL),A\r
-    0000114C 21 0A 00              2554        LD      HL,10\r
-    0000114F ED 4B 00 00           2555        LD      BC,(global)\r
-    00001153 09                    2556        ADD     HL,BC\r
-    00001154 7E                    2557        LD      A,(HL)\r
-    00001155 23                    2558        INC     HL\r
-    00001156 66                    2559        LD      H,(HL)\r
-    00001157 6F                    2560        LD      L,A\r
-    00001158 46                    2561        LD      B,(HL)\r
-    00001159 23                    2562        INC     HL\r
-    0000115A 66                    2563        LD      H,(HL)\r
-    0000115B 68                    2564        LD      L,B\r
-    0000115C E5                    2565        PUSH    HL\r
-    0000115D 21 0E 00              2566        LD      HL,14\r
-    00001160 19                    2567        ADD     HL,DE\r
-    00001161 4E                    2568        LD      C,(HL)\r
-    00001162 23                    2569        INC     HL\r
-    00001163 46                    2570        LD      B,(HL)\r
-    00001164 E1                    2571        POP     HL\r
-    00001165 A7                    2572        AND     A\r
-    00001166 ED 42                 2573        SBC     HL,BC\r
-    00001168 28 03                 2574        JR      Z,?0176\r
-    0000116A                       2575 ?0175:\r
-    0000116A CD 1E 0F              2576        CALL    LWRD ?0473\r
-    0000116D                       2577 ?0176:\r
-    0000116D DD CB 0A 46           2578        BIT     0,(IX+10)\r
-    00001171 CA 06 12              2579        JP      Z,?0178\r
-    00001174                       2580 ?0177:\r
-    00001174 21 00 00              2581        LD      HL,0\r
-    00001177 39                    2582        ADD     HL,SP\r
-    00001178 E5                    2583        PUSH    HL\r
-    00001179 CD 85 0D              2584        CALL    LWRD ?0467\r
-    0000117C E1                    2585        POP     HL\r
-    0000117D 21 00 00              2586        LD      HL,0\r
-    00001180 39                    2587        ADD     HL,SP\r
-    00001181 CD 0E 12              2588        CALL    LWRD ?0457\r
-    00001184 CD 00 00              2589        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001187 DD 6E 08              2590        LD      L,(IX+8)\r
-    0000118A DD 66 09              2591        LD      H,(IX+9)\r
-    0000118D E5                    2592        PUSH    HL\r
-    0000118E DD 6E 06              2593        LD      L,(IX+6)\r
-    00001191 DD 66 07              2594        LD      H,(IX+7)\r
-    00001194 E5                    2595        PUSH    HL\r
-    00001195 21 04 00              2596        LD      HL,4\r
-    00001198 39                    2597        ADD     HL,SP\r
-    00001199 4E                    2598        LD      C,(HL)\r
-    0000119A 23                    2599        INC     HL\r
-    0000119B 46                    2600        LD      B,(HL)\r
-    0000119C C5                    2601        PUSH    BC\r
-    0000119D 23                    2602        INC     HL\r
-    0000119E 4E                    2603        LD      C,(HL)\r
-    0000119F 23                    2604        INC     HL\r
-    000011A0 46                    2605        LD      B,(HL)\r
-    000011A1 DD CB 0A 4E           2606        BIT     1,(IX+10)\r
-    000011A5 28 07                 2607        JR      Z,?0180\r
-    000011A7 DD 5E 10              2608        LD      E,(IX+16)\r
-    000011AA 16 00                 2609        LD      D,0\r
-    000011AC 18 03                 2610        JR      ?0181\r
-    000011AE                       2611 ?0180:\r
-    000011AE 11 00 00              2612        LD      DE,0\r
-    000011B1                       2613 ?0181:\r
-    000011B1 CD F2 02              2614        CALL    LWRD ?0471\r
-    000011B4 E1                    2615        POP     HL\r
-    000011B5 E1                    2616        POP     HL\r
-    000011B6 E1                    2617        POP     HL\r
-    000011B7 DD 7E 0A              2618        LD      A,(IX+10)\r
-    000011BA E6 82                 2619        AND     130\r
-    000011BC 28 1C                 2620        JR      Z,?0183\r
-    000011BE DD 7E 0A              2621        LD      A,(IX+10)\r
-    000011C1 E6 82                 2622        AND     130\r
-    000011C3 EE 82                 2623        XOR     130\r
-    000011C5 28 13                 2624        JR      Z,?0183\r
-    000011C7                       2625 ?0185:\r
-    000011C7                       2626 ?0184:\r
-    000011C7                       2627 ?0182:\r
-    000011C7 DD 4E 08              2628        LD      C,(IX+8)\r
-    000011CA DD 46 09              2629        LD      B,(IX+9)\r
-    000011CD DD 5E 06              2630        LD      E,(IX+6)\r
-    000011D0 DD 56 07              2631        LD      D,(IX+7)\r
-    000011D3 3E AF                 2632        LD      A,BYTE3 FillRectNC\r
-    000011D5 21 AF 01              2633        LD      HL,LWRD FillRectNC\r
-    000011D8 18 11                 2634        JR      ?0353\r
-    000011DA                       2635 ?0183:\r
-    000011DA DD 4E 08              2636        LD      C,(IX+8)\r
-    000011DD DD 46 09              2637        LD      B,(IX+9)\r
-    000011E0 DD 5E 06              2638        LD      E,(IX+6)\r
-    000011E3 DD 56 07              2639        LD      D,(IX+7)\r
-    000011E6 3E 25                 2640        LD      A,BYTE3 DrawRectNC\r
-    000011E8 21 25 01              2641        LD      HL,LWRD DrawRectNC\r
-    000011EB                       2642 ?0353:\r
-    000011EB CD 00 00              2643        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000011EE                       2644 ?0186:\r
-    000011EE 21 00 00              2645        LD      HL,0\r
-    000011F1 39                    2646        ADD     HL,SP\r
-    000011F2 4E                    2647        LD      C,(HL)\r
-    000011F3 23                    2648        INC     HL\r
-    000011F4 46                    2649        LD      B,(HL)\r
-    000011F5 C5                    2650        PUSH    BC\r
-    000011F6 23                    2651        INC     HL\r
-    000011F7 4E                    2652        LD      C,(HL)\r
-    000011F8 23                    2653        INC     HL\r
-    000011F9 46                    2654        LD      B,(HL)\r
-    000011FA DD E5                 2655        PUSH    IX\r
-    000011FC D1                    2656        POP     DE\r
-    000011FD 3E 7A                 2657        LD      A,BYTE3 Button_drawtext\r
-    000011FF 21 7A 10              2658        LD      HL,LWRD Button_drawtext\r
-    00001202 CD 00 00              2659        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001205 E1                    2660        POP     HL\r
-    00001206                       2661 ?0178:\r
-    00001206 E1                    2662        POP     HL\r
-    00001207 E1                    2663        POP     HL\r
-    00001208 DD E1                 2664        POP     IX\r
-    0000120A C1                    2665        POP     BC\r
-    0000120B C3 00 00              2666        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    0000120E                       2667 ?0457:\r
-    0000120E 4E                    2668        LD      C,(HL)\r
-    0000120F 23                    2669        INC     HL\r
-    00001210 46                    2670        LD      B,(HL)\r
-    00001211 23                    2671        INC     HL\r
-    00001212                       2672 ?0458:\r
-    00001212 5E                    2673        LD      E,(HL)\r
-    00001213 23                    2674        INC     HL\r
-    00001214 56                    2675        LD      D,(HL)\r
-    00001215 3E A3                 2676        LD      A,BYTE3 Move\r
-    00001217 21 A3 00              2677        LD      HL,LWRD Move\r
-    0000121A CD 00 00              2678        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000121D DD 4E 08              2679        LD      C,(IX+8)\r
-    00001220 DD 46 09              2680        LD      B,(IX+9)\r
-    00001223 DD 5E 06              2681        LD      E,(IX+6)\r
-    00001226 DD 56 07              2682        LD      D,(IX+7)\r
-    00001229 3E E2                 2683        LD      A,BYTE3 ClearRect\r
-    0000122B 21 E2 00              2684        LD      HL,LWRD ClearRect\r
-    0000122E C9                    2685        RET\r
-    0000122F                       2686 Button_add:\r
-    0000122F CD 00 00              2687        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00001232 C3 00 00              2688        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00001235                       2689 Button_new:\r
-    00001235 CD 00 00              2690        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00001238 00 00                 2691        DEFW    0\r
-    0000123A FD E5                 2692        PUSH    IY\r
-    0000123C DD 6E 0C              2693        LD      L,(IX+12)\r
-    0000123F DD 66 0D              2694        LD      H,(IX+13)\r
-    00001242 E5                    2695        PUSH    HL\r
-    00001243 DD 6E 0A              2696        LD      L,(IX+10)\r
-    00001246 DD 66 0B              2697        LD      H,(IX+11)\r
-    00001249 E5                    2698        PUSH    HL\r
-    0000124A CD B5 0F              2699        CALL    LWRD ?0438\r
-    0000124D F1                    2700        POP     AF\r
-    0000124E F1                    2701        POP     AF\r
-    0000124F E5                    2702        PUSH    HL\r
-    00001250 FD E1                 2703        POP     IY\r
-    00001252 01 0A 00              2704        LD      BC,10\r
-    00001255 09                    2705        ADD     HL,BC\r
-    00001256 7E                    2706        LD      A,(HL)\r
-    00001257 F6 03                 2707        OR      3\r
-    00001259 77                    2708        LD      (HL),A\r
-    0000125A DD 46 0E              2709        LD      B,(IX+14)\r
-    0000125D FD 70 10              2710        LD      (IY+16),B\r
-    00001260 FD 36 17 C3           2711        LD      (IY+23),LOW(Button_handler)\r
-    00001264 FD 36 18 0F           2712        LD      (IY+24),HIGH(Button_handler)\r
-    00001268 FD 36 19 C3           2713        LD      (IY+25),BYTE3 Button_handler\r
-    0000126C FD 36 1A 36           2714        LD      (IY+26),LOW(Button_paint)\r
-    00001270 FD 36 1B 11           2715        LD      (IY+27),HIGH(Button_paint)\r
-    00001274 FD 36 1C 36           2716        LD      (IY+28),BYTE3 Button_paint\r
-    00001278 FD 36 1D 2F           2717        LD      (IY+29),LOW(Button_add)\r
-    0000127C FD 36 1E 12           2718        LD      (IY+30),HIGH(Button_add)\r
-    00001280 FD 36 1F 2F           2719        LD      (IY+31),BYTE3 Button_add\r
-    00001284 C3 51 06              2720        JP      LWRD ?0418\r
-    00001287                       2721 ToggleButton_handler:\r
-    00001287 CD 00 00              2722        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    0000128A FD E5                 2723        PUSH    IY\r
-    0000128C D5                    2724        PUSH    DE\r
-    0000128D FD E1                 2725        POP     IY\r
-    0000128F DD 6E 0A              2726        LD      L,(IX+10)\r
-    00001292 DD 66 0B              2727        LD      H,(IX+11)\r
-    00001295 E5                    2728        PUSH    HL\r
-    00001296 3E D2                 2729        LD      A,BYTE3 Window_handler\r
-    00001298 21 D2 0A              2730        LD      HL,LWRD Window_handler\r
-    0000129B CD 00 00              2731        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000129E E1                    2732        POP     HL\r
-    0000129F 3E 03                 2733        LD      A,3\r
-    000012A1 DD AE 04              2734        XOR     (IX+4)\r
-    000012A4 DD B6 05              2735        OR      (IX+5)\r
-    000012A7 20 5C                 2736        JR      NZ,?0192\r
-    000012A9 FD 4E 10              2737        LD      C,(IY+16)\r
-    000012AC 47                    2738        LD      B,A\r
-    000012AD DD 6E 0A              2739        LD      L,(IX+10)\r
-    000012B0 DD 66 0B              2740        LD      H,(IX+11)\r
-    000012B3 ED 42                 2741        SBC     HL,BC\r
-    000012B5 20 4E                 2742        JR      NZ,?0192\r
-    000012B7 FD 7E 0A              2743        LD      A,(IY+10)\r
-    000012BA E6 03                 2744        AND     3\r
-    000012BC 28 47                 2745        JR      Z,?0192\r
-    000012BE                       2746 ?0190:\r
-    000012BE                       2747 ?0189:\r
-    000012BE                       2748 ?0187:\r
-    000012BE FD 7E 0A              2749        LD      A,(IY+10)\r
-    000012C1 EE 04                 2750        XOR     4\r
-    000012C3 FD 77 0A              2751        LD      (IY+10),A\r
-    000012C6 DD 6E 0A              2752        LD      L,(IX+10)\r
-    000012C9 DD 66 0B              2753        LD      H,(IX+11)\r
-    000012CC E5                    2754        PUSH    HL\r
-    000012CD FD 5E 11              2755        LD      E,(IY+17)\r
-    000012D0 FD 56 12              2756        LD      D,(IY+18)\r
-    000012D3 FD 6E 11              2757        LD      L,(IY+17)\r
-    000012D6 FD 66 12              2758        LD      H,(IY+18)\r
-    000012D9 0E 17                 2759        LD      C,23\r
-    000012DB 09                    2760        ADD     HL,BC\r
-    000012DC 4E                    2761        LD      C,(HL)\r
-    000012DD 23                    2762        INC     HL\r
-    000012DE 46                    2763        LD      B,(HL)\r
-    000012DF 23                    2764        INC     HL\r
-    000012E0 7E                    2765        LD      A,(HL)\r
-    000012E1 69                    2766        LD      L,C\r
-    000012E2 60                    2767        LD      H,B\r
-    000012E3 01 02 02              2768        LD      BC,514\r
-    000012E6 CD 00 00              2769        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000012E9 E1                    2770        POP     HL\r
-    000012EA 21 00 00              2771        LD      HL,0\r
-    000012ED E5                    2772        PUSH    HL\r
-    000012EE 01 03 01              2773        LD      BC,259\r
-    000012F1 CD 76 0D              2774        CALL    LWRD ?0463\r
-    000012F4 E1                    2775        POP     HL\r
-    000012F5 FD CB 0A 66           2776        BIT     4,(IY+10)\r
-    000012F9 28 0A                 2777        JR      Z,?0192\r
-    000012FB                       2778 ?0191:\r
-    000012FB FD 4E 10              2779        LD      C,(IY+16)\r
-    000012FE 06 00                 2780        LD      B,0\r
-    00001300 C5                    2781        PUSH    BC\r
-    00001301 CD 5E 10              2782        CALL    LWRD ?0469\r
-    00001304 E1                    2783        POP     HL\r
-    00001305                       2784 ?0192:\r
-    00001305                       2785 ?0188:\r
-    00001305 21 01 02              2786        LD      HL,513\r
-    00001308 DD 4E 04              2787        LD      C,(IX+4)\r
-    0000130B DD 46 05              2788        LD      B,(IX+5)\r
-    0000130E A7                    2789        AND     A\r
-    0000130F ED 42                 2790        SBC     HL,BC\r
-    00001311 20 0B                 2791        JR      NZ,?0194\r
-    00001313                       2792 ?0193:\r
-    00001313 DD 6E 0A              2793        LD      L,(IX+10)\r
-    00001316 DD 66 0B              2794        LD      H,(IX+11)\r
-    00001319 E5                    2795        PUSH    HL\r
-    0000131A CD 41 10              2796        CALL    LWRD ?0465\r
-    0000131D E1                    2797        POP     HL\r
-    0000131E                       2798 ?0194:\r
-    0000131E FD E1                 2799        POP     IY\r
-    00001320 C3 00 00              2800        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00001323                       2801 ToggleButton_paint:\r
-    00001323 C5                    2802        PUSH    BC\r
-    00001324 DD E5                 2803        PUSH    IX\r
-    00001326 F5                    2804        PUSH    AF\r
-    00001327 F5                    2805        PUSH    AF\r
-    00001328 D5                    2806        PUSH    DE\r
-    00001329 DD E1                 2807        POP     IX\r
-    0000132B 21 02 00              2808        LD      HL,2\r
-    0000132E 39                    2809        ADD     HL,SP\r
-    0000132F AF                    2810        XOR     A\r
-    00001330 77                    2811        LD      (HL),A\r
-    00001331 23                    2812        INC     HL\r
-    00001332 77                    2813        LD      (HL),A\r
-    00001333 2B                    2814        DEC     HL\r
-    00001334 2B                    2815        DEC     HL\r
-    00001335 2B                    2816        DEC     HL\r
-    00001336 77                    2817        LD      (HL),A\r
-    00001337 23                    2818        INC     HL\r
-    00001338 77                    2819        LD      (HL),A\r
-    00001339 21 0A 00              2820        LD      HL,10\r
-    0000133C ED 4B 00 00           2821        LD      BC,(global)\r
-    00001340 09                    2822        ADD     HL,BC\r
-    00001341 7E                    2823        LD      A,(HL)\r
-    00001342 23                    2824        INC     HL\r
-    00001343 66                    2825        LD      H,(HL)\r
-    00001344 6F                    2826        LD      L,A\r
-    00001345 46                    2827        LD      B,(HL)\r
-    00001346 23                    2828        INC     HL\r
-    00001347 66                    2829        LD      H,(HL)\r
-    00001348 68                    2830        LD      L,B\r
-    00001349 E5                    2831        PUSH    HL\r
-    0000134A 21 0E 00              2832        LD      HL,14\r
-    0000134D 19                    2833        ADD     HL,DE\r
-    0000134E 4E                    2834        LD      C,(HL)\r
-    0000134F 23                    2835        INC     HL\r
-    00001350 46                    2836        LD      B,(HL)\r
-    00001351 E1                    2837        POP     HL\r
-    00001352 A7                    2838        AND     A\r
-    00001353 ED 42                 2839        SBC     HL,BC\r
-    00001355 28 03                 2840        JR      Z,?0196\r
-    00001357                       2841 ?0195:\r
-    00001357 CD 1E 0F              2842        CALL    LWRD ?0473\r
-    0000135A                       2843 ?0196:\r
-    0000135A DD CB 0A 46           2844        BIT     0,(IX+10)\r
-    0000135E CA 0C 14              2845        JP      Z,?0198\r
-    00001361                       2846 ?0197:\r
-    00001361 21 00 00              2847        LD      HL,0\r
-    00001364 39                    2848        ADD     HL,SP\r
-    00001365 E5                    2849        PUSH    HL\r
-    00001366 CD 85 0D              2850        CALL    LWRD ?0467\r
-    00001369 E1                    2851        POP     HL\r
-    0000136A 21 00 00              2852        LD      HL,0\r
-    0000136D 39                    2853        ADD     HL,SP\r
-    0000136E CD 0E 12              2854        CALL    LWRD ?0457\r
-    00001371 CD 00 00              2855        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001374 DD CB 0A 4E           2856        BIT     1,(IX+10)\r
-    00001378 28 36                 2857        JR      Z,?0200\r
-    0000137A DD CB 0A 56           2858        BIT     2,(IX+10)\r
-    0000137E 28 30                 2859        JR      Z,?0200\r
-    00001380                       2860 ?0202:\r
-    00001380                       2861 ?0201:\r
-    00001380                       2862 ?0199:\r
-    00001380 DD 4E 08              2863        LD      C,(IX+8)\r
-    00001383 DD 46 09              2864        LD      B,(IX+9)\r
-    00001386 DD 5E 06              2865        LD      E,(IX+6)\r
-    00001389 DD 56 07              2866        LD      D,(IX+7)\r
-    0000138C 3E AF                 2867        LD      A,BYTE3 FillRectNC\r
-    0000138E 21 AF 01              2868        LD      HL,LWRD FillRectNC\r
-    00001391 CD 00 00              2869        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001394 DD 6E 08              2870        LD      L,(IX+8)\r
-    00001397 DD 66 09              2871        LD      H,(IX+9)\r
-    0000139A E5                    2872        PUSH    HL\r
-    0000139B DD 6E 06              2873        LD      L,(IX+6)\r
-    0000139E DD 66 07              2874        LD      H,(IX+7)\r
-    000013A1 E5                    2875        PUSH    HL\r
-    000013A2 21 04 00              2876        LD      HL,4\r
-    000013A5 39                    2877        ADD     HL,SP\r
-    000013A6 4E                    2878        LD      C,(HL)\r
-    000013A7 23                    2879        INC     HL\r
-    000013A8 46                    2880        LD      B,(HL)\r
-    000013A9 C5                    2881        PUSH    BC\r
-    000013AA 23                    2882        INC     HL\r
-    000013AB 4E                    2883        LD      C,(HL)\r
-    000013AC 23                    2884        INC     HL\r
-    000013AD 46                    2885        LD      B,(HL)\r
-    000013AE 18 34                 2886        JR      ?0357\r
-    000013B0                       2887 ?0200:\r
-    000013B0 DD 4E 08              2888        LD      C,(IX+8)\r
-    000013B3 DD 46 09              2889        LD      B,(IX+9)\r
-    000013B6 DD 5E 06              2890        LD      E,(IX+6)\r
-    000013B9 DD 56 07              2891        LD      D,(IX+7)\r
-    000013BC 3E 25                 2892        LD      A,BYTE3 DrawRectNC\r
-    000013BE 21 25 01              2893        LD      HL,LWRD DrawRectNC\r
-    000013C1 CD 00 00              2894        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000013C4 DD 6E 08              2895        LD      L,(IX+8)\r
-    000013C7 DD 66 09              2896        LD      H,(IX+9)\r
-    000013CA E5                    2897        PUSH    HL\r
-    000013CB DD 6E 06              2898        LD      L,(IX+6)\r
-    000013CE DD 66 07              2899        LD      H,(IX+7)\r
-    000013D1 E5                    2900        PUSH    HL\r
-    000013D2 21 04 00              2901        LD      HL,4\r
-    000013D5 39                    2902        ADD     HL,SP\r
-    000013D6 4E                    2903        LD      C,(HL)\r
-    000013D7 23                    2904        INC     HL\r
-    000013D8 46                    2905        LD      B,(HL)\r
-    000013D9 C5                    2906        PUSH    BC\r
-    000013DA 23                    2907        INC     HL\r
-    000013DB 4E                    2908        LD      C,(HL)\r
-    000013DC 23                    2909        INC     HL\r
-    000013DD 46                    2910        LD      B,(HL)\r
-    000013DE DD CB 0A 4E           2911        BIT     1,(IX+10)\r
-    000013E2 28 07                 2912        JR      Z,?0205\r
-    000013E4                       2913 ?0357:\r
-    000013E4 DD 5E 10              2914        LD      E,(IX+16)\r
-    000013E7 16 00                 2915        LD      D,0\r
-    000013E9 18 03                 2916        JR      ?0206\r
-    000013EB                       2917 ?0205:\r
-    000013EB 11 00 00              2918        LD      DE,0\r
-    000013EE                       2919 ?0206:\r
-    000013EE CD F2 02              2920        CALL    LWRD ?0471\r
-    000013F1 E1                    2921        POP     HL\r
-    000013F2 E1                    2922        POP     HL\r
-    000013F3 E1                    2923        POP     HL\r
-    000013F4                       2924 ?0203:\r
-    000013F4 21 00 00              2925        LD      HL,0\r
-    000013F7 39                    2926        ADD     HL,SP\r
-    000013F8 4E                    2927        LD      C,(HL)\r
-    000013F9 23                    2928        INC     HL\r
-    000013FA 46                    2929        LD      B,(HL)\r
-    000013FB C5                    2930        PUSH    BC\r
-    000013FC 23                    2931        INC     HL\r
-    000013FD 4E                    2932        LD      C,(HL)\r
-    000013FE 23                    2933        INC     HL\r
-    000013FF 46                    2934        LD      B,(HL)\r
-    00001400 DD E5                 2935        PUSH    IX\r
-    00001402 D1                    2936        POP     DE\r
-    00001403 3E 7A                 2937        LD      A,BYTE3 Button_drawtext\r
-    00001405 21 7A 10              2938        LD      HL,LWRD Button_drawtext\r
-    00001408 CD 00 00              2939        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000140B E1                    2940        POP     HL\r
-    0000140C                       2941 ?0198:\r
-    0000140C C3 06 12              2942        JP      LWRD ?0178\r
-    0000140F                       2943 ToggleButton_new:\r
-    0000140F CD 00 00              2944        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00001412 00 00                 2945        DEFW    0\r
-    00001414 FD E5                 2946        PUSH    IY\r
-    00001416 DD 6E 0C              2947        LD      L,(IX+12)\r
-    00001419 DD 66 0D              2948        LD      H,(IX+13)\r
-    0000141C E5                    2949        PUSH    HL\r
-    0000141D DD 6E 0A              2950        LD      L,(IX+10)\r
-    00001420 DD 66 0B              2951        LD      H,(IX+11)\r
-    00001423 E5                    2952        PUSH    HL\r
-    00001424 CD B5 0F              2953        CALL    LWRD ?0438\r
-    00001427 F1                    2954        POP     AF\r
-    00001428 F1                    2955        POP     AF\r
-    00001429 E5                    2956        PUSH    HL\r
-    0000142A FD E1                 2957        POP     IY\r
-    0000142C 01 0A 00              2958        LD      BC,10\r
-    0000142F 09                    2959        ADD     HL,BC\r
-    00001430 7E                    2960        LD      A,(HL)\r
-    00001431 F6 07                 2961        OR      7\r
-    00001433 77                    2962        LD      (HL),A\r
-    00001434 DD 46 0E              2963        LD      B,(IX+14)\r
-    00001437 FD 70 10              2964        LD      (IY+16),B\r
-    0000143A FD 36 17 87           2965        LD      (IY+23),LOW(ToggleButton_handler)\r
-    0000143E FD 36 18 12           2966        LD      (IY+24),HIGH(ToggleButton_handler)\r
-    00001442 FD 36 19 87           2967        LD      (IY+25),BYTE3 ToggleButton_handler\r
-    00001446 FD 36 1A 23           2968        LD      (IY+26),LOW(ToggleButton_paint)\r
-    0000144A FD 36 1B 13           2969        LD      (IY+27),HIGH(ToggleButton_paint)\r
-    0000144E FD 36 1C 23           2970        LD      (IY+28),BYTE3 ToggleButton_paint\r
-    00001452 FD 36 1D 2F           2971        LD      (IY+29),LOW(Button_add)\r
-    00001456 FD 36 1E 12           2972        LD      (IY+30),HIGH(Button_add)\r
-    0000145A FD 36 1F 2F           2973        LD      (IY+31),BYTE3 Button_add\r
-    0000145E C3 51 06              2974        JP      LWRD ?0418\r
-    00001461                       2975 Dialog_handler:\r
-    00001461 CD 00 00              2976        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00001464 FD E5                 2977        PUSH    IY\r
-    00001466 D5                    2978        PUSH    DE\r
-    00001467 FD E1                 2979        POP     IY\r
-    00001469 DD 6E 0A              2980        LD      L,(IX+10)\r
-    0000146C DD 66 0B              2981        LD      H,(IX+11)\r
-    0000146F E5                    2982        PUSH    HL\r
-    00001470 3E D2                 2983        LD      A,BYTE3 Window_handler\r
-    00001472 21 D2 0A              2984        LD      HL,LWRD Window_handler\r
-    00001475 CD 00 00              2985        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001478 E1                    2986        POP     HL\r
-    00001479 21 01 02              2987        LD      HL,513\r
-    0000147C DD 4E 04              2988        LD      C,(IX+4)\r
-    0000147F DD 46 05              2989        LD      B,(IX+5)\r
-    00001482 A7                    2990        AND     A\r
-    00001483 ED 42                 2991        SBC     HL,BC\r
-    00001485 20 40                 2992        JR      NZ,?0208\r
-    00001487 3E FF                 2993        LD      A,255\r
-    00001489 DD AE 0A              2994        XOR     (IX+10)\r
-    0000148C DD B6 0B              2995        OR      (IX+11)\r
-    0000148F 20 36                 2996        JR      NZ,?0208\r
-    00001491                       2997 ?0210:\r
-    00001491                       2998 ?0209:\r
-    00001491                       2999 ?0207:\r
-    00001491 FD CB 0B 66           3000        BIT     4,(IY+11)\r
-    00001495 E5                    3001        PUSH    HL\r
-    00001496 28 05                 3002        JR      Z,?0212\r
-    00001498                       3003 ?0211:\r
-    00001498 01 05 01              3004        LD      BC,261\r
-    0000149B 18 03                 3005        JR      ?0358\r
-    0000149D                       3006 ?0212:\r
-    0000149D 01 02 01              3007        LD      BC,258\r
-    000014A0                       3008 ?0358:\r
-    000014A0 CD 76 0D              3009        CALL    LWRD ?0463\r
-    000014A3 E1                    3010        POP     HL\r
-    000014A4                       3011 ?0213:\r
-    000014A4 FD 4E 10              3012        LD      C,(IY+16)\r
-    000014A7 06 00                 3013        LD      B,0\r
-    000014A9 C5                    3014        PUSH    BC\r
-    000014AA FD 5E 11              3015        LD      E,(IY+17)\r
-    000014AD FD 56 12              3016        LD      D,(IY+18)\r
-    000014B0 FD 6E 11              3017        LD      L,(IY+17)\r
-    000014B3 FD 66 12              3018        LD      H,(IY+18)\r
-    000014B6 0E 17                 3019        LD      C,23\r
-    000014B8 09                    3020        ADD     HL,BC\r
-    000014B9 4E                    3021        LD      C,(HL)\r
-    000014BA 23                    3022        INC     HL\r
-    000014BB 46                    3023        LD      B,(HL)\r
-    000014BC 23                    3024        INC     HL\r
-    000014BD 7E                    3025        LD      A,(HL)\r
-    000014BE 69                    3026        LD      L,C\r
-    000014BF 60                    3027        LD      H,B\r
-    000014C0 01 01 03              3028        LD      BC,769\r
-    000014C3 CD 00 00              3029        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000014C6 E1                    3030        POP     HL\r
-    000014C7                       3031 ?0208:\r
-    000014C7 21 01 02              3032        LD      HL,513\r
-    000014CA DD 4E 04              3033        LD      C,(IX+4)\r
-    000014CD DD 46 05              3034        LD      B,(IX+5)\r
-    000014D0 A7                    3035        AND     A\r
-    000014D1 ED 42                 3036        SBC     HL,BC\r
-    000014D3 20 40                 3037        JR      NZ,?0215\r
-    000014D5 3E FE                 3038        LD      A,254\r
-    000014D7 DD AE 0A              3039        XOR     (IX+10)\r
-    000014DA DD B6 0B              3040        OR      (IX+11)\r
-    000014DD 20 36                 3041        JR      NZ,?0215\r
-    000014DF                       3042 ?0217:\r
-    000014DF                       3043 ?0216:\r
-    000014DF                       3044 ?0214:\r
-    000014DF FD CB 0B 66           3045        BIT     4,(IY+11)\r
-    000014E3 E5                    3046        PUSH    HL\r
-    000014E4 28 05                 3047        JR      Z,?0219\r
-    000014E6                       3048 ?0218:\r
-    000014E6 01 05 01              3049        LD      BC,261\r
-    000014E9 18 03                 3050        JR      ?0359\r
-    000014EB                       3051 ?0219:\r
-    000014EB 01 02 01              3052        LD      BC,258\r
-    000014EE                       3053 ?0359:\r
-    000014EE CD 76 0D              3054        CALL    LWRD ?0463\r
-    000014F1 E1                    3055        POP     HL\r
-    000014F2                       3056 ?0220:\r
-    000014F2 FD 4E 10              3057        LD      C,(IY+16)\r
-    000014F5 06 00                 3058        LD      B,0\r
-    000014F7 C5                    3059        PUSH    BC\r
-    000014F8 FD 5E 11              3060        LD      E,(IY+17)\r
-    000014FB FD 56 12              3061        LD      D,(IY+18)\r
-    000014FE FD 6E 11              3062        LD      L,(IY+17)\r
-    00001501 FD 66 12              3063        LD      H,(IY+18)\r
-    00001504 0E 17                 3064        LD      C,23\r
-    00001506 09                    3065        ADD     HL,BC\r
-    00001507 4E                    3066        LD      C,(HL)\r
-    00001508 23                    3067        INC     HL\r
-    00001509 46                    3068        LD      B,(HL)\r
-    0000150A 23                    3069        INC     HL\r
-    0000150B 7E                    3070        LD      A,(HL)\r
-    0000150C 69                    3071        LD      L,C\r
-    0000150D 60                    3072        LD      H,B\r
-    0000150E 01 02 03              3073        LD      BC,770\r
-    00001511 CD 00 00              3074        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001514 E1                    3075        POP     HL\r
-    00001515                       3076 ?0215:\r
-    00001515 FD E1                 3077        POP     IY\r
-    00001517 C3 00 00              3078        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000151A                       3079 Dialog_new:\r
-    0000151A CD 00 00              3080        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000151D FE FF                 3081        DEFW    -2\r
-    0000151F FD E5                 3082        PUSH    IY\r
-    00001521 DD 6E 0C              3083        LD      L,(IX+12)\r
-    00001524 DD 66 0D              3084        LD      H,(IX+13)\r
-    00001527 E5                    3085        PUSH    HL\r
-    00001528 DD 6E 0A              3086        LD      L,(IX+10)\r
-    0000152B DD 66 0B              3087        LD      H,(IX+11)\r
-    0000152E E5                    3088        PUSH    HL\r
-    0000152F CD B5 0F              3089        CALL    LWRD ?0438\r
-    00001532 F1                    3090        POP     AF\r
-    00001533 F1                    3091        POP     AF\r
-    00001534 E5                    3092        PUSH    HL\r
-    00001535 FD E1                 3093        POP     IY\r
-    00001537 01 0A 00              3094        LD      BC,10\r
-    0000153A 09                    3095        ADD     HL,BC\r
-    0000153B CB C6                 3096        SET     0,(HL)\r
-    0000153D DD 46 0E              3097        LD      B,(IX+14)\r
-    00001540 FD 70 10              3098        LD      (IY+16),B\r
-    00001543 FD 36 17 61           3099        LD      (IY+23),LOW(Dialog_handler)\r
-    00001547 FD 36 18 14           3100        LD      (IY+24),HIGH(Dialog_handler)\r
-    0000154B FD 36 19 61           3101        LD      (IY+25),BYTE3 Dialog_handler\r
-    0000154F FD 36 1A 9F           3102        LD      (IY+26),LOW(Window_paint)\r
-    00001553 FD 36 1B 0D           3103        LD      (IY+27),HIGH(Window_paint)\r
-    00001557 FD 36 1C 9F           3104        LD      (IY+28),BYTE3 Window_paint\r
-    0000155B FD 36 1D 63           3105        LD      (IY+29),LOW(Window_add)\r
-    0000155F FD 36 1E 0F           3106        LD      (IY+30),HIGH(Window_add)\r
-    00001563 FD 36 1F 63           3107        LD      (IY+31),BYTE3 Window_add\r
-    00001567 21 FF 00              3108        LD      HL,255\r
-    0000156A E5                    3109        PUSH    HL\r
-    0000156B 2E 14                 3110        LD      L,20\r
-    0000156D E5                    3111        PUSH    HL\r
-    0000156E 2E 28                 3112        LD      L,40\r
-    00001570 E5                    3113        PUSH    HL\r
-    00001571 21 E4 FF              3114        LD      HL,65508\r
-    00001574 CD CC 15              3115        CALL    LWRD ?0439\r
-    00001577 F1                    3116        POP     AF\r
-    00001578 F1                    3117        POP     AF\r
-    00001579 F1                    3118        POP     AF\r
-    0000157A DD 75 FE              3119        LD      (IX-2),L\r
-    0000157D DD 74 FF              3120        LD      (IX-1),H\r
-    00001580 01 20 00              3121        LD      BC,32\r
-    00001583 09                    3122        ADD     HL,BC\r
-    00001584 E5                    3123        PUSH    HL\r
-    00001585 11 03 00              3124        LD      DE,3\r
-    00001588 CD 28 04              3125        CALL    LWRD ?0450\r
-    0000158B E1                    3126        POP     HL\r
-    0000158C 71                    3127        LD      (HL),C\r
-    0000158D 23                    3128        INC     HL\r
-    0000158E 70                    3129        LD      (HL),B\r
-    0000158F 01 0A 00              3130        LD      BC,?0221\r
-    00001592 CD E8 15              3131        CALL    LWRD ?0456\r
-    00001595 CD 00 00              3132        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001598 21 FE 00              3133        LD      HL,254\r
-    0000159B E5                    3134        PUSH    HL\r
-    0000159C 2E 14                 3135        LD      L,20\r
-    0000159E E5                    3136        PUSH    HL\r
-    0000159F 2E 28                 3137        LD      L,40\r
-    000015A1 E5                    3138        PUSH    HL\r
-    000015A2 21 C8 FF              3139        LD      HL,65480\r
-    000015A5 CD CC 15              3140        CALL    LWRD ?0439\r
-    000015A8 F1                    3141        POP     AF\r
-    000015A9 F1                    3142        POP     AF\r
-    000015AA F1                    3143        POP     AF\r
-    000015AB DD 75 FE              3144        LD      (IX-2),L\r
-    000015AE DD 74 FF              3145        LD      (IX-1),H\r
-    000015B1 01 20 00              3146        LD      BC,32\r
-    000015B4 09                    3147        ADD     HL,BC\r
-    000015B5 E5                    3148        PUSH    HL\r
-    000015B6 11 07 00              3149        LD      DE,7\r
-    000015B9 CD 28 04              3150        CALL    LWRD ?0450\r
-    000015BC E1                    3151        POP     HL\r
-    000015BD 71                    3152        LD      (HL),C\r
-    000015BE 23                    3153        INC     HL\r
-    000015BF 70                    3154        LD      (HL),B\r
-    000015C0 01 0D 00              3155        LD      BC,?0222\r
-    000015C3 CD E8 15              3156        CALL    LWRD ?0456\r
-    000015C6 CD 00 00              3157        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000015C9 C3 51 06              3158        JP      LWRD ?0418\r
-    000015CC                       3159 ?0439:\r
-    000015CC DD 4E 0C              3160        LD      C,(IX+12)\r
-    000015CF DD 46 0D              3161        LD      B,(IX+13)\r
-    000015D2 09                    3162        ADD     HL,BC\r
-    000015D3 4D                    3163        LD      C,L\r
-    000015D4 44                    3164        LD      B,H\r
-    000015D5 21 D0 FF              3165        LD      HL,65488\r
-    000015D8 DD 5E 0A              3166        LD      E,(IX+10)\r
-    000015DB DD 56 0B              3167        LD      D,(IX+11)\r
-    000015DE 19                    3168        ADD     HL,DE\r
-    000015DF EB                    3169        EX      DE,HL\r
-    000015E0                       3170 ?0440:\r
-    000015E0 3E 35                 3171        LD      A,BYTE3 Button_new\r
-    000015E2 21 35 12              3172        LD      HL,LWRD Button_new\r
-    000015E5 C3 00 00              3173        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    000015E8                       3174 ?0456:\r
-    000015E8 DD 5E FE              3175        LD      E,(IX-2)\r
-    000015EB DD 56 FF              3176        LD      D,(IX-1)\r
-    000015EE 3E 59                 3177        LD      A,BYTE3 Component_setlabel\r
-    000015F0 21 59 06              3178        LD      HL,LWRD Component_setlabel\r
-    000015F3 CD 00 00              3179        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000015F6 DD 4E FE              3180        LD      C,(IX-2)\r
-    000015F9 DD 46 FF              3181        LD      B,(IX-1)\r
-    000015FC FD E5                 3182        PUSH    IY\r
-    000015FE D1                    3183        POP     DE\r
-    000015FF FD 7E 1F              3184        LD      A,(IY+31)\r
-    00001602 FD 6E 1D              3185        LD      L,(IY+29)\r
-    00001605 FD 66 1E              3186        LD      H,(IY+30)\r
-    00001608 C9                    3187        RET\r
-    00001609                       3188 Display_handler:\r
-    00001609 CD 00 00              3189        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    0000160C FD E5                 3190        PUSH    IY\r
-    0000160E D5                    3191        PUSH    DE\r
-    0000160F FD E1                 3192        POP     IY\r
-    00001611 DD 6E 0A              3193        LD      L,(IX+10)\r
-    00001614 DD 66 0B              3194        LD      H,(IX+11)\r
-    00001617 E5                    3195        PUSH    HL\r
-    00001618 3E C3                 3196        LD      A,BYTE3 Button_handler\r
-    0000161A 21 C3 0F              3197        LD      HL,LWRD Button_handler\r
-    0000161D CD 00 00              3198        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001620 E1                    3199        POP     HL\r
-    00001621 21 03 02              3200        LD      HL,515\r
-    00001624 DD 4E 04              3201        LD      C,(IX+4)\r
-    00001627 DD 46 05              3202        LD      B,(IX+5)\r
-    0000162A A7                    3203        AND     A\r
-    0000162B ED 42                 3204        SBC     HL,BC\r
-    0000162D 20 40                 3205        JR      NZ,?0224\r
-    0000162F FD CB 0A 5E           3206        BIT     3,(IY+10)\r
-    00001633 28 3A                 3207        JR      Z,?0224\r
-    00001635                       3208 ?0226:\r
-    00001635                       3209 ?0225:\r
-    00001635                       3210 ?0223:\r
-    00001635 3E 08                 3211        LD      A,8\r
-    00001637 DD AE 0A              3212        XOR     (IX+10)\r
-    0000163A DD B6 0B              3213        OR      (IX+11)\r
-    0000163D FD 5E 20              3214        LD      E,(IY+32)\r
-    00001640 FD 56 21              3215        LD      D,(IY+33)\r
-    00001643 3E 00                 3216        LD      A,BYTE3 strlen\r
-    00001645 21 00 00              3217        LD      HL,LWRD strlen\r
-    00001648 20 0D                 3218        JR      NZ,?0228\r
-    0000164A                       3219 ?0227:\r
-    0000164A CD 22 04              3220        CALL    LWRD ?0448\r
-    0000164D 28 15                 3221        JR      Z,?0231\r
-    0000164F                       3222 ?0229:\r
-    0000164F CD 74 16              3223        CALL    LWRD ?0445\r
-    00001652 2B                    3224        DEC     HL\r
-    00001653 36 00                 3225        LD      (HL),0\r
-    00001655                       3226 ?0230:\r
-    00001655 18 0D                 3227        JR      ?0231\r
-    00001657                       3228 ?0228:\r
-    00001657 CD 7F 16              3229        CALL    LWRD ?0446\r
-    0000165A 23                    3230        INC     HL\r
-    0000165B 36 00                 3231        LD      (HL),0\r
-    0000165D CD 74 16              3232        CALL    LWRD ?0445\r
-    00001660 DD 46 0A              3233        LD      B,(IX+10)\r
-    00001663 70                    3234        LD      (HL),B\r
-    00001664                       3235 ?0231:\r
-    00001664 21 00 00              3236        LD      HL,0\r
-    00001667 E5                    3237        PUSH    HL\r
-    00001668 01 03 01              3238        LD      BC,259\r
-    0000166B CD 76 0D              3239        CALL    LWRD ?0463\r
-    0000166E E1                    3240        POP     HL\r
-    0000166F                       3241 ?0224:\r
-    0000166F FD E1                 3242        POP     IY\r
-    00001671 C3 00 00              3243        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00001674                       3244 ?0445:\r
-    00001674 FD 5E 20              3245        LD      E,(IY+32)\r
-    00001677 FD 56 21              3246        LD      D,(IY+33)\r
-    0000167A 3E 00                 3247        LD      A,BYTE3 strlen\r
-    0000167C 21 00 00              3248        LD      HL,LWRD strlen\r
-    0000167F                       3249 ?0446:\r
-    0000167F CD 00 00              3250        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001682 FD 4E 20              3251        LD      C,(IY+32)\r
-    00001685 FD 46 21              3252        LD      B,(IY+33)\r
-    00001688 09                    3253        ADD     HL,BC\r
-    00001689 C9                    3254        RET\r
-    0000168A                       3255 Display_paint:\r
-    0000168A C5                    3256        PUSH    BC\r
-    0000168B FD E5                 3257        PUSH    IY\r
-    0000168D DD E5                 3258        PUSH    IX\r
-    0000168F 21 B8 FF              3259        LD      HL,65464\r
-    00001692 39                    3260        ADD     HL,SP\r
-    00001693 F9                    3261        LD      SP,HL\r
-    00001694 D5                    3262        PUSH    DE\r
-    00001695 DD E1                 3263        POP     IX\r
-    00001697 AF                    3264        XOR     A\r
-    00001698 77                    3265        LD      (HL),A\r
-    00001699 23                    3266        INC     HL\r
-    0000169A 77                    3267        LD      (HL),A\r
-    0000169B 23                    3268        INC     HL\r
-    0000169C 77                    3269        LD      (HL),A\r
-    0000169D 23                    3270        INC     HL\r
-    0000169E 77                    3271        LD      (HL),A\r
-    0000169F 21 0A 00              3272        LD      HL,10\r
-    000016A2 ED 4B 00 00           3273        LD      BC,(global)\r
-    000016A6 09                    3274        ADD     HL,BC\r
-    000016A7 7E                    3275        LD      A,(HL)\r
-    000016A8 23                    3276        INC     HL\r
-    000016A9 66                    3277        LD      H,(HL)\r
-    000016AA 6F                    3278        LD      L,A\r
-    000016AB 46                    3279        LD      B,(HL)\r
-    000016AC 23                    3280        INC     HL\r
-    000016AD 66                    3281        LD      H,(HL)\r
-    000016AE 68                    3282        LD      L,B\r
-    000016AF E5                    3283        PUSH    HL\r
-    000016B0 21 0E 00              3284        LD      HL,14\r
-    000016B3 19                    3285        ADD     HL,DE\r
-    000016B4 4E                    3286        LD      C,(HL)\r
-    000016B5 23                    3287        INC     HL\r
-    000016B6 46                    3288        LD      B,(HL)\r
-    000016B7 E1                    3289        POP     HL\r
-    000016B8 A7                    3290        AND     A\r
-    000016B9 ED 42                 3291        SBC     HL,BC\r
-    000016BB 28 03                 3292        JR      Z,?0233\r
-    000016BD                       3293 ?0232:\r
-    000016BD CD 1E 0F              3294        CALL    LWRD ?0473\r
-    000016C0                       3295 ?0233:\r
-    000016C0 DD CB 0A 46           3296        BIT     0,(IX+10)\r
-    000016C4 CA CE 17              3297        JP      Z,?0248\r
-    000016C7                       3298 ?0234:\r
-    000016C7 21 02 00              3299        LD      HL,2\r
-    000016CA 39                    3300        ADD     HL,SP\r
-    000016CB E5                    3301        PUSH    HL\r
-    000016CC 2B                    3302        DEC     HL\r
-    000016CD 2B                    3303        DEC     HL\r
-    000016CE CD 87 0D              3304        CALL    LWRD ?0468\r
-    000016D1 E1                    3305        POP     HL\r
-    000016D2 21 02 00              3306        LD      HL,2\r
-    000016D5 39                    3307        ADD     HL,SP\r
-    000016D6 4E                    3308        LD      C,(HL)\r
-    000016D7 23                    3309        INC     HL\r
-    000016D8 46                    3310        LD      B,(HL)\r
-    000016D9 2B                    3311        DEC     HL\r
-    000016DA 2B                    3312        DEC     HL\r
-    000016DB 2B                    3313        DEC     HL\r
-    000016DC CD 12 12              3314        CALL    LWRD ?0458\r
-    000016DF CD 00 00              3315        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000016E2 DD 6E 08              3316        LD      L,(IX+8)\r
-    000016E5 DD 66 09              3317        LD      H,(IX+9)\r
-    000016E8 E5                    3318        PUSH    HL\r
-    000016E9 DD 6E 06              3319        LD      L,(IX+6)\r
-    000016EC DD 66 07              3320        LD      H,(IX+7)\r
-    000016EF E5                    3321        PUSH    HL\r
-    000016F0 21 06 00              3322        LD      HL,6\r
-    000016F3 39                    3323        ADD     HL,SP\r
-    000016F4 4E                    3324        LD      C,(HL)\r
-    000016F5 23                    3325        INC     HL\r
-    000016F6 46                    3326        LD      B,(HL)\r
-    000016F7 C5                    3327        PUSH    BC\r
-    000016F8 2B                    3328        DEC     HL\r
-    000016F9 2B                    3329        DEC     HL\r
-    000016FA 2B                    3330        DEC     HL\r
-    000016FB 4E                    3331        LD      C,(HL)\r
-    000016FC 23                    3332        INC     HL\r
-    000016FD 46                    3333        LD      B,(HL)\r
-    000016FE DD CB 0A 4E           3334        BIT     1,(IX+10)\r
-    00001702 28 07                 3335        JR      Z,?0237\r
-    00001704 DD 5E 10              3336        LD      E,(IX+16)\r
-    00001707 16 00                 3337        LD      D,0\r
-    00001709 18 03                 3338        JR      ?0238\r
-    0000170B                       3339 ?0237:\r
-    0000170B 11 00 00              3340        LD      DE,0\r
-    0000170E                       3341 ?0238:\r
-    0000170E CD F2 02              3342        CALL    LWRD ?0471\r
-    00001711 E1                    3343        POP     HL\r
-    00001712 E1                    3344        POP     HL\r
-    00001713 E1                    3345        POP     HL\r
-    00001714 DD CB 0A 7E           3346        BIT     7,(IX+10)\r
-    00001718 DD 4E 08              3347        LD      C,(IX+8)\r
-    0000171B DD 46 09              3348        LD      B,(IX+9)\r
-    0000171E DD 5E 06              3349        LD      E,(IX+6)\r
-    00001721 DD 56 07              3350        LD      D,(IX+7)\r
-    00001724 20 07                 3351        JR      NZ,?0240\r
-    00001726                       3352 ?0239:\r
-    00001726 3E AF                 3353        LD      A,BYTE3 FillRectNC\r
-    00001728 21 AF 01              3354        LD      HL,LWRD FillRectNC\r
-    0000172B 18 05                 3355        JR      ?0364\r
-    0000172D                       3356 ?0240:\r
-    0000172D 3E 25                 3357        LD      A,BYTE3 DrawRectNC\r
-    0000172F 21 25 01              3358        LD      HL,LWRD DrawRectNC\r
-    00001732                       3359 ?0364:\r
-    00001732 CD 00 00              3360        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001735                       3361 ?0241:\r
-    00001735 DD 5E 20              3362        LD      E,(IX+32)\r
-    00001738 DD 56 21              3363        LD      D,(IX+33)\r
-    0000173B 21 0A 00              3364        LD      HL,10\r
-    0000173E ED 4B 00 00           3365        LD      BC,(global)\r
-    00001742 09                    3366        ADD     HL,BC\r
-    00001743 46                    3367        LD      B,(HL)\r
-    00001744 23                    3368        INC     HL\r
-    00001745 66                    3369        LD      H,(HL)\r
-    00001746 68                    3370        LD      L,B\r
-    00001747 01 05 00              3371        LD      BC,5\r
-    0000174A 09                    3372        ADD     HL,BC\r
-    0000174B 4E                    3373        LD      C,(HL)\r
-    0000174C 23                    3374        INC     HL\r
-    0000174D 46                    3375        LD      B,(HL)\r
-    0000174E 23                    3376        INC     HL\r
-    0000174F 7E                    3377        LD      A,(HL)\r
-    00001750 69                    3378        LD      L,C\r
-    00001751 60                    3379        LD      H,B\r
-    00001752 CD 2D 04              3380        CALL    LWRD ?0449\r
-    00001755 DD 6E 08              3381        LD      L,(IX+8)\r
-    00001758 DD 66 09              3382        LD      H,(IX+9)\r
-    0000175B A7                    3383        AND     A\r
-    0000175C ED 42                 3384        SBC     HL,BC\r
-    0000175E EB                    3385        EX      DE,HL\r
-    0000175F 01 02 00              3386        LD      BC,2\r
-    00001762 CD 00 00              3387        CALL    LWRD ?SS_DIV_L02\r
-    00001765 69                    3388        LD      L,C\r
-    00001766 60                    3389        LD      H,B\r
-    00001767 39                    3390        ADD     HL,SP\r
-    00001768 46                    3391        LD      B,(HL)\r
-    00001769 23                    3392        INC     HL\r
-    0000176A 66                    3393        LD      H,(HL)\r
-    0000176B 68                    3394        LD      L,B\r
-    0000176C 19                    3395        ADD     HL,DE\r
-    0000176D 01 07 00              3396        LD      BC,7\r
-    00001770 09                    3397        ADD     HL,BC\r
-    00001771 4D                    3398        LD      C,L\r
-    00001772 44                    3399        LD      B,H\r
-    00001773 21 00 00              3400        LD      HL,0\r
-    00001776 39                    3401        ADD     HL,SP\r
-    00001777 5E                    3402        LD      E,(HL)\r
-    00001778 23                    3403        INC     HL\r
-    00001779 56                    3404        LD      D,(HL)\r
-    0000177A 13                    3405        INC     DE\r
-    0000177B 13                    3406        INC     DE\r
-    0000177C 3E A3                 3407        LD      A,BYTE3 Move\r
-    0000177E 21 A3 00              3408        LD      HL,LWRD Move\r
-    00001781 CD 00 00              3409        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001784 DD CB 0B 46           3410        BIT     0,(IX+11)\r
-    00001788 28 36                 3411        JR      Z,?0243\r
-    0000178A                       3412 ?0242:\r
-    0000178A FD 21 00 00           3413        LD      IY,0\r
-    0000178E                       3414 ?0245:\r
-    0000178E DD 5E 20              3415        LD      E,(IX+32)\r
-    00001791 DD 56 21              3416        LD      D,(IX+33)\r
-    00001794 3E 00                 3417        LD      A,BYTE3 strlen\r
-    00001796 21 00 00              3418        LD      HL,LWRD strlen\r
-    00001799 CD 2D 04              3419        CALL    LWRD ?0449\r
-    0000179C FD E5                 3420        PUSH    IY\r
-    0000179E E1                    3421        POP     HL\r
-    0000179F A7                    3422        AND     A\r
-    000017A0 ED 42                 3423        SBC     HL,BC\r
-    000017A2 21 06 00              3424        LD      HL,6\r
-    000017A5 30 0B                 3425        JR      NC,?0244\r
-    000017A7                       3426 ?0246:\r
-    000017A7 39                    3427        ADD     HL,SP\r
-    000017A8 FD E5                 3428        PUSH    IY\r
-    000017AA C1                    3429        POP     BC\r
-    000017AB 09                    3430        ADD     HL,BC\r
-    000017AC 36 2A                 3431        LD      (HL),42\r
-    000017AE FD 23                 3432        INC     IY\r
-    000017B0 18 DC                 3433        JR      ?0245\r
-    000017B2                       3434 ?0244:\r
-    000017B2 39                    3435        ADD     HL,SP\r
-    000017B3 FD E5                 3436        PUSH    IY\r
-    000017B5 C1                    3437        POP     BC\r
-    000017B6 09                    3438        ADD     HL,BC\r
-    000017B7 36 00                 3439        LD      (HL),0\r
-    000017B9 21 06 00              3440        LD      HL,6\r
-    000017BC 39                    3441        ADD     HL,SP\r
-    000017BD EB                    3442        EX      DE,HL\r
-    000017BE 18 06                 3443        JR      ?0365\r
-    000017C0                       3444 ?0243:\r
-    000017C0 DD 5E 20              3445        LD      E,(IX+32)\r
-    000017C3 DD 56 21              3446        LD      D,(IX+33)\r
-    000017C6                       3447 ?0365:\r
-    000017C6 3E 39                 3448        LD      A,BYTE3 Text\r
-    000017C8 21 39 02              3449        LD      HL,LWRD Text\r
-    000017CB CD 00 00              3450        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000017CE                       3451 ?0248:\r
-    000017CE                       3452 ?0235:\r
-    000017CE 21 48 00              3453        LD      HL,72\r
-    000017D1 39                    3454        ADD     HL,SP\r
-    000017D2 F9                    3455        LD      SP,HL\r
-    000017D3 C3 5E 02              3456        JP      LWRD ?0411\r
-    000017D6                       3457 Display_new:\r
-    000017D6 CD 00 00              3458        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000017D9 00 00                 3459        DEFW    0\r
-    000017DB FD E5                 3460        PUSH    IY\r
-    000017DD DD 6E 0E              3461        LD      L,(IX+14)\r
-    000017E0 DD 66 0F              3462        LD      H,(IX+15)\r
-    000017E3 E5                    3463        PUSH    HL\r
-    000017E4 DD 6E 0C              3464        LD      L,(IX+12)\r
-    000017E7 DD 66 0D              3465        LD      H,(IX+13)\r
-    000017EA E5                    3466        PUSH    HL\r
-    000017EB DD 6E 0A              3467        LD      L,(IX+10)\r
-    000017EE DD 66 0B              3468        LD      H,(IX+11)\r
-    000017F1 E5                    3469        PUSH    HL\r
-    000017F2 DD 5E 02              3470        LD      E,(IX+2)\r
-    000017F5 DD 56 03              3471        LD      D,(IX+3)\r
-    000017F8 CD E0 15              3472        CALL    LWRD ?0440\r
-    000017FB F1                    3473        POP     AF\r
-    000017FC F1                    3474        POP     AF\r
-    000017FD F1                    3475        POP     AF\r
-    000017FE E5                    3476        PUSH    HL\r
-    000017FF FD E1                 3477        POP     IY\r
-    00001801 01 0A 00              3478        LD      BC,10\r
-    00001804 09                    3479        ADD     HL,BC\r
-    00001805 CB DE                 3480        SET     3,(HL)\r
-    00001807 01 14 00              3481        LD      BC,?0249\r
-    0000180A FD E5                 3482        PUSH    IY\r
-    0000180C D1                    3483        POP     DE\r
-    0000180D 3E 59                 3484        LD      A,BYTE3 Component_setlabel\r
-    0000180F 21 59 06              3485        LD      HL,LWRD Component_setlabel\r
-    00001812 CD 00 00              3486        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001815 FD 36 1A 8A           3487        LD      (IY+26),LOW(Display_paint)\r
-    00001819 FD 36 1B 16           3488        LD      (IY+27),HIGH(Display_paint)\r
-    0000181D FD 36 1C 8A           3489        LD      (IY+28),BYTE3 Display_paint\r
-    00001821 FD 36 17 09           3490        LD      (IY+23),LOW(Display_handler)\r
-    00001825 FD 36 18 16           3491        LD      (IY+24),HIGH(Display_handler)\r
-    00001829 FD 36 19 09           3492        LD      (IY+25),BYTE3 Display_handler\r
-    0000182D C3 51 06              3493        JP      LWRD ?0418\r
-    00001830                       3494 Label_handler:\r
-    00001830 CD 00 00              3495        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00001833 C3 00 00              3496        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00001836                       3497 Label_paint:\r
-    00001836 C5                    3498        PUSH    BC\r
-    00001837 DD E5                 3499        PUSH    IX\r
-    00001839 F5                    3500        PUSH    AF\r
-    0000183A F5                    3501        PUSH    AF\r
-    0000183B D5                    3502        PUSH    DE\r
-    0000183C DD E1                 3503        POP     IX\r
-    0000183E 21 02 00              3504        LD      HL,2\r
-    00001841 39                    3505        ADD     HL,SP\r
-    00001842 AF                    3506        XOR     A\r
-    00001843 77                    3507        LD      (HL),A\r
-    00001844 23                    3508        INC     HL\r
-    00001845 77                    3509        LD      (HL),A\r
-    00001846 2B                    3510        DEC     HL\r
-    00001847 2B                    3511        DEC     HL\r
-    00001848 2B                    3512        DEC     HL\r
-    00001849 77                    3513        LD      (HL),A\r
-    0000184A 23                    3514        INC     HL\r
-    0000184B 77                    3515        LD      (HL),A\r
-    0000184C 21 0A 00              3516        LD      HL,10\r
-    0000184F ED 4B 00 00           3517        LD      BC,(global)\r
-    00001853 09                    3518        ADD     HL,BC\r
-    00001854 7E                    3519        LD      A,(HL)\r
-    00001855 23                    3520        INC     HL\r
-    00001856 66                    3521        LD      H,(HL)\r
-    00001857 6F                    3522        LD      L,A\r
-    00001858 46                    3523        LD      B,(HL)\r
-    00001859 23                    3524        INC     HL\r
-    0000185A 66                    3525        LD      H,(HL)\r
-    0000185B 68                    3526        LD      L,B\r
-    0000185C E5                    3527        PUSH    HL\r
-    0000185D 21 0E 00              3528        LD      HL,14\r
-    00001860 19                    3529        ADD     HL,DE\r
-    00001861 4E                    3530        LD      C,(HL)\r
-    00001862 23                    3531        INC     HL\r
-    00001863 46                    3532        LD      B,(HL)\r
-    00001864 E1                    3533        POP     HL\r
-    00001865 A7                    3534        AND     A\r
-    00001866 ED 42                 3535        SBC     HL,BC\r
-    00001868 28 03                 3536        JR      Z,?0251\r
-    0000186A                       3537 ?0250:\r
-    0000186A CD 1E 0F              3538        CALL    LWRD ?0473\r
-    0000186D                       3539 ?0251:\r
-    0000186D DD CB 0A 46           3540        BIT     0,(IX+10)\r
-    00001871 28 21                 3541        JR      Z,?0253\r
-    00001873                       3542 ?0252:\r
-    00001873 21 00 00              3543        LD      HL,0\r
-    00001876 39                    3544        ADD     HL,SP\r
-    00001877 E5                    3545        PUSH    HL\r
-    00001878 CD 85 0D              3546        CALL    LWRD ?0467\r
-    0000187B E1                    3547        POP     HL\r
-    0000187C 21 00 00              3548        LD      HL,0\r
-    0000187F 39                    3549        ADD     HL,SP\r
-    00001880 4E                    3550        LD      C,(HL)\r
-    00001881 23                    3551        INC     HL\r
-    00001882 46                    3552        LD      B,(HL)\r
-    00001883 C5                    3553        PUSH    BC\r
-    00001884 23                    3554        INC     HL\r
-    00001885 4E                    3555        LD      C,(HL)\r
-    00001886 23                    3556        INC     HL\r
-    00001887 46                    3557        LD      B,(HL)\r
-    00001888 DD E5                 3558        PUSH    IX\r
-    0000188A D1                    3559        POP     DE\r
-    0000188B 3E 7A                 3560        LD      A,BYTE3 Button_drawtext\r
-    0000188D 21 7A 10              3561        LD      HL,LWRD Button_drawtext\r
-    00001890 CD 00 00              3562        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001893 E1                    3563        POP     HL\r
-    00001894                       3564 ?0253:\r
-    00001894 C3 06 12              3565        JP      LWRD ?0178\r
-    00001897                       3566 Label_new:\r
-    00001897 CD 00 00              3567        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000189A 00 00                 3568        DEFW    0\r
-    0000189C FD E5                 3569        PUSH    IY\r
-    0000189E DD 6E 0C              3570        LD      L,(IX+12)\r
-    000018A1 DD 66 0D              3571        LD      H,(IX+13)\r
-    000018A4 E5                    3572        PUSH    HL\r
-    000018A5 DD 6E 0A              3573        LD      L,(IX+10)\r
-    000018A8 DD 66 0B              3574        LD      H,(IX+11)\r
-    000018AB E5                    3575        PUSH    HL\r
-    000018AC CD B5 0F              3576        CALL    LWRD ?0438\r
-    000018AF F1                    3577        POP     AF\r
-    000018B0 F1                    3578        POP     AF\r
-    000018B1 E5                    3579        PUSH    HL\r
-    000018B2 FD E1                 3580        POP     IY\r
-    000018B4 01 20 00              3581        LD      BC,32\r
-    000018B7 09                    3582        ADD     HL,BC\r
-    000018B8 DD 4E 0E              3583        LD      C,(IX+14)\r
-    000018BB 71                    3584        LD      (HL),C\r
-    000018BC DD 46 0F              3585        LD      B,(IX+15)\r
-    000018BF 23                    3586        INC     HL\r
-    000018C0 70                    3587        LD      (HL),B\r
-    000018C1 FD 36 0A 01           3588        LD      (IY+10),1\r
-    000018C5 FD 36 0B 00           3589        LD      (IY+11),0\r
-    000018C9 FD 36 17 30           3590        LD      (IY+23),LOW(Label_handler)\r
-    000018CD FD 36 18 18           3591        LD      (IY+24),HIGH(Label_handler)\r
-    000018D1 FD 36 19 30           3592        LD      (IY+25),BYTE3 Label_handler\r
-    000018D5 FD 36 1A 36           3593        LD      (IY+26),LOW(Label_paint)\r
-    000018D9 FD 36 1B 18           3594        LD      (IY+27),HIGH(Label_paint)\r
-    000018DD FD 36 1C 36           3595        LD      (IY+28),BYTE3 Label_paint\r
-    000018E1 FD 36 1D 2F           3596        LD      (IY+29),LOW(Button_add)\r
-    000018E5 FD 36 1E 12           3597        LD      (IY+30),HIGH(Button_add)\r
-    000018E9 FD 36 1F 2F           3598        LD      (IY+31),BYTE3 Button_add\r
-    000018ED C3 51 06              3599        JP      LWRD ?0418\r
-    000018F0                       3600 rootWindow_handler:\r
-    000018F0 CD 00 00              3601        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000018F3 00 00                 3602        DEFW    0\r
-    000018F5 DD 6E 0A              3603        LD      L,(IX+10)\r
-    000018F8 DD 66 0B              3604        LD      H,(IX+11)\r
-    000018FB E5                    3605        PUSH    HL\r
-    000018FC DD 5E 02              3606        LD      E,(IX+2)\r
-    000018FF DD 56 03              3607        LD      D,(IX+3)\r
-    00001902 3E D2                 3608        LD      A,BYTE3 Window_handler\r
-    00001904 21 D2 0A              3609        LD      HL,LWRD Window_handler\r
-    00001907 CD 00 00              3610        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000190A E1                    3611        POP     HL\r
-    0000190B C3 00 00              3612        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000190E                       3613 screenbuilder:\r
-    0000190E CD 00 00              3614        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00001911 CE FF                 3615        DEFW    65486\r
-    00001913 FD E5                 3616        PUSH    IY\r
-    00001915 DD 36 D8 00           3617        LD      (IX-40),0\r
-    00001919 21 00 00              3618        LD      HL,0\r
-    0000191C E5                    3619        PUSH    HL\r
-    0000191D C5                    3620        PUSH    BC\r
-    0000191E 3E 00                 3621        LD      A,BYTE3 open\r
-    00001920 21 00 00              3622        LD      HL,LWRD open\r
-    00001923 CD 00 00              3623        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001926 F1                    3624        POP     AF\r
-    00001927 F1                    3625        POP     AF\r
-    00001928 DD 75 D4              3626        LD      (IX-44),L\r
-    0000192B DD 74 D5              3627        LD      (IX-43),H\r
-    0000192E DD 36 F0 2B           3628        LD      (IX-16),43\r
-    00001932 DD 36 F1 00           3629        LD      (IX-15),0\r
-    00001936 DD 36 F2 1A           3630        LD      (IX-14),26\r
-    0000193A DD 36 F3 00           3631        LD      (IX-13),0\r
-    0000193E                       3632 ?0256:\r
-    0000193E DD 36 F4 00           3633        LD      (IX-12),0\r
-    00001942 DD 7E D8              3634        LD      A,(IX-40)\r
-    00001945 FE 73                 3635        CP      115\r
-    00001947 20 18                 3636        JR      NZ,?0258\r
-    00001949                       3637 ?0257:\r
-    00001949 DD 6E D9              3638        LD      L,(IX-39)\r
-    0000194C DD 66 DA              3639        LD      H,(IX-38)\r
-    0000194F DD 75 F0              3640        LD      (IX-16),L\r
-    00001952 DD 74 F1              3641        LD      (IX-15),H\r
-    00001955 DD 6E DB              3642        LD      L,(IX-37)\r
-    00001958 DD 66 DC              3643        LD      H,(IX-36)\r
-    0000195B DD 75 F2              3644        LD      (IX-14),L\r
-    0000195E DD 74 F3              3645        LD      (IX-13),H\r
-    00001961                       3646 ?0258:\r
-    00001961 DD 7E D8              3647        LD      A,(IX-40)\r
-    00001964 FE 42                 3648        CP      66\r
-    00001966 28 07                 3649        JR      Z,?0261\r
-    00001968 DD 7E D8              3650        LD      A,(IX-40)\r
-    0000196B FE 4D                 3651        CP      77\r
-    0000196D 20 4F                 3652        JR      NZ,?0260\r
-    0000196F                       3653 ?0261:\r
-    0000196F                       3654 ?0262:\r
-    0000196F                       3655 ?0259:\r
-    0000196F DD 4E DD              3656        LD      C,(IX-35)\r
-    00001972 06 00                 3657        LD      B,0\r
-    00001974 C5                    3658        PUSH    BC\r
-    00001975 CD CE 1C              3659        CALL    LWRD ?0482\r
-    00001978 D5                    3660        PUSH    DE\r
-    00001979 DD 4E DB              3661        LD      C,(IX-37)\r
-    0000197C DD 5E F0              3662        LD      E,(IX-16)\r
-    0000197F DD 56 F1              3663        LD      D,(IX-15)\r
-    00001982 CD D7 1C              3664        CALL    LWRD ?0483\r
-    00001985 D5                    3665        PUSH    DE\r
-    00001986 DD 4E DA              3666        LD      C,(IX-38)\r
-    00001989 DD 5E F2              3667        LD      E,(IX-14)\r
-    0000198C DD 56 F3              3668        LD      D,(IX-13)\r
-    0000198F CD 00 00              3669        CALL    LWRD ?S_MUL_L02\r
-    00001992 D5                    3670        PUSH    DE\r
-    00001993 DD 5E D9              3671        LD      E,(IX-39)\r
-    00001996 50                    3672        LD      D,B\r
-    00001997 DD 4E F0              3673        LD      C,(IX-16)\r
-    0000199A DD 46 F1              3674        LD      B,(IX-15)\r
-    0000199D CD 00 00              3675        CALL    LWRD ?S_MUL_L02\r
-    000019A0 3E 35                 3676        LD      A,BYTE3 Button_new\r
-    000019A2 21 35 12              3677        LD      HL,LWRD Button_new\r
-    000019A5 C1                    3678        POP     BC\r
-    000019A6 CD 00 00              3679        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000019A9 F1                    3680        POP     AF\r
-    000019AA F1                    3681        POP     AF\r
-    000019AB F1                    3682        POP     AF\r
-    000019AC E5                    3683        PUSH    HL\r
-    000019AD FD E1                 3684        POP     IY\r
-    000019AF DD 7E D8              3685        LD      A,(IX-40)\r
-    000019B2 FE 4D                 3686        CP      77\r
-    000019B4 20 04                 3687        JR      NZ,?0264\r
-    000019B6                       3688 ?0263:\r
-    000019B6 FD CB 0A F6           3689        SET     6,(IY+10)\r
-    000019BA                       3690 ?0264:\r
-    000019BA DD 36 F4 01           3691        LD      (IX-12),1\r
-    000019BE                       3692 ?0260:\r
-    000019BE DD 7E D8              3693        LD      A,(IX-40)\r
-    000019C1 FE 54                 3694        CP      84\r
-    000019C3 20 44                 3695        JR      NZ,?0266\r
-    000019C5                       3696 ?0265:\r
-    000019C5 DD 4E DD              3697        LD      C,(IX-35)\r
-    000019C8 06 00                 3698        LD      B,0\r
-    000019CA C5                    3699        PUSH    BC\r
-    000019CB CD CE 1C              3700        CALL    LWRD ?0482\r
-    000019CE D5                    3701        PUSH    DE\r
-    000019CF DD 4E DB              3702        LD      C,(IX-37)\r
-    000019D2 DD 5E F0              3703        LD      E,(IX-16)\r
-    000019D5 DD 56 F1              3704        LD      D,(IX-15)\r
-    000019D8 CD D7 1C              3705        CALL    LWRD ?0483\r
-    000019DB D5                    3706        PUSH    DE\r
-    000019DC DD 4E DA              3707        LD      C,(IX-38)\r
-    000019DF DD 5E F2              3708        LD      E,(IX-14)\r
-    000019E2 DD 56 F3              3709        LD      D,(IX-13)\r
-    000019E5 CD 00 00              3710        CALL    LWRD ?S_MUL_L02\r
-    000019E8 D5                    3711        PUSH    DE\r
-    000019E9 DD 5E D9              3712        LD      E,(IX-39)\r
-    000019EC 50                    3713        LD      D,B\r
-    000019ED DD 4E F0              3714        LD      C,(IX-16)\r
-    000019F0 DD 46 F1              3715        LD      B,(IX-15)\r
-    000019F3 CD 00 00              3716        CALL    LWRD ?S_MUL_L02\r
-    000019F6 3E 0F                 3717        LD      A,BYTE3 ToggleButton_new\r
-    000019F8 21 0F 14              3718        LD      HL,LWRD ToggleButton_new\r
-    000019FB C1                    3719        POP     BC\r
-    000019FC CD 00 00              3720        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000019FF F1                    3721        POP     AF\r
-    00001A00 F1                    3722        POP     AF\r
-    00001A01 F1                    3723        POP     AF\r
-    00001A02 E5                    3724        PUSH    HL\r
-    00001A03 FD E1                 3725        POP     IY\r
-    00001A05 DD 36 F4 01           3726        LD      (IX-12),1\r
-    00001A09                       3727 ?0266:\r
-    00001A09 DD 7E D8              3728        LD      A,(IX-40)\r
-    00001A0C FE 44                 3729        CP      68\r
-    00001A0E 20 44                 3730        JR      NZ,?0268\r
-    00001A10                       3731 ?0267:\r
-    00001A10 DD 4E DD              3732        LD      C,(IX-35)\r
-    00001A13 06 00                 3733        LD      B,0\r
-    00001A15 C5                    3734        PUSH    BC\r
-    00001A16 CD CE 1C              3735        CALL    LWRD ?0482\r
-    00001A19 D5                    3736        PUSH    DE\r
-    00001A1A DD 4E DB              3737        LD      C,(IX-37)\r
-    00001A1D DD 5E F0              3738        LD      E,(IX-16)\r
-    00001A20 DD 56 F1              3739        LD      D,(IX-15)\r
-    00001A23 CD D7 1C              3740        CALL    LWRD ?0483\r
-    00001A26 D5                    3741        PUSH    DE\r
-    00001A27 DD 4E DA              3742        LD      C,(IX-38)\r
-    00001A2A DD 5E F2              3743        LD      E,(IX-14)\r
-    00001A2D DD 56 F3              3744        LD      D,(IX-13)\r
-    00001A30 CD 00 00              3745        CALL    LWRD ?S_MUL_L02\r
-    00001A33 D5                    3746        PUSH    DE\r
-    00001A34 DD 5E D9              3747        LD      E,(IX-39)\r
-    00001A37 50                    3748        LD      D,B\r
-    00001A38 DD 4E F0              3749        LD      C,(IX-16)\r
-    00001A3B DD 46 F1              3750        LD      B,(IX-15)\r
-    00001A3E CD 00 00              3751        CALL    LWRD ?S_MUL_L02\r
-    00001A41 3E D6                 3752        LD      A,BYTE3 Display_new\r
-    00001A43 21 D6 17              3753        LD      HL,LWRD Display_new\r
-    00001A46 C1                    3754        POP     BC\r
-    00001A47 CD 00 00              3755        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001A4A F1                    3756        POP     AF\r
-    00001A4B F1                    3757        POP     AF\r
-    00001A4C F1                    3758        POP     AF\r
-    00001A4D E5                    3759        PUSH    HL\r
-    00001A4E FD E1                 3760        POP     IY\r
-    00001A50 DD 36 F4 01           3761        LD      (IX-12),1\r
-    00001A54                       3762 ?0268:\r
-    00001A54 DD 7E D8              3763        LD      A,(IX-40)\r
-    00001A57 FE 4C                 3764        CP      76\r
-    00001A59 20 47                 3765        JR      NZ,?0270\r
-    00001A5B                       3766 ?0269:\r
-    00001A5B 21 0C 00              3767        LD      HL,12\r
-    00001A5E 39                    3768        ADD     HL,SP\r
-    00001A5F 01 12 00              3769        LD      BC,18\r
-    00001A62 09                    3770        ADD     HL,BC\r
-    00001A63 E5                    3771        PUSH    HL\r
-    00001A64 CD CE 1C              3772        CALL    LWRD ?0482\r
-    00001A67 D5                    3773        PUSH    DE\r
-    00001A68 DD 4E DB              3774        LD      C,(IX-37)\r
-    00001A6B DD 5E F0              3775        LD      E,(IX-16)\r
-    00001A6E DD 56 F1              3776        LD      D,(IX-15)\r
-    00001A71 CD D7 1C              3777        CALL    LWRD ?0483\r
-    00001A74 D5                    3778        PUSH    DE\r
-    00001A75 DD 4E DA              3779        LD      C,(IX-38)\r
-    00001A78 DD 5E F2              3780        LD      E,(IX-14)\r
-    00001A7B DD 56 F3              3781        LD      D,(IX-13)\r
-    00001A7E CD 00 00              3782        CALL    LWRD ?S_MUL_L02\r
-    00001A81 D5                    3783        PUSH    DE\r
-    00001A82 DD 5E D9              3784        LD      E,(IX-39)\r
-    00001A85 50                    3785        LD      D,B\r
-    00001A86 DD 4E F0              3786        LD      C,(IX-16)\r
-    00001A89 DD 46 F1              3787        LD      B,(IX-15)\r
-    00001A8C CD 00 00              3788        CALL    LWRD ?S_MUL_L02\r
-    00001A8F 3E 97                 3789        LD      A,BYTE3 Label_new\r
-    00001A91 21 97 18              3790        LD      HL,LWRD Label_new\r
-    00001A94 C1                    3791        POP     BC\r
-    00001A95 CD 00 00              3792        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001A98 F1                    3793        POP     AF\r
-    00001A99 F1                    3794        POP     AF\r
-    00001A9A F1                    3795        POP     AF\r
-    00001A9B E5                    3796        PUSH    HL\r
-    00001A9C FD E1                 3797        POP     IY\r
-    00001A9E DD 36 F4 01           3798        LD      (IX-12),1\r
-    00001AA2                       3799 ?0270:\r
-    00001AA2 DD 7E D8              3800        LD      A,(IX-40)\r
-    00001AA5 FE 41                 3801        CP      65\r
-    00001AA7 20 51                 3802        JR      NZ,?0272\r
-    00001AA9                       3803 ?0271:\r
-    00001AA9 21 26 00              3804        LD      HL,38\r
-    00001AAC DD 4E 02              3805        LD      C,(IX+2)\r
-    00001AAF DD 46 03              3806        LD      B,(IX+3)\r
-    00001AB2 09                    3807        ADD     HL,BC\r
-    00001AB3 E5                    3808        PUSH    HL\r
-    00001AB4 21 2B 00              3809        LD      HL,43\r
-    00001AB7 39                    3810        ADD     HL,SP\r
-    00001AB8 EB                    3811        EX      DE,HL\r
-    00001AB9 E1                    3812        POP     HL\r
-    00001ABA 73                    3813        LD      (HL),E\r
-    00001ABB 23                    3814        INC     HL\r
-    00001ABC 72                    3815        LD      (HL),D\r
-    00001ABD DD 6E DE              3816        LD      L,(IX-34)\r
-    00001AC0 DD 66 DF              3817        LD      H,(IX-33)\r
-    00001AC3 DD 75 F8              3818        LD      (IX-8),L\r
-    00001AC6 DD 74 F9              3819        LD      (IX-7),H\r
-    00001AC9 DD 6E E0              3820        LD      L,(IX-32)\r
-    00001ACC DD 66 E1              3821        LD      H,(IX-31)\r
-    00001ACF DD 75 FA              3822        LD      (IX-6),L\r
-    00001AD2 DD 74 FB              3823        LD      (IX-5),H\r
-    00001AD5 21 16 00              3824        LD      HL,22\r
-    00001AD8 39                    3825        ADD     HL,SP\r
-    00001AD9 4E                    3826        LD      C,(HL)\r
-    00001ADA 23                    3827        INC     HL\r
-    00001ADB 46                    3828        LD      B,(HL)\r
-    00001ADC 23                    3829        INC     HL\r
-    00001ADD 5E                    3830        LD      E,(HL)\r
-    00001ADE 23                    3831        INC     HL\r
-    00001ADF 56                    3832        LD      D,(HL)\r
-    00001AE0 DD 71 FC              3833        LD      (IX-4),C\r
-    00001AE3 DD 70 FD              3834        LD      (IX-3),B\r
-    00001AE6 DD 73 FE              3835        LD      (IX-2),E\r
-    00001AE9 DD 72 FF              3836        LD      (IX-1),D\r
-    00001AEC DD 5E 02              3837        LD      E,(IX+2)\r
-    00001AEF DD 56 03              3838        LD      D,(IX+3)\r
-    00001AF2 3E DE                 3839        LD      A,BYTE3 root_actionhandler\r
-    00001AF4 21 DE 1C              3840        LD      HL,LWRD root_actionhandler\r
-    00001AF7 CD 00 00              3841        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001AFA                       3842 ?0272:\r
-    00001AFA DD 7E D8              3843        LD      A,(IX-40)\r
-    00001AFD FE 53                 3844        CP      83\r
-    00001AFF 20 71                 3845        JR      NZ,?0274\r
-    00001B01                       3846 ?0273:\r
-    00001B01 21 0C 00              3847        LD      HL,12\r
-    00001B04 39                    3848        ADD     HL,SP\r
-    00001B05 4D                    3849        LD      C,L\r
-    00001B06 44                    3850        LD      B,H\r
-    00001B07 DD 5E D4              3851        LD      E,(IX-44)\r
-    00001B0A DD 56 D5              3852        LD      D,(IX-43)\r
-    00001B0D 3E 16                 3853        LD      A,BYTE3 read_stringtable\r
-    00001B0F 21 16 20              3854        LD      HL,LWRD read_stringtable\r
-    00001B12 CD 00 00              3855        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001B15 21 26 00              3856        LD      HL,38\r
-    00001B18 DD 4E 02              3857        LD      C,(IX+2)\r
-    00001B1B DD 46 03              3858        LD      B,(IX+3)\r
-    00001B1E 09                    3859        ADD     HL,BC\r
-    00001B1F E5                    3860        PUSH    HL\r
-    00001B20 11 04 00              3861        LD      DE,4\r
-    00001B23 CD C6 1C              3862        CALL    LWRD ?0454\r
-    00001B26 EB                    3863        EX      DE,HL\r
-    00001B27 E1                    3864        POP     HL\r
-    00001B28 73                    3865        LD      (HL),E\r
-    00001B29 23                    3866        INC     HL\r
-    00001B2A 72                    3867        LD      (HL),D\r
-    00001B2B 21 26 00              3868        LD      HL,38\r
-    00001B2E 09                    3869        ADD     HL,BC\r
-    00001B2F 56                    3870        LD      D,(HL)\r
-    00001B30 DD 72 F5              3871        LD      (IX-11),D\r
-    00001B33 23                    3872        INC     HL\r
-    00001B34 66                    3873        LD      H,(HL)\r
-    00001B35 DD 74 F6              3874        LD      (IX-10),H\r
-    00001B38 21 24 00              3875        LD      HL,36\r
-    00001B3B 09                    3876        ADD     HL,BC\r
-    00001B3C 36 04                 3877        LD      (HL),4\r
-    00001B3E 23                    3878        INC     HL\r
-    00001B3F 36 00                 3879        LD      (HL),0\r
-    00001B41 6A                    3880        LD      L,D\r
-    00001B42 DD 66 F6              3881        LD      H,(IX-10)\r
-    00001B45 23                    3882        INC     HL\r
-    00001B46 23                    3883        INC     HL\r
-    00001B47 E5                    3884        PUSH    HL\r
-    00001B48 21 08 00              3885        LD      HL,8\r
-    00001B4B ED 4B 00 00           3886        LD      BC,(global)\r
-    00001B4F 09                    3887        ADD     HL,BC\r
-    00001B50 5E                    3888        LD      E,(HL)\r
-    00001B51 23                    3889        INC     HL\r
-    00001B52 56                    3890        LD      D,(HL)\r
-    00001B53 E1                    3891        POP     HL\r
-    00001B54 73                    3892        LD      (HL),E\r
-    00001B55 23                    3893        INC     HL\r
-    00001B56 72                    3894        LD      (HL),D\r
-    00001B57 21 06 00              3895        LD      HL,6\r
-    00001B5A ED 4B 00 00           3896        LD      BC,(global)\r
-    00001B5E 09                    3897        ADD     HL,BC\r
-    00001B5F 46                    3898        LD      B,(HL)\r
-    00001B60 23                    3899        INC     HL\r
-    00001B61 66                    3900        LD      H,(HL)\r
-    00001B62 68                    3901        LD      L,B\r
-    00001B63 E5                    3902        PUSH    HL\r
-    00001B64 DD 6E F5              3903        LD      L,(IX-11)\r
-    00001B67 DD 66 F6              3904        LD      H,(IX-10)\r
-    00001B6A C1                    3905        POP     BC\r
-    00001B6B 71                    3906        LD      (HL),C\r
-    00001B6C 23                    3907        INC     HL\r
-    00001B6D 70                    3908        LD      (HL),B\r
-    00001B6E DD 36 F4 00           3909        LD      (IX-12),0\r
-    00001B72                       3910 ?0274:\r
-    00001B72 AF                    3911        XOR     A\r
-    00001B73 DD B6 F4              3912        OR      (IX-12)\r
-    00001B76 CA 72 1C              3913        JP      Z,?0276\r
-    00001B79                       3914 ?0275:\r
-    00001B79 DD 7E DE              3915        LD      A,(IX-34)\r
-    00001B7C DD B6 DF              3916        OR      (IX-33)\r
-    00001B7F 28 69                 3917        JR      Z,?0278\r
-    00001B81                       3918 ?0277:\r
-    00001B81 FD CB 0A EE           3919        SET     5,(IY+10)\r
-    00001B85 FD 36 24 0B           3920        LD      (IY+36),11\r
-    00001B89 FD 36 25 00           3921        LD      (IY+37),0\r
-    00001B8D 11 0B 00              3922        LD      DE,11\r
-    00001B90 CD C6 1C              3923        CALL    LWRD ?0454\r
-    00001B93 FD 75 26              3924        LD      (IY+38),L\r
-    00001B96 FD 74 27              3925        LD      (IY+39),H\r
-    00001B99 FD 6E 26              3926        LD      L,(IY+38)\r
-    00001B9C DD 75 D0              3927        LD      (IX-48),L\r
-    00001B9F FD 66 27              3928        LD      H,(IY+39)\r
-    00001BA2 DD 74 D1              3929        LD      (IX-47),H\r
-    00001BA5 36 DE                 3930        LD      (HL),LOW(root_actionhandler)\r
-    00001BA7 23                    3931        INC     HL\r
-    00001BA8 36 1C                 3932        LD      (HL),HIGH(root_actionhandler)\r
-    00001BAA 23                    3933        INC     HL\r
-    00001BAB 36 DE                 3934        LD      (HL),BYTE3 root_actionhandler\r
-    00001BAD DD 6E D0              3935        LD      L,(IX-48)\r
-    00001BB0 DD 66 D1              3936        LD      H,(IX-47)\r
-    00001BB3 23                    3937        INC     HL\r
-    00001BB4 23                    3938        INC     HL\r
-    00001BB5 23                    3939        INC     HL\r
-    00001BB6 DD 4E DE              3940        LD      C,(IX-34)\r
-    00001BB9 71                    3941        LD      (HL),C\r
-    00001BBA DD 46 DF              3942        LD      B,(IX-33)\r
-    00001BBD 23                    3943        INC     HL\r
-    00001BBE 70                    3944        LD      (HL),B\r
-    00001BBF 21 05 00              3945        LD      HL,5\r
-    00001BC2 DD 4E D0              3946        LD      C,(IX-48)\r
-    00001BC5 DD 46 D1              3947        LD      B,(IX-47)\r
-    00001BC8 09                    3948        ADD     HL,BC\r
-    00001BC9 DD 5E E0              3949        LD      E,(IX-32)\r
-    00001BCC 73                    3950        LD      (HL),E\r
-    00001BCD DD 56 E1              3951        LD      D,(IX-31)\r
-    00001BD0 23                    3952        INC     HL\r
-    00001BD1 72                    3953        LD      (HL),D\r
-    00001BD2 21 07 00              3954        LD      HL,7\r
-    00001BD5 09                    3955        ADD     HL,BC\r
-    00001BD6 E5                    3956        PUSH    HL\r
-    00001BD7 21 18 00              3957        LD      HL,24\r
-    00001BDA 39                    3958        ADD     HL,SP\r
-    00001BDB 5E                    3959        LD      E,(HL)\r
-    00001BDC 23                    3960        INC     HL\r
-    00001BDD 56                    3961        LD      D,(HL)\r
-    00001BDE 23                    3962        INC     HL\r
-    00001BDF 4E                    3963        LD      C,(HL)\r
-    00001BE0 23                    3964        INC     HL\r
-    00001BE1 46                    3965        LD      B,(HL)\r
-    00001BE2 E1                    3966        POP     HL\r
-    00001BE3 73                    3967        LD      (HL),E\r
-    00001BE4 23                    3968        INC     HL\r
-    00001BE5 72                    3969        LD      (HL),D\r
-    00001BE6 23                    3970        INC     HL\r
-    00001BE7 71                    3971        LD      (HL),C\r
-    00001BE8 23                    3972        INC     HL\r
-    00001BE9 70                    3973        LD      (HL),B\r
-    00001BEA                       3974 ?0278:\r
-    00001BEA DD 7E E6              3975        LD      A,(IX-26)\r
-    00001BED DD B6 E7              3976        OR      (IX-25)\r
-    00001BF0 28 0C                 3977        JR      Z,?0280\r
-    00001BF2                       3978 ?0279:\r
-    00001BF2 DD 6E E6              3979        LD      L,(IX-26)\r
-    00001BF5 FD 75 0A              3980        LD      (IY+10),L\r
-    00001BF8 DD 66 E7              3981        LD      H,(IX-25)\r
-    00001BFB FD 74 0B              3982        LD      (IY+11),H\r
-    00001BFE                       3983 ?0280:\r
-    00001BFE DD 6E E8              3984        LD      L,(IX-24)\r
-    00001C01 FD 75 0E              3985        LD      (IY+14),L\r
-    00001C04 DD 66 E9              3986        LD      H,(IX-23)\r
-    00001C07 FD 74 0F              3987        LD      (IY+15),H\r
-    00001C0A DD 6E EA              3988        LD      L,(IX-22)\r
-    00001C0D FD 75 20              3989        LD      (IY+32),L\r
-    00001C10 DD 7E EB              3990        LD      A,(IX-21)\r
-    00001C13 E6 0F                 3991        AND     15\r
-    00001C15 FD 77 21              3992        LD      (IY+33),A\r
-    00001C18 FD 7E 20              3993        LD      A,(IY+32)\r
-    00001C1B FD B6 21              3994        OR      (IY+33)\r
-    00001C1E 20 16                 3995        JR      NZ,?0282\r
-    00001C20                       3996 ?0281:\r
-    00001C20 11 14 00              3997        LD      DE,20\r
-    00001C23 CD C6 1C              3998        CALL    LWRD ?0454\r
-    00001C26 FD 75 20              3999        LD      (IY+32),L\r
-    00001C29 FD 74 21              4000        LD      (IY+33),H\r
-    00001C2C FD 6E 20              4001        LD      L,(IY+32)\r
-    00001C2F FD 66 21              4002        LD      H,(IY+33)\r
-    00001C32 36 00                 4003        LD      (HL),0\r
-    00001C34 18 04                 4004        JR      ?0283\r
-    00001C36                       4005 ?0282:\r
-    00001C36 FD CB 0B F6           4006        SET     6,(IY+11)\r
-    00001C3A                       4007 ?0283:\r
-    00001C3A DD 7E EB              4008        LD      A,(IX-21)\r
-    00001C3D 2E 00                 4009        LD      L,0\r
-    00001C3F 4D                    4010        LD      C,L\r
-    00001C40 E6 F0                 4011        AND     240\r
-    00001C42 47                    4012        LD      B,A\r
-    00001C43 26 10                 4013        LD      H,16\r
-    00001C45 ED 42                 4014        SBC     HL,BC\r
-    00001C47 30 10                 4015        JR      NC,?0285\r
-    00001C49                       4016 ?0284:\r
-    00001C49 DD 6E EA              4017        LD      L,(IX-22)\r
-    00001C4C DD 7E EB              4018        LD      A,(IX-21)\r
-    00001C4F E6 0F                 4019        AND     15\r
-    00001C51 67                    4020        LD      H,A\r
-    00001C52 23                    4021        INC     HL\r
-    00001C53 FD 75 22              4022        LD      (IY+34),L\r
-    00001C56 FD 74 23              4023        LD      (IY+35),H\r
-    00001C59                       4024 ?0285:\r
-    00001C59 FD E5                 4025        PUSH    IY\r
-    00001C5B DD 5E 02              4026        LD      E,(IX+2)\r
-    00001C5E 4B                    4027        LD      C,E\r
-    00001C5F DD 56 03              4028        LD      D,(IX+3)\r
-    00001C62 42                    4029        LD      B,D\r
-    00001C63 21 1D 00              4030        LD      HL,29\r
-    00001C66 09                    4031        ADD     HL,BC\r
-    00001C67 4E                    4032        LD      C,(HL)\r
-    00001C68 23                    4033        INC     HL\r
-    00001C69 46                    4034        LD      B,(HL)\r
-    00001C6A 23                    4035        INC     HL\r
-    00001C6B 7E                    4036        LD      A,(HL)\r
-    00001C6C 69                    4037        LD      L,C\r
-    00001C6D 60                    4038        LD      H,B\r
-    00001C6E C1                    4039        POP     BC\r
-    00001C6F CD 00 00              4040        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001C72                       4041 ?0276:\r
-    00001C72 21 14 00              4042        LD      HL,20\r
-    00001C75 E5                    4043        PUSH    HL\r
-    00001C76 2E 0E                 4044        LD      L,14\r
-    00001C78 39                    4045        ADD     HL,SP\r
-    00001C79 4D                    4046        LD      C,L\r
-    00001C7A 44                    4047        LD      B,H\r
-    00001C7B DD 5E D4              4048        LD      E,(IX-44)\r
-    00001C7E DD 56 D5              4049        LD      D,(IX-43)\r
-    00001C81 CD BE 1C              4050        CALL    LWRD ?0441\r
-    00001C84 F1                    4051        POP     AF\r
-    00001C85 3E 14                 4052        LD      A,20\r
-    00001C87 AD                    4053        XOR     L\r
-    00001C88 B4                    4054        OR      H\r
-    00001C89 CA 3E 19              4055        JP      Z,?0256\r
-    00001C8C                       4056 ?0254:\r
-    00001C8C DD 5E D4              4057        LD      E,(IX-44)\r
-    00001C8F DD 56 D5              4058        LD      D,(IX-43)\r
-    00001C92 3E 00                 4059        LD      A,BYTE3 close\r
-    00001C94 21 00 00              4060        LD      HL,LWRD close\r
-    00001C97 CD 00 00              4061        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001C9A DD 5E 02              4062        LD      E,(IX+2)\r
-    00001C9D DD 56 03              4063        LD      D,(IX+3)\r
-    00001CA0 3E 1F                 4064        LD      A,BYTE3 Component_linkstringtable\r
-    00001CA2 21 1F 0A              4065        LD      HL,LWRD Component_linkstringtable\r
-    00001CA5 CD 00 00              4066        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001CA8 DD 5E 02              4067        LD      E,(IX+2)\r
-    00001CAB 4B                    4068        LD      C,E\r
-    00001CAC DD 56 03              4069        LD      D,(IX+3)\r
-    00001CAF 42                    4070        LD      B,D\r
-    00001CB0 21 1A 00              4071        LD      HL,26\r
-    00001CB3 09                    4072        ADD     HL,BC\r
-    00001CB4 4E                    4073        LD      C,(HL)\r
-    00001CB5 23                    4074        INC     HL\r
-    00001CB6 46                    4075        LD      B,(HL)\r
-    00001CB7 23                    4076        INC     HL\r
-    00001CB8 7E                    4077        LD      A,(HL)\r
-    00001CB9 69                    4078        LD      L,C\r
-    00001CBA 60                    4079        LD      H,B\r
-    00001CBB C3 1F 11              4080        JP      LWRD ?0424\r
-    00001CBE                       4081 ?0441:\r
-    00001CBE 3E 00                 4082        LD      A,BYTE3 _read\r
-    00001CC0 21 00 00              4083        LD      HL,LWRD _read\r
-    00001CC3 C3 00 00              4084        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00001CC6                       4085 ?0454:\r
-    00001CC6 3E 00                 4086        LD      A,BYTE3 malloc\r
-    00001CC8 21 00 00              4087        LD      HL,LWRD malloc\r
-    00001CCB C3 00 00              4088        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00001CCE                       4089 ?0482:\r
-    00001CCE DD 4E DC              4090        LD      C,(IX-36)\r
-    00001CD1 DD 5E F2              4091        LD      E,(IX-14)\r
-    00001CD4 DD 56 F3              4092        LD      D,(IX-13)\r
-    00001CD7                       4093 ?0483:\r
-    00001CD7 CD 00 00              4094        CALL    LWRD ?S_MUL_L02\r
-    00001CDA 1B                    4095        DEC     DE\r
-    00001CDB 1B                    4096        DEC     DE\r
-    00001CDC 1B                    4097        DEC     DE\r
-    00001CDD C9                    4098        RET\r
-    00001CDE                       4099 root_actionhandler:\r
-    00001CDE CD 00 00              4100        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00001CE1 EA FF                 4101        DEFW    65514\r
-    00001CE3 FD E5                 4102        PUSH    IY\r
-    00001CE5 DD 6E 02              4103        LD      L,(IX+2)\r
-    00001CE8 DD 66 03              4104        LD      H,(IX+3)\r
-    00001CEB E5                    4105        PUSH    HL\r
-    00001CEC FD E1                 4106        POP     IY\r
-    00001CEE 21 06 00              4107        LD      HL,6\r
-    00001CF1 39                    4108        ADD     HL,SP\r
-    00001CF2 EB                    4109        EX      DE,HL\r
-    00001CF3 21 26 00              4110        LD      HL,?0286\r
-    00001CF6 01 0E 00              4111        LD      BC,14\r
-    00001CF9 ED B0                 4112        LDIR\r
-    00001CFB FD 6E 26              4113        LD      L,(IY+38)\r
-    00001CFE DD 75 EA              4114        LD      (IX-22),L\r
-    00001D01 FD 66 27              4115        LD      H,(IY+39)\r
-    00001D04 DD 74 EB              4116        LD      (IX-21),H\r
-    00001D07 23                    4117        INC     HL\r
-    00001D08 23                    4118        INC     HL\r
-    00001D09 23                    4119        INC     HL\r
-    00001D0A 3E 01                 4120        LD      A,1\r
-    00001D0C AE                    4121        XOR     (HL)\r
-    00001D0D 23                    4122        INC     HL\r
-    00001D0E B6                    4123        OR      (HL)\r
-    00001D0F 20 08                 4124        JR      NZ,?0288\r
-    00001D11                       4125 ?0287:\r
-    00001D11 C5                    4126        PUSH    BC\r
-    00001D12 01 01 04              4127        LD      BC,1025\r
-    00001D15 CD 76 0D              4128        CALL    LWRD ?0463\r
-    00001D18 E1                    4129        POP     HL\r
-    00001D19                       4130 ?0288:\r
-    00001D19 DD 6E EA              4131        LD      L,(IX-22)\r
-    00001D1C DD 66 EB              4132        LD      H,(IX-21)\r
-    00001D1F 23                    4133        INC     HL\r
-    00001D20 23                    4134        INC     HL\r
-    00001D21 23                    4135        INC     HL\r
-    00001D22 46                    4136        LD      B,(HL)\r
-    00001D23 23                    4137        INC     HL\r
-    00001D24 66                    4138        LD      H,(HL)\r
-    00001D25 68                    4139        LD      L,B\r
-    00001D26 CB 85                 4140        RES     0,L\r
-    00001D28 3E 02                 4141        LD      A,2\r
-    00001D2A AD                    4142        XOR     L\r
-    00001D2B B4                    4143        OR      H\r
-    00001D2C C2 49 1E              4144        JP      NZ,?0290\r
-    00001D2F                       4145 ?0289:\r
-    00001D2F 6F                    4146        LD      L,A\r
-    00001D30 67                    4147        LD      H,A\r
-    00001D31 E5                    4148        PUSH    HL\r
-    00001D32 E5                    4149        PUSH    HL\r
-    00001D33 01 01 00              4150        LD      BC,1\r
-    00001D36 FD 5E 11              4151        LD      E,(IY+17)\r
-    00001D39 FD 56 12              4152        LD      D,(IY+18)\r
-    00001D3C 3E B6                 4153        LD      A,BYTE3 Component_changestate_children\r
-    00001D3E 21 B6 09              4154        LD      HL,LWRD Component_changestate_children\r
-    00001D41 CD 00 00              4155        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001D44 E1                    4156        POP     HL\r
-    00001D45 E1                    4157        POP     HL\r
-    00001D46 FD 6E 11              4158        LD      L,(IY+17)\r
-    00001D49 FD 66 12              4159        LD      H,(IY+18)\r
-    00001D4C 01 08 00              4160        LD      BC,8\r
-    00001D4F 09                    4161        ADD     HL,BC\r
-    00001D50 4E                    4162        LD      C,(HL)\r
-    00001D51 23                    4163        INC     HL\r
-    00001D52 46                    4164        LD      B,(HL)\r
-    00001D53 C5                    4165        PUSH    BC\r
-    00001D54 FD 6E 11              4166        LD      L,(IY+17)\r
-    00001D57 FD 66 12              4167        LD      H,(IY+18)\r
-    00001D5A 01 06 00              4168        LD      BC,6\r
-    00001D5D 09                    4169        ADD     HL,BC\r
-    00001D5E 4E                    4170        LD      C,(HL)\r
-    00001D5F 23                    4171        INC     HL\r
-    00001D60 46                    4172        LD      B,(HL)\r
-    00001D61 C5                    4173        PUSH    BC\r
-    00001D62 01 00 00              4174        LD      BC,0\r
-    00001D65 59                    4175        LD      E,C\r
-    00001D66 50                    4176        LD      D,B\r
-    00001D67 3E 71                 4177        LD      A,BYTE3 Window_new\r
-    00001D69 21 71 0F              4178        LD      HL,LWRD Window_new\r
-    00001D6C CD 00 00              4179        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001D6F F1                    4180        POP     AF\r
-    00001D70 F1                    4181        POP     AF\r
-    00001D71 DD 75 EC              4182        LD      (IX-20),L\r
-    00001D74 DD 74 ED              4183        LD      (IX-19),H\r
-    00001D77 01 0A 00              4184        LD      BC,10\r
-    00001D7A 09                    4185        ADD     HL,BC\r
-    00001D7B 36 03                 4186        LD      (HL),3\r
-    00001D7D 23                    4187        INC     HL\r
-    00001D7E 70                    4188        LD      (HL),B\r
-    00001D7F DD 6E EA              4189        LD      L,(IX-22)\r
-    00001D82 DD 66 EB              4190        LD      H,(IX-21)\r
-    00001D85 23                    4191        INC     HL\r
-    00001D86 23                    4192        INC     HL\r
-    00001D87 23                    4193        INC     HL\r
-    00001D88 CB 46                 4194        BIT     0,(HL)\r
-    00001D8A 28 0C                 4195        JR      Z,?0292\r
-    00001D8C                       4196 ?0291:\r
-    00001D8C 69                    4197        LD      L,C\r
-    00001D8D 60                    4198        LD      H,B\r
-    00001D8E DD 4E EC              4199        LD      C,(IX-20)\r
-    00001D91 DD 46 ED              4200        LD      B,(IX-19)\r
-    00001D94 09                    4201        ADD     HL,BC\r
-    00001D95 23                    4202        INC     HL\r
-    00001D96 CB EE                 4203        SET     5,(HL)\r
-    00001D98                       4204 ?0292:\r
-    00001D98 21 17 00              4205        LD      HL,23\r
-    00001D9B DD 4E EC              4206        LD      C,(IX-20)\r
-    00001D9E DD 46 ED              4207        LD      B,(IX-19)\r
-    00001DA1 09                    4208        ADD     HL,BC\r
-    00001DA2 36 F0                 4209        LD      (HL),LOW(rootWindow_handler)\r
-    00001DA4 23                    4210        INC     HL\r
-    00001DA5 36 18                 4211        LD      (HL),HIGH(rootWindow_handler)\r
-    00001DA7 23                    4212        INC     HL\r
-    00001DA8 36 F0                 4213        LD      (HL),BYTE3 rootWindow_handler\r
-    00001DAA 21 1A 00              4214        LD      HL,26\r
-    00001DAD 09                    4215        ADD     HL,BC\r
-    00001DAE 36 2C                 4216        LD      (HL),LOW(Root_paint)\r
-    00001DB0 23                    4217        INC     HL\r
-    00001DB1 36 0F                 4218        LD      (HL),HIGH(Root_paint)\r
-    00001DB3 23                    4219        INC     HL\r
-    00001DB4 36 2C                 4220        LD      (HL),BYTE3 Root_paint\r
-    00001DB6 21 07 00              4221        LD      HL,7\r
-    00001DB9 DD 5E EA              4222        LD      E,(IX-22)\r
-    00001DBC DD 56 EB              4223        LD      D,(IX-21)\r
-    00001DBF 19                    4224        ADD     HL,DE\r
-    00001DC0 5E                    4225        LD      E,(HL)\r
-    00001DC1 EB                    4226        EX      DE,HL\r
-    00001DC2 DD 75 F3              4227        LD      (IX-13),L\r
-    00001DC5 21 07 00              4228        LD      HL,7\r
-    00001DC8 DD 4E EA              4229        LD      C,(IX-22)\r
-    00001DCB DD 46 EB              4230        LD      B,(IX-21)\r
-    00001DCE 09                    4231        ADD     HL,BC\r
-    00001DCF 5E                    4232        LD      E,(HL)\r
-    00001DD0 23                    4233        INC     HL\r
-    00001DD1 56                    4234        LD      D,(HL)\r
-    00001DD2 23                    4235        INC     HL\r
-    00001DD3 4E                    4236        LD      C,(HL)\r
-    00001DD4 23                    4237        INC     HL\r
-    00001DD5 46                    4238        LD      B,(HL)\r
-    00001DD6 EB                    4239        EX      DE,HL\r
-    00001DD7 3E 08                 4240        LD      A,8\r
-    00001DD9 CD 00 00              4241        CALL    LWRD ?SL_RSH_L03\r
-    00001DDC DD 75 F4              4242        LD      (IX-12),L\r
-    00001DDF 21 07 00              4243        LD      HL,7\r
-    00001DE2 DD 4E EA              4244        LD      C,(IX-22)\r
-    00001DE5 DD 46 EB              4245        LD      B,(IX-21)\r
-    00001DE8 09                    4246        ADD     HL,BC\r
-    00001DE9 5E                    4247        LD      E,(HL)\r
-    00001DEA 23                    4248        INC     HL\r
-    00001DEB 56                    4249        LD      D,(HL)\r
-    00001DEC 23                    4250        INC     HL\r
-    00001DED 4E                    4251        LD      C,(HL)\r
-    00001DEE 23                    4252        INC     HL\r
-    00001DEF 46                    4253        LD      B,(HL)\r
-    00001DF0 EB                    4254        EX      DE,HL\r
-    00001DF1 3E 10                 4255        LD      A,16\r
-    00001DF3 CD 00 00              4256        CALL    LWRD ?SL_RSH_L03\r
-    00001DF6 DD 75 F5              4257        LD      (IX-11),L\r
-    00001DF9 21 07 00              4258        LD      HL,7\r
-    00001DFC DD 4E EA              4259        LD      C,(IX-22)\r
-    00001DFF DD 46 EB              4260        LD      B,(IX-21)\r
-    00001E02 09                    4261        ADD     HL,BC\r
-    00001E03 5E                    4262        LD      E,(HL)\r
-    00001E04 23                    4263        INC     HL\r
-    00001E05 56                    4264        LD      D,(HL)\r
-    00001E06 23                    4265        INC     HL\r
-    00001E07 4E                    4266        LD      C,(HL)\r
-    00001E08 23                    4267        INC     HL\r
-    00001E09 46                    4268        LD      B,(HL)\r
-    00001E0A EB                    4269        EX      DE,HL\r
-    00001E0B 3E 18                 4270        LD      A,24\r
-    00001E0D CD 00 00              4271        CALL    LWRD ?SL_RSH_L03\r
-    00001E10 DD 75 F6              4272        LD      (IX-10),L\r
-    00001E13 21 06 00              4273        LD      HL,6\r
-    00001E16 39                    4274        ADD     HL,SP\r
-    00001E17 4D                    4275        LD      C,L\r
-    00001E18 44                    4276        LD      B,H\r
-    00001E19 DD 5E EC              4277        LD      E,(IX-20)\r
-    00001E1C DD 56 ED              4278        LD      D,(IX-19)\r
-    00001E1F 3E 0E                 4279        LD      A,BYTE3 screenbuilder\r
-    00001E21 21 0E 19              4280        LD      HL,LWRD screenbuilder\r
-    00001E24 CD 00 00              4281        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001E27 DD 4E EC              4282        LD      C,(IX-20)\r
-    00001E2A DD 46 ED              4283        LD      B,(IX-19)\r
-    00001E2D C5                    4284        PUSH    BC\r
-    00001E2E FD 5E 11              4285        LD      E,(IY+17)\r
-    00001E31 FD 56 12              4286        LD      D,(IY+18)\r
-    00001E34 FD 6E 11              4287        LD      L,(IY+17)\r
-    00001E37 FD 66 12              4288        LD      H,(IY+18)\r
-    00001E3A 01 1D 00              4289        LD      BC,29\r
-    00001E3D 09                    4290        ADD     HL,BC\r
-    00001E3E 4E                    4291        LD      C,(HL)\r
-    00001E3F 23                    4292        INC     HL\r
-    00001E40 46                    4293        LD      B,(HL)\r
-    00001E41 23                    4294        INC     HL\r
-    00001E42 7E                    4295        LD      A,(HL)\r
-    00001E43 69                    4296        LD      L,C\r
-    00001E44 60                    4297        LD      H,B\r
-    00001E45 C1                    4298        POP     BC\r
-    00001E46 CD 00 00              4299        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001E49                       4300 ?0290:\r
-    00001E49 DD 6E EA              4301        LD      L,(IX-22)\r
-    00001E4C DD 66 EB              4302        LD      H,(IX-21)\r
-    00001E4F 23                    4303        INC     HL\r
-    00001E50 23                    4304        INC     HL\r
-    00001E51 23                    4305        INC     HL\r
-    00001E52 3E 04                 4306        LD      A,4\r
-    00001E54 AE                    4307        XOR     (HL)\r
-    00001E55 23                    4308        INC     HL\r
-    00001E56 B6                    4309        OR      (HL)\r
-    00001E57 C2 E7 1F              4310        JP      NZ,?0294\r
-    00001E5A                       4311 ?0293:\r
-    00001E5A 21 01 00              4312        LD      HL,1\r
-    00001E5D E5                    4313        PUSH    HL\r
-    00001E5E FD 6E 11              4314        LD      L,(IY+17)\r
-    00001E61 FD 66 12              4315        LD      H,(IY+18)\r
-    00001E64 01 08 00              4316        LD      BC,8\r
-    00001E67 09                    4317        ADD     HL,BC\r
-    00001E68 46                    4318        LD      B,(HL)\r
-    00001E69 23                    4319        INC     HL\r
-    00001E6A 66                    4320        LD      H,(HL)\r
-    00001E6B 68                    4321        LD      L,B\r
-    00001E6C 01 F6 FF              4322        LD      BC,65526\r
-    00001E6F 09                    4323        ADD     HL,BC\r
-    00001E70 E5                    4324        PUSH    HL\r
-    00001E71 FD 6E 11              4325        LD      L,(IY+17)\r
-    00001E74 FD 66 12              4326        LD      H,(IY+18)\r
-    00001E77 01 06 00              4327        LD      BC,6\r
-    00001E7A 09                    4328        ADD     HL,BC\r
-    00001E7B 46                    4329        LD      B,(HL)\r
-    00001E7C 23                    4330        INC     HL\r
-    00001E7D 66                    4331        LD      H,(HL)\r
-    00001E7E 68                    4332        LD      L,B\r
-    00001E7F 01 F6 FF              4333        LD      BC,65526\r
-    00001E82 09                    4334        ADD     HL,BC\r
-    00001E83 E5                    4335        PUSH    HL\r
-    00001E84 01 05 00              4336        LD      BC,5\r
-    00001E87 59                    4337        LD      E,C\r
-    00001E88 50                    4338        LD      D,B\r
-    00001E89 3E 1A                 4339        LD      A,BYTE3 Dialog_new\r
-    00001E8B 21 1A 15              4340        LD      HL,LWRD Dialog_new\r
-    00001E8E CD 00 00              4341        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001E91 F1                    4342        POP     AF\r
-    00001E92 F1                    4343        POP     AF\r
-    00001E93 F1                    4344        POP     AF\r
-    00001E94 DD 75 EC              4345        LD      (IX-20),L\r
-    00001E97 DD 74 ED              4346        LD      (IX-19),H\r
-    00001E9A 01 0A 00              4347        LD      BC,10\r
-    00001E9D 09                    4348        ADD     HL,BC\r
-    00001E9E 36 03                 4349        LD      (HL),3\r
-    00001EA0 23                    4350        INC     HL\r
-    00001EA1 36 10                 4351        LD      (HL),16\r
-    00001EA3 21 0E 00              4352        LD      HL,14\r
-    00001EA6 DD 4E EC              4353        LD      C,(IX-20)\r
-    00001EA9 DD 46 ED              4354        LD      B,(IX-19)\r
-    00001EAC 09                    4355        ADD     HL,BC\r
-    00001EAD 36 30                 4356        LD      (HL),48\r
-    00001EAF 23                    4357        INC     HL\r
-    00001EB0 36 00                 4358        LD      (HL),0\r
-    00001EB2 AF                    4359        XOR     A\r
-    00001EB3 DD 77 FE              4360        LD      (IX-2),A\r
-    00001EB6 DD 77 FF              4361        LD      (IX-1),A\r
-    00001EB9                       4362 ?0296:\r
-    00001EB9 21 05 00              4363        LD      HL,5\r
-    00001EBC DD 4E EA              4364        LD      C,(IX-22)\r
-    00001EBF DD 46 EB              4365        LD      B,(IX-21)\r
-    00001EC2 09                    4366        ADD     HL,BC\r
-    00001EC3 5E                    4367        LD      E,(HL)\r
-    00001EC4 23                    4368        INC     HL\r
-    00001EC5 56                    4369        LD      D,(HL)\r
-    00001EC6 06 0C                 4370        LD      B,12\r
-    00001EC8 CD 00 00              4371        CALL    LWRD ?SS_RSH_L02\r
-    00001ECB 4B                    4372        LD      C,E\r
-    00001ECC 42                    4373        LD      B,D\r
-    00001ECD DD 6E FE              4374        LD      L,(IX-2)\r
-    00001ED0 DD 66 FF              4375        LD      H,(IX-1)\r
-    00001ED3 CD 00 00              4376        CALL    LWRD ?SS_CMP_L02\r
-    00001ED6 30 04                 4377        JR      NC,?0367\r
-    00001ED8 3E 01                 4378        LD      A,1\r
-    00001EDA 18 01                 4379        JR      ?0368\r
-    00001EDC                       4380 ?0367:\r
-    00001EDC AF                    4381        XOR     A\r
-    00001EDD                       4382 ?0368:\r
-    00001EDD E6 0F                 4383        AND     15\r
-    00001EDF CA 7B 1F              4384        JP      Z,?0295\r
-    00001EE2                       4385 ?0297:\r
-    00001EE2 21 05 00              4386        LD      HL,5\r
-    00001EE5 DD 4E EA              4387        LD      C,(IX-22)\r
-    00001EE8 DD 46 EB              4388        LD      B,(IX-21)\r
-    00001EEB 09                    4389        ADD     HL,BC\r
-    00001EEC 46                    4390        LD      B,(HL)\r
-    00001EED 23                    4391        INC     HL\r
-    00001EEE 7E                    4392        LD      A,(HL)\r
-    00001EEF 68                    4393        LD      L,B\r
-    00001EF0 E6 0F                 4394        AND     15\r
-    00001EF2 67                    4395        LD      H,A\r
-    00001EF3 DD 4E FE              4396        LD      C,(IX-2)\r
-    00001EF6 DD 46 FF              4397        LD      B,(IX-1)\r
-    00001EF9 09                    4398        ADD     HL,BC\r
-    00001EFA 29                    4399        ADD     HL,HL\r
-    00001EFB E5                    4400        PUSH    HL\r
-    00001EFC 21 08 00              4401        LD      HL,8\r
-    00001EFF ED 5B 00 00           4402        LD      DE,(global)\r
-    00001F03 19                    4403        ADD     HL,DE\r
-    00001F04 5E                    4404        LD      E,(HL)\r
-    00001F05 23                    4405        INC     HL\r
-    00001F06 56                    4406        LD      D,(HL)\r
-    00001F07 E1                    4407        POP     HL\r
-    00001F08 19                    4408        ADD     HL,DE\r
-    00001F09 2B                    4409        DEC     HL\r
-    00001F0A 2B                    4410        DEC     HL\r
-    00001F0B 5E                    4411        LD      E,(HL)\r
-    00001F0C 23                    4412        INC     HL\r
-    00001F0D 56                    4413        LD      D,(HL)\r
-    00001F0E D5                    4414        PUSH    DE\r
-    00001F0F 21 10 00              4415        LD      HL,16\r
-    00001F12 E5                    4416        PUSH    HL\r
-    00001F13 2E 06                 4417        LD      L,6\r
-    00001F15 DD 5E EC              4418        LD      E,(IX-20)\r
-    00001F18 DD 56 ED              4419        LD      D,(IX-19)\r
-    00001F1B 19                    4420        ADD     HL,DE\r
-    00001F1C 6E                    4421        LD      L,(HL)\r
-    00001F1D 26 00                 4422        LD      H,0\r
-    00001F1F 01 F0 FF              4423        LD      BC,65520\r
-    00001F22 09                    4424        ADD     HL,BC\r
-    00001F23 E5                    4425        PUSH    HL\r
-    00001F24 DD 6E FE              4426        LD      L,(IX-2)\r
-    00001F27 DD 66 FF              4427        LD      H,(IX-1)\r
-    00001F2A 29                    4428        ADD     HL,HL\r
-    00001F2B 29                    4429        ADD     HL,HL\r
-    00001F2C 4D                    4430        LD      C,L\r
-    00001F2D 44                    4431        LD      B,H\r
-    00001F2E 29                    4432        ADD     HL,HL\r
-    00001F2F 09                    4433        ADD     HL,BC\r
-    00001F30 01 14 00              4434        LD      BC,20\r
-    00001F33 09                    4435        ADD     HL,BC\r
-    00001F34 4D                    4436        LD      C,L\r
-    00001F35 44                    4437        LD      B,H\r
-    00001F36 11 08 00              4438        LD      DE,8\r
-    00001F39 3E 97                 4439        LD      A,BYTE3 Label_new\r
-    00001F3B 21 97 18              4440        LD      HL,LWRD Label_new\r
-    00001F3E CD 00 00              4441        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001F41 F1                    4442        POP     AF\r
-    00001F42 F1                    4443        POP     AF\r
-    00001F43 F1                    4444        POP     AF\r
-    00001F44 DD 75 FC              4445        LD      (IX-4),L\r
-    00001F47 DD 74 FD              4446        LD      (IX-3),H\r
-    00001F4A 01 0E 00              4447        LD      BC,14\r
-    00001F4D 09                    4448        ADD     HL,BC\r
-    00001F4E 36 30                 4449        LD      (HL),48\r
-    00001F50 23                    4450        INC     HL\r
-    00001F51 70                    4451        LD      (HL),B\r
-    00001F52 DD 4E FC              4452        LD      C,(IX-4)\r
-    00001F55 DD 46 FD              4453        LD      B,(IX-3)\r
-    00001F58 C5                    4454        PUSH    BC\r
-    00001F59 DD 5E EC              4455        LD      E,(IX-20)\r
-    00001F5C 4B                    4456        LD      C,E\r
-    00001F5D DD 56 ED              4457        LD      D,(IX-19)\r
-    00001F60 42                    4458        LD      B,D\r
-    00001F61 21 1D 00              4459        LD      HL,29\r
-    00001F64 09                    4460        ADD     HL,BC\r
-    00001F65 4E                    4461        LD      C,(HL)\r
-    00001F66 23                    4462        INC     HL\r
-    00001F67 46                    4463        LD      B,(HL)\r
-    00001F68 23                    4464        INC     HL\r
-    00001F69 7E                    4465        LD      A,(HL)\r
-    00001F6A 69                    4466        LD      L,C\r
-    00001F6B 60                    4467        LD      H,B\r
-    00001F6C C1                    4468        POP     BC\r
-    00001F6D CD 00 00              4469        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001F70 DD 34 FE              4470        INC     (IX-2)\r
-    00001F73 20 03                 4471        JR      NZ,?0369\r
-    00001F75 DD 34 FF              4472        INC     (IX-1)\r
-    00001F78                       4473 ?0369:\r
-    00001F78 C3 B9 1E              4474        JP      LWRD ?0296\r
-    00001F7B                       4475 ?0295:\r
-    00001F7B 01 15 00              4476        LD      BC,?0299\r
-    00001F7E DD 5E EC              4477        LD      E,(IX-20)\r
-    00001F81 DD 56 ED              4478        LD      D,(IX-19)\r
-    00001F84 3E 59                 4479        LD      A,BYTE3 Component_setlabel\r
-    00001F86 21 59 06              4480        LD      HL,LWRD Component_setlabel\r
-    00001F89 CD 00 00              4481        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001F8C 01 FF 00              4482        LD      BC,255\r
-    00001F8F CD 08 20              4483        CALL    LWRD ?0476\r
-    00001F92 01 0E 00              4484        LD      BC,14\r
-    00001F95 09                    4485        ADD     HL,BC\r
-    00001F96 36 30                 4486        LD      (HL),48\r
-    00001F98 23                    4487        INC     HL\r
-    00001F99 70                    4488        LD      (HL),B\r
-    00001F9A 0E FE                 4489        LD      C,254\r
-    00001F9C CD 08 20              4490        CALL    LWRD ?0476\r
-    00001F9F EB                    4491        EX      DE,HL\r
-    00001FA0 CD 8F 09              4492        CALL    LWRD ?0453\r
-    00001FA3 DD 4E EC              4493        LD      C,(IX-20)\r
-    00001FA6 DD 46 ED              4494        LD      B,(IX-19)\r
-    00001FA9 C5                    4495        PUSH    BC\r
-    00001FAA FD 5E 11              4496        LD      E,(IY+17)\r
-    00001FAD FD 56 12              4497        LD      D,(IY+18)\r
-    00001FB0 FD 6E 11              4498        LD      L,(IY+17)\r
-    00001FB3 FD 66 12              4499        LD      H,(IY+18)\r
-    00001FB6 01 1D 00              4500        LD      BC,29\r
-    00001FB9 09                    4501        ADD     HL,BC\r
-    00001FBA 4E                    4502        LD      C,(HL)\r
-    00001FBB 23                    4503        INC     HL\r
-    00001FBC 46                    4504        LD      B,(HL)\r
-    00001FBD 23                    4505        INC     HL\r
-    00001FBE 7E                    4506        LD      A,(HL)\r
-    00001FBF 69                    4507        LD      L,C\r
-    00001FC0 60                    4508        LD      H,B\r
-    00001FC1 C1                    4509        POP     BC\r
-    00001FC2 CD 00 00              4510        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001FC5 21 00 00              4511        LD      HL,0\r
-    00001FC8 E5                    4512        PUSH    HL\r
-    00001FC9 FD 5E 11              4513        LD      E,(IY+17)\r
-    00001FCC FD 56 12              4514        LD      D,(IY+18)\r
-    00001FCF FD 6E 11              4515        LD      L,(IY+17)\r
-    00001FD2 FD 66 12              4516        LD      H,(IY+18)\r
-    00001FD5 01 17 00              4517        LD      BC,23\r
-    00001FD8 09                    4518        ADD     HL,BC\r
-    00001FD9 4E                    4519        LD      C,(HL)\r
-    00001FDA 23                    4520        INC     HL\r
-    00001FDB 46                    4521        LD      B,(HL)\r
-    00001FDC 23                    4522        INC     HL\r
-    00001FDD 7E                    4523        LD      A,(HL)\r
-    00001FDE 69                    4524        LD      L,C\r
-    00001FDF 60                    4525        LD      H,B\r
-    00001FE0 01 03 01              4526        LD      BC,259\r
-    00001FE3 CD 00 00              4527        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00001FE6 E1                    4528        POP     HL\r
-    00001FE7                       4529 ?0294:\r
-    00001FE7 21 10 00              4530        LD      HL,16\r
-    00001FEA ED 4B 00 00           4531        LD      BC,(global)\r
-    00001FEE 09                    4532        ADD     HL,BC\r
-    00001FEF 7E                    4533        LD      A,(HL)\r
-    00001FF0 23                    4534        INC     HL\r
-    00001FF1 B6                    4535        OR      (HL)\r
-    00001FF2 23                    4536        INC     HL\r
-    00001FF3 B6                    4537        OR      (HL)\r
-    00001FF4 28 0D                 4538        JR      Z,?0301\r
-    00001FF6                       4539 ?0300:\r
-    00001FF6 FD E5                 4540        PUSH    IY\r
-    00001FF8 D1                    4541        POP     DE\r
-    00001FF9 21 10 00              4542        LD      HL,16\r
-    00001FFC ED 4B 00 00           4543        LD      BC,(global)\r
-    00002000 CD 94 0D              4544        CALL    LWRD ?0475\r
-    00002003                       4545 ?0301:\r
-    00002003 FD E1                 4546        POP     IY\r
-    00002005 C3 00 00              4547        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00002008                       4548 ?0476:\r
-    00002008 DD 5E EC              4549        LD      E,(IX-20)\r
-    0000200B DD 56 ED              4550        LD      D,(IX-19)\r
-    0000200E 3E 8E                 4551        LD      A,BYTE3 Component_find\r
-    00002010 21 8E 07              4552        LD      HL,LWRD Component_find\r
-    00002013 C3 00 00              4553        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00002016                       4554 read_stringtable:\r
-    00002016 CD 00 00              4555        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00002019 F8 FF                 4556        DEFW    -8\r
-    0000201B FD E5                 4557        PUSH    IY\r
-    0000201D 03                    4558        INC     BC\r
-    0000201E 0A                    4559        LD      A,(BC)\r
-    0000201F DD 77 FE              4560        LD      (IX-2),A\r
-    00002022 03                    4561        INC     BC\r
-    00002023 0A                    4562        LD      A,(BC)\r
-    00002024 DD 77 FF              4563        LD      (IX-1),A\r
-    00002027 03                    4564        INC     BC\r
-    00002028 69                    4565        LD      L,C\r
-    00002029 60                    4566        LD      H,B\r
-    0000202A 4E                    4567        LD      C,(HL)\r
-    0000202B DD 71 FC              4568        LD      (IX-4),C\r
-    0000202E 23                    4569        INC     HL\r
-    0000202F 46                    4570        LD      B,(HL)\r
-    00002030 DD 70 FD              4571        LD      (IX-3),B\r
-    00002033 DD 6E FE              4572        LD      L,(IX-2)\r
-    00002036 67                    4573        LD      H,A\r
-    00002037 29                    4574        ADD     HL,HL\r
-    00002038 EB                    4575        EX      DE,HL\r
-    00002039 CD C6 1C              4576        CALL    LWRD ?0454\r
-    0000203C DD 75 FA              4577        LD      (IX-6),L\r
-    0000203F DD 74 FB              4578        LD      (IX-5),H\r
-    00002042 59                    4579        LD      E,C\r
-    00002043 50                    4580        LD      D,B\r
-    00002044 CD CE 04              4581        CALL    LWRD ?0447\r
-    00002047 C5                    4582        PUSH    BC\r
-    00002048 4D                    4583        LD      C,L\r
-    00002049 44                    4584        LD      B,H\r
-    0000204A DD 5E 02              4585        LD      E,(IX+2)\r
-    0000204D DD 56 03              4586        LD      D,(IX+3)\r
-    00002050 CD BE 1C              4587        CALL    LWRD ?0441\r
-    00002053 F1                    4588        POP     AF\r
-    00002054 11 00 00              4589        LD      DE,0\r
-    00002057 AF                    4590        XOR     A\r
-    00002058 DD 77 F8              4591        LD      (IX-8),A\r
-    0000205B DD 77 F9              4592        LD      (IX-7),A\r
-    0000205E                       4593 ?0303:\r
-    0000205E DD 4E FC              4594        LD      C,(IX-4)\r
-    00002061 DD 46 FD              4595        LD      B,(IX-3)\r
-    00002064 6B                    4596        LD      L,E\r
-    00002065 62                    4597        LD      H,D\r
-    00002066 CD 00 00              4598        CALL    LWRD ?SS_CMP_L02\r
-    00002069 30 35                 4599        JR      NC,?0302\r
-    0000206B CD DC 20              4600        CALL    LWRD ?0479\r
-    0000206E 30 30                 4601        JR      NC,?0302\r
-    00002070                       4602 ?0306:\r
-    00002070                       4603 ?0305:\r
-    00002070                       4604 ?0304:\r
-    00002070 23                    4605        INC     HL\r
-    00002071 DD 75 F8              4606        LD      (IX-8),L\r
-    00002074 DD 74 F9              4607        LD      (IX-7),H\r
-    00002077 2B                    4608        DEC     HL\r
-    00002078 29                    4609        ADD     HL,HL\r
-    00002079 DD 4E FA              4610        LD      C,(IX-6)\r
-    0000207C DD 46 FB              4611        LD      B,(IX-5)\r
-    0000207F 09                    4612        ADD     HL,BC\r
-    00002080 E5                    4613        PUSH    HL\r
-    00002081 FD E5                 4614        PUSH    IY\r
-    00002083 E1                    4615        POP     HL\r
-    00002084 19                    4616        ADD     HL,DE\r
-    00002085 4D                    4617        LD      C,L\r
-    00002086 44                    4618        LD      B,H\r
-    00002087 E1                    4619        POP     HL\r
-    00002088 71                    4620        LD      (HL),C\r
-    00002089 23                    4621        INC     HL\r
-    0000208A 70                    4622        LD      (HL),B\r
-    0000208B                       4623 ?0308:\r
-    0000208B FD E5                 4624        PUSH    IY\r
-    0000208D E1                    4625        POP     HL\r
-    0000208E 19                    4626        ADD     HL,DE\r
-    0000208F 7E                    4627        LD      A,(HL)\r
-    00002090 B7                    4628        OR      A\r
-    00002091 28 03                 4629        JR      Z,?0307\r
-    00002093                       4630 ?0309:\r
-    00002093 13                    4631        INC     DE\r
-    00002094 18 F5                 4632        JR      ?0308\r
-    00002096                       4633 ?0307:\r
-    00002096 6B                    4634        LD      L,E\r
-    00002097 62                    4635        LD      H,D\r
-    00002098 13                    4636        INC     DE\r
-    00002099 FD E5                 4637        PUSH    IY\r
-    0000209B C1                    4638        POP     BC\r
-    0000209C 09                    4639        ADD     HL,BC\r
-    0000209D 77                    4640        LD      (HL),A\r
-    0000209E 18 BE                 4641        JR      ?0303\r
-    000020A0                       4642 ?0302:\r
-    000020A0 CD DC 20              4643        CALL    LWRD ?0479\r
-    000020A3 30 13                 4644        JR      NC,?0311\r
-    000020A5                       4645 ?0310:\r
-    000020A5 29                    4646        ADD     HL,HL\r
-    000020A6 DD 4E FA              4647        LD      C,(IX-6)\r
-    000020A9 DD 46 FB              4648        LD      B,(IX-5)\r
-    000020AC 09                    4649        ADD     HL,BC\r
-    000020AD E5                    4650        PUSH    HL\r
-    000020AE FD E5                 4651        PUSH    IY\r
-    000020B0 E1                    4652        POP     HL\r
-    000020B1 19                    4653        ADD     HL,DE\r
-    000020B2 4D                    4654        LD      C,L\r
-    000020B3 44                    4655        LD      B,H\r
-    000020B4 E1                    4656        POP     HL\r
-    000020B5 71                    4657        LD      (HL),C\r
-    000020B6 23                    4658        INC     HL\r
-    000020B7 70                    4659        LD      (HL),B\r
-    000020B8                       4660 ?0311:\r
-    000020B8 21 06 00              4661        LD      HL,6\r
-    000020BB ED 4B 00 00           4662        LD      BC,(global)\r
-    000020BF 09                    4663        ADD     HL,BC\r
-    000020C0 FD E5                 4664        PUSH    IY\r
-    000020C2 C1                    4665        POP     BC\r
-    000020C3 71                    4666        LD      (HL),C\r
-    000020C4 23                    4667        INC     HL\r
-    000020C5 70                    4668        LD      (HL),B\r
-    000020C6 21 08 00              4669        LD      HL,8\r
-    000020C9 ED 4B 00 00           4670        LD      BC,(global)\r
-    000020CD 09                    4671        ADD     HL,BC\r
-    000020CE DD 4E FA              4672        LD      C,(IX-6)\r
-    000020D1 71                    4673        LD      (HL),C\r
-    000020D2 DD 46 FB              4674        LD      B,(IX-5)\r
-    000020D5 23                    4675        INC     HL\r
-    000020D6 70                    4676        LD      (HL),B\r
-    000020D7 FD E1                 4677        POP     IY\r
-    000020D9 C3 00 00              4678        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000020DC                       4679 ?0479:\r
-    000020DC DD 4E FE              4680        LD      C,(IX-2)\r
-    000020DF DD 46 FF              4681        LD      B,(IX-1)\r
-    000020E2 DD 6E F8              4682        LD      L,(IX-8)\r
-    000020E5 DD 66 F9              4683        LD      H,(IX-7)\r
-    000020E8 C3 00 00              4684        JP      LWRD ?SS_CMP_L02\r
-    000020EB                       4685 gui_globals:\r
-    000020EB 2A 00 00              4686        LD      HL,(global)\r
-    000020EE C3 00 00              4687        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000020F1                       4688 GUIinit:\r
-    000020F1 C5                    4689        PUSH    BC\r
-    000020F2 D5                    4690        PUSH    DE\r
-    000020F3 11 13 00              4691        LD      DE,19\r
-    000020F6 CD C6 1C              4692        CALL    LWRD ?0454\r
-    000020F9 22 00 00              4693        LD      (global),HL\r
-    000020FC AF                    4694        XOR     A\r
-    000020FD 77                    4695        LD      (HL),A\r
-    000020FE 23                    4696        INC     HL\r
-    000020FF 77                    4697        LD      (HL),A\r
-    00002100 21 04 00              4698        LD      HL,4\r
-    00002103 ED 4B 00 00           4699        LD      BC,(global)\r
-    00002107 09                    4700        ADD     HL,BC\r
-    00002108 77                    4701        LD      (HL),A\r
-    00002109 23                    4702        INC     HL\r
-    0000210A 77                    4703        LD      (HL),A\r
-    0000210B 21 0A 00              4704        LD      HL,10\r
-    0000210E ED 4B 00 00           4705        LD      BC,(global)\r
-    00002112 09                    4706        ADD     HL,BC\r
-    00002113 77                    4707        LD      (HL),A\r
-    00002114 23                    4708        INC     HL\r
-    00002115 77                    4709        LD      (HL),A\r
-    00002116 21 0C 00              4710        LD      HL,12\r
-    00002119 ED 4B 00 00           4711        LD      BC,(global)\r
-    0000211D 09                    4712        ADD     HL,BC\r
-    0000211E 77                    4713        LD      (HL),A\r
-    0000211F 23                    4714        INC     HL\r
-    00002120 77                    4715        LD      (HL),A\r
-    00002121 21 08 00              4716        LD      HL,8\r
-    00002124 ED 4B 00 00           4717        LD      BC,(global)\r
-    00002128 09                    4718        ADD     HL,BC\r
-    00002129 77                    4719        LD      (HL),A\r
-    0000212A 23                    4720        INC     HL\r
-    0000212B 77                    4721        LD      (HL),A\r
-    0000212C 21 06 00              4722        LD      HL,6\r
-    0000212F ED 4B 00 00           4723        LD      BC,(global)\r
-    00002133 09                    4724        ADD     HL,BC\r
-    00002134 77                    4725        LD      (HL),A\r
-    00002135 23                    4726        INC     HL\r
-    00002136 77                    4727        LD      (HL),A\r
-    00002137 21 10 00              4728        LD      HL,16\r
-    0000213A ED 4B 00 00           4729        LD      BC,(global)\r
-    0000213E 09                    4730        ADD     HL,BC\r
-    0000213F 77                    4731        LD      (HL),A\r
-    00002140 23                    4732        INC     HL\r
-    00002141 77                    4733        LD      (HL),A\r
-    00002142 23                    4734        INC     HL\r
-    00002143 77                    4735        LD      (HL),A\r
-    00002144 3E 00                 4736        LD      A,BYTE3 GraphicsOpen\r
-    00002146 21 00 00              4737        LD      HL,LWRD GraphicsOpen\r
-    00002149 CD 00 00              4738        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000214C 21 00 00              4739        LD      HL,0\r
-    0000214F E5                    4740        PUSH    HL\r
-    00002150 E5                    4741        PUSH    HL\r
-    00002151 0E 70                 4742        LD      C,BYTE3 stringheight01\r
-    00002153 C5                    4743        PUSH    BC\r
-    00002154 21 70 05              4744        LD      HL,LWRD stringheight01\r
-    00002157 E5                    4745        PUSH    HL\r
-    00002158 0E 8C                 4746        LD      C,BYTE3 stringwidth0\r
-    0000215A C5                    4747        PUSH    BC\r
-    0000215B 21 8C 05              4748        LD      HL,LWRD stringwidth0\r
-    0000215E E5                    4749        PUSH    HL\r
-    0000215F 11 30 00              4750        LD      DE,48\r
-    00002162 CD 10 22              4751        CALL    LWRD ?0484\r
-    00002165 21 0C 00              4752        LD      HL,12\r
-    00002168 39                    4753        ADD     HL,SP\r
-    00002169 F9                    4754        LD      SP,HL\r
-    0000216A 21 00 00              4755        LD      HL,0\r
-    0000216D E5                    4756        PUSH    HL\r
-    0000216E E5                    4757        PUSH    HL\r
-    0000216F 0E 70                 4758        LD      C,BYTE3 stringheight01\r
-    00002171 C5                    4759        PUSH    BC\r
-    00002172 21 70 05              4760        LD      HL,LWRD stringheight01\r
-    00002175 E5                    4761        PUSH    HL\r
-    00002176 0E 9D                 4762        LD      C,BYTE3 stringwidth1\r
-    00002178 C5                    4763        PUSH    BC\r
-    00002179 21 9D 05              4764        LD      HL,LWRD stringwidth1\r
-    0000217C E5                    4765        PUSH    HL\r
-    0000217D 11 31 00              4766        LD      DE,49\r
-    00002180 CD 10 22              4767        CALL    LWRD ?0484\r
-    00002183 21 0C 00              4768        LD      HL,12\r
-    00002186 39                    4769        ADD     HL,SP\r
-    00002187 F9                    4770        LD      SP,HL\r
-    00002188 21 00 00              4771        LD      HL,0\r
-    0000218B E5                    4772        PUSH    HL\r
-    0000218C E5                    4773        PUSH    HL\r
-    0000218D 0E 83                 4774        LD      C,BYTE3 stringheight2\r
-    0000218F C5                    4775        PUSH    BC\r
-    00002190 21 83 05              4776        LD      HL,LWRD stringheight2\r
-    00002193 E5                    4777        PUSH    HL\r
-    00002194 0E A6                 4778        LD      C,BYTE3 stringwidth2\r
-    00002196 C5                    4779        PUSH    BC\r
-    00002197 21 A6 05              4780        LD      HL,LWRD stringwidth2\r
-    0000219A E5                    4781        PUSH    HL\r
-    0000219B 11 32 00              4782        LD      DE,50\r
-    0000219E CD 10 22              4783        CALL    LWRD ?0484\r
-    000021A1 21 0C 00              4784        LD      HL,12\r
-    000021A4 39                    4785        ADD     HL,SP\r
-    000021A5 F9                    4786        LD      SP,HL\r
-    000021A6 21 0E 00              4787        LD      HL,14\r
-    000021A9 ED 4B 00 00           4788        LD      BC,(global)\r
-    000021AD 09                    4789        ADD     HL,BC\r
-    000021AE E5                    4790        PUSH    HL\r
-    000021AF 11 80 00              4791        LD      DE,128\r
-    000021B2 D5                    4792        PUSH    DE\r
-    000021B3 5A                    4793        LD      E,D\r
-    000021B4 D5                    4794        PUSH    DE\r
-    000021B5 4B                    4795        LD      C,E\r
-    000021B6 42                    4796        LD      B,D\r
-    000021B7 3E 71                 4797        LD      A,BYTE3 Window_new\r
-    000021B9 21 71 0F              4798        LD      HL,LWRD Window_new\r
-    000021BC CD 00 00              4799        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000021BF F1                    4800        POP     AF\r
-    000021C0 F1                    4801        POP     AF\r
-    000021C1 4D                    4802        LD      C,L\r
-    000021C2 44                    4803        LD      B,H\r
-    000021C3 E1                    4804        POP     HL\r
-    000021C4 71                    4805        LD      (HL),C\r
-    000021C5 23                    4806        INC     HL\r
-    000021C6 70                    4807        LD      (HL),B\r
-    000021C7 21 0E 00              4808        LD      HL,14\r
-    000021CA ED 4B 00 00           4809        LD      BC,(global)\r
-    000021CE 09                    4810        ADD     HL,BC\r
-    000021CF 56                    4811        LD      D,(HL)\r
-    000021D0 23                    4812        INC     HL\r
-    000021D1 66                    4813        LD      H,(HL)\r
-    000021D2 6A                    4814        LD      L,D\r
-    000021D3 11 0A 00              4815        LD      DE,10\r
-    000021D6 19                    4816        ADD     HL,DE\r
-    000021D7 36 01                 4817        LD      (HL),1\r
-    000021D9 23                    4818        INC     HL\r
-    000021DA 72                    4819        LD      (HL),D\r
-    000021DB 21 0E 00              4820        LD      HL,14\r
-    000021DE ED 4B 00 00           4821        LD      BC,(global)\r
-    000021E2 09                    4822        ADD     HL,BC\r
-    000021E3 56                    4823        LD      D,(HL)\r
-    000021E4 23                    4824        INC     HL\r
-    000021E5 66                    4825        LD      H,(HL)\r
-    000021E6 6A                    4826        LD      L,D\r
-    000021E7 11 17 00              4827        LD      DE,23\r
-    000021EA 19                    4828        ADD     HL,DE\r
-    000021EB 36 F0                 4829        LD      (HL),LOW(rootWindow_handler)\r
-    000021ED 23                    4830        INC     HL\r
-    000021EE 36 18                 4831        LD      (HL),HIGH(rootWindow_handler)\r
-    000021F0 23                    4832        INC     HL\r
-    000021F1 36 F0                 4833        LD      (HL),BYTE3 rootWindow_handler\r
-    000021F3 21 0E 00              4834        LD      HL,14\r
-    000021F6 ED 4B 00 00           4835        LD      BC,(global)\r
-    000021FA 09                    4836        ADD     HL,BC\r
-    000021FB 46                    4837        LD      B,(HL)\r
-    000021FC 23                    4838        INC     HL\r
-    000021FD 66                    4839        LD      H,(HL)\r
-    000021FE 68                    4840        LD      L,B\r
-    000021FF 01 1A 00              4841        LD      BC,26\r
-    00002202 09                    4842        ADD     HL,BC\r
-    00002203 36 2C                 4843        LD      (HL),LOW(Root_paint)\r
-    00002205 23                    4844        INC     HL\r
-    00002206 36 0F                 4845        LD      (HL),HIGH(Root_paint)\r
-    00002208 23                    4846        INC     HL\r
-    00002209 36 2C                 4847        LD      (HL),BYTE3 Root_paint\r
-    0000220B D1                    4848        POP     DE\r
-    0000220C C1                    4849        POP     BC\r
-    0000220D C3 00 00              4850        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    00002210                       4851 ?0484:\r
-    00002210 3E 33                 4852        LD      A,BYTE3 loadFont\r
-    00002212 21 33 04              4853        LD      HL,LWRD loadFont\r
-    00002215 C3 00 00              4854        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00002218                       4855 GUIunit:\r
-    00002218 C5                    4856        PUSH    BC\r
-    00002219 D5                    4857        PUSH    DE\r
-    0000221A 21 0E 00              4858        LD      HL,14\r
-    0000221D ED 4B 00 00           4859        LD      BC,(global)\r
-    00002221 09                    4860        ADD     HL,BC\r
-    00002222 5E                    4861        LD      E,(HL)\r
-    00002223 23                    4862        INC     HL\r
-    00002224 56                    4863        LD      D,(HL)\r
-    00002225 CD 8F 09              4864        CALL    LWRD ?0453\r
-    00002228 3E BD                 4865        LD      A,BYTE3 ClearScreen\r
-    0000222A 21 BD 02              4866        LD      HL,LWRD ClearScreen\r
-    0000222D CD 00 00              4867        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00002230 3E 8E                 4868        LD      A,BYTE3 GraphicsClose\r
-    00002232 21 8E 00              4869        LD      HL,LWRD GraphicsClose\r
-    00002235 CD 00 00              4870        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00002238 D1                    4871        POP     DE\r
-    00002239 C1                    4872        POP     BC\r
-    0000223A C3 00 00              4873        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    0000223D                       4874 GUIgo:\r
-    0000223D CD 00 00              4875        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00002240 FE FF                 4876        DEFW    65534\r
-    00002242 DD 4E 02              4877        LD      C,(IX+2)\r
-    00002245 DD 46 03              4878        LD      B,(IX+3)\r
-    00002248 21 0E 00              4879        LD      HL,14\r
-    0000224B ED 5B 00 00           4880        LD      DE,(global)\r
-    0000224F 19                    4881        ADD     HL,DE\r
-    00002250 5E                    4882        LD      E,(HL)\r
-    00002251 23                    4883        INC     HL\r
-    00002252 56                    4884        LD      D,(HL)\r
-    00002253 3E 0E                 4885        LD      A,BYTE3 screenbuilder\r
-    00002255 21 0E 19              4886        LD      HL,LWRD screenbuilder\r
-    00002258 CD 00 00              4887        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000225B                       4888 ?0313:\r
-    0000225B 21 04 00              4889        LD      HL,4\r
-    0000225E ED 4B 00 00           4890        LD      BC,(global)\r
-    00002262 09                    4891        ADD     HL,BC\r
-    00002263 7E                    4892        LD      A,(HL)\r
-    00002264 23                    4893        INC     HL\r
-    00002265 B6                    4894        OR      (HL)\r
-    00002266 C2 FB 22              4895        JP      NZ,?0312\r
-    00002269                       4896 ?0314:\r
-    00002269 21 01 00              4897        LD      HL,1\r
-    0000226C E5                    4898        PUSH    HL\r
-    0000226D 23                    4899        INC     HL\r
-    0000226E 39                    4900        ADD     HL,SP\r
-    0000226F 4D                    4901        LD      C,L\r
-    00002270 44                    4902        LD      B,H\r
-    00002271 2A 00 00              4903        LD      HL,(global)\r
-    00002274 23                    4904        INC     HL\r
-    00002275 23                    4905        INC     HL\r
-    00002276 5E                    4906        LD      E,(HL)\r
-    00002277 23                    4907        INC     HL\r
-    00002278 56                    4908        LD      D,(HL)\r
-    00002279 CD BE 1C              4909        CALL    LWRD ?0441\r
-    0000227C F1                    4910        POP     AF\r
-    0000227D 3E 01                 4911        LD      A,1\r
-    0000227F AD                    4912        XOR     L\r
-    00002280 B4                    4913        OR      H\r
-    00002281 20 D8                 4914        JR      NZ,?0313\r
-    00002283                       4915 ?0315:\r
-    00002283 DD 4E FE              4916        LD      C,(IX-2)\r
-    00002286 47                    4917        LD      B,A\r
-    00002287 C5                    4918        PUSH    BC\r
-    00002288 21 21 00              4919        LD      HL,?0317\r
-    0000228B E5                    4920        PUSH    HL\r
-    0000228C 3E 00                 4921        LD      A,BYTE3 printf\r
-    0000228E 21 00 00              4922        LD      HL,LWRD printf\r
-    00002291 CD 00 00              4923        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00002294 F1                    4924        POP     AF\r
-    00002295 F1                    4925        POP     AF\r
-    00002296 AF                    4926        XOR     A\r
-    00002297 DD B6 FE              4927        OR      (IX-2)\r
-    0000229A 28 29                 4928        JR      Z,?0319\r
-    0000229C                       4929 ?0318:\r
-    0000229C 4F                    4930        LD      C,A\r
-    0000229D C5                    4931        PUSH    BC\r
-    0000229E 21 0E 00              4932        LD      HL,14\r
-    000022A1 ED 5B 00 00           4933        LD      DE,(global)\r
-    000022A5 19                    4934        ADD     HL,DE\r
-    000022A6 5E                    4935        LD      E,(HL)\r
-    000022A7 23                    4936        INC     HL\r
-    000022A8 56                    4937        LD      D,(HL)\r
-    000022A9 21 0E 00              4938        LD      HL,14\r
-    000022AC ED 4B 00 00           4939        LD      BC,(global)\r
-    000022B0 09                    4940        ADD     HL,BC\r
-    000022B1 46                    4941        LD      B,(HL)\r
-    000022B2 23                    4942        INC     HL\r
-    000022B3 66                    4943        LD      H,(HL)\r
-    000022B4 68                    4944        LD      L,B\r
-    000022B5 01 17 00              4945        LD      BC,23\r
-    000022B8 09                    4946        ADD     HL,BC\r
-    000022B9 4E                    4947        LD      C,(HL)\r
-    000022BA 23                    4948        INC     HL\r
-    000022BB 46                    4949        LD      B,(HL)\r
-    000022BC 23                    4950        INC     HL\r
-    000022BD 7E                    4951        LD      A,(HL)\r
-    000022BE 69                    4952        LD      L,C\r
-    000022BF 60                    4953        LD      H,B\r
-    000022C0 01 01 00              4954        LD      BC,1\r
-    000022C3 18 29                 4955        JR      ?0370\r
-    000022C5                       4956 ?0319:\r
-    000022C5 DD 4E FF              4957        LD      C,(IX-1)\r
-    000022C8 C5                    4958        PUSH    BC\r
-    000022C9 21 0E 00              4959        LD      HL,14\r
-    000022CC ED 5B 00 00           4960        LD      DE,(global)\r
-    000022D0 19                    4961        ADD     HL,DE\r
-    000022D1 5E                    4962        LD      E,(HL)\r
-    000022D2 23                    4963        INC     HL\r
-    000022D3 56                    4964        LD      D,(HL)\r
-    000022D4 21 0E 00              4965        LD      HL,14\r
-    000022D7 ED 4B 00 00           4966        LD      BC,(global)\r
-    000022DB 09                    4967        ADD     HL,BC\r
-    000022DC 46                    4968        LD      B,(HL)\r
-    000022DD 23                    4969        INC     HL\r
-    000022DE 66                    4970        LD      H,(HL)\r
-    000022DF 68                    4971        LD      L,B\r
-    000022E0 01 17 00              4972        LD      BC,23\r
-    000022E3 09                    4973        ADD     HL,BC\r
-    000022E4 4E                    4974        LD      C,(HL)\r
-    000022E5 23                    4975        INC     HL\r
-    000022E6 46                    4976        LD      B,(HL)\r
-    000022E7 23                    4977        INC     HL\r
-    000022E8 7E                    4978        LD      A,(HL)\r
-    000022E9 69                    4979        LD      L,C\r
-    000022EA 60                    4980        LD      H,B\r
-    000022EB 01 02 00              4981        LD      BC,2\r
-    000022EE                       4982 ?0370:\r
-    000022EE CD 00 00              4983        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000022F1 E1                    4984        POP     HL\r
-    000022F2                       4985 ?0320:\r
-    000022F2 DD 46 FE              4986        LD      B,(IX-2)\r
-    000022F5 DD 70 FF              4987        LD      (IX-1),B\r
-    000022F8                       4988 ?0316:\r
-    000022F8 C3 5B 22              4989        JP      LWRD ?0313\r
-    000022FB                       4990 ?0312:\r
-    000022FB C3 00 00              4991        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-                                   4992        RSEG    CSTR\r
-    00000000                       4993 ?0001:\r
-    00000000 2F 64 65 76 2F 6C 63  4994        DEFB    '/dev/lcd0'\r
+                                     85        EXTERN  ?C_V_SWITCH_L06\r
+                                     86        EXTERN  ?S_V_SWITCH_L06\r
+                                     87        EXTERN  ?BANK_CALL_DIRECT_L08\r
+                                     88        EXTERN  ?BANK_LEAVE_DIRECT_L08\r
+                                     89        EXTERN  ?BANK_FAST_LEAVE_L08\r
+                                     90        EXTERN  ?ENT_PARM_DIRECT_L09\r
+                                     91        EXTERN  ?ENT_AUTO_DIRECT_L09\r
+                                     92        RSEG    CODE\r
+    00000000                         93 SetCurrentGraphicsDevice:\r
+    00000000 CD 00 00                94        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00000003 21 06 00                95        LD      HL,6\r
+    00000006 ED 4B 00 00             96        LD      BC,(global)\r
+    0000000A 09                      97        ADD     HL,BC\r
+    0000000B E5                      98        PUSH    HL\r
+    0000000C EB                      99        EX      DE,HL\r
+    0000000D 29                     100        ADD     HL,HL\r
+    0000000E 09                     101        ADD     HL,BC\r
+    0000000F 23                     102        INC     HL\r
+    00000010 23                     103        INC     HL\r
+    00000011 4E                     104        LD      C,(HL)\r
+    00000012 23                     105        INC     HL\r
+    00000013 46                     106        LD      B,(HL)\r
+    00000014 E1                     107        POP     HL\r
+    00000015 71                     108        LD      (HL),C\r
+    00000016 23                     109        INC     HL\r
+    00000017 70                     110        LD      (HL),B\r
+    00000018 C3 00 00               111        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000001B                        112 GraphicsOpen:\r
+    0000001B CD 00 00               113        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000001E F8 FF                  114        DEFW    65528\r
+    00000020 21 06 00               115        LD      HL,6\r
+    00000023 39                     116        ADD     HL,SP\r
+    00000024 EB                     117        EX      DE,HL\r
+    00000025 21 00 00               118        LD      HL,?0000\r
+    00000028 01 02 00               119        LD      BC,2\r
+    0000002B ED B0                  120        LDIR\r
+    0000002D 2A 00 00               121        LD      HL,(global)\r
+    00000030 23                     122        INC     HL\r
+    00000031 23                     123        INC     HL\r
+    00000032 E5                     124        PUSH    HL\r
+    00000033 03                     125        INC     BC\r
+    00000034 03                     126        INC     BC\r
+    00000035 C5                     127        PUSH    BC\r
+    00000036 01 00 00               128        LD      BC,?0001\r
+    00000039 C5                     129        PUSH    BC\r
+    0000003A CD 14 01               130        CALL    LWRD ?0444\r
+    0000003D F1                     131        POP     AF\r
+    0000003E F1                     132        POP     AF\r
+    0000003F 4D                     133        LD      C,L\r
+    00000040 44                     134        LD      B,H\r
+    00000041 E1                     135        POP     HL\r
+    00000042 71                     136        LD      (HL),C\r
+    00000043 23                     137        INC     HL\r
+    00000044 70                     138        LD      (HL),B\r
+    00000045 21 00 00               139        LD      HL,0\r
+    00000048 39                     140        ADD     HL,SP\r
+    00000049 E5                     141        PUSH    HL\r
+    0000004A 21 00 00               142        LD      HL,0\r
+    0000004D E5                     143        PUSH    HL\r
+    0000004E 2A 00 00               144        LD      HL,(global)\r
+    00000051 23                     145        INC     HL\r
+    00000052 23                     146        INC     HL\r
+    00000053 4E                     147        LD      C,(HL)\r
+    00000054 23                     148        INC     HL\r
+    00000055 46                     149        LD      B,(HL)\r
+    00000056 C5                     150        PUSH    BC\r
+    00000057 CD 0C 01               151        CALL    LWRD ?0443\r
+    0000005A F1                     152        POP     AF\r
+    0000005B F1                     153        POP     AF\r
+    0000005C F1                     154        POP     AF\r
+    0000005D DD 36 FC 60            155        LD      (IX-4),96\r
+    00000061 DD 36 FD 00            156        LD      (IX-3),0\r
+    00000065 21 00 00               157        LD      HL,0\r
+    00000068 39                     158        ADD     HL,SP\r
+    00000069 E5                     159        PUSH    HL\r
+    0000006A 21 01 00               160        LD      HL,1\r
+    0000006D E5                     161        PUSH    HL\r
+    0000006E 2A 00 00               162        LD      HL,(global)\r
+    00000071 23                     163        INC     HL\r
+    00000072 23                     164        INC     HL\r
+    00000073 4E                     165        LD      C,(HL)\r
+    00000074 23                     166        INC     HL\r
+    00000075 46                     167        LD      B,(HL)\r
+    00000076 C5                     168        PUSH    BC\r
+    00000077 CD 0C 01               169        CALL    LWRD ?0443\r
+    0000007A F1                     170        POP     AF\r
+    0000007B F1                     171        POP     AF\r
+    0000007C F1                     172        POP     AF\r
+    0000007D 21 02 00               173        LD      HL,2\r
+    00000080 E5                     174        PUSH    HL\r
+    00000081 2E 08                  175        LD      L,8\r
+    00000083 39                     176        ADD     HL,SP\r
+    00000084 4D                     177        LD      C,L\r
+    00000085 44                     178        LD      B,H\r
+    00000086 2A 00 00               179        LD      HL,(global)\r
+    00000089 23                     180        INC     HL\r
+    0000008A 23                     181        INC     HL\r
+    0000008B CD 26 01               182        CALL    LWRD ?0445\r
+    0000008E F1                     183        POP     AF\r
+    0000008F 21 04 00               184        LD      HL,4\r
+    00000092 ED 4B 00 00            185        LD      BC,(global)\r
+    00000096 09                     186        ADD     HL,BC\r
+    00000097 E5                     187        PUSH    HL\r
+    00000098 11 02 00               188        LD      DE,2\r
+    0000009B D5                     189        PUSH    DE\r
+    0000009C 11 0A 00               190        LD      DE,?0002\r
+    0000009F D5                     191        PUSH    DE\r
+    000000A0 CD 14 01               192        CALL    LWRD ?0444\r
+    000000A3 F1                     193        POP     AF\r
+    000000A4 F1                     194        POP     AF\r
+    000000A5 EB                     195        EX      DE,HL\r
+    000000A6 E1                     196        POP     HL\r
+    000000A7 73                     197        LD      (HL),E\r
+    000000A8 23                     198        INC     HL\r
+    000000A9 72                     199        LD      (HL),D\r
+    000000AA 21 00 00               200        LD      HL,0\r
+    000000AD 39                     201        ADD     HL,SP\r
+    000000AE E5                     202        PUSH    HL\r
+    000000AF 21 00 00               203        LD      HL,0\r
+    000000B2 E5                     204        PUSH    HL\r
+    000000B3 2E 04                  205        LD      L,4\r
+    000000B5 ED 4B 00 00            206        LD      BC,(global)\r
+    000000B9 09                     207        ADD     HL,BC\r
+    000000BA 5E                     208        LD      E,(HL)\r
+    000000BB 23                     209        INC     HL\r
+    000000BC 56                     210        LD      D,(HL)\r
+    000000BD D5                     211        PUSH    DE\r
+    000000BE CD 0C 01               212        CALL    LWRD ?0443\r
+    000000C1 F1                     213        POP     AF\r
+    000000C2 F1                     214        POP     AF\r
+    000000C3 F1                     215        POP     AF\r
+    000000C4 DD 36 FC 60            216        LD      (IX-4),96\r
+    000000C8 DD 36 FD 00            217        LD      (IX-3),0\r
+    000000CC 21 00 00               218        LD      HL,0\r
+    000000CF 39                     219        ADD     HL,SP\r
+    000000D0 E5                     220        PUSH    HL\r
+    000000D1 21 01 00               221        LD      HL,1\r
+    000000D4 E5                     222        PUSH    HL\r
+    000000D5 2E 04                  223        LD      L,4\r
+    000000D7 09                     224        ADD     HL,BC\r
+    000000D8 5E                     225        LD      E,(HL)\r
+    000000D9 23                     226        INC     HL\r
+    000000DA 56                     227        LD      D,(HL)\r
+    000000DB D5                     228        PUSH    DE\r
+    000000DC CD 0C 01               229        CALL    LWRD ?0443\r
+    000000DF F1                     230        POP     AF\r
+    000000E0 F1                     231        POP     AF\r
+    000000E1 F1                     232        POP     AF\r
+    000000E2 21 02 00               233        LD      HL,2\r
+    000000E5 E5                     234        PUSH    HL\r
+    000000E6 2E 08                  235        LD      L,8\r
+    000000E8 39                     236        ADD     HL,SP\r
+    000000E9 CD 1C 01               237        CALL    LWRD ?0446\r
+    000000EC F1                     238        POP     AF\r
+    000000ED 11 01 00               239        LD      DE,1\r
+    000000F0 3E 00                  240        LD      A,BYTE3 SetCurrentGraphicsDevice\r
+    000000F2 21 00 00               241        LD      HL,LWRD SetCurrentGraphicsDevice\r
+    000000F5 CD 00 00               242        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000000F8 11 14 00               243        LD      DE,?0003\r
+    000000FB CD 31 01               244        CALL    LWRD ?0452\r
+    000000FE 11 00 00               245        LD      DE,0\r
+    00000101 3E 00                  246        LD      A,BYTE3 SetCurrentGraphicsDevice\r
+    00000103 21 00 00               247        LD      HL,LWRD SetCurrentGraphicsDevice\r
+    00000106 CD 00 00               248        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000109 C3 00 00               249        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000010C                        250 ?0443:\r
+    0000010C 3E 00                  251        LD      A,BYTE3 ioctl\r
+    0000010E 21 00 00               252        LD      HL,LWRD ioctl\r
+    00000111 C3 00 00               253        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000114                        254 ?0444:\r
+    00000114 3E 00                  255        LD      A,BYTE3 open\r
+    00000116 21 00 00               256        LD      HL,LWRD open\r
+    00000119 C3 00 00               257        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    0000011C                        258 ?0446:\r
+    0000011C 4D                     259        LD      C,L\r
+    0000011D 44                     260        LD      B,H\r
+    0000011E 21 04 00               261        LD      HL,4\r
+    00000121                        262 ?0448:\r
+    00000121 ED 5B 00 00            263        LD      DE,(global)\r
+    00000125 19                     264        ADD     HL,DE\r
+    00000126                        265 ?0445:\r
+    00000126 5E                     266        LD      E,(HL)\r
+    00000127 23                     267        INC     HL\r
+    00000128 56                     268        LD      D,(HL)\r
+    00000129 3E 00                  269        LD      A,BYTE3 _write\r
+    0000012B                        270 ?0447:\r
+    0000012B 21 00 00               271        LD      HL,LWRD _write\r
+    0000012E C3 00 00               272        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000131                        273 ?0452:\r
+    00000131 3E DE                  274        LD      A,BYTE3 Text\r
+    00000133 21 DE 02               275        LD      HL,LWRD Text\r
+    00000136 C3 00 00               276        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000139                        277 GraphicsClose:\r
+    00000139 C5                     278        PUSH    BC\r
+    0000013A D5                     279        PUSH    DE\r
+    0000013B 2A 00 00               280        LD      HL,(global)\r
+    0000013E 23                     281        INC     HL\r
+    0000013F 23                     282        INC     HL\r
+    00000140 CD 53 01               283        CALL    LWRD ?0468\r
+    00000143 21 04 00               284        LD      HL,4\r
+    00000146 ED 4B 00 00            285        LD      BC,(global)\r
+    0000014A 09                     286        ADD     HL,BC\r
+    0000014B CD 53 01               287        CALL    LWRD ?0468\r
+    0000014E D1                     288        POP     DE\r
+    0000014F C1                     289        POP     BC\r
+    00000150 C3 00 00               290        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000153                        291 ?0468:\r
+    00000153 5E                     292        LD      E,(HL)\r
+    00000154 23                     293        INC     HL\r
+    00000155 56                     294        LD      D,(HL)\r
+    00000156                        295 ?0469:\r
+    00000156 3E 00                  296        LD      A,BYTE3 close\r
+    00000158 21 00 00               297        LD      HL,LWRD close\r
+    0000015B C3 00 00               298        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    0000015E                        299 Move:\r
+    0000015E CD 00 00               300        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000161 FC FF                  301        DEFW    65532\r
+    00000163 21 00 00               302        LD      HL,0\r
+    00000166 39                     303        ADD     HL,SP\r
+    00000167 EB                     304        EX      DE,HL\r
+    00000168 21 02 00               305        LD      HL,?0004\r
+    0000016B 01 04 00               306        LD      BC,4\r
+    0000016E ED B0                  307        LDIR\r
+    00000170                        308 ?0382:\r
+    00000170 DD 46 02               309        LD      B,(IX+2)\r
+    00000173 DD 70 FE               310        LD      (IX-2),B\r
+    00000176 DD 46 04               311        LD      B,(IX+4)\r
+    00000179 DD 70 FF               312        LD      (IX-1),B\r
+    0000017C 21 04 00               313        LD      HL,4\r
+    0000017F E5                     314        PUSH    HL\r
+    00000180 2B                     315        DEC     HL\r
+    00000181 2B                     316        DEC     HL\r
+    00000182                        317 ?0387:\r
+    00000182 39                     318        ADD     HL,SP\r
+    00000183 4D                     319        LD      C,L\r
+    00000184                        320 ?0432:\r
+    00000184 44                     321        LD      B,H\r
+    00000185 21 06 00               322        LD      HL,6\r
+    00000188                        323 ?0433:\r
+    00000188 ED 5B 00 00            324        LD      DE,(global)\r
+    0000018C 19                     325        ADD     HL,DE\r
+    0000018D                        326 ?0434:\r
+    0000018D 5E                     327        LD      E,(HL)\r
+    0000018E 23                     328        INC     HL\r
+    0000018F                        329 ?0435:\r
+    0000018F 56                     330        LD      D,(HL)\r
+    00000190 3E 00                  331        LD      A,BYTE3 _write\r
+    00000192                        332 ?0436:\r
+    00000192 CD 2B 01               333        CALL    LWRD ?0447\r
+    00000195 F1                     334        POP     AF\r
+    00000196 C3 00 00               335        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000199                        336 ClearRect:\r
+    00000199 CD 00 00               337        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000019C FC FF                  338        DEFW    65532\r
+    0000019E 21 00 00               339        LD      HL,0\r
+    000001A1 39                     340        ADD     HL,SP\r
+    000001A2 EB                     341        EX      DE,HL\r
+    000001A3 21 06 00               342        LD      HL,?0005\r
+    000001A6 01 04 00               343        LD      BC,4\r
+    000001A9 ED B0                  344        LDIR\r
+    000001AB C3 70 01               345        JP      LWRD ?0382\r
+    000001AE DD 70 FE               346        LD      (IX-2),B\r
+    000001B1                        347 ?0390:\r
+    000001B1 DD 46 04               348        LD      B,(IX+4)\r
+    000001B4 DD 70 FF               349        LD      (IX-1),B\r
+    000001B7 21 04 00               350        LD      HL,4\r
+    000001BA E5                     351        PUSH    HL\r
+    000001BB 2B                     352        DEC     HL\r
+    000001BC 2B                     353        DEC     HL\r
+    000001BD 39                     354        ADD     HL,SP\r
+    000001BE 4D                     355        LD      C,L\r
+    000001BF                        356 ?0394:\r
+    000001BF C3 84 01               357        JP      LWRD ?0432\r
+    000001C2 21 06 00               358        LD      HL,6\r
+    000001C5 ED 5B 00 00            359        LD      DE,(global)\r
+    000001C9 19                     360        ADD     HL,DE\r
+    000001CA                        361 ?0437:\r
+    000001CA 5E                     362        LD      E,(HL)\r
+    000001CB 23                     363        INC     HL\r
+    000001CC                        364 ?0438:\r
+    000001CC 56                     365        LD      D,(HL)\r
+    000001CD 3E 00                  366        LD      A,BYTE3 _write\r
+    000001CF                        367 ?0439:\r
+    000001CF C3 92 01               368        JP      LWRD ?0436\r
+    000001D2 CD 00 00               369        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000001D5 F1                     370        POP     AF\r
+    000001D6 C3 00 00               371        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000001D9                        372 DrawRectNC:\r
+    000001D9 CD 00 00               373        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000001DC FC FF                  374        DEFW    65532\r
+    000001DE 21 00 00               375        LD      HL,0\r
+    000001E1 39                     376        ADD     HL,SP\r
+    000001E2 EB                     377        EX      DE,HL\r
+    000001E3 21 0A 00               378        LD      HL,?0006\r
+    000001E6 01 04 00               379        LD      BC,4\r
+    000001E9 ED B0                  380        LDIR\r
+    000001EB C3 70 01               381        JP      LWRD ?0382\r
+    000001EE DD 70 FE               382        LD      (IX-2),B\r
+    000001F1 C3 B1 01               383        JP      LWRD ?0390\r
+    000001F4 DD 70 FF               384        LD      (IX-1),B\r
+    000001F7                        385 ?0397:\r
+    000001F7 21 04 00               386        LD      HL,4\r
+    000001FA E5                     387        PUSH    HL\r
+    000001FB 2B                     388        DEC     HL\r
+    000001FC 2B                     389        DEC     HL\r
+    000001FD 39                     390        ADD     HL,SP\r
+    000001FE 4D                     391        LD      C,L\r
+    000001FF 44                     392        LD      B,H\r
+    00000200 21 06 00               393        LD      HL,6\r
+    00000203                        394 ?0400:\r
+    00000203 C3 88 01               395        JP      LWRD ?0433\r
+    00000206 19                     396        ADD     HL,DE\r
+    00000207 C3 CA 01               397        JP      LWRD ?0437\r
+    0000020A 23                     398        INC     HL\r
+    0000020B 56                     399        LD      D,(HL)\r
+    0000020C 3E 00                  400        LD      A,BYTE3 _write\r
+    0000020E                        401 ?0440:\r
+    0000020E C3 92 01               402        JP      LWRD ?0436\r
+    00000211 CD 00 00               403        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000214 F1                     404        POP     AF\r
+    00000215 C3 00 00               405        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000218                        406 FillRect:\r
+    00000218 CD 00 00               407        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000021B FC FF                  408        DEFW    65532\r
+    0000021D 21 00 00               409        LD      HL,0\r
+    00000220 39                     410        ADD     HL,SP\r
+    00000221 EB                     411        EX      DE,HL\r
+    00000222 21 0E 00               412        LD      HL,?0007\r
+    00000225 01 04 00               413        LD      BC,4\r
+    00000228 ED B0                  414        LDIR\r
+    0000022A C3 70 01               415        JP      LWRD ?0382\r
+    0000022D DD 70 FE               416        LD      (IX-2),B\r
+    00000230 C3 B1 01               417        JP      LWRD ?0390\r
+    00000233 DD 70 FF               418        LD      (IX-1),B\r
+    00000236 C3 F7 01               419        JP      LWRD ?0397\r
+    00000239 E5                     420        PUSH    HL\r
+    0000023A                        421 ?0403:\r
+    0000023A 2B                     422        DEC     HL\r
+    0000023B 2B                     423        DEC     HL\r
+    0000023C 39                     424        ADD     HL,SP\r
+    0000023D 4D                     425        LD      C,L\r
+    0000023E 44                     426        LD      B,H\r
+    0000023F 21 06 00               427        LD      HL,6\r
+    00000242 ED 5B 00 00            428        LD      DE,(global)\r
+    00000246 19                     429        ADD     HL,DE\r
+    00000247                        430 ?0405:\r
+    00000247 C3 8D 01               431        JP      LWRD ?0434\r
+    0000024A 23                     432        INC     HL\r
+    0000024B C3 CC 01               433        JP      LWRD ?0438\r
+    0000024E 3E 00                  434        LD      A,BYTE3 _write\r
+    00000250 C3 0E 02               435        JP      LWRD ?0440\r
+    00000253 CD 00 00               436        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000256 F1                     437        POP     AF\r
+    00000257 C3 00 00               438        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000025A                        439 FillRectNC:\r
+    0000025A CD 00 00               440        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000025D FC FF                  441        DEFW    65532\r
+    0000025F 21 00 00               442        LD      HL,0\r
+    00000262 39                     443        ADD     HL,SP\r
+    00000263 EB                     444        EX      DE,HL\r
+    00000264 21 12 00               445        LD      HL,?0008\r
+    00000267 01 04 00               446        LD      BC,4\r
+    0000026A ED B0                  447        LDIR\r
+    0000026C C3 70 01               448        JP      LWRD ?0382\r
+    0000026F DD 70 FE               449        LD      (IX-2),B\r
+    00000272 C3 B1 01               450        JP      LWRD ?0390\r
+    00000275 DD 70 FF               451        LD      (IX-1),B\r
+    00000278 C3 F7 01               452        JP      LWRD ?0397\r
+    0000027B E5                     453        PUSH    HL\r
+    0000027C C3 3A 02               454        JP      LWRD ?0403\r
+    0000027F 2B                     455        DEC     HL\r
+    00000280                        456 ?0408:\r
+    00000280 39                     457        ADD     HL,SP\r
+    00000281 4D                     458        LD      C,L\r
+    00000282 44                     459        LD      B,H\r
+    00000283 21 06 00               460        LD      HL,6\r
+    00000286 ED 5B 00 00            461        LD      DE,(global)\r
+    0000028A 19                     462        ADD     HL,DE\r
+    0000028B 5E                     463        LD      E,(HL)\r
+    0000028C 23                     464        INC     HL\r
+    0000028D                        465 ?0409:\r
+    0000028D C3 8F 01               466        JP      LWRD ?0435\r
+    00000290 3E 00                  467        LD      A,BYTE3 _write\r
+    00000292 C3 CF 01               468        JP      LWRD ?0439\r
+    00000295 CD 00 00               469        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000298 F1                     470        POP     AF\r
+    00000299 C3 00 00               471        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000029C                        472 GrayRect:\r
+    0000029C CD 00 00               473        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000029F FC FF                  474        DEFW    65532\r
+    000002A1 21 00 00               475        LD      HL,0\r
+    000002A4 39                     476        ADD     HL,SP\r
+    000002A5 EB                     477        EX      DE,HL\r
+    000002A6 21 16 00               478        LD      HL,?0009\r
+    000002A9 01 04 00               479        LD      BC,4\r
+    000002AC ED B0                  480        LDIR\r
+    000002AE C3 70 01               481        JP      LWRD ?0382\r
+    000002B1 DD 70 FE               482        LD      (IX-2),B\r
+    000002B4 C3 B1 01               483        JP      LWRD ?0390\r
+    000002B7 DD 70 FF               484        LD      (IX-1),B\r
+    000002BA C3 F7 01               485        JP      LWRD ?0397\r
+    000002BD E5                     486        PUSH    HL\r
+    000002BE C3 3A 02               487        JP      LWRD ?0403\r
+    000002C1 2B                     488        DEC     HL\r
+    000002C2 C3 80 02               489        JP      LWRD ?0408\r
+    000002C5 4D                     490        LD      C,L\r
+    000002C6 44                     491        LD      B,H\r
+    000002C7 21 06 00               492        LD      HL,6\r
+    000002CA ED 5B 00 00            493        LD      DE,(global)\r
+    000002CE 19                     494        ADD     HL,DE\r
+    000002CF 5E                     495        LD      E,(HL)\r
+    000002D0 23                     496        INC     HL\r
+    000002D1 56                     497        LD      D,(HL)\r
+    000002D2 3E 00                  498        LD      A,BYTE3 _write\r
+    000002D4                        499 ?0412:\r
+    000002D4 C3 92 01               500        JP      LWRD ?0436\r
+    000002D7 CD 00 00               501        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000002DA F1                     502        POP     AF\r
+    000002DB C3 00 00               503        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000002DE                        504 Text:\r
+    000002DE C5                     505        PUSH    BC\r
+    000002DF FD E5                  506        PUSH    IY\r
+    000002E1 DD E5                  507        PUSH    IX\r
+    000002E3 D5                     508        PUSH    DE\r
+    000002E4 DD E1                  509        POP     IX\r
+    000002E6 3E 00                  510        LD      A,BYTE3 strlen\r
+    000002E8 21 00 00               511        LD      HL,LWRD strlen\r
+    000002EB CD 00 00               512        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000002EE E5                     513        PUSH    HL\r
+    000002EF DD E5                  514        PUSH    IX\r
+    000002F1 C1                     515        POP     BC\r
+    000002F2 21 06 00               516        LD      HL,6\r
+    000002F5 CD 21 01               517        CALL    LWRD ?0448\r
+    000002F8 F1                     518        POP     AF\r
+    000002F9                        519 ?0415:\r
+    000002F9 DD E1                  520        POP     IX\r
+    000002FB FD E1                  521        POP     IY\r
+    000002FD C1                     522        POP     BC\r
+    000002FE C3 00 00               523        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000301                        524 TouchRegion:\r
+    00000301 CD 00 00               525        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000304 F8 FF                  526        DEFW    65528\r
+    00000306 21 00 00               527        LD      HL,0\r
+    00000309 39                     528        ADD     HL,SP\r
+    0000030A EB                     529        EX      DE,HL\r
+    0000030B 21 1A 00               530        LD      HL,?0010\r
+    0000030E 01 07 00               531        LD      BC,7\r
+    00000311 ED B0                  532        LDIR\r
+    00000313 DD 46 02               533        LD      B,(IX+2)\r
+    00000316 DD 70 FA               534        LD      (IX-6),B\r
+    00000319 DD 46 04               535        LD      B,(IX+4)\r
+    0000031C DD 70 FB               536        LD      (IX-5),B\r
+    0000031F DD 46 0A               537        LD      B,(IX+10)\r
+    00000322 DD 70 FC               538        LD      (IX-4),B\r
+    00000325 DD 46 0C               539        LD      B,(IX+12)\r
+    00000328 DD 70 FD               540        LD      (IX-3),B\r
+    0000032B DD 46 0E               541        LD      B,(IX+14)\r
+    0000032E DD 70 FE               542        LD      (IX-2),B\r
+    00000331 21 07 00               543        LD      HL,7\r
+    00000334 E5                     544        PUSH    HL\r
+    00000335 2E 02                  545        LD      L,2\r
+    00000337 C3 82 01               546        JP      LWRD ?0387\r
+    0000033A 4D                     547        LD      C,L\r
+    0000033B C3 BF 01               548        JP      LWRD ?0394\r
+    0000033E 21 06 00               549        LD      HL,6\r
+    00000341 C3 03 02               550        JP      LWRD ?0400\r
+    00000344 19                     551        ADD     HL,DE\r
+    00000345 C3 47 02               552        JP      LWRD ?0405\r
+    00000348 23                     553        INC     HL\r
+    00000349 C3 8D 02               554        JP      LWRD ?0409\r
+    0000034C 3E 00                  555        LD      A,BYTE3 _write\r
+    0000034E C3 D4 02               556        JP      LWRD ?0412\r
+    00000351 CD 00 00               557        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000354 F1                     558        POP     AF\r
+    00000355 C3 00 00               559        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000358                        560 ClearScreen:\r
+    00000358 C5                     561        PUSH    BC\r
+    00000359 D5                     562        PUSH    DE\r
+    0000035A CD 72 03               563        CALL    LWRD ?0474\r
+    0000035D CD 00 00               564        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000360 21 80 00               565        LD      HL,128\r
+    00000363 E5                     566        PUSH    HL\r
+    00000364 6C                     567        LD      L,H\r
+    00000365 E5                     568        PUSH    HL\r
+    00000366 E5                     569        PUSH    HL\r
+    00000367 CD 8A 03               570        CALL    LWRD ?0483\r
+    0000036A E1                     571        POP     HL\r
+    0000036B E1                     572        POP     HL\r
+    0000036C E1                     573        POP     HL\r
+    0000036D D1                     574        POP     DE\r
+    0000036E C1                     575        POP     BC\r
+    0000036F C3 00 00               576        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000372                        577 ?0474:\r
+    00000372 01 00 00               578        LD      BC,0\r
+    00000375 59                     579        LD      E,C\r
+    00000376 50                     580        LD      D,B\r
+    00000377 3E 5E                  581        LD      A,BYTE3 Move\r
+    00000379 21 5E 01               582        LD      HL,LWRD Move\r
+    0000037C CD 00 00               583        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000037F 01 80 00               584        LD      BC,128\r
+    00000382 58                     585        LD      E,B\r
+    00000383 50                     586        LD      D,B\r
+    00000384 3E 99                  587        LD      A,BYTE3 ClearRect\r
+    00000386 21 99 01               588        LD      HL,LWRD ClearRect\r
+    00000389 C9                     589        RET\r
+    0000038A                        590 ?0483:\r
+    0000038A 4D                     591        LD      C,L\r
+    0000038B 44                     592        LD      B,H\r
+    0000038C EB                     593        EX      DE,HL\r
+    0000038D                        594 ?0484:\r
+    0000038D 3E 01                  595        LD      A,BYTE3 TouchRegion\r
+    0000038F 21 01 03               596        LD      HL,LWRD TouchRegion\r
+    00000392 C3 00 00               597        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000395                        598 EnableScreen:\r
+    00000395 CD 00 00               599        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000398 FC FF                  600        DEFW    65532\r
+    0000039A 21 00 00               601        LD      HL,0\r
+    0000039D 39                     602        ADD     HL,SP\r
+    0000039E EB                     603        EX      DE,HL\r
+    0000039F 21 21 00               604        LD      HL,?0011\r
+    000003A2 01 03 00               605        LD      BC,3\r
+    000003A5 ED B0                  606        LDIR\r
+    000003A7 DD 46 02               607        LD      B,(IX+2)\r
+    000003AA DD 70 FE               608        LD      (IX-2),B\r
+    000003AD 21 03 00               609        LD      HL,3\r
+    000003B0 E5                     610        PUSH    HL\r
+    000003B1 2B                     611        DEC     HL\r
+    000003B2 C3 82 01               612        JP      LWRD ?0387\r
+    000003B5 4D                     613        LD      C,L\r
+    000003B6 C3 BF 01               614        JP      LWRD ?0394\r
+    000003B9 21 06 00               615        LD      HL,6\r
+    000003BC C3 03 02               616        JP      LWRD ?0400\r
+    000003BF 19                     617        ADD     HL,DE\r
+    000003C0 C3 47 02               618        JP      LWRD ?0405\r
+    000003C3 23                     619        INC     HL\r
+    000003C4 C3 8D 02               620        JP      LWRD ?0409\r
+    000003C7 3E 00                  621        LD      A,BYTE3 _write\r
+    000003C9 C3 D4 02               622        JP      LWRD ?0412\r
+    000003CC CD 00 00               623        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000003CF F1                     624        POP     AF\r
+    000003D0 C3 00 00               625        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000003D3                        626 grSetFont:\r
+    000003D3 CD 00 00               627        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000003D6 FE FF                  628        DEFW    65534\r
+    000003D8 21 00 00               629        LD      HL,0\r
+    000003DB 39                     630        ADD     HL,SP\r
+    000003DC EB                     631        EX      DE,HL\r
+    000003DD 21 24 00               632        LD      HL,?0012\r
+    000003E0 01 02 00               633        LD      BC,2\r
+    000003E3 ED B0                  634        LDIR\r
+    000003E5 DD 46 02               635        LD      B,(IX+2)\r
+    000003E8 DD 70 FF               636        LD      (IX-1),B\r
+    000003EB 21 02 00               637        LD      HL,2\r
+    000003EE E5                     638        PUSH    HL\r
+    000003EF C3 82 01               639        JP      LWRD ?0387\r
+    000003F2 4D                     640        LD      C,L\r
+    000003F3 C3 BF 01               641        JP      LWRD ?0394\r
+    000003F6 21 06 00               642        LD      HL,6\r
+    000003F9 C3 03 02               643        JP      LWRD ?0400\r
+    000003FC 19                     644        ADD     HL,DE\r
+    000003FD C3 47 02               645        JP      LWRD ?0405\r
+    00000400 23                     646        INC     HL\r
+    00000401 C3 8D 02               647        JP      LWRD ?0409\r
+    00000404 3E 00                  648        LD      A,BYTE3 _write\r
+    00000406 C3 D4 02               649        JP      LWRD ?0412\r
+    00000409 CD 00 00               650        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000040C F1                     651        POP     AF\r
+    0000040D C3 00 00               652        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000410                        653 fontSearch:\r
+    00000410 CD 00 00               654        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000413 00 00                  655        DEFW    0\r
+    00000415 21 14 00               656        LD      HL,20\r
+    00000418 ED 4B 00 00            657        LD      BC,(global)\r
+    0000041C 09                     658        ADD     HL,BC\r
+    0000041D                        659 ?0331:\r
+    0000041D 46                     660        LD      B,(HL)\r
+    0000041E 23                     661        INC     HL\r
+    0000041F 66                     662        LD      H,(HL)\r
+    00000420 68                     663        LD      L,B\r
+    00000421 EB                     664        EX      DE,HL\r
+    00000422                        665 ?0014:\r
+    00000422 7B                     666        LD      A,E\r
+    00000423 B2                     667        OR      D\r
+    00000424 28 16                  668        JR      Z,?0013\r
+    00000426 6B                     669        LD      L,E\r
+    00000427 62                     670        LD      H,D\r
+    00000428 46                     671        LD      B,(HL)\r
+    00000429 23                     672        INC     HL\r
+    0000042A 66                     673        LD      H,(HL)\r
+    0000042B 68                     674        LD      L,B\r
+    0000042C DD 4E 02               675        LD      C,(IX+2)\r
+    0000042F DD 46 03               676        LD      B,(IX+3)\r
+    00000432 ED 42                  677        SBC     HL,BC\r
+    00000434 28 06                  678        JR      Z,?0013\r
+    00000436                        679 ?0017:\r
+    00000436                        680 ?0016:\r
+    00000436                        681 ?0015:\r
+    00000436 21 08 00               682        LD      HL,8\r
+    00000439 19                     683        ADD     HL,DE\r
+    0000043A 18 E1                  684        JR      ?0331\r
+    0000043C                        685 ?0013:\r
+    0000043C EB                     686        EX      DE,HL\r
+    0000043D C3 00 00               687        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000440                        688 setCurrentFont:\r
+    00000440 CD 00 00               689        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00000443 3E 10                  690        LD      A,BYTE3 fontSearch\r
+    00000445 21 10 04               691        LD      HL,LWRD fontSearch\r
+    00000448 CD B1 04               692        CALL    LWRD ?0458\r
+    0000044B 28 29                  693        JR      Z,?0019\r
+    0000044D                        694 ?0018:\r
+    0000044D DD 5E 02               695        LD      E,(IX+2)\r
+    00000450 DD 56 03               696        LD      D,(IX+3)\r
+    00000453 3E D3                  697        LD      A,BYTE3 grSetFont\r
+    00000455 21 D3 03               698        LD      HL,LWRD grSetFont\r
+    00000458 CD 00 00               699        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000045B 21 12 00               700        LD      HL,18\r
+    0000045E ED 4B 00 00            701        LD      BC,(global)\r
+    00000462 09                     702        ADD     HL,BC\r
+    00000463 E5                     703        PUSH    HL\r
+    00000464 DD 5E 02               704        LD      E,(IX+2)\r
+    00000467 DD 56 03               705        LD      D,(IX+3)\r
+    0000046A 3E 10                  706        LD      A,BYTE3 fontSearch\r
+    0000046C 21 10 04               707        LD      HL,LWRD fontSearch\r
+    0000046F CD BC 04               708        CALL    LWRD ?0459\r
+    00000472 E1                     709        POP     HL\r
+    00000473 71                     710        LD      (HL),C\r
+    00000474 23                     711        INC     HL\r
+    00000475 70                     712        LD      (HL),B\r
+    00000476                        713 ?0019:\r
+    00000476 C3 00 00               714        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000479                        715 ?0454:\r
+    00000479 21 12 00               716        LD      HL,18\r
+    0000047C ED 4B 00 00            717        LD      BC,(global)\r
+    00000480 09                     718        ADD     HL,BC\r
+    00000481 46                     719        LD      B,(HL)\r
+    00000482 23                     720        INC     HL\r
+    00000483 66                     721        LD      H,(HL)\r
+    00000484 68                     722        LD      L,B\r
+    00000485                        723 ?0453:\r
+    00000485 23                     724        INC     HL\r
+    00000486 23                     725        INC     HL\r
+    00000487 4E                     726        LD      C,(HL)\r
+    00000488 23                     727        INC     HL\r
+    00000489 46                     728        LD      B,(HL)\r
+    0000048A 23                     729        INC     HL\r
+    0000048B 7E                     730        LD      A,(HL)\r
+    0000048C 69                     731        LD      L,C\r
+    0000048D 60                     732        LD      H,B\r
+    0000048E CD 00 00               733        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000491 4D                     734        LD      C,L\r
+    00000492 44                     735        LD      B,H\r
+    00000493 FD 6E 06               736        LD      L,(IY+6)\r
+    00000496 FD 66 07               737        LD      H,(IY+7)\r
+    00000499 A7                     738        AND     A\r
+    0000049A ED 42                  739        SBC     HL,BC\r
+    0000049C EB                     740        EX      DE,HL\r
+    0000049D 01 02 00               741        LD      BC,2\r
+    000004A0 CD 00 00               742        CALL    LWRD ?SS_DIV_L02\r
+    000004A3 DD 6E 04               743        LD      L,(IX+4)\r
+    000004A6 DD 66 05               744        LD      H,(IX+5)\r
+    000004A9 19                     745        ADD     HL,DE\r
+    000004AA EB                     746        EX      DE,HL\r
+    000004AB 3E 5E                  747        LD      A,BYTE3 Move\r
+    000004AD 21 5E 01               748        LD      HL,LWRD Move\r
+    000004B0 C9                     749        RET\r
+    000004B1                        750 ?0458:\r
+    000004B1 CD 00 00               751        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000004B4 7D                     752        LD      A,L\r
+    000004B5 B4                     753        OR      H\r
+    000004B6 C9                     754        RET\r
+    000004B7                        755 ?0460:\r
+    000004B7 3E 00                  756        LD      A,BYTE3 malloc\r
+    000004B9 21 00 00               757        LD      HL,LWRD malloc\r
+    000004BC                        758 ?0459:\r
+    000004BC CD 00 00               759        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000004BF 4D                     760        LD      C,L\r
+    000004C0 44                     761        LD      B,H\r
+    000004C1 C9                     762        RET\r
+    000004C2                        763 loadFont:\r
+    000004C2 CD 00 00               764        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000004C5 FC FF                  765        DEFW    65532\r
+    000004C7 FD E5                  766        PUSH    IY\r
+    000004C9 11 0E 00               767        LD      DE,14\r
+    000004CC CD 5D 05               768        CALL    LWRD ?0457\r
+    000004CF DD 4E 02               769        LD      C,(IX+2)\r
+    000004D2 71                     770        LD      (HL),C\r
+    000004D3 DD 46 03               771        LD      B,(IX+3)\r
+    000004D6 23                     772        INC     HL\r
+    000004D7 70                     773        LD      (HL),B\r
+    000004D8 DD 46 0C               774        LD      B,(IX+12)\r
+    000004DB DD 6E 0A               775        LD      L,(IX+10)\r
+    000004DE FD 75 02               776        LD      (IY+2),L\r
+    000004E1 DD 66 0B               777        LD      H,(IX+11)\r
+    000004E4 FD 74 03               778        LD      (IY+3),H\r
+    000004E7 FD 70 04               779        LD      (IY+4),B\r
+    000004EA DD 46 10               780        LD      B,(IX+16)\r
+    000004ED DD 6E 0E               781        LD      L,(IX+14)\r
+    000004F0 FD 75 05               782        LD      (IY+5),L\r
+    000004F3 DD 66 0F               783        LD      H,(IX+15)\r
+    000004F6 FD 74 06               784        LD      (IY+6),H\r
+    000004F9 FD 70 07               785        LD      (IY+7),B\r
+    000004FC AF                     786        XOR     A\r
+    000004FD FD 77 08               787        LD      (IY+8),A\r
+    00000500 FD 77 09               788        LD      (IY+9),A\r
+    00000503 DD 6E 12               789        LD      L,(IX+18)\r
+    00000506 FD 75 0A               790        LD      (IY+10),L\r
+    00000509 DD 66 13               791        LD      H,(IX+19)\r
+    0000050C FD 74 0B               792        LD      (IY+11),H\r
+    0000050F DD 6E 14               793        LD      L,(IX+20)\r
+    00000512 FD 75 0C               794        LD      (IY+12),L\r
+    00000515 DD 66 15               795        LD      H,(IX+21)\r
+    00000518 FD 74 0D               796        LD      (IY+13),H\r
+    0000051B 21 14 00               797        LD      HL,20\r
+    0000051E ED 4B 00 00            798        LD      BC,(global)\r
+    00000522 09                     799        ADD     HL,BC\r
+    00000523 7E                     800        LD      A,(HL)\r
+    00000524 23                     801        INC     HL\r
+    00000525 B6                     802        OR      (HL)\r
+    00000526 21 14 00               803        LD      HL,20\r
+    00000529 ED 4B 00 00            804        LD      BC,(global)\r
+    0000052D 09                     805        ADD     HL,BC\r
+    0000052E 20 10                  806        JR      NZ,?0021\r
+    00000530                        807 ?0020:\r
+    00000530 FD E5                  808        PUSH    IY\r
+    00000532 C1                     809        POP     BC\r
+    00000533 71                     810        LD      (HL),C\r
+    00000534 23                     811        INC     HL\r
+    00000535 70                     812        LD      (HL),B\r
+    00000536 21 12 00               813        LD      HL,18\r
+    00000539 ED 4B 00 00            814        LD      BC,(global)\r
+    0000053D 09                     815        ADD     HL,BC\r
+    0000053E 18 12                  816        JR      ?0023\r
+    00000540                        817 ?0021:\r
+    00000540 46                     818        LD      B,(HL)\r
+    00000541 23                     819        INC     HL\r
+    00000542 66                     820        LD      H,(HL)\r
+    00000543 68                     821        LD      L,B\r
+    00000544 EB                     822        EX      DE,HL\r
+    00000545                        823 ?0024:\r
+    00000545 21 08 00               824        LD      HL,8\r
+    00000548 19                     825        ADD     HL,DE\r
+    00000549 7E                     826        LD      A,(HL)\r
+    0000054A 23                     827        INC     HL\r
+    0000054B B6                     828        OR      (HL)\r
+    0000054C 21 08 00               829        LD      HL,8\r
+    0000054F 19                     830        ADD     HL,DE\r
+    00000550 20 EE                  831        JR      NZ,?0021\r
+    00000552                        832 ?0025:\r
+    00000552                        833 ?0023:\r
+    00000552 FD E5                  834        PUSH    IY\r
+    00000554 C1                     835        POP     BC\r
+    00000555 71                     836        LD      (HL),C\r
+    00000556 23                     837        INC     HL\r
+    00000557 70                     838        LD      (HL),B\r
+    00000558                        839 ?0022:\r
+    00000558 FD E1                  840        POP     IY\r
+    0000055A C3 00 00               841        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000055D                        842 ?0457:\r
+    0000055D 3E 00                  843        LD      A,BYTE3 malloc\r
+    0000055F 21 00 00               844        LD      HL,LWRD malloc\r
+    00000562 CD 00 00               845        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000565 E5                     846        PUSH    HL\r
+    00000566 FD E1                  847        POP     IY\r
+    00000568 C9                     848        RET\r
+    00000569                        849 stringwidth:\r
+    00000569 FD E5                  850        PUSH    IY\r
+    0000056B DD E5                  851        PUSH    IX\r
+    0000056D C5                     852        PUSH    BC\r
+    0000056E D5                     853        PUSH    DE\r
+    0000056F DD 21 00 00            854        LD      IX,0\r
+    00000573 FD 21 00 00            855        LD      IY,0\r
+    00000577                        856 ?0027:\r
+    00000577 FD E5                  857        PUSH    IY\r
+    00000579 21 02 00               858        LD      HL,2\r
+    0000057C 39                     859        ADD     HL,SP\r
+    0000057D 4E                     860        LD      C,(HL)\r
+    0000057E 23                     861        INC     HL\r
+    0000057F 46                     862        LD      B,(HL)\r
+    00000580 E1                     863        POP     HL\r
+    00000581 09                     864        ADD     HL,BC\r
+    00000582 7E                     865        LD      A,(HL)\r
+    00000583 B7                     866        OR      A\r
+    00000584 28 50                  867        JR      Z,?0026\r
+    00000586                        868 ?0028:\r
+    00000586 FD E5                  869        PUSH    IY\r
+    00000588 E1                     870        POP     HL\r
+    00000589 09                     871        ADD     HL,BC\r
+    0000058A 5E                     872        LD      E,(HL)\r
+    0000058B CD 00 00               873        CALL    LWRD ?C_V_SWITCH_L06\r
+    0000058E 0A 00                  874        DEFW    10\r
+    00000590 21                     875        DEFB    33\r
+    00000591 2C                     876        DEFB    44\r
+    00000592 2E                     877        DEFB    46\r
+    00000593 31                     878        DEFB    49\r
+    00000594 49                     879        DEFB    73\r
+    00000595 69                     880        DEFB    105\r
+    00000596 6A                     881        DEFB    106\r
+    00000597 6B                     882        DEFB    107\r
+    00000598 6C                     883        DEFB    108\r
+    00000599 72                     884        DEFB    114\r
+    0000059A C4 05                  885        DEFW    ?0034\r
+    0000059C BF 05                  886        DEFW    ?0033\r
+    0000059E B5 05                  887        DEFW    ?0031\r
+    000005A0 BF 05                  888        DEFW    ?0033\r
+    000005A2 BF 05                  889        DEFW    ?0033\r
+    000005A4 B0 05                  890        DEFW    ?0030\r
+    000005A6 B0 05                  891        DEFW    ?0030\r
+    000005A8 BA 05                  892        DEFW    ?0032\r
+    000005AA BA 05                  893        DEFW    ?0032\r
+    000005AC BA 05                  894        DEFW    ?0032\r
+    000005AE B0 05                  895        DEFW    ?0030\r
+    000005B0                        896 ?0030:\r
+    000005B0 01 02 00               897        LD      BC,2\r
+    000005B3 18 12                  898        JR      ?0341\r
+    000005B5                        899 ?0031:\r
+    000005B5 01 03 00               900        LD      BC,3\r
+    000005B8 18 0D                  901        JR      ?0341\r
+    000005BA                        902 ?0032:\r
+    000005BA 01 04 00               903        LD      BC,4\r
+    000005BD 18 08                  904        JR      ?0341\r
+    000005BF                        905 ?0033:\r
+    000005BF 01 05 00               906        LD      BC,5\r
+    000005C2 18 03                  907        JR      ?0341\r
+    000005C4                        908 ?0034:\r
+    000005C4 01 06 00               909        LD      BC,6\r
+    000005C7                        910 ?0341:\r
+    000005C7 DD 09                  911        ADD     IX,BC\r
+    000005C9                        912 ?0029:\r
+    000005C9 21 02 00               913        LD      HL,2\r
+    000005CC 39                     914        ADD     HL,SP\r
+    000005CD 4E                     915        LD      C,(HL)\r
+    000005CE 23                     916        INC     HL\r
+    000005CF 46                     917        LD      B,(HL)\r
+    000005D0 DD 09                  918        ADD     IX,BC\r
+    000005D2 FD 23                  919        INC     IY\r
+    000005D4 18 A1                  920        JR      ?0027\r
+    000005D6                        921 ?0026:\r
+    000005D6 DD E5                  922        PUSH    IX\r
+    000005D8 E1                     923        POP     HL\r
+    000005D9 F1                     924        POP     AF\r
+    000005DA F1                     925        POP     AF\r
+    000005DB DD E1                  926        POP     IX\r
+    000005DD FD E1                  927        POP     IY\r
+    000005DF C3 00 00               928        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000005E2                        929 stringheight:\r
+    000005E2 CD 00 00               930        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000005E5 7B                     931        LD      A,E\r
+    000005E6 FE 80                  932        CP      128\r
+    000005E8 30 06                  933        JR      NC,?0036\r
+    000005EA                        934 ?0035:\r
+    000005EA 21 07 00               935        LD      HL,7\r
+    000005ED 09                     936        ADD     HL,BC\r
+    000005EE 18 0C                  937        JR      ?0038\r
+    000005F0                        938 ?0036:\r
+    000005F0 FE CC                  939        CP      204\r
+    000005F2 38 08                  940        JR      C,?0038\r
+    000005F4 3E DF                  941        LD      A,223\r
+    000005F6 BB                     942        CP      E\r
+    000005F7 38 03                  943        JR      C,?0038\r
+    000005F9                        944 ?0040:\r
+    000005F9                        945 ?0039:\r
+    000005F9                        946 ?0037:\r
+    000005F9 69                     947        LD      L,C\r
+    000005FA 60                     948        LD      H,B\r
+    000005FB 23                     949        INC     HL\r
+    000005FC                        950 ?0038:\r
+    000005FC                        951 ?0041:\r
+    000005FC C3 00 00               952        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000005FF                        953 stringheight01:\r
+    000005FF CD 00 00               954        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00000602 01 00 00               955        LD      BC,0\r
+    00000605                        956 ?0419:\r
+    00000605 1A                     957        LD      A,(DE)\r
+    00000606 5F                     958        LD      E,A\r
+    00000607 3E E2                  959        LD      A,BYTE3 stringheight\r
+    00000609 21 E2 05               960        LD      HL,LWRD stringheight\r
+    0000060C CD 00 00               961        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000060F C3 00 00               962        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000612                        963 stringheight2:\r
+    00000612 CD 00 00               964        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00000615 01 05 00               965        LD      BC,5\r
+    00000618 C3 05 06               966        JP      LWRD ?0419\r
+    0000061B                        967 stringwidth0:\r
+    0000061B CD 00 00               968        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    0000061E 01 00 00               969        LD      BC,0\r
+    00000621                        970 ?0420:\r
+    00000621 3E 69                  971        LD      A,BYTE3 stringwidth\r
+    00000623 21 69 05               972        LD      HL,LWRD stringwidth\r
+    00000626 CD 00 00               973        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000629 C3 00 00               974        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000062C                        975 stringwidth1:\r
+    0000062C CD 00 00               976        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    0000062F 01 02 00               977        LD      BC,2\r
+    00000632 C3 21 06               978        JP      LWRD ?0420\r
+    00000635                        979 stringwidth2:\r
+    00000635 CD 00 00               980        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00000638 01 03 00               981        LD      BC,3\r
+    0000063B C3 21 06               982        JP      LWRD ?0420\r
+    0000063E                        983 Component_new:\r
+    0000063E CD 00 00               984        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000641 00 00                  985        DEFW    0\r
+    00000643 FD E5                  986        PUSH    IY\r
+    00000645 11 28 00               987        LD      DE,40\r
+    00000648 CD 5D 05               988        CALL    LWRD ?0457\r
+    0000064B 2A 00 00               989        LD      HL,(global)\r
+    0000064E 5E                     990        LD      E,(HL)\r
+    0000064F 23                     991        INC     HL\r
+    00000650 56                     992        LD      D,(HL)\r
+    00000651 13                     993        INC     DE\r
+    00000652 72                     994        LD      (HL),D\r
+    00000653 2B                     995        DEC     HL\r
+    00000654 73                     996        LD      (HL),E\r
+    00000655 FD E5                  997        PUSH    IY\r
+    00000657 E1                     998        POP     HL\r
+    00000658 73                     999        LD      (HL),E\r
+    00000659 23                    1000        INC     HL\r
+    0000065A 72                    1001        LD      (HL),D\r
+    0000065B DD 6E 02              1002        LD      L,(IX+2)\r
+    0000065E FD 75 02              1003        LD      (IY+2),L\r
+    00000661 DD 66 03              1004        LD      H,(IX+3)\r
+    00000664 FD 74 03              1005        LD      (IY+3),H\r
+    00000667 FD 71 04              1006        LD      (IY+4),C\r
+    0000066A FD 70 05              1007        LD      (IY+5),B\r
+    0000066D DD 6E 0A              1008        LD      L,(IX+10)\r
+    00000670 FD 75 06              1009        LD      (IY+6),L\r
+    00000673 DD 66 0B              1010        LD      H,(IX+11)\r
+    00000676 FD 74 07              1011        LD      (IY+7),H\r
+    00000679 DD 6E 0C              1012        LD      L,(IX+12)\r
+    0000067C FD 75 08              1013        LD      (IY+8),L\r
+    0000067F DD 66 0D              1014        LD      H,(IX+13)\r
+    00000682 FD 74 09              1015        LD      (IY+9),H\r
+    00000685 AF                    1016        XOR     A\r
+    00000686 FD 77 0A              1017        LD      (IY+10),A\r
+    00000689 FD 77 0B              1018        LD      (IY+11),A\r
+    0000068C FD 77 0C              1019        LD      (IY+12),A\r
+    0000068F FD 77 0D              1020        LD      (IY+13),A\r
+    00000692 FD 77 0E              1021        LD      (IY+14),A\r
+    00000695 FD 77 0F              1022        LD      (IY+15),A\r
+    00000698 FD 77 10              1023        LD      (IY+16),A\r
+    0000069B FD 77 11              1024        LD      (IY+17),A\r
+    0000069E FD 77 12              1025        LD      (IY+18),A\r
+    000006A1 FD 77 13              1026        LD      (IY+19),A\r
+    000006A4 FD 77 14              1027        LD      (IY+20),A\r
+    000006A7 FD 77 15              1028        LD      (IY+21),A\r
+    000006AA FD 77 16              1029        LD      (IY+22),A\r
+    000006AD FD 77 17              1030        LD      (IY+23),A\r
+    000006B0 FD 77 18              1031        LD      (IY+24),A\r
+    000006B3 FD 77 19              1032        LD      (IY+25),A\r
+    000006B6 FD 77 1A              1033        LD      (IY+26),A\r
+    000006B9 FD 77 1B              1034        LD      (IY+27),A\r
+    000006BC FD 77 1C              1035        LD      (IY+28),A\r
+    000006BF FD 77 1D              1036        LD      (IY+29),A\r
+    000006C2 FD 77 1E              1037        LD      (IY+30),A\r
+    000006C5 FD 77 1F              1038        LD      (IY+31),A\r
+    000006C8 FD 77 24              1039        LD      (IY+36),A\r
+    000006CB FD 77 25              1040        LD      (IY+37),A\r
+    000006CE FD 77 26              1041        LD      (IY+38),A\r
+    000006D1 FD 77 27              1042        LD      (IY+39),A\r
+    000006D4 FD 77 20              1043        LD      (IY+32),A\r
+    000006D7 FD 77 21              1044        LD      (IY+33),A\r
+    000006DA FD 77 22              1045        LD      (IY+34),A\r
+    000006DD FD 77 23              1046        LD      (IY+35),A\r
+    000006E0                       1047 ?0422:\r
+    000006E0 FD E5                 1048        PUSH    IY\r
+    000006E2 E1                    1049        POP     HL\r
+    000006E3 FD E1                 1050        POP     IY\r
+    000006E5 C3 00 00              1051        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000006E8                       1052 Component_setlabel:\r
+    000006E8 CD 00 00              1053        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000006EB 00 00                 1054        DEFW    0\r
+    000006ED FD E5                 1055        PUSH    IY\r
+    000006EF DD 6E 02              1056        LD      L,(IX+2)\r
+    000006F2 DD 66 03              1057        LD      H,(IX+3)\r
+    000006F5 E5                    1058        PUSH    HL\r
+    000006F6 FD E1                 1059        POP     IY\r
+    000006F8 11 00 00              1060        LD      DE,0\r
+    000006FB                       1061 ?0043:\r
+    000006FB DD 6E 04              1062        LD      L,(IX+4)\r
+    000006FE DD 66 05              1063        LD      H,(IX+5)\r
+    00000701 19                    1064        ADD     HL,DE\r
+    00000702 7E                    1065        LD      A,(HL)\r
+    00000703 B7                    1066        OR      A\r
+    00000704 28 21                 1067        JR      Z,?0042\r
+    00000706 01 14 80              1068        LD      BC,32788\r
+    00000709 6B                    1069        LD      L,E\r
+    0000070A 62                    1070        LD      H,D\r
+    0000070B 78                    1071        LD      A,B\r
+    0000070C AC                    1072        XOR     H\r
+    0000070D 67                    1073        LD      H,A\r
+    0000070E ED 42                 1074        SBC     HL,BC\r
+    00000710 30 15                 1075        JR      NC,?0042\r
+    00000712                       1076 ?0046:\r
+    00000712                       1077 ?0045:\r
+    00000712                       1078 ?0044:\r
+    00000712 FD 6E 20              1079        LD      L,(IY+32)\r
+    00000715 FD 66 21              1080        LD      H,(IY+33)\r
+    00000718 19                    1081        ADD     HL,DE\r
+    00000719 E5                    1082        PUSH    HL\r
+    0000071A DD 6E 04              1083        LD      L,(IX+4)\r
+    0000071D DD 66 05              1084        LD      H,(IX+5)\r
+    00000720 19                    1085        ADD     HL,DE\r
+    00000721 46                    1086        LD      B,(HL)\r
+    00000722 E1                    1087        POP     HL\r
+    00000723 70                    1088        LD      (HL),B\r
+    00000724 13                    1089        INC     DE\r
+    00000725 18 D4                 1090        JR      ?0043\r
+    00000727                       1091 ?0042:\r
+    00000727 FD 6E 20              1092        LD      L,(IY+32)\r
+    0000072A FD 66 21              1093        LD      H,(IY+33)\r
+    0000072D 19                    1094        ADD     HL,DE\r
+    0000072E 36 00                 1095        LD      (HL),0\r
+    00000730 FD E1                 1096        POP     IY\r
+    00000732 C3 00 00              1097        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000735                       1098 Component_add:\r
+    00000735 CD 00 00              1099        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000738 00 00                 1100        DEFW    0\r
+    0000073A FD E5                 1101        PUSH    IY\r
+    0000073C 59                    1102        LD      E,C\r
+    0000073D 50                    1103        LD      D,B\r
+    0000073E 21 15 00              1104        LD      HL,21\r
+    00000741 DD 4E 02              1105        LD      C,(IX+2)\r
+    00000744 DD 46 03              1106        LD      B,(IX+3)\r
+    00000747 09                    1107        ADD     HL,BC\r
+    00000748 7E                    1108        LD      A,(HL)\r
+    00000749 23                    1109        INC     HL\r
+    0000074A 66                    1110        LD      H,(HL)\r
+    0000074B 6F                    1111        LD      L,A\r
+    0000074C E5                    1112        PUSH    HL\r
+    0000074D FD E1                 1113        POP     IY\r
+    0000074F 21 15 00              1114        LD      HL,21\r
+    00000752 09                    1115        ADD     HL,BC\r
+    00000753 7E                    1116        LD      A,(HL)\r
+    00000754 23                    1117        INC     HL\r
+    00000755 B6                    1118        OR      (HL)\r
+    00000756 20 09                 1119        JR      NZ,?0048\r
+    00000758                       1120 ?0047:\r
+    00000758 21 15 00              1121        LD      HL,21\r
+    0000075B 09                    1122        ADD     HL,BC\r
+    0000075C 73                    1123        LD      (HL),E\r
+    0000075D 23                    1124        INC     HL\r
+    0000075E 72                    1125        LD      (HL),D\r
+    0000075F 18 19                 1126        JR      ?0345\r
+    00000761                       1127 ?0048:\r
+    00000761                       1128 ?0051:\r
+    00000761 FD 7E 13              1129        LD      A,(IY+19)\r
+    00000764 FD B6 14              1130        OR      (IY+20)\r
+    00000767 28 0B                 1131        JR      Z,?0050\r
+    00000769                       1132 ?0052:\r
+    00000769 FD 6E 13              1133        LD      L,(IY+19)\r
+    0000076C FD 66 14              1134        LD      H,(IY+20)\r
+    0000076F E5                    1135        PUSH    HL\r
+    00000770 FD E1                 1136        POP     IY\r
+    00000772 18 ED                 1137        JR      ?0048\r
+    00000774                       1138 ?0050:\r
+    00000774 FD 73 13              1139        LD      (IY+19),E\r
+    00000777 FD 72 14              1140        LD      (IY+20),D\r
+    0000077A                       1141 ?0345:\r
+    0000077A 21 13 00              1142        LD      HL,19\r
+    0000077D 19                    1143        ADD     HL,DE\r
+    0000077E 77                    1144        LD      (HL),A\r
+    0000077F 23                    1145        INC     HL\r
+    00000780 77                    1146        LD      (HL),A\r
+    00000781                       1147 ?0049:\r
+    00000781 21 11 00              1148        LD      HL,17\r
+    00000784 19                    1149        ADD     HL,DE\r
+    00000785 DD 4E 02              1150        LD      C,(IX+2)\r
+    00000788 71                    1151        LD      (HL),C\r
+    00000789 DD 46 03              1152        LD      B,(IX+3)\r
+    0000078C 23                    1153        INC     HL\r
+    0000078D 70                    1154        LD      (HL),B\r
+    0000078E FD E1                 1155        POP     IY\r
+    00000790 C3 00 00              1156        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000793                       1157 Component_paint:\r
+    00000793 C5                    1158        PUSH    BC\r
+    00000794 FD E5                 1159        PUSH    IY\r
+    00000796 DD E5                 1160        PUSH    IX\r
+    00000798 21 15 00              1161        LD      HL,21\r
+    0000079B 19                    1162        ADD     HL,DE\r
+    0000079C 46                    1163        LD      B,(HL)\r
+    0000079D 23                    1164        INC     HL\r
+    0000079E 66                    1165        LD      H,(HL)\r
+    0000079F 68                    1166        LD      L,B\r
+    000007A0 E5                    1167        PUSH    HL\r
+    000007A1 DD E1                 1168        POP     IX\r
+    000007A3 CD CF 07              1169        CALL    LWRD ?0486\r
+    000007A6                       1170 ?0054:\r
+    000007A6 DD E5                 1171        PUSH    IX\r
+    000007A8 E1                    1172        POP     HL\r
+    000007A9 7D                    1173        LD      A,L\r
+    000007AA B4                    1174        OR      H\r
+    000007AB 28 1A                 1175        JR      Z,?0053\r
+    000007AD                       1176 ?0055:\r
+    000007AD DD E5                 1177        PUSH    IX\r
+    000007AF D1                    1178        POP     DE\r
+    000007B0 DD 7E 1C              1179        LD      A,(IX+28)\r
+    000007B3 DD 6E 1A              1180        LD      L,(IX+26)\r
+    000007B6 DD 66 1B              1181        LD      H,(IX+27)\r
+    000007B9 CD 00 00              1182        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000007BC DD 6E 13              1183        LD      L,(IX+19)\r
+    000007BF DD 66 14              1184        LD      H,(IX+20)\r
+    000007C2 E5                    1185        PUSH    HL\r
+    000007C3 DD E1                 1186        POP     IX\r
+    000007C5 18 DF                 1187        JR      ?0054\r
+    000007C7                       1188 ?0053:\r
+    000007C7 1E 01                 1189        LD      E,1\r
+    000007C9 CD D1 07              1190        CALL    LWRD ?0487\r
+    000007CC C3 F9 02              1191        JP      LWRD ?0415\r
+    000007CF                       1192 ?0486:\r
+    000007CF 1E 00                 1193        LD      E,0\r
+    000007D1                       1194 ?0487:\r
+    000007D1 3E 95                 1195        LD      A,BYTE3 EnableScreen\r
+    000007D3 21 95 03              1196        LD      HL,LWRD EnableScreen\r
+    000007D6 C3 00 00              1197        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000007D9                       1198 Component_findXY:\r
+    000007D9 CD 00 00              1199        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000007DC 00 00                 1200        DEFW    0\r
+    000007DE FD E5                 1201        PUSH    IY\r
+    000007E0 DD 6E 02              1202        LD      L,(IX+2)\r
+    000007E3 DD 66 03              1203        LD      H,(IX+3)\r
+    000007E6 E5                    1204        PUSH    HL\r
+    000007E7 FD E1                 1205        POP     IY\r
+    000007E9                       1206 ?0058:\r
+    000007E9 DD 6E 04              1207        LD      L,(IX+4)\r
+    000007EC DD 66 05              1208        LD      H,(IX+5)\r
+    000007EF 7E                    1209        LD      A,(HL)\r
+    000007F0 FD 86 02              1210        ADD     A,(IY+2)\r
+    000007F3 77                    1211        LD      (HL),A\r
+    000007F4 23                    1212        INC     HL\r
+    000007F5 7E                    1213        LD      A,(HL)\r
+    000007F6 FD 8E 03              1214        ADC     A,(IY+3)\r
+    000007F9 77                    1215        LD      (HL),A\r
+    000007FA DD 6E 0A              1216        LD      L,(IX+10)\r
+    000007FD DD 66 0B              1217        LD      H,(IX+11)\r
+    00000800 7E                    1218        LD      A,(HL)\r
+    00000801 FD 86 04              1219        ADD     A,(IY+4)\r
+    00000804 77                    1220        LD      (HL),A\r
+    00000805 23                    1221        INC     HL\r
+    00000806 7E                    1222        LD      A,(HL)\r
+    00000807 FD 8E 05              1223        ADC     A,(IY+5)\r
+    0000080A 77                    1224        LD      (HL),A\r
+    0000080B FD 6E 11              1225        LD      L,(IY+17)\r
+    0000080E FD 66 12              1226        LD      H,(IY+18)\r
+    00000811 E5                    1227        PUSH    HL\r
+    00000812 FD E1                 1228        POP     IY\r
+    00000814 7D                    1229        LD      A,L\r
+    00000815 B4                    1230        OR      H\r
+    00000816 20 D1                 1231        JR      NZ,?0058\r
+    00000818                       1232 ?0056:\r
+    00000818 FD E1                 1233        POP     IY\r
+    0000081A C3 00 00              1234        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000081D                       1235 Component_find:\r
+    0000081D CD 00 00              1236        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000820 00 00                 1237        DEFW    0\r
+    00000822 21 15 00              1238        LD      HL,21\r
+    00000825 DD 4E 02              1239        LD      C,(IX+2)\r
+    00000828 DD 46 03              1240        LD      B,(IX+3)\r
+    0000082B 09                    1241        ADD     HL,BC\r
+    0000082C                       1242 ?0346:\r
+    0000082C 46                    1243        LD      B,(HL)\r
+    0000082D 23                    1244        INC     HL\r
+    0000082E 66                    1245        LD      H,(HL)\r
+    0000082F 68                    1246        LD      L,B\r
+    00000830 EB                    1247        EX      DE,HL\r
+    00000831                       1248 ?0060:\r
+    00000831 7B                    1249        LD      A,E\r
+    00000832 B2                    1250        OR      D\r
+    00000833 28 1B                 1251        JR      Z,?0059\r
+    00000835                       1252 ?0061:\r
+    00000835 21 10 00              1253        LD      HL,16\r
+    00000838 19                    1254        ADD     HL,DE\r
+    00000839 4E                    1255        LD      C,(HL)\r
+    0000083A 06 00                 1256        LD      B,0\r
+    0000083C DD 6E 04              1257        LD      L,(IX+4)\r
+    0000083F DD 66 05              1258        LD      H,(IX+5)\r
+    00000842 A7                    1259        AND     A\r
+    00000843 ED 42                 1260        SBC     HL,BC\r
+    00000845 20 03                 1261        JR      NZ,?0063\r
+    00000847                       1262 ?0062:\r
+    00000847 EB                    1263        EX      DE,HL\r
+    00000848 18 08                 1264        JR      ?0064\r
+    0000084A                       1265 ?0063:\r
+    0000084A 21 13 00              1266        LD      HL,19\r
+    0000084D 19                    1267        ADD     HL,DE\r
+    0000084E 18 DC                 1268        JR      ?0346\r
+    00000850                       1269 ?0059:\r
+    00000850 6F                    1270        LD      L,A\r
+    00000851 67                    1271        LD      H,A\r
+    00000852                       1272 ?0064:\r
+    00000852 C3 00 00              1273        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000855                       1274 Component_delete:\r
+    00000855 CD 00 00              1275        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000858 F8 FF                 1276        DEFW    65528\r
+    0000085A FD E5                 1277        PUSH    IY\r
+    0000085C DD 6E 02              1278        LD      L,(IX+2)\r
+    0000085F DD 66 03              1279        LD      H,(IX+3)\r
+    00000862 E5                    1280        PUSH    HL\r
+    00000863 FD E1                 1281        POP     IY\r
+    00000865 FD 6E 15              1282        LD      L,(IY+21)\r
+    00000868 DD 75 F8              1283        LD      (IX-8),L\r
+    0000086B FD 66 16              1284        LD      H,(IY+22)\r
+    0000086E DD 74 F9              1285        LD      (IX-7),H\r
+    00000871 FD E5                 1286        PUSH    IY\r
+    00000873 E1                    1287        POP     HL\r
+    00000874 7D                    1288        LD      A,L\r
+    00000875 B4                    1289        OR      H\r
+    00000876 CA 08 0A              1290        JP      Z,?0066\r
+    00000879                       1291 ?0065:\r
+    00000879                       1292 ?0068:\r
+    00000879 DD 7E F8              1293        LD      A,(IX-8)\r
+    0000087C DD B6 F9              1294        OR      (IX-7)\r
+    0000087F 28 11                 1295        JR      Z,?0067\r
+    00000881                       1296 ?0069:\r
+    00000881 DD 5E F8              1297        LD      E,(IX-8)\r
+    00000884 DD 56 F9              1298        LD      D,(IX-7)\r
+    00000887 CD 1E 0A              1299        CALL    LWRD ?0467\r
+    0000088A DD 75 F8              1300        LD      (IX-8),L\r
+    0000088D DD 74 F9              1301        LD      (IX-7),H\r
+    00000890 18 E7                 1302        JR      ?0065\r
+    00000892                       1303 ?0067:\r
+    00000892 FD 7E 11              1304        LD      A,(IY+17)\r
+    00000895 FD B6 12              1305        OR      (IY+18)\r
+    00000898 CA 24 09              1306        JP      Z,?0081\r
+    0000089B                       1307 ?0070:\r
+    0000089B FD 6E 11              1308        LD      L,(IY+17)\r
+    0000089E FD 66 12              1309        LD      H,(IY+18)\r
+    000008A1 01 15 00              1310        LD      BC,21\r
+    000008A4 09                    1311        ADD     HL,BC\r
+    000008A5 46                    1312        LD      B,(HL)\r
+    000008A6 23                    1313        INC     HL\r
+    000008A7 66                    1314        LD      H,(HL)\r
+    000008A8 68                    1315        LD      L,B\r
+    000008A9 FD E5                 1316        PUSH    IY\r
+    000008AB C1                    1317        POP     BC\r
+    000008AC A7                    1318        AND     A\r
+    000008AD ED 42                 1319        SBC     HL,BC\r
+    000008AF FD 6E 11              1320        LD      L,(IY+17)\r
+    000008B2 FD 66 12              1321        LD      H,(IY+18)\r
+    000008B5 01 15 00              1322        LD      BC,21\r
+    000008B8 09                    1323        ADD     HL,BC\r
+    000008B9 20 09                 1324        JR      NZ,?0073\r
+    000008BB                       1325 ?0072:\r
+    000008BB E5                    1326        PUSH    HL\r
+    000008BC FD 6E 11              1327        LD      L,(IY+17)\r
+    000008BF FD 66 12              1328        LD      H,(IY+18)\r
+    000008C2 18 50                 1329        JR      ?0349\r
+    000008C4                       1330 ?0073:\r
+    000008C4 46                    1331        LD      B,(HL)\r
+    000008C5 23                    1332        INC     HL\r
+    000008C6 66                    1333        LD      H,(HL)\r
+    000008C7 68                    1334        LD      L,B\r
+    000008C8                       1335 ?0348:\r
+    000008C8 DD 75 F8              1336        LD      (IX-8),L\r
+    000008CB DD 74 F9              1337        LD      (IX-7),H\r
+    000008CE                       1338 ?0076:\r
+    000008CE 21 13 00              1339        LD      HL,19\r
+    000008D1 DD 4E F8              1340        LD      C,(IX-8)\r
+    000008D4 DD 46 F9              1341        LD      B,(IX-7)\r
+    000008D7 09                    1342        ADD     HL,BC\r
+    000008D8 46                    1343        LD      B,(HL)\r
+    000008D9 23                    1344        INC     HL\r
+    000008DA 66                    1345        LD      H,(HL)\r
+    000008DB 68                    1346        LD      L,B\r
+    000008DC FD E5                 1347        PUSH    IY\r
+    000008DE C1                    1348        POP     BC\r
+    000008DF A7                    1349        AND     A\r
+    000008E0 ED 42                 1350        SBC     HL,BC\r
+    000008E2 28 19                 1351        JR      Z,?0075\r
+    000008E4 21 13 00              1352        LD      HL,19\r
+    000008E7 DD 4E F8              1353        LD      C,(IX-8)\r
+    000008EA DD 46 F9              1354        LD      B,(IX-7)\r
+    000008ED 09                    1355        ADD     HL,BC\r
+    000008EE 7E                    1356        LD      A,(HL)\r
+    000008EF 23                    1357        INC     HL\r
+    000008F0 B6                    1358        OR      (HL)\r
+    000008F1 28 0A                 1359        JR      Z,?0075\r
+    000008F3                       1360 ?0079:\r
+    000008F3                       1361 ?0078:\r
+    000008F3                       1362 ?0077:\r
+    000008F3 21 13 00              1363        LD      HL,19\r
+    000008F6 09                    1364        ADD     HL,BC\r
+    000008F7 56                    1365        LD      D,(HL)\r
+    000008F8 23                    1366        INC     HL\r
+    000008F9 66                    1367        LD      H,(HL)\r
+    000008FA 6A                    1368        LD      L,D\r
+    000008FB 18 CB                 1369        JR      ?0348\r
+    000008FD                       1370 ?0075:\r
+    000008FD 21 13 00              1371        LD      HL,19\r
+    00000900 DD 4E F8              1372        LD      C,(IX-8)\r
+    00000903 DD 46 F9              1373        LD      B,(IX-7)\r
+    00000906 09                    1374        ADD     HL,BC\r
+    00000907 7E                    1375        LD      A,(HL)\r
+    00000908 23                    1376        INC     HL\r
+    00000909 B6                    1377        OR      (HL)\r
+    0000090A 28 18                 1378        JR      Z,?0081\r
+    0000090C                       1379 ?0080:\r
+    0000090C 21 13 00              1380        LD      HL,19\r
+    0000090F 09                    1381        ADD     HL,BC\r
+    00000910 E5                    1382        PUSH    HL\r
+    00000911 21 13 00              1383        LD      HL,19\r
+    00000914                       1384 ?0349:\r
+    00000914 09                    1385        ADD     HL,BC\r
+    00000915 46                    1386        LD      B,(HL)\r
+    00000916 23                    1387        INC     HL\r
+    00000917 66                    1388        LD      H,(HL)\r
+    00000918 68                    1389        LD      L,B\r
+    00000919 01 13 00              1390        LD      BC,19\r
+    0000091C 09                    1391        ADD     HL,BC\r
+    0000091D 4E                    1392        LD      C,(HL)\r
+    0000091E 23                    1393        INC     HL\r
+    0000091F 46                    1394        LD      B,(HL)\r
+    00000920 E1                    1395        POP     HL\r
+    00000921 71                    1396        LD      (HL),C\r
+    00000922 23                    1397        INC     HL\r
+    00000923 70                    1398        LD      (HL),B\r
+    00000924                       1399 ?0081:\r
+    00000924                       1400 ?0074:\r
+    00000924                       1401 ?0071:\r
+    00000924 FD 6E 13              1402        LD      L,(IY+19)\r
+    00000927 DD 75 F8              1403        LD      (IX-8),L\r
+    0000092A FD 66 14              1404        LD      H,(IY+20)\r
+    0000092D DD 74 F9              1405        LD      (IX-7),H\r
+    00000930 3E 04                 1406        LD      A,4\r
+    00000932 FD AE 24              1407        XOR     (IY+36)\r
+    00000935 FD B6 25              1408        OR      (IY+37)\r
+    00000938 C2 D4 09              1409        JP      NZ,?0090\r
+    0000093B                       1410 ?0082:\r
+    0000093B FD 6E 11              1411        LD      L,(IY+17)\r
+    0000093E DD 75 FC              1412        LD      (IX-4),L\r
+    00000941 FD 66 12              1413        LD      H,(IY+18)\r
+    00000944 DD 74 FD              1414        LD      (IX-3),H\r
+    00000947 FD 6E 26              1415        LD      L,(IY+38)\r
+    0000094A DD 75 FE              1416        LD      (IX-2),L\r
+    0000094D FD 66 27              1417        LD      H,(IY+39)\r
+    00000950 DD 74 FF              1418        LD      (IX-1),H\r
+    00000953 CD 13 0A              1419        CALL    LWRD ?0464\r
+    00000956 DD 6E FE              1420        LD      L,(IX-2)\r
+    00000959 DD 66 FF              1421        LD      H,(IX-1)\r
+    0000095C 23                    1422        INC     HL\r
+    0000095D 23                    1423        INC     HL\r
+    0000095E CD 13 0A              1424        CALL    LWRD ?0464\r
+    00000961                       1425 ?0085:\r
+    00000961 DD 7E FC              1426        LD      A,(IX-4)\r
+    00000964 DD B6 FD              1427        OR      (IX-3)\r
+    00000967 28 20                 1428        JR      Z,?0084\r
+    00000969 21 24 00              1429        LD      HL,36\r
+    0000096C DD 4E FC              1430        LD      C,(IX-4)\r
+    0000096F DD 46 FD              1431        LD      B,(IX-3)\r
+    00000972 09                    1432        ADD     HL,BC\r
+    00000973 3E 04                 1433        LD      A,4\r
+    00000975 AE                    1434        XOR     (HL)\r
+    00000976 23                    1435        INC     HL\r
+    00000977 B6                    1436        OR      (HL)\r
+    00000978 28 0F                 1437        JR      Z,?0084\r
+    0000097A                       1438 ?0088:\r
+    0000097A                       1439 ?0087:\r
+    0000097A                       1440 ?0086:\r
+    0000097A 21 11 00              1441        LD      HL,17\r
+    0000097D 09                    1442        ADD     HL,BC\r
+    0000097E 56                    1443        LD      D,(HL)\r
+    0000097F DD 72 FC              1444        LD      (IX-4),D\r
+    00000982 23                    1445        INC     HL\r
+    00000983 66                    1446        LD      H,(HL)\r
+    00000984 DD 74 FD              1447        LD      (IX-3),H\r
+    00000987 18 D8                 1448        JR      ?0085\r
+    00000989                       1449 ?0084:\r
+    00000989 DD 7E FC              1450        LD      A,(IX-4)\r
+    0000098C DD B6 FD              1451        OR      (IX-3)\r
+    0000098F 28 43                 1452        JR      Z,?0090\r
+    00000991                       1453 ?0089:\r
+    00000991 21 26 00              1454        LD      HL,38\r
+    00000994 DD 4E FC              1455        LD      C,(IX-4)\r
+    00000997 DD 46 FD              1456        LD      B,(IX-3)\r
+    0000099A 09                    1457        ADD     HL,BC\r
+    0000099B 46                    1458        LD      B,(HL)\r
+    0000099C DD 70 FE              1459        LD      (IX-2),B\r
+    0000099F 23                    1460        INC     HL\r
+    000009A0 66                    1461        LD      H,(HL)\r
+    000009A1 DD 74 FF              1462        LD      (IX-1),H\r
+    000009A4 21 0A 00              1463        LD      HL,10\r
+    000009A7 ED 4B 00 00           1464        LD      BC,(global)\r
+    000009AB 09                    1465        ADD     HL,BC\r
+    000009AC E5                    1466        PUSH    HL\r
+    000009AD DD 6E FE              1467        LD      L,(IX-2)\r
+    000009B0 DD 66 FF              1468        LD      H,(IX-1)\r
+    000009B3 5E                    1469        LD      E,(HL)\r
+    000009B4 23                    1470        INC     HL\r
+    000009B5 56                    1471        LD      D,(HL)\r
+    000009B6 E1                    1472        POP     HL\r
+    000009B7 73                    1473        LD      (HL),E\r
+    000009B8 23                    1474        INC     HL\r
+    000009B9 72                    1475        LD      (HL),D\r
+    000009BA 21 0C 00              1476        LD      HL,12\r
+    000009BD ED 4B 00 00           1477        LD      BC,(global)\r
+    000009C1 09                    1478        ADD     HL,BC\r
+    000009C2 E5                    1479        PUSH    HL\r
+    000009C3 DD 4E FE              1480        LD      C,(IX-2)\r
+    000009C6 DD 46 FF              1481        LD      B,(IX-1)\r
+    000009C9 03                    1482        INC     BC\r
+    000009CA 03                    1483        INC     BC\r
+    000009CB 69                    1484        LD      L,C\r
+    000009CC 60                    1485        LD      H,B\r
+    000009CD 4E                    1486        LD      C,(HL)\r
+    000009CE 23                    1487        INC     HL\r
+    000009CF 46                    1488        LD      B,(HL)\r
+    000009D0 E1                    1489        POP     HL\r
+    000009D1 71                    1490        LD      (HL),C\r
+    000009D2 23                    1491        INC     HL\r
+    000009D3 70                    1492        LD      (HL),B\r
+    000009D4                       1493 ?0090:\r
+    000009D4                       1494 ?0083:\r
+    000009D4 FD 4E 24              1495        LD      C,(IY+36)\r
+    000009D7 FD 46 25              1496        LD      B,(IY+37)\r
+    000009DA 21 00 00              1497        LD      HL,0\r
+    000009DD CD 00 00              1498        CALL    LWRD ?SS_CMP_L02\r
+    000009E0 30 09                 1499        JR      NC,?0092\r
+    000009E2                       1500 ?0091:\r
+    000009E2 FD 5E 26              1501        LD      E,(IY+38)\r
+    000009E5 FD 56 27              1502        LD      D,(IY+39)\r
+    000009E8 CD 16 0A              1503        CALL    LWRD ?0465\r
+    000009EB                       1504 ?0092:\r
+    000009EB FD CB 0B 76           1505        BIT     6,(IY+11)\r
+    000009EF 20 11                 1506        JR      NZ,?0094\r
+    000009F1 FD 7E 20              1507        LD      A,(IY+32)\r
+    000009F4 FD B6 21              1508        OR      (IY+33)\r
+    000009F7 28 09                 1509        JR      Z,?0094\r
+    000009F9                       1510 ?0096:\r
+    000009F9                       1511 ?0095:\r
+    000009F9                       1512 ?0093:\r
+    000009F9 FD 5E 20              1513        LD      E,(IY+32)\r
+    000009FC FD 56 21              1514        LD      D,(IY+33)\r
+    000009FF CD 16 0A              1515        CALL    LWRD ?0465\r
+    00000A02                       1516 ?0094:\r
+    00000A02 FD E5                 1517        PUSH    IY\r
+    00000A04 D1                    1518        POP     DE\r
+    00000A05 CD 16 0A              1519        CALL    LWRD ?0465\r
+    00000A08                       1520 ?0066:\r
+    00000A08 DD 6E F8              1521        LD      L,(IX-8)\r
+    00000A0B DD 66 F9              1522        LD      H,(IX-7)\r
+    00000A0E FD E1                 1523        POP     IY\r
+    00000A10 C3 00 00              1524        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000A13                       1525 ?0464:\r
+    00000A13 5E                    1526        LD      E,(HL)\r
+    00000A14 23                    1527        INC     HL\r
+    00000A15 56                    1528        LD      D,(HL)\r
+    00000A16                       1529 ?0465:\r
+    00000A16 3E 00                 1530        LD      A,BYTE3 free\r
+    00000A18 21 00 00              1531        LD      HL,LWRD free\r
+    00000A1B C3 00 00              1532        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000A1E                       1533 ?0467:\r
+    00000A1E 3E 55                 1534        LD      A,BYTE3 Component_delete\r
+    00000A20 21 55 08              1535        LD      HL,LWRD Component_delete\r
+    00000A23 C3 00 00              1536        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000A26                       1537 Component_delete_children:\r
+    00000A26 C5                    1538        PUSH    BC\r
+    00000A27 FD E5                 1539        PUSH    IY\r
+    00000A29 DD E5                 1540        PUSH    IX\r
+    00000A2B 21 15 00              1541        LD      HL,21\r
+    00000A2E 19                    1542        ADD     HL,DE\r
+    00000A2F 46                    1543        LD      B,(HL)\r
+    00000A30 23                    1544        INC     HL\r
+    00000A31 66                    1545        LD      H,(HL)\r
+    00000A32 68                    1546        LD      L,B\r
+    00000A33                       1547 ?0351:\r
+    00000A33 E5                    1548        PUSH    HL\r
+    00000A34 DD E1                 1549        POP     IX\r
+    00000A36                       1550 ?0098:\r
+    00000A36 7D                    1551        LD      A,L\r
+    00000A37 B4                    1552        OR      H\r
+    00000A38 28 08                 1553        JR      Z,?0097\r
+    00000A3A                       1554 ?0099:\r
+    00000A3A DD E5                 1555        PUSH    IX\r
+    00000A3C D1                    1556        POP     DE\r
+    00000A3D CD 1E 0A              1557        CALL    LWRD ?0467\r
+    00000A40 18 F1                 1558        JR      ?0351\r
+    00000A42                       1559 ?0097:\r
+    00000A42 C3 F9 02              1560        JP      LWRD ?0415\r
+    00000A45                       1561 Component_changestate_children:\r
+    00000A45 CD 00 00              1562        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000A48 00 00                 1563        DEFW    0\r
+    00000A4A FD E5                 1564        PUSH    IY\r
+    00000A4C 21 15 00              1565        LD      HL,21\r
+    00000A4F DD 5E 02              1566        LD      E,(IX+2)\r
+    00000A52 DD 56 03              1567        LD      D,(IX+3)\r
+    00000A55 19                    1568        ADD     HL,DE\r
+    00000A56                       1569 ?0352:\r
+    00000A56 56                    1570        LD      D,(HL)\r
+    00000A57 23                    1571        INC     HL\r
+    00000A58 66                    1572        LD      H,(HL)\r
+    00000A59 6A                    1573        LD      L,D\r
+    00000A5A E5                    1574        PUSH    HL\r
+    00000A5B FD E1                 1575        POP     IY\r
+    00000A5D                       1576 ?0101:\r
+    00000A5D 7D                    1577        LD      A,L\r
+    00000A5E B4                    1578        OR      H\r
+    00000A5F 28 3D                 1579        JR      Z,?0100\r
+    00000A61                       1580 ?0102:\r
+    00000A61 21 0A 00              1581        LD      HL,10\r
+    00000A64 FD E5                 1582        PUSH    IY\r
+    00000A66 C1                    1583        POP     BC\r
+    00000A67 09                    1584        ADD     HL,BC\r
+    00000A68 DD 7E 04              1585        LD      A,(IX+4)\r
+    00000A6B DD 56 05              1586        LD      D,(IX+5)\r
+    00000A6E 2F                    1587        CPL\r
+    00000A6F 5F                    1588        LD      E,A\r
+    00000A70 7A                    1589        LD      A,D\r
+    00000A71 2F                    1590        CPL\r
+    00000A72 57                    1591        LD      D,A\r
+    00000A73 7E                    1592        LD      A,(HL)\r
+    00000A74 A3                    1593        AND     E\r
+    00000A75 77                    1594        LD      (HL),A\r
+    00000A76 23                    1595        INC     HL\r
+    00000A77 7E                    1596        LD      A,(HL)\r
+    00000A78 A2                    1597        AND     D\r
+    00000A79 77                    1598        LD      (HL),A\r
+    00000A7A 21 0A 00              1599        LD      HL,10\r
+    00000A7D 09                    1600        ADD     HL,BC\r
+    00000A7E 7E                    1601        LD      A,(HL)\r
+    00000A7F DD B6 0A              1602        OR      (IX+10)\r
+    00000A82 77                    1603        LD      (HL),A\r
+    00000A83 23                    1604        INC     HL\r
+    00000A84 7E                    1605        LD      A,(HL)\r
+    00000A85 DD B6 0B              1606        OR      (IX+11)\r
+    00000A88 77                    1607        LD      (HL),A\r
+    00000A89 21 0A 00              1608        LD      HL,10\r
+    00000A8C 09                    1609        ADD     HL,BC\r
+    00000A8D 7E                    1610        LD      A,(HL)\r
+    00000A8E DD AE 0C              1611        XOR     (IX+12)\r
+    00000A91 77                    1612        LD      (HL),A\r
+    00000A92 23                    1613        INC     HL\r
+    00000A93 7E                    1614        LD      A,(HL)\r
+    00000A94 DD AE 0D              1615        XOR     (IX+13)\r
+    00000A97 77                    1616        LD      (HL),A\r
+    00000A98 21 13 00              1617        LD      HL,19\r
+    00000A9B 09                    1618        ADD     HL,BC\r
+    00000A9C 18 B8                 1619        JR      ?0352\r
+    00000A9E                       1620 ?0100:\r
+    00000A9E 11 00 00              1621        LD      DE,stdout\r
+    00000AA1 3E 00                 1622        LD      A,BYTE3 fflush\r
+    00000AA3 21 00 00              1623        LD      HL,LWRD fflush\r
+    00000AA6 CD 00 00              1624        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000AA9 FD E1                 1625        POP     IY\r
+    00000AAB C3 00 00              1626        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000AAE                       1627 Component_linkstringtable:\r
+    00000AAE C5                    1628        PUSH    BC\r
+    00000AAF FD E5                 1629        PUSH    IY\r
+    00000AB1 DD E5                 1630        PUSH    IX\r
+    00000AB3 D5                    1631        PUSH    DE\r
+    00000AB4 DD E1                 1632        POP     IX\r
+    00000AB6 21 15 00              1633        LD      HL,21\r
+    00000AB9 19                    1634        ADD     HL,DE\r
+    00000ABA 46                    1635        LD      B,(HL)\r
+    00000ABB 23                    1636        INC     HL\r
+    00000ABC 66                    1637        LD      H,(HL)\r
+    00000ABD 68                    1638        LD      L,B\r
+    00000ABE E5                    1639        PUSH    HL\r
+    00000ABF FD E1                 1640        POP     IY\r
+    00000AC1 21 20 00              1641        LD      HL,32\r
+    00000AC4 19                    1642        ADD     HL,DE\r
+    00000AC5 46                    1643        LD      B,(HL)\r
+    00000AC6 23                    1644        INC     HL\r
+    00000AC7 66                    1645        LD      H,(HL)\r
+    00000AC8 68                    1646        LD      L,B\r
+    00000AC9 01 00 90              1647        LD      BC,36864\r
+    00000ACC 3E 80                 1648        LD      A,128\r
+    00000ACE AC                    1649        XOR     H\r
+    00000ACF 67                    1650        LD      H,A\r
+    00000AD0 ED 42                 1651        SBC     HL,BC\r
+    00000AD2 30 2E                 1652        JR      NC,?0104\r
+    00000AD4 DD 4E 20              1653        LD      C,(IX+32)\r
+    00000AD7 DD 46 21              1654        LD      B,(IX+33)\r
+    00000ADA 21 00 00              1655        LD      HL,0\r
+    00000ADD CD 00 00              1656        CALL    LWRD ?SS_CMP_L02\r
+    00000AE0 30 20                 1657        JR      NC,?0104\r
+    00000AE2                       1658 ?0106:\r
+    00000AE2                       1659 ?0105:\r
+    00000AE2                       1660 ?0103:\r
+    00000AE2 DD 6E 20              1661        LD      L,(IX+32)\r
+    00000AE5 DD 66 21              1662        LD      H,(IX+33)\r
+    00000AE8 29                    1663        ADD     HL,HL\r
+    00000AE9 E5                    1664        PUSH    HL\r
+    00000AEA 21 0C 00              1665        LD      HL,12\r
+    00000AED ED 4B 00 00           1666        LD      BC,(global)\r
+    00000AF1 09                    1667        ADD     HL,BC\r
+    00000AF2 4E                    1668        LD      C,(HL)\r
+    00000AF3 23                    1669        INC     HL\r
+    00000AF4 46                    1670        LD      B,(HL)\r
+    00000AF5 E1                    1671        POP     HL\r
+    00000AF6 09                    1672        ADD     HL,BC\r
+    00000AF7 2B                    1673        DEC     HL\r
+    00000AF8 2B                    1674        DEC     HL\r
+    00000AF9 46                    1675        LD      B,(HL)\r
+    00000AFA DD 70 20              1676        LD      (IX+32),B\r
+    00000AFD 23                    1677        INC     HL\r
+    00000AFE 66                    1678        LD      H,(HL)\r
+    00000AFF DD 74 21              1679        LD      (IX+33),H\r
+    00000B02                       1680 ?0104:\r
+    00000B02 DD 6E 22              1681        LD      L,(IX+34)\r
+    00000B05 DD 66 23              1682        LD      H,(IX+35)\r
+    00000B08 01 00 90              1683        LD      BC,36864\r
+    00000B0B 3E 80                 1684        LD      A,128\r
+    00000B0D AC                    1685        XOR     H\r
+    00000B0E 67                    1686        LD      H,A\r
+    00000B0F ED 42                 1687        SBC     HL,BC\r
+    00000B11 30 2E                 1688        JR      NC,?0108\r
+    00000B13 DD 4E 22              1689        LD      C,(IX+34)\r
+    00000B16 DD 46 23              1690        LD      B,(IX+35)\r
+    00000B19 21 00 00              1691        LD      HL,0\r
+    00000B1C CD 00 00              1692        CALL    LWRD ?SS_CMP_L02\r
+    00000B1F 30 20                 1693        JR      NC,?0108\r
+    00000B21                       1694 ?0110:\r
+    00000B21                       1695 ?0109:\r
+    00000B21                       1696 ?0107:\r
+    00000B21 DD 6E 22              1697        LD      L,(IX+34)\r
+    00000B24 DD 66 23              1698        LD      H,(IX+35)\r
+    00000B27 29                    1699        ADD     HL,HL\r
+    00000B28 E5                    1700        PUSH    HL\r
+    00000B29 21 0C 00              1701        LD      HL,12\r
+    00000B2C ED 4B 00 00           1702        LD      BC,(global)\r
+    00000B30 09                    1703        ADD     HL,BC\r
+    00000B31 4E                    1704        LD      C,(HL)\r
+    00000B32 23                    1705        INC     HL\r
+    00000B33 46                    1706        LD      B,(HL)\r
+    00000B34 E1                    1707        POP     HL\r
+    00000B35 09                    1708        ADD     HL,BC\r
+    00000B36 2B                    1709        DEC     HL\r
+    00000B37 2B                    1710        DEC     HL\r
+    00000B38 46                    1711        LD      B,(HL)\r
+    00000B39 DD 70 22              1712        LD      (IX+34),B\r
+    00000B3C 23                    1713        INC     HL\r
+    00000B3D 66                    1714        LD      H,(HL)\r
+    00000B3E DD 74 23              1715        LD      (IX+35),H\r
+    00000B41                       1716 ?0108:\r
+    00000B41                       1717 ?0112:\r
+    00000B41 FD E5                 1718        PUSH    IY\r
+    00000B43 E1                    1719        POP     HL\r
+    00000B44 7D                    1720        LD      A,L\r
+    00000B45 B4                    1721        OR      H\r
+    00000B46 28 16                 1722        JR      Z,?0111\r
+    00000B48                       1723 ?0113:\r
+    00000B48 FD E5                 1724        PUSH    IY\r
+    00000B4A D1                    1725        POP     DE\r
+    00000B4B 3E AE                 1726        LD      A,BYTE3 Component_linkstringtable\r
+    00000B4D 21 AE 0A              1727        LD      HL,LWRD Component_linkstringtable\r
+    00000B50 CD 00 00              1728        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000B53 FD 6E 13              1729        LD      L,(IY+19)\r
+    00000B56 FD 66 14              1730        LD      H,(IY+20)\r
+    00000B59 E5                    1731        PUSH    HL\r
+    00000B5A FD E1                 1732        POP     IY\r
+    00000B5C 18 E3                 1733        JR      ?0108\r
+    00000B5E                       1734 ?0111:\r
+    00000B5E C3 F9 02              1735        JP      LWRD ?0415\r
+    00000B61                       1736 Window_handler:\r
+    00000B61 CD 00 00              1737        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00000B64 D0 FF                 1738        DEFW    65488\r
+    00000B66 FD E5                 1739        PUSH    IY\r
+    00000B68 AF                    1740        XOR     A\r
+    00000B69 DD 77 FA              1741        LD      (IX-6),A\r
+    00000B6C DD 77 FB              1742        LD      (IX-5),A\r
+    00000B6F DD 77 FC              1743        LD      (IX-4),A\r
+    00000B72 DD 77 FD              1744        LD      (IX-3),A\r
+    00000B75 59                    1745        LD      E,C\r
+    00000B76 50                    1746        LD      D,B\r
+    00000B77 CD 00 00              1747        CALL    LWRD ?S_V_SWITCH_L06\r
+    00000B7A 08 00                 1748        DEFW    8\r
+    00000B7C 01 00                 1749        DEFW    1\r
+    00000B7E 02 00                 1750        DEFW    2\r
+    00000B80 03 00                 1751        DEFW    3\r
+    00000B82 02 01                 1752        DEFW    258\r
+    00000B84 03 01                 1753        DEFW    259\r
+    00000B86 04 01                 1754        DEFW    260\r
+    00000B88 05 01                 1755        DEFW    261\r
+    00000B8A 01 05                 1756        DEFW    1281\r
+    00000B8C FA 0D                 1757        DEFW    ?0161\r
+    00000B8E 68 0D                 1758        DEFW    ?0155\r
+    00000B90 FB 0C                 1759        DEFW    ?0146\r
+    00000B92 27 0D                 1760        DEFW    ?0147\r
+    00000B94 6F 0C                 1761        DEFW    ?0144\r
+    00000B96 80 0C                 1762        DEFW    ?0145\r
+    00000B98 34 0C                 1763        DEFW    ?0133\r
+    00000B9A CF 0B                 1764        DEFW    ?0121\r
+    00000B9C 9E 0B                 1765        DEFW    ?0115\r
+    00000B9E                       1766 ?0115:\r
+    00000B9E 21 15 00              1767        LD      HL,21\r
+    00000BA1 DD 4E 02              1768        LD      C,(IX+2)\r
+    00000BA4 DD 46 03              1769        LD      B,(IX+3)\r
+    00000BA7 09                    1770        ADD     HL,BC\r
+    00000BA8 46                    1771        LD      B,(HL)\r
+    00000BA9 23                    1772        INC     HL\r
+    00000BAA 66                    1773        LD      H,(HL)\r
+    00000BAB 68                    1774        LD      L,B\r
+    00000BAC                       1775 ?0354:\r
+    00000BAC E5                    1776        PUSH    HL\r
+    00000BAD FD E1                 1777        POP     IY\r
+    00000BAF                       1778 ?0117:\r
+    00000BAF 7D                    1779        LD      A,L\r
+    00000BB0 B4                    1780        OR      H\r
+    00000BB1 28 19                 1781        JR      Z,?0116\r
+    00000BB3                       1782 ?0118:\r
+    00000BB3 FD CB 0A 46           1783        BIT     0,(IY+10)\r
+    00000BB7 28 0B                 1784        JR      Z,?0120\r
+    00000BB9                       1785 ?0119:\r
+    00000BB9 DD 6E 0A              1786        LD      L,(IX+10)\r
+    00000BBC DD 66 0B              1787        LD      H,(IX+11)\r
+    00000BBF E5                    1788        PUSH    HL\r
+    00000BC0 CD 0A 0E              1789        CALL    LWRD ?0475\r
+    00000BC3 E1                    1790        POP     HL\r
+    00000BC4                       1791 ?0120:\r
+    00000BC4 FD 6E 13              1792        LD      L,(IY+19)\r
+    00000BC7 FD 66 14              1793        LD      H,(IY+20)\r
+    00000BCA 18 E0                 1794        JR      ?0354\r
+    00000BCC                       1795 ?0116:\r
+    00000BCC C3 FA 0D              1796        JP      LWRD ?0161\r
+    00000BCF                       1797 ?0121:\r
+    00000BCF 21 15 00              1798        LD      HL,21\r
+    00000BD2 DD 4E 02              1799        LD      C,(IX+2)\r
+    00000BD5 DD 46 03              1800        LD      B,(IX+3)\r
+    00000BD8 09                    1801        ADD     HL,BC\r
+    00000BD9 46                    1802        LD      B,(HL)\r
+    00000BDA 23                    1803        INC     HL\r
+    00000BDB 66                    1804        LD      H,(HL)\r
+    00000BDC 68                    1805        LD      L,B\r
+    00000BDD                       1806 ?0358:\r
+    00000BDD E5                    1807        PUSH    HL\r
+    00000BDE FD E1                 1808        POP     IY\r
+    00000BE0                       1809 ?0123:\r
+    00000BE0 7D                    1810        LD      A,L\r
+    00000BE1 B4                    1811        OR      H\r
+    00000BE2 28 4D                 1812        JR      Z,?0122\r
+    00000BE4                       1813 ?0124:\r
+    00000BE4 FD CB 0A 46           1814        BIT     0,(IY+10)\r
+    00000BE8 28 38                 1815        JR      Z,?0128\r
+    00000BEA                       1816 ?0125:\r
+    00000BEA DD 6E 0A              1817        LD      L,(IX+10)\r
+    00000BED DD 66 0B              1818        LD      H,(IX+11)\r
+    00000BF0 E5                    1819        PUSH    HL\r
+    00000BF1 CD 0A 0E              1820        CALL    LWRD ?0475\r
+    00000BF4 E1                    1821        POP     HL\r
+    00000BF5 DD 6E 0A              1822        LD      L,(IX+10)\r
+    00000BF8 DD 66 0B              1823        LD      H,(IX+11)\r
+    00000BFB E5                    1824        PUSH    HL\r
+    00000BFC 01 03 00              1825        LD      BC,3\r
+    00000BFF CD 10 0E              1826        CALL    LWRD ?0476\r
+    00000C02 E1                    1827        POP     HL\r
+    00000C03 FD 7E 0A              1828        LD      A,(IY+10)\r
+    00000C06 E6 22                 1829        AND     34\r
+    00000C08 6F                    1830        LD      L,A\r
+    00000C09 26 00                 1831        LD      H,0\r
+    00000C0B 3E 22                 1832        LD      A,34\r
+    00000C0D AD                    1833        XOR     L\r
+    00000C0E 20 12                 1834        JR      NZ,?0128\r
+    00000C10 FD 4E 10              1835        LD      C,(IY+16)\r
+    00000C13 44                    1836        LD      B,H\r
+    00000C14 DD 6E 0A              1837        LD      L,(IX+10)\r
+    00000C17 DD 66 0B              1838        LD      H,(IX+11)\r
+    00000C1A ED 42                 1839        SBC     HL,BC\r
+    00000C1C 20 04                 1840        JR      NZ,?0128\r
+    00000C1E                       1841 ?0130:\r
+    00000C1E                       1842 ?0129:\r
+    00000C1E                       1843 ?0127:\r
+    00000C1E FD 21 00 00           1844        LD      IY,0\r
+    00000C22                       1845 ?0128:\r
+    00000C22                       1846 ?0126:\r
+    00000C22 FD E5                 1847        PUSH    IY\r
+    00000C24 E1                    1848        POP     HL\r
+    00000C25 7D                    1849        LD      A,L\r
+    00000C26 B4                    1850        OR      H\r
+    00000C27 28 B7                 1851        JR      Z,?0123\r
+    00000C29                       1852 ?0131:\r
+    00000C29 FD 6E 13              1853        LD      L,(IY+19)\r
+    00000C2C FD 66 14              1854        LD      H,(IY+20)\r
+    00000C2F 18 AC                 1855        JR      ?0358\r
+    00000C31                       1856 ?0132:\r
+    00000C31                       1857 ?0122:\r
+    00000C31 C3 FA 0D              1858        JP      LWRD ?0161\r
+    00000C34                       1859 ?0133:\r
+    00000C34 DD 6E 02              1860        LD      L,(IX+2)\r
+    00000C37 DD 66 03              1861        LD      H,(IX+3)\r
+    00000C3A E5                    1862        PUSH    HL\r
+    00000C3B FD E1                 1863        POP     IY\r
+    00000C3D 21 0A 00              1864        LD      HL,10\r
+    00000C40 DD 4E 02              1865        LD      C,(IX+2)\r
+    00000C43 DD 46 03              1866        LD      B,(IX+3)\r
+    00000C46 09                    1867        ADD     HL,BC\r
+    00000C47 CB 46                 1868        BIT     0,(HL)\r
+    00000C49 28 21                 1869        JR      Z,?0141\r
+    00000C4B                       1870 ?0134:\r
+    00000C4B FD CB 0A 6E           1871        BIT     5,(IY+10)\r
+    00000C4F 28 1B                 1872        JR      Z,?0141\r
+    00000C51 FD 4E 10              1873        LD      C,(IY+16)\r
+    00000C54 47                    1874        LD      B,A\r
+    00000C55 DD 6E 0A              1875        LD      L,(IX+10)\r
+    00000C58 DD 66 0B              1876        LD      H,(IX+11)\r
+    00000C5B A7                    1877        AND     A\r
+    00000C5C ED 42                 1878        SBC     HL,BC\r
+    00000C5E 20 0C                 1879        JR      NZ,?0141\r
+    00000C60                       1880 ?0139:\r
+    00000C60                       1881 ?0138:\r
+    00000C60                       1882 ?0136:\r
+    00000C60 FD 6E 26              1883        LD      L,(IY+38)\r
+    00000C63 FD 66 27              1884        LD      H,(IY+39)\r
+    00000C66 FD E5                 1885        PUSH    IY\r
+    00000C68 D1                    1886        POP     DE\r
+    00000C69 CD 00 0E              1887        CALL    LWRD ?0450\r
+    00000C6C                       1888 ?0140:\r
+    00000C6C                       1889 ?0141:\r
+    00000C6C                       1890 ?0137:\r
+    00000C6C                       1891 ?0135:\r
+    00000C6C                       1892 ?0142:\r
+    00000C6C                       1893 ?0143:\r
+    00000C6C C3 FA 0D              1894        JP      LWRD ?0161\r
+    00000C6F                       1895 ?0144:\r
+    00000C6F DD 5E 02              1896        LD      E,(IX+2)\r
+    00000C72 4B                    1897        LD      C,E\r
+    00000C73 DD 56 03              1898        LD      D,(IX+3)\r
+    00000C76 42                    1899        LD      B,D\r
+    00000C77 21 1A 00              1900        LD      HL,26\r
+    00000C7A CD FF 0D              1901        CALL    LWRD ?0451\r
+    00000C7D C3 FA 0D              1902        JP      LWRD ?0161\r
+    00000C80                       1903 ?0145:\r
+    00000C80 21 0A 00              1904        LD      HL,10\r
+    00000C83 DD 4E 02              1905        LD      C,(IX+2)\r
+    00000C86 DD 46 03              1906        LD      B,(IX+3)\r
+    00000C89 09                    1907        ADD     HL,BC\r
+    00000C8A 7E                    1908        LD      A,(HL)\r
+    00000C8B E6 FC                 1909        AND     252\r
+    00000C8D 77                    1910        LD      (HL),A\r
+    00000C8E 21 2E 00              1911        LD      HL,46\r
+    00000C91 39                    1912        ADD     HL,SP\r
+    00000C92 E5                    1913        PUSH    HL\r
+    00000C93 2B                    1914        DEC     HL\r
+    00000C94 2B                    1915        DEC     HL\r
+    00000C95 4D                    1916        LD      C,L\r
+    00000C96 44                    1917        LD      B,H\r
+    00000C97 DD 5E 02              1918        LD      E,(IX+2)\r
+    00000C9A DD 56 03              1919        LD      D,(IX+3)\r
+    00000C9D CD 26 0E              1920        CALL    LWRD ?0477\r
+    00000CA0 E1                    1921        POP     HL\r
+    00000CA1 21 08 00              1922        LD      HL,8\r
+    00000CA4 DD 4E 02              1923        LD      C,(IX+2)\r
+    00000CA7 DD 46 03              1924        LD      B,(IX+3)\r
+    00000CAA 09                    1925        ADD     HL,BC\r
+    00000CAB 5E                    1926        LD      E,(HL)\r
+    00000CAC 23                    1927        INC     HL\r
+    00000CAD 56                    1928        LD      D,(HL)\r
+    00000CAE D5                    1929        PUSH    DE\r
+    00000CAF 21 06 00              1930        LD      HL,6\r
+    00000CB2 09                    1931        ADD     HL,BC\r
+    00000CB3 5E                    1932        LD      E,(HL)\r
+    00000CB4 23                    1933        INC     HL\r
+    00000CB5 56                    1934        LD      D,(HL)\r
+    00000CB6 D5                    1935        PUSH    DE\r
+    00000CB7 DD 6E FC              1936        LD      L,(IX-4)\r
+    00000CBA DD 66 FD              1937        LD      H,(IX-3)\r
+    00000CBD E5                    1938        PUSH    HL\r
+    00000CBE DD 4E FA              1939        LD      C,(IX-6)\r
+    00000CC1 DD 46 FB              1940        LD      B,(IX-5)\r
+    00000CC4 11 00 00              1941        LD      DE,0\r
+    00000CC7 CD 8D 03              1942        CALL    LWRD ?0484\r
+    00000CCA E1                    1943        POP     HL\r
+    00000CCB E1                    1944        POP     HL\r
+    00000CCC E1                    1945        POP     HL\r
+    00000CCD 21 00 00              1946        LD      HL,0\r
+    00000CD0 E5                    1947        PUSH    HL\r
+    00000CD1 2E 11                 1948        LD      L,17\r
+    00000CD3 DD 5E 02              1949        LD      E,(IX+2)\r
+    00000CD6 DD 56 03              1950        LD      D,(IX+3)\r
+    00000CD9 19                    1951        ADD     HL,DE\r
+    00000CDA 5E                    1952        LD      E,(HL)\r
+    00000CDB 23                    1953        INC     HL\r
+    00000CDC 56                    1954        LD      D,(HL)\r
+    00000CDD 21 11 00              1955        LD      HL,17\r
+    00000CE0 DD 4E 02              1956        LD      C,(IX+2)\r
+    00000CE3 DD 46 03              1957        LD      B,(IX+3)\r
+    00000CE6 09                    1958        ADD     HL,BC\r
+    00000CE7 46                    1959        LD      B,(HL)\r
+    00000CE8 23                    1960        INC     HL\r
+    00000CE9 66                    1961        LD      H,(HL)\r
+    00000CEA 68                    1962        LD      L,B\r
+    00000CEB 01 17 00              1963        LD      BC,23\r
+    00000CEE 09                    1964        ADD     HL,BC\r
+    00000CEF 4E                    1965        LD      C,(HL)\r
+    00000CF0 23                    1966        INC     HL\r
+    00000CF1 46                    1967        LD      B,(HL)\r
+    00000CF2 23                    1968        INC     HL\r
+    00000CF3 7E                    1969        LD      A,(HL)\r
+    00000CF4 69                    1970        LD      L,C\r
+    00000CF5 60                    1971        LD      H,B\r
+    00000CF6 01 03 01              1972        LD      BC,259\r
+    00000CF9 18 29                 1973        JR      ?0357\r
+    00000CFB                       1974 ?0146:\r
+    00000CFB 21 11 00              1975        LD      HL,17\r
+    00000CFE DD 4E 02              1976        LD      C,(IX+2)\r
+    00000D01 DD 46 03              1977        LD      B,(IX+3)\r
+    00000D04 09                    1978        ADD     HL,BC\r
+    00000D05 56                    1979        LD      D,(HL)\r
+    00000D06 23                    1980        INC     HL\r
+    00000D07 66                    1981        LD      H,(HL)\r
+    00000D08 6A                    1982        LD      L,D\r
+    00000D09 E5                    1983        PUSH    HL\r
+    00000D0A FD E1                 1984        POP     IY\r
+    00000D0C 59                    1985        LD      E,C\r
+    00000D0D 50                    1986        LD      D,B\r
+    00000D0E CD 1E 0A              1987        CALL    LWRD ?0467\r
+    00000D11 21 00 00              1988        LD      HL,0\r
+    00000D14 E5                    1989        PUSH    HL\r
+    00000D15 01 03 01              1990        LD      BC,259\r
+    00000D18 FD E5                 1991        PUSH    IY\r
+    00000D1A D1                    1992        POP     DE\r
+    00000D1B FD 7E 19              1993        LD      A,(IY+25)\r
+    00000D1E FD 6E 17              1994        LD      L,(IY+23)\r
+    00000D21 FD 66 18              1995        LD      H,(IY+24)\r
+    00000D24                       1996 ?0357:\r
+    00000D24 C3 F6 0D              1997        JP      LWRD ?0356\r
+    00000D27                       1998 ?0147:\r
+    00000D27 21 15 00              1999        LD      HL,21\r
+    00000D2A DD 4E 02              2000        LD      C,(IX+2)\r
+    00000D2D DD 46 03              2001        LD      B,(IX+3)\r
+    00000D30 09                    2002        ADD     HL,BC\r
+    00000D31 46                    2003        LD      B,(HL)\r
+    00000D32 23                    2004        INC     HL\r
+    00000D33 66                    2005        LD      H,(HL)\r
+    00000D34 68                    2006        LD      L,B\r
+    00000D35                       2007 ?0355:\r
+    00000D35 E5                    2008        PUSH    HL\r
+    00000D36 FD E1                 2009        POP     IY\r
+    00000D38                       2010 ?0149:\r
+    00000D38 7D                    2011        LD      A,L\r
+    00000D39 B4                    2012        OR      H\r
+    00000D3A 28 29                 2013        JR      Z,?0148\r
+    00000D3C                       2014 ?0150:\r
+    00000D3C DD 6E 0A              2015        LD      L,(IX+10)\r
+    00000D3F DD 66 0B              2016        LD      H,(IX+11)\r
+    00000D42 FD E5                 2017        PUSH    IY\r
+    00000D44 C1                    2018        POP     BC\r
+    00000D45 ED 42                 2019        SBC     HL,BC\r
+    00000D47 28 14                 2020        JR      Z,?0152\r
+    00000D49 FD CB 0A 5E           2021        BIT     3,(IY+10)\r
+    00000D4D 28 0E                 2022        JR      Z,?0152\r
+    00000D4F                       2023 ?0154:\r
+    00000D4F                       2024 ?0153:\r
+    00000D4F                       2025 ?0151:\r
+    00000D4F DD 6E 0A              2026        LD      L,(IX+10)\r
+    00000D52 DD 66 0B              2027        LD      H,(IX+11)\r
+    00000D55 E5                    2028        PUSH    HL\r
+    00000D56 01 03 02              2029        LD      BC,515\r
+    00000D59 CD 10 0E              2030        CALL    LWRD ?0476\r
+    00000D5C E1                    2031        POP     HL\r
+    00000D5D                       2032 ?0152:\r
+    00000D5D FD 6E 13              2033        LD      L,(IY+19)\r
+    00000D60 FD 66 14              2034        LD      H,(IY+20)\r
+    00000D63 18 D0                 2035        JR      ?0355\r
+    00000D65                       2036 ?0148:\r
+    00000D65 C3 FA 0D              2037        JP      LWRD ?0161\r
+    00000D68                       2038 ?0155:\r
+    00000D68 21 11 00              2039        LD      HL,17\r
+    00000D6B DD 4E 02              2040        LD      C,(IX+2)\r
+    00000D6E DD 46 03              2041        LD      B,(IX+3)\r
+    00000D71 09                    2042        ADD     HL,BC\r
+    00000D72 7E                    2043        LD      A,(HL)\r
+    00000D73 23                    2044        INC     HL\r
+    00000D74 B6                    2045        OR      (HL)\r
+    00000D75 20 0E                 2046        JR      NZ,?0157\r
+    00000D77                       2047 ?0156:\r
+    00000D77 21 08 00              2048        LD      HL,8\r
+    00000D7A ED 4B 00 00           2049        LD      BC,(global)\r
+    00000D7E 09                    2050        ADD     HL,BC\r
+    00000D7F 36 01                 2051        LD      (HL),1\r
+    00000D81 23                    2052        INC     HL\r
+    00000D82 77                    2053        LD      (HL),A\r
+    00000D83 18 75                 2054        JR      ?0161\r
+    00000D85                       2055 ?0157:\r
+    00000D85 21 0A 00              2056        LD      HL,10\r
+    00000D88 09                    2057        ADD     HL,BC\r
+    00000D89 23                    2058        INC     HL\r
+    00000D8A CB 6E                 2059        BIT     5,(HL)\r
+    00000D8C 20 28                 2060        JR      NZ,?0160\r
+    00000D8E                       2061 ?0159:\r
+    00000D8E DD 6E 0A              2062        LD      L,(IX+10)\r
+    00000D91 DD 66 0B              2063        LD      H,(IX+11)\r
+    00000D94 E5                    2064        PUSH    HL\r
+    00000D95 21 11 00              2065        LD      HL,17\r
+    00000D98 59                    2066        LD      E,C\r
+    00000D99 50                    2067        LD      D,B\r
+    00000D9A 19                    2068        ADD     HL,DE\r
+    00000D9B 5E                    2069        LD      E,(HL)\r
+    00000D9C 23                    2070        INC     HL\r
+    00000D9D 56                    2071        LD      D,(HL)\r
+    00000D9E 21 11 00              2072        LD      HL,17\r
+    00000DA1 09                    2073        ADD     HL,BC\r
+    00000DA2 46                    2074        LD      B,(HL)\r
+    00000DA3 23                    2075        INC     HL\r
+    00000DA4 66                    2076        LD      H,(HL)\r
+    00000DA5 68                    2077        LD      L,B\r
+    00000DA6 01 17 00              2078        LD      BC,23\r
+    00000DA9 09                    2079        ADD     HL,BC\r
+    00000DAA 4E                    2080        LD      C,(HL)\r
+    00000DAB 23                    2081        INC     HL\r
+    00000DAC 46                    2082        LD      B,(HL)\r
+    00000DAD 23                    2083        INC     HL\r
+    00000DAE 7E                    2084        LD      A,(HL)\r
+    00000DAF 69                    2085        LD      L,C\r
+    00000DB0 60                    2086        LD      H,B\r
+    00000DB1 01 01 05              2087        LD      BC,1281\r
+    00000DB4 18 40                 2088        JR      ?0356\r
+    00000DB6                       2089 ?0160:\r
+    00000DB6 21 11 00              2090        LD      HL,17\r
+    00000DB9 09                    2091        ADD     HL,BC\r
+    00000DBA 56                    2092        LD      D,(HL)\r
+    00000DBB 23                    2093        INC     HL\r
+    00000DBC 66                    2094        LD      H,(HL)\r
+    00000DBD 6A                    2095        LD      L,D\r
+    00000DBE E5                    2096        PUSH    HL\r
+    00000DBF FD E1                 2097        POP     IY\r
+    00000DC1 11 0A 00              2098        LD      DE,10\r
+    00000DC4 19                    2099        ADD     HL,DE\r
+    00000DC5 7E                    2100        LD      A,(HL)\r
+    00000DC6 F6 03                 2101        OR      3\r
+    00000DC8 77                    2102        LD      (HL),A\r
+    00000DC9 6A                    2103        LD      L,D\r
+    00000DCA 62                    2104        LD      H,D\r
+    00000DCB E5                    2105        PUSH    HL\r
+    00000DCC 23                    2106        INC     HL\r
+    00000DCD E5                    2107        PUSH    HL\r
+    00000DCE 4A                    2108        LD      C,D\r
+    00000DCF 42                    2109        LD      B,D\r
+    00000DD0 FD E5                 2110        PUSH    IY\r
+    00000DD2 D1                    2111        POP     DE\r
+    00000DD3 3E 45                 2112        LD      A,BYTE3 Component_changestate_children\r
+    00000DD5 21 45 0A              2113        LD      HL,LWRD Component_changestate_children\r
+    00000DD8 CD 00 00              2114        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000DDB E1                    2115        POP     HL\r
+    00000DDC E1                    2116        POP     HL\r
+    00000DDD 21 00 00              2117        LD      HL,0\r
+    00000DE0 E5                    2118        PUSH    HL\r
+    00000DE1 DD 5E 02              2119        LD      E,(IX+2)\r
+    00000DE4 4B                    2120        LD      C,E\r
+    00000DE5 DD 56 03              2121        LD      D,(IX+3)\r
+    00000DE8 42                    2122        LD      B,D\r
+    00000DE9 2E 17                 2123        LD      L,23\r
+    00000DEB 09                    2124        ADD     HL,BC\r
+    00000DEC 4E                    2125        LD      C,(HL)\r
+    00000DED 23                    2126        INC     HL\r
+    00000DEE 46                    2127        LD      B,(HL)\r
+    00000DEF 23                    2128        INC     HL\r
+    00000DF0 7E                    2129        LD      A,(HL)\r
+    00000DF1 69                    2130        LD      L,C\r
+    00000DF2 60                    2131        LD      H,B\r
+    00000DF3 01 05 01              2132        LD      BC,261\r
+    00000DF6                       2133 ?0356:\r
+    00000DF6 CD 00 00              2134        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000DF9 E1                    2135        POP     HL\r
+    00000DFA                       2136 ?0161:\r
+    00000DFA                       2137 ?0158:\r
+    00000DFA                       2138 ?0114:\r
+    00000DFA FD E1                 2139        POP     IY\r
+    00000DFC C3 00 00              2140        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00000DFF                       2141 ?0451:\r
+    00000DFF 09                    2142        ADD     HL,BC\r
+    00000E00                       2143 ?0450:\r
+    00000E00 4E                    2144        LD      C,(HL)\r
+    00000E01 23                    2145        INC     HL\r
+    00000E02 46                    2146        LD      B,(HL)\r
+    00000E03 23                    2147        INC     HL\r
+    00000E04 7E                    2148        LD      A,(HL)\r
+    00000E05 69                    2149        LD      L,C\r
+    00000E06 60                    2150        LD      H,B\r
+    00000E07 C3 00 00              2151        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000E0A                       2152 ?0475:\r
+    00000E0A DD 4E 04              2153        LD      C,(IX+4)\r
+    00000E0D DD 46 05              2154        LD      B,(IX+5)\r
+    00000E10                       2155 ?0476:\r
+    00000E10 FD E5                 2156        PUSH    IY\r
+    00000E12 D1                    2157        POP     DE\r
+    00000E13 FD 7E 19              2158        LD      A,(IY+25)\r
+    00000E16 FD 6E 17              2159        LD      L,(IY+23)\r
+    00000E19 FD 66 18              2160        LD      H,(IY+24)\r
+    00000E1C C3 00 00              2161        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000E1F                       2162 ?0478:\r
+    00000E1F 23                    2163        INC     HL\r
+    00000E20 23                    2164        INC     HL\r
+    00000E21                       2165 ?0479:\r
+    00000E21 4D                    2166        LD      C,L\r
+    00000E22 44                    2167        LD      B,H\r
+    00000E23 DD E5                 2168        PUSH    IX\r
+    00000E25 D1                    2169        POP     DE\r
+    00000E26                       2170 ?0477:\r
+    00000E26 3E D9                 2171        LD      A,BYTE3 Component_findXY\r
+    00000E28 21 D9 07              2172        LD      HL,LWRD Component_findXY\r
+    00000E2B C3 00 00              2173        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000E2E                       2174 Window_paint:\r
+    00000E2E C5                    2175        PUSH    BC\r
+    00000E2F DD E5                 2176        PUSH    IX\r
+    00000E31 F5                    2177        PUSH    AF\r
+    00000E32 F5                    2178        PUSH    AF\r
+    00000E33 D5                    2179        PUSH    DE\r
+    00000E34 DD E1                 2180        POP     IX\r
+    00000E36 21 02 00              2181        LD      HL,2\r
+    00000E39 39                    2182        ADD     HL,SP\r
+    00000E3A AF                    2183        XOR     A\r
+    00000E3B 77                    2184        LD      (HL),A\r
+    00000E3C 23                    2185        INC     HL\r
+    00000E3D 77                    2186        LD      (HL),A\r
+    00000E3E 2B                    2187        DEC     HL\r
+    00000E3F 2B                    2188        DEC     HL\r
+    00000E40 2B                    2189        DEC     HL\r
+    00000E41 77                    2190        LD      (HL),A\r
+    00000E42 23                    2191        INC     HL\r
+    00000E43 77                    2192        LD      (HL),A\r
+    00000E44 21 12 00              2193        LD      HL,18\r
+    00000E47 ED 4B 00 00           2194        LD      BC,(global)\r
+    00000E4B 09                    2195        ADD     HL,BC\r
+    00000E4C 7E                    2196        LD      A,(HL)\r
+    00000E4D 23                    2197        INC     HL\r
+    00000E4E 66                    2198        LD      H,(HL)\r
+    00000E4F 6F                    2199        LD      L,A\r
+    00000E50 46                    2200        LD      B,(HL)\r
+    00000E51 23                    2201        INC     HL\r
+    00000E52 66                    2202        LD      H,(HL)\r
+    00000E53 68                    2203        LD      L,B\r
+    00000E54 E5                    2204        PUSH    HL\r
+    00000E55 21 0E 00              2205        LD      HL,14\r
+    00000E58 19                    2206        ADD     HL,DE\r
+    00000E59 4E                    2207        LD      C,(HL)\r
+    00000E5A 23                    2208        INC     HL\r
+    00000E5B 46                    2209        LD      B,(HL)\r
+    00000E5C E1                    2210        POP     HL\r
+    00000E5D A7                    2211        AND     A\r
+    00000E5E ED 42                 2212        SBC     HL,BC\r
+    00000E60 28 03                 2213        JR      Z,?0163\r
+    00000E62                       2214 ?0162:\r
+    00000E62 CD 67 0F              2215        CALL    LWRD ?0449\r
+    00000E65                       2216 ?0163:\r
+    00000E65 DD CB 0A 46           2217        BIT     0,(IX+10)\r
+    00000E69 CA 5F 0F              2218        JP      Z,?0165\r
+    00000E6C                       2219 ?0164:\r
+    00000E6C 21 00 00              2220        LD      HL,0\r
+    00000E6F 39                    2221        ADD     HL,SP\r
+    00000E70 E5                    2222        PUSH    HL\r
+    00000E71 CD 1F 0E              2223        CALL    LWRD ?0478\r
+    00000E74 E1                    2224        POP     HL\r
+    00000E75 CD CF 07              2225        CALL    LWRD ?0486\r
+    00000E78 21 00 00              2226        LD      HL,0\r
+    00000E7B 39                    2227        ADD     HL,SP\r
+    00000E7C CD AB 0F              2228        CALL    LWRD ?0472\r
+    00000E7F CD 00 00              2229        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000E82 DD 6E 08              2230        LD      L,(IX+8)\r
+    00000E85 DD 66 09              2231        LD      H,(IX+9)\r
+    00000E88 E5                    2232        PUSH    HL\r
+    00000E89 DD 6E 06              2233        LD      L,(IX+6)\r
+    00000E8C DD 66 07              2234        LD      H,(IX+7)\r
+    00000E8F E5                    2235        PUSH    HL\r
+    00000E90 21 04 00              2236        LD      HL,4\r
+    00000E93 39                    2237        ADD     HL,SP\r
+    00000E94 4E                    2238        LD      C,(HL)\r
+    00000E95 23                    2239        INC     HL\r
+    00000E96 46                    2240        LD      B,(HL)\r
+    00000E97 C5                    2241        PUSH    BC\r
+    00000E98 23                    2242        INC     HL\r
+    00000E99 4E                    2243        LD      C,(HL)\r
+    00000E9A 23                    2244        INC     HL\r
+    00000E9B 46                    2245        LD      B,(HL)\r
+    00000E9C 11 00 00              2246        LD      DE,0\r
+    00000E9F CD 8D 03              2247        CALL    LWRD ?0484\r
+    00000EA2 E1                    2248        POP     HL\r
+    00000EA3 E1                    2249        POP     HL\r
+    00000EA4 E1                    2250        POP     HL\r
+    00000EA5 DD 5E 20              2251        LD      E,(IX+32)\r
+    00000EA8 DD 56 21              2252        LD      D,(IX+33)\r
+    00000EAB CD 7B 0F              2253        CALL    LWRD ?0461\r
+    00000EAE E5                    2254        PUSH    HL\r
+    00000EAF 21 02 00              2255        LD      HL,2\r
+    00000EB2 39                    2256        ADD     HL,SP\r
+    00000EB3 4E                    2257        LD      C,(HL)\r
+    00000EB4 23                    2258        INC     HL\r
+    00000EB5 46                    2259        LD      B,(HL)\r
+    00000EB6 E1                    2260        POP     HL\r
+    00000EB7 09                    2261        ADD     HL,BC\r
+    00000EB8 01 04 00              2262        LD      BC,4\r
+    00000EBB 09                    2263        ADD     HL,BC\r
+    00000EBC 4D                    2264        LD      C,L\r
+    00000EBD 44                    2265        LD      B,H\r
+    00000EBE 21 02 00              2266        LD      HL,2\r
+    00000EC1 39                    2267        ADD     HL,SP\r
+    00000EC2 5E                    2268        LD      E,(HL)\r
+    00000EC3 23                    2269        INC     HL\r
+    00000EC4 56                    2270        LD      D,(HL)\r
+    00000EC5 3E 5E                 2271        LD      A,BYTE3 Move\r
+    00000EC7 21 5E 01              2272        LD      HL,LWRD Move\r
+    00000ECA CD 00 00              2273        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000ECD DD 5E 20              2274        LD      E,(IX+32)\r
+    00000ED0 DD 56 21              2275        LD      D,(IX+33)\r
+    00000ED3 21 12 00              2276        LD      HL,18\r
+    00000ED6 ED 4B 00 00           2277        LD      BC,(global)\r
+    00000EDA 09                    2278        ADD     HL,BC\r
+    00000EDB 7E                    2279        LD      A,(HL)\r
+    00000EDC 23                    2280        INC     HL\r
+    00000EDD 66                    2281        LD      H,(HL)\r
+    00000EDE 6F                    2282        LD      L,A\r
+    00000EDF 01 05 00              2283        LD      BC,5\r
+    00000EE2 09                    2284        ADD     HL,BC\r
+    00000EE3 4E                    2285        LD      C,(HL)\r
+    00000EE4 23                    2286        INC     HL\r
+    00000EE5 46                    2287        LD      B,(HL)\r
+    00000EE6 23                    2288        INC     HL\r
+    00000EE7 7E                    2289        LD      A,(HL)\r
+    00000EE8 69                    2290        LD      L,C\r
+    00000EE9 60                    2291        LD      H,B\r
+    00000EEA CD BC 04              2292        CALL    LWRD ?0459\r
+    00000EED DD 6E 08              2293        LD      L,(IX+8)\r
+    00000EF0 DD 66 09              2294        LD      H,(IX+9)\r
+    00000EF3 A7                    2295        AND     A\r
+    00000EF4 ED 42                 2296        SBC     HL,BC\r
+    00000EF6 01 FC FF              2297        LD      BC,65532\r
+    00000EF9 09                    2298        ADD     HL,BC\r
+    00000EFA 4D                    2299        LD      C,L\r
+    00000EFB 44                    2300        LD      B,H\r
+    00000EFC DD 5E 06              2301        LD      E,(IX+6)\r
+    00000EFF DD 56 07              2302        LD      D,(IX+7)\r
+    00000F02 3E D9                 2303        LD      A,BYTE3 DrawRectNC\r
+    00000F04 21 D9 01              2304        LD      HL,LWRD DrawRectNC\r
+    00000F07 CD 00 00              2305        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F0A 21 00 00              2306        LD      HL,0\r
+    00000F0D 39                    2307        ADD     HL,SP\r
+    00000F0E 4E                    2308        LD      C,(HL)\r
+    00000F0F 23                    2309        INC     HL\r
+    00000F10 46                    2310        LD      B,(HL)\r
+    00000F11 23                    2311        INC     HL\r
+    00000F12 5E                    2312        LD      E,(HL)\r
+    00000F13 23                    2313        INC     HL\r
+    00000F14 56                    2314        LD      D,(HL)\r
+    00000F15 3E 5E                 2315        LD      A,BYTE3 Move\r
+    00000F17 21 5E 01              2316        LD      HL,LWRD Move\r
+    00000F1A CD 95 0F              2317        CALL    LWRD ?0470\r
+    00000F1D CD 87 0F              2318        CALL    LWRD ?0462\r
+    00000F20 01 05 00              2319        LD      BC,5\r
+    00000F23 09                    2320        ADD     HL,BC\r
+    00000F24 4D                    2321        LD      C,L\r
+    00000F25 44                    2322        LD      B,H\r
+    00000F26 DD 5E 06              2323        LD      E,(IX+6)\r
+    00000F29 DD 56 07              2324        LD      D,(IX+7)\r
+    00000F2C 3E 18                 2325        LD      A,BYTE3 FillRect\r
+    00000F2E 21 18 02              2326        LD      HL,LWRD FillRect\r
+    00000F31 CD 00 00              2327        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F34 21 00 00              2328        LD      HL,0\r
+    00000F37 39                    2329        ADD     HL,SP\r
+    00000F38 4E                    2330        LD      C,(HL)\r
+    00000F39 23                    2331        INC     HL\r
+    00000F3A 46                    2332        LD      B,(HL)\r
+    00000F3B 03                    2333        INC     BC\r
+    00000F3C 03                    2334        INC     BC\r
+    00000F3D 23                    2335        INC     HL\r
+    00000F3E 5E                    2336        LD      E,(HL)\r
+    00000F3F 23                    2337        INC     HL\r
+    00000F40 56                    2338        LD      D,(HL)\r
+    00000F41 13                    2339        INC     DE\r
+    00000F42 13                    2340        INC     DE\r
+    00000F43 3E 5E                 2341        LD      A,BYTE3 Move\r
+    00000F45 21 5E 01              2342        LD      HL,LWRD Move\r
+    00000F48 CD 00 00              2343        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F4B DD 5E 20              2344        LD      E,(IX+32)\r
+    00000F4E DD 56 21              2345        LD      D,(IX+33)\r
+    00000F51 CD 31 01              2346        CALL    LWRD ?0452\r
+    00000F54 DD E5                 2347        PUSH    IX\r
+    00000F56 D1                    2348        POP     DE\r
+    00000F57 3E 93                 2349        LD      A,BYTE3 Component_paint\r
+    00000F59 21 93 07              2350        LD      HL,LWRD Component_paint\r
+    00000F5C CD 00 00              2351        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F5F                       2352 ?0165:\r
+    00000F5F E1                    2353        POP     HL\r
+    00000F60 E1                    2354        POP     HL\r
+    00000F61 DD E1                 2355        POP     IX\r
+    00000F63 C1                    2356        POP     BC\r
+    00000F64 C3 00 00              2357        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00000F67                       2358 ?0449:\r
+    00000F67 DD 5E 0E              2359        LD      E,(IX+14)\r
+    00000F6A DD 56 0F              2360        LD      D,(IX+15)\r
+    00000F6D 3E 40                 2361        LD      A,BYTE3 setCurrentFont\r
+    00000F6F 21 40 04              2362        LD      HL,LWRD setCurrentFont\r
+    00000F72 C3 00 00              2363        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F75                       2364 ?0463:\r
+    00000F75 FD 5E 20              2365        LD      E,(IY+32)\r
+    00000F78 FD 56 21              2366        LD      D,(IY+33)\r
+    00000F7B                       2367 ?0461:\r
+    00000F7B 21 12 00              2368        LD      HL,18\r
+    00000F7E ED 4B 00 00           2369        LD      BC,(global)\r
+    00000F82 09                    2370        ADD     HL,BC\r
+    00000F83 7E                    2371        LD      A,(HL)\r
+    00000F84 23                    2372        INC     HL\r
+    00000F85 66                    2373        LD      H,(HL)\r
+    00000F86 6F                    2374        LD      L,A\r
+    00000F87                       2375 ?0462:\r
+    00000F87 01 05 00              2376        LD      BC,5\r
+    00000F8A 09                    2377        ADD     HL,BC\r
+    00000F8B 4E                    2378        LD      C,(HL)\r
+    00000F8C 23                    2379        INC     HL\r
+    00000F8D 46                    2380        LD      B,(HL)\r
+    00000F8E 23                    2381        INC     HL\r
+    00000F8F 7E                    2382        LD      A,(HL)\r
+    00000F90 69                    2383        LD      L,C\r
+    00000F91 60                    2384        LD      H,B\r
+    00000F92 C3 00 00              2385        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F95                       2386 ?0470:\r
+    00000F95 CD 00 00              2387        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000F98 DD 5E 20              2388        LD      E,(IX+32)\r
+    00000F9B DD 56 21              2389        LD      D,(IX+33)\r
+    00000F9E 21 12 00              2390        LD      HL,18\r
+    00000FA1 ED 4B 00 00           2391        LD      BC,(global)\r
+    00000FA5 09                    2392        ADD     HL,BC\r
+    00000FA6 46                    2393        LD      B,(HL)\r
+    00000FA7 23                    2394        INC     HL\r
+    00000FA8 66                    2395        LD      H,(HL)\r
+    00000FA9 68                    2396        LD      L,B\r
+    00000FAA C9                    2397        RET\r
+    00000FAB                       2398 ?0472:\r
+    00000FAB 4E                    2399        LD      C,(HL)\r
+    00000FAC 23                    2400        INC     HL\r
+    00000FAD 46                    2401        LD      B,(HL)\r
+    00000FAE 23                    2402        INC     HL\r
+    00000FAF                       2403 ?0473:\r
+    00000FAF 5E                    2404        LD      E,(HL)\r
+    00000FB0 23                    2405        INC     HL\r
+    00000FB1 56                    2406        LD      D,(HL)\r
+    00000FB2 3E 5E                 2407        LD      A,BYTE3 Move\r
+    00000FB4 21 5E 01              2408        LD      HL,LWRD Move\r
+    00000FB7 CD 00 00              2409        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000FBA DD 4E 08              2410        LD      C,(IX+8)\r
+    00000FBD DD 46 09              2411        LD      B,(IX+9)\r
+    00000FC0 DD 5E 06              2412        LD      E,(IX+6)\r
+    00000FC3 DD 56 07              2413        LD      D,(IX+7)\r
+    00000FC6 3E 99                 2414        LD      A,BYTE3 ClearRect\r
+    00000FC8 21 99 01              2415        LD      HL,LWRD ClearRect\r
+    00000FCB C9                    2416        RET\r
+    00000FCC                       2417 Root_paint:\r
+    00000FCC CD 00 00              2418        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00000FCF CD CF 07              2419        CALL    LWRD ?0486\r
+    00000FD2 CD 72 03              2420        CALL    LWRD ?0474\r
+    00000FD5 CD 00 00              2421        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000FD8 01 80 00              2422        LD      BC,128\r
+    00000FDB 58                    2423        LD      E,B\r
+    00000FDC 50                    2424        LD      D,B\r
+    00000FDD 3E 9C                 2425        LD      A,BYTE3 GrayRect\r
+    00000FDF 21 9C 02              2426        LD      HL,LWRD GrayRect\r
+    00000FE2 CD 00 00              2427        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00000FE5 21 80 00              2428        LD      HL,128\r
+    00000FE8 E5                    2429        PUSH    HL\r
+    00000FE9 6C                    2430        LD      L,H\r
+    00000FEA E5                    2431        PUSH    HL\r
+    00000FEB E5                    2432        PUSH    HL\r
+    00000FEC CD 8A 03              2433        CALL    LWRD ?0483\r
+    00000FEF E1                    2434        POP     HL\r
+    00000FF0 E1                    2435        POP     HL\r
+    00000FF1 E1                    2436        POP     HL\r
+    00000FF2 DD 5E 02              2437        LD      E,(IX+2)\r
+    00000FF5 DD 56 03              2438        LD      D,(IX+3)\r
+    00000FF8 3E 93                 2439        LD      A,BYTE3 Component_paint\r
+    00000FFA 21 93 07              2440        LD      HL,LWRD Component_paint\r
+    00000FFD CD 00 00              2441        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001000 C3 00 00              2442        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00001003                       2443 Window_add:\r
+    00001003 CD 00 00              2444        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00001006 3E 35                 2445        LD      A,BYTE3 Component_add\r
+    00001008 21 35 07              2446        LD      HL,LWRD Component_add\r
+    0000100B CD 00 00              2447        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000100E C3 00 00              2448        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00001011                       2449 Window_new:\r
+    00001011 CD 00 00              2450        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00001014 00 00                 2451        DEFW    0\r
+    00001016 FD E5                 2452        PUSH    IY\r
+    00001018 DD 6E 0C              2453        LD      L,(IX+12)\r
+    0000101B DD 66 0D              2454        LD      H,(IX+13)\r
+    0000101E E5                    2455        PUSH    HL\r
+    0000101F DD 6E 0A              2456        LD      L,(IX+10)\r
+    00001022 DD 66 0B              2457        LD      H,(IX+11)\r
+    00001025 E5                    2458        PUSH    HL\r
+    00001026 DD 5E 02              2459        LD      E,(IX+2)\r
+    00001029 DD 56 03              2460        LD      D,(IX+3)\r
+    0000102C 3E 3E                 2461        LD      A,BYTE3 Component_new\r
+    0000102E 21 3E 06              2462        LD      HL,LWRD Component_new\r
+    00001031 CD 00 00              2463        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001034 F1                    2464        POP     AF\r
+    00001035 F1                    2465        POP     AF\r
+    00001036 E5                    2466        PUSH    HL\r
+    00001037 FD E1                 2467        POP     IY\r
+    00001039 01 17 00              2468        LD      BC,23\r
+    0000103C 09                    2469        ADD     HL,BC\r
+    0000103D 36 61                 2470        LD      (HL),LOW(Window_handler)\r
+    0000103F 23                    2471        INC     HL\r
+    00001040 36 0B                 2472        LD      (HL),HIGH(Window_handler)\r
+    00001042 23                    2473        INC     HL\r
+    00001043 36 61                 2474        LD      (HL),BYTE3 Window_handler\r
+    00001045 FD 36 1A 2E           2475        LD      (IY+26),LOW(Window_paint)\r
+    00001049 FD 36 1B 0E           2476        LD      (IY+27),HIGH(Window_paint)\r
+    0000104D FD 36 1C 2E           2477        LD      (IY+28),BYTE3 Window_paint\r
+    00001051 FD 36 1D 03           2478        LD      (IY+29),LOW(Window_add)\r
+    00001055 FD 36 1E 10           2479        LD      (IY+30),HIGH(Window_add)\r
+    00001059 FD 36 1F 03           2480        LD      (IY+31),BYTE3 Window_add\r
+    0000105D C3 E0 06              2481        JP      LWRD ?0422\r
+    00001060                       2482 Button_handler:\r
+    00001060 CD 00 00              2483        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00001063 FD E5                 2484        PUSH    IY\r
+    00001065 D5                    2485        PUSH    DE\r
+    00001066 FD E1                 2486        POP     IY\r
+    00001068 DD 6E 0A              2487        LD      L,(IX+10)\r
+    0000106B DD 66 0B              2488        LD      H,(IX+11)\r
+    0000106E E5                    2489        PUSH    HL\r
+    0000106F 3E 61                 2490        LD      A,BYTE3 Window_handler\r
+    00001071 21 61 0B              2491        LD      HL,LWRD Window_handler\r
+    00001074 CD 00 00              2492        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001077 E1                    2493        POP     HL\r
+    00001078 3E 03                 2494        LD      A,3\r
+    0000107A DD AE 04              2495        XOR     (IX+4)\r
+    0000107D DD B6 05              2496        OR      (IX+5)\r
+    00001080 20 3E                 2497        JR      NZ,?0171\r
+    00001082 FD 4E 10              2498        LD      C,(IY+16)\r
+    00001085 47                    2499        LD      B,A\r
+    00001086 DD 6E 0A              2500        LD      L,(IX+10)\r
+    00001089 DD 66 0B              2501        LD      H,(IX+11)\r
+    0000108C ED 42                 2502        SBC     HL,BC\r
+    0000108E 20 30                 2503        JR      NZ,?0171\r
+    00001090 FD 7E 0A              2504        LD      A,(IY+10)\r
+    00001093 E6 03                 2505        AND     3\r
+    00001095 28 29                 2506        JR      Z,?0171\r
+    00001097                       2507 ?0169:\r
+    00001097                       2508 ?0168:\r
+    00001097                       2509 ?0166:\r
+    00001097 DD 6E 0A              2510        LD      L,(IX+10)\r
+    0000109A DD 66 0B              2511        LD      H,(IX+11)\r
+    0000109D E5                    2512        PUSH    HL\r
+    0000109E FD 5E 11              2513        LD      E,(IY+17)\r
+    000010A1 FD 56 12              2514        LD      D,(IY+18)\r
+    000010A4 FD 6E 11              2515        LD      L,(IY+17)\r
+    000010A7 FD 66 12              2516        LD      H,(IY+18)\r
+    000010AA 0E 17                 2517        LD      C,23\r
+    000010AC CD ED 10              2518        CALL    LWRD ?0480\r
+    000010AF E1                    2519        POP     HL\r
+    000010B0 FD CB 0A 66           2520        BIT     4,(IY+10)\r
+    000010B4 28 0A                 2521        JR      Z,?0171\r
+    000010B6                       2522 ?0170:\r
+    000010B6 FD 4E 10              2523        LD      C,(IY+16)\r
+    000010B9 06 00                 2524        LD      B,0\r
+    000010BB C5                    2525        PUSH    BC\r
+    000010BC CD FB 10              2526        CALL    LWRD ?0482\r
+    000010BF E1                    2527        POP     HL\r
+    000010C0                       2528 ?0171:\r
+    000010C0                       2529 ?0167:\r
+    000010C0 21 01 02              2530        LD      HL,513\r
+    000010C3 DD 4E 04              2531        LD      C,(IX+4)\r
+    000010C6 DD 46 05              2532        LD      B,(IX+5)\r
+    000010C9 A7                    2533        AND     A\r
+    000010CA ED 42                 2534        SBC     HL,BC\r
+    000010CC 20 0B                 2535        JR      NZ,?0173\r
+    000010CE                       2536 ?0172:\r
+    000010CE DD 6E 0A              2537        LD      L,(IX+10)\r
+    000010D1 DD 66 0B              2538        LD      H,(IX+11)\r
+    000010D4 E5                    2539        PUSH    HL\r
+    000010D5 CD DE 10              2540        CALL    LWRD ?0481\r
+    000010D8 E1                    2541        POP     HL\r
+    000010D9                       2542 ?0173:\r
+    000010D9 FD E1                 2543        POP     IY\r
+    000010DB C3 00 00              2544        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000010DE                       2545 ?0481:\r
+    000010DE FD 5E 11              2546        LD      E,(IY+17)\r
+    000010E1 FD 56 12              2547        LD      D,(IY+18)\r
+    000010E4 FD 6E 11              2548        LD      L,(IY+17)\r
+    000010E7 FD 66 12              2549        LD      H,(IY+18)\r
+    000010EA 01 17 00              2550        LD      BC,23\r
+    000010ED                       2551 ?0480:\r
+    000010ED 09                    2552        ADD     HL,BC\r
+    000010EE 4E                    2553        LD      C,(HL)\r
+    000010EF 23                    2554        INC     HL\r
+    000010F0 46                    2555        LD      B,(HL)\r
+    000010F1 23                    2556        INC     HL\r
+    000010F2 7E                    2557        LD      A,(HL)\r
+    000010F3 69                    2558        LD      L,C\r
+    000010F4 60                    2559        LD      H,B\r
+    000010F5 01 01 02              2560        LD      BC,513\r
+    000010F8 C3 00 00              2561        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000010FB                       2562 ?0482:\r
+    000010FB FD 5E 11              2563        LD      E,(IY+17)\r
+    000010FE FD 56 12              2564        LD      D,(IY+18)\r
+    00001101 FD 6E 11              2565        LD      L,(IY+17)\r
+    00001104 FD 66 12              2566        LD      H,(IY+18)\r
+    00001107 0E 17                 2567        LD      C,23\r
+    00001109 09                    2568        ADD     HL,BC\r
+    0000110A 4E                    2569        LD      C,(HL)\r
+    0000110B 23                    2570        INC     HL\r
+    0000110C 46                    2571        LD      B,(HL)\r
+    0000110D 23                    2572        INC     HL\r
+    0000110E 7E                    2573        LD      A,(HL)\r
+    0000110F 69                    2574        LD      L,C\r
+    00001110 60                    2575        LD      H,B\r
+    00001111 01 04 01              2576        LD      BC,260\r
+    00001114 C3 00 00              2577        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00001117                       2578 Button_drawtext:\r
+    00001117 CD 00 00              2579        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    0000111A FD E5                 2580        PUSH    IY\r
+    0000111C D5                    2581        PUSH    DE\r
+    0000111D FD E1                 2582        POP     IY\r
+    0000111F 21 0A 00              2583        LD      HL,10\r
+    00001122 19                    2584        ADD     HL,DE\r
+    00001123 CB 76                 2585        BIT     6,(HL)\r
+    00001125 28 53                 2586        JR      Z,?0175\r
+    00001127                       2587 ?0174:\r
+    00001127 FD 5E 08              2588        LD      E,(IY+8)\r
+    0000112A FD 56 09              2589        LD      D,(IY+9)\r
+    0000112D 01 02 00              2590        LD      BC,2\r
+    00001130 CD 00 00              2591        CALL    LWRD ?SS_DIV_L02\r
+    00001133 DD 6E 0A              2592        LD      L,(IX+10)\r
+    00001136 DD 66 0B              2593        LD      H,(IX+11)\r
+    00001139 19                    2594        ADD     HL,DE\r
+    0000113A E5                    2595        PUSH    HL\r
+    0000113B FD 5E 20              2596        LD      E,(IY+32)\r
+    0000113E FD 56 21              2597        LD      D,(IY+33)\r
+    00001141 21 12 00              2598        LD      HL,18\r
+    00001144 ED 4B 00 00           2599        LD      BC,(global)\r
+    00001148 09                    2600        ADD     HL,BC\r
+    00001149 7E                    2601        LD      A,(HL)\r
+    0000114A 23                    2602        INC     HL\r
+    0000114B 66                    2603        LD      H,(HL)\r
+    0000114C 6F                    2604        LD      L,A\r
+    0000114D CD 85 04              2605        CALL    LWRD ?0453\r
+    00001150 C1                    2606        POP     BC\r
+    00001151 CD 00 00              2607        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001154 FD 5E 20              2608        LD      E,(IY+32)\r
+    00001157 FD 56 21              2609        LD      D,(IY+33)\r
+    0000115A CD 31 01              2610        CALL    LWRD ?0452\r
+    0000115D CD 75 0F              2611        CALL    LWRD ?0463\r
+    00001160 29                    2612        ADD     HL,HL\r
+    00001161 CD A1 11              2613        CALL    LWRD ?0489\r
+    00001164 C5                    2614        PUSH    BC\r
+    00001165 FD 5E 22              2615        LD      E,(IY+34)\r
+    00001168 FD 56 23              2616        LD      D,(IY+35)\r
+    0000116B CD 79 04              2617        CALL    LWRD ?0454\r
+    0000116E C1                    2618        POP     BC\r
+    0000116F CD 00 00              2619        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001172 FD 5E 22              2620        LD      E,(IY+34)\r
+    00001175 FD 56 23              2621        LD      D,(IY+35)\r
+    00001178 18 1A                 2622        JR      ?0360\r
+    0000117A                       2623 ?0175:\r
+    0000117A CD 75 0F              2624        CALL    LWRD ?0463\r
+    0000117D CD A1 11              2625        CALL    LWRD ?0489\r
+    00001180 C5                    2626        PUSH    BC\r
+    00001181 FD 5E 20              2627        LD      E,(IY+32)\r
+    00001184 FD 56 21              2628        LD      D,(IY+33)\r
+    00001187 CD 79 04              2629        CALL    LWRD ?0454\r
+    0000118A C1                    2630        POP     BC\r
+    0000118B CD 00 00              2631        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000118E FD 5E 20              2632        LD      E,(IY+32)\r
+    00001191 FD 56 21              2633        LD      D,(IY+33)\r
+    00001194                       2634 ?0360:\r
+    00001194 3E DE                 2635        LD      A,BYTE3 Text\r
+    00001196 21 DE 02              2636        LD      HL,LWRD Text\r
+    00001199                       2637 ?0431:\r
+    00001199 CD 00 00              2638        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000119C                       2639 ?0176:\r
+    0000119C FD E1                 2640        POP     IY\r
+    0000119E C3 00 00              2641        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000011A1                       2642 ?0489:\r
+    000011A1 FD 4E 08              2643        LD      C,(IY+8)\r
+    000011A4 FD 46 09              2644        LD      B,(IY+9)\r
+    000011A7 09                    2645        ADD     HL,BC\r
+    000011A8 EB                    2646        EX      DE,HL\r
+    000011A9 01 02 00              2647        LD      BC,2\r
+    000011AC CD 00 00              2648        CALL    LWRD ?SS_DIV_L02\r
+    000011AF DD 6E 0A              2649        LD      L,(IX+10)\r
+    000011B2 DD 66 0B              2650        LD      H,(IX+11)\r
+    000011B5 19                    2651        ADD     HL,DE\r
+    000011B6 4D                    2652        LD      C,L\r
+    000011B7 44                    2653        LD      B,H\r
+    000011B8 03                    2654        INC     BC\r
+    000011B9 C9                    2655        RET\r
+    000011BA                       2656 Button_paint:\r
+    000011BA C5                    2657        PUSH    BC\r
+    000011BB DD E5                 2658        PUSH    IX\r
+    000011BD F5                    2659        PUSH    AF\r
+    000011BE F5                    2660        PUSH    AF\r
+    000011BF D5                    2661        PUSH    DE\r
+    000011C0 DD E1                 2662        POP     IX\r
+    000011C2 21 02 00              2663        LD      HL,2\r
+    000011C5 39                    2664        ADD     HL,SP\r
+    000011C6 AF                    2665        XOR     A\r
+    000011C7 77                    2666        LD      (HL),A\r
+    000011C8 23                    2667        INC     HL\r
+    000011C9 77                    2668        LD      (HL),A\r
+    000011CA 2B                    2669        DEC     HL\r
+    000011CB 2B                    2670        DEC     HL\r
+    000011CC 2B                    2671        DEC     HL\r
+    000011CD 77                    2672        LD      (HL),A\r
+    000011CE 23                    2673        INC     HL\r
+    000011CF 77                    2674        LD      (HL),A\r
+    000011D0 21 12 00              2675        LD      HL,18\r
+    000011D3 ED 4B 00 00           2676        LD      BC,(global)\r
+    000011D7 09                    2677        ADD     HL,BC\r
+    000011D8 7E                    2678        LD      A,(HL)\r
+    000011D9 23                    2679        INC     HL\r
+    000011DA 66                    2680        LD      H,(HL)\r
+    000011DB 6F                    2681        LD      L,A\r
+    000011DC 46                    2682        LD      B,(HL)\r
+    000011DD 23                    2683        INC     HL\r
+    000011DE 66                    2684        LD      H,(HL)\r
+    000011DF 68                    2685        LD      L,B\r
+    000011E0 E5                    2686        PUSH    HL\r
+    000011E1 21 0E 00              2687        LD      HL,14\r
+    000011E4 19                    2688        ADD     HL,DE\r
+    000011E5 4E                    2689        LD      C,(HL)\r
+    000011E6 23                    2690        INC     HL\r
+    000011E7 46                    2691        LD      B,(HL)\r
+    000011E8 E1                    2692        POP     HL\r
+    000011E9 A7                    2693        AND     A\r
+    000011EA ED 42                 2694        SBC     HL,BC\r
+    000011EC 28 03                 2695        JR      Z,?0178\r
+    000011EE                       2696 ?0177:\r
+    000011EE CD 67 0F              2697        CALL    LWRD ?0449\r
+    000011F1                       2698 ?0178:\r
+    000011F1 DD CB 0A 46           2699        BIT     0,(IX+10)\r
+    000011F5 CA 8A 12              2700        JP      Z,?0180\r
+    000011F8                       2701 ?0179:\r
+    000011F8 21 00 00              2702        LD      HL,0\r
+    000011FB 39                    2703        ADD     HL,SP\r
+    000011FC E5                    2704        PUSH    HL\r
+    000011FD CD 1F 0E              2705        CALL    LWRD ?0478\r
+    00001200 E1                    2706        POP     HL\r
+    00001201 21 00 00              2707        LD      HL,0\r
+    00001204 39                    2708        ADD     HL,SP\r
+    00001205 CD AB 0F              2709        CALL    LWRD ?0472\r
+    00001208 CD 00 00              2710        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000120B DD 6E 08              2711        LD      L,(IX+8)\r
+    0000120E DD 66 09              2712        LD      H,(IX+9)\r
+    00001211 E5                    2713        PUSH    HL\r
+    00001212 DD 6E 06              2714        LD      L,(IX+6)\r
+    00001215 DD 66 07              2715        LD      H,(IX+7)\r
+    00001218 E5                    2716        PUSH    HL\r
+    00001219 21 04 00              2717        LD      HL,4\r
+    0000121C 39                    2718        ADD     HL,SP\r
+    0000121D 4E                    2719        LD      C,(HL)\r
+    0000121E 23                    2720        INC     HL\r
+    0000121F 46                    2721        LD      B,(HL)\r
+    00001220 C5                    2722        PUSH    BC\r
+    00001221 23                    2723        INC     HL\r
+    00001222 4E                    2724        LD      C,(HL)\r
+    00001223 23                    2725        INC     HL\r
+    00001224 46                    2726        LD      B,(HL)\r
+    00001225 DD CB 0A 4E           2727        BIT     1,(IX+10)\r
+    00001229 28 07                 2728        JR      Z,?0182\r
+    0000122B DD 5E 10              2729        LD      E,(IX+16)\r
+    0000122E 16 00                 2730        LD      D,0\r
+    00001230 18 03                 2731        JR      ?0183\r
+    00001232                       2732 ?0182:\r
+    00001232 11 00 00              2733        LD      DE,0\r
+    00001235                       2734 ?0183:\r
+    00001235 CD 8D 03              2735        CALL    LWRD ?0484\r
+    00001238 E1                    2736        POP     HL\r
+    00001239 E1                    2737        POP     HL\r
+    0000123A E1                    2738        POP     HL\r
+    0000123B DD 7E 0A              2739        LD      A,(IX+10)\r
+    0000123E E6 82                 2740        AND     130\r
+    00001240 28 1C                 2741        JR      Z,?0185\r
+    00001242 DD 7E 0A              2742        LD      A,(IX+10)\r
+    00001245 E6 82                 2743        AND     130\r
+    00001247 EE 82                 2744        XOR     130\r
+    00001249 28 13                 2745        JR      Z,?0185\r
+    0000124B                       2746 ?0187:\r
+    0000124B                       2747 ?0186:\r
+    0000124B                       2748 ?0184:\r
+    0000124B DD 4E 08              2749        LD      C,(IX+8)\r
+    0000124E DD 46 09              2750        LD      B,(IX+9)\r
+    00001251 DD 5E 06              2751        LD      E,(IX+6)\r
+    00001254 DD 56 07              2752        LD      D,(IX+7)\r
+    00001257 3E 5A                 2753        LD      A,BYTE3 FillRectNC\r
+    00001259 21 5A 02              2754        LD      HL,LWRD FillRectNC\r
+    0000125C 18 11                 2755        JR      ?0363\r
+    0000125E                       2756 ?0185:\r
+    0000125E DD 4E 08              2757        LD      C,(IX+8)\r
+    00001261 DD 46 09              2758        LD      B,(IX+9)\r
+    00001264 DD 5E 06              2759        LD      E,(IX+6)\r
+    00001267 DD 56 07              2760        LD      D,(IX+7)\r
+    0000126A 3E D9                 2761        LD      A,BYTE3 DrawRectNC\r
+    0000126C 21 D9 01              2762        LD      HL,LWRD DrawRectNC\r
+    0000126F                       2763 ?0363:\r
+    0000126F CD 00 00              2764        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001272                       2765 ?0188:\r
+    00001272 21 00 00              2766        LD      HL,0\r
+    00001275 39                    2767        ADD     HL,SP\r
+    00001276 4E                    2768        LD      C,(HL)\r
+    00001277 23                    2769        INC     HL\r
+    00001278 46                    2770        LD      B,(HL)\r
+    00001279 C5                    2771        PUSH    BC\r
+    0000127A 23                    2772        INC     HL\r
+    0000127B 4E                    2773        LD      C,(HL)\r
+    0000127C 23                    2774        INC     HL\r
+    0000127D 46                    2775        LD      B,(HL)\r
+    0000127E DD E5                 2776        PUSH    IX\r
+    00001280 D1                    2777        POP     DE\r
+    00001281 3E 17                 2778        LD      A,BYTE3 Button_drawtext\r
+    00001283 21 17 11              2779        LD      HL,LWRD Button_drawtext\r
+    00001286 CD 00 00              2780        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001289 E1                    2781        POP     HL\r
+    0000128A                       2782 ?0180:\r
+    0000128A C3 5F 0F              2783        JP      LWRD ?0165\r
+    0000128D                       2784 Button_add:\r
+    0000128D CD 00 00              2785        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00001290 C3 00 00              2786        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00001293                       2787 Button_new:\r
+    00001293 CD 00 00              2788        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00001296 00 00                 2789        DEFW    0\r
+    00001298 FD E5                 2790        PUSH    IY\r
+    0000129A DD 6E 0C              2791        LD      L,(IX+12)\r
+    0000129D DD 66 0D              2792        LD      H,(IX+13)\r
+    000012A0 E5                    2793        PUSH    HL\r
+    000012A1 DD 6E 0A              2794        LD      L,(IX+10)\r
+    000012A4 DD 66 0B              2795        LD      H,(IX+11)\r
+    000012A7 E5                    2796        PUSH    HL\r
+    000012A8 DD 5E 02              2797        LD      E,(IX+2)\r
+    000012AB DD 56 03              2798        LD      D,(IX+3)\r
+    000012AE 3E 3E                 2799        LD      A,BYTE3 Component_new\r
+    000012B0 21 3E 06              2800        LD      HL,LWRD Component_new\r
+    000012B3 CD 00 00              2801        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000012B6 F1                    2802        POP     AF\r
+    000012B7 F1                    2803        POP     AF\r
+    000012B8 E5                    2804        PUSH    HL\r
+    000012B9 FD E1                 2805        POP     IY\r
+    000012BB 01 0A 00              2806        LD      BC,10\r
+    000012BE 09                    2807        ADD     HL,BC\r
+    000012BF 7E                    2808        LD      A,(HL)\r
+    000012C0 F6 03                 2809        OR      3\r
+    000012C2 77                    2810        LD      (HL),A\r
+    000012C3 DD 46 0E              2811        LD      B,(IX+14)\r
+    000012C6 FD 70 10              2812        LD      (IY+16),B\r
+    000012C9 FD 36 17 60           2813        LD      (IY+23),LOW(Button_handler)\r
+    000012CD FD 36 18 10           2814        LD      (IY+24),HIGH(Button_handler)\r
+    000012D1 FD 36 19 60           2815        LD      (IY+25),BYTE3 Button_handler\r
+    000012D5 FD 36 1A BA           2816        LD      (IY+26),LOW(Button_paint)\r
+    000012D9 FD 36 1B 11           2817        LD      (IY+27),HIGH(Button_paint)\r
+    000012DD FD 36 1C BA           2818        LD      (IY+28),BYTE3 Button_paint\r
+    000012E1 FD 36 1D 8D           2819        LD      (IY+29),LOW(Button_add)\r
+    000012E5 FD 36 1E 12           2820        LD      (IY+30),HIGH(Button_add)\r
+    000012E9 FD 36 1F 8D           2821        LD      (IY+31),BYTE3 Button_add\r
+    000012ED C3 E0 06              2822        JP      LWRD ?0422\r
+    000012F0                       2823 ToggleButton_handler:\r
+    000012F0 CD 00 00              2824        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000012F3 FD E5                 2825        PUSH    IY\r
+    000012F5 D5                    2826        PUSH    DE\r
+    000012F6 FD E1                 2827        POP     IY\r
+    000012F8 DD 6E 0A              2828        LD      L,(IX+10)\r
+    000012FB DD 66 0B              2829        LD      H,(IX+11)\r
+    000012FE E5                    2830        PUSH    HL\r
+    000012FF 3E 61                 2831        LD      A,BYTE3 Window_handler\r
+    00001301 21 61 0B              2832        LD      HL,LWRD Window_handler\r
+    00001304 CD 00 00              2833        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001307 E1                    2834        POP     HL\r
+    00001308 3E 03                 2835        LD      A,3\r
+    0000130A DD AE 04              2836        XOR     (IX+4)\r
+    0000130D DD B6 05              2837        OR      (IX+5)\r
+    00001310 20 5C                 2838        JR      NZ,?0194\r
+    00001312 FD 4E 10              2839        LD      C,(IY+16)\r
+    00001315 47                    2840        LD      B,A\r
+    00001316 DD 6E 0A              2841        LD      L,(IX+10)\r
+    00001319 DD 66 0B              2842        LD      H,(IX+11)\r
+    0000131C ED 42                 2843        SBC     HL,BC\r
+    0000131E 20 4E                 2844        JR      NZ,?0194\r
+    00001320 FD 7E 0A              2845        LD      A,(IY+10)\r
+    00001323 E6 03                 2846        AND     3\r
+    00001325 28 47                 2847        JR      Z,?0194\r
+    00001327                       2848 ?0192:\r
+    00001327                       2849 ?0191:\r
+    00001327                       2850 ?0189:\r
+    00001327 FD 7E 0A              2851        LD      A,(IY+10)\r
+    0000132A EE 04                 2852        XOR     4\r
+    0000132C FD 77 0A              2853        LD      (IY+10),A\r
+    0000132F DD 6E 0A              2854        LD      L,(IX+10)\r
+    00001332 DD 66 0B              2855        LD      H,(IX+11)\r
+    00001335 E5                    2856        PUSH    HL\r
+    00001336 FD 5E 11              2857        LD      E,(IY+17)\r
+    00001339 FD 56 12              2858        LD      D,(IY+18)\r
+    0000133C FD 6E 11              2859        LD      L,(IY+17)\r
+    0000133F FD 66 12              2860        LD      H,(IY+18)\r
+    00001342 0E 17                 2861        LD      C,23\r
+    00001344 09                    2862        ADD     HL,BC\r
+    00001345 4E                    2863        LD      C,(HL)\r
+    00001346 23                    2864        INC     HL\r
+    00001347 46                    2865        LD      B,(HL)\r
+    00001348 23                    2866        INC     HL\r
+    00001349 7E                    2867        LD      A,(HL)\r
+    0000134A 69                    2868        LD      L,C\r
+    0000134B 60                    2869        LD      H,B\r
+    0000134C 01 02 02              2870        LD      BC,514\r
+    0000134F CD 00 00              2871        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001352 E1                    2872        POP     HL\r
+    00001353 21 00 00              2873        LD      HL,0\r
+    00001356 E5                    2874        PUSH    HL\r
+    00001357 01 03 01              2875        LD      BC,259\r
+    0000135A CD 10 0E              2876        CALL    LWRD ?0476\r
+    0000135D E1                    2877        POP     HL\r
+    0000135E FD CB 0A 66           2878        BIT     4,(IY+10)\r
+    00001362 28 0A                 2879        JR      Z,?0194\r
+    00001364                       2880 ?0193:\r
+    00001364 FD 4E 10              2881        LD      C,(IY+16)\r
+    00001367 06 00                 2882        LD      B,0\r
+    00001369 C5                    2883        PUSH    BC\r
+    0000136A CD FB 10              2884        CALL    LWRD ?0482\r
+    0000136D E1                    2885        POP     HL\r
+    0000136E                       2886 ?0194:\r
+    0000136E                       2887 ?0190:\r
+    0000136E 21 01 02              2888        LD      HL,513\r
+    00001371 DD 4E 04              2889        LD      C,(IX+4)\r
+    00001374 DD 46 05              2890        LD      B,(IX+5)\r
+    00001377 A7                    2891        AND     A\r
+    00001378 ED 42                 2892        SBC     HL,BC\r
+    0000137A 20 0B                 2893        JR      NZ,?0196\r
+    0000137C                       2894 ?0195:\r
+    0000137C DD 6E 0A              2895        LD      L,(IX+10)\r
+    0000137F DD 66 0B              2896        LD      H,(IX+11)\r
+    00001382 E5                    2897        PUSH    HL\r
+    00001383 CD DE 10              2898        CALL    LWRD ?0481\r
+    00001386 E1                    2899        POP     HL\r
+    00001387                       2900 ?0196:\r
+    00001387 FD E1                 2901        POP     IY\r
+    00001389 C3 00 00              2902        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000138C                       2903 ToggleButton_paint:\r
+    0000138C C5                    2904        PUSH    BC\r
+    0000138D DD E5                 2905        PUSH    IX\r
+    0000138F F5                    2906        PUSH    AF\r
+    00001390 F5                    2907        PUSH    AF\r
+    00001391 D5                    2908        PUSH    DE\r
+    00001392 DD E1                 2909        POP     IX\r
+    00001394 21 02 00              2910        LD      HL,2\r
+    00001397 39                    2911        ADD     HL,SP\r
+    00001398 AF                    2912        XOR     A\r
+    00001399 77                    2913        LD      (HL),A\r
+    0000139A 23                    2914        INC     HL\r
+    0000139B 77                    2915        LD      (HL),A\r
+    0000139C 2B                    2916        DEC     HL\r
+    0000139D 2B                    2917        DEC     HL\r
+    0000139E 2B                    2918        DEC     HL\r
+    0000139F 77                    2919        LD      (HL),A\r
+    000013A0 23                    2920        INC     HL\r
+    000013A1 77                    2921        LD      (HL),A\r
+    000013A2 21 12 00              2922        LD      HL,18\r
+    000013A5 ED 4B 00 00           2923        LD      BC,(global)\r
+    000013A9 09                    2924        ADD     HL,BC\r
+    000013AA 7E                    2925        LD      A,(HL)\r
+    000013AB 23                    2926        INC     HL\r
+    000013AC 66                    2927        LD      H,(HL)\r
+    000013AD 6F                    2928        LD      L,A\r
+    000013AE 46                    2929        LD      B,(HL)\r
+    000013AF 23                    2930        INC     HL\r
+    000013B0 66                    2931        LD      H,(HL)\r
+    000013B1 68                    2932        LD      L,B\r
+    000013B2 E5                    2933        PUSH    HL\r
+    000013B3 21 0E 00              2934        LD      HL,14\r
+    000013B6 19                    2935        ADD     HL,DE\r
+    000013B7 4E                    2936        LD      C,(HL)\r
+    000013B8 23                    2937        INC     HL\r
+    000013B9 46                    2938        LD      B,(HL)\r
+    000013BA E1                    2939        POP     HL\r
+    000013BB A7                    2940        AND     A\r
+    000013BC ED 42                 2941        SBC     HL,BC\r
+    000013BE 28 03                 2942        JR      Z,?0198\r
+    000013C0                       2943 ?0197:\r
+    000013C0 CD 67 0F              2944        CALL    LWRD ?0449\r
+    000013C3                       2945 ?0198:\r
+    000013C3 DD CB 0A 46           2946        BIT     0,(IX+10)\r
+    000013C7 CA 75 14              2947        JP      Z,?0200\r
+    000013CA                       2948 ?0199:\r
+    000013CA 21 00 00              2949        LD      HL,0\r
+    000013CD 39                    2950        ADD     HL,SP\r
+    000013CE E5                    2951        PUSH    HL\r
+    000013CF CD 1F 0E              2952        CALL    LWRD ?0478\r
+    000013D2 E1                    2953        POP     HL\r
+    000013D3 21 00 00              2954        LD      HL,0\r
+    000013D6 39                    2955        ADD     HL,SP\r
+    000013D7 CD AB 0F              2956        CALL    LWRD ?0472\r
+    000013DA CD 00 00              2957        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000013DD DD CB 0A 4E           2958        BIT     1,(IX+10)\r
+    000013E1 28 36                 2959        JR      Z,?0202\r
+    000013E3 DD CB 0A 56           2960        BIT     2,(IX+10)\r
+    000013E7 28 30                 2961        JR      Z,?0202\r
+    000013E9                       2962 ?0204:\r
+    000013E9                       2963 ?0203:\r
+    000013E9                       2964 ?0201:\r
+    000013E9 DD 4E 08              2965        LD      C,(IX+8)\r
+    000013EC DD 46 09              2966        LD      B,(IX+9)\r
+    000013EF DD 5E 06              2967        LD      E,(IX+6)\r
+    000013F2 DD 56 07              2968        LD      D,(IX+7)\r
+    000013F5 3E 5A                 2969        LD      A,BYTE3 FillRectNC\r
+    000013F7 21 5A 02              2970        LD      HL,LWRD FillRectNC\r
+    000013FA CD 00 00              2971        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000013FD DD 6E 08              2972        LD      L,(IX+8)\r
+    00001400 DD 66 09              2973        LD      H,(IX+9)\r
+    00001403 E5                    2974        PUSH    HL\r
+    00001404 DD 6E 06              2975        LD      L,(IX+6)\r
+    00001407 DD 66 07              2976        LD      H,(IX+7)\r
+    0000140A E5                    2977        PUSH    HL\r
+    0000140B 21 04 00              2978        LD      HL,4\r
+    0000140E 39                    2979        ADD     HL,SP\r
+    0000140F 4E                    2980        LD      C,(HL)\r
+    00001410 23                    2981        INC     HL\r
+    00001411 46                    2982        LD      B,(HL)\r
+    00001412 C5                    2983        PUSH    BC\r
+    00001413 23                    2984        INC     HL\r
+    00001414 4E                    2985        LD      C,(HL)\r
+    00001415 23                    2986        INC     HL\r
+    00001416 46                    2987        LD      B,(HL)\r
+    00001417 18 34                 2988        JR      ?0367\r
+    00001419                       2989 ?0202:\r
+    00001419 DD 4E 08              2990        LD      C,(IX+8)\r
+    0000141C DD 46 09              2991        LD      B,(IX+9)\r
+    0000141F DD 5E 06              2992        LD      E,(IX+6)\r
+    00001422 DD 56 07              2993        LD      D,(IX+7)\r
+    00001425 3E D9                 2994        LD      A,BYTE3 DrawRectNC\r
+    00001427 21 D9 01              2995        LD      HL,LWRD DrawRectNC\r
+    0000142A CD 00 00              2996        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000142D DD 6E 08              2997        LD      L,(IX+8)\r
+    00001430 DD 66 09              2998        LD      H,(IX+9)\r
+    00001433 E5                    2999        PUSH    HL\r
+    00001434 DD 6E 06              3000        LD      L,(IX+6)\r
+    00001437 DD 66 07              3001        LD      H,(IX+7)\r
+    0000143A E5                    3002        PUSH    HL\r
+    0000143B 21 04 00              3003        LD      HL,4\r
+    0000143E 39                    3004        ADD     HL,SP\r
+    0000143F 4E                    3005        LD      C,(HL)\r
+    00001440 23                    3006        INC     HL\r
+    00001441 46                    3007        LD      B,(HL)\r
+    00001442 C5                    3008        PUSH    BC\r
+    00001443 23                    3009        INC     HL\r
+    00001444 4E                    3010        LD      C,(HL)\r
+    00001445 23                    3011        INC     HL\r
+    00001446 46                    3012        LD      B,(HL)\r
+    00001447 DD CB 0A 4E           3013        BIT     1,(IX+10)\r
+    0000144B 28 07                 3014        JR      Z,?0207\r
+    0000144D                       3015 ?0367:\r
+    0000144D DD 5E 10              3016        LD      E,(IX+16)\r
+    00001450 16 00                 3017        LD      D,0\r
+    00001452 18 03                 3018        JR      ?0208\r
+    00001454                       3019 ?0207:\r
+    00001454 11 00 00              3020        LD      DE,0\r
+    00001457                       3021 ?0208:\r
+    00001457 CD 8D 03              3022        CALL    LWRD ?0484\r
+    0000145A E1                    3023        POP     HL\r
+    0000145B E1                    3024        POP     HL\r
+    0000145C E1                    3025        POP     HL\r
+    0000145D                       3026 ?0205:\r
+    0000145D 21 00 00              3027        LD      HL,0\r
+    00001460 39                    3028        ADD     HL,SP\r
+    00001461 4E                    3029        LD      C,(HL)\r
+    00001462 23                    3030        INC     HL\r
+    00001463 46                    3031        LD      B,(HL)\r
+    00001464 C5                    3032        PUSH    BC\r
+    00001465 23                    3033        INC     HL\r
+    00001466 4E                    3034        LD      C,(HL)\r
+    00001467 23                    3035        INC     HL\r
+    00001468 46                    3036        LD      B,(HL)\r
+    00001469 DD E5                 3037        PUSH    IX\r
+    0000146B D1                    3038        POP     DE\r
+    0000146C 3E 17                 3039        LD      A,BYTE3 Button_drawtext\r
+    0000146E 21 17 11              3040        LD      HL,LWRD Button_drawtext\r
+    00001471 CD 00 00              3041        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001474 E1                    3042        POP     HL\r
+    00001475                       3043 ?0200:\r
+    00001475 C3 5F 0F              3044        JP      LWRD ?0165\r
+    00001478                       3045 ToggleButton_new:\r
+    00001478 CD 00 00              3046        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000147B 00 00                 3047        DEFW    0\r
+    0000147D FD E5                 3048        PUSH    IY\r
+    0000147F DD 6E 0C              3049        LD      L,(IX+12)\r
+    00001482 DD 66 0D              3050        LD      H,(IX+13)\r
+    00001485 E5                    3051        PUSH    HL\r
+    00001486 DD 6E 0A              3052        LD      L,(IX+10)\r
+    00001489 DD 66 0B              3053        LD      H,(IX+11)\r
+    0000148C E5                    3054        PUSH    HL\r
+    0000148D DD 5E 02              3055        LD      E,(IX+2)\r
+    00001490 DD 56 03              3056        LD      D,(IX+3)\r
+    00001493 3E 3E                 3057        LD      A,BYTE3 Component_new\r
+    00001495 21 3E 06              3058        LD      HL,LWRD Component_new\r
+    00001498 CD 00 00              3059        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000149B F1                    3060        POP     AF\r
+    0000149C F1                    3061        POP     AF\r
+    0000149D E5                    3062        PUSH    HL\r
+    0000149E FD E1                 3063        POP     IY\r
+    000014A0 01 0A 00              3064        LD      BC,10\r
+    000014A3 09                    3065        ADD     HL,BC\r
+    000014A4 7E                    3066        LD      A,(HL)\r
+    000014A5 F6 07                 3067        OR      7\r
+    000014A7 77                    3068        LD      (HL),A\r
+    000014A8 DD 46 0E              3069        LD      B,(IX+14)\r
+    000014AB FD 70 10              3070        LD      (IY+16),B\r
+    000014AE FD 36 17 F0           3071        LD      (IY+23),LOW(ToggleButton_handler)\r
+    000014B2 FD 36 18 12           3072        LD      (IY+24),HIGH(ToggleButton_handler)\r
+    000014B6 FD 36 19 F0           3073        LD      (IY+25),BYTE3 ToggleButton_handler\r
+    000014BA FD 36 1A 8C           3074        LD      (IY+26),LOW(ToggleButton_paint)\r
+    000014BE FD 36 1B 13           3075        LD      (IY+27),HIGH(ToggleButton_paint)\r
+    000014C2 FD 36 1C 8C           3076        LD      (IY+28),BYTE3 ToggleButton_paint\r
+    000014C6 FD 36 1D 8D           3077        LD      (IY+29),LOW(Button_add)\r
+    000014CA FD 36 1E 12           3078        LD      (IY+30),HIGH(Button_add)\r
+    000014CE FD 36 1F 8D           3079        LD      (IY+31),BYTE3 Button_add\r
+    000014D2 C3 E0 06              3080        JP      LWRD ?0422\r
+    000014D5                       3081 Dialog_handler:\r
+    000014D5 CD 00 00              3082        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000014D8 FD E5                 3083        PUSH    IY\r
+    000014DA D5                    3084        PUSH    DE\r
+    000014DB FD E1                 3085        POP     IY\r
+    000014DD DD 6E 0A              3086        LD      L,(IX+10)\r
+    000014E0 DD 66 0B              3087        LD      H,(IX+11)\r
+    000014E3 E5                    3088        PUSH    HL\r
+    000014E4 3E 61                 3089        LD      A,BYTE3 Window_handler\r
+    000014E6 21 61 0B              3090        LD      HL,LWRD Window_handler\r
+    000014E9 CD 00 00              3091        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000014EC E1                    3092        POP     HL\r
+    000014ED 21 01 02              3093        LD      HL,513\r
+    000014F0 DD 4E 04              3094        LD      C,(IX+4)\r
+    000014F3 DD 46 05              3095        LD      B,(IX+5)\r
+    000014F6 A7                    3096        AND     A\r
+    000014F7 ED 42                 3097        SBC     HL,BC\r
+    000014F9 20 40                 3098        JR      NZ,?0210\r
+    000014FB 3E FF                 3099        LD      A,255\r
+    000014FD DD AE 0A              3100        XOR     (IX+10)\r
+    00001500 DD B6 0B              3101        OR      (IX+11)\r
+    00001503 20 36                 3102        JR      NZ,?0210\r
+    00001505                       3103 ?0212:\r
+    00001505                       3104 ?0211:\r
+    00001505                       3105 ?0209:\r
+    00001505 FD CB 0B 66           3106        BIT     4,(IY+11)\r
+    00001509 E5                    3107        PUSH    HL\r
+    0000150A 28 05                 3108        JR      Z,?0214\r
+    0000150C                       3109 ?0213:\r
+    0000150C 01 05 01              3110        LD      BC,261\r
+    0000150F 18 03                 3111        JR      ?0368\r
+    00001511                       3112 ?0214:\r
+    00001511 01 02 01              3113        LD      BC,258\r
+    00001514                       3114 ?0368:\r
+    00001514 CD 10 0E              3115        CALL    LWRD ?0476\r
+    00001517 E1                    3116        POP     HL\r
+    00001518                       3117 ?0215:\r
+    00001518 FD 4E 10              3118        LD      C,(IY+16)\r
+    0000151B 06 00                 3119        LD      B,0\r
+    0000151D C5                    3120        PUSH    BC\r
+    0000151E FD 5E 11              3121        LD      E,(IY+17)\r
+    00001521 FD 56 12              3122        LD      D,(IY+18)\r
+    00001524 FD 6E 11              3123        LD      L,(IY+17)\r
+    00001527 FD 66 12              3124        LD      H,(IY+18)\r
+    0000152A 0E 17                 3125        LD      C,23\r
+    0000152C 09                    3126        ADD     HL,BC\r
+    0000152D 4E                    3127        LD      C,(HL)\r
+    0000152E 23                    3128        INC     HL\r
+    0000152F 46                    3129        LD      B,(HL)\r
+    00001530 23                    3130        INC     HL\r
+    00001531 7E                    3131        LD      A,(HL)\r
+    00001532 69                    3132        LD      L,C\r
+    00001533 60                    3133        LD      H,B\r
+    00001534 01 01 03              3134        LD      BC,769\r
+    00001537 CD 00 00              3135        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000153A E1                    3136        POP     HL\r
+    0000153B                       3137 ?0210:\r
+    0000153B 21 01 02              3138        LD      HL,513\r
+    0000153E DD 4E 04              3139        LD      C,(IX+4)\r
+    00001541 DD 46 05              3140        LD      B,(IX+5)\r
+    00001544 A7                    3141        AND     A\r
+    00001545 ED 42                 3142        SBC     HL,BC\r
+    00001547 20 40                 3143        JR      NZ,?0217\r
+    00001549 3E FE                 3144        LD      A,254\r
+    0000154B DD AE 0A              3145        XOR     (IX+10)\r
+    0000154E DD B6 0B              3146        OR      (IX+11)\r
+    00001551 20 36                 3147        JR      NZ,?0217\r
+    00001553                       3148 ?0219:\r
+    00001553                       3149 ?0218:\r
+    00001553                       3150 ?0216:\r
+    00001553 FD CB 0B 66           3151        BIT     4,(IY+11)\r
+    00001557 E5                    3152        PUSH    HL\r
+    00001558 28 05                 3153        JR      Z,?0221\r
+    0000155A                       3154 ?0220:\r
+    0000155A 01 05 01              3155        LD      BC,261\r
+    0000155D 18 03                 3156        JR      ?0369\r
+    0000155F                       3157 ?0221:\r
+    0000155F 01 02 01              3158        LD      BC,258\r
+    00001562                       3159 ?0369:\r
+    00001562 CD 10 0E              3160        CALL    LWRD ?0476\r
+    00001565 E1                    3161        POP     HL\r
+    00001566                       3162 ?0222:\r
+    00001566 FD 4E 10              3163        LD      C,(IY+16)\r
+    00001569 06 00                 3164        LD      B,0\r
+    0000156B C5                    3165        PUSH    BC\r
+    0000156C FD 5E 11              3166        LD      E,(IY+17)\r
+    0000156F FD 56 12              3167        LD      D,(IY+18)\r
+    00001572 FD 6E 11              3168        LD      L,(IY+17)\r
+    00001575 FD 66 12              3169        LD      H,(IY+18)\r
+    00001578 0E 17                 3170        LD      C,23\r
+    0000157A 09                    3171        ADD     HL,BC\r
+    0000157B 4E                    3172        LD      C,(HL)\r
+    0000157C 23                    3173        INC     HL\r
+    0000157D 46                    3174        LD      B,(HL)\r
+    0000157E 23                    3175        INC     HL\r
+    0000157F 7E                    3176        LD      A,(HL)\r
+    00001580 69                    3177        LD      L,C\r
+    00001581 60                    3178        LD      H,B\r
+    00001582 01 02 03              3179        LD      BC,770\r
+    00001585 CD 00 00              3180        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001588 E1                    3181        POP     HL\r
+    00001589                       3182 ?0217:\r
+    00001589 FD E1                 3183        POP     IY\r
+    0000158B C3 00 00              3184        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000158E                       3185 Dialog_new:\r
+    0000158E CD 00 00              3186        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00001591 FE FF                 3187        DEFW    -2\r
+    00001593 FD E5                 3188        PUSH    IY\r
+    00001595 DD 6E 0C              3189        LD      L,(IX+12)\r
+    00001598 DD 66 0D              3190        LD      H,(IX+13)\r
+    0000159B E5                    3191        PUSH    HL\r
+    0000159C DD 6E 0A              3192        LD      L,(IX+10)\r
+    0000159F DD 66 0B              3193        LD      H,(IX+11)\r
+    000015A2 E5                    3194        PUSH    HL\r
+    000015A3 DD 5E 02              3195        LD      E,(IX+2)\r
+    000015A6 DD 56 03              3196        LD      D,(IX+3)\r
+    000015A9 3E 3E                 3197        LD      A,BYTE3 Component_new\r
+    000015AB 21 3E 06              3198        LD      HL,LWRD Component_new\r
+    000015AE CD 00 00              3199        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000015B1 F1                    3200        POP     AF\r
+    000015B2 F1                    3201        POP     AF\r
+    000015B3 E5                    3202        PUSH    HL\r
+    000015B4 FD E1                 3203        POP     IY\r
+    000015B6 01 0A 00              3204        LD      BC,10\r
+    000015B9 09                    3205        ADD     HL,BC\r
+    000015BA CB C6                 3206        SET     0,(HL)\r
+    000015BC DD 46 0E              3207        LD      B,(IX+14)\r
+    000015BF FD 70 10              3208        LD      (IY+16),B\r
+    000015C2 FD 36 17 D5           3209        LD      (IY+23),LOW(Dialog_handler)\r
+    000015C6 FD 36 18 14           3210        LD      (IY+24),HIGH(Dialog_handler)\r
+    000015CA FD 36 19 D5           3211        LD      (IY+25),BYTE3 Dialog_handler\r
+    000015CE FD 36 1A 2E           3212        LD      (IY+26),LOW(Window_paint)\r
+    000015D2 FD 36 1B 0E           3213        LD      (IY+27),HIGH(Window_paint)\r
+    000015D6 FD 36 1C 2E           3214        LD      (IY+28),BYTE3 Window_paint\r
+    000015DA FD 36 1D 03           3215        LD      (IY+29),LOW(Window_add)\r
+    000015DE FD 36 1E 10           3216        LD      (IY+30),HIGH(Window_add)\r
+    000015E2 FD 36 1F 03           3217        LD      (IY+31),BYTE3 Window_add\r
+    000015E6 21 FF 00              3218        LD      HL,255\r
+    000015E9 E5                    3219        PUSH    HL\r
+    000015EA 2E 14                 3220        LD      L,20\r
+    000015EC E5                    3221        PUSH    HL\r
+    000015ED 2E 28                 3222        LD      L,40\r
+    000015EF E5                    3223        PUSH    HL\r
+    000015F0 21 E4 FF              3224        LD      HL,65508\r
+    000015F3 DD 4E 0C              3225        LD      C,(IX+12)\r
+    000015F6 DD 46 0D              3226        LD      B,(IX+13)\r
+    000015F9 09                    3227        ADD     HL,BC\r
+    000015FA 4D                    3228        LD      C,L\r
+    000015FB 44                    3229        LD      B,H\r
+    000015FC 21 D0 FF              3230        LD      HL,65488\r
+    000015FF DD 5E 0A              3231        LD      E,(IX+10)\r
+    00001602 DD 56 0B              3232        LD      D,(IX+11)\r
+    00001605 19                    3233        ADD     HL,DE\r
+    00001606 EB                    3234        EX      DE,HL\r
+    00001607 3E 93                 3235        LD      A,BYTE3 Button_new\r
+    00001609 21 93 12              3236        LD      HL,LWRD Button_new\r
+    0000160C CD 00 00              3237        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000160F F1                    3238        POP     AF\r
+    00001610 F1                    3239        POP     AF\r
+    00001611 F1                    3240        POP     AF\r
+    00001612 DD 75 FE              3241        LD      (IX-2),L\r
+    00001615 DD 74 FF              3242        LD      (IX-1),H\r
+    00001618 01 20 00              3243        LD      BC,32\r
+    0000161B 09                    3244        ADD     HL,BC\r
+    0000161C E5                    3245        PUSH    HL\r
+    0000161D 11 03 00              3246        LD      DE,3\r
+    00001620 CD B7 04              3247        CALL    LWRD ?0460\r
+    00001623 E1                    3248        POP     HL\r
+    00001624 71                    3249        LD      (HL),C\r
+    00001625 23                    3250        INC     HL\r
+    00001626 70                    3251        LD      (HL),B\r
+    00001627 01 20 00              3252        LD      BC,?0223\r
+    0000162A CD 7D 16              3253        CALL    LWRD ?0471\r
+    0000162D CD 00 00              3254        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001630 21 FE 00              3255        LD      HL,254\r
+    00001633 E5                    3256        PUSH    HL\r
+    00001634 2E 14                 3257        LD      L,20\r
+    00001636 E5                    3258        PUSH    HL\r
+    00001637 2E 28                 3259        LD      L,40\r
+    00001639 E5                    3260        PUSH    HL\r
+    0000163A 21 C8 FF              3261        LD      HL,65480\r
+    0000163D DD 4E 0C              3262        LD      C,(IX+12)\r
+    00001640 DD 46 0D              3263        LD      B,(IX+13)\r
+    00001643 09                    3264        ADD     HL,BC\r
+    00001644 4D                    3265        LD      C,L\r
+    00001645 44                    3266        LD      B,H\r
+    00001646 21 D0 FF              3267        LD      HL,65488\r
+    00001649 DD 5E 0A              3268        LD      E,(IX+10)\r
+    0000164C DD 56 0B              3269        LD      D,(IX+11)\r
+    0000164F 19                    3270        ADD     HL,DE\r
+    00001650 EB                    3271        EX      DE,HL\r
+    00001651 3E 93                 3272        LD      A,BYTE3 Button_new\r
+    00001653 21 93 12              3273        LD      HL,LWRD Button_new\r
+    00001656 CD 00 00              3274        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001659 F1                    3275        POP     AF\r
+    0000165A F1                    3276        POP     AF\r
+    0000165B F1                    3277        POP     AF\r
+    0000165C DD 75 FE              3278        LD      (IX-2),L\r
+    0000165F DD 74 FF              3279        LD      (IX-1),H\r
+    00001662 01 20 00              3280        LD      BC,32\r
+    00001665 09                    3281        ADD     HL,BC\r
+    00001666 E5                    3282        PUSH    HL\r
+    00001667 11 07 00              3283        LD      DE,7\r
+    0000166A CD B7 04              3284        CALL    LWRD ?0460\r
+    0000166D E1                    3285        POP     HL\r
+    0000166E 71                    3286        LD      (HL),C\r
+    0000166F 23                    3287        INC     HL\r
+    00001670 70                    3288        LD      (HL),B\r
+    00001671 01 23 00              3289        LD      BC,?0224\r
+    00001674 CD 7D 16              3290        CALL    LWRD ?0471\r
+    00001677 CD 00 00              3291        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000167A C3 E0 06              3292        JP      LWRD ?0422\r
+    0000167D                       3293 ?0471:\r
+    0000167D DD 5E FE              3294        LD      E,(IX-2)\r
+    00001680 DD 56 FF              3295        LD      D,(IX-1)\r
+    00001683 3E E8                 3296        LD      A,BYTE3 Component_setlabel\r
+    00001685 21 E8 06              3297        LD      HL,LWRD Component_setlabel\r
+    00001688 CD 00 00              3298        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000168B DD 4E FE              3299        LD      C,(IX-2)\r
+    0000168E DD 46 FF              3300        LD      B,(IX-1)\r
+    00001691 FD E5                 3301        PUSH    IY\r
+    00001693 D1                    3302        POP     DE\r
+    00001694 FD 7E 1F              3303        LD      A,(IY+31)\r
+    00001697 FD 6E 1D              3304        LD      L,(IY+29)\r
+    0000169A FD 66 1E              3305        LD      H,(IY+30)\r
+    0000169D C9                    3306        RET\r
+    0000169E                       3307 Display_handler:\r
+    0000169E CD 00 00              3308        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000016A1 FD E5                 3309        PUSH    IY\r
+    000016A3 D5                    3310        PUSH    DE\r
+    000016A4 FD E1                 3311        POP     IY\r
+    000016A6 DD 6E 0A              3312        LD      L,(IX+10)\r
+    000016A9 DD 66 0B              3313        LD      H,(IX+11)\r
+    000016AC E5                    3314        PUSH    HL\r
+    000016AD 3E 60                 3315        LD      A,BYTE3 Button_handler\r
+    000016AF 21 60 10              3316        LD      HL,LWRD Button_handler\r
+    000016B2 CD 00 00              3317        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000016B5 E1                    3318        POP     HL\r
+    000016B6 21 03 02              3319        LD      HL,515\r
+    000016B9 DD 4E 04              3320        LD      C,(IX+4)\r
+    000016BC DD 46 05              3321        LD      B,(IX+5)\r
+    000016BF A7                    3322        AND     A\r
+    000016C0 ED 42                 3323        SBC     HL,BC\r
+    000016C2 20 40                 3324        JR      NZ,?0226\r
+    000016C4 FD CB 0A 5E           3325        BIT     3,(IY+10)\r
+    000016C8 28 3A                 3326        JR      Z,?0226\r
+    000016CA                       3327 ?0228:\r
+    000016CA                       3328 ?0227:\r
+    000016CA                       3329 ?0225:\r
+    000016CA 3E 08                 3330        LD      A,8\r
+    000016CC DD AE 0A              3331        XOR     (IX+10)\r
+    000016CF DD B6 0B              3332        OR      (IX+11)\r
+    000016D2 FD 5E 20              3333        LD      E,(IY+32)\r
+    000016D5 FD 56 21              3334        LD      D,(IY+33)\r
+    000016D8 3E 00                 3335        LD      A,BYTE3 strlen\r
+    000016DA 21 00 00              3336        LD      HL,LWRD strlen\r
+    000016DD 20 0D                 3337        JR      NZ,?0230\r
+    000016DF                       3338 ?0229:\r
+    000016DF CD B1 04              3339        CALL    LWRD ?0458\r
+    000016E2 28 15                 3340        JR      Z,?0233\r
+    000016E4                       3341 ?0231:\r
+    000016E4 CD 09 17              3342        CALL    LWRD ?0455\r
+    000016E7 2B                    3343        DEC     HL\r
+    000016E8 36 00                 3344        LD      (HL),0\r
+    000016EA                       3345 ?0232:\r
+    000016EA 18 0D                 3346        JR      ?0233\r
+    000016EC                       3347 ?0230:\r
+    000016EC CD 14 17              3348        CALL    LWRD ?0456\r
+    000016EF 23                    3349        INC     HL\r
+    000016F0 36 00                 3350        LD      (HL),0\r
+    000016F2 CD 09 17              3351        CALL    LWRD ?0455\r
+    000016F5 DD 46 0A              3352        LD      B,(IX+10)\r
+    000016F8 70                    3353        LD      (HL),B\r
+    000016F9                       3354 ?0233:\r
+    000016F9 21 00 00              3355        LD      HL,0\r
+    000016FC E5                    3356        PUSH    HL\r
+    000016FD 01 03 01              3357        LD      BC,259\r
+    00001700 CD 10 0E              3358        CALL    LWRD ?0476\r
+    00001703 E1                    3359        POP     HL\r
+    00001704                       3360 ?0226:\r
+    00001704 FD E1                 3361        POP     IY\r
+    00001706 C3 00 00              3362        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00001709                       3363 ?0455:\r
+    00001709 FD 5E 20              3364        LD      E,(IY+32)\r
+    0000170C FD 56 21              3365        LD      D,(IY+33)\r
+    0000170F 3E 00                 3366        LD      A,BYTE3 strlen\r
+    00001711 21 00 00              3367        LD      HL,LWRD strlen\r
+    00001714                       3368 ?0456:\r
+    00001714 CD 00 00              3369        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001717 FD 4E 20              3370        LD      C,(IY+32)\r
+    0000171A FD 46 21              3371        LD      B,(IY+33)\r
+    0000171D 09                    3372        ADD     HL,BC\r
+    0000171E C9                    3373        RET\r
+    0000171F                       3374 Display_paint:\r
+    0000171F C5                    3375        PUSH    BC\r
+    00001720 FD E5                 3376        PUSH    IY\r
+    00001722 DD E5                 3377        PUSH    IX\r
+    00001724 21 B8 FF              3378        LD      HL,65464\r
+    00001727 39                    3379        ADD     HL,SP\r
+    00001728 F9                    3380        LD      SP,HL\r
+    00001729 D5                    3381        PUSH    DE\r
+    0000172A DD E1                 3382        POP     IX\r
+    0000172C AF                    3383        XOR     A\r
+    0000172D 77                    3384        LD      (HL),A\r
+    0000172E 23                    3385        INC     HL\r
+    0000172F 77                    3386        LD      (HL),A\r
+    00001730 23                    3387        INC     HL\r
+    00001731 77                    3388        LD      (HL),A\r
+    00001732 23                    3389        INC     HL\r
+    00001733 77                    3390        LD      (HL),A\r
+    00001734 21 12 00              3391        LD      HL,18\r
+    00001737 ED 4B 00 00           3392        LD      BC,(global)\r
+    0000173B 09                    3393        ADD     HL,BC\r
+    0000173C 7E                    3394        LD      A,(HL)\r
+    0000173D 23                    3395        INC     HL\r
+    0000173E 66                    3396        LD      H,(HL)\r
+    0000173F 6F                    3397        LD      L,A\r
+    00001740 46                    3398        LD      B,(HL)\r
+    00001741 23                    3399        INC     HL\r
+    00001742 66                    3400        LD      H,(HL)\r
+    00001743 68                    3401        LD      L,B\r
+    00001744 E5                    3402        PUSH    HL\r
+    00001745 21 0E 00              3403        LD      HL,14\r
+    00001748 19                    3404        ADD     HL,DE\r
+    00001749 4E                    3405        LD      C,(HL)\r
+    0000174A 23                    3406        INC     HL\r
+    0000174B 46                    3407        LD      B,(HL)\r
+    0000174C E1                    3408        POP     HL\r
+    0000174D A7                    3409        AND     A\r
+    0000174E ED 42                 3410        SBC     HL,BC\r
+    00001750 28 03                 3411        JR      Z,?0235\r
+    00001752                       3412 ?0234:\r
+    00001752 CD 67 0F              3413        CALL    LWRD ?0449\r
+    00001755                       3414 ?0235:\r
+    00001755 DD CB 0A 46           3415        BIT     0,(IX+10)\r
+    00001759 CA 3B 18              3416        JP      Z,?0250\r
+    0000175C                       3417 ?0236:\r
+    0000175C 21 02 00              3418        LD      HL,2\r
+    0000175F 39                    3419        ADD     HL,SP\r
+    00001760 E5                    3420        PUSH    HL\r
+    00001761 2B                    3421        DEC     HL\r
+    00001762 2B                    3422        DEC     HL\r
+    00001763 CD 21 0E              3423        CALL    LWRD ?0479\r
+    00001766 E1                    3424        POP     HL\r
+    00001767 21 02 00              3425        LD      HL,2\r
+    0000176A 39                    3426        ADD     HL,SP\r
+    0000176B 4E                    3427        LD      C,(HL)\r
+    0000176C 23                    3428        INC     HL\r
+    0000176D 46                    3429        LD      B,(HL)\r
+    0000176E 2B                    3430        DEC     HL\r
+    0000176F 2B                    3431        DEC     HL\r
+    00001770 2B                    3432        DEC     HL\r
+    00001771 CD AF 0F              3433        CALL    LWRD ?0473\r
+    00001774 CD 00 00              3434        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001777 DD 6E 08              3435        LD      L,(IX+8)\r
+    0000177A DD 66 09              3436        LD      H,(IX+9)\r
+    0000177D E5                    3437        PUSH    HL\r
+    0000177E DD 6E 06              3438        LD      L,(IX+6)\r
+    00001781 DD 66 07              3439        LD      H,(IX+7)\r
+    00001784 E5                    3440        PUSH    HL\r
+    00001785 21 06 00              3441        LD      HL,6\r
+    00001788 39                    3442        ADD     HL,SP\r
+    00001789 4E                    3443        LD      C,(HL)\r
+    0000178A 23                    3444        INC     HL\r
+    0000178B 46                    3445        LD      B,(HL)\r
+    0000178C C5                    3446        PUSH    BC\r
+    0000178D 2B                    3447        DEC     HL\r
+    0000178E 2B                    3448        DEC     HL\r
+    0000178F 2B                    3449        DEC     HL\r
+    00001790 4E                    3450        LD      C,(HL)\r
+    00001791 23                    3451        INC     HL\r
+    00001792 46                    3452        LD      B,(HL)\r
+    00001793 DD CB 0A 4E           3453        BIT     1,(IX+10)\r
+    00001797 28 07                 3454        JR      Z,?0239\r
+    00001799 DD 5E 10              3455        LD      E,(IX+16)\r
+    0000179C 16 00                 3456        LD      D,0\r
+    0000179E 18 03                 3457        JR      ?0240\r
+    000017A0                       3458 ?0239:\r
+    000017A0 11 00 00              3459        LD      DE,0\r
+    000017A3                       3460 ?0240:\r
+    000017A3 CD 8D 03              3461        CALL    LWRD ?0484\r
+    000017A6 E1                    3462        POP     HL\r
+    000017A7 E1                    3463        POP     HL\r
+    000017A8 E1                    3464        POP     HL\r
+    000017A9 DD CB 0A 7E           3465        BIT     7,(IX+10)\r
+    000017AD DD 4E 08              3466        LD      C,(IX+8)\r
+    000017B0 DD 46 09              3467        LD      B,(IX+9)\r
+    000017B3 DD 5E 06              3468        LD      E,(IX+6)\r
+    000017B6 DD 56 07              3469        LD      D,(IX+7)\r
+    000017B9 20 07                 3470        JR      NZ,?0242\r
+    000017BB                       3471 ?0241:\r
+    000017BB 3E 5A                 3472        LD      A,BYTE3 FillRectNC\r
+    000017BD 21 5A 02              3473        LD      HL,LWRD FillRectNC\r
+    000017C0 18 05                 3474        JR      ?0374\r
+    000017C2                       3475 ?0242:\r
+    000017C2 3E D9                 3476        LD      A,BYTE3 DrawRectNC\r
+    000017C4 21 D9 01              3477        LD      HL,LWRD DrawRectNC\r
+    000017C7                       3478 ?0374:\r
+    000017C7 CD 95 0F              3479        CALL    LWRD ?0470\r
+    000017CA                       3480 ?0243:\r
+    000017CA CD 87 0F              3481        CALL    LWRD ?0462\r
+    000017CD DD 4E 08              3482        LD      C,(IX+8)\r
+    000017D0 DD 46 09              3483        LD      B,(IX+9)\r
+    000017D3 09                    3484        ADD     HL,BC\r
+    000017D4 EB                    3485        EX      DE,HL\r
+    000017D5 01 02 00              3486        LD      BC,2\r
+    000017D8 CD 00 00              3487        CALL    LWRD ?SS_DIV_L02\r
+    000017DB 69                    3488        LD      L,C\r
+    000017DC 60                    3489        LD      H,B\r
+    000017DD 39                    3490        ADD     HL,SP\r
+    000017DE 46                    3491        LD      B,(HL)\r
+    000017DF 23                    3492        INC     HL\r
+    000017E0 66                    3493        LD      H,(HL)\r
+    000017E1 68                    3494        LD      L,B\r
+    000017E2 19                    3495        ADD     HL,DE\r
+    000017E3 4D                    3496        LD      C,L\r
+    000017E4 44                    3497        LD      B,H\r
+    000017E5 21 00 00              3498        LD      HL,0\r
+    000017E8 39                    3499        ADD     HL,SP\r
+    000017E9 5E                    3500        LD      E,(HL)\r
+    000017EA 23                    3501        INC     HL\r
+    000017EB 56                    3502        LD      D,(HL)\r
+    000017EC 13                    3503        INC     DE\r
+    000017ED 13                    3504        INC     DE\r
+    000017EE 3E 5E                 3505        LD      A,BYTE3 Move\r
+    000017F0 21 5E 01              3506        LD      HL,LWRD Move\r
+    000017F3 CD 00 00              3507        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000017F6 DD CB 0B 46           3508        BIT     0,(IX+11)\r
+    000017FA 28 36                 3509        JR      Z,?0245\r
+    000017FC                       3510 ?0244:\r
+    000017FC FD 21 00 00           3511        LD      IY,0\r
+    00001800                       3512 ?0247:\r
+    00001800 DD 5E 20              3513        LD      E,(IX+32)\r
+    00001803 DD 56 21              3514        LD      D,(IX+33)\r
+    00001806 3E 00                 3515        LD      A,BYTE3 strlen\r
+    00001808 21 00 00              3516        LD      HL,LWRD strlen\r
+    0000180B CD BC 04              3517        CALL    LWRD ?0459\r
+    0000180E FD E5                 3518        PUSH    IY\r
+    00001810 E1                    3519        POP     HL\r
+    00001811 A7                    3520        AND     A\r
+    00001812 ED 42                 3521        SBC     HL,BC\r
+    00001814 21 06 00              3522        LD      HL,6\r
+    00001817 30 0B                 3523        JR      NC,?0246\r
+    00001819                       3524 ?0248:\r
+    00001819 39                    3525        ADD     HL,SP\r
+    0000181A FD E5                 3526        PUSH    IY\r
+    0000181C C1                    3527        POP     BC\r
+    0000181D 09                    3528        ADD     HL,BC\r
+    0000181E 36 2A                 3529        LD      (HL),42\r
+    00001820 FD 23                 3530        INC     IY\r
+    00001822 18 DC                 3531        JR      ?0247\r
+    00001824                       3532 ?0246:\r
+    00001824 39                    3533        ADD     HL,SP\r
+    00001825 FD E5                 3534        PUSH    IY\r
+    00001827 C1                    3535        POP     BC\r
+    00001828 09                    3536        ADD     HL,BC\r
+    00001829 36 00                 3537        LD      (HL),0\r
+    0000182B 21 06 00              3538        LD      HL,6\r
+    0000182E 39                    3539        ADD     HL,SP\r
+    0000182F EB                    3540        EX      DE,HL\r
+    00001830 18 06                 3541        JR      ?0375\r
+    00001832                       3542 ?0245:\r
+    00001832 DD 5E 20              3543        LD      E,(IX+32)\r
+    00001835 DD 56 21              3544        LD      D,(IX+33)\r
+    00001838                       3545 ?0375:\r
+    00001838 CD 31 01              3546        CALL    LWRD ?0452\r
+    0000183B                       3547 ?0250:\r
+    0000183B                       3548 ?0237:\r
+    0000183B 21 48 00              3549        LD      HL,72\r
+    0000183E 39                    3550        ADD     HL,SP\r
+    0000183F F9                    3551        LD      SP,HL\r
+    00001840 C3 F9 02              3552        JP      LWRD ?0415\r
+    00001843                       3553 Display_new:\r
+    00001843 CD 00 00              3554        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00001846 00 00                 3555        DEFW    0\r
+    00001848 FD E5                 3556        PUSH    IY\r
+    0000184A DD 6E 0E              3557        LD      L,(IX+14)\r
+    0000184D DD 66 0F              3558        LD      H,(IX+15)\r
+    00001850 E5                    3559        PUSH    HL\r
+    00001851 DD 6E 0C              3560        LD      L,(IX+12)\r
+    00001854 DD 66 0D              3561        LD      H,(IX+13)\r
+    00001857 E5                    3562        PUSH    HL\r
+    00001858 DD 6E 0A              3563        LD      L,(IX+10)\r
+    0000185B DD 66 0B              3564        LD      H,(IX+11)\r
+    0000185E E5                    3565        PUSH    HL\r
+    0000185F DD 5E 02              3566        LD      E,(IX+2)\r
+    00001862 DD 56 03              3567        LD      D,(IX+3)\r
+    00001865 3E 93                 3568        LD      A,BYTE3 Button_new\r
+    00001867 21 93 12              3569        LD      HL,LWRD Button_new\r
+    0000186A CD 00 00              3570        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000186D F1                    3571        POP     AF\r
+    0000186E F1                    3572        POP     AF\r
+    0000186F F1                    3573        POP     AF\r
+    00001870 E5                    3574        PUSH    HL\r
+    00001871 FD E1                 3575        POP     IY\r
+    00001873 01 0A 00              3576        LD      BC,10\r
+    00001876 09                    3577        ADD     HL,BC\r
+    00001877 CB DE                 3578        SET     3,(HL)\r
+    00001879 01 2A 00              3579        LD      BC,?0251\r
+    0000187C FD E5                 3580        PUSH    IY\r
+    0000187E D1                    3581        POP     DE\r
+    0000187F 3E E8                 3582        LD      A,BYTE3 Component_setlabel\r
+    00001881 21 E8 06              3583        LD      HL,LWRD Component_setlabel\r
+    00001884 CD 00 00              3584        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001887 FD 36 1A 1F           3585        LD      (IY+26),LOW(Display_paint)\r
+    0000188B FD 36 1B 17           3586        LD      (IY+27),HIGH(Display_paint)\r
+    0000188F FD 36 1C 1F           3587        LD      (IY+28),BYTE3 Display_paint\r
+    00001893 FD 36 17 9E           3588        LD      (IY+23),LOW(Display_handler)\r
+    00001897 FD 36 18 16           3589        LD      (IY+24),HIGH(Display_handler)\r
+    0000189B FD 36 19 9E           3590        LD      (IY+25),BYTE3 Display_handler\r
+    0000189F C3 E0 06              3591        JP      LWRD ?0422\r
+    000018A2                       3592 Label_handler:\r
+    000018A2 CD 00 00              3593        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000018A5 C3 00 00              3594        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000018A8                       3595 Label_paint:\r
+    000018A8 C5                    3596        PUSH    BC\r
+    000018A9 DD E5                 3597        PUSH    IX\r
+    000018AB F5                    3598        PUSH    AF\r
+    000018AC F5                    3599        PUSH    AF\r
+    000018AD D5                    3600        PUSH    DE\r
+    000018AE DD E1                 3601        POP     IX\r
+    000018B0 21 02 00              3602        LD      HL,2\r
+    000018B3 39                    3603        ADD     HL,SP\r
+    000018B4 AF                    3604        XOR     A\r
+    000018B5 77                    3605        LD      (HL),A\r
+    000018B6 23                    3606        INC     HL\r
+    000018B7 77                    3607        LD      (HL),A\r
+    000018B8 2B                    3608        DEC     HL\r
+    000018B9 2B                    3609        DEC     HL\r
+    000018BA 2B                    3610        DEC     HL\r
+    000018BB 77                    3611        LD      (HL),A\r
+    000018BC 23                    3612        INC     HL\r
+    000018BD 77                    3613        LD      (HL),A\r
+    000018BE 21 12 00              3614        LD      HL,18\r
+    000018C1 ED 4B 00 00           3615        LD      BC,(global)\r
+    000018C5 09                    3616        ADD     HL,BC\r
+    000018C6 7E                    3617        LD      A,(HL)\r
+    000018C7 23                    3618        INC     HL\r
+    000018C8 66                    3619        LD      H,(HL)\r
+    000018C9 6F                    3620        LD      L,A\r
+    000018CA 46                    3621        LD      B,(HL)\r
+    000018CB 23                    3622        INC     HL\r
+    000018CC 66                    3623        LD      H,(HL)\r
+    000018CD 68                    3624        LD      L,B\r
+    000018CE E5                    3625        PUSH    HL\r
+    000018CF 21 0E 00              3626        LD      HL,14\r
+    000018D2 19                    3627        ADD     HL,DE\r
+    000018D3 4E                    3628        LD      C,(HL)\r
+    000018D4 23                    3629        INC     HL\r
+    000018D5 46                    3630        LD      B,(HL)\r
+    000018D6 E1                    3631        POP     HL\r
+    000018D7 A7                    3632        AND     A\r
+    000018D8 ED 42                 3633        SBC     HL,BC\r
+    000018DA 28 03                 3634        JR      Z,?0253\r
+    000018DC                       3635 ?0252:\r
+    000018DC CD 67 0F              3636        CALL    LWRD ?0449\r
+    000018DF                       3637 ?0253:\r
+    000018DF DD CB 0A 46           3638        BIT     0,(IX+10)\r
+    000018E3 28 21                 3639        JR      Z,?0255\r
+    000018E5                       3640 ?0254:\r
+    000018E5 21 00 00              3641        LD      HL,0\r
+    000018E8 39                    3642        ADD     HL,SP\r
+    000018E9 E5                    3643        PUSH    HL\r
+    000018EA CD 1F 0E              3644        CALL    LWRD ?0478\r
+    000018ED E1                    3645        POP     HL\r
+    000018EE 21 00 00              3646        LD      HL,0\r
+    000018F1 39                    3647        ADD     HL,SP\r
+    000018F2 4E                    3648        LD      C,(HL)\r
+    000018F3 23                    3649        INC     HL\r
+    000018F4 46                    3650        LD      B,(HL)\r
+    000018F5 C5                    3651        PUSH    BC\r
+    000018F6 23                    3652        INC     HL\r
+    000018F7 4E                    3653        LD      C,(HL)\r
+    000018F8 23                    3654        INC     HL\r
+    000018F9 46                    3655        LD      B,(HL)\r
+    000018FA DD E5                 3656        PUSH    IX\r
+    000018FC D1                    3657        POP     DE\r
+    000018FD 3E 17                 3658        LD      A,BYTE3 Button_drawtext\r
+    000018FF 21 17 11              3659        LD      HL,LWRD Button_drawtext\r
+    00001902 CD 00 00              3660        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001905 E1                    3661        POP     HL\r
+    00001906                       3662 ?0255:\r
+    00001906 C3 5F 0F              3663        JP      LWRD ?0165\r
+    00001909                       3664 Label_new:\r
+    00001909 CD 00 00              3665        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000190C 00 00                 3666        DEFW    0\r
+    0000190E FD E5                 3667        PUSH    IY\r
+    00001910 DD 6E 0C              3668        LD      L,(IX+12)\r
+    00001913 DD 66 0D              3669        LD      H,(IX+13)\r
+    00001916 E5                    3670        PUSH    HL\r
+    00001917 DD 6E 0A              3671        LD      L,(IX+10)\r
+    0000191A DD 66 0B              3672        LD      H,(IX+11)\r
+    0000191D E5                    3673        PUSH    HL\r
+    0000191E DD 5E 02              3674        LD      E,(IX+2)\r
+    00001921 DD 56 03              3675        LD      D,(IX+3)\r
+    00001924 3E 3E                 3676        LD      A,BYTE3 Component_new\r
+    00001926 21 3E 06              3677        LD      HL,LWRD Component_new\r
+    00001929 CD 00 00              3678        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000192C F1                    3679        POP     AF\r
+    0000192D F1                    3680        POP     AF\r
+    0000192E E5                    3681        PUSH    HL\r
+    0000192F FD E1                 3682        POP     IY\r
+    00001931 01 20 00              3683        LD      BC,32\r
+    00001934 09                    3684        ADD     HL,BC\r
+    00001935 DD 4E 0E              3685        LD      C,(IX+14)\r
+    00001938 71                    3686        LD      (HL),C\r
+    00001939 DD 46 0F              3687        LD      B,(IX+15)\r
+    0000193C 23                    3688        INC     HL\r
+    0000193D 70                    3689        LD      (HL),B\r
+    0000193E FD 36 0A 01           3690        LD      (IY+10),1\r
+    00001942 FD 36 0B 00           3691        LD      (IY+11),0\r
+    00001946 FD 36 17 A2           3692        LD      (IY+23),LOW(Label_handler)\r
+    0000194A FD 36 18 18           3693        LD      (IY+24),HIGH(Label_handler)\r
+    0000194E FD 36 19 A2           3694        LD      (IY+25),BYTE3 Label_handler\r
+    00001952 FD 36 1A A8           3695        LD      (IY+26),LOW(Label_paint)\r
+    00001956 FD 36 1B 18           3696        LD      (IY+27),HIGH(Label_paint)\r
+    0000195A FD 36 1C A8           3697        LD      (IY+28),BYTE3 Label_paint\r
+    0000195E FD 36 1D 8D           3698        LD      (IY+29),LOW(Button_add)\r
+    00001962 FD 36 1E 12           3699        LD      (IY+30),HIGH(Button_add)\r
+    00001966 FD 36 1F 8D           3700        LD      (IY+31),BYTE3 Button_add\r
+    0000196A C3 E0 06              3701        JP      LWRD ?0422\r
+    0000196D                       3702 rootWindow_handler:\r
+    0000196D CD 00 00              3703        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00001970 00 00                 3704        DEFW    0\r
+    00001972 DD 6E 0A              3705        LD      L,(IX+10)\r
+    00001975 DD 66 0B              3706        LD      H,(IX+11)\r
+    00001978 E5                    3707        PUSH    HL\r
+    00001979 DD 5E 02              3708        LD      E,(IX+2)\r
+    0000197C DD 56 03              3709        LD      D,(IX+3)\r
+    0000197F 3E 61                 3710        LD      A,BYTE3 Window_handler\r
+    00001981 21 61 0B              3711        LD      HL,LWRD Window_handler\r
+    00001984 CD 00 00              3712        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001987 E1                    3713        POP     HL\r
+    00001988 C3 00 00              3714        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000198B                       3715 screenbuilder:\r
+    0000198B CD 00 00              3716        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000198E CE FF                 3717        DEFW    65486\r
+    00001990 FD E5                 3718        PUSH    IY\r
+    00001992 DD 36 D8 00           3719        LD      (IX-40),0\r
+    00001996 21 00 00              3720        LD      HL,0\r
+    00001999 E5                    3721        PUSH    HL\r
+    0000199A C5                    3722        PUSH    BC\r
+    0000199B CD 14 01              3723        CALL    LWRD ?0444\r
+    0000199E F1                    3724        POP     AF\r
+    0000199F F1                    3725        POP     AF\r
+    000019A0 DD 75 D4              3726        LD      (IX-44),L\r
+    000019A3 DD 74 D5              3727        LD      (IX-43),H\r
+    000019A6 DD 36 F0 06           3728        LD      (IX-16),6\r
+    000019AA DD 36 F1 00           3729        LD      (IX-15),0\r
+    000019AE DD 36 F2 05           3730        LD      (IX-14),5\r
+    000019B2 DD 36 F3 00           3731        LD      (IX-13),0\r
+    000019B6                       3732 ?0258:\r
+    000019B6 DD 36 F4 00           3733        LD      (IX-12),0\r
+    000019BA DD 7E D8              3734        LD      A,(IX-40)\r
+    000019BD FE 73                 3735        CP      115\r
+    000019BF 20 18                 3736        JR      NZ,?0260\r
+    000019C1                       3737 ?0259:\r
+    000019C1 DD 6E D9              3738        LD      L,(IX-39)\r
+    000019C4 DD 66 DA              3739        LD      H,(IX-38)\r
+    000019C7 DD 75 F0              3740        LD      (IX-16),L\r
+    000019CA DD 74 F1              3741        LD      (IX-15),H\r
+    000019CD DD 6E DB              3742        LD      L,(IX-37)\r
+    000019D0 DD 66 DC              3743        LD      H,(IX-36)\r
+    000019D3 DD 75 F2              3744        LD      (IX-14),L\r
+    000019D6 DD 74 F3              3745        LD      (IX-13),H\r
+    000019D9                       3746 ?0260:\r
+    000019D9 DD 7E D8              3747        LD      A,(IX-40)\r
+    000019DC FE 42                 3748        CP      66\r
+    000019DE 28 07                 3749        JR      Z,?0263\r
+    000019E0 DD 7E D8              3750        LD      A,(IX-40)\r
+    000019E3 FE 4D                 3751        CP      77\r
+    000019E5 20 4E                 3752        JR      NZ,?0262\r
+    000019E7                       3753 ?0263:\r
+    000019E7                       3754 ?0264:\r
+    000019E7                       3755 ?0261:\r
+    000019E7 DD 4E DD              3756        LD      C,(IX-35)\r
+    000019EA 06 00                 3757        LD      B,0\r
+    000019EC C5                    3758        PUSH    BC\r
+    000019ED CD 3A 1D              3759        CALL    LWRD ?0490\r
+    000019F0 D5                    3760        PUSH    DE\r
+    000019F1 CD 50 1D              3761        CALL    LWRD ?0491\r
+    000019F4 D5                    3762        PUSH    DE\r
+    000019F5 DD 6E DB              3763        LD      L,(IX-37)\r
+    000019F8 26 00                 3764        LD      H,0\r
+    000019FA 44                    3765        LD      B,H\r
+    000019FB DD 4E D9              3766        LD      C,(IX-39)\r
+    000019FE 09                    3767        ADD     HL,BC\r
+    000019FF 4D                    3768        LD      C,L\r
+    00001A00 44                    3769        LD      B,H\r
+    00001A01 11 03 01              3770        LD      DE,259\r
+    00001A04 CD 58 1D              3771        CALL    LWRD ?0492\r
+    00001A07 EB                    3772        EX      DE,HL\r
+    00001A08 D1                    3773        POP     DE\r
+    00001A09 A7                    3774        AND     A\r
+    00001A0A ED 52                 3775        SBC     HL,DE\r
+    00001A0C 2B                    3776        DEC     HL\r
+    00001A0D 2B                    3777        DEC     HL\r
+    00001A0E 2B                    3778        DEC     HL\r
+    00001A0F E5                    3779        PUSH    HL\r
+    00001A10 CD 64 1D              3780        CALL    LWRD ?0493\r
+    00001A13 D5                    3781        PUSH    DE\r
+    00001A14 CD 50 1D              3782        CALL    LWRD ?0491\r
+    00001A17 3E 93                 3783        LD      A,BYTE3 Button_new\r
+    00001A19 21 93 12              3784        LD      HL,LWRD Button_new\r
+    00001A1C C1                    3785        POP     BC\r
+    00001A1D CD 00 00              3786        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001A20 F1                    3787        POP     AF\r
+    00001A21 F1                    3788        POP     AF\r
+    00001A22 F1                    3789        POP     AF\r
+    00001A23 E5                    3790        PUSH    HL\r
+    00001A24 FD E1                 3791        POP     IY\r
+    00001A26 DD 7E D8              3792        LD      A,(IX-40)\r
+    00001A29 FE 4D                 3793        CP      77\r
+    00001A2B 20 04                 3794        JR      NZ,?0266\r
+    00001A2D                       3795 ?0265:\r
+    00001A2D FD CB 0A F6           3796        SET     6,(IY+10)\r
+    00001A31                       3797 ?0266:\r
+    00001A31 DD 36 F4 01           3798        LD      (IX-12),1\r
+    00001A35                       3799 ?0262:\r
+    00001A35 DD 7E D8              3800        LD      A,(IX-40)\r
+    00001A38 FE 54                 3801        CP      84\r
+    00001A3A 20 43                 3802        JR      NZ,?0268\r
+    00001A3C                       3803 ?0267:\r
+    00001A3C DD 4E DD              3804        LD      C,(IX-35)\r
+    00001A3F 06 00                 3805        LD      B,0\r
+    00001A41 C5                    3806        PUSH    BC\r
+    00001A42 CD 3A 1D              3807        CALL    LWRD ?0490\r
+    00001A45 D5                    3808        PUSH    DE\r
+    00001A46 CD 50 1D              3809        CALL    LWRD ?0491\r
+    00001A49 D5                    3810        PUSH    DE\r
+    00001A4A DD 6E DB              3811        LD      L,(IX-37)\r
+    00001A4D 26 00                 3812        LD      H,0\r
+    00001A4F 44                    3813        LD      B,H\r
+    00001A50 DD 4E D9              3814        LD      C,(IX-39)\r
+    00001A53 09                    3815        ADD     HL,BC\r
+    00001A54 4D                    3816        LD      C,L\r
+    00001A55 44                    3817        LD      B,H\r
+    00001A56 11 03 01              3818        LD      DE,259\r
+    00001A59 CD 58 1D              3819        CALL    LWRD ?0492\r
+    00001A5C EB                    3820        EX      DE,HL\r
+    00001A5D D1                    3821        POP     DE\r
+    00001A5E A7                    3822        AND     A\r
+    00001A5F ED 52                 3823        SBC     HL,DE\r
+    00001A61 2B                    3824        DEC     HL\r
+    00001A62 2B                    3825        DEC     HL\r
+    00001A63 2B                    3826        DEC     HL\r
+    00001A64 E5                    3827        PUSH    HL\r
+    00001A65 CD 64 1D              3828        CALL    LWRD ?0493\r
+    00001A68 D5                    3829        PUSH    DE\r
+    00001A69 CD 50 1D              3830        CALL    LWRD ?0491\r
+    00001A6C 3E 78                 3831        LD      A,BYTE3 ToggleButton_new\r
+    00001A6E 21 78 14              3832        LD      HL,LWRD ToggleButton_new\r
+    00001A71 C1                    3833        POP     BC\r
+    00001A72 CD 00 00              3834        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001A75 F1                    3835        POP     AF\r
+    00001A76 F1                    3836        POP     AF\r
+    00001A77 F1                    3837        POP     AF\r
+    00001A78 E5                    3838        PUSH    HL\r
+    00001A79 FD E1                 3839        POP     IY\r
+    00001A7B DD 36 F4 01           3840        LD      (IX-12),1\r
+    00001A7F                       3841 ?0268:\r
+    00001A7F DD 7E D8              3842        LD      A,(IX-40)\r
+    00001A82 FE 44                 3843        CP      68\r
+    00001A84 20 43                 3844        JR      NZ,?0270\r
+    00001A86                       3845 ?0269:\r
+    00001A86 DD 4E DD              3846        LD      C,(IX-35)\r
+    00001A89 06 00                 3847        LD      B,0\r
+    00001A8B C5                    3848        PUSH    BC\r
+    00001A8C CD 3A 1D              3849        CALL    LWRD ?0490\r
+    00001A8F D5                    3850        PUSH    DE\r
+    00001A90 CD 50 1D              3851        CALL    LWRD ?0491\r
+    00001A93 D5                    3852        PUSH    DE\r
+    00001A94 DD 6E DB              3853        LD      L,(IX-37)\r
+    00001A97 26 00                 3854        LD      H,0\r
+    00001A99 44                    3855        LD      B,H\r
+    00001A9A DD 4E D9              3856        LD      C,(IX-39)\r
+    00001A9D 09                    3857        ADD     HL,BC\r
+    00001A9E 4D                    3858        LD      C,L\r
+    00001A9F 44                    3859        LD      B,H\r
+    00001AA0 11 03 01              3860        LD      DE,259\r
+    00001AA3 CD 58 1D              3861        CALL    LWRD ?0492\r
+    00001AA6 EB                    3862        EX      DE,HL\r
+    00001AA7 D1                    3863        POP     DE\r
+    00001AA8 A7                    3864        AND     A\r
+    00001AA9 ED 52                 3865        SBC     HL,DE\r
+    00001AAB 2B                    3866        DEC     HL\r
+    00001AAC 2B                    3867        DEC     HL\r
+    00001AAD 2B                    3868        DEC     HL\r
+    00001AAE E5                    3869        PUSH    HL\r
+    00001AAF CD 64 1D              3870        CALL    LWRD ?0493\r
+    00001AB2 D5                    3871        PUSH    DE\r
+    00001AB3 CD 50 1D              3872        CALL    LWRD ?0491\r
+    00001AB6 3E 43                 3873        LD      A,BYTE3 Display_new\r
+    00001AB8 21 43 18              3874        LD      HL,LWRD Display_new\r
+    00001ABB C1                    3875        POP     BC\r
+    00001ABC CD 00 00              3876        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001ABF F1                    3877        POP     AF\r
+    00001AC0 F1                    3878        POP     AF\r
+    00001AC1 F1                    3879        POP     AF\r
+    00001AC2 E5                    3880        PUSH    HL\r
+    00001AC3 FD E1                 3881        POP     IY\r
+    00001AC5 DD 36 F4 01           3882        LD      (IX-12),1\r
+    00001AC9                       3883 ?0270:\r
+    00001AC9 DD 7E D8              3884        LD      A,(IX-40)\r
+    00001ACC FE 4C                 3885        CP      76\r
+    00001ACE 20 46                 3886        JR      NZ,?0272\r
+    00001AD0                       3887 ?0271:\r
+    00001AD0 21 0C 00              3888        LD      HL,12\r
+    00001AD3 39                    3889        ADD     HL,SP\r
+    00001AD4 01 12 00              3890        LD      BC,18\r
+    00001AD7 09                    3891        ADD     HL,BC\r
+    00001AD8 E5                    3892        PUSH    HL\r
+    00001AD9 CD 3A 1D              3893        CALL    LWRD ?0490\r
+    00001ADC D5                    3894        PUSH    DE\r
+    00001ADD CD 50 1D              3895        CALL    LWRD ?0491\r
+    00001AE0 D5                    3896        PUSH    DE\r
+    00001AE1 DD 6E DB              3897        LD      L,(IX-37)\r
+    00001AE4 26 00                 3898        LD      H,0\r
+    00001AE6 44                    3899        LD      B,H\r
+    00001AE7 DD 4E D9              3900        LD      C,(IX-39)\r
+    00001AEA 09                    3901        ADD     HL,BC\r
+    00001AEB 4D                    3902        LD      C,L\r
+    00001AEC 44                    3903        LD      B,H\r
+    00001AED 11 03 01              3904        LD      DE,259\r
+    00001AF0 CD 58 1D              3905        CALL    LWRD ?0492\r
+    00001AF3 EB                    3906        EX      DE,HL\r
+    00001AF4 D1                    3907        POP     DE\r
+    00001AF5 A7                    3908        AND     A\r
+    00001AF6 ED 52                 3909        SBC     HL,DE\r
+    00001AF8 2B                    3910        DEC     HL\r
+    00001AF9 2B                    3911        DEC     HL\r
+    00001AFA 2B                    3912        DEC     HL\r
+    00001AFB E5                    3913        PUSH    HL\r
+    00001AFC CD 64 1D              3914        CALL    LWRD ?0493\r
+    00001AFF D5                    3915        PUSH    DE\r
+    00001B00 CD 50 1D              3916        CALL    LWRD ?0491\r
+    00001B03 3E 09                 3917        LD      A,BYTE3 Label_new\r
+    00001B05 21 09 19              3918        LD      HL,LWRD Label_new\r
+    00001B08 C1                    3919        POP     BC\r
+    00001B09 CD 00 00              3920        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001B0C F1                    3921        POP     AF\r
+    00001B0D F1                    3922        POP     AF\r
+    00001B0E F1                    3923        POP     AF\r
+    00001B0F E5                    3924        PUSH    HL\r
+    00001B10 FD E1                 3925        POP     IY\r
+    00001B12 DD 36 F4 01           3926        LD      (IX-12),1\r
+    00001B16                       3927 ?0272:\r
+    00001B16 DD 7E D8              3928        LD      A,(IX-40)\r
+    00001B19 FE 41                 3929        CP      65\r
+    00001B1B 20 51                 3930        JR      NZ,?0274\r
+    00001B1D                       3931 ?0273:\r
+    00001B1D 21 26 00              3932        LD      HL,38\r
+    00001B20 DD 4E 02              3933        LD      C,(IX+2)\r
+    00001B23 DD 46 03              3934        LD      B,(IX+3)\r
+    00001B26 09                    3935        ADD     HL,BC\r
+    00001B27 E5                    3936        PUSH    HL\r
+    00001B28 21 2B 00              3937        LD      HL,43\r
+    00001B2B 39                    3938        ADD     HL,SP\r
+    00001B2C EB                    3939        EX      DE,HL\r
+    00001B2D E1                    3940        POP     HL\r
+    00001B2E 73                    3941        LD      (HL),E\r
+    00001B2F 23                    3942        INC     HL\r
+    00001B30 72                    3943        LD      (HL),D\r
+    00001B31 DD 6E DE              3944        LD      L,(IX-34)\r
+    00001B34 DD 66 DF              3945        LD      H,(IX-33)\r
+    00001B37 DD 75 F8              3946        LD      (IX-8),L\r
+    00001B3A DD 74 F9              3947        LD      (IX-7),H\r
+    00001B3D DD 6E E0              3948        LD      L,(IX-32)\r
+    00001B40 DD 66 E1              3949        LD      H,(IX-31)\r
+    00001B43 DD 75 FA              3950        LD      (IX-6),L\r
+    00001B46 DD 74 FB              3951        LD      (IX-5),H\r
+    00001B49 21 16 00              3952        LD      HL,22\r
+    00001B4C 39                    3953        ADD     HL,SP\r
+    00001B4D 4E                    3954        LD      C,(HL)\r
+    00001B4E 23                    3955        INC     HL\r
+    00001B4F 46                    3956        LD      B,(HL)\r
+    00001B50 23                    3957        INC     HL\r
+    00001B51 5E                    3958        LD      E,(HL)\r
+    00001B52 23                    3959        INC     HL\r
+    00001B53 56                    3960        LD      D,(HL)\r
+    00001B54 DD 71 FC              3961        LD      (IX-4),C\r
+    00001B57 DD 70 FD              3962        LD      (IX-3),B\r
+    00001B5A DD 73 FE              3963        LD      (IX-2),E\r
+    00001B5D DD 72 FF              3964        LD      (IX-1),D\r
+    00001B60 DD 5E 02              3965        LD      E,(IX+2)\r
+    00001B63 DD 56 03              3966        LD      D,(IX+3)\r
+    00001B66 3E 78                 3967        LD      A,BYTE3 root_actionhandler\r
+    00001B68 21 78 1D              3968        LD      HL,LWRD root_actionhandler\r
+    00001B6B CD 00 00              3969        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001B6E                       3970 ?0274:\r
+    00001B6E DD 7E D8              3971        LD      A,(IX-40)\r
+    00001B71 FE 53                 3972        CP      83\r
+    00001B73 20 71                 3973        JR      NZ,?0276\r
+    00001B75                       3974 ?0275:\r
+    00001B75 21 0C 00              3975        LD      HL,12\r
+    00001B78 39                    3976        ADD     HL,SP\r
+    00001B79 4D                    3977        LD      C,L\r
+    00001B7A 44                    3978        LD      B,H\r
+    00001B7B DD 5E D4              3979        LD      E,(IX-44)\r
+    00001B7E DD 56 D5              3980        LD      D,(IX-43)\r
+    00001B81 3E C7                 3981        LD      A,BYTE3 read_stringtable\r
+    00001B83 21 C7 20              3982        LD      HL,LWRD read_stringtable\r
+    00001B86 CD 00 00              3983        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001B89 21 26 00              3984        LD      HL,38\r
+    00001B8C DD 4E 02              3985        LD      C,(IX+2)\r
+    00001B8F DD 46 03              3986        LD      B,(IX+3)\r
+    00001B92 09                    3987        ADD     HL,BC\r
+    00001B93 E5                    3988        PUSH    HL\r
+    00001B94 11 04 00              3989        LD      DE,4\r
+    00001B97 CD 32 1D              3990        CALL    LWRD ?0466\r
+    00001B9A EB                    3991        EX      DE,HL\r
+    00001B9B E1                    3992        POP     HL\r
+    00001B9C 73                    3993        LD      (HL),E\r
+    00001B9D 23                    3994        INC     HL\r
+    00001B9E 72                    3995        LD      (HL),D\r
+    00001B9F 21 26 00              3996        LD      HL,38\r
+    00001BA2 09                    3997        ADD     HL,BC\r
+    00001BA3 56                    3998        LD      D,(HL)\r
+    00001BA4 DD 72 F5              3999        LD      (IX-11),D\r
+    00001BA7 23                    4000        INC     HL\r
+    00001BA8 66                    4001        LD      H,(HL)\r
+    00001BA9 DD 74 F6              4002        LD      (IX-10),H\r
+    00001BAC 21 24 00              4003        LD      HL,36\r
+    00001BAF 09                    4004        ADD     HL,BC\r
+    00001BB0 36 04                 4005        LD      (HL),4\r
+    00001BB2 23                    4006        INC     HL\r
+    00001BB3 36 00                 4007        LD      (HL),0\r
+    00001BB5 6A                    4008        LD      L,D\r
+    00001BB6 DD 66 F6              4009        LD      H,(IX-10)\r
+    00001BB9 23                    4010        INC     HL\r
+    00001BBA 23                    4011        INC     HL\r
+    00001BBB E5                    4012        PUSH    HL\r
+    00001BBC 21 0C 00              4013        LD      HL,12\r
+    00001BBF ED 4B 00 00           4014        LD      BC,(global)\r
+    00001BC3 09                    4015        ADD     HL,BC\r
+    00001BC4 5E                    4016        LD      E,(HL)\r
+    00001BC5 23                    4017        INC     HL\r
+    00001BC6 56                    4018        LD      D,(HL)\r
+    00001BC7 E1                    4019        POP     HL\r
+    00001BC8 73                    4020        LD      (HL),E\r
+    00001BC9 23                    4021        INC     HL\r
+    00001BCA 72                    4022        LD      (HL),D\r
+    00001BCB 21 0A 00              4023        LD      HL,10\r
+    00001BCE ED 4B 00 00           4024        LD      BC,(global)\r
+    00001BD2 09                    4025        ADD     HL,BC\r
+    00001BD3 46                    4026        LD      B,(HL)\r
+    00001BD4 23                    4027        INC     HL\r
+    00001BD5 66                    4028        LD      H,(HL)\r
+    00001BD6 68                    4029        LD      L,B\r
+    00001BD7 E5                    4030        PUSH    HL\r
+    00001BD8 DD 6E F5              4031        LD      L,(IX-11)\r
+    00001BDB DD 66 F6              4032        LD      H,(IX-10)\r
+    00001BDE C1                    4033        POP     BC\r
+    00001BDF 71                    4034        LD      (HL),C\r
+    00001BE0 23                    4035        INC     HL\r
+    00001BE1 70                    4036        LD      (HL),B\r
+    00001BE2 DD 36 F4 00           4037        LD      (IX-12),0\r
+    00001BE6                       4038 ?0276:\r
+    00001BE6 AF                    4039        XOR     A\r
+    00001BE7 DD B6 F4              4040        OR      (IX-12)\r
+    00001BEA CA E6 1C              4041        JP      Z,?0278\r
+    00001BED                       4042 ?0277:\r
+    00001BED DD 7E DE              4043        LD      A,(IX-34)\r
+    00001BF0 DD B6 DF              4044        OR      (IX-33)\r
+    00001BF3 28 69                 4045        JR      Z,?0280\r
+    00001BF5                       4046 ?0279:\r
+    00001BF5 FD CB 0A EE           4047        SET     5,(IY+10)\r
+    00001BF9 FD 36 24 0B           4048        LD      (IY+36),11\r
+    00001BFD FD 36 25 00           4049        LD      (IY+37),0\r
+    00001C01 11 0B 00              4050        LD      DE,11\r
+    00001C04 CD 32 1D              4051        CALL    LWRD ?0466\r
+    00001C07 FD 75 26              4052        LD      (IY+38),L\r
+    00001C0A FD 74 27              4053        LD      (IY+39),H\r
+    00001C0D FD 6E 26              4054        LD      L,(IY+38)\r
+    00001C10 DD 75 D0              4055        LD      (IX-48),L\r
+    00001C13 FD 66 27              4056        LD      H,(IY+39)\r
+    00001C16 DD 74 D1              4057        LD      (IX-47),H\r
+    00001C19 36 78                 4058        LD      (HL),LOW(root_actionhandler)\r
+    00001C1B 23                    4059        INC     HL\r
+    00001C1C 36 1D                 4060        LD      (HL),HIGH(root_actionhandler)\r
+    00001C1E 23                    4061        INC     HL\r
+    00001C1F 36 78                 4062        LD      (HL),BYTE3 root_actionhandler\r
+    00001C21 DD 6E D0              4063        LD      L,(IX-48)\r
+    00001C24 DD 66 D1              4064        LD      H,(IX-47)\r
+    00001C27 23                    4065        INC     HL\r
+    00001C28 23                    4066        INC     HL\r
+    00001C29 23                    4067        INC     HL\r
+    00001C2A DD 4E DE              4068        LD      C,(IX-34)\r
+    00001C2D 71                    4069        LD      (HL),C\r
+    00001C2E DD 46 DF              4070        LD      B,(IX-33)\r
+    00001C31 23                    4071        INC     HL\r
+    00001C32 70                    4072        LD      (HL),B\r
+    00001C33 21 05 00              4073        LD      HL,5\r
+    00001C36 DD 4E D0              4074        LD      C,(IX-48)\r
+    00001C39 DD 46 D1              4075        LD      B,(IX-47)\r
+    00001C3C 09                    4076        ADD     HL,BC\r
+    00001C3D DD 5E E0              4077        LD      E,(IX-32)\r
+    00001C40 73                    4078        LD      (HL),E\r
+    00001C41 DD 56 E1              4079        LD      D,(IX-31)\r
+    00001C44 23                    4080        INC     HL\r
+    00001C45 72                    4081        LD      (HL),D\r
+    00001C46 21 07 00              4082        LD      HL,7\r
+    00001C49 09                    4083        ADD     HL,BC\r
+    00001C4A E5                    4084        PUSH    HL\r
+    00001C4B 21 18 00              4085        LD      HL,24\r
+    00001C4E 39                    4086        ADD     HL,SP\r
+    00001C4F 5E                    4087        LD      E,(HL)\r
+    00001C50 23                    4088        INC     HL\r
+    00001C51 56                    4089        LD      D,(HL)\r
+    00001C52 23                    4090        INC     HL\r
+    00001C53 4E                    4091        LD      C,(HL)\r
+    00001C54 23                    4092        INC     HL\r
+    00001C55 46                    4093        LD      B,(HL)\r
+    00001C56 E1                    4094        POP     HL\r
+    00001C57 73                    4095        LD      (HL),E\r
+    00001C58 23                    4096        INC     HL\r
+    00001C59 72                    4097        LD      (HL),D\r
+    00001C5A 23                    4098        INC     HL\r
+    00001C5B 71                    4099        LD      (HL),C\r
+    00001C5C 23                    4100        INC     HL\r
+    00001C5D 70                    4101        LD      (HL),B\r
+    00001C5E                       4102 ?0280:\r
+    00001C5E DD 7E E6              4103        LD      A,(IX-26)\r
+    00001C61 DD B6 E7              4104        OR      (IX-25)\r
+    00001C64 28 0C                 4105        JR      Z,?0282\r
+    00001C66                       4106 ?0281:\r
+    00001C66 DD 6E E6              4107        LD      L,(IX-26)\r
+    00001C69 FD 75 0A              4108        LD      (IY+10),L\r
+    00001C6C DD 66 E7              4109        LD      H,(IX-25)\r
+    00001C6F FD 74 0B              4110        LD      (IY+11),H\r
+    00001C72                       4111 ?0282:\r
+    00001C72 DD 6E E8              4112        LD      L,(IX-24)\r
+    00001C75 FD 75 0E              4113        LD      (IY+14),L\r
+    00001C78 DD 66 E9              4114        LD      H,(IX-23)\r
+    00001C7B FD 74 0F              4115        LD      (IY+15),H\r
+    00001C7E DD 6E EA              4116        LD      L,(IX-22)\r
+    00001C81 FD 75 20              4117        LD      (IY+32),L\r
+    00001C84 DD 7E EB              4118        LD      A,(IX-21)\r
+    00001C87 E6 0F                 4119        AND     15\r
+    00001C89 FD 77 21              4120        LD      (IY+33),A\r
+    00001C8C FD 7E 20              4121        LD      A,(IY+32)\r
+    00001C8F FD B6 21              4122        OR      (IY+33)\r
+    00001C92 20 16                 4123        JR      NZ,?0284\r
+    00001C94                       4124 ?0283:\r
+    00001C94 11 14 00              4125        LD      DE,20\r
+    00001C97 CD 32 1D              4126        CALL    LWRD ?0466\r
+    00001C9A FD 75 20              4127        LD      (IY+32),L\r
+    00001C9D FD 74 21              4128        LD      (IY+33),H\r
+    00001CA0 FD 6E 20              4129        LD      L,(IY+32)\r
+    00001CA3 FD 66 21              4130        LD      H,(IY+33)\r
+    00001CA6 36 00                 4131        LD      (HL),0\r
+    00001CA8 18 04                 4132        JR      ?0285\r
+    00001CAA                       4133 ?0284:\r
+    00001CAA FD CB 0B F6           4134        SET     6,(IY+11)\r
+    00001CAE                       4135 ?0285:\r
+    00001CAE DD 7E EB              4136        LD      A,(IX-21)\r
+    00001CB1 2E 00                 4137        LD      L,0\r
+    00001CB3 4D                    4138        LD      C,L\r
+    00001CB4 E6 F0                 4139        AND     240\r
+    00001CB6 47                    4140        LD      B,A\r
+    00001CB7 26 10                 4141        LD      H,16\r
+    00001CB9 ED 42                 4142        SBC     HL,BC\r
+    00001CBB 30 10                 4143        JR      NC,?0287\r
+    00001CBD                       4144 ?0286:\r
+    00001CBD DD 6E EA              4145        LD      L,(IX-22)\r
+    00001CC0 DD 7E EB              4146        LD      A,(IX-21)\r
+    00001CC3 E6 0F                 4147        AND     15\r
+    00001CC5 67                    4148        LD      H,A\r
+    00001CC6 23                    4149        INC     HL\r
+    00001CC7 FD 75 22              4150        LD      (IY+34),L\r
+    00001CCA FD 74 23              4151        LD      (IY+35),H\r
+    00001CCD                       4152 ?0287:\r
+    00001CCD FD E5                 4153        PUSH    IY\r
+    00001CCF DD 5E 02              4154        LD      E,(IX+2)\r
+    00001CD2 4B                    4155        LD      C,E\r
+    00001CD3 DD 56 03              4156        LD      D,(IX+3)\r
+    00001CD6 42                    4157        LD      B,D\r
+    00001CD7 21 1D 00              4158        LD      HL,29\r
+    00001CDA 09                    4159        ADD     HL,BC\r
+    00001CDB 4E                    4160        LD      C,(HL)\r
+    00001CDC 23                    4161        INC     HL\r
+    00001CDD 46                    4162        LD      B,(HL)\r
+    00001CDE 23                    4163        INC     HL\r
+    00001CDF 7E                    4164        LD      A,(HL)\r
+    00001CE0 69                    4165        LD      L,C\r
+    00001CE1 60                    4166        LD      H,B\r
+    00001CE2 C1                    4167        POP     BC\r
+    00001CE3 CD 00 00              4168        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001CE6                       4169 ?0278:\r
+    00001CE6 21 14 00              4170        LD      HL,20\r
+    00001CE9 E5                    4171        PUSH    HL\r
+    00001CEA 2E 0E                 4172        LD      L,14\r
+    00001CEC 39                    4173        ADD     HL,SP\r
+    00001CED 4D                    4174        LD      C,L\r
+    00001CEE 44                    4175        LD      B,H\r
+    00001CEF DD 5E D4              4176        LD      E,(IX-44)\r
+    00001CF2 DD 56 D5              4177        LD      D,(IX-43)\r
+    00001CF5 3E 00                 4178        LD      A,BYTE3 _read\r
+    00001CF7 21 00 00              4179        LD      HL,LWRD _read\r
+    00001CFA CD 00 00              4180        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001CFD F1                    4181        POP     AF\r
+    00001CFE 3E 14                 4182        LD      A,20\r
+    00001D00 AD                    4183        XOR     L\r
+    00001D01 B4                    4184        OR      H\r
+    00001D02 CA B6 19              4185        JP      Z,?0258\r
+    00001D05                       4186 ?0256:\r
+    00001D05 DD 5E D4              4187        LD      E,(IX-44)\r
+    00001D08 DD 56 D5              4188        LD      D,(IX-43)\r
+    00001D0B CD 56 01              4189        CALL    LWRD ?0469\r
+    00001D0E DD 5E 02              4190        LD      E,(IX+2)\r
+    00001D11 DD 56 03              4191        LD      D,(IX+3)\r
+    00001D14 3E AE                 4192        LD      A,BYTE3 Component_linkstringtable\r
+    00001D16 21 AE 0A              4193        LD      HL,LWRD Component_linkstringtable\r
+    00001D19 CD 00 00              4194        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001D1C DD 5E 02              4195        LD      E,(IX+2)\r
+    00001D1F 4B                    4196        LD      C,E\r
+    00001D20 DD 56 03              4197        LD      D,(IX+3)\r
+    00001D23 42                    4198        LD      B,D\r
+    00001D24 21 1A 00              4199        LD      HL,26\r
+    00001D27 09                    4200        ADD     HL,BC\r
+    00001D28 4E                    4201        LD      C,(HL)\r
+    00001D29 23                    4202        INC     HL\r
+    00001D2A 46                    4203        LD      B,(HL)\r
+    00001D2B 23                    4204        INC     HL\r
+    00001D2C 7E                    4205        LD      A,(HL)\r
+    00001D2D 69                    4206        LD      L,C\r
+    00001D2E 60                    4207        LD      H,B\r
+    00001D2F C3 99 11              4208        JP      LWRD ?0431\r
+    00001D32                       4209 ?0466:\r
+    00001D32 3E 00                 4210        LD      A,BYTE3 malloc\r
+    00001D34 21 00 00              4211        LD      HL,LWRD malloc\r
+    00001D37 C3 00 00              4212        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00001D3A                       4213 ?0490:\r
+    00001D3A DD 4E DC              4214        LD      C,(IX-36)\r
+    00001D3D 11 83 00              4215        LD      DE,131\r
+    00001D40 CD 00 00              4216        CALL    LWRD ?S_MUL_L02\r
+    00001D43 DD 4E F2              4217        LD      C,(IX-14)\r
+    00001D46 DD 46 F3              4218        LD      B,(IX-13)\r
+    00001D49 CD 00 00              4219        CALL    LWRD ?SS_DIV_L02\r
+    00001D4C 1B                    4220        DEC     DE\r
+    00001D4D 1B                    4221        DEC     DE\r
+    00001D4E 1B                    4222        DEC     DE\r
+    00001D4F C9                    4223        RET\r
+    00001D50                       4224 ?0491:\r
+    00001D50 DD 5E D9              4225        LD      E,(IX-39)\r
+    00001D53 16 00                 4226        LD      D,0\r
+    00001D55 01 03 01              4227        LD      BC,259\r
+    00001D58                       4228 ?0492:\r
+    00001D58 CD 00 00              4229        CALL    LWRD ?S_MUL_L02\r
+    00001D5B DD 4E F0              4230        LD      C,(IX-16)\r
+    00001D5E DD 46 F1              4231        LD      B,(IX-15)\r
+    00001D61 C3 00 00              4232        JP      LWRD ?SS_DIV_L02\r
+    00001D64                       4233 ?0493:\r
+    00001D64 DD 5E DA              4234        LD      E,(IX-38)\r
+    00001D67 16 00                 4235        LD      D,0\r
+    00001D69 01 83 00              4236        LD      BC,131\r
+    00001D6C CD 00 00              4237        CALL    LWRD ?S_MUL_L02\r
+    00001D6F DD 4E F2              4238        LD      C,(IX-14)\r
+    00001D72 DD 46 F3              4239        LD      B,(IX-13)\r
+    00001D75 C3 00 00              4240        JP      LWRD ?SS_DIV_L02\r
+    00001D78                       4241 root_actionhandler:\r
+    00001D78 CD 00 00              4242        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00001D7B F8 FF                 4243        DEFW    65528\r
+    00001D7D FD E5                 4244        PUSH    IY\r
+    00001D7F DD 6E 02              4245        LD      L,(IX+2)\r
+    00001D82 DD 66 03              4246        LD      H,(IX+3)\r
+    00001D85 E5                    4247        PUSH    HL\r
+    00001D86 FD E1                 4248        POP     IY\r
+    00001D88 FD 6E 26              4249        LD      L,(IY+38)\r
+    00001D8B DD 75 F8              4250        LD      (IX-8),L\r
+    00001D8E FD 66 27              4251        LD      H,(IY+39)\r
+    00001D91 DD 74 F9              4252        LD      (IX-7),H\r
+    00001D94 23                    4253        INC     HL\r
+    00001D95 23                    4254        INC     HL\r
+    00001D96 23                    4255        INC     HL\r
+    00001D97 3E 01                 4256        LD      A,1\r
+    00001D99 AE                    4257        XOR     (HL)\r
+    00001D9A 23                    4258        INC     HL\r
+    00001D9B B6                    4259        OR      (HL)\r
+    00001D9C 20 0A                 4260        JR      NZ,?0289\r
+    00001D9E                       4261 ?0288:\r
+    00001D9E 6F                    4262        LD      L,A\r
+    00001D9F 67                    4263        LD      H,A\r
+    00001DA0 E5                    4264        PUSH    HL\r
+    00001DA1 01 01 05              4265        LD      BC,1281\r
+    00001DA4 CD 10 0E              4266        CALL    LWRD ?0476\r
+    00001DA7 E1                    4267        POP     HL\r
+    00001DA8                       4268 ?0289:\r
+    00001DA8 DD 6E F8              4269        LD      L,(IX-8)\r
+    00001DAB DD 66 F9              4270        LD      H,(IX-7)\r
+    00001DAE 23                    4271        INC     HL\r
+    00001DAF 23                    4272        INC     HL\r
+    00001DB0 23                    4273        INC     HL\r
+    00001DB1 46                    4274        LD      B,(HL)\r
+    00001DB2 23                    4275        INC     HL\r
+    00001DB3 66                    4276        LD      H,(HL)\r
+    00001DB4 68                    4277        LD      L,B\r
+    00001DB5 CB 85                 4278        RES     0,L\r
+    00001DB7 3E 02                 4279        LD      A,2\r
+    00001DB9 AD                    4280        XOR     L\r
+    00001DBA B4                    4281        OR      H\r
+    00001DBB C2 A7 1E              4282        JP      NZ,?0291\r
+    00001DBE                       4283 ?0290:\r
+    00001DBE 21 05 00              4284        LD      HL,5\r
+    00001DC1 DD 4E F8              4285        LD      C,(IX-8)\r
+    00001DC4 DD 46 F9              4286        LD      B,(IX-7)\r
+    00001DC7 09                    4287        ADD     HL,BC\r
+    00001DC8 56                    4288        LD      D,(HL)\r
+    00001DC9 23                    4289        INC     HL\r
+    00001DCA 7E                    4290        LD      A,(HL)\r
+    00001DCB 6A                    4291        LD      L,D\r
+    00001DCC E6 0F                 4292        AND     15\r
+    00001DCE 67                    4293        LD      H,A\r
+    00001DCF 29                    4294        ADD     HL,HL\r
+    00001DD0 E5                    4295        PUSH    HL\r
+    00001DD1 21 0C 00              4296        LD      HL,12\r
+    00001DD4 ED 5B 00 00           4297        LD      DE,(global)\r
+    00001DD8 19                    4298        ADD     HL,DE\r
+    00001DD9 5E                    4299        LD      E,(HL)\r
+    00001DDA 23                    4300        INC     HL\r
+    00001DDB 56                    4301        LD      D,(HL)\r
+    00001DDC E1                    4302        POP     HL\r
+    00001DDD 19                    4303        ADD     HL,DE\r
+    00001DDE 2B                    4304        DEC     HL\r
+    00001DDF 2B                    4305        DEC     HL\r
+    00001DE0 56                    4306        LD      D,(HL)\r
+    00001DE1 DD 72 FC              4307        LD      (IX-4),D\r
+    00001DE4 23                    4308        INC     HL\r
+    00001DE5 66                    4309        LD      H,(HL)\r
+    00001DE6 DD 74 FD              4310        LD      (IX-3),H\r
+    00001DE9 21 00 00              4311        LD      HL,0\r
+    00001DEC E5                    4312        PUSH    HL\r
+    00001DED E5                    4313        PUSH    HL\r
+    00001DEE 01 01 00              4314        LD      BC,1\r
+    00001DF1 FD 5E 11              4315        LD      E,(IY+17)\r
+    00001DF4 FD 56 12              4316        LD      D,(IY+18)\r
+    00001DF7 3E 45                 4317        LD      A,BYTE3 Component_changestate_children\r
+    00001DF9 21 45 0A              4318        LD      HL,LWRD Component_changestate_children\r
+    00001DFC CD 00 00              4319        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001DFF E1                    4320        POP     HL\r
+    00001E00 E1                    4321        POP     HL\r
+    00001E01 FD 6E 11              4322        LD      L,(IY+17)\r
+    00001E04 FD 66 12              4323        LD      H,(IY+18)\r
+    00001E07 01 08 00              4324        LD      BC,8\r
+    00001E0A 09                    4325        ADD     HL,BC\r
+    00001E0B 4E                    4326        LD      C,(HL)\r
+    00001E0C 23                    4327        INC     HL\r
+    00001E0D 46                    4328        LD      B,(HL)\r
+    00001E0E C5                    4329        PUSH    BC\r
+    00001E0F FD 6E 11              4330        LD      L,(IY+17)\r
+    00001E12 FD 66 12              4331        LD      H,(IY+18)\r
+    00001E15 01 06 00              4332        LD      BC,6\r
+    00001E18 09                    4333        ADD     HL,BC\r
+    00001E19 4E                    4334        LD      C,(HL)\r
+    00001E1A 23                    4335        INC     HL\r
+    00001E1B 46                    4336        LD      B,(HL)\r
+    00001E1C C5                    4337        PUSH    BC\r
+    00001E1D 01 00 00              4338        LD      BC,0\r
+    00001E20 59                    4339        LD      E,C\r
+    00001E21 50                    4340        LD      D,B\r
+    00001E22 3E 11                 4341        LD      A,BYTE3 Window_new\r
+    00001E24 21 11 10              4342        LD      HL,LWRD Window_new\r
+    00001E27 CD 00 00              4343        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001E2A F1                    4344        POP     AF\r
+    00001E2B F1                    4345        POP     AF\r
+    00001E2C DD 75 FA              4346        LD      (IX-6),L\r
+    00001E2F DD 74 FB              4347        LD      (IX-5),H\r
+    00001E32 01 0A 00              4348        LD      BC,10\r
+    00001E35 09                    4349        ADD     HL,BC\r
+    00001E36 36 03                 4350        LD      (HL),3\r
+    00001E38 23                    4351        INC     HL\r
+    00001E39 70                    4352        LD      (HL),B\r
+    00001E3A DD 6E F8              4353        LD      L,(IX-8)\r
+    00001E3D DD 66 F9              4354        LD      H,(IX-7)\r
+    00001E40 23                    4355        INC     HL\r
+    00001E41 23                    4356        INC     HL\r
+    00001E42 23                    4357        INC     HL\r
+    00001E43 CB 46                 4358        BIT     0,(HL)\r
+    00001E45 28 0C                 4359        JR      Z,?0293\r
+    00001E47                       4360 ?0292:\r
+    00001E47 69                    4361        LD      L,C\r
+    00001E48 60                    4362        LD      H,B\r
+    00001E49 DD 4E FA              4363        LD      C,(IX-6)\r
+    00001E4C DD 46 FB              4364        LD      B,(IX-5)\r
+    00001E4F 09                    4365        ADD     HL,BC\r
+    00001E50 23                    4366        INC     HL\r
+    00001E51 CB EE                 4367        SET     5,(HL)\r
+    00001E53                       4368 ?0293:\r
+    00001E53 21 17 00              4369        LD      HL,23\r
+    00001E56 DD 4E FA              4370        LD      C,(IX-6)\r
+    00001E59 DD 46 FB              4371        LD      B,(IX-5)\r
+    00001E5C 09                    4372        ADD     HL,BC\r
+    00001E5D 36 6D                 4373        LD      (HL),LOW(rootWindow_handler)\r
+    00001E5F 23                    4374        INC     HL\r
+    00001E60 36 19                 4375        LD      (HL),HIGH(rootWindow_handler)\r
+    00001E62 23                    4376        INC     HL\r
+    00001E63 36 6D                 4377        LD      (HL),BYTE3 rootWindow_handler\r
+    00001E65 21 1A 00              4378        LD      HL,26\r
+    00001E68 09                    4379        ADD     HL,BC\r
+    00001E69 36 CC                 4380        LD      (HL),LOW(Root_paint)\r
+    00001E6B 23                    4381        INC     HL\r
+    00001E6C 36 0F                 4382        LD      (HL),HIGH(Root_paint)\r
+    00001E6E 23                    4383        INC     HL\r
+    00001E6F 36 CC                 4384        LD      (HL),BYTE3 Root_paint\r
+    00001E71 DD 4E FC              4385        LD      C,(IX-4)\r
+    00001E74 DD 46 FD              4386        LD      B,(IX-3)\r
+    00001E77 DD 5E FA              4387        LD      E,(IX-6)\r
+    00001E7A DD 56 FB              4388        LD      D,(IX-5)\r
+    00001E7D 3E 8B                 4389        LD      A,BYTE3 screenbuilder\r
+    00001E7F 21 8B 19              4390        LD      HL,LWRD screenbuilder\r
+    00001E82 CD 00 00              4391        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001E85 DD 4E FA              4392        LD      C,(IX-6)\r
+    00001E88 DD 46 FB              4393        LD      B,(IX-5)\r
+    00001E8B C5                    4394        PUSH    BC\r
+    00001E8C FD 5E 11              4395        LD      E,(IY+17)\r
+    00001E8F FD 56 12              4396        LD      D,(IY+18)\r
+    00001E92 FD 6E 11              4397        LD      L,(IY+17)\r
+    00001E95 FD 66 12              4398        LD      H,(IY+18)\r
+    00001E98 01 1D 00              4399        LD      BC,29\r
+    00001E9B 09                    4400        ADD     HL,BC\r
+    00001E9C 4E                    4401        LD      C,(HL)\r
+    00001E9D 23                    4402        INC     HL\r
+    00001E9E 46                    4403        LD      B,(HL)\r
+    00001E9F 23                    4404        INC     HL\r
+    00001EA0 7E                    4405        LD      A,(HL)\r
+    00001EA1 69                    4406        LD      L,C\r
+    00001EA2 60                    4407        LD      H,B\r
+    00001EA3 C1                    4408        POP     BC\r
+    00001EA4 CD 00 00              4409        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001EA7                       4410 ?0291:\r
+    00001EA7 DD 6E F8              4411        LD      L,(IX-8)\r
+    00001EAA DD 66 F9              4412        LD      H,(IX-7)\r
+    00001EAD 23                    4413        INC     HL\r
+    00001EAE 23                    4414        INC     HL\r
+    00001EAF 23                    4415        INC     HL\r
+    00001EB0 3E 04                 4416        LD      A,4\r
+    00001EB2 AE                    4417        XOR     (HL)\r
+    00001EB3 23                    4418        INC     HL\r
+    00001EB4 B6                    4419        OR      (HL)\r
+    00001EB5 C2 45 20              4420        JP      NZ,?0295\r
+    00001EB8                       4421 ?0294:\r
+    00001EB8 21 01 00              4422        LD      HL,1\r
+    00001EBB E5                    4423        PUSH    HL\r
+    00001EBC FD 6E 11              4424        LD      L,(IY+17)\r
+    00001EBF FD 66 12              4425        LD      H,(IY+18)\r
+    00001EC2 01 08 00              4426        LD      BC,8\r
+    00001EC5 09                    4427        ADD     HL,BC\r
+    00001EC6 46                    4428        LD      B,(HL)\r
+    00001EC7 23                    4429        INC     HL\r
+    00001EC8 66                    4430        LD      H,(HL)\r
+    00001EC9 68                    4431        LD      L,B\r
+    00001ECA 01 F6 FF              4432        LD      BC,65526\r
+    00001ECD 09                    4433        ADD     HL,BC\r
+    00001ECE E5                    4434        PUSH    HL\r
+    00001ECF FD 6E 11              4435        LD      L,(IY+17)\r
+    00001ED2 FD 66 12              4436        LD      H,(IY+18)\r
+    00001ED5 01 06 00              4437        LD      BC,6\r
+    00001ED8 09                    4438        ADD     HL,BC\r
+    00001ED9 46                    4439        LD      B,(HL)\r
+    00001EDA 23                    4440        INC     HL\r
+    00001EDB 66                    4441        LD      H,(HL)\r
+    00001EDC 68                    4442        LD      L,B\r
+    00001EDD 01 F6 FF              4443        LD      BC,65526\r
+    00001EE0 09                    4444        ADD     HL,BC\r
+    00001EE1 E5                    4445        PUSH    HL\r
+    00001EE2 01 05 00              4446        LD      BC,5\r
+    00001EE5 59                    4447        LD      E,C\r
+    00001EE6 50                    4448        LD      D,B\r
+    00001EE7 3E 8E                 4449        LD      A,BYTE3 Dialog_new\r
+    00001EE9 21 8E 15              4450        LD      HL,LWRD Dialog_new\r
+    00001EEC CD 00 00              4451        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001EEF F1                    4452        POP     AF\r
+    00001EF0 F1                    4453        POP     AF\r
+    00001EF1 F1                    4454        POP     AF\r
+    00001EF2 DD 75 FA              4455        LD      (IX-6),L\r
+    00001EF5 DD 74 FB              4456        LD      (IX-5),H\r
+    00001EF8 01 0A 00              4457        LD      BC,10\r
+    00001EFB 09                    4458        ADD     HL,BC\r
+    00001EFC 36 03                 4459        LD      (HL),3\r
+    00001EFE 23                    4460        INC     HL\r
+    00001EFF 36 10                 4461        LD      (HL),16\r
+    00001F01 21 0E 00              4462        LD      HL,14\r
+    00001F04 DD 4E FA              4463        LD      C,(IX-6)\r
+    00001F07 DD 46 FB              4464        LD      B,(IX-5)\r
+    00001F0A 09                    4465        ADD     HL,BC\r
+    00001F0B 36 30                 4466        LD      (HL),48\r
+    00001F0D 23                    4467        INC     HL\r
+    00001F0E 36 00                 4468        LD      (HL),0\r
+    00001F10 AF                    4469        XOR     A\r
+    00001F11 DD 77 FE              4470        LD      (IX-2),A\r
+    00001F14 DD 77 FF              4471        LD      (IX-1),A\r
+    00001F17                       4472 ?0297:\r
+    00001F17 21 05 00              4473        LD      HL,5\r
+    00001F1A DD 4E F8              4474        LD      C,(IX-8)\r
+    00001F1D DD 46 F9              4475        LD      B,(IX-7)\r
+    00001F20 09                    4476        ADD     HL,BC\r
+    00001F21 5E                    4477        LD      E,(HL)\r
+    00001F22 23                    4478        INC     HL\r
+    00001F23 56                    4479        LD      D,(HL)\r
+    00001F24 06 0C                 4480        LD      B,12\r
+    00001F26 CD 00 00              4481        CALL    LWRD ?SS_RSH_L02\r
+    00001F29 4B                    4482        LD      C,E\r
+    00001F2A 42                    4483        LD      B,D\r
+    00001F2B DD 6E FE              4484        LD      L,(IX-2)\r
+    00001F2E DD 66 FF              4485        LD      H,(IX-1)\r
+    00001F31 CD 00 00              4486        CALL    LWRD ?SS_CMP_L02\r
+    00001F34 30 04                 4487        JR      NC,?0377\r
+    00001F36 3E 01                 4488        LD      A,1\r
+    00001F38 18 01                 4489        JR      ?0378\r
+    00001F3A                       4490 ?0377:\r
+    00001F3A AF                    4491        XOR     A\r
+    00001F3B                       4492 ?0378:\r
+    00001F3B E6 0F                 4493        AND     15\r
+    00001F3D CA D9 1F              4494        JP      Z,?0296\r
+    00001F40                       4495 ?0298:\r
+    00001F40 21 05 00              4496        LD      HL,5\r
+    00001F43 DD 4E F8              4497        LD      C,(IX-8)\r
+    00001F46 DD 46 F9              4498        LD      B,(IX-7)\r
+    00001F49 09                    4499        ADD     HL,BC\r
+    00001F4A 46                    4500        LD      B,(HL)\r
+    00001F4B 23                    4501        INC     HL\r
+    00001F4C 7E                    4502        LD      A,(HL)\r
+    00001F4D 68                    4503        LD      L,B\r
+    00001F4E E6 0F                 4504        AND     15\r
+    00001F50 67                    4505        LD      H,A\r
+    00001F51 DD 4E FE              4506        LD      C,(IX-2)\r
+    00001F54 DD 46 FF              4507        LD      B,(IX-1)\r
+    00001F57 09                    4508        ADD     HL,BC\r
+    00001F58 29                    4509        ADD     HL,HL\r
+    00001F59 E5                    4510        PUSH    HL\r
+    00001F5A 21 0C 00              4511        LD      HL,12\r
+    00001F5D ED 5B 00 00           4512        LD      DE,(global)\r
+    00001F61 19                    4513        ADD     HL,DE\r
+    00001F62 5E                    4514        LD      E,(HL)\r
+    00001F63 23                    4515        INC     HL\r
+    00001F64 56                    4516        LD      D,(HL)\r
+    00001F65 E1                    4517        POP     HL\r
+    00001F66 19                    4518        ADD     HL,DE\r
+    00001F67 2B                    4519        DEC     HL\r
+    00001F68 2B                    4520        DEC     HL\r
+    00001F69 5E                    4521        LD      E,(HL)\r
+    00001F6A 23                    4522        INC     HL\r
+    00001F6B 56                    4523        LD      D,(HL)\r
+    00001F6C D5                    4524        PUSH    DE\r
+    00001F6D 21 10 00              4525        LD      HL,16\r
+    00001F70 E5                    4526        PUSH    HL\r
+    00001F71 2E 06                 4527        LD      L,6\r
+    00001F73 DD 5E FA              4528        LD      E,(IX-6)\r
+    00001F76 DD 56 FB              4529        LD      D,(IX-5)\r
+    00001F79 19                    4530        ADD     HL,DE\r
+    00001F7A 6E                    4531        LD      L,(HL)\r
+    00001F7B 26 00                 4532        LD      H,0\r
+    00001F7D 01 F0 FF              4533        LD      BC,65520\r
+    00001F80 09                    4534        ADD     HL,BC\r
+    00001F81 E5                    4535        PUSH    HL\r
+    00001F82 DD 6E FE              4536        LD      L,(IX-2)\r
+    00001F85 DD 66 FF              4537        LD      H,(IX-1)\r
+    00001F88 29                    4538        ADD     HL,HL\r
+    00001F89 29                    4539        ADD     HL,HL\r
+    00001F8A 4D                    4540        LD      C,L\r
+    00001F8B 44                    4541        LD      B,H\r
+    00001F8C 29                    4542        ADD     HL,HL\r
+    00001F8D 09                    4543        ADD     HL,BC\r
+    00001F8E 01 14 00              4544        LD      BC,20\r
+    00001F91 09                    4545        ADD     HL,BC\r
+    00001F92 4D                    4546        LD      C,L\r
+    00001F93 44                    4547        LD      B,H\r
+    00001F94 11 08 00              4548        LD      DE,8\r
+    00001F97 3E 09                 4549        LD      A,BYTE3 Label_new\r
+    00001F99 21 09 19              4550        LD      HL,LWRD Label_new\r
+    00001F9C CD 00 00              4551        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001F9F F1                    4552        POP     AF\r
+    00001FA0 F1                    4553        POP     AF\r
+    00001FA1 F1                    4554        POP     AF\r
+    00001FA2 DD 75 FC              4555        LD      (IX-4),L\r
+    00001FA5 DD 74 FD              4556        LD      (IX-3),H\r
+    00001FA8 01 0E 00              4557        LD      BC,14\r
+    00001FAB 09                    4558        ADD     HL,BC\r
+    00001FAC 36 30                 4559        LD      (HL),48\r
+    00001FAE 23                    4560        INC     HL\r
+    00001FAF 70                    4561        LD      (HL),B\r
+    00001FB0 DD 4E FC              4562        LD      C,(IX-4)\r
+    00001FB3 DD 46 FD              4563        LD      B,(IX-3)\r
+    00001FB6 C5                    4564        PUSH    BC\r
+    00001FB7 DD 5E FA              4565        LD      E,(IX-6)\r
+    00001FBA 4B                    4566        LD      C,E\r
+    00001FBB DD 56 FB              4567        LD      D,(IX-5)\r
+    00001FBE 42                    4568        LD      B,D\r
+    00001FBF 21 1D 00              4569        LD      HL,29\r
+    00001FC2 09                    4570        ADD     HL,BC\r
+    00001FC3 4E                    4571        LD      C,(HL)\r
+    00001FC4 23                    4572        INC     HL\r
+    00001FC5 46                    4573        LD      B,(HL)\r
+    00001FC6 23                    4574        INC     HL\r
+    00001FC7 7E                    4575        LD      A,(HL)\r
+    00001FC8 69                    4576        LD      L,C\r
+    00001FC9 60                    4577        LD      H,B\r
+    00001FCA C1                    4578        POP     BC\r
+    00001FCB CD 00 00              4579        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001FCE DD 34 FE              4580        INC     (IX-2)\r
+    00001FD1 20 03                 4581        JR      NZ,?0379\r
+    00001FD3 DD 34 FF              4582        INC     (IX-1)\r
+    00001FD6                       4583 ?0379:\r
+    00001FD6 C3 17 1F              4584        JP      LWRD ?0297\r
+    00001FD9                       4585 ?0296:\r
+    00001FD9 01 2B 00              4586        LD      BC,?0300\r
+    00001FDC DD 5E FA              4587        LD      E,(IX-6)\r
+    00001FDF DD 56 FB              4588        LD      D,(IX-5)\r
+    00001FE2 3E E8                 4589        LD      A,BYTE3 Component_setlabel\r
+    00001FE4 21 E8 06              4590        LD      HL,LWRD Component_setlabel\r
+    00001FE7 CD 00 00              4591        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00001FEA 01 FF 00              4592        LD      BC,255\r
+    00001FED CD B9 20              4593        CALL    LWRD ?0485\r
+    00001FF0 01 0E 00              4594        LD      BC,14\r
+    00001FF3 09                    4595        ADD     HL,BC\r
+    00001FF4 36 30                 4596        LD      (HL),48\r
+    00001FF6 23                    4597        INC     HL\r
+    00001FF7 70                    4598        LD      (HL),B\r
+    00001FF8 0E FE                 4599        LD      C,254\r
+    00001FFA CD B9 20              4600        CALL    LWRD ?0485\r
+    00001FFD EB                    4601        EX      DE,HL\r
+    00001FFE CD 1E 0A              4602        CALL    LWRD ?0467\r
+    00002001 DD 4E FA              4603        LD      C,(IX-6)\r
+    00002004 DD 46 FB              4604        LD      B,(IX-5)\r
+    00002007 C5                    4605        PUSH    BC\r
+    00002008 FD 5E 11              4606        LD      E,(IY+17)\r
+    0000200B FD 56 12              4607        LD      D,(IY+18)\r
+    0000200E FD 6E 11              4608        LD      L,(IY+17)\r
+    00002011 FD 66 12              4609        LD      H,(IY+18)\r
+    00002014 01 1D 00              4610        LD      BC,29\r
+    00002017 09                    4611        ADD     HL,BC\r
+    00002018 4E                    4612        LD      C,(HL)\r
+    00002019 23                    4613        INC     HL\r
+    0000201A 46                    4614        LD      B,(HL)\r
+    0000201B 23                    4615        INC     HL\r
+    0000201C 7E                    4616        LD      A,(HL)\r
+    0000201D 69                    4617        LD      L,C\r
+    0000201E 60                    4618        LD      H,B\r
+    0000201F C1                    4619        POP     BC\r
+    00002020 CD 00 00              4620        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002023 21 00 00              4621        LD      HL,0\r
+    00002026 E5                    4622        PUSH    HL\r
+    00002027 FD 5E 11              4623        LD      E,(IY+17)\r
+    0000202A FD 56 12              4624        LD      D,(IY+18)\r
+    0000202D FD 6E 11              4625        LD      L,(IY+17)\r
+    00002030 FD 66 12              4626        LD      H,(IY+18)\r
+    00002033 01 17 00              4627        LD      BC,23\r
+    00002036 09                    4628        ADD     HL,BC\r
+    00002037 4E                    4629        LD      C,(HL)\r
+    00002038 23                    4630        INC     HL\r
+    00002039 46                    4631        LD      B,(HL)\r
+    0000203A 23                    4632        INC     HL\r
+    0000203B 7E                    4633        LD      A,(HL)\r
+    0000203C 69                    4634        LD      L,C\r
+    0000203D 60                    4635        LD      H,B\r
+    0000203E 01 03 01              4636        LD      BC,259\r
+    00002041 CD 00 00              4637        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002044 E1                    4638        POP     HL\r
+    00002045                       4639 ?0295:\r
+    00002045 DD 6E F8              4640        LD      L,(IX-8)\r
+    00002048 DD 66 F9              4641        LD      H,(IX-7)\r
+    0000204B 23                    4642        INC     HL\r
+    0000204C 23                    4643        INC     HL\r
+    0000204D 23                    4644        INC     HL\r
+    0000204E 3E 05                 4645        LD      A,5\r
+    00002050 AE                    4646        XOR     (HL)\r
+    00002051 23                    4647        INC     HL\r
+    00002052 B6                    4648        OR      (HL)\r
+    00002053 20 1D                 4649        JR      NZ,?0302\r
+    00002055                       4650 ?0301:\r
+    00002055 21 05 00              4651        LD      HL,5\r
+    00002058 DD 4E F8              4652        LD      C,(IX-8)\r
+    0000205B DD 46 F9              4653        LD      B,(IX-7)\r
+    0000205E 09                    4654        ADD     HL,BC\r
+    0000205F 5E                    4655        LD      E,(HL)\r
+    00002060 23                    4656        INC     HL\r
+    00002061 56                    4657        LD      D,(HL)\r
+    00002062 D5                    4658        PUSH    DE\r
+    00002063 21 07 00              4659        LD      HL,7\r
+    00002066 09                    4660        ADD     HL,BC\r
+    00002067 4D                    4661        LD      C,L\r
+    00002068 44                    4662        LD      B,H\r
+    00002069 2A 00 00              4663        LD      HL,(global)\r
+    0000206C 23                    4664        INC     HL\r
+    0000206D 23                    4665        INC     HL\r
+    0000206E CD 26 01              4666        CALL    LWRD ?0445\r
+    00002071 F1                    4667        POP     AF\r
+    00002072                       4668 ?0302:\r
+    00002072 DD 6E F8              4669        LD      L,(IX-8)\r
+    00002075 DD 66 F9              4670        LD      H,(IX-7)\r
+    00002078 23                    4671        INC     HL\r
+    00002079 23                    4672        INC     HL\r
+    0000207A 23                    4673        INC     HL\r
+    0000207B 3E 06                 4674        LD      A,6\r
+    0000207D AE                    4675        XOR     (HL)\r
+    0000207E 23                    4676        INC     HL\r
+    0000207F B6                    4677        OR      (HL)\r
+    00002080 20 16                 4678        JR      NZ,?0304\r
+    00002082                       4679 ?0303:\r
+    00002082 21 05 00              4680        LD      HL,5\r
+    00002085 DD 4E F8              4681        LD      C,(IX-8)\r
+    00002088 DD 46 F9              4682        LD      B,(IX-7)\r
+    0000208B 09                    4683        ADD     HL,BC\r
+    0000208C 5E                    4684        LD      E,(HL)\r
+    0000208D 23                    4685        INC     HL\r
+    0000208E 56                    4686        LD      D,(HL)\r
+    0000208F D5                    4687        PUSH    DE\r
+    00002090 21 07 00              4688        LD      HL,7\r
+    00002093 09                    4689        ADD     HL,BC\r
+    00002094 CD 1C 01              4690        CALL    LWRD ?0446\r
+    00002097 F1                    4691        POP     AF\r
+    00002098                       4692 ?0304:\r
+    00002098 21 18 00              4693        LD      HL,24\r
+    0000209B ED 4B 00 00           4694        LD      BC,(global)\r
+    0000209F 09                    4695        ADD     HL,BC\r
+    000020A0 7E                    4696        LD      A,(HL)\r
+    000020A1 23                    4697        INC     HL\r
+    000020A2 B6                    4698        OR      (HL)\r
+    000020A3 23                    4699        INC     HL\r
+    000020A4 B6                    4700        OR      (HL)\r
+    000020A5 28 0D                 4701        JR      Z,?0306\r
+    000020A7                       4702 ?0305:\r
+    000020A7 FD E5                 4703        PUSH    IY\r
+    000020A9 D1                    4704        POP     DE\r
+    000020AA 21 18 00              4705        LD      HL,24\r
+    000020AD ED 4B 00 00           4706        LD      BC,(global)\r
+    000020B1 CD FF 0D              4707        CALL    LWRD ?0451\r
+    000020B4                       4708 ?0306:\r
+    000020B4 FD E1                 4709        POP     IY\r
+    000020B6 C3 00 00              4710        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000020B9                       4711 ?0485:\r
+    000020B9 DD 5E FA              4712        LD      E,(IX-6)\r
+    000020BC DD 56 FB              4713        LD      D,(IX-5)\r
+    000020BF 3E 1D                 4714        LD      A,BYTE3 Component_find\r
+    000020C1 21 1D 08              4715        LD      HL,LWRD Component_find\r
+    000020C4 C3 00 00              4716        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000020C7                       4717 read_stringtable:\r
+    000020C7 CD 00 00              4718        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000020CA F8 FF                 4719        DEFW    -8\r
+    000020CC FD E5                 4720        PUSH    IY\r
+    000020CE 03                    4721        INC     BC\r
+    000020CF 0A                    4722        LD      A,(BC)\r
+    000020D0 DD 77 FE              4723        LD      (IX-2),A\r
+    000020D3 03                    4724        INC     BC\r
+    000020D4 0A                    4725        LD      A,(BC)\r
+    000020D5 DD 77 FF              4726        LD      (IX-1),A\r
+    000020D8 03                    4727        INC     BC\r
+    000020D9 69                    4728        LD      L,C\r
+    000020DA 60                    4729        LD      H,B\r
+    000020DB 4E                    4730        LD      C,(HL)\r
+    000020DC DD 71 FC              4731        LD      (IX-4),C\r
+    000020DF 23                    4732        INC     HL\r
+    000020E0 46                    4733        LD      B,(HL)\r
+    000020E1 DD 70 FD              4734        LD      (IX-3),B\r
+    000020E4 DD 6E FE              4735        LD      L,(IX-2)\r
+    000020E7 67                    4736        LD      H,A\r
+    000020E8 29                    4737        ADD     HL,HL\r
+    000020E9 EB                    4738        EX      DE,HL\r
+    000020EA CD 32 1D              4739        CALL    LWRD ?0466\r
+    000020ED DD 75 FA              4740        LD      (IX-6),L\r
+    000020F0 DD 74 FB              4741        LD      (IX-5),H\r
+    000020F3 59                    4742        LD      E,C\r
+    000020F4 50                    4743        LD      D,B\r
+    000020F5 CD 5D 05              4744        CALL    LWRD ?0457\r
+    000020F8 C5                    4745        PUSH    BC\r
+    000020F9 4D                    4746        LD      C,L\r
+    000020FA 44                    4747        LD      B,H\r
+    000020FB DD 5E 02              4748        LD      E,(IX+2)\r
+    000020FE DD 56 03              4749        LD      D,(IX+3)\r
+    00002101 3E 00                 4750        LD      A,BYTE3 _read\r
+    00002103 21 00 00              4751        LD      HL,LWRD _read\r
+    00002106 CD 00 00              4752        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002109 F1                    4753        POP     AF\r
+    0000210A 11 00 00              4754        LD      DE,0\r
+    0000210D AF                    4755        XOR     A\r
+    0000210E DD 77 F8              4756        LD      (IX-8),A\r
+    00002111 DD 77 F9              4757        LD      (IX-7),A\r
+    00002114                       4758 ?0308:\r
+    00002114 DD 4E FC              4759        LD      C,(IX-4)\r
+    00002117 DD 46 FD              4760        LD      B,(IX-3)\r
+    0000211A 6B                    4761        LD      L,E\r
+    0000211B 62                    4762        LD      H,D\r
+    0000211C CD 00 00              4763        CALL    LWRD ?SS_CMP_L02\r
+    0000211F 30 35                 4764        JR      NC,?0307\r
+    00002121 CD 92 21              4765        CALL    LWRD ?0488\r
+    00002124 30 30                 4766        JR      NC,?0307\r
+    00002126                       4767 ?0311:\r
+    00002126                       4768 ?0310:\r
+    00002126                       4769 ?0309:\r
+    00002126 23                    4770        INC     HL\r
+    00002127 DD 75 F8              4771        LD      (IX-8),L\r
+    0000212A DD 74 F9              4772        LD      (IX-7),H\r
+    0000212D 2B                    4773        DEC     HL\r
+    0000212E 29                    4774        ADD     HL,HL\r
+    0000212F DD 4E FA              4775        LD      C,(IX-6)\r
+    00002132 DD 46 FB              4776        LD      B,(IX-5)\r
+    00002135 09                    4777        ADD     HL,BC\r
+    00002136 E5                    4778        PUSH    HL\r
+    00002137 FD E5                 4779        PUSH    IY\r
+    00002139 E1                    4780        POP     HL\r
+    0000213A 19                    4781        ADD     HL,DE\r
+    0000213B 4D                    4782        LD      C,L\r
+    0000213C 44                    4783        LD      B,H\r
+    0000213D E1                    4784        POP     HL\r
+    0000213E 71                    4785        LD      (HL),C\r
+    0000213F 23                    4786        INC     HL\r
+    00002140 70                    4787        LD      (HL),B\r
+    00002141                       4788 ?0313:\r
+    00002141 FD E5                 4789        PUSH    IY\r
+    00002143 E1                    4790        POP     HL\r
+    00002144 19                    4791        ADD     HL,DE\r
+    00002145 7E                    4792        LD      A,(HL)\r
+    00002146 B7                    4793        OR      A\r
+    00002147 28 03                 4794        JR      Z,?0312\r
+    00002149                       4795 ?0314:\r
+    00002149 13                    4796        INC     DE\r
+    0000214A 18 F5                 4797        JR      ?0313\r
+    0000214C                       4798 ?0312:\r
+    0000214C 6B                    4799        LD      L,E\r
+    0000214D 62                    4800        LD      H,D\r
+    0000214E 13                    4801        INC     DE\r
+    0000214F FD E5                 4802        PUSH    IY\r
+    00002151 C1                    4803        POP     BC\r
+    00002152 09                    4804        ADD     HL,BC\r
+    00002153 77                    4805        LD      (HL),A\r
+    00002154 18 BE                 4806        JR      ?0308\r
+    00002156                       4807 ?0307:\r
+    00002156 CD 92 21              4808        CALL    LWRD ?0488\r
+    00002159 30 13                 4809        JR      NC,?0316\r
+    0000215B                       4810 ?0315:\r
+    0000215B 29                    4811        ADD     HL,HL\r
+    0000215C DD 4E FA              4812        LD      C,(IX-6)\r
+    0000215F DD 46 FB              4813        LD      B,(IX-5)\r
+    00002162 09                    4814        ADD     HL,BC\r
+    00002163 E5                    4815        PUSH    HL\r
+    00002164 FD E5                 4816        PUSH    IY\r
+    00002166 E1                    4817        POP     HL\r
+    00002167 19                    4818        ADD     HL,DE\r
+    00002168 4D                    4819        LD      C,L\r
+    00002169 44                    4820        LD      B,H\r
+    0000216A E1                    4821        POP     HL\r
+    0000216B 71                    4822        LD      (HL),C\r
+    0000216C 23                    4823        INC     HL\r
+    0000216D 70                    4824        LD      (HL),B\r
+    0000216E                       4825 ?0316:\r
+    0000216E 21 0A 00              4826        LD      HL,10\r
+    00002171 ED 4B 00 00           4827        LD      BC,(global)\r
+    00002175 09                    4828        ADD     HL,BC\r
+    00002176 FD E5                 4829        PUSH    IY\r
+    00002178 C1                    4830        POP     BC\r
+    00002179 71                    4831        LD      (HL),C\r
+    0000217A 23                    4832        INC     HL\r
+    0000217B 70                    4833        LD      (HL),B\r
+    0000217C 21 0C 00              4834        LD      HL,12\r
+    0000217F ED 4B 00 00           4835        LD      BC,(global)\r
+    00002183 09                    4836        ADD     HL,BC\r
+    00002184 DD 4E FA              4837        LD      C,(IX-6)\r
+    00002187 71                    4838        LD      (HL),C\r
+    00002188 DD 46 FB              4839        LD      B,(IX-5)\r
+    0000218B 23                    4840        INC     HL\r
+    0000218C 70                    4841        LD      (HL),B\r
+    0000218D FD E1                 4842        POP     IY\r
+    0000218F C3 00 00              4843        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00002192                       4844 ?0488:\r
+    00002192 DD 4E FE              4845        LD      C,(IX-2)\r
+    00002195 DD 46 FF              4846        LD      B,(IX-1)\r
+    00002198 DD 6E F8              4847        LD      L,(IX-8)\r
+    0000219B DD 66 F9              4848        LD      H,(IX-7)\r
+    0000219E C3 00 00              4849        JP      LWRD ?SS_CMP_L02\r
+    000021A1                       4850 gui_globals:\r
+    000021A1 2A 00 00              4851        LD      HL,(global)\r
+    000021A4 C3 00 00              4852        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000021A7                       4853 GUIinit:\r
+    000021A7 C5                    4854        PUSH    BC\r
+    000021A8 D5                    4855        PUSH    DE\r
+    000021A9 11 1B 00              4856        LD      DE,27\r
+    000021AC CD 32 1D              4857        CALL    LWRD ?0466\r
+    000021AF 22 00 00              4858        LD      (global),HL\r
+    000021B2 AF                    4859        XOR     A\r
+    000021B3 77                    4860        LD      (HL),A\r
+    000021B4 23                    4861        INC     HL\r
+    000021B5 77                    4862        LD      (HL),A\r
+    000021B6 21 08 00              4863        LD      HL,8\r
+    000021B9 ED 4B 00 00           4864        LD      BC,(global)\r
+    000021BD 09                    4865        ADD     HL,BC\r
+    000021BE 77                    4866        LD      (HL),A\r
+    000021BF 23                    4867        INC     HL\r
+    000021C0 77                    4868        LD      (HL),A\r
+    000021C1 21 12 00              4869        LD      HL,18\r
+    000021C4 ED 4B 00 00           4870        LD      BC,(global)\r
+    000021C8 09                    4871        ADD     HL,BC\r
+    000021C9 77                    4872        LD      (HL),A\r
+    000021CA 23                    4873        INC     HL\r
+    000021CB 77                    4874        LD      (HL),A\r
+    000021CC 21 14 00              4875        LD      HL,20\r
+    000021CF ED 4B 00 00           4876        LD      BC,(global)\r
+    000021D3 09                    4877        ADD     HL,BC\r
+    000021D4 77                    4878        LD      (HL),A\r
+    000021D5 23                    4879        INC     HL\r
+    000021D6 77                    4880        LD      (HL),A\r
+    000021D7 21 0C 00              4881        LD      HL,12\r
+    000021DA ED 4B 00 00           4882        LD      BC,(global)\r
+    000021DE 09                    4883        ADD     HL,BC\r
+    000021DF 77                    4884        LD      (HL),A\r
+    000021E0 23                    4885        INC     HL\r
+    000021E1 77                    4886        LD      (HL),A\r
+    000021E2 21 0A 00              4887        LD      HL,10\r
+    000021E5 ED 4B 00 00           4888        LD      BC,(global)\r
+    000021E9 09                    4889        ADD     HL,BC\r
+    000021EA 77                    4890        LD      (HL),A\r
+    000021EB 23                    4891        INC     HL\r
+    000021EC 77                    4892        LD      (HL),A\r
+    000021ED 21 18 00              4893        LD      HL,24\r
+    000021F0 ED 4B 00 00           4894        LD      BC,(global)\r
+    000021F4 09                    4895        ADD     HL,BC\r
+    000021F5 77                    4896        LD      (HL),A\r
+    000021F6 23                    4897        INC     HL\r
+    000021F7 77                    4898        LD      (HL),A\r
+    000021F8 23                    4899        INC     HL\r
+    000021F9 77                    4900        LD      (HL),A\r
+    000021FA 3E 1B                 4901        LD      A,BYTE3 GraphicsOpen\r
+    000021FC 21 1B 00              4902        LD      HL,LWRD GraphicsOpen\r
+    000021FF CD 00 00              4903        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002202 21 00 00              4904        LD      HL,0\r
+    00002205 E5                    4905        PUSH    HL\r
+    00002206 E5                    4906        PUSH    HL\r
+    00002207 0E FF                 4907        LD      C,BYTE3 stringheight01\r
+    00002209 C5                    4908        PUSH    BC\r
+    0000220A 21 FF 05              4909        LD      HL,LWRD stringheight01\r
+    0000220D E5                    4910        PUSH    HL\r
+    0000220E 0E 1B                 4911        LD      C,BYTE3 stringwidth0\r
+    00002210 C5                    4912        PUSH    BC\r
+    00002211 21 1B 06              4913        LD      HL,LWRD stringwidth0\r
+    00002214 E5                    4914        PUSH    HL\r
+    00002215 11 30 00              4915        LD      DE,48\r
+    00002218 CD C6 22              4916        CALL    LWRD ?0494\r
+    0000221B 21 0C 00              4917        LD      HL,12\r
+    0000221E 39                    4918        ADD     HL,SP\r
+    0000221F F9                    4919        LD      SP,HL\r
+    00002220 21 00 00              4920        LD      HL,0\r
+    00002223 E5                    4921        PUSH    HL\r
+    00002224 E5                    4922        PUSH    HL\r
+    00002225 0E FF                 4923        LD      C,BYTE3 stringheight01\r
+    00002227 C5                    4924        PUSH    BC\r
+    00002228 21 FF 05              4925        LD      HL,LWRD stringheight01\r
+    0000222B E5                    4926        PUSH    HL\r
+    0000222C 0E 2C                 4927        LD      C,BYTE3 stringwidth1\r
+    0000222E C5                    4928        PUSH    BC\r
+    0000222F 21 2C 06              4929        LD      HL,LWRD stringwidth1\r
+    00002232 E5                    4930        PUSH    HL\r
+    00002233 11 31 00              4931        LD      DE,49\r
+    00002236 CD C6 22              4932        CALL    LWRD ?0494\r
+    00002239 21 0C 00              4933        LD      HL,12\r
+    0000223C 39                    4934        ADD     HL,SP\r
+    0000223D F9                    4935        LD      SP,HL\r
+    0000223E 21 00 00              4936        LD      HL,0\r
+    00002241 E5                    4937        PUSH    HL\r
+    00002242 E5                    4938        PUSH    HL\r
+    00002243 0E 12                 4939        LD      C,BYTE3 stringheight2\r
+    00002245 C5                    4940        PUSH    BC\r
+    00002246 21 12 06              4941        LD      HL,LWRD stringheight2\r
+    00002249 E5                    4942        PUSH    HL\r
+    0000224A 0E 35                 4943        LD      C,BYTE3 stringwidth2\r
+    0000224C C5                    4944        PUSH    BC\r
+    0000224D 21 35 06              4945        LD      HL,LWRD stringwidth2\r
+    00002250 E5                    4946        PUSH    HL\r
+    00002251 11 32 00              4947        LD      DE,50\r
+    00002254 CD C6 22              4948        CALL    LWRD ?0494\r
+    00002257 21 0C 00              4949        LD      HL,12\r
+    0000225A 39                    4950        ADD     HL,SP\r
+    0000225B F9                    4951        LD      SP,HL\r
+    0000225C 21 16 00              4952        LD      HL,22\r
+    0000225F ED 4B 00 00           4953        LD      BC,(global)\r
+    00002263 09                    4954        ADD     HL,BC\r
+    00002264 E5                    4955        PUSH    HL\r
+    00002265 11 80 00              4956        LD      DE,128\r
+    00002268 D5                    4957        PUSH    DE\r
+    00002269 5A                    4958        LD      E,D\r
+    0000226A D5                    4959        PUSH    DE\r
+    0000226B 4B                    4960        LD      C,E\r
+    0000226C 42                    4961        LD      B,D\r
+    0000226D 3E 11                 4962        LD      A,BYTE3 Window_new\r
+    0000226F 21 11 10              4963        LD      HL,LWRD Window_new\r
+    00002272 CD 00 00              4964        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002275 F1                    4965        POP     AF\r
+    00002276 F1                    4966        POP     AF\r
+    00002277 4D                    4967        LD      C,L\r
+    00002278 44                    4968        LD      B,H\r
+    00002279 E1                    4969        POP     HL\r
+    0000227A 71                    4970        LD      (HL),C\r
+    0000227B 23                    4971        INC     HL\r
+    0000227C 70                    4972        LD      (HL),B\r
+    0000227D 21 16 00              4973        LD      HL,22\r
+    00002280 ED 4B 00 00           4974        LD      BC,(global)\r
+    00002284 09                    4975        ADD     HL,BC\r
+    00002285 56                    4976        LD      D,(HL)\r
+    00002286 23                    4977        INC     HL\r
+    00002287 66                    4978        LD      H,(HL)\r
+    00002288 6A                    4979        LD      L,D\r
+    00002289 11 0A 00              4980        LD      DE,10\r
+    0000228C 19                    4981        ADD     HL,DE\r
+    0000228D 36 01                 4982        LD      (HL),1\r
+    0000228F 23                    4983        INC     HL\r
+    00002290 72                    4984        LD      (HL),D\r
+    00002291 21 16 00              4985        LD      HL,22\r
+    00002294 ED 4B 00 00           4986        LD      BC,(global)\r
+    00002298 09                    4987        ADD     HL,BC\r
+    00002299 56                    4988        LD      D,(HL)\r
+    0000229A 23                    4989        INC     HL\r
+    0000229B 66                    4990        LD      H,(HL)\r
+    0000229C 6A                    4991        LD      L,D\r
+    0000229D 11 17 00              4992        LD      DE,23\r
+    000022A0 19                    4993        ADD     HL,DE\r
+    000022A1 36 6D                 4994        LD      (HL),LOW(rootWindow_handler)\r
+    000022A3 23                    4995        INC     HL\r
+    000022A4 36 19                 4996        LD      (HL),HIGH(rootWindow_handler)\r
+    000022A6 23                    4997        INC     HL\r
+    000022A7 36 6D                 4998        LD      (HL),BYTE3 rootWindow_handler\r
+    000022A9 21 16 00              4999        LD      HL,22\r
+    000022AC ED 4B 00 00           5000        LD      BC,(global)\r
+    000022B0 09                    5001        ADD     HL,BC\r
+    000022B1 46                    5002        LD      B,(HL)\r
+    000022B2 23                    5003        INC     HL\r
+    000022B3 66                    5004        LD      H,(HL)\r
+    000022B4 68                    5005        LD      L,B\r
+    000022B5 01 1A 00              5006        LD      BC,26\r
+    000022B8 09                    5007        ADD     HL,BC\r
+    000022B9 36 CC                 5008        LD      (HL),LOW(Root_paint)\r
+    000022BB 23                    5009        INC     HL\r
+    000022BC 36 0F                 5010        LD      (HL),HIGH(Root_paint)\r
+    000022BE 23                    5011        INC     HL\r
+    000022BF 36 CC                 5012        LD      (HL),BYTE3 Root_paint\r
+    000022C1 D1                    5013        POP     DE\r
+    000022C2 C1                    5014        POP     BC\r
+    000022C3 C3 00 00              5015        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000022C6                       5016 ?0494:\r
+    000022C6 3E C2                 5017        LD      A,BYTE3 loadFont\r
+    000022C8 21 C2 04              5018        LD      HL,LWRD loadFont\r
+    000022CB C3 00 00              5019        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000022CE                       5020 GUIunit:\r
+    000022CE C5                    5021        PUSH    BC\r
+    000022CF D5                    5022        PUSH    DE\r
+    000022D0 21 16 00              5023        LD      HL,22\r
+    000022D3 ED 4B 00 00           5024        LD      BC,(global)\r
+    000022D7 09                    5025        ADD     HL,BC\r
+    000022D8 5E                    5026        LD      E,(HL)\r
+    000022D9 23                    5027        INC     HL\r
+    000022DA 56                    5028        LD      D,(HL)\r
+    000022DB CD 1E 0A              5029        CALL    LWRD ?0467\r
+    000022DE 3E 58                 5030        LD      A,BYTE3 ClearScreen\r
+    000022E0 21 58 03              5031        LD      HL,LWRD ClearScreen\r
+    000022E3 CD 00 00              5032        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000022E6 3E 39                 5033        LD      A,BYTE3 GraphicsClose\r
+    000022E8 21 39 01              5034        LD      HL,LWRD GraphicsClose\r
+    000022EB CD 00 00              5035        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000022EE D1                    5036        POP     DE\r
+    000022EF C1                    5037        POP     BC\r
+    000022F0 C3 00 00              5038        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000022F3                       5039 GUIgo:\r
+    000022F3 C5                    5040        PUSH    BC\r
+    000022F4 DD E5                 5041        PUSH    IX\r
+    000022F6 D5                    5042        PUSH    DE\r
+    000022F7 F5                    5043        PUSH    AF\r
+    000022F8 F5                    5044        PUSH    AF\r
+    000022F9 F5                    5045        PUSH    AF\r
+    000022FA F5                    5046        PUSH    AF\r
+    000022FB 4B                    5047        LD      C,E\r
+    000022FC 42                    5048        LD      B,D\r
+    000022FD 21 16 00              5049        LD      HL,22\r
+    00002300 ED 5B 00 00           5050        LD      DE,(global)\r
+    00002304 19                    5051        ADD     HL,DE\r
+    00002305 5E                    5052        LD      E,(HL)\r
+    00002306 23                    5053        INC     HL\r
+    00002307 56                    5054        LD      D,(HL)\r
+    00002308 3E 8B                 5055        LD      A,BYTE3 screenbuilder\r
+    0000230A 21 8B 19              5056        LD      HL,LWRD screenbuilder\r
+    0000230D CD 00 00              5057        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002310 21 0E 00              5058        LD      HL,14\r
+    00002313 ED 4B 00 00           5059        LD      BC,(global)\r
+    00002317 09                    5060        ADD     HL,BC\r
+    00002318 E5                    5061        PUSH    HL\r
+    00002319 11 10 00              5062        LD      DE,16\r
+    0000231C CD 32 1D              5063        CALL    LWRD ?0466\r
+    0000231F EB                    5064        EX      DE,HL\r
+    00002320 E1                    5065        POP     HL\r
+    00002321 73                    5066        LD      (HL),E\r
+    00002322 23                    5067        INC     HL\r
+    00002323 72                    5068        LD      (HL),D\r
+    00002324 21 0E 00              5069        LD      HL,14\r
+    00002327 ED 4B 00 00           5070        LD      BC,(global)\r
+    0000232B 09                    5071        ADD     HL,BC\r
+    0000232C 7E                    5072        LD      A,(HL)\r
+    0000232D 23                    5073        INC     HL\r
+    0000232E 66                    5074        LD      H,(HL)\r
+    0000232F 6F                    5075        LD      L,A\r
+    00002330 36 00                 5076        LD      (HL),0\r
+    00002332 21 10 00              5077        LD      HL,16\r
+    00002335 ED 4B 00 00           5078        LD      BC,(global)\r
+    00002339 09                    5079        ADD     HL,BC\r
+    0000233A E5                    5080        PUSH    HL\r
+    0000233B 11 00 00              5081        LD      DE,0\r
+    0000233E D5                    5082        PUSH    DE\r
+    0000233F 11 37 00              5083        LD      DE,?0317\r
+    00002342 D5                    5084        PUSH    DE\r
+    00002343 CD 14 01              5085        CALL    LWRD ?0444\r
+    00002346 F1                    5086        POP     AF\r
+    00002347 F1                    5087        POP     AF\r
+    00002348 EB                    5088        EX      DE,HL\r
+    00002349 E1                    5089        POP     HL\r
+    0000234A 73                    5090        LD      (HL),E\r
+    0000234B 23                    5091        INC     HL\r
+    0000234C 72                    5092        LD      (HL),D\r
+    0000234D 21 02 00              5093        LD      HL,2\r
+    00002350 39                    5094        ADD     HL,SP\r
+    00002351 E5                    5095        PUSH    HL\r
+    00002352 21 00 00              5096        LD      HL,0\r
+    00002355 E5                    5097        PUSH    HL\r
+    00002356 2E 10                 5098        LD      L,16\r
+    00002358 ED 4B 00 00           5099        LD      BC,(global)\r
+    0000235C 09                    5100        ADD     HL,BC\r
+    0000235D 5E                    5101        LD      E,(HL)\r
+    0000235E 23                    5102        INC     HL\r
+    0000235F 56                    5103        LD      D,(HL)\r
+    00002360 D5                    5104        PUSH    DE\r
+    00002361 CD 0C 01              5105        CALL    LWRD ?0443\r
+    00002364 F1                    5106        POP     AF\r
+    00002365 F1                    5107        POP     AF\r
+    00002366 F1                    5108        POP     AF\r
+    00002367 21 06 00              5109        LD      HL,6\r
+    0000236A 39                    5110        ADD     HL,SP\r
+    0000236B 36 60                 5111        LD      (HL),96\r
+    0000236D 23                    5112        INC     HL\r
+    0000236E 36 00                 5113        LD      (HL),0\r
+    00002370 21 02 00              5114        LD      HL,2\r
+    00002373 39                    5115        ADD     HL,SP\r
+    00002374 E5                    5116        PUSH    HL\r
+    00002375 21 01 00              5117        LD      HL,1\r
+    00002378 E5                    5118        PUSH    HL\r
+    00002379 2E 10                 5119        LD      L,16\r
+    0000237B 09                    5120        ADD     HL,BC\r
+    0000237C 4E                    5121        LD      C,(HL)\r
+    0000237D 23                    5122        INC     HL\r
+    0000237E 46                    5123        LD      B,(HL)\r
+    0000237F C5                    5124        PUSH    BC\r
+    00002380 CD 0C 01              5125        CALL    LWRD ?0443\r
+    00002383 F1                    5126        POP     AF\r
+    00002384 F1                    5127        POP     AF\r
+    00002385 F1                    5128        POP     AF\r
+    00002386 DD 21 00 00           5129        LD      IX,0\r
+    0000238A                       5130 ?0319:\r
+    0000238A 21 08 00              5131        LD      HL,8\r
+    0000238D ED 4B 00 00           5132        LD      BC,(global)\r
+    00002391 09                    5133        ADD     HL,BC\r
+    00002392 7E                    5134        LD      A,(HL)\r
+    00002393 23                    5135        INC     HL\r
+    00002394 B6                    5136        OR      (HL)\r
+    00002395 C2 AB 24              5137        JP      NZ,?0318\r
+    00002398                       5138 ?0320:\r
+    00002398 21 01 00              5139        LD      HL,1\r
+    0000239B E5                    5140        PUSH    HL\r
+    0000239C 23                    5141        INC     HL\r
+    0000239D 39                    5142        ADD     HL,SP\r
+    0000239E 4D                    5143        LD      C,L\r
+    0000239F 44                    5144        LD      B,H\r
+    000023A0 21 06 00              5145        LD      HL,6\r
+    000023A3 ED 5B 00 00           5146        LD      DE,(global)\r
+    000023A7 19                    5147        ADD     HL,DE\r
+    000023A8 5E                    5148        LD      E,(HL)\r
+    000023A9 23                    5149        INC     HL\r
+    000023AA 56                    5150        LD      D,(HL)\r
+    000023AB 3E 00                 5151        LD      A,BYTE3 _read\r
+    000023AD 21 00 00              5152        LD      HL,LWRD _read\r
+    000023B0 CD 00 00              5153        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000023B3 F1                    5154        POP     AF\r
+    000023B4 3E 01                 5155        LD      A,1\r
+    000023B6 AD                    5156        XOR     L\r
+    000023B7 B4                    5157        OR      H\r
+    000023B8 20 67                 5158        JR      NZ,?0322\r
+    000023BA                       5159 ?0321:\r
+    000023BA 6F                    5160        LD      L,A\r
+    000023BB 67                    5161        LD      H,A\r
+    000023BC 39                    5162        ADD     HL,SP\r
+    000023BD B6                    5163        OR      (HL)\r
+    000023BE 28 2B                 5164        JR      Z,?0324\r
+    000023C0                       5165 ?0323:\r
+    000023C0 4F                    5166        LD      C,A\r
+    000023C1 06 00                 5167        LD      B,0\r
+    000023C3 C5                    5168        PUSH    BC\r
+    000023C4 21 16 00              5169        LD      HL,22\r
+    000023C7 ED 5B 00 00           5170        LD      DE,(global)\r
+    000023CB 19                    5171        ADD     HL,DE\r
+    000023CC 5E                    5172        LD      E,(HL)\r
+    000023CD 23                    5173        INC     HL\r
+    000023CE 56                    5174        LD      D,(HL)\r
+    000023CF 21 16 00              5175        LD      HL,22\r
+    000023D2 ED 4B 00 00           5176        LD      BC,(global)\r
+    000023D6 09                    5177        ADD     HL,BC\r
+    000023D7 46                    5178        LD      B,(HL)\r
+    000023D8 23                    5179        INC     HL\r
+    000023D9 66                    5180        LD      H,(HL)\r
+    000023DA 68                    5181        LD      L,B\r
+    000023DB 01 17 00              5182        LD      BC,23\r
+    000023DE 09                    5183        ADD     HL,BC\r
+    000023DF 4E                    5184        LD      C,(HL)\r
+    000023E0 23                    5185        INC     HL\r
+    000023E1 46                    5186        LD      B,(HL)\r
+    000023E2 23                    5187        INC     HL\r
+    000023E3 7E                    5188        LD      A,(HL)\r
+    000023E4 69                    5189        LD      L,C\r
+    000023E5 60                    5190        LD      H,B\r
+    000023E6 01 01 00              5191        LD      BC,1\r
+    000023E9 18 29                 5192        JR      ?0381\r
+    000023EB                       5193 ?0324:\r
+    000023EB 23                    5194        INC     HL\r
+    000023EC 4E                    5195        LD      C,(HL)\r
+    000023ED 47                    5196        LD      B,A\r
+    000023EE C5                    5197        PUSH    BC\r
+    000023EF 21 16 00              5198        LD      HL,22\r
+    000023F2 ED 5B 00 00           5199        LD      DE,(global)\r
+    000023F6 19                    5200        ADD     HL,DE\r
+    000023F7 5E                    5201        LD      E,(HL)\r
+    000023F8 23                    5202        INC     HL\r
+    000023F9 56                    5203        LD      D,(HL)\r
+    000023FA 21 16 00              5204        LD      HL,22\r
+    000023FD ED 4B 00 00           5205        LD      BC,(global)\r
+    00002401 09                    5206        ADD     HL,BC\r
+    00002402 46                    5207        LD      B,(HL)\r
+    00002403 23                    5208        INC     HL\r
+    00002404 66                    5209        LD      H,(HL)\r
+    00002405 68                    5210        LD      L,B\r
+    00002406 01 17 00              5211        LD      BC,23\r
+    00002409 09                    5212        ADD     HL,BC\r
+    0000240A 4E                    5213        LD      C,(HL)\r
+    0000240B 23                    5214        INC     HL\r
+    0000240C 46                    5215        LD      B,(HL)\r
+    0000240D 23                    5216        INC     HL\r
+    0000240E 7E                    5217        LD      A,(HL)\r
+    0000240F 69                    5218        LD      L,C\r
+    00002410 60                    5219        LD      H,B\r
+    00002411 01 02 00              5220        LD      BC,2\r
+    00002414                       5221 ?0381:\r
+    00002414 CD 00 00              5222        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00002417 E1                    5223        POP     HL\r
+    00002418                       5224 ?0325:\r
+    00002418 21 01 00              5225        LD      HL,1\r
+    0000241B 39                    5226        ADD     HL,SP\r
+    0000241C E5                    5227        PUSH    HL\r
+    0000241D 2B                    5228        DEC     HL\r
+    0000241E 46                    5229        LD      B,(HL)\r
+    0000241F E1                    5230        POP     HL\r
+    00002420 70                    5231        LD      (HL),B\r
+    00002421                       5232 ?0322:\r
+    00002421 21 01 00              5233        LD      HL,1\r
+    00002424 E5                    5234        PUSH    HL\r
+    00002425 23                    5235        INC     HL\r
+    00002426 39                    5236        ADD     HL,SP\r
+    00002427 4D                    5237        LD      C,L\r
+    00002428 44                    5238        LD      B,H\r
+    00002429 21 10 00              5239        LD      HL,16\r
+    0000242C ED 5B 00 00           5240        LD      DE,(global)\r
+    00002430 19                    5241        ADD     HL,DE\r
+    00002431 5E                    5242        LD      E,(HL)\r
+    00002432 23                    5243        INC     HL\r
+    00002433 56                    5244        LD      D,(HL)\r
+    00002434 3E 00                 5245        LD      A,BYTE3 _read\r
+    00002436 21 00 00              5246        LD      HL,LWRD _read\r
+    00002439 CD 00 00              5247        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000243C F1                    5248        POP     AF\r
+    0000243D 3E 01                 5249        LD      A,1\r
+    0000243F AD                    5250        XOR     L\r
+    00002440 B4                    5251        OR      H\r
+    00002441 20 65                 5252        JR      NZ,?0330\r
+    00002443                       5253 ?0326:\r
+    00002443 6F                    5254        LD      L,A\r
+    00002444 67                    5255        LD      H,A\r
+    00002445 39                    5256        ADD     HL,SP\r
+    00002446 3E 10                 5257        LD      A,16\r
+    00002448 BE                    5258        CP      (HL)\r
+    00002449 21 0E 00              5259        LD      HL,14\r
+    0000244C ED 4B 00 00           5260        LD      BC,(global)\r
+    00002450 30 15                 5261        JR      NC,?0329\r
+    00002452                       5262 ?0328:\r
+    00002452 09                    5263        ADD     HL,BC\r
+    00002453 46                    5264        LD      B,(HL)\r
+    00002454 23                    5265        INC     HL\r
+    00002455 66                    5266        LD      H,(HL)\r
+    00002456 68                    5267        LD      L,B\r
+    00002457 DD E5                 5268        PUSH    IX\r
+    00002459 C1                    5269        POP     BC\r
+    0000245A 09                    5270        ADD     HL,BC\r
+    0000245B E5                    5271        PUSH    HL\r
+    0000245C 21 02 00              5272        LD      HL,2\r
+    0000245F 39                    5273        ADD     HL,SP\r
+    00002460 46                    5274        LD      B,(HL)\r
+    00002461 E1                    5275        POP     HL\r
+    00002462 70                    5276        LD      (HL),B\r
+    00002463 DD 23                 5277        INC     IX\r
+    00002465 18 41                 5278        JR      ?0330\r
+    00002467                       5279 ?0329:\r
+    00002467 09                    5280        ADD     HL,BC\r
+    00002468 56                    5281        LD      D,(HL)\r
+    00002469 23                    5282        INC     HL\r
+    0000246A 66                    5283        LD      H,(HL)\r
+    0000246B 6A                    5284        LD      L,D\r
+    0000246C DD E5                 5285        PUSH    IX\r
+    0000246E D1                    5286        POP     DE\r
+    0000246F 19                    5287        ADD     HL,DE\r
+    00002470 36 00                 5288        LD      (HL),0\r
+    00002472 21 0E 00              5289        LD      HL,14\r
+    00002475 ED 4B 00 00           5290        LD      BC,(global)\r
+    00002479 09                    5291        ADD     HL,BC\r
+    0000247A E5                    5292        PUSH    HL\r
+    0000247B 21 16 00              5293        LD      HL,22\r
+    0000247E ED 5B 00 00           5294        LD      DE,(global)\r
+    00002482 19                    5295        ADD     HL,DE\r
+    00002483 5E                    5296        LD      E,(HL)\r
+    00002484 23                    5297        INC     HL\r
+    00002485 56                    5298        LD      D,(HL)\r
+    00002486 21 16 00              5299        LD      HL,22\r
+    00002489 ED 4B 00 00           5300        LD      BC,(global)\r
+    0000248D 09                    5301        ADD     HL,BC\r
+    0000248E 46                    5302        LD      B,(HL)\r
+    0000248F 23                    5303        INC     HL\r
+    00002490 66                    5304        LD      H,(HL)\r
+    00002491 68                    5305        LD      L,B\r
+    00002492 01 17 00              5306        LD      BC,23\r
+    00002495 09                    5307        ADD     HL,BC\r
+    00002496 4E                    5308        LD      C,(HL)\r
+    00002497 23                    5309        INC     HL\r
+    00002498 46                    5310        LD      B,(HL)\r
+    00002499 23                    5311        INC     HL\r
+    0000249A 7E                    5312        LD      A,(HL)\r
+    0000249B 69                    5313        LD      L,C\r
+    0000249C 60                    5314        LD      H,B\r
+    0000249D 01 01 04              5315        LD      BC,1025\r
+    000024A0 CD 00 00              5316        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000024A3 E1                    5317        POP     HL\r
+    000024A4 DD 21 00 00           5318        LD      IX,0\r
+    000024A8                       5319 ?0330:\r
+    000024A8                       5320 ?0327:\r
+    000024A8 C3 8A 23              5321        JP      LWRD ?0319\r
+    000024AB                       5322 ?0318:\r
+    000024AB 21 0A 00              5323        LD      HL,10\r
+    000024AE 39                    5324        ADD     HL,SP\r
+    000024AF F9                    5325        LD      SP,HL\r
+    000024B0 DD E1                 5326        POP     IX\r
+    000024B2 C1                    5327        POP     BC\r
+    000024B3 C3 00 00              5328        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+                                   5329        RSEG    CSTR\r
+    00000000                       5330 ?0001:\r
+    00000000 2F 64 65 76 2F 6C 63  5331        DEFB    '/dev/lcd0'\r
              64 30\r
-    00000009 00                    4995        DEFB    0\r
-    0000000A                       4996 ?0221:\r
-    0000000A 4F 4B                 4997        DEFB    'OK'\r
-    0000000C 00                    4998        DEFB    0\r
-    0000000D                       4999 ?0222:\r
-    0000000D 43 61 6E 63 65 6C     5000        DEFB    'Cancel'\r
-    00000013 00                    5001        DEFB    0\r
-    00000014                       5002 ?0249:\r
-    00000014 00                    5003        DEFB    0\r
-    00000015                       5004 ?0299:\r
-    00000015 4D 65 73 73 61 67 65  5005        DEFB    'Message Box'\r
+    00000009 00                    5332        DEFB    0\r
+    0000000A                       5333 ?0002:\r
+    0000000A 2F 64 65 76 2F 6C 63  5334        DEFB    '/dev/lcd1'\r
+             64 31\r
+    00000013 00                    5335        DEFB    0\r
+    00000014                       5336 ?0003:\r
+    00000014 48 59 54 45 43 48 20  5337        DEFB    'HYTECH 1000'\r
+             31 30 30 30\r
+    0000001F 00                    5338        DEFB    0\r
+    00000020                       5339 ?0223:\r
+    00000020 4F 4B                 5340        DEFB    'OK'\r
+    00000022 00                    5341        DEFB    0\r
+    00000023                       5342 ?0224:\r
+    00000023 43 61 6E 63 65 6C     5343        DEFB    'Cancel'\r
+    00000029 00                    5344        DEFB    0\r
+    0000002A                       5345 ?0251:\r
+    0000002A 00                    5346        DEFB    0\r
+    0000002B                       5347 ?0300:\r
+    0000002B 4D 65 73 73 61 67 65  5348        DEFB    'Message Box'\r
              20 42 6F 78\r
-    00000020 00                    5006        DEFB    0\r
-    00000021                       5007 ?0317:\r
-    00000021 30 78 25 30 32 78     5008        DEFB    '0x%02x'\r
-    00000027 0A 00                 5009        DEFB    10,0\r
-                                   5010        RSEG    CONST\r
-    00000000                       5011 ?0000:\r
-    00000000 1B                    5012        DEFB    27\r
-    00000001 4B                    5013        DEFB    'K'\r
-    00000002                       5014 ?0002:\r
-    00000002 1B                    5015        DEFB    27\r
-    00000003 53                    5016        DEFB    'S'\r
-    00000004 00                    5017        DEFB    0\r
-    00000005 00                    5018        DEFB    0\r
-    00000006                       5019 ?0003:\r
-    00000006 1B                    5020        DEFB    27\r
-    00000007 43                    5021        DEFB    'C'\r
-    00000008 00                    5022        DEFB    0\r
-    00000009 00                    5023        DEFB    0\r
-    0000000A                       5024 ?0004:\r
-    0000000A 1B                    5025        DEFB    27\r
-    0000000B 4E                    5026        DEFB    'N'\r
-    0000000C 00                    5027        DEFB    0\r
-    0000000D 00                    5028        DEFB    0\r
-    0000000E                       5029 ?0005:\r
-    0000000E 1B                    5030        DEFB    27\r
-    0000000F 52                    5031        DEFB    'R'\r
-    00000010 00                    5032        DEFB    0\r
-    00000011 00                    5033        DEFB    0\r
-    00000012                       5034 ?0006:\r
-    00000012 1B                    5035        DEFB    27\r
-    00000013 46                    5036        DEFB    'F'\r
-    00000014 00                    5037        DEFB    0\r
-    00000015 00                    5038        DEFB    0\r
-    00000016                       5039 ?0007:\r
-    00000016 1B                    5040        DEFB    27\r
-    00000017 68                    5041        DEFB    'h'\r
-    00000018 00                    5042        DEFB    0\r
-    00000019 00                    5043        DEFB    0\r
-    0000001A                       5044 ?0008:\r
-    0000001A 1B                    5045        DEFB    27\r
-    0000001B 5A                    5046        DEFB    'Z'\r
-    0000001C 00                    5047        DEFB    0\r
-    0000001D 00                    5048        DEFB    0\r
-    0000001E 00                    5049        DEFB    0\r
-    0000001F 00                    5050        DEFB    0\r
-    00000020 00                    5051        DEFB    0\r
-    00000021                       5052 ?0009:\r
-    00000021 1B                    5053        DEFB    27\r
-    00000022 45                    5054        DEFB    'E'\r
-    00000023 00                    5055        DEFB    0\r
-    00000024                       5056 ?0010:\r
-    00000024 1B                    5057        DEFB    27\r
-    00000025 00                    5058        DEFB    0\r
-    00000026                       5059 ?0286:\r
-    00000026 2F                    5060        DEFB    '/'\r
-    00000027 77                    5061        DEFB    'w'\r
-    00000028 6E                    5062        DEFB    'n'\r
-    00000029 64                    5063        DEFB    'd'\r
-    0000002A 2F                    5064        DEFB    '/'\r
-    0000002B 30                    5065        DEFB    '0'\r
-    0000002C 30                    5066        DEFB    '0'\r
-    0000002D 30                    5067        DEFB    '0'\r
-    0000002E 30                    5068        DEFB    '0'\r
-    0000002F 2E                    5069        DEFB    '.'\r
-    00000030 73                    5070        DEFB    's'\r
-    00000031 63                    5071        DEFB    'c'\r
-    00000032 72                    5072        DEFB    'r'\r
-    00000033 00                    5073        DEFB    0\r
-                                   5074        RSEG    UDATA0\r
-    00000000                       5075 global:\r
-    00000000                       5076        DEFS    2\r
-    00000002                       5077        END\r
+    00000036 00                    5349        DEFB    0\r
+    00000037                       5350 ?0317:\r
+    00000037 2F 64 65 76 2F 62 61  5351        DEFB    '/dev/barcode'\r
+             72 63 6F 64 65\r
+    00000043 00                    5352        DEFB    0\r
+                                   5353        RSEG    CONST\r
+    00000000                       5354 ?0000:\r
+    00000000 1B                    5355        DEFB    27\r
+    00000001 4B                    5356        DEFB    'K'\r
+    00000002                       5357 ?0004:\r
+    00000002 1B                    5358        DEFB    27\r
+    00000003 53                    5359        DEFB    'S'\r
+    00000004 00                    5360        DEFB    0\r
+    00000005 00                    5361        DEFB    0\r
+    00000006                       5362 ?0005:\r
+    00000006 1B                    5363        DEFB    27\r
+    00000007 43                    5364        DEFB    'C'\r
+    00000008 00                    5365        DEFB    0\r
+    00000009 00                    5366        DEFB    0\r
+    0000000A                       5367 ?0006:\r
+    0000000A 1B                    5368        DEFB    27\r
+    0000000B 4E                    5369        DEFB    'N'\r
+    0000000C 00                    5370        DEFB    0\r
+    0000000D 00                    5371        DEFB    0\r
+    0000000E                       5372 ?0007:\r
+    0000000E 1B                    5373        DEFB    27\r
+    0000000F 52                    5374        DEFB    'R'\r
+    00000010 00                    5375        DEFB    0\r
+    00000011 00                    5376        DEFB    0\r
+    00000012                       5377 ?0008:\r
+    00000012 1B                    5378        DEFB    27\r
+    00000013 46                    5379        DEFB    'F'\r
+    00000014 00                    5380        DEFB    0\r
+    00000015 00                    5381        DEFB    0\r
+    00000016                       5382 ?0009:\r
+    00000016 1B                    5383        DEFB    27\r
+    00000017 68                    5384        DEFB    'h'\r
+    00000018 00                    5385        DEFB    0\r
+    00000019 00                    5386        DEFB    0\r
+    0000001A                       5387 ?0010:\r
+    0000001A 1B                    5388        DEFB    27\r
+    0000001B 5A                    5389        DEFB    'Z'\r
+    0000001C 00                    5390        DEFB    0\r
+    0000001D 00                    5391        DEFB    0\r
+    0000001E 00                    5392        DEFB    0\r
+    0000001F 00                    5393        DEFB    0\r
+    00000020 00                    5394        DEFB    0\r
+    00000021                       5395 ?0011:\r
+    00000021 1B                    5396        DEFB    27\r
+    00000022 45                    5397        DEFB    'E'\r
+    00000023 00                    5398        DEFB    0\r
+    00000024                       5399 ?0012:\r
+    00000024 1B                    5400        DEFB    27\r
+    00000025 00                    5401        DEFB    0\r
+                                   5402        RSEG    UDATA0\r
+    00000000                       5403 global:\r
+    00000000                       5404        DEFS    2\r
+    00000002                       5405        END\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
 Hexadecimal [32-Bits]\r
 \r
 Symbol Table\r
 \r
     .__.ABS.       =    00000000 G   |   3 ?0000               00000000 R\r
-  2 ?0001               00000000 R   |   3 ?0002               00000002 R\r
-  3 ?0003               00000006 R   |   3 ?0004               0000000A R\r
-  3 ?0005               0000000E R   |   3 ?0006               00000012 R\r
-  3 ?0007               00000016 R   |   3 ?0008               0000001A R\r
-  3 ?0009               00000021 R   |   3 ?0010               00000024 R\r
-  1 ?0011               000003A1 R   |   1 ?0012               00000387 R\r
-  1 ?0013               0000039B R   |   1 ?0014               0000039B R\r
-  1 ?0015               0000039B R   |   1 ?0016               000003B2 R\r
-  1 ?0017               000003DB R   |   1 ?0018               000004A1 R\r
-  1 ?0019               000004B1 R   |   1 ?0020               000004C9 R\r
-  1 ?0021               000004C3 R   |   1 ?0022               000004B6 R\r
-  1 ?0023               000004C3 R   |   1 ?0024               00000547 R\r
-  1 ?0025               000004E8 R   |   1 ?0026               000004F7 R\r
-  1 ?0027               0000053A R   |   1 ?0028               00000521 R\r
-  1 ?0029               00000526 R   |   1 ?0030               0000052B R\r
-  1 ?0031               00000530 R   |   1 ?0032               00000535 R\r
-  1 ?0033               0000055B R   |   1 ?0034               00000561 R\r
-  1 ?0035               0000056A R   |   1 ?0036               0000056D R\r
-  1 ?0037               0000056A R   |   1 ?0038               0000056A R\r
-  1 ?0039               0000056D R   |   1 ?0040               00000698 R\r
-  1 ?0041               0000066C R   |   1 ?0042               00000683 R\r
-  1 ?0043               00000683 R   |   1 ?0044               00000683 R\r
-  1 ?0045               000006C9 R   |   1 ?0046               000006D2 R\r
-  1 ?0047               000006F2 R   |   1 ?0048               000006E5 R\r
-  1 ?0049               000006D2 R   |   1 ?0050               000006DA R\r
-  1 ?0051               00000738 R   |   1 ?0052               00000717 R\r
-  1 ?0053               0000071E R   |   1 ?0054               00000789 R\r
-  1 ?0056               0000075A R   |   1 ?0057               000007C1 R\r
-  1 ?0058               000007A2 R   |   1 ?0059               000007A6 R\r
-  1 ?0060               000007B8 R   |   1 ?0061               000007BB R\r
-  1 ?0062               000007C3 R   |   1 ?0063               000007EA R\r
-  1 ?0064               00000979 R   |   1 ?0065               00000803 R\r
-  1 ?0066               000007EA R   |   1 ?0067               000007F2 R\r
-  1 ?0068               0000080C R   |   1 ?0069               00000895 R\r
-  1 ?0070               0000082C R   |   1 ?0071               00000835 R\r
-  1 ?0072               00000895 R   |   1 ?0073               0000086E R\r
-  1 ?0074               0000083F R   |   1 ?0075               00000864 R\r
-  1 ?0076               00000864 R   |   1 ?0077               00000864 R\r
-  1 ?0078               0000087D R   |   1 ?0079               00000895 R\r
-  1 ?0080               000008AC R   |   1 ?0081               00000945 R\r
-  1 ?0082               000008FA R   |   1 ?0083               000008D2 R\r
-  1 ?0084               000008EB R   |   1 ?0085               000008EB R\r
-  1 ?0086               000008EB R   |   1 ?0087               00000902 R\r
-  1 ?0088               00000945 R   |   1 ?0089               00000953 R\r
-  1 ?0090               0000095C R   |   1 ?0091               0000096A R\r
-  1 ?0092               00000973 R   |   1 ?0093               0000096A R\r
-  1 ?0094               0000096A R   |   1 ?0095               000009B3 R\r
-  1 ?0096               000009A7 R   |   1 ?0097               000009AB R\r
-  1 ?0098               00000A0F R   |   1 ?0099               000009CE R\r
-  1 ?0100               000009D2 R   |   1 ?0101               00000A53 R\r
-  1 ?0102               00000A73 R   |   1 ?0103               00000A53 R\r
-  1 ?0104               00000A53 R   |   1 ?0105               00000A92 R\r
-  1 ?0106               00000AB2 R   |   1 ?0107               00000A92 R\r
-  1 ?0108               00000A92 R   |   1 ?0109               00000ACF R\r
-  1 ?0110               00000AB2 R   |   1 ?0111               00000AB9 R\r
-  1 ?0112               00000D6B R   |   1 ?0113               00000B0F R\r
-  1 ?0114               00000B3D R   |   1 ?0115               00000B20 R\r
-  1 ?0116               00000B24 R   |   1 ?0117               00000B2A R\r
-  1 ?0118               00000B35 R   |   1 ?0119               00000B40 R\r
-  1 ?0120               00000BA2 R   |   1 ?0121               00000B51 R\r
-  1 ?0122               00000B55 R   |   1 ?0123               00000B5B R\r
-  1 ?0124               00000B93 R   |   1 ?0125               00000B8F R\r
-  1 ?0126               00000B93 R   |   1 ?0127               00000B8F R\r
-  1 ?0128               00000B8F R   |   1 ?0129               00000B9A R\r
-  1 ?0130               00000BA2 R   |   1 ?0131               00000BA5 R\r
-  1 ?0132               00000BBC R   |   1 ?0133               00000BDD R\r
-  1 ?0134               00000BD1 R   |   1 ?0135               00000BDD R\r
-  1 ?0136               00000BD1 R   |   1 ?0137               00000BD1 R\r
-  1 ?0138               00000BDD R   |   1 ?0139               00000BDD R\r
-  1 ?0140               00000BDD R   |   1 ?0141               00000BDD R\r
-  1 ?0142               00000BE0 R   |   1 ?0143               00000BF1 R\r
-  1 ?0144               00000C6C R   |   1 ?0145               00000C98 R\r
-  1 ?0146               00000CD6 R   |   1 ?0147               00000CA9 R\r
-  1 ?0148               00000CAD R   |   1 ?0149               00000CC0 R\r
-  1 ?0150               00000CCE R   |   1 ?0151               00000CC0 R\r
-  1 ?0152               00000CC0 R   |   1 ?0153               00000CD9 R\r
-  1 ?0154               00000CE8 R   |   1 ?0155               00000CF6 R\r
-  1 ?0156               00000D6B R   |   1 ?0157               00000CFF R\r
-  1 ?0158               00000D27 R   |   1 ?0159               00000D6B R\r
-  1 ?0160               00000DD7 R   |   1 ?0161               00000DE0 R\r
-  1 ?0162               00000DE7 R   |   1 ?0163               00000EDC R\r
-  1 ?0164               00000FFA R   |   1 ?0165               00001023 R\r
-  1 ?0166               00000FFA R   |   1 ?0167               00000FFA R\r
-  1 ?0168               00001019 R   |   1 ?0169               00001023 R\r
-  1 ?0170               00001031 R   |   1 ?0171               0000103C R\r
-  1 ?0172               000010A7 R   |   1 ?0173               000010FA R\r
-  1 ?0174               00001122 R   |   1 ?0175               0000116A R\r
-  1 ?0176               0000116D R   |   1 ?0177               00001174 R\r
-  1 ?0178               00001206 R   |   1 ?0180               000011AE R\r
-  1 ?0181               000011B1 R   |   1 ?0182               000011C7 R\r
-  1 ?0183               000011DA R   |   1 ?0184               000011C7 R\r
-  1 ?0185               000011C7 R   |   1 ?0186               000011EE R\r
-  1 ?0187               000012BE R   |   1 ?0188               00001305 R\r
-  1 ?0189               000012BE R   |   1 ?0190               000012BE R\r
-  1 ?0191               000012FB R   |   1 ?0192               00001305 R\r
-  1 ?0193               00001313 R   |   1 ?0194               0000131E R\r
-  1 ?0195               00001357 R   |   1 ?0196               0000135A R\r
-  1 ?0197               00001361 R   |   1 ?0198               0000140C R\r
-  1 ?0199               00001380 R   |   1 ?0200               000013B0 R\r
-  1 ?0201               00001380 R   |   1 ?0202               00001380 R\r
-  1 ?0203               000013F4 R   |   1 ?0205               000013EB R\r
-  1 ?0206               000013EE R   |   1 ?0207               00001491 R\r
-  1 ?0208               000014C7 R   |   1 ?0209               00001491 R\r
-  1 ?0210               00001491 R   |   1 ?0211               00001498 R\r
-  1 ?0212               0000149D R   |   1 ?0213               000014A4 R\r
-  1 ?0214               000014DF R   |   1 ?0215               00001515 R\r
-  1 ?0216               000014DF R   |   1 ?0217               000014DF R\r
-  1 ?0218               000014E6 R   |   1 ?0219               000014EB R\r
-  1 ?0220               000014F2 R   |   2 ?0221               0000000A R\r
-  2 ?0222               0000000D R   |   1 ?0223               00001635 R\r
-  1 ?0224               0000166F R   |   1 ?0225               00001635 R\r
-  1 ?0226               00001635 R   |   1 ?0227               0000164A R\r
-  1 ?0228               00001657 R   |   1 ?0229               0000164F R\r
-  1 ?0230               00001655 R   |   1 ?0231               00001664 R\r
-  1 ?0232               000016BD R   |   1 ?0233               000016C0 R\r
-  1 ?0234               000016C7 R   |   1 ?0235               000017CE R\r
-  1 ?0237               0000170B R   |   1 ?0238               0000170E R\r
-  1 ?0239               00001726 R   |   1 ?0240               0000172D R\r
-  1 ?0241               00001735 R   |   1 ?0242               0000178A R\r
-  1 ?0243               000017C0 R   |   1 ?0244               000017B2 R\r
-  1 ?0245               0000178E R   |   1 ?0246               000017A7 R\r
-  1 ?0248               000017CE R   |   2 ?0249               00000014 R\r
-  1 ?0250               0000186A R   |   1 ?0251               0000186D R\r
-  1 ?0252               00001873 R   |   1 ?0253               00001894 R\r
-  1 ?0254               00001C8C R   |   1 ?0256               0000193E R\r
-  1 ?0257               00001949 R   |   1 ?0258               00001961 R\r
-  1 ?0259               0000196F R   |   1 ?0260               000019BE R\r
-  1 ?0261               0000196F R   |   1 ?0262               0000196F R\r
-  1 ?0263               000019B6 R   |   1 ?0264               000019BA R\r
-  1 ?0265               000019C5 R   |   1 ?0266               00001A09 R\r
-  1 ?0267               00001A10 R   |   1 ?0268               00001A54 R\r
-  1 ?0269               00001A5B R   |   1 ?0270               00001AA2 R\r
-  1 ?0271               00001AA9 R   |   1 ?0272               00001AFA R\r
-  1 ?0273               00001B01 R   |   1 ?0274               00001B72 R\r
-  1 ?0275               00001B79 R   |   1 ?0276               00001C72 R\r
-  1 ?0277               00001B81 R   |   1 ?0278               00001BEA R\r
-  1 ?0279               00001BF2 R   |   1 ?0280               00001BFE R\r
-  1 ?0281               00001C20 R   |   1 ?0282               00001C36 R\r
-  1 ?0283               00001C3A R   |   1 ?0284               00001C49 R\r
-  1 ?0285               00001C59 R   |   3 ?0286               00000026 R\r
-  1 ?0287               00001D11 R   |   1 ?0288               00001D19 R\r
-  1 ?0289               00001D2F R   |   1 ?0290               00001E49 R\r
-  1 ?0291               00001D8C R   |   1 ?0292               00001D98 R\r
-  1 ?0293               00001E5A R   |   1 ?0294               00001FE7 R\r
-  1 ?0295               00001F7B R   |   1 ?0296               00001EB9 R\r
-  1 ?0297               00001EE2 R   |   2 ?0299               00000015 R\r
-  1 ?0300               00001FF6 R   |   1 ?0301               00002003 R\r
-  1 ?0302               000020A0 R   |   1 ?0303               0000205E R\r
-  1 ?0304               00002070 R   |   1 ?0305               00002070 R\r
-  1 ?0306               00002070 R   |   1 ?0307               00002096 R\r
-  1 ?0308               0000208B R   |   1 ?0309               00002093 R\r
-  1 ?0310               000020A5 R   |   1 ?0311               000020B8 R\r
-  1 ?0312               000022FB R   |   1 ?0313               0000225B R\r
-  1 ?0314               00002269 R   |   1 ?0315               00002283 R\r
-  1 ?0316               000022F8 R   |   2 ?0317               00000021 R\r
-  1 ?0318               0000229C R   |   1 ?0319               000022C5 R\r
-  1 ?0320               000022F2 R   |   1 ?0321               00000382 R\r
-  1 ?0331               00000538 R   |   1 ?0335               000006EB R\r
-  1 ?0336               0000079D R   |   1 ?0338               00000839 R\r
-  1 ?0339               00000885 R   |   1 ?0341               000009A4 R\r
-  1 ?0342               000009C7 R   |   1 ?0344               00000B1D R\r
-  1 ?0345               00000CA6 R   |   1 ?0346               00000D67 R\r
-  1 ?0347               00000C95 R   |   1 ?0348               00000B4E R\r
-  1 ?0350               0000111A R   |   1 ?0353               000011EB R\r
-  1 ?0357               000013E4 R   |   1 ?0358               000014A0 R\r
-  1 ?0359               000014EE R   |   1 ?0364               00001732 R\r
-  1 ?0365               000017C6 R   |   1 ?0367               00001EDC R\r
-  1 ?0368               00001EDD R   |   1 ?0369               00001F78 R\r
-  1 ?0370               000022EE R   |   1 ?0372               00000077 R\r
-  1 ?0381               000000CB R   |   1 ?0389               00000110 R\r
-  1 ?0396               00000157 R   |   1 ?0402               000001A0 R\r
-  1 ?0407               000001EA R   |   1 ?0411               0000025E R\r
-  1 ?0415               00000576 R   |   1 ?0416               00000592 R\r
-  1 ?0418               00000651 R   |   1 ?0424               0000111F R\r
-  1 ?0427               00000079 R   |   1 ?0428               0000007D R\r
-  1 ?0429               0000007F R   |   1 ?0430               00000081 R\r
-  1 ?0431               00000084 R   |   1 ?0432               000000D3 R\r
-  1 ?0433               000000D5 R   |   1 ?0434               000000D8 R\r
-  1 ?0435               0000011B R   |   1 ?0438               00000FB5 R\r
-  1 ?0439               000015CC R   |   1 ?0440               000015E0 R\r
-  1 ?0441               00001CBE R   |   1 ?0442               000003E7 R\r
-  1 ?0443               000003DE R   |   1 ?0444               00000413 R\r
-  1 ?0445               00001674 R   |   1 ?0446               0000167F R\r
-  1 ?0447               000004CE R   |   1 ?0448               00000422 R\r
-  1 ?0449               0000042D R   |   1 ?0450               00000428 R\r
-  1 ?0451               00000984 R   |   1 ?0452               00000987 R\r
-  1 ?0453               0000098F R   |   1 ?0454               00001CC6 R\r
-  1 ?0455               00000EE1 R   |   1 ?0456               000015E8 R\r
-  1 ?0457               0000120E R   |   1 ?0458               00001212 R\r
-  1 ?0459               00000EEF R   |   1 ?0460               00000F0C R\r
-  1 ?0461               000002D7 R   |   1 ?0462               00000D70 R\r
-  1 ?0463               00000D76 R   |   1 ?0464               00001050 R\r
-  1 ?0465               00001041 R   |   1 ?0466               00000D8C R\r
-  1 ?0467               00000D85 R   |   1 ?0468               00000D87 R\r
-  1 ?0469               0000105E R   |   1 ?0470               000002EF R\r
-  1 ?0471               000002F2 R   |   1 ?0472               00000F24 R\r
-  1 ?0473               00000F1E R   |   1 ?0474               00000D95 R\r
-  1 ?0475               00000D94 R   |   1 ?0476               00002008 R\r
-  1 ?0477               00000740 R   |   1 ?0478               00000742 R\r
-  1 ?0479               000020DC R   |   1 ?0480               00001127 R\r
-  1 ?0481               00001128 R   |   1 ?0482               00001CCE R\r
-  1 ?0483               00001CD7 R   |   1 ?0484               00002210 R\r
+  2 ?0001               00000000 R   |   2 ?0002               0000000A R\r
+  2 ?0003               00000014 R   |   3 ?0004               00000002 R\r
+  3 ?0005               00000006 R   |   3 ?0006               0000000A R\r
+  3 ?0007               0000000E R   |   3 ?0008               00000012 R\r
+  3 ?0009               00000016 R   |   3 ?0010               0000001A R\r
+  3 ?0011               00000021 R   |   3 ?0012               00000024 R\r
+  1 ?0013               0000043C R   |   1 ?0014               00000422 R\r
+  1 ?0015               00000436 R   |   1 ?0016               00000436 R\r
+  1 ?0017               00000436 R   |   1 ?0018               0000044D R\r
+  1 ?0019               00000476 R   |   1 ?0020               00000530 R\r
+  1 ?0021               00000540 R   |   1 ?0022               00000558 R\r
+  1 ?0023               00000552 R   |   1 ?0024               00000545 R\r
+  1 ?0025               00000552 R   |   1 ?0026               000005D6 R\r
+  1 ?0027               00000577 R   |   1 ?0028               00000586 R\r
+  1 ?0029               000005C9 R   |   1 ?0030               000005B0 R\r
+  1 ?0031               000005B5 R   |   1 ?0032               000005BA R\r
+  1 ?0033               000005BF R   |   1 ?0034               000005C4 R\r
+  1 ?0035               000005EA R   |   1 ?0036               000005F0 R\r
+  1 ?0037               000005F9 R   |   1 ?0038               000005FC R\r
+  1 ?0039               000005F9 R   |   1 ?0040               000005F9 R\r
+  1 ?0041               000005FC R   |   1 ?0042               00000727 R\r
+  1 ?0043               000006FB R   |   1 ?0044               00000712 R\r
+  1 ?0045               00000712 R   |   1 ?0046               00000712 R\r
+  1 ?0047               00000758 R   |   1 ?0048               00000761 R\r
+  1 ?0049               00000781 R   |   1 ?0050               00000774 R\r
+  1 ?0051               00000761 R   |   1 ?0052               00000769 R\r
+  1 ?0053               000007C7 R   |   1 ?0054               000007A6 R\r
+  1 ?0055               000007AD R   |   1 ?0056               00000818 R\r
+  1 ?0058               000007E9 R   |   1 ?0059               00000850 R\r
+  1 ?0060               00000831 R   |   1 ?0061               00000835 R\r
+  1 ?0062               00000847 R   |   1 ?0063               0000084A R\r
+  1 ?0064               00000852 R   |   1 ?0065               00000879 R\r
+  1 ?0066               00000A08 R   |   1 ?0067               00000892 R\r
+  1 ?0068               00000879 R   |   1 ?0069               00000881 R\r
+  1 ?0070               0000089B R   |   1 ?0071               00000924 R\r
+  1 ?0072               000008BB R   |   1 ?0073               000008C4 R\r
+  1 ?0074               00000924 R   |   1 ?0075               000008FD R\r
+  1 ?0076               000008CE R   |   1 ?0077               000008F3 R\r
+  1 ?0078               000008F3 R   |   1 ?0079               000008F3 R\r
+  1 ?0080               0000090C R   |   1 ?0081               00000924 R\r
+  1 ?0082               0000093B R   |   1 ?0083               000009D4 R\r
+  1 ?0084               00000989 R   |   1 ?0085               00000961 R\r
+  1 ?0086               0000097A R   |   1 ?0087               0000097A R\r
+  1 ?0088               0000097A R   |   1 ?0089               00000991 R\r
+  1 ?0090               000009D4 R   |   1 ?0091               000009E2 R\r
+  1 ?0092               000009EB R   |   1 ?0093               000009F9 R\r
+  1 ?0094               00000A02 R   |   1 ?0095               000009F9 R\r
+  1 ?0096               000009F9 R   |   1 ?0097               00000A42 R\r
+  1 ?0098               00000A36 R   |   1 ?0099               00000A3A R\r
+  1 ?0100               00000A9E R   |   1 ?0101               00000A5D R\r
+  1 ?0102               00000A61 R   |   1 ?0103               00000AE2 R\r
+  1 ?0104               00000B02 R   |   1 ?0105               00000AE2 R\r
+  1 ?0106               00000AE2 R   |   1 ?0107               00000B21 R\r
+  1 ?0108               00000B41 R   |   1 ?0109               00000B21 R\r
+  1 ?0110               00000B21 R   |   1 ?0111               00000B5E R\r
+  1 ?0112               00000B41 R   |   1 ?0113               00000B48 R\r
+  1 ?0114               00000DFA R   |   1 ?0115               00000B9E R\r
+  1 ?0116               00000BCC R   |   1 ?0117               00000BAF R\r
+  1 ?0118               00000BB3 R   |   1 ?0119               00000BB9 R\r
+  1 ?0120               00000BC4 R   |   1 ?0121               00000BCF R\r
+  1 ?0122               00000C31 R   |   1 ?0123               00000BE0 R\r
+  1 ?0124               00000BE4 R   |   1 ?0125               00000BEA R\r
+  1 ?0126               00000C22 R   |   1 ?0127               00000C1E R\r
+  1 ?0128               00000C22 R   |   1 ?0129               00000C1E R\r
+  1 ?0130               00000C1E R   |   1 ?0131               00000C29 R\r
+  1 ?0132               00000C31 R   |   1 ?0133               00000C34 R\r
+  1 ?0134               00000C4B R   |   1 ?0135               00000C6C R\r
+  1 ?0136               00000C60 R   |   1 ?0137               00000C6C R\r
+  1 ?0138               00000C60 R   |   1 ?0139               00000C60 R\r
+  1 ?0140               00000C6C R   |   1 ?0141               00000C6C R\r
+  1 ?0142               00000C6C R   |   1 ?0143               00000C6C R\r
+  1 ?0144               00000C6F R   |   1 ?0145               00000C80 R\r
+  1 ?0146               00000CFB R   |   1 ?0147               00000D27 R\r
+  1 ?0148               00000D65 R   |   1 ?0149               00000D38 R\r
+  1 ?0150               00000D3C R   |   1 ?0151               00000D4F R\r
+  1 ?0152               00000D5D R   |   1 ?0153               00000D4F R\r
+  1 ?0154               00000D4F R   |   1 ?0155               00000D68 R\r
+  1 ?0156               00000D77 R   |   1 ?0157               00000D85 R\r
+  1 ?0158               00000DFA R   |   1 ?0159               00000D8E R\r
+  1 ?0160               00000DB6 R   |   1 ?0161               00000DFA R\r
+  1 ?0162               00000E62 R   |   1 ?0163               00000E65 R\r
+  1 ?0164               00000E6C R   |   1 ?0165               00000F5F R\r
+  1 ?0166               00001097 R   |   1 ?0167               000010C0 R\r
+  1 ?0168               00001097 R   |   1 ?0169               00001097 R\r
+  1 ?0170               000010B6 R   |   1 ?0171               000010C0 R\r
+  1 ?0172               000010CE R   |   1 ?0173               000010D9 R\r
+  1 ?0174               00001127 R   |   1 ?0175               0000117A R\r
+  1 ?0176               0000119C R   |   1 ?0177               000011EE R\r
+  1 ?0178               000011F1 R   |   1 ?0179               000011F8 R\r
+  1 ?0180               0000128A R   |   1 ?0182               00001232 R\r
+  1 ?0183               00001235 R   |   1 ?0184               0000124B R\r
+  1 ?0185               0000125E R   |   1 ?0186               0000124B R\r
+  1 ?0187               0000124B R   |   1 ?0188               00001272 R\r
+  1 ?0189               00001327 R   |   1 ?0190               0000136E R\r
+  1 ?0191               00001327 R   |   1 ?0192               00001327 R\r
+  1 ?0193               00001364 R   |   1 ?0194               0000136E R\r
+  1 ?0195               0000137C R   |   1 ?0196               00001387 R\r
+  1 ?0197               000013C0 R   |   1 ?0198               000013C3 R\r
+  1 ?0199               000013CA R   |   1 ?0200               00001475 R\r
+  1 ?0201               000013E9 R   |   1 ?0202               00001419 R\r
+  1 ?0203               000013E9 R   |   1 ?0204               000013E9 R\r
+  1 ?0205               0000145D R   |   1 ?0207               00001454 R\r
+  1 ?0208               00001457 R   |   1 ?0209               00001505 R\r
+  1 ?0210               0000153B R   |   1 ?0211               00001505 R\r
+  1 ?0212               00001505 R   |   1 ?0213               0000150C R\r
+  1 ?0214               00001511 R   |   1 ?0215               00001518 R\r
+  1 ?0216               00001553 R   |   1 ?0217               00001589 R\r
+  1 ?0218               00001553 R   |   1 ?0219               00001553 R\r
+  1 ?0220               0000155A R   |   1 ?0221               0000155F R\r
+  1 ?0222               00001566 R   |   2 ?0223               00000020 R\r
+  2 ?0224               00000023 R   |   1 ?0225               000016CA R\r
+  1 ?0226               00001704 R   |   1 ?0227               000016CA R\r
+  1 ?0228               000016CA R   |   1 ?0229               000016DF R\r
+  1 ?0230               000016EC R   |   1 ?0231               000016E4 R\r
+  1 ?0232               000016EA R   |   1 ?0233               000016F9 R\r
+  1 ?0234               00001752 R   |   1 ?0235               00001755 R\r
+  1 ?0236               0000175C R   |   1 ?0237               0000183B R\r
+  1 ?0239               000017A0 R   |   1 ?0240               000017A3 R\r
+  1 ?0241               000017BB R   |   1 ?0242               000017C2 R\r
+  1 ?0243               000017CA R   |   1 ?0244               000017FC R\r
+  1 ?0245               00001832 R   |   1 ?0246               00001824 R\r
+  1 ?0247               00001800 R   |   1 ?0248               00001819 R\r
+  1 ?0250               0000183B R   |   2 ?0251               0000002A R\r
+  1 ?0252               000018DC R   |   1 ?0253               000018DF R\r
+  1 ?0254               000018E5 R   |   1 ?0255               00001906 R\r
+  1 ?0256               00001D05 R   |   1 ?0258               000019B6 R\r
+  1 ?0259               000019C1 R   |   1 ?0260               000019D9 R\r
+  1 ?0261               000019E7 R   |   1 ?0262               00001A35 R\r
+  1 ?0263               000019E7 R   |   1 ?0264               000019E7 R\r
+  1 ?0265               00001A2D R   |   1 ?0266               00001A31 R\r
+  1 ?0267               00001A3C R   |   1 ?0268               00001A7F R\r
+  1 ?0269               00001A86 R   |   1 ?0270               00001AC9 R\r
+  1 ?0271               00001AD0 R   |   1 ?0272               00001B16 R\r
+  1 ?0273               00001B1D R   |   1 ?0274               00001B6E R\r
+  1 ?0275               00001B75 R   |   1 ?0276               00001BE6 R\r
+  1 ?0277               00001BED R   |   1 ?0278               00001CE6 R\r
+  1 ?0279               00001BF5 R   |   1 ?0280               00001C5E R\r
+  1 ?0281               00001C66 R   |   1 ?0282               00001C72 R\r
+  1 ?0283               00001C94 R   |   1 ?0284               00001CAA R\r
+  1 ?0285               00001CAE R   |   1 ?0286               00001CBD R\r
+  1 ?0287               00001CCD R   |   1 ?0288               00001D9E R\r
+  1 ?0289               00001DA8 R   |   1 ?0290               00001DBE R\r
+  1 ?0291               00001EA7 R   |   1 ?0292               00001E47 R\r
+  1 ?0293               00001E53 R   |   1 ?0294               00001EB8 R\r
+  1 ?0295               00002045 R   |   1 ?0296               00001FD9 R\r
+  1 ?0297               00001F17 R   |   1 ?0298               00001F40 R\r
+  2 ?0300               0000002B R   |   1 ?0301               00002055 R\r
+  1 ?0302               00002072 R   |   1 ?0303               00002082 R\r
+  1 ?0304               00002098 R   |   1 ?0305               000020A7 R\r
+  1 ?0306               000020B4 R   |   1 ?0307               00002156 R\r
+  1 ?0308               00002114 R   |   1 ?0309               00002126 R\r
+  1 ?0310               00002126 R   |   1 ?0311               00002126 R\r
+  1 ?0312               0000214C R   |   1 ?0313               00002141 R\r
+  1 ?0314               00002149 R   |   1 ?0315               0000215B R\r
+  1 ?0316               0000216E R   |   2 ?0317               00000037 R\r
+  1 ?0318               000024AB R   |   1 ?0319               0000238A R\r
+  1 ?0320               00002398 R   |   1 ?0321               000023BA R\r
+  1 ?0322               00002421 R   |   1 ?0323               000023C0 R\r
+  1 ?0324               000023EB R   |   1 ?0325               00002418 R\r
+  1 ?0326               00002443 R   |   1 ?0327               000024A8 R\r
+  1 ?0328               00002452 R   |   1 ?0329               00002467 R\r
+  1 ?0330               000024A8 R   |   1 ?0331               0000041D R\r
+  1 ?0341               000005C7 R   |   1 ?0345               0000077A R\r
+  1 ?0346               0000082C R   |   1 ?0348               000008C8 R\r
+  1 ?0349               00000914 R   |   1 ?0351               00000A33 R\r
+  1 ?0352               00000A56 R   |   1 ?0354               00000BAC R\r
+  1 ?0355               00000D35 R   |   1 ?0356               00000DF6 R\r
+  1 ?0357               00000D24 R   |   1 ?0358               00000BDD R\r
+  1 ?0360               00001194 R   |   1 ?0363               0000126F R\r
+  1 ?0367               0000144D R   |   1 ?0368               00001514 R\r
+  1 ?0369               00001562 R   |   1 ?0374               000017C7 R\r
+  1 ?0375               00001838 R   |   1 ?0377               00001F3A R\r
+  1 ?0378               00001F3B R   |   1 ?0379               00001FD6 R\r
+  1 ?0381               00002414 R   |   1 ?0382               00000170 R\r
+  1 ?0387               00000182 R   |   1 ?0390               000001B1 R\r
+  1 ?0394               000001BF R   |   1 ?0397               000001F7 R\r
+  1 ?0400               00000203 R   |   1 ?0403               0000023A R\r
+  1 ?0405               00000247 R   |   1 ?0408               00000280 R\r
+  1 ?0409               0000028D R   |   1 ?0412               000002D4 R\r
+  1 ?0415               000002F9 R   |   1 ?0419               00000605 R\r
+  1 ?0420               00000621 R   |   1 ?0422               000006E0 R\r
+  1 ?0431               00001199 R   |   1 ?0432               00000184 R\r
+  1 ?0433               00000188 R   |   1 ?0434               0000018D R\r
+  1 ?0435               0000018F R   |   1 ?0436               00000192 R\r
+  1 ?0437               000001CA R   |   1 ?0438               000001CC R\r
+  1 ?0439               000001CF R   |   1 ?0440               0000020E R\r
+  1 ?0443               0000010C R   |   1 ?0444               00000114 R\r
+  1 ?0445               00000126 R   |   1 ?0446               0000011C R\r
+  1 ?0447               0000012B R   |   1 ?0448               00000121 R\r
+  1 ?0449               00000F67 R   |   1 ?0450               00000E00 R\r
+  1 ?0451               00000DFF R   |   1 ?0452               00000131 R\r
+  1 ?0453               00000485 R   |   1 ?0454               00000479 R\r
+  1 ?0455               00001709 R   |   1 ?0456               00001714 R\r
+  1 ?0457               0000055D R   |   1 ?0458               000004B1 R\r
+  1 ?0459               000004BC R   |   1 ?0460               000004B7 R\r
+  1 ?0461               00000F7B R   |   1 ?0462               00000F87 R\r
+  1 ?0463               00000F75 R   |   1 ?0464               00000A13 R\r
+  1 ?0465               00000A16 R   |   1 ?0466               00001D32 R\r
+  1 ?0467               00000A1E R   |   1 ?0468               00000153 R\r
+  1 ?0469               00000156 R   |   1 ?0470               00000F95 R\r
+  1 ?0471               0000167D R   |   1 ?0472               00000FAB R\r
+  1 ?0473               00000FAF R   |   1 ?0474               00000372 R\r
+  1 ?0475               00000E0A R   |   1 ?0476               00000E10 R\r
+  1 ?0477               00000E26 R   |   1 ?0478               00000E1F R\r
+  1 ?0479               00000E21 R   |   1 ?0480               000010ED R\r
+  1 ?0481               000010DE R   |   1 ?0482               000010FB R\r
+  1 ?0483               0000038A R   |   1 ?0484               0000038D R\r
+  1 ?0485               000020B9 R   |   1 ?0486               000007CF R\r
+  1 ?0487               000007D1 R   |   1 ?0488               00002192 R\r
+  1 ?0489               000011A1 R   |   1 ?0490               00001D3A R\r
+  1 ?0491               00001D50 R   |   1 ?0492               00001D58 R\r
+  1 ?0493               00001D64 R   |   1 ?0494               000022C6 R\r
     ?BANK_CALL_DIR      ******** GX  |     ?BANK_FAST_LEA      ******** GX\r
     ?BANK_LEAVE_DI      ******** GX  |     ?CL64180B_4_06      ******** GX\r
     ?C_V_SWITCH_L0      ******** GX  |     ?ENT_AUTO_DIRE      ******** GX\r
-    ?ENT_PARM_DIRE      ******** GX  |     ?SL_RSH_L03         ******** GX\r
-    ?SS_CMP_L02         ******** GX  |     ?SS_DIV_L02         ******** GX\r
-    ?SS_RSH_L02         ******** GX  |     ?S_MUL_L02          ******** GX\r
-    ?S_V_SWITCH_L0      ******** GX  |   1 Button_add          0000122F GR\r
-  1 Button_drawtex      0000107A GR  |   1 Button_handler      00000FC3 GR\r
-  1 Button_new          00001235 GR  |   1 Button_paint        00001136 GR\r
-  1 ClearRect           000000E2 GR  |   1 ClearScreen         000002BD GR\r
-  1 Component_add       000006A6 GR  |   1 Component_chan      000009B6 GR\r
-  1 Component_dele      000007C6 GR  |   1 Component_dele      00000997 GR\r
-  1 Component_find      0000078E GR  |   1 Component_find      0000074A GR\r
-  1 Component_link      00000A1F GR  |   1 Component_new       000005AF GR\r
-  1 Component_pain      00000704 GR  |   1 Component_setl      00000659 GR\r
-  1 Dialog_handler      00001461 GR  |   1 Dialog_new          0000151A GR\r
-  1 Display_handle      00001609 GR  |   1 Display_new         000017D6 GR\r
-  1 Display_paint       0000168A GR  |   1 DrawRectNC          00000125 GR\r
-  1 EnableScreen        000002FA GR  |   1 FillRect            0000016A GR\r
-  1 FillRectNC          000001AF GR  |   1 GUIgo               0000223D GR\r
-  1 GUIinit             000020F1 GR  |   1 GUIunit             00002218 GR\r
-  1 GraphicsClose       0000008E GR  |   1 GraphicsOpen        00000000 GR\r
-  1 GrayRect            000001F4 GR  |   1 Label_handler       00001830 GR\r
-  1 Label_new           00001897 GR  |   1 Label_paint         00001836 GR\r
-  1 Move                000000A3 GR  |   1 Root_paint          00000F2C GR\r
-  1 Text                00000239 GR  |   1 ToggleButton_h      00001287 GR\r
-  1 ToggleButton_n      0000140F GR  |   1 ToggleButton_p      00001323 GR\r
-  1 TouchRegion         00000266 GR  |   1 Window_add          00000F63 GR\r
-  1 Window_handler      00000AD2 GR  |   1 Window_new          00000F71 GR\r
-  1 Window_paint        00000D9F GR  |     _read               ******** GX\r
+    ?ENT_PARM_DIRE      ******** GX  |     ?SS_CMP_L02         ******** GX\r
+    ?SS_DIV_L02         ******** GX  |     ?SS_RSH_L02         ******** GX\r
+    ?S_MUL_L02          ******** GX  |     ?S_V_SWITCH_L0      ******** GX\r
+  1 Button_add          0000128D GR  |   1 Button_drawtex      00001117 GR\r
+  1 Button_handler      00001060 GR  |   1 Button_new          00001293 GR\r
+  1 Button_paint        000011BA GR  |   1 ClearRect           00000199 GR\r
+  1 ClearScreen         00000358 GR  |   1 Component_add       00000735 GR\r
+  1 Component_chan      00000A45 GR  |   1 Component_dele      00000855 GR\r
+  1 Component_dele      00000A26 GR  |   1 Component_find      0000081D GR\r
+  1 Component_find      000007D9 GR  |   1 Component_link      00000AAE GR\r
+  1 Component_new       0000063E GR  |   1 Component_pain      00000793 GR\r
+  1 Component_setl      000006E8 GR  |   1 Dialog_handler      000014D5 GR\r
+  1 Dialog_new          0000158E GR  |   1 Display_handle      0000169E GR\r
+  1 Display_new         00001843 GR  |   1 Display_paint       0000171F GR\r
+  1 DrawRectNC          000001D9 GR  |   1 EnableScreen        00000395 GR\r
+  1 FillRect            00000218 GR  |   1 FillRectNC          0000025A GR\r
+  1 GUIgo               000022F3 GR  |   1 GUIinit             000021A7 GR\r
+  1 GUIunit             000022CE GR  |   1 GraphicsClose       00000139 GR\r
+  1 GraphicsOpen        0000001B GR  |   1 GrayRect            0000029C GR\r
+  1 Label_handler       000018A2 GR  |   1 Label_new           00001909 GR\r
+  1 Label_paint         000018A8 GR  |   1 Move                0000015E GR\r
+  1 Root_paint          00000FCC GR  |   1 SetCurrentGrap      00000000 GR\r
+  1 Text                000002DE GR  |   1 ToggleButton_h      000012F0 GR\r
+  1 ToggleButton_n      00001478 GR  |   1 ToggleButton_p      0000138C GR\r
+  1 TouchRegion         00000301 GR  |   1 Window_add          00001003 GR\r
+  1 Window_handler      00000B61 GR  |   1 Window_new          00001011 GR\r
+  1 Window_paint        00000E2E GR  |     _read               ******** GX\r
     _write              ******** GX  |     close               ******** GX\r
-    fflush              ******** GX  |   1 fontSearch          00000375 GR\r
+    fflush              ******** GX  |   1 fontSearch          00000410 GR\r
     free                ******** GX  |   4 global              00000000 GR\r
-  1 grSetFont           00000338 GR  |   1 gui_globals         000020EB GR\r
-    ioctl               ******** GX  |   1 loadFont            00000433 GR\r
+  1 grSetFont           000003D3 GR  |   1 gui_globals         000021A1 GR\r
+    ioctl               ******** GX  |   1 loadFont            000004C2 GR\r
     malloc              ******** GX  |     open                ******** GX\r
-    printf              ******** GX  |   1 read_stringtab      00002016 GR\r
-  1 rootWindow_han      000018F0 GR  |   1 root_actionhan      00001CDE GR\r
-  1 screenbuilder       0000190E GR  |   1 setCurrentFont      000003A5 GR\r
-    stdout              ******** GX  |   1 stringheight        00000553 GR\r
-  1 stringheight01      00000570 GR  |   1 stringheight2       00000583 GR\r
-  1 stringwidth         000004DA GR  |   1 stringwidth0        0000058C GR\r
-  1 stringwidth1        0000059D GR  |   1 stringwidth2        000005A6 GR\r
-    strlen              ******** GX\r
+  1 read_stringtab      000020C7 GR  |   1 rootWindow_han      0000196D GR\r
+  1 root_actionhan      00001D78 GR  |   1 screenbuilder       0000198B GR\r
+  1 setCurrentFont      00000440 GR  |     stdout              ******** GX\r
+  1 stringheight        000005E2 GR  |   1 stringheight01      000005FF GR\r
+  1 stringheight2       00000612 GR  |   1 stringwidth         00000569 GR\r
+  1 stringwidth0        0000061B GR  |   1 stringwidth1        0000062C GR\r
+  1 stringwidth2        00000635 GR  |     strlen              ******** GX\r
+\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
 Hexadecimal [32-Bits]\r
 \r
 Area Table\r
 \r
    0 _DEFAULT         size        0   flags   0\r
-   1 CODE             size     22FE   flags   0\r
-   2 CSTR             size       29   flags   0\r
-   3 CONST            size       34   flags   0\r
+   1 CODE             size     24B6   flags   0\r
+   2 CSTR             size       44   flags   0\r
+   3 CONST            size       26   flags   0\r
    4 UDATA0           size        2   flags   0\r
index f02171e..c5cf62b 100644 (file)
@@ -1,11 +1,10 @@
 XL4\r
-H 5 areas 58 global symbols\r
+H 5 areas 57 global symbols\r
 M wnd\r
 S ?BANK_FAST_LEAVE_L08 Ref00000000\r
 S fflush Ref00000000\r
 S _write Ref00000000\r
 S ?S_MUL_L02 Ref00000000\r
-S printf Ref00000000\r
 S ?BANK_LEAVE_DIRECT_L08 Ref00000000\r
 S close Ref00000000\r
 S strlen Ref00000000\r
@@ -21,3366 +20,3546 @@ S ?SS_CMP_L02 Ref00000000
 S open Ref00000000\r
 S ?SS_DIV_L02 Ref00000000\r
 S ?CL64180B_4_06_L00 Ref00000000\r
-S ?SL_RSH_L03 Ref00000000\r
 S malloc Ref00000000\r
 S _read Ref00000000\r
 S ?SS_RSH_L02 Ref00000000\r
 S .__.ABS. Def00000000\r
 A _DEFAULT size 0 flags 0\r
-A CODE size 22FE flags 0\r
-S Window_new Def00000F71\r
-S stringheight2 Def00000583\r
-S GraphicsOpen Def00000000\r
-S Component_findXY Def0000074A\r
-S Text Def00000239\r
-S GUIunit Def00002218\r
-S Button_new Def00001235\r
-S setCurrentFont Def000003A5\r
-S ToggleButton_new Def0000140F\r
-S ClearScreen Def000002BD\r
-S gui_globals Def000020EB\r
-S Component_delete_children Def00000997\r
-S Component_paint Def00000704\r
-S stringheight Def00000553\r
-S Window_paint Def00000D9F\r
-S Component_find Def0000078E\r
-S Window_handler Def00000AD2\r
-S FillRect Def0000016A\r
-S loadFont Def00000433\r
-S Button_paint Def00001136\r
-S rootWindow_handler Def000018F0\r
-S ToggleButton_paint Def00001323\r
-S Dialog_new Def0000151A\r
-S Button_handler Def00000FC3\r
-S read_stringtable Def00002016\r
-S ToggleButton_handler Def00001287\r
-S GUIgo Def0000223D\r
-S Component_add Def000006A6\r
-S grSetFont Def00000338\r
-S Display_new Def000017D6\r
-S Window_add Def00000F63\r
-S GrayRect Def000001F4\r
-S Component_changestate_children Def000009B6\r
-S Button_add Def0000122F\r
-S Component_delete Def000007C6\r
-S FillRectNC Def000001AF\r
-S stringwidth0 Def0000058C\r
-S screenbuilder Def0000190E\r
-S TouchRegion Def00000266\r
-S GraphicsClose Def0000008E\r
-S EnableScreen Def000002FA\r
-S stringwidth1 Def0000059D\r
-S stringwidth2 Def000005A6\r
-S Label_new Def00001897\r
-S fontSearch Def00000375\r
-S DrawRectNC Def00000125\r
-S Dialog_handler Def00001461\r
-S Button_drawtext Def0000107A\r
-S stringheight01 Def00000570\r
-S Display_paint Def0000168A\r
-S Display_handler Def00001609\r
-S ClearRect Def000000E2\r
-S stringwidth Def000004DA\r
-S Move Def000000A3\r
-S GUIinit Def000020F1\r
-S Label_paint Def00001836\r
-S Component_new Def000005AF\r
-S Label_handler Def00001830\r
-S Component_setlabel Def00000659\r
-S root_actionhandler Def00001CDE\r
-S Root_paint Def00000F2C\r
-S Component_linkstringtable Def00000A1F\r
-A CSTR size 29 flags 0\r
-A CONST size 34 flags 0\r
+A CODE size 24B6 flags 0\r
+S Window_new Def00001011\r
+S stringheight2 Def00000612\r
+S GraphicsOpen Def0000001B\r
+S Component_findXY Def000007D9\r
+S Text Def000002DE\r
+S GUIunit Def000022CE\r
+S Button_new Def00001293\r
+S setCurrentFont Def00000440\r
+S ToggleButton_new Def00001478\r
+S ClearScreen Def00000358\r
+S gui_globals Def000021A1\r
+S Component_delete_children Def00000A26\r
+S Component_paint Def00000793\r
+S stringheight Def000005E2\r
+S SetCurrentGraphicsDevice Def00000000\r
+S Window_paint Def00000E2E\r
+S Component_find Def0000081D\r
+S Window_handler Def00000B61\r
+S FillRect Def00000218\r
+S loadFont Def000004C2\r
+S Button_paint Def000011BA\r
+S rootWindow_handler Def0000196D\r
+S ToggleButton_paint Def0000138C\r
+S Dialog_new Def0000158E\r
+S Button_handler Def00001060\r
+S read_stringtable Def000020C7\r
+S ToggleButton_handler Def000012F0\r
+S GUIgo Def000022F3\r
+S Component_add Def00000735\r
+S grSetFont Def000003D3\r
+S Display_new Def00001843\r
+S Window_add Def00001003\r
+S GrayRect Def0000029C\r
+S Component_changestate_children Def00000A45\r
+S Button_add Def0000128D\r
+S Component_delete Def00000855\r
+S FillRectNC Def0000025A\r
+S stringwidth0 Def0000061B\r
+S screenbuilder Def0000198B\r
+S TouchRegion Def00000301\r
+S GraphicsClose Def00000139\r
+S EnableScreen Def00000395\r
+S stringwidth1 Def0000062C\r
+S stringwidth2 Def00000635\r
+S Label_new Def00001909\r
+S fontSearch Def00000410\r
+S DrawRectNC Def000001D9\r
+S Dialog_handler Def000014D5\r
+S Button_drawtext Def00001117\r
+S stringheight01 Def000005FF\r
+S Display_paint Def0000171F\r
+S Display_handler Def0000169E\r
+S ClearRect Def00000199\r
+S stringwidth Def00000569\r
+S Move Def0000015E\r
+S GUIinit Def000021A7\r
+S Label_paint Def000018A8\r
+S Component_new Def0000063E\r
+S Label_handler Def000018A2\r
+S Component_setlabel Def000006E8\r
+S root_actionhandler Def00001D78\r
+S Root_paint Def00000FCC\r
+S Component_linkstringtable Def00000AAE\r
+A CSTR size 44 flags 0\r
+A CONST size 26 flags 0\r
 A UDATA0 size 2 flags 0\r
 S global Def00000000\r
 T 00 00 00 00\r
 R 00 00 01 00\r
-T 00 00 00 00 CD 00 00 00 00 F8 FF 21 06 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T 09 00 00 00 EB 21 00 00 00 00 01 02 00 ED B0\r
+T 00 00 00 00 CD 00 00 00 00 21 06 00 ED 4B\r
+R 00 00 01 00 02 05 0A 00\r
+T 08 00 00 00 00 00 00 00 09 E5 EB 29 09 23 23\r
+R 00 00 01 00 00 04 04 00\r
+T 11 00 00 00 4E 23 46 E1 71 23 70 C3\r
+R 00 00 01 00\r
+T 19 00 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 04 00\r
+T 1B 00 00 00\r
+R 00 00 01 00\r
+T 1B 00 00 00 CD 00 00 00 00 F8 FF 21 06 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T 24 00 00 00 EB 21 00 00 00 00 01 02 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T 12 00 00 00 2A 00 00 00 00 23 23 E5 03 03 C5\r
+T 2D 00 00 00 2A 00 00 00 00 23 23 E5 03 03 C5\r
 R 00 00 01 00 00 05 04 00\r
-T 1B 00 00 00 01 00 00 00 00 C5 3E 00 00 00 00\r
-R 00 00 01 00 00 05 02 00 2B 0B 11 00\r
-T 21 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1\r
-R 00 00 01 00 02 05 11 00 02 0A 0C 00\r
-T 28 00 00 00 F1 4D 44 E1 71 23 70 21 00 00 39\r
+T 36 00 00 00 01 00 00 00 00 C5 CD 14 01 00 00\r
+R 00 00 01 00 00 05 02 00 00 0B 01 00\r
+T 3D 00 00 00 F1 F1 4D 44 E1 71 23 70 21 00 00\r
+R 00 00 01 00\r
+T 48 00 00 00 39 E5 21 00 00 E5 2A 00 00 00 00\r
+R 00 00 01 00 00 0B 04 00\r
+T 51 00 00 00 23 23 4E 23 46 C5 CD 0C 01 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 5A 00 00 00 F1 F1 F1 DD 36 FC 60 DD 36 FD 00\r
+R 00 00 01 00\r
+T 65 00 00 00 21 00 00 39 E5 21 01 00 E5 2A\r
 R 00 00 01 00\r
-T 33 00 00 00 E5 21 00 00 E5 2A 00 00 00 00 23\r
+T 6F 00 00 00 00 00 00 00 23 23 4E 23 46 C5 CD\r
+R 00 00 01 00 00 04 04 00\r
+T 78 00 00 00 0C 01 00 00 F1 F1 F1 21 02 00 E5\r
+R 00 00 01 00 00 04 01 00\r
+T 81 00 00 00 2E 08 39 4D 44 2A 00 00 00 00 23\r
 R 00 00 01 00 00 0A 04 00\r
-T 3C 00 00 00 23 4E 23 46 C5 3E 00 00 00 00 21\r
-R 00 00 01 00 2B 0A 09 00\r
-T 44 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1\r
-R 00 00 01 00 02 04 09 00 02 09 0C 00\r
-T 4B 00 00 00 F1 DD 36 FC 60 DD 36 FD 00 21\r
+T 8A 00 00 00 23 CD 26 01 00 00 F1 21 04 00 ED\r
+R 00 00 01 00 00 06 01 00\r
+T 93 00 00 00 4B 00 00 00 00 09 E5 11 02 00 D5\r
+R 00 00 01 00 00 05 04 00\r
+T 9C 00 00 00 11 0A 00 00 00 D5 CD 14 01 00 00\r
+R 00 00 01 00 00 05 02 00 00 0B 01 00\r
+T A3 00 00 00 F1 F1 EB E1 73 23 72 21 00 00 39\r
 R 00 00 01 00\r
-T 55 00 00 00 00 00 39 E5 21 01 00 E5 2A\r
+T AE 00 00 00 E5 21 00 00 E5 2E 04 ED 4B\r
 R 00 00 01 00\r
-T 5E 00 00 00 00 00 00 00 23 23 4E 23 46 C5 3E\r
+T B7 00 00 00 00 00 00 00 09 5E 23 56 D5 CD\r
 R 00 00 01 00 00 04 04 00\r
-T 67 00 00 00 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 04 09 00 02 09 09 00\r
-T 6C 00 00 00 00 00 00 00 F1 F1 F1 21 02 00 E5\r
-R 00 00 01 00 02 04 0C 00\r
-T 75 00 00 00 2E 08\r
+T BF 00 00 00 0C 01 00 00 F1 F1 F1 DD 36 FC 60\r
+R 00 00 01 00 00 04 01 00\r
+T C8 00 00 00 DD 36 FD 00 21 00 00 39 E5 21\r
 R 00 00 01 00\r
-T 77 00 00 00\r
+T D2 00 00 00 01 00 E5 2E 04 09 5E 23 56 D5 CD\r
 R 00 00 01 00\r
-T 77 00 00 00 39 4D\r
+T DD 00 00 00 0C 01 00 00 F1 F1 F1 21 02 00 E5\r
+R 00 00 01 00 00 04 01 00\r
+T E6 00 00 00 2E 08 39 CD 1C 01 00 00 F1 11\r
+R 00 00 01 00 00 08 01 00\r
+T EE 00 00 00 01 00 3E 00 00 00 00 21\r
+R 00 00 01 00 29 07 01 00\r
+T F3 00 00 00 00 00 00 00 CD 00 00 00 00 11\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T F9 00 00 00 14 00 00 00 CD 31 01 00 00 11\r
+R 00 00 01 00 00 04 02 00 00 09 01 00\r
+T FF 00 00 00 00 00 3E 00 00 00 00 21\r
+R 00 00 01 00 29 07 01 00\r
+T 04 01 00 00 00 00 00 00 CD 00 00 00 00 C3\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 0A 01 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 04 00\r
+T 0C 01 00 00\r
+R 00 00 01 00\r
+T 0C 01 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 08 00 02 0A 08 00\r
+T 12 01 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 14 01 00 00\r
+R 00 00 01 00\r
+T 14 01 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 10 00 02 0A 10 00\r
+T 1A 01 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 1C 01 00 00\r
 R 00 00 01 00\r
-T 79 00 00 00\r
+T 1C 01 00 00 4D 44 21 04 00\r
 R 00 00 01 00\r
-T 79 00 00 00 44 2A 00 00 00 00\r
+T 21 01 00 00\r
+R 00 00 01 00\r
+T 21 01 00 00 ED 5B 00 00 00 00 19\r
 R 00 00 01 00 00 06 04 00\r
-T 7D 00 00 00\r
+T 26 01 00 00\r
 R 00 00 01 00\r
-T 7D 00 00 00 23 23\r
+T 26 01 00 00 5E 23 56 3E 00 00 00 00\r
+R 00 00 01 00 2B 08 02 00\r
+T 2B 01 00 00\r
 R 00 00 01 00\r
-T 7F 00 00 00\r
+T 2B 01 00 00 21 00 00 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 02 00 02 0A 0B 00\r
+T 31 01 00 00\r
 R 00 00 01 00\r
-T 7F 00 00 00 5E 23\r
+T 31 01 00 00 3E DE 02 00 00 21 DE 02 00 00 C3\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 37 01 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 39 01 00 00\r
 R 00 00 01 00\r
-T 81 00 00 00\r
+T 39 01 00 00 C5 D5 2A 00 00 00 00 23 23 CD\r
+R 00 00 01 00 00 07 04 00\r
+T 41 01 00 00 53 01 00 00 21 04 00 ED 4B\r
+R 00 00 01 00 00 04 01 00\r
+T 48 01 00 00 00 00 00 00 09 CD 53 01 00 00 D1\r
+R 00 00 01 00 00 04 04 00 00 0A 01 00\r
+T 4F 01 00 00 C1 C3 00 00 00 00\r
+R 00 00 01 00 02 06 00 00\r
+T 53 01 00 00\r
 R 00 00 01 00\r
-T 81 00 00 00 56 3E 00 00 00 00\r
-R 00 00 01 00 2B 06 02 00\r
-T 84 00 00 00\r
+T 53 01 00 00 5E 23 56\r
 R 00 00 01 00\r
-T 84 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1\r
-R 00 00 01 00 02 05 02 00 02 0A 0C 00\r
-T 8B 00 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T 8E 00 00 00\r
+T 56 01 00 00\r
 R 00 00 01 00\r
-T 8E 00 00 00 D5 2A 00 00 00 00 23 23 5E 23 56\r
-R 00 00 01 00 00 06 04 00\r
-T 97 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 05 06 00 02 0A 06 00\r
-T 9D 00 00 00 00 00 00 00 D1 C3 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00 02 0A 00 00\r
-T A3 00 00 00\r
-R 00 00 01 00\r
-T A3 00 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T AC 00 00 00 EB 21 02 00 00 00 01 04 00 ED B0\r
+T 56 01 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 05 00 02 0A 05 00\r
+T 5C 01 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 5E 01 00 00\r
+R 00 00 01 00\r
+T 5E 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T 67 01 00 00 EB 21 02 00 00 00 01 04 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T B5 00 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70\r
+T 70 01 00 00\r
 R 00 00 01 00\r
-T C0 00 00 00 FF 21 04 00 E5 2B 2B C3\r
+T 70 01 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70\r
 R 00 00 01 00\r
-T C8 00 00 00 77 00 00 00 4D\r
-R 00 00 01 00 00 04 01 00\r
-T CB 00 00 00\r
+T 7B 01 00 00 FF 21 04 00 E5 2B 2B\r
+R 00 00 01 00\r
+T 82 01 00 00\r
+R 00 00 01 00\r
+T 82 01 00 00 39 4D\r
 R 00 00 01 00\r
-T CB 00 00 00 C3 79 00 00 00 2A 00 00 00 00 23\r
-R 00 00 01 00 00 05 01 00 00 0A 04 00\r
-T D2 00 00 00 23\r
+T 84 01 00 00\r
 R 00 00 01 00\r
-T D3 00 00 00\r
+T 84 01 00 00 44 21 06 00\r
+R 00 00 01 00\r
+T 88 01 00 00\r
+R 00 00 01 00\r
+T 88 01 00 00 ED 5B 00 00 00 00 19\r
+R 00 00 01 00 00 06 04 00\r
+T 8D 01 00 00\r
 R 00 00 01 00\r
-T D3 00 00 00 5E 23\r
+T 8D 01 00 00 5E 23\r
 R 00 00 01 00\r
-T D5 00 00 00\r
+T 8F 01 00 00\r
 R 00 00 01 00\r
-T D5 00 00 00 56 3E 00 00 00 00\r
+T 8F 01 00 00 56 3E 00 00 00 00\r
 R 00 00 01 00 2B 06 02 00\r
-T D8 00 00 00\r
+T 92 01 00 00\r
 R 00 00 01 00\r
-T D8 00 00 00 C3 84 00 00 00 CD 00 00 00 00 F1\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T DF 00 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T E2 00 00 00\r
+T 92 01 00 00 CD 2B 01 00 00 F1 C3 00 00 00 00\r
+R 00 00 01 00 00 05 01 00 02 0B 04 00\r
+T 99 01 00 00\r
 R 00 00 01 00\r
-T E2 00 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T EB 00 00 00 EB 21 06 00 00 00 01 04 00 ED B0\r
+T 99 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T A2 01 00 00 EB 21 06 00 00 00 01 04 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T F4 00 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70\r
+T AB 01 00 00 C3 70 01 00 00 DD 70 FE\r
+R 00 00 01 00 00 05 01 00\r
+T B1 01 00 00\r
 R 00 00 01 00\r
-T FF 00 00 00 FF 21 04 00 E5 2B 2B C3\r
+T B1 01 00 00 DD 46 04 DD 70 FF 21 04 00 E5 2B\r
 R 00 00 01 00\r
-T 07 01 00 00 77 00 00 00 4D C3 CB 00 00 00 2A\r
-R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T 0E 01 00 00 00 00 00 00\r
+T BC 01 00 00 2B 39 4D\r
+R 00 00 01 00\r
+T BF 01 00 00\r
+R 00 00 01 00\r
+T BF 01 00 00 C3 84 01 00 00 21 06 00 ED 5B\r
+R 00 00 01 00 00 05 01 00\r
+T C7 01 00 00 00 00 00 00 19\r
 R 00 00 01 00 00 04 04 00\r
-T 10 01 00 00\r
+T CA 01 00 00\r
+R 00 00 01 00\r
+T CA 01 00 00 5E 23\r
 R 00 00 01 00\r
-T 10 01 00 00 C3 7D 00 00 00 23 C3 D3 00 00 00\r
+T CC 01 00 00\r
+R 00 00 01 00\r
+T CC 01 00 00 56 3E 00 00 00 00\r
+R 00 00 01 00 2B 06 02 00\r
+T CF 01 00 00\r
+R 00 00 01 00\r
+T CF 01 00 00 C3 92 01 00 00 CD 00 00 00 00 F1\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T D6 01 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 04 00\r
+T D9 01 00 00\r
+R 00 00 01 00\r
+T D9 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T E2 01 00 00 EB 21 0A 00 00 00 01 04 00 ED B0\r
+R 00 00 01 00 00 06 03 00\r
+T EB 01 00 00 C3 70 01 00 00 DD 70 FE C3\r
+R 00 00 01 00 00 05 01 00\r
+T F2 01 00 00 B1 01 00 00 DD 70 FF\r
+R 00 00 01 00 00 04 01 00\r
+T F7 01 00 00\r
+R 00 00 01 00\r
+T F7 01 00 00 21 04 00 E5 2B 2B 39 4D 44 21\r
+R 00 00 01 00\r
+T 01 02 00 00 06 00\r
+R 00 00 01 00\r
+T 03 02 00 00\r
+R 00 00 01 00\r
+T 03 02 00 00 C3 88 01 00 00 19 C3 CA 01 00 00\r
 R 00 00 01 00 00 05 01 00 00 0B 01 00\r
-T 17 01 00 00 23 56 3E 00 00 00 00\r
+T 0A 02 00 00 23 56 3E 00 00 00 00\r
 R 00 00 01 00 2B 07 02 00\r
-T 1B 01 00 00\r
+T 0E 02 00 00\r
 R 00 00 01 00\r
-T 1B 01 00 00 C3 84 00 00 00 CD 00 00 00 00 F1\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T 22 01 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T 25 01 00 00\r
+T 0E 02 00 00 C3 92 01 00 00 CD 00 00 00 00 F1\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T 15 02 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 04 00\r
+T 18 02 00 00\r
 R 00 00 01 00\r
-T 25 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T 2E 01 00 00 EB 21 0A 00 00 00 01 04 00 ED B0\r
+T 18 02 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T 21 02 00 00 EB 21 0E 00 00 00 01 04 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T 37 01 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70\r
+T 2A 02 00 00 C3 70 01 00 00 DD 70 FE C3\r
+R 00 00 01 00 00 05 01 00\r
+T 31 02 00 00 B1 01 00 00 DD 70 FF C3\r
+R 00 00 01 00 00 04 01 00\r
+T 37 02 00 00 F7 01 00 00 E5\r
+R 00 00 01 00 00 04 01 00\r
+T 3A 02 00 00\r
 R 00 00 01 00\r
-T 42 01 00 00 FF 21 04 00 E5 2B 2B C3\r
+T 3A 02 00 00 2B 2B 39 4D 44 21 06 00 ED 5B\r
 R 00 00 01 00\r
-T 4A 01 00 00 77 00 00 00 4D C3 CB 00 00 00 2A\r
-R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T 51 01 00 00 00 00 00 00 C3 10 01 00 00 23\r
-R 00 00 01 00 00 04 04 00 00 09 01 00\r
-T 57 01 00 00\r
+T 44 02 00 00 00 00 00 00 19\r
+R 00 00 01 00 00 04 04 00\r
+T 47 02 00 00\r
 R 00 00 01 00\r
-T 57 01 00 00 C3 7F 00 00 00 23 C3 D5 00 00 00\r
+T 47 02 00 00 C3 8D 01 00 00 23 C3 CC 01 00 00\r
 R 00 00 01 00 00 05 01 00 00 0B 01 00\r
-T 5E 01 00 00 3E 00 00 00 00 C3 1B 01 00 00 CD\r
+T 4E 02 00 00 3E 00 00 00 00 C3 0E 02 00 00 CD\r
 R 00 00 01 00 2B 05 02 00 00 0A 01 00\r
-T 64 01 00 00 00 00 00 00 F1 C3 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00 02 0A 05 00\r
-T 6A 01 00 00\r
+T 54 02 00 00 00 00 00 00 F1 C3 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00 02 0A 04 00\r
+T 5A 02 00 00\r
 R 00 00 01 00\r
-T 6A 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T 73 01 00 00 EB 21 0E 00 00 00 01 04 00 ED B0\r
+T 5A 02 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T 63 02 00 00 EB 21 12 00 00 00 01 04 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T 7C 01 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70\r
+T 6C 02 00 00 C3 70 01 00 00 DD 70 FE C3\r
+R 00 00 01 00 00 05 01 00\r
+T 73 02 00 00 B1 01 00 00 DD 70 FF C3\r
+R 00 00 01 00 00 04 01 00\r
+T 79 02 00 00 F7 01 00 00 E5 C3 3A 02 00 00 2B\r
+R 00 00 01 00 00 04 01 00 00 0A 01 00\r
+T 80 02 00 00\r
 R 00 00 01 00\r
-T 87 01 00 00 FF 21 04 00 E5 2B 2B C3\r
+T 80 02 00 00 39 4D 44 21 06 00 ED 5B\r
 R 00 00 01 00\r
-T 8F 01 00 00 77 00 00 00 4D C3 CB 00 00 00 2A\r
-R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T 96 01 00 00 00 00 00 00 C3 10 01 00 00 23 C3\r
-R 00 00 01 00 00 04 04 00 00 09 01 00\r
-T 9D 01 00 00 57 01 00 00 23\r
-R 00 00 01 00 00 04 01 00\r
-T A0 01 00 00\r
+T 88 02 00 00 00 00 00 00 19 5E 23\r
+R 00 00 01 00 00 04 04 00\r
+T 8D 02 00 00\r
 R 00 00 01 00\r
-T A0 01 00 00 C3 81 00 00 00 3E 00 00 00 00 C3\r
+T 8D 02 00 00 C3 8F 01 00 00 3E 00 00 00 00 C3\r
 R 00 00 01 00 00 05 01 00 2B 0A 02 00\r
-T A6 01 00 00 D8 00 00 00 CD 00 00 00 00 F1 C3\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T AD 01 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 05 00\r
-T AF 01 00 00\r
-R 00 00 01 00\r
-T AF 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T B8 01 00 00 EB 21 12 00 00 00 01 04 00 ED B0\r
+T 93 02 00 00 CF 01 00 00 CD 00 00 00 00 F1 C3\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 9A 02 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 04 00\r
+T 9C 02 00 00\r
+R 00 00 01 00\r
+T 9C 02 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T A5 02 00 00 EB 21 16 00 00 00 01 04 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T C1 01 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70\r
-R 00 00 01 00\r
-T CC 01 00 00 FF 21 04 00 E5 2B 2B C3\r
-R 00 00 01 00\r
-T D4 01 00 00 77 00 00 00 4D C3 CB 00 00 00 2A\r
-R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T DB 01 00 00 00 00 00 00 C3 10 01 00 00 23 C3\r
-R 00 00 01 00 00 04 04 00 00 09 01 00\r
-T E2 01 00 00 57 01 00 00 23 C3 A0 01 00 00 3E\r
+T AE 02 00 00 C3 70 01 00 00 DD 70 FE C3\r
+R 00 00 01 00 00 05 01 00\r
+T B5 02 00 00 B1 01 00 00 DD 70 FF C3\r
+R 00 00 01 00 00 04 01 00\r
+T BB 02 00 00 F7 01 00 00 E5 C3 3A 02 00 00 2B\r
 R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T E9 01 00 00 00 00 00 00\r
+T C2 02 00 00 C3 80 02 00 00 4D 44 21 06 00 ED\r
+R 00 00 01 00 00 05 01 00\r
+T CB 02 00 00 5B 00 00 00 00 19 5E 23 56 3E\r
+R 00 00 01 00 00 05 04 00\r
+T D3 02 00 00 00 00 00 00\r
 R 00 00 01 00 2B 04 02 00\r
-T EA 01 00 00\r
-R 00 00 01 00\r
-T EA 01 00 00 C3 84 00 00 00 CD 00 00 00 00 F1\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T F1 01 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T F4 01 00 00\r
+T D4 02 00 00\r
 R 00 00 01 00\r
-T F4 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T FD 01 00 00 EB 21 16 00 00 00 01 04 00 ED B0\r
-R 00 00 01 00 00 06 03 00\r
-T 06 02 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70\r
+T D4 02 00 00 C3 92 01 00 00 CD 00 00 00 00 F1\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T DB 02 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 04 00\r
+T DE 02 00 00\r
 R 00 00 01 00\r
-T 11 02 00 00 FF 21 04 00 E5 2B 2B C3\r
+T DE 02 00 00 C5 FD E5 DD E5 D5 DD E1 3E\r
 R 00 00 01 00\r
-T 19 02 00 00 77 00 00 00 4D C3 CB 00 00 00 2A\r
-R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T 20 02 00 00 00 00 00 00 C3 10 01 00 00 23 C3\r
-R 00 00 01 00 00 04 04 00 00 09 01 00\r
-T 27 02 00 00 57 01 00 00 23 C3 A0 01 00 00 3E\r
-R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T 2E 02 00 00 00 00 00 00 C3 EA 01 00 00 CD\r
-R 00 00 01 00 2B 04 02 00 00 09 01 00\r
-T 33 02 00 00 00 00 00 00 F1 C3 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00 02 0A 05 00\r
-T 39 02 00 00\r
-R 00 00 01 00\r
-T 39 02 00 00 C5 FD E5 DD E5 D5 DD E1 3E\r
-R 00 00 01 00\r
-T 42 02 00 00 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 04 07 00 02 09 07 00\r
-T 47 02 00 00 00 00 00 00 E5 DD E5 C1 2A\r
-R 00 00 01 00 02 04 0C 00\r
-T 4E 02 00 00 00 00 00 00 23 23 5E 23 56 3E\r
-R 00 00 01 00 00 04 04 00\r
-T 56 02 00 00 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 04 02 00 02 09 02 00\r
-T 5B 02 00 00 00 00 00 00 F1\r
-R 00 00 01 00 02 04 0C 00\r
-T 5E 02 00 00\r
+T E7 02 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 06 00 02 09 06 00\r
+T EC 02 00 00 00 00 00 00 E5 DD E5 C1 21 06 00\r
+R 00 00 01 00 02 04 0B 00\r
+T F5 02 00 00 CD 21 01 00 00 F1\r
+R 00 00 01 00 00 05 01 00\r
+T F9 02 00 00\r
 R 00 00 01 00\r
-T 5E 02 00 00 DD E1 FD E1 C1 C3 00 00 00 00\r
+T F9 02 00 00 DD E1 FD E1 C1 C3 00 00 00 00\r
 R 00 00 01 00 02 0A 00 00\r
-T 66 02 00 00\r
+T 01 03 00 00\r
 R 00 00 01 00\r
-T 66 02 00 00 CD 00 00 00 00 F8 FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T 6F 02 00 00 EB 21 1A 00 00 00 01 07 00 ED B0\r
+T 01 03 00 00 CD 00 00 00 00 F8 FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T 0A 03 00 00 EB 21 1A 00 00 00 01 07 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T 78 02 00 00 DD 46 02 DD 70 FA DD 46 04 DD 70\r
+T 13 03 00 00 DD 46 02 DD 70 FA DD 46 04 DD 70\r
 R 00 00 01 00\r
-T 83 02 00 00 FB DD 46 0A DD 70 FC DD 46 0C DD\r
+T 1E 03 00 00 FB DD 46 0A DD 70 FC DD 46 0C DD\r
 R 00 00 01 00\r
-T 8E 02 00 00 70 FD DD 46 0E DD 70 FE 21 07 00\r
+T 29 03 00 00 70 FD DD 46 0E DD 70 FE 21 07 00\r
 R 00 00 01 00\r
-T 99 02 00 00 E5 2E 02 C3 77 00 00 00 4D C3\r
+T 34 03 00 00 E5 2E 02 C3 82 01 00 00 4D C3\r
 R 00 00 01 00 00 08 01 00\r
-T A1 02 00 00 CB 00 00 00 2A 00 00 00 00 C3\r
-R 00 00 01 00 00 04 01 00 00 09 04 00\r
-T A7 02 00 00 10 01 00 00 23 C3 57 01 00 00 23\r
+T 3C 03 00 00 BF 01 00 00 21 06 00 C3\r
+R 00 00 01 00 00 04 01 00\r
+T 42 03 00 00 03 02 00 00 19 C3 47 02 00 00 23\r
 R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T AE 02 00 00 C3 A0 01 00 00 3E 00 00 00 00 C3\r
+T 49 03 00 00 C3 8D 02 00 00 3E 00 00 00 00 C3\r
 R 00 00 01 00 00 05 01 00 2B 0A 02 00\r
-T B4 02 00 00 EA 01 00 00 CD 00 00 00 00 F1 C3\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T BB 02 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 05 00\r
-T BD 02 00 00\r
+T 4F 03 00 00 D4 02 00 00 CD 00 00 00 00 F1 C3\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 56 03 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 04 00\r
+T 58 03 00 00\r
 R 00 00 01 00\r
-T BD 02 00 00 C5 D5 CD D7 02 00 00 CD\r
+T 58 03 00 00 C5 D5 CD 72 03 00 00 CD\r
 R 00 00 01 00 00 07 01 00\r
-T C3 02 00 00 00 00 00 00 21 80 00 E5 6C E5 E5\r
-R 00 00 01 00 02 04 0C 00\r
-T CC 02 00 00 CD EF 02 00 00 E1 E1 E1 D1 C1 C3\r
+T 5E 03 00 00 00 00 00 00 21 80 00 E5 6C E5 E5\r
+R 00 00 01 00 02 04 0B 00\r
+T 67 03 00 00 CD 8A 03 00 00 E1 E1 E1 D1 C1 C3\r
 R 00 00 01 00 00 05 01 00\r
-T D5 02 00 00 00 00 00 00\r
+T 70 03 00 00 00 00 00 00\r
 R 00 00 01 00 02 04 00 00\r
-T D7 02 00 00\r
+T 72 03 00 00\r
 R 00 00 01 00\r
-T D7 02 00 00 01 00 00 59 50 3E A3 00 00 00 21\r
+T 72 03 00 00 01 00 00 59 50 3E 5E 01 00 00 21\r
 R 00 00 01 00 29 0A 01 00\r
-T DF 02 00 00 A3 00 00 00 CD 00 00 00 00 01\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T E5 02 00 00 80 00 58 50 3E E2 00 00 00 21\r
+T 7A 03 00 00 5E 01 00 00 CD 00 00 00 00 01\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 80 03 00 00 80 00 58 50 3E 99 01 00 00 21\r
 R 00 00 01 00 29 09 01 00\r
-T EC 02 00 00 E2 00 00 00 C9\r
+T 87 03 00 00 99 01 00 00 C9\r
 R 00 00 01 00 00 04 01 00\r
-T EF 02 00 00\r
+T 8A 03 00 00\r
 R 00 00 01 00\r
-T EF 02 00 00 4D 44 EB\r
+T 8A 03 00 00 4D 44 EB\r
 R 00 00 01 00\r
-T F2 02 00 00\r
+T 8D 03 00 00\r
 R 00 00 01 00\r
-T F2 02 00 00 3E 66 02 00 00 21 66 02 00 00 C3\r
+T 8D 03 00 00 3E 01 03 00 00 21 01 03 00 00 C3\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T F8 02 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T FA 02 00 00\r
+T 93 03 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 95 03 00 00\r
 R 00 00 01 00\r
-T FA 02 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T 03 03 00 00 EB 21 21 00 00 00 01 03 00 ED B0\r
+T 95 03 00 00 CD 00 00 00 00 FC FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T 9E 03 00 00 EB 21 21 00 00 00 01 03 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T 0C 03 00 00 DD 46 02 DD 70 FE 21 03 00 E5 2B\r
+T A7 03 00 00 DD 46 02 DD 70 FE 21 03 00 E5 2B\r
 R 00 00 01 00\r
-T 17 03 00 00 C3 77 00 00 00 4D C3 CB 00 00 00\r
+T B2 03 00 00 C3 82 01 00 00 4D C3 BF 01 00 00\r
 R 00 00 01 00 00 05 01 00 00 0B 01 00\r
-T 1E 03 00 00 2A 00 00 00 00 C3 10 01 00 00 23\r
-R 00 00 01 00 00 05 04 00 00 0A 01 00\r
-T 25 03 00 00 C3 57 01 00 00 23 C3 A0 01 00 00\r
-R 00 00 01 00 00 05 01 00 00 0B 01 00\r
-T 2C 03 00 00 3E 00 00 00 00 C3 EA 01 00 00 CD\r
-R 00 00 01 00 2B 05 02 00 00 0A 01 00\r
-T 32 03 00 00 00 00 00 00 F1 C3 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00 02 0A 05 00\r
-T 38 03 00 00\r
+T B9 03 00 00 21 06 00 C3 03 02 00 00 19 C3\r
+R 00 00 01 00 00 08 01 00\r
+T C1 03 00 00 47 02 00 00 23 C3 8D 02 00 00 3E\r
+R 00 00 01 00 00 04 01 00 00 0A 01 00\r
+T C8 03 00 00 00 00 00 00 C3 D4 02 00 00 CD\r
+R 00 00 01 00 2B 04 02 00 00 09 01 00\r
+T CD 03 00 00 00 00 00 00 F1 C3 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00 02 0A 04 00\r
+T D3 03 00 00\r
 R 00 00 01 00\r
-T 38 03 00 00 CD 00 00 00 00 FE FF 21 00 00 39\r
-R 00 00 01 00 02 05 0F 00\r
-T 41 03 00 00 EB 21 24 00 00 00 01 02 00 ED B0\r
+T D3 03 00 00 CD 00 00 00 00 FE FF 21 00 00 39\r
+R 00 00 01 00 02 05 0E 00\r
+T DC 03 00 00 EB 21 24 00 00 00 01 02 00 ED B0\r
 R 00 00 01 00 00 06 03 00\r
-T 4A 03 00 00 DD 46 02 DD 70 FF 21 02 00 E5 C3\r
+T E5 03 00 00 DD 46 02 DD 70 FF 21 02 00 E5 C3\r
 R 00 00 01 00\r
-T 55 03 00 00 77 00 00 00 4D C3 CB 00 00 00 2A\r
+T F0 03 00 00 82 01 00 00 4D C3 BF 01 00 00 21\r
 R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T 5C 03 00 00 00 00 00 00 C3 10 01 00 00 23 C3\r
-R 00 00 01 00 00 04 04 00 00 09 01 00\r
-T 63 03 00 00 57 01 00 00 23 C3 A0 01 00 00 3E\r
+T F7 03 00 00 06 00 C3 03 02 00 00 19 C3\r
+R 00 00 01 00 00 07 01 00\r
+T FE 03 00 00 47 02 00 00 23 C3 8D 02 00 00 3E\r
 R 00 00 01 00 00 04 01 00 00 0A 01 00\r
-T 6A 03 00 00 00 00 00 00 C3 EA 01 00 00 CD\r
+T 05 04 00 00 00 00 00 00 C3 D4 02 00 00 CD\r
 R 00 00 01 00 2B 04 02 00 00 09 01 00\r
-T 6F 03 00 00 00 00 00 00 F1 C3 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00 02 0A 05 00\r
-T 75 03 00 00\r
+T 0A 04 00 00 00 00 00 00 F1 C3 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00 02 0A 04 00\r
+T 10 04 00 00\r
 R 00 00 01 00\r
-T 75 03 00 00 CD 00 00 00 00 00 00 21 0C 00 ED\r
-R 00 00 01 00 02 05 0F 00\r
-T 7E 03 00 00 4B 00 00 00 00 09\r
+T 10 04 00 00 CD 00 00 00 00 00 00 21 14 00 ED\r
+R 00 00 01 00 02 05 0E 00\r
+T 19 04 00 00 4B 00 00 00 00 09\r
 R 00 00 01 00 00 05 04 00\r
-T 82 03 00 00\r
+T 1D 04 00 00\r
 R 00 00 01 00\r
-T 82 03 00 00 46 23 66 68 EB\r
+T 1D 04 00 00 46 23 66 68 EB\r
 R 00 00 01 00\r
-T 87 03 00 00\r
+T 22 04 00 00\r
 R 00 00 01 00\r
-T 87 03 00 00 7B B2 28 16 6B 62 46 23 66 68 DD\r
+T 22 04 00 00 7B B2 28 16 6B 62 46 23 66 68 DD\r
 R 00 00 01 00\r
-T 92 03 00 00 4E 02 DD 46 03 ED 42 28 06\r
+T 2D 04 00 00 4E 02 DD 46 03 ED 42 28 06\r
 R 00 00 01 00\r
-T 9B 03 00 00\r
+T 36 04 00 00\r
 R 00 00 01 00\r
-T 9B 03 00 00\r
+T 36 04 00 00\r
 R 00 00 01 00\r
-T 9B 03 00 00\r
+T 36 04 00 00\r
 R 00 00 01 00\r
-T 9B 03 00 00 21 08 00 19 18 E1\r
+T 36 04 00 00 21 08 00 19 18 E1\r
 R 00 00 01 00\r
-T A1 03 00 00\r
+T 3C 04 00 00\r
 R 00 00 01 00\r
-T A1 03 00 00 EB C3 00 00 00 00\r
-R 00 00 01 00 02 06 05 00\r
-T A5 03 00 00\r
+T 3C 04 00 00 EB C3 00 00 00 00\r
+R 00 00 01 00 02 06 04 00\r
+T 40 04 00 00\r
 R 00 00 01 00\r
-T A5 03 00 00 CD 00 00 00 00 3E 75 03 00 00 21\r
-R 00 00 01 00 02 05 0B 00 29 0A 01 00\r
-T AB 03 00 00 75 03 00 00 CD 22 04 00 00 28 29\r
+T 40 04 00 00 CD 00 00 00 00 3E 10 04 00 00 21\r
+R 00 00 01 00 02 05 0A 00 29 0A 01 00\r
+T 46 04 00 00 10 04 00 00 CD B1 04 00 00 28 29\r
 R 00 00 01 00 00 04 01 00 00 09 01 00\r
-T B2 03 00 00\r
+T 4D 04 00 00\r
 R 00 00 01 00\r
-T B2 03 00 00 DD 5E 02 DD 56 03 3E 38 03 00 00\r
+T 4D 04 00 00 DD 5E 02 DD 56 03 3E D3 03 00 00\r
 R 00 00 01 00 29 0B 01 00\r
-T BA 03 00 00 21 38 03 00 00 CD 00 00 00 00 21\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T C1 03 00 00 0A 00 ED 4B 00 00 00 00 09 E5 DD\r
+T 55 04 00 00 21 D3 03 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T 5C 04 00 00 12 00 ED 4B 00 00 00 00 09 E5 DD\r
 R 00 00 01 00 00 08 04 00\r
-T CA 03 00 00 5E 02 DD 56 03 3E 75 03 00 00 21\r
+T 65 04 00 00 5E 02 DD 56 03 3E 10 04 00 00 21\r
 R 00 00 01 00 29 0A 01 00\r
-T D2 03 00 00 75 03 00 00 CD 2D 04 00 00 E1 71\r
+T 6D 04 00 00 10 04 00 00 CD BC 04 00 00 E1 71\r
 R 00 00 01 00 00 04 01 00 00 09 01 00\r
-T D9 03 00 00 23 70\r
-R 00 00 01 00\r
-T DB 03 00 00\r
+T 74 04 00 00 23 70\r
 R 00 00 01 00\r
-T DB 03 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T DE 03 00 00\r
+T 76 04 00 00\r
 R 00 00 01 00\r
-T DE 03 00 00 ED 4B 00 00 00 00 09 46 23 66 68\r
-R 00 00 01 00 00 06 04 00\r
-T E7 03 00 00\r
+T 76 04 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 04 00\r
+T 79 04 00 00\r
 R 00 00 01 00\r
-T E7 03 00 00 23 23 4E 23 46 23 7E 69 60 CD\r
+T 79 04 00 00 21 12 00 ED 4B 00 00 00 00 09 46\r
+R 00 00 01 00 00 09 04 00\r
+T 82 04 00 00 23 66 68\r
 R 00 00 01 00\r
-T F1 03 00 00 00 00 00 00 4D 44 FD 6E 06 FD 66\r
-R 00 00 01 00 02 04 0C 00\r
-T FA 03 00 00 07 A7 ED 42 EB 01 02 00 CD\r
+T 85 04 00 00\r
 R 00 00 01 00\r
-T 03 04 00 00 00 00 00 00 DD 6E 04 DD 66 05 19\r
-R 00 00 01 00 02 04 12 00\r
-T 0C 04 00 00 EB 3E A3 00 00 00 21 A3 00 00 00\r
-R 00 00 01 00 29 06 01 00 00 0B 01 00\r
-T 12 04 00 00 C9\r
+T 85 04 00 00 23 23 4E 23 46 23 7E 69 60 CD\r
 R 00 00 01 00\r
-T 13 04 00 00\r
+T 8F 04 00 00 00 00 00 00 4D 44 FD 6E 06 FD 66\r
+R 00 00 01 00 02 04 0B 00\r
+T 98 04 00 00 07 A7 ED 42 EB 01 02 00 CD\r
 R 00 00 01 00\r
-T 13 04 00 00 CD 00 00 00 00 4D 44 FD 6E 08 FD\r
-R 00 00 01 00 02 05 0C 00\r
-T 1C 04 00 00 66 09 A7 ED 42 C9\r
+T A1 04 00 00 00 00 00 00 DD 6E 04 DD 66 05 19\r
+R 00 00 01 00 02 04 11 00\r
+T AA 04 00 00 EB 3E 5E 01 00 00 21 5E 01 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T B0 04 00 00 C9\r
 R 00 00 01 00\r
-T 22 04 00 00\r
+T B1 04 00 00\r
 R 00 00 01 00\r
-T 22 04 00 00 CD 00 00 00 00 7D B4 C9\r
-R 00 00 01 00 02 05 0C 00\r
-T 28 04 00 00\r
+T B1 04 00 00 CD 00 00 00 00 7D B4 C9\r
+R 00 00 01 00 02 05 0B 00\r
+T B7 04 00 00\r
 R 00 00 01 00\r
-T 28 04 00 00 3E 00 00 00 00 21 00 00 00 00\r
-R 00 00 01 00 2B 05 15 00 02 0A 15 00\r
-T 2D 04 00 00\r
+T B7 04 00 00 3E 00 00 00 00 21 00 00 00 00\r
+R 00 00 01 00 2B 05 13 00 02 0A 13 00\r
+T BC 04 00 00\r
 R 00 00 01 00\r
-T 2D 04 00 00 CD 00 00 00 00 4D 44 C9\r
-R 00 00 01 00 02 05 0C 00\r
-T 33 04 00 00\r
+T BC 04 00 00 CD 00 00 00 00 4D 44 C9\r
+R 00 00 01 00 02 05 0B 00\r
+T C2 04 00 00\r
 R 00 00 01 00\r
-T 33 04 00 00 CD 00 00 00 00 FC FF FD E5 11\r
-R 00 00 01 00 02 05 0F 00\r
-T 3B 04 00 00 0E 00 CD CE 04 00 00 DD 4E 02 71\r
+T C2 04 00 00 CD 00 00 00 00 FC FF FD E5 11\r
+R 00 00 01 00 02 05 0E 00\r
+T CA 04 00 00 0E 00 CD 5D 05 00 00 DD 4E 02 71\r
 R 00 00 01 00 00 07 01 00\r
-T 44 04 00 00 DD 46 03 23 70 DD 46 0C DD 6E 0A\r
+T D3 04 00 00 DD 46 03 23 70 DD 46 0C DD 6E 0A\r
 R 00 00 01 00\r
-T 4F 04 00 00 FD 75 02 DD 66 0B FD 74 03 FD 70\r
+T DE 04 00 00 FD 75 02 DD 66 0B FD 74 03 FD 70\r
 R 00 00 01 00\r
-T 5A 04 00 00 04 DD 46 10 DD 6E 0E FD 75 05 DD\r
+T E9 04 00 00 04 DD 46 10 DD 6E 0E FD 75 05 DD\r
 R 00 00 01 00\r
-T 65 04 00 00 66 0F FD 74 06 FD 70 07 AF FD 77\r
+T F4 04 00 00 66 0F FD 74 06 FD 70 07 AF FD 77\r
 R 00 00 01 00\r
-T 70 04 00 00 08 FD 77 09 DD 6E 12 FD 75 0A DD\r
+T FF 04 00 00 08 FD 77 09 DD 6E 12 FD 75 0A DD\r
 R 00 00 01 00\r
-T 7B 04 00 00 66 13 FD 74 0B DD 6E 14 FD 75 0C\r
+T 0A 05 00 00 66 13 FD 74 0B DD 6E 14 FD 75 0C\r
 R 00 00 01 00\r
-T 86 04 00 00 DD 66 15 FD 74 0D 21 0C 00 ED 4B\r
+T 15 05 00 00 DD 66 15 FD 74 0D 21 14 00 ED 4B\r
 R 00 00 01 00\r
-T 91 04 00 00 00 00 00 00 09 7E 23 B6 21 0C 00\r
+T 20 05 00 00 00 00 00 00 09 7E 23 B6 21 14 00\r
 R 00 00 01 00 00 04 04 00\r
-T 9A 04 00 00 ED 4B 00 00 00 00 09 20 10\r
+T 29 05 00 00 ED 4B 00 00 00 00 09 20 10\r
 R 00 00 01 00 00 06 04 00\r
-T A1 04 00 00\r
+T 30 05 00 00\r
 R 00 00 01 00\r
-T A1 04 00 00 FD E5 C1 71 23 70 21 0A 00 ED 4B\r
+T 30 05 00 00 FD E5 C1 71 23 70 21 12 00 ED 4B\r
 R 00 00 01 00\r
-T AC 04 00 00 00 00 00 00 09 18 12\r
+T 3B 05 00 00 00 00 00 00 09 18 12\r
 R 00 00 01 00 00 04 04 00\r
-T B1 04 00 00\r
+T 40 05 00 00\r
 R 00 00 01 00\r
-T B1 04 00 00 46 23 66 68 EB\r
+T 40 05 00 00 46 23 66 68 EB\r
 R 00 00 01 00\r
-T B6 04 00 00\r
+T 45 05 00 00\r
 R 00 00 01 00\r
-T B6 04 00 00 21 08 00 19 7E 23 B6 21 08 00 19\r
+T 45 05 00 00 21 08 00 19 7E 23 B6 21 08 00 19\r
 R 00 00 01 00\r
-T C1 04 00 00 20 EE\r
+T 50 05 00 00 20 EE\r
 R 00 00 01 00\r
-T C3 04 00 00\r
+T 52 05 00 00\r
 R 00 00 01 00\r
-T C3 04 00 00\r
+T 52 05 00 00\r
 R 00 00 01 00\r
-T C3 04 00 00 FD E5 C1 71 23 70\r
+T 52 05 00 00 FD E5 C1 71 23 70\r
 R 00 00 01 00\r
-T C9 04 00 00\r
+T 58 05 00 00\r
 R 00 00 01 00\r
-T C9 04 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T CE 04 00 00\r
+T 58 05 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T 5D 05 00 00\r
 R 00 00 01 00\r
-T CE 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 05 15 00 02 0A 15 00\r
-T D4 04 00 00 00 00 00 00 E5 FD E1 C9\r
-R 00 00 01 00 02 04 0C 00\r
-T DA 04 00 00\r
+T 5D 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 05 13 00 02 0A 13 00\r
+T 63 05 00 00 00 00 00 00 E5 FD E1 C9\r
+R 00 00 01 00 02 04 0B 00\r
+T 69 05 00 00\r
 R 00 00 01 00\r
-T DA 04 00 00 FD E5 DD E5 C5 D5 DD 21 00 00 FD\r
+T 69 05 00 00 FD E5 DD E5 C5 D5 DD 21 00 00 FD\r
 R 00 00 01 00\r
-T E5 04 00 00 21 00 00\r
+T 74 05 00 00 21 00 00\r
 R 00 00 01 00\r
-T E8 04 00 00\r
+T 77 05 00 00\r
 R 00 00 01 00\r
-T E8 04 00 00 FD E5 21 02 00 39 4E 23 46 E1 09\r
+T 77 05 00 00 FD E5 21 02 00 39 4E 23 46 E1 09\r
 R 00 00 01 00\r
-T F3 04 00 00 7E B7 28 50\r
+T 82 05 00 00 7E B7 28 50\r
 R 00 00 01 00\r
-T F7 04 00 00\r
+T 86 05 00 00\r
 R 00 00 01 00\r
-T F7 04 00 00 FD E5 E1 09 5E CD 00 00 00 00\r
-R 00 00 01 00 02 0A 08 00\r
-T FF 04 00 00 0A 00 21 2C 2E 31 49 69 6A 6B 6C\r
+T 86 05 00 00 FD E5 E1 09 5E CD 00 00 00 00\r
+R 00 00 01 00 02 0A 07 00\r
+T 8E 05 00 00 0A 00 21 2C 2E 31 49 69 6A 6B 6C\r
 R 00 00 01 00\r
-T 0A 05 00 00 72 35 05 00 00 30 05 00 00\r
+T 99 05 00 00 72 C4 05 00 00 BF 05 00 00\r
 R 00 00 01 00 00 05 01 00 00 09 01 00\r
-T 0F 05 00 00 26 05 00 00 30 05 00 00\r
+T 9E 05 00 00 B5 05 00 00 BF 05 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T 13 05 00 00 30 05 00 00 21 05 00 00\r
+T A2 05 00 00 BF 05 00 00 B0 05 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T 17 05 00 00 21 05 00 00 2B 05 00 00\r
+T A6 05 00 00 B0 05 00 00 BA 05 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T 1B 05 00 00 2B 05 00 00 2B 05 00 00\r
+T AA 05 00 00 BA 05 00 00 BA 05 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T 1F 05 00 00 21 05 00 00\r
+T AE 05 00 00 B0 05 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T 21 05 00 00\r
+T B0 05 00 00\r
 R 00 00 01 00\r
-T 21 05 00 00 01 02 00 18 12\r
+T B0 05 00 00 01 02 00 18 12\r
 R 00 00 01 00\r
-T 26 05 00 00\r
+T B5 05 00 00\r
 R 00 00 01 00\r
-T 26 05 00 00 01 03 00 18 0D\r
+T B5 05 00 00 01 03 00 18 0D\r
 R 00 00 01 00\r
-T 2B 05 00 00\r
+T BA 05 00 00\r
 R 00 00 01 00\r
-T 2B 05 00 00 01 04 00 18 08\r
+T BA 05 00 00 01 04 00 18 08\r
 R 00 00 01 00\r
-T 30 05 00 00\r
+T BF 05 00 00\r
 R 00 00 01 00\r
-T 30 05 00 00 01 05 00 18 03\r
+T BF 05 00 00 01 05 00 18 03\r
 R 00 00 01 00\r
-T 35 05 00 00\r
+T C4 05 00 00\r
 R 00 00 01 00\r
-T 35 05 00 00 01 06 00\r
+T C4 05 00 00 01 06 00\r
 R 00 00 01 00\r
-T 38 05 00 00\r
+T C7 05 00 00\r
 R 00 00 01 00\r
-T 38 05 00 00 DD 09\r
+T C7 05 00 00 DD 09\r
 R 00 00 01 00\r
-T 3A 05 00 00\r
+T C9 05 00 00\r
 R 00 00 01 00\r
-T 3A 05 00 00 21 02 00 39 4E 23 46 DD 09 FD 23\r
+T C9 05 00 00 21 02 00 39 4E 23 46 DD 09 FD 23\r
 R 00 00 01 00\r
-T 45 05 00 00 18 A1\r
+T D4 05 00 00 18 A1\r
 R 00 00 01 00\r
-T 47 05 00 00\r
+T D6 05 00 00\r
 R 00 00 01 00\r
-T 47 05 00 00 DD E5 E1 F1 F1 DD E1 FD E1 C3\r
+T D6 05 00 00 DD E5 E1 F1 F1 DD E1 FD E1 C3\r
 R 00 00 01 00\r
-T 51 05 00 00 00 00 00 00\r
+T E0 05 00 00 00 00 00 00\r
 R 00 00 01 00 02 04 00 00\r
-T 53 05 00 00\r
+T E2 05 00 00\r
 R 00 00 01 00\r
-T 53 05 00 00 CD 00 00 00 00 7B FE 80 30 06\r
-R 00 00 01 00 02 05 0B 00\r
-T 5B 05 00 00\r
+T E2 05 00 00 CD 00 00 00 00 7B FE 80 30 06\r
+R 00 00 01 00 02 05 0A 00\r
+T EA 05 00 00\r
 R 00 00 01 00\r
-T 5B 05 00 00 21 07 00 09 18 0C\r
+T EA 05 00 00 21 07 00 09 18 0C\r
 R 00 00 01 00\r
-T 61 05 00 00\r
+T F0 05 00 00\r
 R 00 00 01 00\r
-T 61 05 00 00 FE CC 38 08 3E DF BB 38 03\r
+T F0 05 00 00 FE CC 38 08 3E DF BB 38 03\r
 R 00 00 01 00\r
-T 6A 05 00 00\r
+T F9 05 00 00\r
 R 00 00 01 00\r
-T 6A 05 00 00\r
+T F9 05 00 00\r
 R 00 00 01 00\r
-T 6A 05 00 00\r
+T F9 05 00 00\r
 R 00 00 01 00\r
-T 6A 05 00 00 69 60 23\r
+T F9 05 00 00 69 60 23\r
 R 00 00 01 00\r
-T 6D 05 00 00\r
+T FC 05 00 00\r
 R 00 00 01 00\r
-T 6D 05 00 00\r
+T FC 05 00 00\r
 R 00 00 01 00\r
-T 6D 05 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T 70 05 00 00\r
+T FC 05 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 04 00\r
+T FF 05 00 00\r
 R 00 00 01 00\r
-T 70 05 00 00 CD 00 00 00 00 01 00 00\r
-R 00 00 01 00 02 05 0B 00\r
-T 76 05 00 00\r
+T FF 05 00 00 CD 00 00 00 00 01 00 00\r
+R 00 00 01 00 02 05 0A 00\r
+T 05 06 00 00\r
 R 00 00 01 00\r
-T 76 05 00 00 1A 5F 3E 53 05 00 00 21\r
+T 05 06 00 00 1A 5F 3E E2 05 00 00 21\r
 R 00 00 01 00 29 07 01 00\r
-T 7B 05 00 00 53 05 00 00 CD 00 00 00 00 C3\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 81 05 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 05 00\r
-T 83 05 00 00\r
-R 00 00 01 00\r
-T 83 05 00 00 CD 00 00 00 00 01 05 00 C3\r
-R 00 00 01 00 02 05 0B 00\r
-T 8A 05 00 00 76 05 00 00\r
+T 0A 06 00 00 E2 05 00 00 CD 00 00 00 00 C3\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 10 06 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 04 00\r
+T 12 06 00 00\r
+R 00 00 01 00\r
+T 12 06 00 00 CD 00 00 00 00 01 05 00 C3\r
+R 00 00 01 00 02 05 0A 00\r
+T 19 06 00 00 05 06 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T 8C 05 00 00\r
+T 1B 06 00 00\r
 R 00 00 01 00\r
-T 8C 05 00 00 CD 00 00 00 00 01 00 00\r
-R 00 00 01 00 02 05 0B 00\r
-T 92 05 00 00\r
+T 1B 06 00 00 CD 00 00 00 00 01 00 00\r
+R 00 00 01 00 02 05 0A 00\r
+T 21 06 00 00\r
 R 00 00 01 00\r
-T 92 05 00 00 3E DA 04 00 00 21 DA 04 00 00 CD\r
+T 21 06 00 00 3E 69 05 00 00 21 69 05 00 00 CD\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 98 05 00 00 00 00 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00 02 09 05 00\r
-T 9D 05 00 00\r
+T 27 06 00 00 00 00 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00 02 09 04 00\r
+T 2C 06 00 00\r
 R 00 00 01 00\r
-T 9D 05 00 00 CD 00 00 00 00 01 02 00 C3\r
-R 00 00 01 00 02 05 0B 00\r
-T A4 05 00 00 92 05 00 00\r
+T 2C 06 00 00 CD 00 00 00 00 01 02 00 C3\r
+R 00 00 01 00 02 05 0A 00\r
+T 33 06 00 00 21 06 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T A6 05 00 00\r
+T 35 06 00 00\r
 R 00 00 01 00\r
-T A6 05 00 00 CD 00 00 00 00 01 03 00 C3\r
-R 00 00 01 00 02 05 0B 00\r
-T AD 05 00 00 92 05 00 00\r
+T 35 06 00 00 CD 00 00 00 00 01 03 00 C3\r
+R 00 00 01 00 02 05 0A 00\r
+T 3C 06 00 00 21 06 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T AF 05 00 00\r
+T 3E 06 00 00\r
 R 00 00 01 00\r
-T AF 05 00 00 CD 00 00 00 00 00 00 FD E5 11\r
-R 00 00 01 00 02 05 0F 00\r
-T B7 05 00 00 28 00 CD CE 04 00 00 2A\r
+T 3E 06 00 00 CD 00 00 00 00 00 00 FD E5 11\r
+R 00 00 01 00 02 05 0E 00\r
+T 46 06 00 00 28 00 CD 5D 05 00 00 2A\r
 R 00 00 01 00 00 07 01 00\r
-T BD 05 00 00 00 00 00 00 5E 23 56 13 72 2B 73\r
+T 4C 06 00 00 00 00 00 00 5E 23 56 13 72 2B 73\r
 R 00 00 01 00 00 04 04 00\r
-T C6 05 00 00 FD E5 E1 73 23 72 DD 6E 02 FD 75\r
+T 55 06 00 00 FD E5 E1 73 23 72 DD 6E 02 FD 75\r
 R 00 00 01 00\r
-T D1 05 00 00 02 DD 66 03 FD 74 03 FD 71 04 FD\r
+T 60 06 00 00 02 DD 66 03 FD 74 03 FD 71 04 FD\r
 R 00 00 01 00\r
-T DC 05 00 00 70 05 DD 6E 0A FD 75 06 DD 66 0B\r
+T 6B 06 00 00 70 05 DD 6E 0A FD 75 06 DD 66 0B\r
 R 00 00 01 00\r
-T E7 05 00 00 FD 74 07 DD 6E 0C FD 75 08 DD 66\r
+T 76 06 00 00 FD 74 07 DD 6E 0C FD 75 08 DD 66\r
 R 00 00 01 00\r
-T F2 05 00 00 0D FD 74 09 AF FD 77 0A FD 77 0B\r
+T 81 06 00 00 0D FD 74 09 AF FD 77 0A FD 77 0B\r
 R 00 00 01 00\r
-T FD 05 00 00 FD 77 0C FD 77 0D FD 77 0E FD 77\r
+T 8C 06 00 00 FD 77 0C FD 77 0D FD 77 0E FD 77\r
 R 00 00 01 00\r
-T 08 06 00 00 0F FD 77 10 FD 77 11 FD 77 12 FD\r
+T 97 06 00 00 0F FD 77 10 FD 77 11 FD 77 12 FD\r
 R 00 00 01 00\r
-T 13 06 00 00 77 13 FD 77 14 FD 77 15 FD 77 16\r
+T A2 06 00 00 77 13 FD 77 14 FD 77 15 FD 77 16\r
 R 00 00 01 00\r
-T 1E 06 00 00 FD 77 17 FD 77 18 FD 77 19 FD 77\r
+T AD 06 00 00 FD 77 17 FD 77 18 FD 77 19 FD 77\r
 R 00 00 01 00\r
-T 29 06 00 00 1A FD 77 1B FD 77 1C FD 77 1D FD\r
+T B8 06 00 00 1A FD 77 1B FD 77 1C FD 77 1D FD\r
 R 00 00 01 00\r
-T 34 06 00 00 77 1E FD 77 1F FD 77 24 FD 77 25\r
+T C3 06 00 00 77 1E FD 77 1F FD 77 24 FD 77 25\r
 R 00 00 01 00\r
-T 3F 06 00 00 FD 77 26 FD 77 27 FD 77 20 FD 77\r
+T CE 06 00 00 FD 77 26 FD 77 27 FD 77 20 FD 77\r
 R 00 00 01 00\r
-T 4A 06 00 00 21 FD 77 22 FD 77 23\r
+T D9 06 00 00 21 FD 77 22 FD 77 23\r
 R 00 00 01 00\r
-T 51 06 00 00\r
+T E0 06 00 00\r
 R 00 00 01 00\r
-T 51 06 00 00 FD E5 E1 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 0A 05 00\r
-T 59 06 00 00\r
+T E0 06 00 00 FD E5 E1 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 0A 04 00\r
+T E8 06 00 00\r
 R 00 00 01 00\r
-T 59 06 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T 62 06 00 00 02 DD 66 03 E5 FD E1 11 00 00\r
+T E8 06 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T F1 06 00 00 02 DD 66 03 E5 FD E1 11 00 00\r
 R 00 00 01 00\r
-T 6C 06 00 00\r
+T FB 06 00 00\r
 R 00 00 01 00\r
-T 6C 06 00 00 DD 6E 04 DD 66 05 19 7E B7 28 21\r
+T FB 06 00 00 DD 6E 04 DD 66 05 19 7E B7 28 21\r
 R 00 00 01 00\r
-T 77 06 00 00 01 14 80 6B 62 78 AC 67 ED 42 30\r
+T 06 07 00 00 01 14 80 6B 62 78 AC 67 ED 42 30\r
 R 00 00 01 00\r
-T 82 06 00 00 15\r
+T 11 07 00 00 15\r
 R 00 00 01 00\r
-T 83 06 00 00\r
+T 12 07 00 00\r
 R 00 00 01 00\r
-T 83 06 00 00\r
+T 12 07 00 00\r
 R 00 00 01 00\r
-T 83 06 00 00\r
+T 12 07 00 00\r
 R 00 00 01 00\r
-T 83 06 00 00 FD 6E 20 FD 66 21 19 E5 DD 6E 04\r
+T 12 07 00 00 FD 6E 20 FD 66 21 19 E5 DD 6E 04\r
 R 00 00 01 00\r
-T 8E 06 00 00 DD 66 05 19 46 E1 70 13 18 D4\r
+T 1D 07 00 00 DD 66 05 19 46 E1 70 13 18 D4\r
 R 00 00 01 00\r
-T 98 06 00 00\r
+T 27 07 00 00\r
 R 00 00 01 00\r
-T 98 06 00 00 FD 6E 20 FD 66 21 19 36 00 FD E1\r
+T 27 07 00 00 FD 6E 20 FD 66 21 19 36 00 FD E1\r
 R 00 00 01 00\r
-T A3 06 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T A6 06 00 00\r
+T 32 07 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 04 00\r
+T 35 07 00 00\r
 R 00 00 01 00\r
-T A6 06 00 00 CD 00 00 00 00 00 00 FD E5 59 50\r
-R 00 00 01 00 02 05 0F 00\r
-T AF 06 00 00 21 15 00 DD 4E 02 DD 46 03 09 7E\r
+T 35 07 00 00 CD 00 00 00 00 00 00 FD E5 59 50\r
+R 00 00 01 00 02 05 0E 00\r
+T 3E 07 00 00 21 15 00 DD 4E 02 DD 46 03 09 7E\r
 R 00 00 01 00\r
-T BA 06 00 00 23 66 6F E5 FD E1 21 15 00 09 7E\r
+T 49 07 00 00 23 66 6F E5 FD E1 21 15 00 09 7E\r
 R 00 00 01 00\r
-T C5 06 00 00 23 B6 20 09\r
+T 54 07 00 00 23 B6 20 09\r
 R 00 00 01 00\r
-T C9 06 00 00\r
+T 58 07 00 00\r
 R 00 00 01 00\r
-T C9 06 00 00 21 15 00 09 73 23 72 18 19\r
+T 58 07 00 00 21 15 00 09 73 23 72 18 19\r
 R 00 00 01 00\r
-T D2 06 00 00\r
+T 61 07 00 00\r
 R 00 00 01 00\r
-T D2 06 00 00\r
+T 61 07 00 00\r
 R 00 00 01 00\r
-T D2 06 00 00 FD 7E 13 FD B6 14 28 0B\r
+T 61 07 00 00 FD 7E 13 FD B6 14 28 0B\r
 R 00 00 01 00\r
-T DA 06 00 00\r
+T 69 07 00 00\r
 R 00 00 01 00\r
-T DA 06 00 00 FD 6E 13 FD 66 14 E5 FD E1 18 ED\r
+T 69 07 00 00 FD 6E 13 FD 66 14 E5 FD E1 18 ED\r
 R 00 00 01 00\r
-T E5 06 00 00\r
+T 74 07 00 00\r
 R 00 00 01 00\r
-T E5 06 00 00 FD 73 13 FD 72 14\r
+T 74 07 00 00 FD 73 13 FD 72 14\r
 R 00 00 01 00\r
-T EB 06 00 00\r
+T 7A 07 00 00\r
 R 00 00 01 00\r
-T EB 06 00 00 21 13 00 19 77 23 77\r
+T 7A 07 00 00 21 13 00 19 77 23 77\r
 R 00 00 01 00\r
-T F2 06 00 00\r
+T 81 07 00 00\r
 R 00 00 01 00\r
-T F2 06 00 00 21 11 00 19 DD 4E 02 71 DD 46 03\r
+T 81 07 00 00 21 11 00 19 DD 4E 02 71 DD 46 03\r
 R 00 00 01 00\r
-T FD 06 00 00 23 70 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 09 05 00\r
-T 04 07 00 00\r
+T 8C 07 00 00 23 70 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 09 04 00\r
+T 93 07 00 00\r
 R 00 00 01 00\r
-T 04 07 00 00 C5 FD E5 DD E5 21 15 00 19 46 23\r
+T 93 07 00 00 C5 FD E5 DD E5 21 15 00 19 46 23\r
 R 00 00 01 00\r
-T 0F 07 00 00 66 68 E5 DD E1 CD 40 07 00 00\r
+T 9E 07 00 00 66 68 E5 DD E1 CD CF 07 00 00\r
 R 00 00 01 00 00 0A 01 00\r
-T 17 07 00 00\r
+T A6 07 00 00\r
 R 00 00 01 00\r
-T 17 07 00 00 DD E5 E1 7D B4 28 1A\r
+T A6 07 00 00 DD E5 E1 7D B4 28 1A\r
 R 00 00 01 00\r
-T 1E 07 00 00\r
+T AD 07 00 00\r
 R 00 00 01 00\r
-T 1E 07 00 00 DD E5 D1 DD 7E 1C DD 6E 1A DD 66\r
+T AD 07 00 00 DD E5 D1 DD 7E 1C DD 6E 1A DD 66\r
 R 00 00 01 00\r
-T 29 07 00 00 1B CD 00 00 00 00 DD 6E 13 DD 66\r
-R 00 00 01 00 02 06 0C 00\r
-T 32 07 00 00 14 E5 DD E1 18 DF\r
+T B8 07 00 00 1B CD 00 00 00 00 DD 6E 13 DD 66\r
+R 00 00 01 00 02 06 0B 00\r
+T C1 07 00 00 14 E5 DD E1 18 DF\r
 R 00 00 01 00\r
-T 38 07 00 00\r
+T C7 07 00 00\r
 R 00 00 01 00\r
-T 38 07 00 00 1E 01 CD 42 07 00 00 C3\r
+T C7 07 00 00 1E 01 CD D1 07 00 00 C3\r
 R 00 00 01 00 00 07 01 00\r
-T 3E 07 00 00 5E 02 00 00\r
+T CD 07 00 00 F9 02 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T 40 07 00 00\r
+T CF 07 00 00\r
 R 00 00 01 00\r
-T 40 07 00 00 1E 00\r
+T CF 07 00 00 1E 00\r
 R 00 00 01 00\r
-T 42 07 00 00\r
+T D1 07 00 00\r
 R 00 00 01 00\r
-T 42 07 00 00 3E FA 02 00 00 21 FA 02 00 00 C3\r
+T D1 07 00 00 3E 95 03 00 00 21 95 03 00 00 C3\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 48 07 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T 4A 07 00 00\r
+T D7 07 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T D9 07 00 00\r
 R 00 00 01 00\r
-T 4A 07 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T 53 07 00 00 02 DD 66 03 E5 FD E1\r
+T D9 07 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T E2 07 00 00 02 DD 66 03 E5 FD E1\r
 R 00 00 01 00\r
-T 5A 07 00 00\r
+T E9 07 00 00\r
 R 00 00 01 00\r
-T 5A 07 00 00 DD 6E 04 DD 66 05 7E FD 86 02 77\r
+T E9 07 00 00 DD 6E 04 DD 66 05 7E FD 86 02 77\r
 R 00 00 01 00\r
-T 65 07 00 00 23 7E FD 8E 03 77 DD 6E 0A DD 66\r
+T F4 07 00 00 23 7E FD 8E 03 77 DD 6E 0A DD 66\r
 R 00 00 01 00\r
-T 70 07 00 00 0B 7E FD 86 04 77 23 7E FD 8E 05\r
+T FF 07 00 00 0B 7E FD 86 04 77 23 7E FD 8E 05\r
 R 00 00 01 00\r
-T 7B 07 00 00 77 FD 6E 11 FD 66 12 E5 FD E1 7D\r
+T 0A 08 00 00 77 FD 6E 11 FD 66 12 E5 FD E1 7D\r
 R 00 00 01 00\r
-T 86 07 00 00 B4 20 D1\r
+T 15 08 00 00 B4 20 D1\r
 R 00 00 01 00\r
-T 89 07 00 00\r
+T 18 08 00 00\r
 R 00 00 01 00\r
-T 89 07 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T 8E 07 00 00\r
+T 18 08 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T 1D 08 00 00\r
 R 00 00 01 00\r
-T 8E 07 00 00 CD 00 00 00 00 00 00 21 15 00 DD\r
-R 00 00 01 00 02 05 0F 00\r
-T 97 07 00 00 4E 02 DD 46 03 09\r
+T 1D 08 00 00 CD 00 00 00 00 00 00 21 15 00 DD\r
+R 00 00 01 00 02 05 0E 00\r
+T 26 08 00 00 4E 02 DD 46 03 09\r
 R 00 00 01 00\r
-T 9D 07 00 00\r
+T 2C 08 00 00\r
 R 00 00 01 00\r
-T 9D 07 00 00 46 23 66 68 EB\r
+T 2C 08 00 00 46 23 66 68 EB\r
 R 00 00 01 00\r
-T A2 07 00 00\r
+T 31 08 00 00\r
 R 00 00 01 00\r
-T A2 07 00 00 7B B2 28 1B\r
+T 31 08 00 00 7B B2 28 1B\r
 R 00 00 01 00\r
-T A6 07 00 00\r
+T 35 08 00 00\r
 R 00 00 01 00\r
-T A6 07 00 00 21 10 00 19 4E 06 00 DD 6E 04 DD\r
+T 35 08 00 00 21 10 00 19 4E 06 00 DD 6E 04 DD\r
 R 00 00 01 00\r
-T B1 07 00 00 66 05 A7 ED 42 20 03\r
+T 40 08 00 00 66 05 A7 ED 42 20 03\r
 R 00 00 01 00\r
-T B8 07 00 00\r
+T 47 08 00 00\r
 R 00 00 01 00\r
-T B8 07 00 00 EB 18 08\r
+T 47 08 00 00 EB 18 08\r
 R 00 00 01 00\r
-T BB 07 00 00\r
+T 4A 08 00 00\r
 R 00 00 01 00\r
-T BB 07 00 00 21 13 00 19 18 DC\r
+T 4A 08 00 00 21 13 00 19 18 DC\r
 R 00 00 01 00\r
-T C1 07 00 00\r
+T 50 08 00 00\r
 R 00 00 01 00\r
-T C1 07 00 00 6F 67\r
+T 50 08 00 00 6F 67\r
 R 00 00 01 00\r
-T C3 07 00 00\r
+T 52 08 00 00\r
 R 00 00 01 00\r
-T C3 07 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T C6 07 00 00\r
+T 52 08 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 04 00\r
+T 55 08 00 00\r
 R 00 00 01 00\r
-T C6 07 00 00 CD 00 00 00 00 F8 FF FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T CF 07 00 00 02 DD 66 03 E5 FD E1 FD 6E 15 DD\r
+T 55 08 00 00 CD 00 00 00 00 F8 FF FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T 5E 08 00 00 02 DD 66 03 E5 FD E1 FD 6E 15 DD\r
 R 00 00 01 00\r
-T DA 07 00 00 75 F8 FD 66 16 DD 74 F9 FD E5 E1\r
+T 69 08 00 00 75 F8 FD 66 16 DD 74 F9 FD E5 E1\r
 R 00 00 01 00\r
-T E5 07 00 00 7D B4 CA 79 09 00 00\r
+T 74 08 00 00 7D B4 CA 08 0A 00 00\r
 R 00 00 01 00 00 07 01 00\r
-T EA 07 00 00\r
+T 79 08 00 00\r
 R 00 00 01 00\r
-T EA 07 00 00\r
+T 79 08 00 00\r
 R 00 00 01 00\r
-T EA 07 00 00 DD 7E F8 DD B6 F9 28 11\r
+T 79 08 00 00 DD 7E F8 DD B6 F9 28 11\r
 R 00 00 01 00\r
-T F2 07 00 00\r
+T 81 08 00 00\r
 R 00 00 01 00\r
-T F2 07 00 00 DD 5E F8 DD 56 F9 CD 8F 09 00 00\r
+T 81 08 00 00 DD 5E F8 DD 56 F9 CD 1E 0A 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T FB 07 00 00 DD 75 F8 DD 74 F9 18 E7\r
+T 8A 08 00 00 DD 75 F8 DD 74 F9 18 E7\r
 R 00 00 01 00\r
-T 03 08 00 00\r
+T 92 08 00 00\r
 R 00 00 01 00\r
-T 03 08 00 00 FD 7E 11 FD B6 12 CA 95 08 00 00\r
+T 92 08 00 00 FD 7E 11 FD B6 12 CA 24 09 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 0C 08 00 00\r
+T 9B 08 00 00\r
 R 00 00 01 00\r
-T 0C 08 00 00 FD 6E 11 FD 66 12 01 15 00 09 46\r
+T 9B 08 00 00 FD 6E 11 FD 66 12 01 15 00 09 46\r
 R 00 00 01 00\r
-T 17 08 00 00 23 66 68 FD E5 C1 A7 ED 42 FD 6E\r
+T A6 08 00 00 23 66 68 FD E5 C1 A7 ED 42 FD 6E\r
 R 00 00 01 00\r
-T 22 08 00 00 11 FD 66 12 01 15 00 09 20 09\r
+T B1 08 00 00 11 FD 66 12 01 15 00 09 20 09\r
 R 00 00 01 00\r
-T 2C 08 00 00\r
+T BB 08 00 00\r
 R 00 00 01 00\r
-T 2C 08 00 00 E5 FD 6E 11 FD 66 12 18 50\r
+T BB 08 00 00 E5 FD 6E 11 FD 66 12 18 50\r
 R 00 00 01 00\r
-T 35 08 00 00\r
+T C4 08 00 00\r
 R 00 00 01 00\r
-T 35 08 00 00 46 23 66 68\r
+T C4 08 00 00 46 23 66 68\r
 R 00 00 01 00\r
-T 39 08 00 00\r
+T C8 08 00 00\r
 R 00 00 01 00\r
-T 39 08 00 00 DD 75 F8 DD 74 F9\r
+T C8 08 00 00 DD 75 F8 DD 74 F9\r
 R 00 00 01 00\r
-T 3F 08 00 00\r
+T CE 08 00 00\r
 R 00 00 01 00\r
-T 3F 08 00 00 21 13 00 DD 4E F8 DD 46 F9 09 46\r
+T CE 08 00 00 21 13 00 DD 4E F8 DD 46 F9 09 46\r
 R 00 00 01 00\r
-T 4A 08 00 00 23 66 68 FD E5 C1 A7 ED 42 28 19\r
+T D9 08 00 00 23 66 68 FD E5 C1 A7 ED 42 28 19\r
 R 00 00 01 00\r
-T 55 08 00 00 21 13 00 DD 4E F8 DD 46 F9 09 7E\r
+T E4 08 00 00 21 13 00 DD 4E F8 DD 46 F9 09 7E\r
 R 00 00 01 00\r
-T 60 08 00 00 23 B6 28 0A\r
+T EF 08 00 00 23 B6 28 0A\r
 R 00 00 01 00\r
-T 64 08 00 00\r
+T F3 08 00 00\r
 R 00 00 01 00\r
-T 64 08 00 00\r
+T F3 08 00 00\r
 R 00 00 01 00\r
-T 64 08 00 00\r
+T F3 08 00 00\r
 R 00 00 01 00\r
-T 64 08 00 00 21 13 00 09 56 23 66 6A 18 CB\r
+T F3 08 00 00 21 13 00 09 56 23 66 6A 18 CB\r
 R 00 00 01 00\r
-T 6E 08 00 00\r
+T FD 08 00 00\r
 R 00 00 01 00\r
-T 6E 08 00 00 21 13 00 DD 4E F8 DD 46 F9 09 7E\r
+T FD 08 00 00 21 13 00 DD 4E F8 DD 46 F9 09 7E\r
 R 00 00 01 00\r
-T 79 08 00 00 23 B6 28 18\r
+T 08 09 00 00 23 B6 28 18\r
 R 00 00 01 00\r
-T 7D 08 00 00\r
+T 0C 09 00 00\r
 R 00 00 01 00\r
-T 7D 08 00 00 21 13 00 09 E5 21 13 00\r
+T 0C 09 00 00 21 13 00 09 E5 21 13 00\r
 R 00 00 01 00\r
-T 85 08 00 00\r
+T 14 09 00 00\r
 R 00 00 01 00\r
-T 85 08 00 00 09 46 23 66 68 01 13 00 09 4E 23\r
+T 14 09 00 00 09 46 23 66 68 01 13 00 09 4E 23\r
 R 00 00 01 00\r
-T 90 08 00 00 46 E1 71 23 70\r
+T 1F 09 00 00 46 E1 71 23 70\r
 R 00 00 01 00\r
-T 95 08 00 00\r
+T 24 09 00 00\r
 R 00 00 01 00\r
-T 95 08 00 00\r
+T 24 09 00 00\r
 R 00 00 01 00\r
-T 95 08 00 00\r
+T 24 09 00 00\r
 R 00 00 01 00\r
-T 95 08 00 00 FD 6E 13 DD 75 F8 FD 66 14 DD 74\r
+T 24 09 00 00 FD 6E 13 DD 75 F8 FD 66 14 DD 74\r
 R 00 00 01 00\r
-T A0 08 00 00 F9 3E 04 FD AE 24 FD B6 25 C2\r
+T 2F 09 00 00 F9 3E 04 FD AE 24 FD B6 25 C2\r
 R 00 00 01 00\r
-T AA 08 00 00 45 09 00 00\r
+T 39 09 00 00 D4 09 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T AC 08 00 00\r
+T 3B 09 00 00\r
 R 00 00 01 00\r
-T AC 08 00 00 FD 6E 11 DD 75 FC FD 66 12 DD 74\r
+T 3B 09 00 00 FD 6E 11 DD 75 FC FD 66 12 DD 74\r
 R 00 00 01 00\r
-T B7 08 00 00 FD FD 6E 26 DD 75 FE FD 66 27 DD\r
+T 46 09 00 00 FD FD 6E 26 DD 75 FE FD 66 27 DD\r
 R 00 00 01 00\r
-T C2 08 00 00 74 FF CD 84 09 00 00 DD 6E FE DD\r
+T 51 09 00 00 74 FF CD 13 0A 00 00 DD 6E FE DD\r
 R 00 00 01 00 00 07 01 00\r
-T CB 08 00 00 66 FF 23 23 CD 84 09 00 00\r
+T 5A 09 00 00 66 FF 23 23 CD 13 0A 00 00\r
 R 00 00 01 00 00 09 01 00\r
-T D2 08 00 00\r
+T 61 09 00 00\r
 R 00 00 01 00\r
-T D2 08 00 00 DD 7E FC DD B6 FD 28 20 21 24 00\r
+T 61 09 00 00 DD 7E FC DD B6 FD 28 20 21 24 00\r
 R 00 00 01 00\r
-T DD 08 00 00 DD 4E FC DD 46 FD 09 3E 04 AE 23\r
+T 6C 09 00 00 DD 4E FC DD 46 FD 09 3E 04 AE 23\r
 R 00 00 01 00\r
-T E8 08 00 00 B6 28 0F\r
+T 77 09 00 00 B6 28 0F\r
 R 00 00 01 00\r
-T EB 08 00 00\r
+T 7A 09 00 00\r
 R 00 00 01 00\r
-T EB 08 00 00\r
+T 7A 09 00 00\r
 R 00 00 01 00\r
-T EB 08 00 00\r
+T 7A 09 00 00\r
 R 00 00 01 00\r
-T EB 08 00 00 21 11 00 09 56 DD 72 FC 23 66 DD\r
+T 7A 09 00 00 21 11 00 09 56 DD 72 FC 23 66 DD\r
 R 00 00 01 00\r
-T F6 08 00 00 74 FD 18 D8\r
+T 85 09 00 00 74 FD 18 D8\r
 R 00 00 01 00\r
-T FA 08 00 00\r
+T 89 09 00 00\r
 R 00 00 01 00\r
-T FA 08 00 00 DD 7E FC DD B6 FD 28 43\r
+T 89 09 00 00 DD 7E FC DD B6 FD 28 43\r
 R 00 00 01 00\r
-T 02 09 00 00\r
+T 91 09 00 00\r
 R 00 00 01 00\r
-T 02 09 00 00 21 26 00 DD 4E FC DD 46 FD 09 46\r
+T 91 09 00 00 21 26 00 DD 4E FC DD 46 FD 09 46\r
 R 00 00 01 00\r
-T 0D 09 00 00 DD 70 FE 23 66 DD 74 FF 21 06 00\r
+T 9C 09 00 00 DD 70 FE 23 66 DD 74 FF 21 0A 00\r
 R 00 00 01 00\r
-T 18 09 00 00 ED 4B 00 00 00 00 09 E5 DD 6E FE\r
+T A7 09 00 00 ED 4B 00 00 00 00 09 E5 DD 6E FE\r
 R 00 00 01 00 00 06 04 00\r
-T 21 09 00 00 DD 66 FF 5E 23 56 E1 73 23 72 21\r
+T B0 09 00 00 DD 66 FF 5E 23 56 E1 73 23 72 21\r
 R 00 00 01 00\r
-T 2C 09 00 00 08 00 ED 4B 00 00 00 00 09 E5 DD\r
+T BB 09 00 00 0C 00 ED 4B 00 00 00 00 09 E5 DD\r
 R 00 00 01 00 00 08 04 00\r
-T 35 09 00 00 4E FE DD 46 FF 03 03 69 60 4E 23\r
+T C4 09 00 00 4E FE DD 46 FF 03 03 69 60 4E 23\r
 R 00 00 01 00\r
-T 40 09 00 00 46 E1 71 23 70\r
+T CF 09 00 00 46 E1 71 23 70\r
 R 00 00 01 00\r
-T 45 09 00 00\r
+T D4 09 00 00\r
 R 00 00 01 00\r
-T 45 09 00 00\r
+T D4 09 00 00\r
 R 00 00 01 00\r
-T 45 09 00 00 FD 4E 24 FD 46 25 21 00 00 CD\r
+T D4 09 00 00 FD 4E 24 FD 46 25 21 00 00 CD\r
 R 00 00 01 00\r
-T 4F 09 00 00 00 00 00 00 30 09\r
-R 00 00 01 00 02 04 10 00\r
-T 53 09 00 00\r
+T DE 09 00 00 00 00 00 00 30 09\r
+R 00 00 01 00 02 04 0F 00\r
+T E2 09 00 00\r
 R 00 00 01 00\r
-T 53 09 00 00 FD 5E 26 FD 56 27 CD 87 09 00 00\r
+T E2 09 00 00 FD 5E 26 FD 56 27 CD 16 0A 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 5C 09 00 00\r
+T EB 09 00 00\r
 R 00 00 01 00\r
-T 5C 09 00 00 FD CB 0B 76 20 11 FD 7E 20 FD B6\r
+T EB 09 00 00 FD CB 0B 76 20 11 FD 7E 20 FD B6\r
 R 00 00 01 00\r
-T 67 09 00 00 21 28 09\r
+T F6 09 00 00 21 28 09\r
 R 00 00 01 00\r
-T 6A 09 00 00\r
+T F9 09 00 00\r
 R 00 00 01 00\r
-T 6A 09 00 00\r
+T F9 09 00 00\r
 R 00 00 01 00\r
-T 6A 09 00 00\r
+T F9 09 00 00\r
 R 00 00 01 00\r
-T 6A 09 00 00 FD 5E 20 FD 56 21 CD 87 09 00 00\r
+T F9 09 00 00 FD 5E 20 FD 56 21 CD 16 0A 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 73 09 00 00\r
+T 02 0A 00 00\r
 R 00 00 01 00\r
-T 73 09 00 00 FD E5 D1 CD 87 09 00 00\r
+T 02 0A 00 00 FD E5 D1 CD 16 0A 00 00\r
 R 00 00 01 00 00 08 01 00\r
-T 79 09 00 00\r
+T 08 0A 00 00\r
 R 00 00 01 00\r
-T 79 09 00 00 DD 6E F8 DD 66 F9 FD E1 C3\r
+T 08 0A 00 00 DD 6E F8 DD 66 F9 FD E1 C3\r
 R 00 00 01 00\r
-T 82 09 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 05 00\r
-T 84 09 00 00\r
+T 11 0A 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 04 00\r
+T 13 0A 00 00\r
 R 00 00 01 00\r
-T 84 09 00 00 5E 23 56\r
+T 13 0A 00 00 5E 23 56\r
 R 00 00 01 00\r
-T 87 09 00 00\r
+T 16 0A 00 00\r
 R 00 00 01 00\r
-T 87 09 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
-R 00 00 01 00 2B 05 0A 00 02 0A 0A 00\r
-T 8D 09 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T 8F 09 00 00\r
+T 16 0A 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 09 00 02 0A 09 00\r
+T 1C 0A 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 1E 0A 00 00\r
 R 00 00 01 00\r
-T 8F 09 00 00 3E C6 07 00 00 21 C6 07 00 00 C3\r
+T 1E 0A 00 00 3E 55 08 00 00 21 55 08 00 00 C3\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 95 09 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T 97 09 00 00\r
+T 24 0A 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 26 0A 00 00\r
 R 00 00 01 00\r
-T 97 09 00 00 C5 FD E5 DD E5 21 15 00 19 46 23\r
+T 26 0A 00 00 C5 FD E5 DD E5 21 15 00 19 46 23\r
 R 00 00 01 00\r
-T A2 09 00 00 66 68\r
+T 31 0A 00 00 66 68\r
 R 00 00 01 00\r
-T A4 09 00 00\r
+T 33 0A 00 00\r
 R 00 00 01 00\r
-T A4 09 00 00 E5 DD E1\r
+T 33 0A 00 00 E5 DD E1\r
 R 00 00 01 00\r
-T A7 09 00 00\r
+T 36 0A 00 00\r
 R 00 00 01 00\r
-T A7 09 00 00 7D B4 28 08\r
+T 36 0A 00 00 7D B4 28 08\r
 R 00 00 01 00\r
-T AB 09 00 00\r
+T 3A 0A 00 00\r
 R 00 00 01 00\r
-T AB 09 00 00 DD E5 D1 CD 8F 09 00 00 18 F1\r
+T 3A 0A 00 00 DD E5 D1 CD 1E 0A 00 00 18 F1\r
 R 00 00 01 00 00 08 01 00\r
-T B3 09 00 00\r
+T 42 0A 00 00\r
 R 00 00 01 00\r
-T B3 09 00 00 C3 5E 02 00 00\r
+T 42 0A 00 00 C3 F9 02 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T B6 09 00 00\r
+T 45 0A 00 00\r
 R 00 00 01 00\r
-T B6 09 00 00 CD 00 00 00 00 00 00 FD E5 21\r
-R 00 00 01 00 02 05 0F 00\r
-T BE 09 00 00 15 00 DD 5E 02 DD 56 03 19\r
+T 45 0A 00 00 CD 00 00 00 00 00 00 FD E5 21\r
+R 00 00 01 00 02 05 0E 00\r
+T 4D 0A 00 00 15 00 DD 5E 02 DD 56 03 19\r
 R 00 00 01 00\r
-T C7 09 00 00\r
+T 56 0A 00 00\r
 R 00 00 01 00\r
-T C7 09 00 00 56 23 66 6A E5 FD E1\r
+T 56 0A 00 00 56 23 66 6A E5 FD E1\r
 R 00 00 01 00\r
-T CE 09 00 00\r
+T 5D 0A 00 00\r
 R 00 00 01 00\r
-T CE 09 00 00 7D B4 28 3D\r
+T 5D 0A 00 00 7D B4 28 3D\r
 R 00 00 01 00\r
-T D2 09 00 00\r
+T 61 0A 00 00\r
 R 00 00 01 00\r
-T D2 09 00 00 21 0A 00 FD E5 C1 09 DD 7E 04 DD\r
+T 61 0A 00 00 21 0A 00 FD E5 C1 09 DD 7E 04 DD\r
 R 00 00 01 00\r
-T DD 09 00 00 56 05 2F 5F 7A 2F 57 7E A3 77 23\r
+T 6C 0A 00 00 56 05 2F 5F 7A 2F 57 7E A3 77 23\r
 R 00 00 01 00\r
-T E8 09 00 00 7E A2 77 21 0A 00 09 7E DD B6 0A\r
+T 77 0A 00 00 7E A2 77 21 0A 00 09 7E DD B6 0A\r
 R 00 00 01 00\r
-T F3 09 00 00 77 23 7E DD B6 0B 77 21 0A 00 09\r
+T 82 0A 00 00 77 23 7E DD B6 0B 77 21 0A 00 09\r
 R 00 00 01 00\r
-T FE 09 00 00 7E DD AE 0C 77 23 7E DD AE 0D 77\r
+T 8D 0A 00 00 7E DD AE 0C 77 23 7E DD AE 0D 77\r
 R 00 00 01 00\r
-T 09 0A 00 00 21 13 00 09 18 B8\r
+T 98 0A 00 00 21 13 00 09 18 B8\r
 R 00 00 01 00\r
-T 0F 0A 00 00\r
+T 9E 0A 00 00\r
 R 00 00 01 00\r
-T 0F 0A 00 00 11 00 00 00 00 3E 00 00 00 00 21\r
-R 00 00 01 00 02 05 0D 00 2B 0A 01 00\r
-T 15 0A 00 00 00 00 00 00 CD 00 00 00 00 FD E1\r
-R 00 00 01 00 02 04 01 00 02 09 0C 00\r
-T 1C 0A 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
-T 1F 0A 00 00\r
+T 9E 0A 00 00 11 00 00 00 00 3E 00 00 00 00 21\r
+R 00 00 01 00 02 05 0C 00 2B 0A 01 00\r
+T A4 0A 00 00 00 00 00 00 CD 00 00 00 00 FD E1\r
+R 00 00 01 00 02 04 01 00 02 09 0B 00\r
+T AB 0A 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 04 00\r
+T AE 0A 00 00\r
 R 00 00 01 00\r
-T 1F 0A 00 00 C5 FD E5 DD E5 D5 DD E1 21 15 00\r
+T AE 0A 00 00 C5 FD E5 DD E5 D5 DD E1 21 15 00\r
 R 00 00 01 00\r
-T 2A 0A 00 00 19 46 23 66 68 E5 FD E1 21 20 00\r
+T B9 0A 00 00 19 46 23 66 68 E5 FD E1 21 20 00\r
 R 00 00 01 00\r
-T 35 0A 00 00 19 46 23 66 68 01 00 90 3E 80 AC\r
+T C4 0A 00 00 19 46 23 66 68 01 00 90 3E 80 AC\r
 R 00 00 01 00\r
-T 40 0A 00 00 67 ED 42 30 2E DD 4E 20 DD 46 21\r
+T CF 0A 00 00 67 ED 42 30 2E DD 4E 20 DD 46 21\r
 R 00 00 01 00\r
-T 4B 0A 00 00 21 00 00 CD 00 00 00 00 30 20\r
-R 00 00 01 00 02 08 10 00\r
-T 53 0A 00 00\r
+T DA 0A 00 00 21 00 00 CD 00 00 00 00 30 20\r
+R 00 00 01 00 02 08 0F 00\r
+T E2 0A 00 00\r
 R 00 00 01 00\r
-T 53 0A 00 00\r
+T E2 0A 00 00\r
 R 00 00 01 00\r
-T 53 0A 00 00\r
+T E2 0A 00 00\r
 R 00 00 01 00\r
-T 53 0A 00 00 DD 6E 20 DD 66 21 29 E5 21 08 00\r
+T E2 0A 00 00 DD 6E 20 DD 66 21 29 E5 21 0C 00\r
 R 00 00 01 00\r
-T 5E 0A 00 00 ED 4B 00 00 00 00 09 4E 23 46 E1\r
+T ED 0A 00 00 ED 4B 00 00 00 00 09 4E 23 46 E1\r
 R 00 00 01 00 00 06 04 00\r
-T 67 0A 00 00 09 2B 2B 46 DD 70 20 23 66 DD 74\r
+T F6 0A 00 00 09 2B 2B 46 DD 70 20 23 66 DD 74\r
 R 00 00 01 00\r
-T 72 0A 00 00 21\r
+T 01 0B 00 00 21\r
 R 00 00 01 00\r
-T 73 0A 00 00\r
+T 02 0B 00 00\r
 R 00 00 01 00\r
-T 73 0A 00 00 DD 6E 22 DD 66 23 01 00 90 3E 80\r
+T 02 0B 00 00 DD 6E 22 DD 66 23 01 00 90 3E 80\r
 R 00 00 01 00\r
-T 7E 0A 00 00 AC 67 ED 42 30 2E DD 4E 22 DD 46\r
+T 0D 0B 00 00 AC 67 ED 42 30 2E DD 4E 22 DD 46\r
 R 00 00 01 00\r
-T 89 0A 00 00 23 21 00 00 CD 00 00 00 00 30 20\r
-R 00 00 01 00 02 09 10 00\r
-T 92 0A 00 00\r
+T 18 0B 00 00 23 21 00 00 CD 00 00 00 00 30 20\r
+R 00 00 01 00 02 09 0F 00\r
+T 21 0B 00 00\r
 R 00 00 01 00\r
-T 92 0A 00 00\r
+T 21 0B 00 00\r
 R 00 00 01 00\r
-T 92 0A 00 00\r
+T 21 0B 00 00\r
 R 00 00 01 00\r
-T 92 0A 00 00 DD 6E 22 DD 66 23 29 E5 21 08 00\r
+T 21 0B 00 00 DD 6E 22 DD 66 23 29 E5 21 0C 00\r
 R 00 00 01 00\r
-T 9D 0A 00 00 ED 4B 00 00 00 00 09 4E 23 46 E1\r
+T 2C 0B 00 00 ED 4B 00 00 00 00 09 4E 23 46 E1\r
 R 00 00 01 00 00 06 04 00\r
-T A6 0A 00 00 09 2B 2B 46 DD 70 22 23 66 DD 74\r
+T 35 0B 00 00 09 2B 2B 46 DD 70 22 23 66 DD 74\r
 R 00 00 01 00\r
-T B1 0A 00 00 23\r
+T 40 0B 00 00 23\r
 R 00 00 01 00\r
-T B2 0A 00 00\r
+T 41 0B 00 00\r
 R 00 00 01 00\r
-T B2 0A 00 00\r
+T 41 0B 00 00\r
 R 00 00 01 00\r
-T B2 0A 00 00 FD E5 E1 7D B4 28 16\r
+T 41 0B 00 00 FD E5 E1 7D B4 28 16\r
 R 00 00 01 00\r
-T B9 0A 00 00\r
+T 48 0B 00 00\r
 R 00 00 01 00\r
-T B9 0A 00 00 FD E5 D1 3E 1F 0A 00 00 21\r
+T 48 0B 00 00 FD E5 D1 3E AE 0A 00 00 21\r
 R 00 00 01 00 29 08 01 00\r
-T BF 0A 00 00 1F 0A 00 00 CD 00 00 00 00 FD 6E\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T C6 0A 00 00 13 FD 66 14 E5 FD E1 18 E3\r
+T 4E 0B 00 00 AE 0A 00 00 CD 00 00 00 00 FD 6E\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 55 0B 00 00 13 FD 66 14 E5 FD E1 18 E3\r
 R 00 00 01 00\r
-T CF 0A 00 00\r
+T 5E 0B 00 00\r
 R 00 00 01 00\r
-T CF 0A 00 00 C3 5E 02 00 00\r
+T 5E 0B 00 00 C3 F9 02 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T D2 0A 00 00\r
+T 61 0B 00 00\r
 R 00 00 01 00\r
-T D2 0A 00 00 CD 00 00 00 00 D0 FF FD E5 AF DD\r
-R 00 00 01 00 02 05 0F 00\r
-T DB 0A 00 00 77 FA DD 77 FB DD 77 FC DD 77 FD\r
+T 61 0B 00 00 CD 00 00 00 00 D0 FF FD E5 AF DD\r
+R 00 00 01 00 02 05 0E 00\r
+T 6A 0B 00 00 77 FA DD 77 FB DD 77 FC DD 77 FD\r
 R 00 00 01 00\r
-T E6 0A 00 00 59 50 CD 00 00 00 00 08 00 01 00\r
-R 00 00 01 00 02 07 0E 00\r
-T EF 0A 00 00 02 00 03 00 02 01 03 01 04 01\r
+T 75 0B 00 00 59 50 CD 00 00 00 00 08 00 01 00\r
+R 00 00 01 00 02 07 0D 00\r
+T 7E 0B 00 00 02 00 03 00 02 01 03 01 04 01\r
 R 00 00 01 00\r
-T F9 0A 00 00 05 01 01 04 6B 0D 00 00\r
+T 88 0B 00 00 05 01 01 05 FA 0D 00 00\r
 R 00 00 01 00 00 08 01 00\r
-T FF 0A 00 00 D9 0C 00 00 6C 0C 00 00\r
+T 8E 0B 00 00 68 0D 00 00 FB 0C 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T 03 0B 00 00 98 0C 00 00 E0 0B 00 00\r
+T 92 0B 00 00 27 0D 00 00 6F 0C 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T 07 0B 00 00 F1 0B 00 00 A5 0B 00 00\r
+T 96 0B 00 00 80 0C 00 00 34 0C 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T 0B 0B 00 00 40 0B 00 00 0F 0B 00 00\r
+T 9A 0B 00 00 CF 0B 00 00 9E 0B 00 00\r
 R 00 00 01 00 00 04 01 00 00 08 01 00\r
-T 0F 0B 00 00\r
+T 9E 0B 00 00\r
 R 00 00 01 00\r
-T 0F 0B 00 00 21 15 00 DD 4E 02 DD 46 03 09 46\r
+T 9E 0B 00 00 21 15 00 DD 4E 02 DD 46 03 09 46\r
 R 00 00 01 00\r
-T 1A 0B 00 00 23 66 68\r
+T A9 0B 00 00 23 66 68\r
 R 00 00 01 00\r
-T 1D 0B 00 00\r
+T AC 0B 00 00\r
 R 00 00 01 00\r
-T 1D 0B 00 00 E5 FD E1\r
+T AC 0B 00 00 E5 FD E1\r
 R 00 00 01 00\r
-T 20 0B 00 00\r
+T AF 0B 00 00\r
 R 00 00 01 00\r
-T 20 0B 00 00 7D B4 28 19\r
+T AF 0B 00 00 7D B4 28 19\r
 R 00 00 01 00\r
-T 24 0B 00 00\r
+T B3 0B 00 00\r
 R 00 00 01 00\r
-T 24 0B 00 00 FD CB 0A 46 28 0B\r
+T B3 0B 00 00 FD CB 0A 46 28 0B\r
 R 00 00 01 00\r
-T 2A 0B 00 00\r
+T B9 0B 00 00\r
 R 00 00 01 00\r
-T 2A 0B 00 00 DD 6E 0A DD 66 0B E5 CD\r
+T B9 0B 00 00 DD 6E 0A DD 66 0B E5 CD\r
 R 00 00 01 00\r
-T 32 0B 00 00 70 0D 00 00 E1\r
+T C1 0B 00 00 0A 0E 00 00 E1\r
 R 00 00 01 00 00 04 01 00\r
-T 35 0B 00 00\r
+T C4 0B 00 00\r
 R 00 00 01 00\r
-T 35 0B 00 00 FD 6E 13 FD 66 14 18 E0\r
+T C4 0B 00 00 FD 6E 13 FD 66 14 18 E0\r
 R 00 00 01 00\r
-T 3D 0B 00 00\r
+T CC 0B 00 00\r
 R 00 00 01 00\r
-T 3D 0B 00 00 C3 6B 0D 00 00\r
+T CC 0B 00 00 C3 FA 0D 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T 40 0B 00 00\r
+T CF 0B 00 00\r
 R 00 00 01 00\r
-T 40 0B 00 00 21 15 00 DD 4E 02 DD 46 03 09 46\r
+T CF 0B 00 00 21 15 00 DD 4E 02 DD 46 03 09 46\r
 R 00 00 01 00\r
-T 4B 0B 00 00 23 66 68\r
+T DA 0B 00 00 23 66 68\r
 R 00 00 01 00\r
-T 4E 0B 00 00\r
+T DD 0B 00 00\r
 R 00 00 01 00\r
-T 4E 0B 00 00 E5 FD E1\r
+T DD 0B 00 00 E5 FD E1\r
 R 00 00 01 00\r
-T 51 0B 00 00\r
+T E0 0B 00 00\r
 R 00 00 01 00\r
-T 51 0B 00 00 7D B4 28 4D\r
+T E0 0B 00 00 7D B4 28 4D\r
 R 00 00 01 00\r
-T 55 0B 00 00\r
+T E4 0B 00 00\r
 R 00 00 01 00\r
-T 55 0B 00 00 FD CB 0A 46 28 38\r
+T E4 0B 00 00 FD CB 0A 46 28 38\r
 R 00 00 01 00\r
-T 5B 0B 00 00\r
+T EA 0B 00 00\r
 R 00 00 01 00\r
-T 5B 0B 00 00 DD 6E 0A DD 66 0B E5 CD\r
+T EA 0B 00 00 DD 6E 0A DD 66 0B E5 CD\r
 R 00 00 01 00\r
-T 63 0B 00 00 70 0D 00 00 E1 DD 6E 0A DD 66 0B\r
+T F2 0B 00 00 0A 0E 00 00 E1 DD 6E 0A DD 66 0B\r
 R 00 00 01 00 00 04 01 00\r
-T 6C 0B 00 00 E5 01 03 00 CD 76 0D 00 00 E1 FD\r
+T FB 0B 00 00 E5 01 03 00 CD 10 0E 00 00 E1 FD\r
 R 00 00 01 00 00 09 01 00\r
-T 75 0B 00 00 7E 0A E6 22 6F 26 00 3E 22 AD 20\r
+T 04 0C 00 00 7E 0A E6 22 6F 26 00 3E 22 AD 20\r
 R 00 00 01 00\r
-T 80 0B 00 00 12 FD 4E 10 44 DD 6E 0A DD 66 0B\r
+T 0F 0C 00 00 12 FD 4E 10 44 DD 6E 0A DD 66 0B\r
 R 00 00 01 00\r
-T 8B 0B 00 00 ED 42 20 04\r
+T 1A 0C 00 00 ED 42 20 04\r
 R 00 00 01 00\r
-T 8F 0B 00 00\r
+T 1E 0C 00 00\r
 R 00 00 01 00\r
-T 8F 0B 00 00\r
+T 1E 0C 00 00\r
 R 00 00 01 00\r
-T 8F 0B 00 00\r
+T 1E 0C 00 00\r
 R 00 00 01 00\r
-T 8F 0B 00 00 FD 21 00 00\r
+T 1E 0C 00 00 FD 21 00 00\r
 R 00 00 01 00\r
-T 93 0B 00 00\r
+T 22 0C 00 00\r
 R 00 00 01 00\r
-T 93 0B 00 00\r
+T 22 0C 00 00\r
 R 00 00 01 00\r
-T 93 0B 00 00 FD E5 E1 7D B4 28 B7\r
+T 22 0C 00 00 FD E5 E1 7D B4 28 B7\r
 R 00 00 01 00\r
-T 9A 0B 00 00\r
+T 29 0C 00 00\r
 R 00 00 01 00\r
-T 9A 0B 00 00 FD 6E 13 FD 66 14 18 AC\r
+T 29 0C 00 00 FD 6E 13 FD 66 14 18 AC\r
 R 00 00 01 00\r
-T A2 0B 00 00\r
+T 31 0C 00 00\r
 R 00 00 01 00\r
-T A2 0B 00 00\r
+T 31 0C 00 00\r
 R 00 00 01 00\r
-T A2 0B 00 00 C3 6B 0D 00 00\r
+T 31 0C 00 00 C3 FA 0D 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T A5 0B 00 00\r
+T 34 0C 00 00\r
 R 00 00 01 00\r
-T A5 0B 00 00 DD 6E 02 DD 66 03 E5 FD E1 21\r
+T 34 0C 00 00 DD 6E 02 DD 66 03 E5 FD E1 21\r
 R 00 00 01 00\r
-T AF 0B 00 00 0A 00 DD 4E 02 DD 46 03 09 CB 46\r
+T 3E 0C 00 00 0A 00 DD 4E 02 DD 46 03 09 CB 46\r
 R 00 00 01 00\r
-T BA 0B 00 00 28 21\r
+T 49 0C 00 00 28 21\r
 R 00 00 01 00\r
-T BC 0B 00 00\r
+T 4B 0C 00 00\r
 R 00 00 01 00\r
-T BC 0B 00 00 FD CB 0A 6E 28 1B FD 4E 10 47 DD\r
+T 4B 0C 00 00 FD CB 0A 6E 28 1B FD 4E 10 47 DD\r
 R 00 00 01 00\r
-T C7 0B 00 00 6E 0A DD 66 0B A7 ED 42 20 0C\r
+T 56 0C 00 00 6E 0A DD 66 0B A7 ED 42 20 0C\r
 R 00 00 01 00\r
-T D1 0B 00 00\r
+T 60 0C 00 00\r
 R 00 00 01 00\r
-T D1 0B 00 00\r
+T 60 0C 00 00\r
 R 00 00 01 00\r
-T D1 0B 00 00\r
+T 60 0C 00 00\r
 R 00 00 01 00\r
-T D1 0B 00 00 FD 6E 26 FD 66 27 FD E5 D1 CD\r
+T 60 0C 00 00 FD 6E 26 FD 66 27 FD E5 D1 CD\r
 R 00 00 01 00\r
-T DB 0B 00 00 95 0D 00 00\r
+T 6A 0C 00 00 00 0E 00 00\r
 R 00 00 01 00 00 04 01 00\r
-T DD 0B 00 00\r
+T 6C 0C 00 00\r
 R 00 00 01 00\r
-T DD 0B 00 00\r
+T 6C 0C 00 00\r
 R 00 00 01 00\r
-T DD 0B 00 00\r
+T 6C 0C 00 00\r
 R 00 00 01 00\r
-T DD 0B 00 00\r
+T 6C 0C 00 00\r
 R 00 00 01 00\r
-T DD 0B 00 00\r
+T 6C 0C 00 00\r
 R 00 00 01 00\r
-T DD 0B 00 00\r
+T 6C 0C 00 00\r
 R 00 00 01 00\r
-T DD 0B 00 00 C3 6B 0D 00 00\r
+T 6C 0C 00 00 C3 FA 0D 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T E0 0B 00 00\r
+T 6F 0C 00 00\r
 R 00 00 01 00\r
-T E0 0B 00 00 DD 5E 02 4B DD 56 03 42 21 1A 00\r
+T 6F 0C 00 00 DD 5E 02 4B DD 56 03 42 21 1A 00\r
 R 00 00 01 00\r
-T EB 0B 00 00 CD 94 0D 00 00 C3 6B 0D 00 00\r
+T 7A 0C 00 00 CD FF 0D 00 00 C3 FA 0D 00 00\r
 R 00 00 01 00 00 05 01 00 00 0A 01 00\r
-T F1 0B 00 00\r
+T 80 0C 00 00\r
 R 00 00 01 00\r
-T F1 0B 00 00 21 0A 00 DD 4E 02 DD 46 03 09 7E\r
+T 80 0C 00 00 21 0A 00 DD 4E 02 DD 46 03 09 7E\r
 R 00 00 01 00\r
-T FC 0B 00 00 E6 FC 77 21 2E 00 39 E5 2B 2B 4D\r
+T 8B 0C 00 00 E6 FC 77 21 2E 00 39 E5 2B 2B 4D\r
 R 00 00 01 00\r
-T 07 0C 00 00 44 DD 5E 02 DD 56 03 CD\r
+T 96 0C 00 00 44 DD 5E 02 DD 56 03 CD\r
 R 00 00 01 00\r
-T 0F 0C 00 00 8C 0D 00 00 E1 21 08 00 DD 4E 02\r
+T 9E 0C 00 00 26 0E 00 00 E1 21 08 00 DD 4E 02\r
 R 00 00 01 00 00 04 01 00\r
-T 18 0C 00 00 DD 46 03 09 5E 23 56 D5 21 06 00\r
+T A7 0C 00 00 DD 46 03 09 5E 23 56 D5 21 06 00\r
 R 00 00 01 00\r
-T 23 0C 00 00 09 5E 23 56 D5 DD 6E FC DD 66 FD\r
+T B2 0C 00 00 09 5E 23 56 D5 DD 6E FC DD 66 FD\r
 R 00 00 01 00\r
-T 2E 0C 00 00 E5 DD 4E FA DD 46 FB 11 00 00 CD\r
+T BD 0C 00 00 E5 DD 4E FA DD 46 FB 11 00 00 CD\r
 R 00 00 01 00\r
-T 39 0C 00 00 F2 02 00 00 E1 E1 E1 21 00 00 E5\r
+T C8 0C 00 00 8D 03 00 00 E1 E1 E1 21 00 00 E5\r
 R 00 00 01 00 00 04 01 00\r
-T 42 0C 00 00 2E 11 DD 5E 02 DD 56 03 19 5E 23\r
+T D1 0C 00 00 2E 11 DD 5E 02 DD 56 03 19 5E 23\r
 R 00 00 01 00\r
-T 4D 0C 00 00 56 21 11 00 DD 4E 02 DD 46 03 09\r
+T DC 0C 00 00 56 21 11 00 DD 4E 02 DD 46 03 09\r
 R 00 00 01 00\r
-T 58 0C 00 00 46 23 66 68 01 17 00 09 4E 23 46\r
+T E7 0C 00 00 46 23 66 68 01 17 00 09 4E 23 46\r
 R 00 00 01 00\r
-T 63 0C 00 00 23 7E 69 60 01 03 01 18 29\r
+T F2 0C 00 00 23 7E 69 60 01 03 01 18 29\r
 R 00 00 01 00\r
-T 6C 0C 00 00\r
+T FB 0C 00 00\r
 R 00 00 01 00\r
-T 6C 0C 00 00 21 11 00 DD 4E 02 DD 46 03 09 56\r
+T FB 0C 00 00 21 11 00 DD 4E 02 DD 46 03 09 56\r
 R 00 00 01 00\r
-T 77 0C 00 00 23 66 6A E5 FD E1 59 50 CD\r
+T 06 0D 00 00 23 66 6A E5 FD E1 59 50 CD\r
 R 00 00 01 00\r
-T 80 0C 00 00 8F 09 00 00 21 00 00 E5 01 03 01\r
+T 0F 0D 00 00 1E 0A 00 00 21 00 00 E5 01 03 01\r
 R 00 00 01 00 00 04 01 00\r
-T 89 0C 00 00 FD E5 D1 FD 7E 19 FD 6E 17 FD 66\r
+T 18 0D 00 00 FD E5 D1 FD 7E 19 FD 6E 17 FD 66\r
 R 00 00 01 00\r
-T 94 0C 00 00 18\r
+T 23 0D 00 00 18\r
 R 00 00 01 00\r
-T 95 0C 00 00\r
+T 24 0D 00 00\r
 R 00 00 01 00\r
-T 95 0C 00 00 C3 67 0D 00 00\r
+T 24 0D 00 00 C3 F6 0D 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T 98 0C 00 00\r
+T 27 0D 00 00\r
 R 00 00 01 00\r
-T 98 0C 00 00 21 15 00 DD 4E 02 DD 46 03 09 46\r
+T 27 0D 00 00 21 15 00 DD 4E 02 DD 46 03 09 46\r
 R 00 00 01 00\r
-T A3 0C 00 00 23 66 68\r
+T 32 0D 00 00 23 66 68\r
 R 00 00 01 00\r
-T A6 0C 00 00\r
+T 35 0D 00 00\r
 R 00 00 01 00\r
-T A6 0C 00 00 E5 FD E1\r
+T 35 0D 00 00 E5 FD E1\r
 R 00 00 01 00\r
-T A9 0C 00 00\r
+T 38 0D 00 00\r
 R 00 00 01 00\r
-T A9 0C 00 00 7D B4 28 29\r
+T 38 0D 00 00 7D B4 28 29\r
 R 00 00 01 00\r
-T AD 0C 00 00\r
+T 3C 0D 00 00\r
 R 00 00 01 00\r
-T AD 0C 00 00 DD 6E 0A DD 66 0B FD E5 C1 ED 42\r
+T 3C 0D 00 00 DD 6E 0A DD 66 0B FD E5 C1 ED 42\r
 R 00 00 01 00\r
-T B8 0C 00 00 28 14 FD CB 0A 5E 28 0E\r
+T 47 0D 00 00 28 14 FD CB 0A 5E 28 0E\r
 R 00 00 01 00\r
-T C0 0C 00 00\r
+T 4F 0D 00 00\r
 R 00 00 01 00\r
-T C0 0C 00 00\r
+T 4F 0D 00 00\r
 R 00 00 01 00\r
-T C0 0C 00 00\r
+T 4F 0D 00 00\r
 R 00 00 01 00\r
-T C0 0C 00 00 DD 6E 0A DD 66 0B E5 01 03 02 CD\r
+T 4F 0D 00 00 DD 6E 0A DD 66 0B E5 01 03 02 CD\r
 R 00 00 01 00\r
-T CB 0C 00 00 76 0D 00 00 E1\r
+T 5A 0D 00 00 10 0E 00 00 E1\r
 R 00 00 01 00 00 04 01 00\r
-T CE 0C 00 00\r
+T 5D 0D 00 00\r
 R 00 00 01 00\r
-T CE 0C 00 00 FD 6E 13 FD 66 14 18 D0\r
+T 5D 0D 00 00 FD 6E 13 FD 66 14 18 D0\r
 R 00 00 01 00\r
-T D6 0C 00 00\r
+T 65 0D 00 00\r
 R 00 00 01 00\r
-T D6 0C 00 00 C3 6B 0D 00 00\r
+T 65 0D 00 00 C3 FA 0D 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T D9 0C 00 00\r
+T 68 0D 00 00\r
 R 00 00 01 00\r
-T D9 0C 00 00 21 11 00 DD 4E 02 DD 46 03 09 7E\r
+T 68 0D 00 00 21 11 00 DD 4E 02 DD 46 03 09 7E\r
 R 00 00 01 00\r
-T E4 0C 00 00 23 B6 20 0E\r
+T 73 0D 00 00 23 B6 20 0E\r
 R 00 00 01 00\r
-T E8 0C 00 00\r
+T 77 0D 00 00\r
 R 00 00 01 00\r
-T E8 0C 00 00 21 04 00 ED 4B 00 00 00 00 09 36\r
+T 77 0D 00 00 21 08 00 ED 4B 00 00 00 00 09 36\r
 R 00 00 01 00 00 09 04 00\r
-T F1 0C 00 00 01 23 77 18 75\r
+T 80 0D 00 00 01 23 77 18 75\r
 R 00 00 01 00\r
-T F6 0C 00 00\r
+T 85 0D 00 00\r
 R 00 00 01 00\r
-T F6 0C 00 00 21 0A 00 09 23 CB 6E 20 28\r
+T 85 0D 00 00 21 0A 00 09 23 CB 6E 20 28\r
 R 00 00 01 00\r
-T FF 0C 00 00\r
+T 8E 0D 00 00\r
 R 00 00 01 00\r
-T FF 0C 00 00 DD 6E 0A DD 66 0B E5 21 11 00 59\r
+T 8E 0D 00 00 DD 6E 0A DD 66 0B E5 21 11 00 59\r
 R 00 00 01 00\r
-T 0A 0D 00 00 50 19 5E 23 56 21 11 00 09 46 23\r
+T 99 0D 00 00 50 19 5E 23 56 21 11 00 09 46 23\r
 R 00 00 01 00\r
-T 15 0D 00 00 66 68 01 17 00 09 4E 23 46 23 7E\r
+T A4 0D 00 00 66 68 01 17 00 09 4E 23 46 23 7E\r
 R 00 00 01 00\r
-T 20 0D 00 00 69 60 01 01 04 18 40\r
+T AF 0D 00 00 69 60 01 01 05 18 40\r
 R 00 00 01 00\r
-T 27 0D 00 00\r
+T B6 0D 00 00\r
 R 00 00 01 00\r
-T 27 0D 00 00 21 11 00 09 56 23 66 6A E5 FD E1\r
+T B6 0D 00 00 21 11 00 09 56 23 66 6A E5 FD E1\r
 R 00 00 01 00\r
-T 32 0D 00 00 11 0A 00 19 7E F6 03 77 6A 62 E5\r
+T C1 0D 00 00 11 0A 00 19 7E F6 03 77 6A 62 E5\r
 R 00 00 01 00\r
-T 3D 0D 00 00 23 E5 4A 42 FD E5 D1 3E\r
+T CC 0D 00 00 23 E5 4A 42 FD E5 D1 3E\r
 R 00 00 01 00\r
-T 45 0D 00 00 B6 09 00 00 21 B6 09 00 00 CD\r
+T D4 0D 00 00 45 0A 00 00 21 45 0A 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 4A 0D 00 00 00 00 00 00 E1 E1 21 00 00 E5 DD\r
-R 00 00 01 00 02 04 0C 00\r
-T 53 0D 00 00 5E 02 4B DD 56 03 42 2E 17 09 4E\r
+T D9 0D 00 00 00 00 00 00 E1 E1 21 00 00 E5 DD\r
+R 00 00 01 00 02 04 0B 00\r
+T E2 0D 00 00 5E 02 4B DD 56 03 42 2E 17 09 4E\r
 R 00 00 01 00\r
-T 5E 0D 00 00 23 46 23 7E 69 60 01 05 01\r
+T ED 0D 00 00 23 46 23 7E 69 60 01 05 01\r
 R 00 00 01 00\r
-T 67 0D 00 00\r
+T F6 0D 00 00\r
 R 00 00 01 00\r
-T 67 0D 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 02 05 0C 00\r
-T 6B 0D 00 00\r
+T F6 0D 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 02 05 0B 00\r
+T FA 0D 00 00\r
 R 00 00 01 00\r
-T 6B 0D 00 00\r
+T FA 0D 00 00\r
 R 00 00 01 00\r
-T 6B 0D 00 00\r
+T FA 0D 00 00\r
 R 00 00 01 00\r
-T 6B 0D 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T 70 0D 00 00\r
+T FA 0D 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T FF 0D 00 00\r
 R 00 00 01 00\r
-T 70 0D 00 00 DD 4E 04 DD 46 05\r
+T FF 0D 00 00 09\r
 R 00 00 01 00\r
-T 76 0D 00 00\r
+T 00 0E 00 00\r
 R 00 00 01 00\r
-T 76 0D 00 00 FD E5 D1 FD 7E 19 FD 6E 17 FD 66\r
+T 00 0E 00 00 4E 23 46 23 7E 69 60 C3\r
 R 00 00 01 00\r
-T 81 0D 00 00 18 C3 00 00 00 00\r
-R 00 00 01 00 02 06 0C 00\r
-T 85 0D 00 00\r
+T 08 0E 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 0A 0E 00 00\r
 R 00 00 01 00\r
-T 85 0D 00 00 23 23\r
+T 0A 0E 00 00 DD 4E 04 DD 46 05\r
 R 00 00 01 00\r
-T 87 0D 00 00\r
+T 10 0E 00 00\r
 R 00 00 01 00\r
-T 87 0D 00 00 4D 44 DD E5 D1\r
+T 10 0E 00 00 FD E5 D1 FD 7E 19 FD 6E 17 FD 66\r
 R 00 00 01 00\r
-T 8C 0D 00 00\r
+T 1B 0E 00 00 18 C3 00 00 00 00\r
+R 00 00 01 00 02 06 0B 00\r
+T 1F 0E 00 00\r
 R 00 00 01 00\r
-T 8C 0D 00 00 3E 4A 07 00 00 21 4A 07 00 00 C3\r
-R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 92 0D 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T 94 0D 00 00\r
+T 1F 0E 00 00 23 23\r
 R 00 00 01 00\r
-T 94 0D 00 00 09\r
+T 21 0E 00 00\r
 R 00 00 01 00\r
-T 95 0D 00 00\r
+T 21 0E 00 00 4D 44 DD E5 D1\r
 R 00 00 01 00\r
-T 95 0D 00 00 4E 23 46 23 7E 69 60 C3\r
+T 26 0E 00 00\r
 R 00 00 01 00\r
-T 9D 0D 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T 9F 0D 00 00\r
+T 26 0E 00 00 3E D9 07 00 00 21 D9 07 00 00 C3\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 2C 0E 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 2E 0E 00 00\r
 R 00 00 01 00\r
-T 9F 0D 00 00 CD 00 00 00 00 FC FF FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T A8 0D 00 00 02 DD 66 03 E5 FD E1 AF DD 77 FE\r
+T 2E 0E 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00\r
 R 00 00 01 00\r
-T B3 0D 00 00 DD 77 FF DD 77 FC DD 77 FD 21\r
+T 39 0E 00 00 39 AF 77 23 77 2B 2B 2B 77 23 77\r
 R 00 00 01 00\r
-T BD 0D 00 00 0A 00 ED 4B 00 00 00 00 09 7E 23\r
-R 00 00 01 00 00 08 04 00\r
-T C6 0D 00 00 66 6F 46 23 66 68 FD 4E 0E FD 46\r
+T 44 0E 00 00 21 12 00 ED 4B 00 00 00 00 09 7E\r
+R 00 00 01 00 00 09 04 00\r
+T 4D 0E 00 00 23 66 6F 46 23 66 68 E5 21 0E 00\r
 R 00 00 01 00\r
-T D1 0D 00 00 0F A7 ED 42 28 09\r
+T 58 0E 00 00 19 4E 23 46 E1 A7 ED 42 28 03\r
 R 00 00 01 00\r
-T D7 0D 00 00\r
+T 62 0E 00 00\r
 R 00 00 01 00\r
-T D7 0D 00 00 FD 5E 0E FD 56 0F CD 24 0F 00 00\r
-R 00 00 01 00 00 0B 01 00\r
-T E0 0D 00 00\r
+T 62 0E 00 00 CD 67 0F 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 65 0E 00 00\r
 R 00 00 01 00\r
-T E0 0D 00 00 FD CB 0A 46 CA DC 0E 00 00\r
+T 65 0E 00 00 DD CB 0A 46 CA 5F 0F 00 00\r
 R 00 00 01 00 00 09 01 00\r
-T E7 0D 00 00\r
+T 6C 0E 00 00\r
 R 00 00 01 00\r
-T E7 0D 00 00 21 02 00 39 E5 23 23 4D 44 FD E5\r
+T 6C 0E 00 00 21 00 00 39 E5 CD 1F 0E 00 00 E1\r
+R 00 00 01 00 00 0A 01 00\r
+T 75 0E 00 00 CD CF 07 00 00 21 00 00 39 CD\r
+R 00 00 01 00 00 05 01 00\r
+T 7D 0E 00 00 AB 0F 00 00 CD 00 00 00 00 DD 6E\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 84 0E 00 00 08 DD 66 09 E5 DD 6E 06 DD 66 07\r
 R 00 00 01 00\r
-T F2 0D 00 00 D1 CD 8C 0D 00 00 E1 CD\r
-R 00 00 01 00 00 06 01 00\r
-T F8 0D 00 00 40 07 00 00 DD 4E FC DD 46 FD DD\r
-R 00 00 01 00 00 04 01 00\r
-T 01 0E 00 00 5E FE DD 56 FF 3E A3 00 00 00 21\r
-R 00 00 01 00 29 0A 01 00\r
-T 09 0E 00 00 A3 00 00 00 CD 00 00 00 00 FD 4E\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 10 0E 00 00 08 FD 46 09 FD 5E 06 FD 56 07 3E\r
+T 8F 0E 00 00 E5 21 04 00 39 4E 23 46 C5 23 4E\r
 R 00 00 01 00\r
-T 1B 0E 00 00 E2 00 00 00 21 E2 00 00 00 CD\r
-R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 20 0E 00 00 00 00 00 00 FD 6E 08 FD 66 09 E5\r
-R 00 00 01 00 02 04 0C 00\r
-T 29 0E 00 00 FD 6E 06 FD 66 07 E5 DD 6E FC DD\r
+T 9A 0E 00 00 23 46 11 00 00 CD 8D 03 00 00 E1\r
+R 00 00 01 00 00 0A 01 00\r
+T A3 0E 00 00 E1 E1 DD 5E 20 DD 56 21 CD\r
 R 00 00 01 00\r
-T 34 0E 00 00 66 FD E5 DD 4E FE DD 46 FF 11\r
+T AC 0E 00 00 7B 0F 00 00 E5 21 02 00 39 4E 23\r
+R 00 00 01 00 00 04 01 00\r
+T B5 0E 00 00 46 E1 09 01 04 00 09 4D 44 21\r
 R 00 00 01 00\r
-T 3E 0E 00 00 00 00 CD F2 02 00 00 E1 E1 E1 FD\r
-R 00 00 01 00 00 07 01 00\r
-T 47 0E 00 00 5E 20 FD 56 21 21 0A 00 ED 4B\r
+T BF 0E 00 00 02 00 39 5E 23 56 3E 5E 01 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T C7 0E 00 00 21 5E 01 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T CE 0E 00 00 5E 20 DD 56 21 21 12 00 ED 4B\r
 R 00 00 01 00\r
-T 51 0E 00 00 00 00 00 00 09 7E 23 66 6F CD\r
+T D8 0E 00 00 00 00 00 00 09 7E 23 66 6F 01\r
 R 00 00 01 00 00 04 04 00\r
-T 59 0E 00 00 E1 0E 00 00 DD 4E FC DD 46 FD 09\r
+T E0 0E 00 00 05 00 09 4E 23 46 23 7E 69 60 CD\r
+R 00 00 01 00\r
+T EB 0E 00 00 BC 04 00 00 DD 6E 08 DD 66 09 A7\r
 R 00 00 01 00 00 04 01 00\r
-T 62 0E 00 00 11 04 00 19 4D 44 CD EF 0E 00 00\r
-R 00 00 01 00 00 0B 01 00\r
-T 6B 0E 00 00 7E 23 66 6F 01 05 00 09 4E 23 46\r
+T F4 0E 00 00 ED 42 01 FC FF 09 4D 44 DD 5E 06\r
 R 00 00 01 00\r
-T 76 0E 00 00 23 7E 69 60 CD 13 04 00 00 01\r
-R 00 00 01 00 00 09 01 00\r
-T 7E 0E 00 00 FC FF 09 4D 44 FD 5E 06 FD 56 07\r
+T FF 0E 00 00 DD 56 07 3E D9 01 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 05 0F 00 00 D9 01 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 0B 0F 00 00 00 00 39 4E 23 46 23 5E 23 56 3E\r
 R 00 00 01 00\r
-T 89 0E 00 00 3E 25 01 00 00 21 25 01 00 00 CD\r
-R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 8F 0E 00 00 00 00 00 00 DD 4E FC DD 46 FD CD\r
-R 00 00 01 00 02 04 0C 00\r
-T 98 0E 00 00 EF 0E 00 00 46 23 66 68 CD\r
-R 00 00 01 00 00 04 01 00\r
-T 9F 0E 00 00 E1 0E 00 00 01 05 00 09 4D 44 FD\r
-R 00 00 01 00 00 04 01 00\r
-T A8 0E 00 00 5E 06 FD 56 07 3E 6A 01 00 00 21\r
-R 00 00 01 00 29 0A 01 00\r
-T B0 0E 00 00 6A 01 00 00 CD 00 00 00 00 21\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T B6 0E 00 00 0E 00 DD 4E FC DD 46 FD 09 4D 44\r
+T 16 0F 00 00 5E 01 00 00 21 5E 01 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 1B 0F 00 00 95 0F 00 00 CD 87 0F 00 00 01\r
+R 00 00 01 00 00 04 01 00 00 09 01 00\r
+T 21 0F 00 00 05 00 09 4D 44 DD 5E 06 DD 56 07\r
 R 00 00 01 00\r
-T C1 0E 00 00 DD 5E FE DD 56 FF 13 13 3E\r
+T 2C 0F 00 00 3E 18 02 00 00 21 18 02 00 00 CD\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 32 0F 00 00 00 00 00 00 21 00 00 39 4E 23 46\r
+R 00 00 01 00 02 04 0B 00\r
+T 3B 0F 00 00 03 03 23 5E 23 56 13 13 3E\r
 R 00 00 01 00\r
-T CA 0E 00 00 A3 00 00 00 21 A3 00 00 00 CD\r
+T 44 0F 00 00 5E 01 00 00 21 5E 01 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T CF 0E 00 00 0C 0F 00 00 FD E5 D1 3E\r
+T 49 0F 00 00 00 00 00 00 DD 5E 20 DD 56 21 CD\r
+R 00 00 01 00 02 04 0B 00\r
+T 52 0F 00 00 31 01 00 00 DD E5 D1 3E\r
 R 00 00 01 00 00 04 01 00\r
-T D5 0E 00 00 04 07 00 00 21 04 07 00 00 CD\r
+T 58 0F 00 00 93 07 00 00 21 93 07 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T DA 0E 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T DC 0E 00 00\r
+T 5D 0F 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 5F 0F 00 00\r
 R 00 00 01 00\r
-T DC 0E 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T E1 0E 00 00\r
+T 5F 0F 00 00 E1 E1 DD E1 C1 C3 00 00 00 00\r
+R 00 00 01 00 02 0A 00 00\r
+T 67 0F 00 00\r
 R 00 00 01 00\r
-T E1 0E 00 00 01 05 00 09 4E 23 46 23 7E 69 60\r
+T 67 0F 00 00 DD 5E 0E DD 56 0F 3E 40 04 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T 6F 0F 00 00 21 40 04 00 00 C3 00 00 00 00\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T 75 0F 00 00\r
 R 00 00 01 00\r
-T EC 0E 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 0C 00\r
-T EF 0E 00 00\r
+T 75 0F 00 00 FD 5E 20 FD 56 21\r
 R 00 00 01 00\r
-T EF 0E 00 00 DD 5E FE DD 56 FF 3E A3 00 00 00\r
-R 00 00 01 00 29 0B 01 00\r
-T F7 0E 00 00 21 A3 00 00 00 CD 00 00 00 00 FD\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T FE 0E 00 00 5E 20 FD 56 21 21 0A 00 ED 4B\r
+T 7B 0F 00 00\r
 R 00 00 01 00\r
-T 08 0F 00 00 00 00 00 00 09 C9\r
-R 00 00 01 00 00 04 04 00\r
-T 0C 0F 00 00\r
+T 7B 0F 00 00 21 12 00 ED 4B 00 00 00 00 09 7E\r
+R 00 00 01 00 00 09 04 00\r
+T 84 0F 00 00 23 66 6F\r
 R 00 00 01 00\r
-T 0C 0F 00 00 CD 00 00 00 00 FD 5E 20 FD 56 21\r
-R 00 00 01 00 02 05 0C 00\r
-T 15 0F 00 00 3E 39 02 00 00 21 39 02 00 00 CD\r
-R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 1B 0F 00 00 00 00 00 00 C9\r
-R 00 00 01 00 02 04 0C 00\r
-T 1E 0F 00 00\r
+T 87 0F 00 00\r
 R 00 00 01 00\r
-T 1E 0F 00 00 DD 5E 0E DD 56 0F\r
+T 87 0F 00 00 01 05 00 09 4E 23 46 23 7E 69 60\r
 R 00 00 01 00\r
-T 24 0F 00 00\r
+T 92 0F 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 0B 00\r
+T 95 0F 00 00\r
 R 00 00 01 00\r
-T 24 0F 00 00 3E A5 03 00 00 21 A5 03 00 00 C3\r
-R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 2A 0F 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T 2C 0F 00 00\r
-R 00 00 01 00\r
-T 2C 0F 00 00 CD 00 00 00 00 CD 40 07 00 00 CD\r
-R 00 00 01 00 02 05 0B 00 00 0A 01 00\r
-T 33 0F 00 00 D7 02 00 00 CD 00 00 00 00 01\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 39 0F 00 00 80 00 58 50 3E F4 01 00 00 21\r
+T 95 0F 00 00 CD 00 00 00 00 DD 5E 20 DD 56 21\r
+R 00 00 01 00 02 05 0B 00\r
+T 9E 0F 00 00 21 12 00 ED 4B 00 00 00 00 09 46\r
+R 00 00 01 00 00 09 04 00\r
+T A7 0F 00 00 23 66 68 C9\r
+R 00 00 01 00\r
+T AB 0F 00 00\r
+R 00 00 01 00\r
+T AB 0F 00 00 4E 23 46 23\r
+R 00 00 01 00\r
+T AF 0F 00 00\r
+R 00 00 01 00\r
+T AF 0F 00 00 5E 23 56 3E 5E 01 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T B5 0F 00 00 5E 01 00 00 CD 00 00 00 00 DD 4E\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T BC 0F 00 00 08 DD 46 09 DD 5E 06 DD 56 07 3E\r
+R 00 00 01 00\r
+T C7 0F 00 00 99 01 00 00 21 99 01 00 00 C9\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T CC 0F 00 00\r
+R 00 00 01 00\r
+T CC 0F 00 00 CD 00 00 00 00 CD CF 07 00 00 CD\r
+R 00 00 01 00 02 05 0A 00 00 0A 01 00\r
+T D3 0F 00 00 72 03 00 00 CD 00 00 00 00 01\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T D9 0F 00 00 80 00 58 50 3E 9C 02 00 00 21\r
 R 00 00 01 00 29 09 01 00\r
-T 40 0F 00 00 F4 01 00 00 CD 00 00 00 00 21\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 46 0F 00 00 80 00 E5 6C E5 E5 CD EF 02 00 00\r
+T E0 0F 00 00 9C 02 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T E6 0F 00 00 80 00 E5 6C E5 E5 CD 8A 03 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 4F 0F 00 00 E1 E1 E1 DD 5E 02 DD 56 03 3E\r
+T EF 0F 00 00 E1 E1 E1 DD 5E 02 DD 56 03 3E\r
 R 00 00 01 00\r
-T 59 0F 00 00 04 07 00 00 21 04 07 00 00 CD\r
+T F9 0F 00 00 93 07 00 00 21 93 07 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 5E 0F 00 00 00 00 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00 02 09 05 00\r
-T 63 0F 00 00\r
-R 00 00 01 00\r
-T 63 0F 00 00 CD 00 00 00 00 3E A6 06 00 00 21\r
-R 00 00 01 00 02 05 0B 00 29 0A 01 00\r
-T 69 0F 00 00 A6 06 00 00 CD 00 00 00 00 C3\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 6F 0F 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 05 00\r
-T 71 0F 00 00\r
-R 00 00 01 00\r
-T 71 0F 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T 7A 0F 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
-R 00 00 01 00\r
-T 85 0F 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1\r
-R 00 00 01 00 00 06 01 00\r
-T 8E 0F 00 00 01 17 00 09 36 D2 0A 00 00 23 36\r
-R 00 00 01 00 09 09 01 00\r
-T 96 0F 00 00 D2 0A 00 00 23 36 D2 0A 00 00 FD\r
+T FE 0F 00 00 00 00 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00 02 09 04 00\r
+T 03 10 00 00\r
+R 00 00 01 00\r
+T 03 10 00 00 CD 00 00 00 00 3E 35 07 00 00 21\r
+R 00 00 01 00 02 05 0A 00 29 0A 01 00\r
+T 09 10 00 00 35 07 00 00 CD 00 00 00 00 C3\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 0F 10 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 04 00\r
+T 11 10 00 00\r
+R 00 00 01 00\r
+T 11 10 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T 1A 10 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
+R 00 00 01 00\r
+T 25 10 00 00 E5 DD 5E 02 DD 56 03 3E\r
+R 00 00 01 00\r
+T 2D 10 00 00 3E 06 00 00 21 3E 06 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 32 10 00 00 00 00 00 00 F1 F1 E5 FD E1 01\r
+R 00 00 01 00 02 04 0B 00\r
+T 3A 10 00 00 17 00 09 36 61 0B 00 00 23 36\r
+R 00 00 01 00 09 08 01 00\r
+T 41 10 00 00 61 0B 00 00 23 36 61 0B 00 00 FD\r
 R 00 00 01 00 89 04 01 00 29 0A 01 00\r
-T 9B 0F 00 00 36 1A 9F 0D 00 00 FD 36 1B\r
+T 46 10 00 00 36 1A 2E 0E 00 00 FD 36 1B\r
 R 00 00 01 00 09 06 01 00\r
-T A1 0F 00 00 9F 0D 00 00 FD 36 1C 9F 0D 00 00\r
+T 4C 10 00 00 2E 0E 00 00 FD 36 1C 2E 0E 00 00\r
 R 00 00 01 00 89 04 01 00 29 0B 01 00\r
-T A6 0F 00 00 FD 36 1D 63 0F 00 00 FD 36 1E\r
+T 51 10 00 00 FD 36 1D 03 10 00 00 FD 36 1E\r
 R 00 00 01 00 09 07 01 00\r
-T AD 0F 00 00 63 0F 00 00 FD 36 1F 63 0F 00 00\r
+T 58 10 00 00 03 10 00 00 FD 36 1F 03 10 00 00\r
 R 00 00 01 00 89 04 01 00 29 0B 01 00\r
-T B2 0F 00 00 C3 51 06 00 00\r
+T 5D 10 00 00 C3 E0 06 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T B5 0F 00 00\r
-R 00 00 01 00\r
-T B5 0F 00 00 DD 5E 02 DD 56 03 3E AF 05 00 00\r
-R 00 00 01 00 29 0B 01 00\r
-T BD 0F 00 00 21 AF 05 00 00 C3 00 00 00 00\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T C3 0F 00 00\r
+T 60 10 00 00\r
 R 00 00 01 00\r
-T C3 0F 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD\r
-R 00 00 01 00 02 05 0B 00\r
-T CC 0F 00 00 6E 0A DD 66 0B E5 3E D2 0A 00 00\r
+T 60 10 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD\r
+R 00 00 01 00 02 05 0A 00\r
+T 69 10 00 00 6E 0A DD 66 0B E5 3E 61 0B 00 00\r
 R 00 00 01 00 29 0B 01 00\r
-T D4 0F 00 00 21 D2 0A 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T DB 0F 00 00 3E 03 DD AE 04 DD B6 05 20 3E FD\r
+T 71 10 00 00 21 61 0B 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T 78 10 00 00 3E 03 DD AE 04 DD B6 05 20 3E FD\r
 R 00 00 01 00\r
-T E6 0F 00 00 4E 10 47 DD 6E 0A DD 66 0B ED 42\r
+T 83 10 00 00 4E 10 47 DD 6E 0A DD 66 0B ED 42\r
 R 00 00 01 00\r
-T F1 0F 00 00 20 30 FD 7E 0A E6 03 28 29\r
+T 8E 10 00 00 20 30 FD 7E 0A E6 03 28 29\r
 R 00 00 01 00\r
-T FA 0F 00 00\r
+T 97 10 00 00\r
 R 00 00 01 00\r
-T FA 0F 00 00\r
+T 97 10 00 00\r
 R 00 00 01 00\r
-T FA 0F 00 00\r
+T 97 10 00 00\r
 R 00 00 01 00\r
-T FA 0F 00 00 DD 6E 0A DD 66 0B E5 FD 5E 11 FD\r
+T 97 10 00 00 DD 6E 0A DD 66 0B E5 FD 5E 11 FD\r
 R 00 00 01 00\r
-T 05 10 00 00 56 12 FD 6E 11 FD 66 12 0E 17 CD\r
+T A2 10 00 00 56 12 FD 6E 11 FD 66 12 0E 17 CD\r
 R 00 00 01 00\r
-T 10 10 00 00 50 10 00 00 E1 FD CB 0A 66 28 0A\r
+T AD 10 00 00 ED 10 00 00 E1 FD CB 0A 66 28 0A\r
 R 00 00 01 00 00 04 01 00\r
-T 19 10 00 00\r
+T B6 10 00 00\r
 R 00 00 01 00\r
-T 19 10 00 00 FD 4E 10 06 00 C5 CD 5E 10 00 00\r
+T B6 10 00 00 FD 4E 10 06 00 C5 CD FB 10 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 22 10 00 00 E1\r
+T BF 10 00 00 E1\r
 R 00 00 01 00\r
-T 23 10 00 00\r
+T C0 10 00 00\r
 R 00 00 01 00\r
-T 23 10 00 00\r
+T C0 10 00 00\r
 R 00 00 01 00\r
-T 23 10 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED\r
+T C0 10 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED\r
 R 00 00 01 00\r
-T 2E 10 00 00 42 20 0B\r
+T CB 10 00 00 42 20 0B\r
 R 00 00 01 00\r
-T 31 10 00 00\r
+T CE 10 00 00\r
 R 00 00 01 00\r
-T 31 10 00 00 DD 6E 0A DD 66 0B E5 CD\r
+T CE 10 00 00 DD 6E 0A DD 66 0B E5 CD\r
 R 00 00 01 00\r
-T 39 10 00 00 41 10 00 00 E1\r
+T D6 10 00 00 DE 10 00 00 E1\r
 R 00 00 01 00 00 04 01 00\r
-T 3C 10 00 00\r
-R 00 00 01 00\r
-T 3C 10 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T 41 10 00 00\r
+T D9 10 00 00\r
 R 00 00 01 00\r
-T 41 10 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
+T D9 10 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T DE 10 00 00\r
 R 00 00 01 00\r
-T 4C 10 00 00 12 01 17 00\r
+T DE 10 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
 R 00 00 01 00\r
-T 50 10 00 00\r
+T E9 10 00 00 12 01 17 00\r
 R 00 00 01 00\r
-T 50 10 00 00 09 4E 23 46 23 7E 69 60 01 01 02\r
+T ED 10 00 00\r
 R 00 00 01 00\r
-T 5B 10 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 0C 00\r
-T 5E 10 00 00\r
+T ED 10 00 00 09 4E 23 46 23 7E 69 60 01 01 02\r
 R 00 00 01 00\r
-T 5E 10 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
+T F8 10 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 0B 00\r
+T FB 10 00 00\r
 R 00 00 01 00\r
-T 69 10 00 00 12 0E 17 09 4E 23 46 23 7E 69 60\r
+T FB 10 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
 R 00 00 01 00\r
-T 74 10 00 00 01 04 01 C3 00 00 00 00\r
-R 00 00 01 00 02 08 0C 00\r
-T 7A 10 00 00\r
+T 06 11 00 00 12 0E 17 09 4E 23 46 23 7E 69 60\r
 R 00 00 01 00\r
-T 7A 10 00 00 CD 00 00 00 00 FD E5 D5 FD E1 21\r
-R 00 00 01 00 02 05 0B 00\r
-T 83 10 00 00 0A 00 19 CB 76 FD 5E 20 FD 56 21\r
+T 11 11 00 00 01 04 01 C3 00 00 00 00\r
+R 00 00 01 00 02 08 0B 00\r
+T 17 11 00 00\r
 R 00 00 01 00\r
-T 8E 10 00 00 21 0A 00 ED 4B 00 00 00 00 09 7E\r
-R 00 00 01 00 00 09 04 00\r
-T 97 10 00 00 23 66 6F 01 05 00 09 4E 23 46 23\r
+T 17 11 00 00 CD 00 00 00 00 FD E5 D5 FD E1 21\r
+R 00 00 01 00 02 05 0A 00\r
+T 20 11 00 00 0A 00 19 CB 76 28 53\r
 R 00 00 01 00\r
-T A2 10 00 00 7E 69 60 28 53\r
+T 27 11 00 00\r
 R 00 00 01 00\r
-T A7 10 00 00\r
+T 27 11 00 00 FD 5E 08 FD 56 09 01 02 00 CD\r
 R 00 00 01 00\r
-T A7 10 00 00 CD 00 00 00 00 29 4D 44 FD 6E 08\r
-R 00 00 01 00 02 05 0C 00\r
-T B0 10 00 00 FD 66 09 A7 ED 42 CD 27 11 00 00\r
-R 00 00 01 00 00 0B 01 00\r
-T B9 10 00 00 0E 0C 09 E5 FD 5E 20 FD 56 21 21\r
+T 31 11 00 00 00 00 00 00 DD 6E 0A DD 66 0B 19\r
+R 00 00 01 00 02 04 11 00\r
+T 3A 11 00 00 E5 FD 5E 20 FD 56 21 21 12 00 ED\r
 R 00 00 01 00\r
-T C4 10 00 00 0A 00 ED 4B 00 00 00 00 09 7E 23\r
-R 00 00 01 00 00 08 04 00\r
-T CD 10 00 00 66 6F CD E7 03 00 00 C1 CD\r
-R 00 00 01 00 00 07 01 00\r
-T D4 10 00 00 0C 0F 00 00 FD 5E 08 FD 56 09 CD\r
-R 00 00 01 00 00 04 01 00\r
-T DD 10 00 00 28 11 00 00 0E 0A 09 E5 FD 5E 22\r
-R 00 00 01 00 00 04 01 00\r
-T E6 10 00 00 FD 56 23 69 60 CD DE 03 00 00 C1\r
+T 45 11 00 00 4B 00 00 00 00 09 7E 23 66 6F CD\r
+R 00 00 01 00 00 05 04 00\r
+T 4E 11 00 00 85 04 00 00 C1 CD 00 00 00 00 FD\r
+R 00 00 01 00 00 04 01 00 02 0A 0B 00\r
+T 55 11 00 00 5E 20 FD 56 21 CD 31 01 00 00 CD\r
 R 00 00 01 00 00 0A 01 00\r
-T EF 10 00 00 CD 00 00 00 00 FD 5E 22 FD 56 23\r
-R 00 00 01 00 02 05 0C 00\r
-T F8 10 00 00 18 20\r
+T 5E 11 00 00 75 0F 00 00 29 CD A1 11 00 00 C5\r
+R 00 00 01 00 00 04 01 00 00 0A 01 00\r
+T 65 11 00 00 FD 5E 22 FD 56 23 CD 79 04 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 6E 11 00 00 C1 CD 00 00 00 00 FD 5E 22 FD 56\r
+R 00 00 01 00 02 06 0B 00\r
+T 77 11 00 00 23 18 1A\r
 R 00 00 01 00\r
-T FA 10 00 00\r
+T 7A 11 00 00\r
 R 00 00 01 00\r
-T FA 10 00 00 CD 13 04 00 00 CD 27 11 00 00 0E\r
+T 7A 11 00 00 CD 75 0F 00 00 CD A1 11 00 00 C5\r
 R 00 00 01 00 00 05 01 00 00 0A 01 00\r
-T 01 11 00 00 0D 09 E5 FD 5E 20 FD 56 21 21\r
+T 81 11 00 00 FD 5E 20 FD 56 21 CD 79 04 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T 8A 11 00 00 C1 CD 00 00 00 00 FD 5E 20 FD 56\r
+R 00 00 01 00 02 06 0B 00\r
+T 93 11 00 00 21\r
 R 00 00 01 00\r
-T 0B 11 00 00 0A 00 CD DE 03 00 00 C1 CD\r
-R 00 00 01 00 00 07 01 00\r
-T 12 11 00 00 00 00 00 00 FD 5E 20 FD 56 21\r
-R 00 00 01 00 02 04 0C 00\r
-T 1A 11 00 00\r
+T 94 11 00 00\r
 R 00 00 01 00\r
-T 1A 11 00 00 3E 39 02 00 00 21 39 02 00 00\r
+T 94 11 00 00 3E DE 02 00 00 21 DE 02 00 00\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 1F 11 00 00\r
-R 00 00 01 00\r
-T 1F 11 00 00 CD 00 00 00 00\r
-R 00 00 01 00 02 05 0C 00\r
-T 22 11 00 00\r
+T 99 11 00 00\r
 R 00 00 01 00\r
-T 22 11 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T 27 11 00 00\r
+T 99 11 00 00 CD 00 00 00 00\r
+R 00 00 01 00 02 05 0B 00\r
+T 9C 11 00 00\r
 R 00 00 01 00\r
-T 27 11 00 00 EB\r
+T 9C 11 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T A1 11 00 00\r
 R 00 00 01 00\r
-T 28 11 00 00\r
+T A1 11 00 00 FD 4E 08 FD 46 09 09 EB 01 02 00\r
 R 00 00 01 00\r
-T 28 11 00 00 01 02 00 CD 00 00 00 00 DD 6E 0A\r
-R 00 00 01 00 02 08 12 00\r
-T 31 11 00 00 DD 66 0B 19 C9\r
+T AC 11 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B\r
+R 00 00 01 00 02 05 11 00\r
+T B5 11 00 00 19 4D 44 03 C9\r
 R 00 00 01 00\r
-T 36 11 00 00\r
+T BA 11 00 00\r
 R 00 00 01 00\r
-T 36 11 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00\r
+T BA 11 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00\r
 R 00 00 01 00\r
-T 41 11 00 00 39 AF 77 23 77 2B 2B 2B 77 23 77\r
+T C5 11 00 00 39 AF 77 23 77 2B 2B 2B 77 23 77\r
 R 00 00 01 00\r
-T 4C 11 00 00 21 0A 00 ED 4B 00 00 00 00 09 7E\r
+T D0 11 00 00 21 12 00 ED 4B 00 00 00 00 09 7E\r
 R 00 00 01 00 00 09 04 00\r
-T 55 11 00 00 23 66 6F 46 23 66 68 E5 21 0E 00\r
+T D9 11 00 00 23 66 6F 46 23 66 68 E5 21 0E 00\r
 R 00 00 01 00\r
-T 60 11 00 00 19 4E 23 46 E1 A7 ED 42 28 03\r
+T E4 11 00 00 19 4E 23 46 E1 A7 ED 42 28 03\r
 R 00 00 01 00\r
-T 6A 11 00 00\r
+T EE 11 00 00\r
 R 00 00 01 00\r
-T 6A 11 00 00 CD 1E 0F 00 00\r
+T EE 11 00 00 CD 67 0F 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T 6D 11 00 00\r
+T F1 11 00 00\r
 R 00 00 01 00\r
-T 6D 11 00 00 DD CB 0A 46 CA 06 12 00 00\r
+T F1 11 00 00 DD CB 0A 46 CA 8A 12 00 00\r
 R 00 00 01 00 00 09 01 00\r
-T 74 11 00 00\r
+T F8 11 00 00\r
 R 00 00 01 00\r
-T 74 11 00 00 21 00 00 39 E5 CD 85 0D 00 00 E1\r
+T F8 11 00 00 21 00 00 39 E5 CD 1F 0E 00 00 E1\r
 R 00 00 01 00 00 0A 01 00\r
-T 7D 11 00 00 21 00 00 39 CD 0E 12 00 00 CD\r
+T 01 12 00 00 21 00 00 39 CD AB 0F 00 00 CD\r
 R 00 00 01 00 00 09 01 00\r
-T 85 11 00 00 00 00 00 00 DD 6E 08 DD 66 09 E5\r
-R 00 00 01 00 02 04 0C 00\r
-T 8E 11 00 00 DD 6E 06 DD 66 07 E5 21 04 00 39\r
+T 09 12 00 00 00 00 00 00 DD 6E 08 DD 66 09 E5\r
+R 00 00 01 00 02 04 0B 00\r
+T 12 12 00 00 DD 6E 06 DD 66 07 E5 21 04 00 39\r
 R 00 00 01 00\r
-T 99 11 00 00 4E 23 46 C5 23 4E 23 46 DD CB 0A\r
+T 1D 12 00 00 4E 23 46 C5 23 4E 23 46 DD CB 0A\r
 R 00 00 01 00\r
-T A4 11 00 00 4E 28 07 DD 5E 10 16 00 18 03\r
+T 28 12 00 00 4E 28 07 DD 5E 10 16 00 18 03\r
 R 00 00 01 00\r
-T AE 11 00 00\r
+T 32 12 00 00\r
 R 00 00 01 00\r
-T AE 11 00 00 11 00 00\r
+T 32 12 00 00 11 00 00\r
 R 00 00 01 00\r
-T B1 11 00 00\r
+T 35 12 00 00\r
 R 00 00 01 00\r
-T B1 11 00 00 CD F2 02 00 00 E1 E1 E1 DD 7E 0A\r
+T 35 12 00 00 CD 8D 03 00 00 E1 E1 E1 DD 7E 0A\r
 R 00 00 01 00 00 05 01 00\r
-T BA 11 00 00 E6 82 28 1C DD 7E 0A E6 82 EE 82\r
+T 3E 12 00 00 E6 82 28 1C DD 7E 0A E6 82 EE 82\r
 R 00 00 01 00\r
-T C5 11 00 00 28 13\r
+T 49 12 00 00 28 13\r
 R 00 00 01 00\r
-T C7 11 00 00\r
+T 4B 12 00 00\r
 R 00 00 01 00\r
-T C7 11 00 00\r
+T 4B 12 00 00\r
 R 00 00 01 00\r
-T C7 11 00 00\r
+T 4B 12 00 00\r
 R 00 00 01 00\r
-T C7 11 00 00 DD 4E 08 DD 46 09 DD 5E 06 DD 56\r
+T 4B 12 00 00 DD 4E 08 DD 46 09 DD 5E 06 DD 56\r
 R 00 00 01 00\r
-T D2 11 00 00 07 3E AF 01 00 00 21 AF 01 00 00\r
+T 56 12 00 00 07 3E 5A 02 00 00 21 5A 02 00 00\r
 R 00 00 01 00 29 06 01 00 00 0B 01 00\r
-T D8 11 00 00 18 11\r
+T 5C 12 00 00 18 11\r
 R 00 00 01 00\r
-T DA 11 00 00\r
+T 5E 12 00 00\r
 R 00 00 01 00\r
-T DA 11 00 00 DD 4E 08 DD 46 09 DD 5E 06 DD 56\r
+T 5E 12 00 00 DD 4E 08 DD 46 09 DD 5E 06 DD 56\r
 R 00 00 01 00\r
-T E5 11 00 00 07 3E 25 01 00 00 21 25 01 00 00\r
+T 69 12 00 00 07 3E D9 01 00 00 21 D9 01 00 00\r
 R 00 00 01 00 29 06 01 00 00 0B 01 00\r
-T EB 11 00 00\r
+T 6F 12 00 00\r
 R 00 00 01 00\r
-T EB 11 00 00 CD 00 00 00 00\r
-R 00 00 01 00 02 05 0C 00\r
-T EE 11 00 00\r
+T 6F 12 00 00 CD 00 00 00 00\r
+R 00 00 01 00 02 05 0B 00\r
+T 72 12 00 00\r
 R 00 00 01 00\r
-T EE 11 00 00 21 00 00 39 4E 23 46 C5 23 4E 23\r
+T 72 12 00 00 21 00 00 39 4E 23 46 C5 23 4E 23\r
 R 00 00 01 00\r
-T F9 11 00 00 46 DD E5 D1 3E 7A 10 00 00 21\r
+T 7D 12 00 00 46 DD E5 D1 3E 17 11 00 00 21\r
 R 00 00 01 00 29 09 01 00\r
-T 00 12 00 00 7A 10 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 06 12 00 00\r
+T 84 12 00 00 17 11 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 8A 12 00 00\r
 R 00 00 01 00\r
-T 06 12 00 00 E1 E1 DD E1 C1 C3 00 00 00 00\r
-R 00 00 01 00 02 0A 00 00\r
-T 0E 12 00 00\r
+T 8A 12 00 00 C3 5F 0F 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 8D 12 00 00\r
 R 00 00 01 00\r
-T 0E 12 00 00 4E 23 46 23\r
+T 8D 12 00 00 CD 00 00 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 0A 00 02 0A 04 00\r
+T 93 12 00 00\r
 R 00 00 01 00\r
-T 12 12 00 00\r
+T 93 12 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T 9C 12 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
 R 00 00 01 00\r
-T 12 12 00 00 5E 23 56 3E A3 00 00 00 21\r
-R 00 00 01 00 29 08 01 00\r
-T 18 12 00 00 A3 00 00 00 CD 00 00 00 00 DD 4E\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 1F 12 00 00 08 DD 46 09 DD 5E 06 DD 56 07 3E\r
+T A7 12 00 00 E5 DD 5E 02 DD 56 03 3E\r
 R 00 00 01 00\r
-T 2A 12 00 00 E2 00 00 00 21 E2 00 00 00 C9\r
+T AF 12 00 00 3E 06 00 00 21 3E 06 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 2F 12 00 00\r
-R 00 00 01 00\r
-T 2F 12 00 00 CD 00 00 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 0B 00 02 0A 05 00\r
-T 35 12 00 00\r
-R 00 00 01 00\r
-T 35 12 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T 3E 12 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
-R 00 00 01 00\r
-T 49 12 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1\r
-R 00 00 01 00 00 06 01 00\r
-T 52 12 00 00 01 0A 00 09 7E F6 03 77 DD 46 0E\r
+T B4 12 00 00 00 00 00 00 F1 F1 E5 FD E1 01\r
+R 00 00 01 00 02 04 0B 00\r
+T BC 12 00 00 0A 00 09 7E F6 03 77 DD 46 0E FD\r
 R 00 00 01 00\r
-T 5D 12 00 00 FD 70 10 FD 36 17 C3 0F 00 00 FD\r
-R 00 00 01 00 09 0A 01 00\r
-T 65 12 00 00 36 18 C3 0F 00 00 FD 36 19\r
-R 00 00 01 00 89 06 01 00\r
-T 6B 12 00 00 C3 0F 00 00 FD 36 1A 36 11 00 00\r
+T C7 12 00 00 70 10 FD 36 17 60 10 00 00 FD 36\r
+R 00 00 01 00 09 09 01 00\r
+T CF 12 00 00 18 60 10 00 00 FD 36 19\r
+R 00 00 01 00 89 05 01 00\r
+T D4 12 00 00 60 10 00 00 FD 36 1A BA 11 00 00\r
 R 00 00 01 00 29 04 01 00 09 0B 01 00\r
-T 70 12 00 00 FD 36 1B 36 11 00 00 FD 36 1C\r
+T D9 12 00 00 FD 36 1B BA 11 00 00 FD 36 1C\r
 R 00 00 01 00 89 07 01 00\r
-T 77 12 00 00 36 11 00 00 FD 36 1D 2F 12 00 00\r
+T E0 12 00 00 BA 11 00 00 FD 36 1D 8D 12 00 00\r
 R 00 00 01 00 29 04 01 00 09 0B 01 00\r
-T 7C 12 00 00 FD 36 1E 2F 12 00 00 FD 36 1F\r
+T E5 12 00 00 FD 36 1E 8D 12 00 00 FD 36 1F\r
 R 00 00 01 00 89 07 01 00\r
-T 83 12 00 00 2F 12 00 00 C3 51 06 00 00\r
+T EC 12 00 00 8D 12 00 00 C3 E0 06 00 00\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 87 12 00 00\r
+T F0 12 00 00\r
 R 00 00 01 00\r
-T 87 12 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD\r
-R 00 00 01 00 02 05 0B 00\r
-T 90 12 00 00 6E 0A DD 66 0B E5 3E D2 0A 00 00\r
+T F0 12 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD\r
+R 00 00 01 00 02 05 0A 00\r
+T F9 12 00 00 6E 0A DD 66 0B E5 3E 61 0B 00 00\r
 R 00 00 01 00 29 0B 01 00\r
-T 98 12 00 00 21 D2 0A 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T 9F 12 00 00 3E 03 DD AE 04 DD B6 05 20 5C FD\r
+T 01 13 00 00 21 61 0B 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T 08 13 00 00 3E 03 DD AE 04 DD B6 05 20 5C FD\r
 R 00 00 01 00\r
-T AA 12 00 00 4E 10 47 DD 6E 0A DD 66 0B ED 42\r
+T 13 13 00 00 4E 10 47 DD 6E 0A DD 66 0B ED 42\r
 R 00 00 01 00\r
-T B5 12 00 00 20 4E FD 7E 0A E6 03 28 47\r
+T 1E 13 00 00 20 4E FD 7E 0A E6 03 28 47\r
 R 00 00 01 00\r
-T BE 12 00 00\r
+T 27 13 00 00\r
 R 00 00 01 00\r
-T BE 12 00 00\r
+T 27 13 00 00\r
 R 00 00 01 00\r
-T BE 12 00 00\r
+T 27 13 00 00\r
 R 00 00 01 00\r
-T BE 12 00 00 FD 7E 0A EE 04 FD 77 0A DD 6E 0A\r
+T 27 13 00 00 FD 7E 0A EE 04 FD 77 0A DD 6E 0A\r
 R 00 00 01 00\r
-T C9 12 00 00 DD 66 0B E5 FD 5E 11 FD 56 12 FD\r
+T 32 13 00 00 DD 66 0B E5 FD 5E 11 FD 56 12 FD\r
 R 00 00 01 00\r
-T D4 12 00 00 6E 11 FD 66 12 0E 17 09 4E 23 46\r
+T 3D 13 00 00 6E 11 FD 66 12 0E 17 09 4E 23 46\r
 R 00 00 01 00\r
-T DF 12 00 00 23 7E 69 60 01 02 02 CD\r
+T 48 13 00 00 23 7E 69 60 01 02 02 CD\r
 R 00 00 01 00\r
-T E7 12 00 00 00 00 00 00 E1 21 00 00 E5 01\r
-R 00 00 01 00 02 04 0C 00\r
-T EF 12 00 00 03 01 CD 76 0D 00 00 E1 FD CB 0A\r
+T 50 13 00 00 00 00 00 00 E1 21 00 00 E5 01\r
+R 00 00 01 00 02 04 0B 00\r
+T 58 13 00 00 03 01 CD 10 0E 00 00 E1 FD CB 0A\r
 R 00 00 01 00 00 07 01 00\r
-T F8 12 00 00 66 28 0A\r
+T 61 13 00 00 66 28 0A\r
 R 00 00 01 00\r
-T FB 12 00 00\r
+T 64 13 00 00\r
 R 00 00 01 00\r
-T FB 12 00 00 FD 4E 10 06 00 C5 CD 5E 10 00 00\r
+T 64 13 00 00 FD 4E 10 06 00 C5 CD FB 10 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 04 13 00 00 E1\r
+T 6D 13 00 00 E1\r
 R 00 00 01 00\r
-T 05 13 00 00\r
+T 6E 13 00 00\r
 R 00 00 01 00\r
-T 05 13 00 00\r
+T 6E 13 00 00\r
 R 00 00 01 00\r
-T 05 13 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED\r
+T 6E 13 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED\r
 R 00 00 01 00\r
-T 10 13 00 00 42 20 0B\r
+T 79 13 00 00 42 20 0B\r
 R 00 00 01 00\r
-T 13 13 00 00\r
+T 7C 13 00 00\r
 R 00 00 01 00\r
-T 13 13 00 00 DD 6E 0A DD 66 0B E5 CD\r
+T 7C 13 00 00 DD 6E 0A DD 66 0B E5 CD\r
 R 00 00 01 00\r
-T 1B 13 00 00 41 10 00 00 E1\r
+T 84 13 00 00 DE 10 00 00 E1\r
 R 00 00 01 00 00 04 01 00\r
-T 1E 13 00 00\r
+T 87 13 00 00\r
 R 00 00 01 00\r
-T 1E 13 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T 23 13 00 00\r
+T 87 13 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T 8C 13 00 00\r
 R 00 00 01 00\r
-T 23 13 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00\r
+T 8C 13 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00\r
 R 00 00 01 00\r
-T 2E 13 00 00 39 AF 77 23 77 2B 2B 2B 77 23 77\r
+T 97 13 00 00 39 AF 77 23 77 2B 2B 2B 77 23 77\r
 R 00 00 01 00\r
-T 39 13 00 00 21 0A 00 ED 4B 00 00 00 00 09 7E\r
+T A2 13 00 00 21 12 00 ED 4B 00 00 00 00 09 7E\r
 R 00 00 01 00 00 09 04 00\r
-T 42 13 00 00 23 66 6F 46 23 66 68 E5 21 0E 00\r
+T AB 13 00 00 23 66 6F 46 23 66 68 E5 21 0E 00\r
 R 00 00 01 00\r
-T 4D 13 00 00 19 4E 23 46 E1 A7 ED 42 28 03\r
+T B6 13 00 00 19 4E 23 46 E1 A7 ED 42 28 03\r
 R 00 00 01 00\r
-T 57 13 00 00\r
+T C0 13 00 00\r
 R 00 00 01 00\r
-T 57 13 00 00 CD 1E 0F 00 00\r
+T C0 13 00 00 CD 67 0F 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T 5A 13 00 00\r
+T C3 13 00 00\r
 R 00 00 01 00\r
-T 5A 13 00 00 DD CB 0A 46 CA 0C 14 00 00\r
+T C3 13 00 00 DD CB 0A 46 CA 75 14 00 00\r
 R 00 00 01 00 00 09 01 00\r
-T 61 13 00 00\r
+T CA 13 00 00\r
 R 00 00 01 00\r
-T 61 13 00 00 21 00 00 39 E5 CD 85 0D 00 00 E1\r
+T CA 13 00 00 21 00 00 39 E5 CD 1F 0E 00 00 E1\r
 R 00 00 01 00 00 0A 01 00\r
-T 6A 13 00 00 21 00 00 39 CD 0E 12 00 00 CD\r
+T D3 13 00 00 21 00 00 39 CD AB 0F 00 00 CD\r
 R 00 00 01 00 00 09 01 00\r
-T 72 13 00 00 00 00 00 00 DD CB 0A 4E 28 36 DD\r
-R 00 00 01 00 02 04 0C 00\r
-T 7B 13 00 00 CB 0A 56 28 30\r
+T DB 13 00 00 00 00 00 00 DD CB 0A 4E 28 36 DD\r
+R 00 00 01 00 02 04 0B 00\r
+T E4 13 00 00 CB 0A 56 28 30\r
 R 00 00 01 00\r
-T 80 13 00 00\r
+T E9 13 00 00\r
 R 00 00 01 00\r
-T 80 13 00 00\r
+T E9 13 00 00\r
 R 00 00 01 00\r
-T 80 13 00 00\r
+T E9 13 00 00\r
 R 00 00 01 00\r
-T 80 13 00 00 DD 4E 08 DD 46 09 DD 5E 06 DD 56\r
+T E9 13 00 00 DD 4E 08 DD 46 09 DD 5E 06 DD 56\r
 R 00 00 01 00\r
-T 8B 13 00 00 07 3E AF 01 00 00 21 AF 01 00 00\r
+T F4 13 00 00 07 3E 5A 02 00 00 21 5A 02 00 00\r
 R 00 00 01 00 29 06 01 00 00 0B 01 00\r
-T 91 13 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09\r
-R 00 00 01 00 02 05 0C 00\r
-T 9A 13 00 00 E5 DD 6E 06 DD 66 07 E5 21 04 00\r
+T FA 13 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09\r
+R 00 00 01 00 02 05 0B 00\r
+T 03 14 00 00 E5 DD 6E 06 DD 66 07 E5 21 04 00\r
 R 00 00 01 00\r
-T A5 13 00 00 39 4E 23 46 C5 23 4E 23 46 18 34\r
+T 0E 14 00 00 39 4E 23 46 C5 23 4E 23 46 18 34\r
 R 00 00 01 00\r
-T B0 13 00 00\r
+T 19 14 00 00\r
 R 00 00 01 00\r
-T B0 13 00 00 DD 4E 08 DD 46 09 DD 5E 06 DD 56\r
+T 19 14 00 00 DD 4E 08 DD 46 09 DD 5E 06 DD 56\r
 R 00 00 01 00\r
-T BB 13 00 00 07 3E 25 01 00 00 21 25 01 00 00\r
+T 24 14 00 00 07 3E D9 01 00 00 21 D9 01 00 00\r
 R 00 00 01 00 29 06 01 00 00 0B 01 00\r
-T C1 13 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09\r
-R 00 00 01 00 02 05 0C 00\r
-T CA 13 00 00 E5 DD 6E 06 DD 66 07 E5 21 04 00\r
+T 2A 14 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09\r
+R 00 00 01 00 02 05 0B 00\r
+T 33 14 00 00 E5 DD 6E 06 DD 66 07 E5 21 04 00\r
 R 00 00 01 00\r
-T D5 13 00 00 39 4E 23 46 C5 23 4E 23 46 DD CB\r
+T 3E 14 00 00 39 4E 23 46 C5 23 4E 23 46 DD CB\r
 R 00 00 01 00\r
-T E0 13 00 00 0A 4E 28 07\r
+T 49 14 00 00 0A 4E 28 07\r
 R 00 00 01 00\r
-T E4 13 00 00\r
+T 4D 14 00 00\r
 R 00 00 01 00\r
-T E4 13 00 00 DD 5E 10 16 00 18 03\r
+T 4D 14 00 00 DD 5E 10 16 00 18 03\r
 R 00 00 01 00\r
-T EB 13 00 00\r
+T 54 14 00 00\r
 R 00 00 01 00\r
-T EB 13 00 00 11 00 00\r
+T 54 14 00 00 11 00 00\r
 R 00 00 01 00\r
-T EE 13 00 00\r
+T 57 14 00 00\r
 R 00 00 01 00\r
-T EE 13 00 00 CD F2 02 00 00 E1 E1 E1\r
+T 57 14 00 00 CD 8D 03 00 00 E1 E1 E1\r
 R 00 00 01 00 00 05 01 00\r
-T F4 13 00 00\r
+T 5D 14 00 00\r
 R 00 00 01 00\r
-T F4 13 00 00 21 00 00 39 4E 23 46 C5 23 4E 23\r
+T 5D 14 00 00 21 00 00 39 4E 23 46 C5 23 4E 23\r
 R 00 00 01 00\r
-T FF 13 00 00 46 DD E5 D1 3E 7A 10 00 00 21\r
+T 68 14 00 00 46 DD E5 D1 3E 17 11 00 00 21\r
 R 00 00 01 00 29 09 01 00\r
-T 06 14 00 00 7A 10 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 0C 14 00 00\r
+T 6F 14 00 00 17 11 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 75 14 00 00\r
 R 00 00 01 00\r
-T 0C 14 00 00 C3 06 12 00 00\r
+T 75 14 00 00 C3 5F 0F 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T 0F 14 00 00\r
+T 78 14 00 00\r
 R 00 00 01 00\r
-T 0F 14 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T 18 14 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
+T 78 14 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T 81 14 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
 R 00 00 01 00\r
-T 23 14 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1\r
-R 00 00 01 00 00 06 01 00\r
-T 2C 14 00 00 01 0A 00 09 7E F6 07 77 DD 46 0E\r
+T 8C 14 00 00 E5 DD 5E 02 DD 56 03 3E\r
 R 00 00 01 00\r
-T 37 14 00 00 FD 70 10 FD 36 17 87 12 00 00 FD\r
-R 00 00 01 00 09 0A 01 00\r
-T 3F 14 00 00 36 18 87 12 00 00 FD 36 19\r
-R 00 00 01 00 89 06 01 00\r
-T 45 14 00 00 87 12 00 00 FD 36 1A 23 13 00 00\r
+T 94 14 00 00 3E 06 00 00 21 3E 06 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 99 14 00 00 00 00 00 00 F1 F1 E5 FD E1 01\r
+R 00 00 01 00 02 04 0B 00\r
+T A1 14 00 00 0A 00 09 7E F6 07 77 DD 46 0E FD\r
+R 00 00 01 00\r
+T AC 14 00 00 70 10 FD 36 17 F0 12 00 00 FD 36\r
+R 00 00 01 00 09 09 01 00\r
+T B4 14 00 00 18 F0 12 00 00 FD 36 19\r
+R 00 00 01 00 89 05 01 00\r
+T B9 14 00 00 F0 12 00 00 FD 36 1A 8C 13 00 00\r
 R 00 00 01 00 29 04 01 00 09 0B 01 00\r
-T 4A 14 00 00 FD 36 1B 23 13 00 00 FD 36 1C\r
+T BE 14 00 00 FD 36 1B 8C 13 00 00 FD 36 1C\r
 R 00 00 01 00 89 07 01 00\r
-T 51 14 00 00 23 13 00 00 FD 36 1D 2F 12 00 00\r
+T C5 14 00 00 8C 13 00 00 FD 36 1D 8D 12 00 00\r
 R 00 00 01 00 29 04 01 00 09 0B 01 00\r
-T 56 14 00 00 FD 36 1E 2F 12 00 00 FD 36 1F\r
+T CA 14 00 00 FD 36 1E 8D 12 00 00 FD 36 1F\r
 R 00 00 01 00 89 07 01 00\r
-T 5D 14 00 00 2F 12 00 00 C3 51 06 00 00\r
+T D1 14 00 00 8D 12 00 00 C3 E0 06 00 00\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 61 14 00 00\r
+T D5 14 00 00\r
 R 00 00 01 00\r
-T 61 14 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD\r
-R 00 00 01 00 02 05 0B 00\r
-T 6A 14 00 00 6E 0A DD 66 0B E5 3E D2 0A 00 00\r
+T D5 14 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD\r
+R 00 00 01 00 02 05 0A 00\r
+T DE 14 00 00 6E 0A DD 66 0B E5 3E 61 0B 00 00\r
 R 00 00 01 00 29 0B 01 00\r
-T 72 14 00 00 21 D2 0A 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T 79 14 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED\r
+T E6 14 00 00 21 61 0B 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T ED 14 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED\r
 R 00 00 01 00\r
-T 84 14 00 00 42 20 40 3E FF DD AE 0A DD B6 0B\r
+T F8 14 00 00 42 20 40 3E FF DD AE 0A DD B6 0B\r
 R 00 00 01 00\r
-T 8F 14 00 00 20 36\r
+T 03 15 00 00 20 36\r
 R 00 00 01 00\r
-T 91 14 00 00\r
+T 05 15 00 00\r
 R 00 00 01 00\r
-T 91 14 00 00\r
+T 05 15 00 00\r
 R 00 00 01 00\r
-T 91 14 00 00\r
+T 05 15 00 00\r
 R 00 00 01 00\r
-T 91 14 00 00 FD CB 0B 66 E5 28 05\r
+T 05 15 00 00 FD CB 0B 66 E5 28 05\r
 R 00 00 01 00\r
-T 98 14 00 00\r
+T 0C 15 00 00\r
 R 00 00 01 00\r
-T 98 14 00 00 01 05 01 18 03\r
+T 0C 15 00 00 01 05 01 18 03\r
 R 00 00 01 00\r
-T 9D 14 00 00\r
+T 11 15 00 00\r
 R 00 00 01 00\r
-T 9D 14 00 00 01 02 01\r
+T 11 15 00 00 01 02 01\r
 R 00 00 01 00\r
-T A0 14 00 00\r
+T 14 15 00 00\r
 R 00 00 01 00\r
-T A0 14 00 00 CD 76 0D 00 00 E1\r
+T 14 15 00 00 CD 10 0E 00 00 E1\r
 R 00 00 01 00 00 05 01 00\r
-T A4 14 00 00\r
+T 18 15 00 00\r
 R 00 00 01 00\r
-T A4 14 00 00 FD 4E 10 06 00 C5 FD 5E 11 FD 56\r
+T 18 15 00 00 FD 4E 10 06 00 C5 FD 5E 11 FD 56\r
 R 00 00 01 00\r
-T AF 14 00 00 12 FD 6E 11 FD 66 12 0E 17 09 4E\r
+T 23 15 00 00 12 FD 6E 11 FD 66 12 0E 17 09 4E\r
 R 00 00 01 00\r
-T BA 14 00 00 23 46 23 7E 69 60 01 01 03 CD\r
+T 2E 15 00 00 23 46 23 7E 69 60 01 01 03 CD\r
 R 00 00 01 00\r
-T C4 14 00 00 00 00 00 00 E1\r
-R 00 00 01 00 02 04 0C 00\r
-T C7 14 00 00\r
+T 38 15 00 00 00 00 00 00 E1\r
+R 00 00 01 00 02 04 0B 00\r
+T 3B 15 00 00\r
 R 00 00 01 00\r
-T C7 14 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED\r
+T 3B 15 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED\r
 R 00 00 01 00\r
-T D2 14 00 00 42 20 40 3E FE DD AE 0A DD B6 0B\r
+T 46 15 00 00 42 20 40 3E FE DD AE 0A DD B6 0B\r
 R 00 00 01 00\r
-T DD 14 00 00 20 36\r
+T 51 15 00 00 20 36\r
 R 00 00 01 00\r
-T DF 14 00 00\r
+T 53 15 00 00\r
 R 00 00 01 00\r
-T DF 14 00 00\r
+T 53 15 00 00\r
 R 00 00 01 00\r
-T DF 14 00 00\r
+T 53 15 00 00\r
 R 00 00 01 00\r
-T DF 14 00 00 FD CB 0B 66 E5 28 05\r
+T 53 15 00 00 FD CB 0B 66 E5 28 05\r
 R 00 00 01 00\r
-T E6 14 00 00\r
+T 5A 15 00 00\r
 R 00 00 01 00\r
-T E6 14 00 00 01 05 01 18 03\r
+T 5A 15 00 00 01 05 01 18 03\r
 R 00 00 01 00\r
-T EB 14 00 00\r
+T 5F 15 00 00\r
 R 00 00 01 00\r
-T EB 14 00 00 01 02 01\r
+T 5F 15 00 00 01 02 01\r
 R 00 00 01 00\r
-T EE 14 00 00\r
+T 62 15 00 00\r
 R 00 00 01 00\r
-T EE 14 00 00 CD 76 0D 00 00 E1\r
+T 62 15 00 00 CD 10 0E 00 00 E1\r
 R 00 00 01 00 00 05 01 00\r
-T F2 14 00 00\r
+T 66 15 00 00\r
 R 00 00 01 00\r
-T F2 14 00 00 FD 4E 10 06 00 C5 FD 5E 11 FD 56\r
+T 66 15 00 00 FD 4E 10 06 00 C5 FD 5E 11 FD 56\r
 R 00 00 01 00\r
-T FD 14 00 00 12 FD 6E 11 FD 66 12 0E 17 09 4E\r
+T 71 15 00 00 12 FD 6E 11 FD 66 12 0E 17 09 4E\r
 R 00 00 01 00\r
-T 08 15 00 00 23 46 23 7E 69 60 01 02 03 CD\r
+T 7C 15 00 00 23 46 23 7E 69 60 01 02 03 CD\r
 R 00 00 01 00\r
-T 12 15 00 00 00 00 00 00 E1\r
-R 00 00 01 00 02 04 0C 00\r
-T 15 15 00 00\r
+T 86 15 00 00 00 00 00 00 E1\r
+R 00 00 01 00 02 04 0B 00\r
+T 89 15 00 00\r
 R 00 00 01 00\r
-T 15 15 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T 1A 15 00 00\r
+T 89 15 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T 8E 15 00 00\r
 R 00 00 01 00\r
-T 1A 15 00 00 CD 00 00 00 00 FE FF FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T 23 15 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
+T 8E 15 00 00 CD 00 00 00 00 FE FF FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T 97 15 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
 R 00 00 01 00\r
-T 2E 15 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1\r
-R 00 00 01 00 00 06 01 00\r
-T 37 15 00 00 01 0A 00 09 CB C6 DD 46 0E FD 70\r
+T A2 15 00 00 E5 DD 5E 02 DD 56 03 3E\r
 R 00 00 01 00\r
-T 42 15 00 00 10 FD 36 17 61 14 00 00 FD 36 18\r
-R 00 00 01 00 09 08 01 00\r
-T 4A 15 00 00 61 14 00 00 FD 36 19 61 14 00 00\r
+T AA 15 00 00 3E 06 00 00 21 3E 06 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T AF 15 00 00 00 00 00 00 F1 F1 E5 FD E1 01\r
+R 00 00 01 00 02 04 0B 00\r
+T B7 15 00 00 0A 00 09 CB C6 DD 46 0E FD 70 10\r
+R 00 00 01 00\r
+T C2 15 00 00 FD 36 17 D5 14 00 00 FD 36 18\r
+R 00 00 01 00 09 07 01 00\r
+T C9 15 00 00 D5 14 00 00 FD 36 19 D5 14 00 00\r
 R 00 00 01 00 89 04 01 00 29 0B 01 00\r
-T 4F 15 00 00 FD 36 1A 9F 0D 00 00 FD 36 1B\r
+T CE 15 00 00 FD 36 1A 2E 0E 00 00 FD 36 1B\r
 R 00 00 01 00 09 07 01 00\r
-T 56 15 00 00 9F 0D 00 00 FD 36 1C 9F 0D 00 00\r
+T D5 15 00 00 2E 0E 00 00 FD 36 1C 2E 0E 00 00\r
 R 00 00 01 00 89 04 01 00 29 0B 01 00\r
-T 5B 15 00 00 FD 36 1D 63 0F 00 00 FD 36 1E\r
+T DA 15 00 00 FD 36 1D 03 10 00 00 FD 36 1E\r
 R 00 00 01 00 09 07 01 00\r
-T 62 15 00 00 63 0F 00 00 FD 36 1F 63 0F 00 00\r
+T E1 15 00 00 03 10 00 00 FD 36 1F 03 10 00 00\r
 R 00 00 01 00 89 04 01 00 29 0B 01 00\r
-T 67 15 00 00 21 FF 00 E5 2E 14 E5 2E 28 E5 21\r
+T E6 15 00 00 21 FF 00 E5 2E 14 E5 2E 28 E5 21\r
 R 00 00 01 00\r
-T 72 15 00 00 E4 FF CD CC 15 00 00 F1 F1 F1 DD\r
-R 00 00 01 00 00 07 01 00\r
-T 7B 15 00 00 75 FE DD 74 FF 01 20 00 09 E5 11\r
+T F1 15 00 00 E4 FF DD 4E 0C DD 46 0D 09 4D 44\r
 R 00 00 01 00\r
-T 86 15 00 00 03 00 CD 28 04 00 00 E1 71 23 70\r
-R 00 00 01 00 00 07 01 00\r
-T 8F 15 00 00 01 0A 00 00 00 CD E8 15 00 00 CD\r
-R 00 00 01 00 00 05 02 00 00 0A 01 00\r
-T 96 15 00 00 00 00 00 00 21 FE 00 E5 2E 14 E5\r
-R 00 00 01 00 02 04 0C 00\r
-T 9F 15 00 00 2E 28 E5 21 C8 FF CD CC 15 00 00\r
-R 00 00 01 00 00 0B 01 00\r
-T A8 15 00 00 F1 F1 F1 DD 75 FE DD 74 FF 01\r
+T FC 15 00 00 21 D0 FF DD 5E 0A DD 56 0B 19 EB\r
 R 00 00 01 00\r
-T B2 15 00 00 20 00 09 E5 11 07 00 CD\r
+T 07 16 00 00 3E 93 12 00 00 21 93 12 00 00 CD\r
+R 00 00 01 00 29 05 01 00 00 0A 01 00\r
+T 0D 16 00 00 00 00 00 00 F1 F1 F1 DD 75 FE DD\r
+R 00 00 01 00 02 04 0B 00\r
+T 16 16 00 00 74 FF 01 20 00 09 E5 11 03 00 CD\r
 R 00 00 01 00\r
-T BA 15 00 00 28 04 00 00 E1 71 23 70 01\r
+T 21 16 00 00 B7 04 00 00 E1 71 23 70 01\r
 R 00 00 01 00 00 04 01 00\r
-T C1 15 00 00 0D 00 00 00 CD E8 15 00 00 CD\r
+T 28 16 00 00 20 00 00 00 CD 7D 16 00 00 CD\r
 R 00 00 01 00 00 04 02 00 00 09 01 00\r
-T C7 15 00 00 00 00 00 00 C3 51 06 00 00\r
-R 00 00 01 00 02 04 0C 00 00 09 01 00\r
-T CC 15 00 00\r
-R 00 00 01 00\r
-T CC 15 00 00 DD 4E 0C DD 46 0D 09 4D 44 21\r
+T 2E 16 00 00 00 00 00 00 21 FE 00 E5 2E 14 E5\r
+R 00 00 01 00 02 04 0B 00\r
+T 37 16 00 00 2E 28 E5 21 C8 FF DD 4E 0C DD 46\r
 R 00 00 01 00\r
-T D6 15 00 00 D0 FF DD 5E 0A DD 56 0B 19 EB\r
+T 42 16 00 00 0D 09 4D 44 21 D0 FF DD 5E 0A DD\r
 R 00 00 01 00\r
-T E0 15 00 00\r
+T 4D 16 00 00 56 0B 19 EB 3E 93 12 00 00 21\r
+R 00 00 01 00 29 09 01 00\r
+T 54 16 00 00 93 12 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 5B 16 00 00 F1 DD 75 FE DD 74 FF 01 20 00 09\r
 R 00 00 01 00\r
-T E0 15 00 00 3E 35 12 00 00 21 35 12 00 00 C3\r
-R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T E6 15 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T E8 15 00 00\r
+T 66 16 00 00 E5 11 07 00 CD B7 04 00 00 E1 71\r
+R 00 00 01 00 00 09 01 00\r
+T 6F 16 00 00 23 70 01 23 00 00 00 CD\r
+R 00 00 01 00 00 07 02 00\r
+T 75 16 00 00 7D 16 00 00 CD 00 00 00 00 C3\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 7B 16 00 00 E0 06 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 7D 16 00 00\r
 R 00 00 01 00\r
-T E8 15 00 00 DD 5E FE DD 56 FF 3E 59 06 00 00\r
+T 7D 16 00 00 DD 5E FE DD 56 FF 3E E8 06 00 00\r
 R 00 00 01 00 29 0B 01 00\r
-T F0 15 00 00 21 59 06 00 00 CD 00 00 00 00 DD\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T F7 15 00 00 4E FE DD 46 FF FD E5 D1 FD 7E 1F\r
+T 85 16 00 00 21 E8 06 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T 8C 16 00 00 4E FE DD 46 FF FD E5 D1 FD 7E 1F\r
 R 00 00 01 00\r
-T 02 16 00 00 FD 6E 1D FD 66 1E C9\r
+T 97 16 00 00 FD 6E 1D FD 66 1E C9\r
 R 00 00 01 00\r
-T 09 16 00 00\r
+T 9E 16 00 00\r
 R 00 00 01 00\r
-T 09 16 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD\r
-R 00 00 01 00 02 05 0B 00\r
-T 12 16 00 00 6E 0A DD 66 0B E5 3E C3 0F 00 00\r
+T 9E 16 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD\r
+R 00 00 01 00 02 05 0A 00\r
+T A7 16 00 00 6E 0A DD 66 0B E5 3E 60 10 00 00\r
 R 00 00 01 00 29 0B 01 00\r
-T 1A 16 00 00 21 C3 0F 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T 21 16 00 00 21 03 02 DD 4E 04 DD 46 05 A7 ED\r
+T AF 16 00 00 21 60 10 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T B6 16 00 00 21 03 02 DD 4E 04 DD 46 05 A7 ED\r
 R 00 00 01 00\r
-T 2C 16 00 00 42 20 40 FD CB 0A 5E 28 3A\r
+T C1 16 00 00 42 20 40 FD CB 0A 5E 28 3A\r
 R 00 00 01 00\r
-T 35 16 00 00\r
+T CA 16 00 00\r
 R 00 00 01 00\r
-T 35 16 00 00\r
+T CA 16 00 00\r
 R 00 00 01 00\r
-T 35 16 00 00\r
+T CA 16 00 00\r
 R 00 00 01 00\r
-T 35 16 00 00 3E 08 DD AE 0A DD B6 0B FD 5E 20\r
+T CA 16 00 00 3E 08 DD AE 0A DD B6 0B FD 5E 20\r
 R 00 00 01 00\r
-T 40 16 00 00 FD 56 21 3E 00 00 00 00 21\r
-R 00 00 01 00 2B 08 07 00\r
-T 46 16 00 00 00 00 00 00 20 0D\r
-R 00 00 01 00 02 04 07 00\r
-T 4A 16 00 00\r
+T D5 16 00 00 FD 56 21 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 08 06 00\r
+T DB 16 00 00 00 00 00 00 20 0D\r
+R 00 00 01 00 02 04 06 00\r
+T DF 16 00 00\r
 R 00 00 01 00\r
-T 4A 16 00 00 CD 22 04 00 00 28 15\r
+T DF 16 00 00 CD B1 04 00 00 28 15\r
 R 00 00 01 00 00 05 01 00\r
-T 4F 16 00 00\r
+T E4 16 00 00\r
 R 00 00 01 00\r
-T 4F 16 00 00 CD 74 16 00 00 2B 36 00\r
+T E4 16 00 00 CD 09 17 00 00 2B 36 00\r
 R 00 00 01 00 00 05 01 00\r
-T 55 16 00 00\r
+T EA 16 00 00\r
 R 00 00 01 00\r
-T 55 16 00 00 18 0D\r
+T EA 16 00 00 18 0D\r
 R 00 00 01 00\r
-T 57 16 00 00\r
+T EC 16 00 00\r
 R 00 00 01 00\r
-T 57 16 00 00 CD 7F 16 00 00 23 36 00 CD\r
+T EC 16 00 00 CD 14 17 00 00 23 36 00 CD\r
 R 00 00 01 00 00 05 01 00\r
-T 5E 16 00 00 74 16 00 00 DD 46 0A 70\r
+T F3 16 00 00 09 17 00 00 DD 46 0A 70\r
 R 00 00 01 00 00 04 01 00\r
-T 64 16 00 00\r
+T F9 16 00 00\r
 R 00 00 01 00\r
-T 64 16 00 00 21 00 00 E5 01 03 01 CD\r
+T F9 16 00 00 21 00 00 E5 01 03 01 CD\r
 R 00 00 01 00\r
-T 6C 16 00 00 76 0D 00 00 E1\r
+T 01 17 00 00 10 0E 00 00 E1\r
 R 00 00 01 00 00 04 01 00\r
-T 6F 16 00 00\r
+T 04 17 00 00\r
 R 00 00 01 00\r
-T 6F 16 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T 74 16 00 00\r
+T 04 17 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T 09 17 00 00\r
 R 00 00 01 00\r
-T 74 16 00 00 FD 5E 20 FD 56 21 3E 00 00 00 00\r
-R 00 00 01 00 2B 0B 07 00\r
-T 7C 16 00 00 21 00 00 00 00\r
-R 00 00 01 00 02 05 07 00\r
-T 7F 16 00 00\r
+T 09 17 00 00 FD 5E 20 FD 56 21 3E 00 00 00 00\r
+R 00 00 01 00 2B 0B 06 00\r
+T 11 17 00 00 21 00 00 00 00\r
+R 00 00 01 00 02 05 06 00\r
+T 14 17 00 00\r
 R 00 00 01 00\r
-T 7F 16 00 00 CD 00 00 00 00 FD 4E 20 FD 46 21\r
-R 00 00 01 00 02 05 0C 00\r
-T 88 16 00 00 09 C9\r
+T 14 17 00 00 CD 00 00 00 00 FD 4E 20 FD 46 21\r
+R 00 00 01 00 02 05 0B 00\r
+T 1D 17 00 00 09 C9\r
 R 00 00 01 00\r
-T 8A 16 00 00\r
+T 1F 17 00 00\r
 R 00 00 01 00\r
-T 8A 16 00 00 C5 FD E5 DD E5 21 B8 FF 39 F9 D5\r
+T 1F 17 00 00 C5 FD E5 DD E5 21 B8 FF 39 F9 D5\r
 R 00 00 01 00\r
-T 95 16 00 00 DD E1 AF 77 23 77 23 77 23 77 21\r
+T 2A 17 00 00 DD E1 AF 77 23 77 23 77 23 77 21\r
 R 00 00 01 00\r
-T A0 16 00 00 0A 00 ED 4B 00 00 00 00 09 7E 23\r
+T 35 17 00 00 12 00 ED 4B 00 00 00 00 09 7E 23\r
 R 00 00 01 00 00 08 04 00\r
-T A9 16 00 00 66 6F 46 23 66 68 E5 21 0E 00 19\r
+T 3E 17 00 00 66 6F 46 23 66 68 E5 21 0E 00 19\r
 R 00 00 01 00\r
-T B4 16 00 00 4E 23 46 E1 A7 ED 42 28 03\r
+T 49 17 00 00 4E 23 46 E1 A7 ED 42 28 03\r
 R 00 00 01 00\r
-T BD 16 00 00\r
+T 52 17 00 00\r
 R 00 00 01 00\r
-T BD 16 00 00 CD 1E 0F 00 00\r
+T 52 17 00 00 CD 67 0F 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T C0 16 00 00\r
+T 55 17 00 00\r
 R 00 00 01 00\r
-T C0 16 00 00 DD CB 0A 46 CA CE 17 00 00\r
+T 55 17 00 00 DD CB 0A 46 CA 3B 18 00 00\r
 R 00 00 01 00 00 09 01 00\r
-T C7 16 00 00\r
+T 5C 17 00 00\r
 R 00 00 01 00\r
-T C7 16 00 00 21 02 00 39 E5 2B 2B CD\r
+T 5C 17 00 00 21 02 00 39 E5 2B 2B CD\r
 R 00 00 01 00\r
-T CF 16 00 00 87 0D 00 00 E1 21 02 00 39 4E 23\r
+T 64 17 00 00 21 0E 00 00 E1 21 02 00 39 4E 23\r
 R 00 00 01 00 00 04 01 00\r
-T D8 16 00 00 46 2B 2B 2B CD 12 12 00 00 CD\r
+T 6D 17 00 00 46 2B 2B 2B CD AF 0F 00 00 CD\r
 R 00 00 01 00 00 09 01 00\r
-T E0 16 00 00 00 00 00 00 DD 6E 08 DD 66 09 E5\r
-R 00 00 01 00 02 04 0C 00\r
-T E9 16 00 00 DD 6E 06 DD 66 07 E5 21 06 00 39\r
+T 75 17 00 00 00 00 00 00 DD 6E 08 DD 66 09 E5\r
+R 00 00 01 00 02 04 0B 00\r
+T 7E 17 00 00 DD 6E 06 DD 66 07 E5 21 06 00 39\r
 R 00 00 01 00\r
-T F4 16 00 00 4E 23 46 C5 2B 2B 2B 4E 23 46 DD\r
+T 89 17 00 00 4E 23 46 C5 2B 2B 2B 4E 23 46 DD\r
 R 00 00 01 00\r
-T FF 16 00 00 CB 0A 4E 28 07 DD 5E 10 16 00 18\r
+T 94 17 00 00 CB 0A 4E 28 07 DD 5E 10 16 00 18\r
 R 00 00 01 00\r
-T 0A 17 00 00 03\r
+T 9F 17 00 00 03\r
 R 00 00 01 00\r
-T 0B 17 00 00\r
+T A0 17 00 00\r
 R 00 00 01 00\r
-T 0B 17 00 00 11 00 00\r
+T A0 17 00 00 11 00 00\r
 R 00 00 01 00\r
-T 0E 17 00 00\r
+T A3 17 00 00\r
 R 00 00 01 00\r
-T 0E 17 00 00 CD F2 02 00 00 E1 E1 E1 DD CB 0A\r
+T A3 17 00 00 CD 8D 03 00 00 E1 E1 E1 DD CB 0A\r
 R 00 00 01 00 00 05 01 00\r
-T 17 17 00 00 7E DD 4E 08 DD 46 09 DD 5E 06 DD\r
+T AC 17 00 00 7E DD 4E 08 DD 46 09 DD 5E 06 DD\r
 R 00 00 01 00\r
-T 22 17 00 00 56 07 20 07\r
+T B7 17 00 00 56 07 20 07\r
 R 00 00 01 00\r
-T 26 17 00 00\r
+T BB 17 00 00\r
 R 00 00 01 00\r
-T 26 17 00 00 3E AF 01 00 00 21 AF 01 00 00 18\r
+T BB 17 00 00 3E 5A 02 00 00 21 5A 02 00 00 18\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 2C 17 00 00 05\r
+T C1 17 00 00 05\r
 R 00 00 01 00\r
-T 2D 17 00 00\r
+T C2 17 00 00\r
 R 00 00 01 00\r
-T 2D 17 00 00 3E 25 01 00 00 21 25 01 00 00\r
+T C2 17 00 00 3E D9 01 00 00 21 D9 01 00 00\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 32 17 00 00\r
-R 00 00 01 00\r
-T 32 17 00 00 CD 00 00 00 00\r
-R 00 00 01 00 02 05 0C 00\r
-T 35 17 00 00\r
+T C7 17 00 00\r
 R 00 00 01 00\r
-T 35 17 00 00 DD 5E 20 DD 56 21 21 0A 00 ED 4B\r
-R 00 00 01 00\r
-T 40 17 00 00 00 00 00 00 09 46 23 66 68 01\r
-R 00 00 01 00 00 04 04 00\r
-T 48 17 00 00 05 00 09 4E 23 46 23 7E 69 60 CD\r
+T C7 17 00 00 CD 95 0F 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T CA 17 00 00\r
 R 00 00 01 00\r
-T 53 17 00 00 2D 04 00 00 DD 6E 08 DD 66 09 A7\r
-R 00 00 01 00 00 04 01 00\r
-T 5C 17 00 00 ED 42 EB 01 02 00 CD 00 00 00 00\r
-R 00 00 01 00 02 0B 12 00\r
-T 65 17 00 00 69 60 39 46 23 66 68 19 01 07 00\r
+T CA 17 00 00 CD 87 0F 00 00 DD 4E 08 DD 46 09\r
+R 00 00 01 00 00 05 01 00\r
+T D3 17 00 00 09 EB 01 02 00 CD 00 00 00 00 69\r
+R 00 00 01 00 02 0A 11 00\r
+T DC 17 00 00 60 39 46 23 66 68 19 4D 44 21\r
 R 00 00 01 00\r
-T 70 17 00 00 09 4D 44 21 00 00 39 5E 23 56 13\r
+T E6 17 00 00 00 00 39 5E 23 56 13 13 3E\r
 R 00 00 01 00\r
-T 7B 17 00 00 13 3E A3 00 00 00 21 A3 00 00 00\r
-R 00 00 01 00 29 06 01 00 00 0B 01 00\r
-T 81 17 00 00 CD 00 00 00 00 DD CB 0B 46 28 36\r
-R 00 00 01 00 02 05 0C 00\r
-T 8A 17 00 00\r
+T EF 17 00 00 5E 01 00 00 21 5E 01 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T F4 17 00 00 00 00 00 00 DD CB 0B 46 28 36\r
+R 00 00 01 00 02 04 0B 00\r
+T FC 17 00 00\r
 R 00 00 01 00\r
-T 8A 17 00 00 FD 21 00 00\r
+T FC 17 00 00 FD 21 00 00\r
 R 00 00 01 00\r
-T 8E 17 00 00\r
+T 00 18 00 00\r
 R 00 00 01 00\r
-T 8E 17 00 00 DD 5E 20 DD 56 21 3E 00 00 00 00\r
-R 00 00 01 00 2B 0B 07 00\r
-T 96 17 00 00 21 00 00 00 00 CD 2D 04 00 00 FD\r
-R 00 00 01 00 02 05 07 00 00 0A 01 00\r
-T 9D 17 00 00 E5 E1 A7 ED 42 21 06 00 30 0B\r
+T 00 18 00 00 DD 5E 20 DD 56 21 3E 00 00 00 00\r
+R 00 00 01 00 2B 0B 06 00\r
+T 08 18 00 00 21 00 00 00 00 CD BC 04 00 00 FD\r
+R 00 00 01 00 02 05 06 00 00 0A 01 00\r
+T 0F 18 00 00 E5 E1 A7 ED 42 21 06 00 30 0B\r
 R 00 00 01 00\r
-T A7 17 00 00\r
+T 19 18 00 00\r
 R 00 00 01 00\r
-T A7 17 00 00 39 FD E5 C1 09 36 2A FD 23 18 DC\r
+T 19 18 00 00 39 FD E5 C1 09 36 2A FD 23 18 DC\r
 R 00 00 01 00\r
-T B2 17 00 00\r
+T 24 18 00 00\r
 R 00 00 01 00\r
-T B2 17 00 00 39 FD E5 C1 09 36 00 21 06 00 39\r
+T 24 18 00 00 39 FD E5 C1 09 36 00 21 06 00 39\r
 R 00 00 01 00\r
-T BD 17 00 00 EB 18 06\r
+T 2F 18 00 00 EB 18 06\r
 R 00 00 01 00\r
-T C0 17 00 00\r
+T 32 18 00 00\r
 R 00 00 01 00\r
-T C0 17 00 00 DD 5E 20 DD 56 21\r
+T 32 18 00 00 DD 5E 20 DD 56 21\r
 R 00 00 01 00\r
-T C6 17 00 00\r
+T 38 18 00 00\r
 R 00 00 01 00\r
-T C6 17 00 00 3E 39 02 00 00 21 39 02 00 00 CD\r
-R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T CC 17 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T CE 17 00 00\r
+T 38 18 00 00 CD 31 01 00 00\r
+R 00 00 01 00 00 05 01 00\r
+T 3B 18 00 00\r
 R 00 00 01 00\r
-T CE 17 00 00\r
+T 3B 18 00 00\r
 R 00 00 01 00\r
-T CE 17 00 00 21 48 00 39 F9 C3 5E 02 00 00\r
+T 3B 18 00 00 21 48 00 39 F9 C3 F9 02 00 00\r
 R 00 00 01 00 00 0A 01 00\r
-T D6 17 00 00\r
+T 43 18 00 00\r
 R 00 00 01 00\r
-T D6 17 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T DF 17 00 00 0E DD 66 0F E5 DD 6E 0C DD 66 0D\r
+T 43 18 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T 4C 18 00 00 0E DD 66 0F E5 DD 6E 0C DD 66 0D\r
 R 00 00 01 00\r
-T EA 17 00 00 E5 DD 6E 0A DD 66 0B E5 DD 5E 02\r
+T 57 18 00 00 E5 DD 6E 0A DD 66 0B E5 DD 5E 02\r
 R 00 00 01 00\r
-T F5 17 00 00 DD 56 03 CD E0 15 00 00 F1 F1 F1\r
-R 00 00 01 00 00 08 01 00\r
-T FE 17 00 00 E5 FD E1 01 0A 00 09 CB DE 01\r
+T 62 18 00 00 DD 56 03 3E 93 12 00 00 21\r
+R 00 00 01 00 29 08 01 00\r
+T 68 18 00 00 93 12 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 6F 18 00 00 F1 E5 FD E1 01 0A 00 09 CB DE 01\r
 R 00 00 01 00\r
-T 08 18 00 00 14 00 00 00 FD E5 D1 3E\r
+T 7A 18 00 00 2A 00 00 00 FD E5 D1 3E\r
 R 00 00 01 00 00 04 02 00\r
-T 0E 18 00 00 59 06 00 00 21 59 06 00 00 CD\r
+T 80 18 00 00 E8 06 00 00 21 E8 06 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 13 18 00 00 00 00 00 00 FD 36 1A 8A 16 00 00\r
-R 00 00 01 00 02 04 0C 00 09 0B 01 00\r
-T 19 18 00 00 FD 36 1B 8A 16 00 00 FD 36 1C\r
+T 85 18 00 00 00 00 00 00 FD 36 1A 1F 17 00 00\r
+R 00 00 01 00 02 04 0B 00 09 0B 01 00\r
+T 8B 18 00 00 FD 36 1B 1F 17 00 00 FD 36 1C\r
 R 00 00 01 00 89 07 01 00\r
-T 20 18 00 00 8A 16 00 00 FD 36 17 09 16 00 00\r
+T 92 18 00 00 1F 17 00 00 FD 36 17 9E 16 00 00\r
 R 00 00 01 00 29 04 01 00 09 0B 01 00\r
-T 25 18 00 00 FD 36 18 09 16 00 00 FD 36 19\r
+T 97 18 00 00 FD 36 18 9E 16 00 00 FD 36 19\r
 R 00 00 01 00 89 07 01 00\r
-T 2C 18 00 00 09 16 00 00 C3 51 06 00 00\r
+T 9E 18 00 00 9E 16 00 00 C3 E0 06 00 00\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 30 18 00 00\r
+T A2 18 00 00\r
 R 00 00 01 00\r
-T 30 18 00 00 CD 00 00 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 0B 00 02 0A 05 00\r
-T 36 18 00 00\r
+T A2 18 00 00 CD 00 00 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 0A 00 02 0A 04 00\r
+T A8 18 00 00\r
 R 00 00 01 00\r
-T 36 18 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00\r
+T A8 18 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00\r
 R 00 00 01 00\r
-T 41 18 00 00 39 AF 77 23 77 2B 2B 2B 77 23 77\r
+T B3 18 00 00 39 AF 77 23 77 2B 2B 2B 77 23 77\r
 R 00 00 01 00\r
-T 4C 18 00 00 21 0A 00 ED 4B 00 00 00 00 09 7E\r
+T BE 18 00 00 21 12 00 ED 4B 00 00 00 00 09 7E\r
 R 00 00 01 00 00 09 04 00\r
-T 55 18 00 00 23 66 6F 46 23 66 68 E5 21 0E 00\r
+T C7 18 00 00 23 66 6F 46 23 66 68 E5 21 0E 00\r
 R 00 00 01 00\r
-T 60 18 00 00 19 4E 23 46 E1 A7 ED 42 28 03\r
+T D2 18 00 00 19 4E 23 46 E1 A7 ED 42 28 03\r
 R 00 00 01 00\r
-T 6A 18 00 00\r
+T DC 18 00 00\r
 R 00 00 01 00\r
-T 6A 18 00 00 CD 1E 0F 00 00\r
+T DC 18 00 00 CD 67 0F 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T 6D 18 00 00\r
+T DF 18 00 00\r
 R 00 00 01 00\r
-T 6D 18 00 00 DD CB 0A 46 28 21\r
+T DF 18 00 00 DD CB 0A 46 28 21\r
 R 00 00 01 00\r
-T 73 18 00 00\r
+T E5 18 00 00\r
 R 00 00 01 00\r
-T 73 18 00 00 21 00 00 39 E5 CD 85 0D 00 00 E1\r
+T E5 18 00 00 21 00 00 39 E5 CD 1F 0E 00 00 E1\r
 R 00 00 01 00 00 0A 01 00\r
-T 7C 18 00 00 21 00 00 39 4E 23 46 C5 23 4E 23\r
+T EE 18 00 00 21 00 00 39 4E 23 46 C5 23 4E 23\r
 R 00 00 01 00\r
-T 87 18 00 00 46 DD E5 D1 3E 7A 10 00 00 21\r
+T F9 18 00 00 46 DD E5 D1 3E 17 11 00 00 21\r
 R 00 00 01 00 29 09 01 00\r
-T 8E 18 00 00 7A 10 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 94 18 00 00\r
+T 00 19 00 00 17 11 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 06 19 00 00\r
 R 00 00 01 00\r
-T 94 18 00 00 C3 06 12 00 00\r
+T 06 19 00 00 C3 5F 0F 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T 97 18 00 00\r
+T 09 19 00 00\r
 R 00 00 01 00\r
-T 97 18 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T A0 18 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
+T 09 19 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T 12 19 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B\r
 R 00 00 01 00\r
-T AB 18 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1\r
-R 00 00 01 00 00 06 01 00\r
-T B4 18 00 00 01 20 00 09 DD 4E 0E 71 DD 46 0F\r
+T 1D 19 00 00 E5 DD 5E 02 DD 56 03 3E\r
+R 00 00 01 00\r
+T 25 19 00 00 3E 06 00 00 21 3E 06 00 00 CD\r
+R 00 00 01 00 29 04 01 00 00 09 01 00\r
+T 2A 19 00 00 00 00 00 00 F1 F1 E5 FD E1 01\r
+R 00 00 01 00 02 04 0B 00\r
+T 32 19 00 00 20 00 09 DD 4E 0E 71 DD 46 0F 23\r
 R 00 00 01 00\r
-T BF 18 00 00 23 70 FD 36 0A 01 FD 36 0B 00 FD\r
+T 3D 19 00 00 70 FD 36 0A 01 FD 36 0B 00 FD 36\r
 R 00 00 01 00\r
-T CA 18 00 00 36 17 30 18 00 00 FD 36 18\r
-R 00 00 01 00 09 06 01 00\r
-T D0 18 00 00 30 18 00 00 FD 36 19 30 18 00 00\r
+T 48 19 00 00 17 A2 18 00 00 FD 36 18\r
+R 00 00 01 00 09 05 01 00\r
+T 4D 19 00 00 A2 18 00 00 FD 36 19 A2 18 00 00\r
 R 00 00 01 00 89 04 01 00 29 0B 01 00\r
-T D5 18 00 00 FD 36 1A 36 18 00 00 FD 36 1B\r
+T 52 19 00 00 FD 36 1A A8 18 00 00 FD 36 1B\r
 R 00 00 01 00 09 07 01 00\r
-T DC 18 00 00 36 18 00 00 FD 36 1C 36 18 00 00\r
+T 59 19 00 00 A8 18 00 00 FD 36 1C A8 18 00 00\r
 R 00 00 01 00 89 04 01 00 29 0B 01 00\r
-T E1 18 00 00 FD 36 1D 2F 12 00 00 FD 36 1E\r
+T 5E 19 00 00 FD 36 1D 8D 12 00 00 FD 36 1E\r
 R 00 00 01 00 09 07 01 00\r
-T E8 18 00 00 2F 12 00 00 FD 36 1F 2F 12 00 00\r
+T 65 19 00 00 8D 12 00 00 FD 36 1F 8D 12 00 00\r
 R 00 00 01 00 89 04 01 00 29 0B 01 00\r
-T ED 18 00 00 C3 51 06 00 00\r
+T 6A 19 00 00 C3 E0 06 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T F0 18 00 00\r
+T 6D 19 00 00\r
 R 00 00 01 00\r
-T F0 18 00 00 CD 00 00 00 00 00 00 DD 6E 0A DD\r
-R 00 00 01 00 02 05 0F 00\r
-T F9 18 00 00 66 0B E5 DD 5E 02 DD 56 03 3E\r
+T 6D 19 00 00 CD 00 00 00 00 00 00 DD 6E 0A DD\r
+R 00 00 01 00 02 05 0E 00\r
+T 76 19 00 00 66 0B E5 DD 5E 02 DD 56 03 3E\r
 R 00 00 01 00\r
-T 03 19 00 00 D2 0A 00 00 21 D2 0A 00 00 CD\r
+T 80 19 00 00 61 0B 00 00 21 61 0B 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 08 19 00 00 00 00 00 00 E1 C3 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00 02 0A 05 00\r
-T 0E 19 00 00\r
+T 85 19 00 00 00 00 00 00 E1 C3 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00 02 0A 04 00\r
+T 8B 19 00 00\r
 R 00 00 01 00\r
-T 0E 19 00 00 CD 00 00 00 00 CE FF FD E5 DD 36\r
-R 00 00 01 00 02 05 0F 00\r
-T 17 19 00 00 D8 00 21 00 00 E5 C5 3E\r
+T 8B 19 00 00 CD 00 00 00 00 CE FF FD E5 DD 36\r
+R 00 00 01 00 02 05 0E 00\r
+T 94 19 00 00 D8 00 21 00 00 E5 C5 CD\r
 R 00 00 01 00\r
-T 1F 19 00 00 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 04 11 00 02 09 11 00\r
-T 24 19 00 00 00 00 00 00 F1 F1 DD 75 D4 DD 74\r
-R 00 00 01 00 02 04 0C 00\r
-T 2D 19 00 00 D5 DD 36 F0 2B DD 36 F1 00 DD 36\r
+T 9C 19 00 00 14 01 00 00 F1 F1 DD 75 D4 DD 74\r
+R 00 00 01 00 00 04 01 00\r
+T A5 19 00 00 D5 DD 36 F0 06 DD 36 F1 00 DD 36\r
 R 00 00 01 00\r
-T 38 19 00 00 F2 1A DD 36 F3 00\r
+T B0 19 00 00 F2 05 DD 36 F3 00\r
 R 00 00 01 00\r
-T 3E 19 00 00\r
+T B6 19 00 00\r
 R 00 00 01 00\r
-T 3E 19 00 00 DD 36 F4 00 DD 7E D8 FE 73 20 18\r
+T B6 19 00 00 DD 36 F4 00 DD 7E D8 FE 73 20 18\r
 R 00 00 01 00\r
-T 49 19 00 00\r
+T C1 19 00 00\r
 R 00 00 01 00\r
-T 49 19 00 00 DD 6E D9 DD 66 DA DD 75 F0 DD 74\r
+T C1 19 00 00 DD 6E D9 DD 66 DA DD 75 F0 DD 74\r
 R 00 00 01 00\r
-T 54 19 00 00 F1 DD 6E DB DD 66 DC DD 75 F2 DD\r
+T CC 19 00 00 F1 DD 6E DB DD 66 DC DD 75 F2 DD\r
 R 00 00 01 00\r
-T 5F 19 00 00 74 F3\r
+T D7 19 00 00 74 F3\r
 R 00 00 01 00\r
-T 61 19 00 00\r
+T D9 19 00 00\r
 R 00 00 01 00\r
-T 61 19 00 00 DD 7E D8 FE 42 28 07 DD 7E D8 FE\r
+T D9 19 00 00 DD 7E D8 FE 42 28 07 DD 7E D8 FE\r
 R 00 00 01 00\r
-T 6C 19 00 00 4D 20 4F\r
+T E4 19 00 00 4D 20 4E\r
 R 00 00 01 00\r
-T 6F 19 00 00\r
+T E7 19 00 00\r
 R 00 00 01 00\r
-T 6F 19 00 00\r
+T E7 19 00 00\r
 R 00 00 01 00\r
-T 6F 19 00 00\r
+T E7 19 00 00\r
 R 00 00 01 00\r
-T 6F 19 00 00 DD 4E DD 06 00 C5 CD CE 1C 00 00\r
+T E7 19 00 00 DD 4E DD 06 00 C5 CD 3A 1D 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 78 19 00 00 D5 DD 4E DB DD 5E F0 DD 56 F1 CD\r
+T F0 19 00 00 D5 CD 50 1D 00 00 D5 DD 6E DB 26\r
+R 00 00 01 00 00 06 01 00\r
+T F9 19 00 00 00 44 DD 4E D9 09 4D 44 11 03 01\r
 R 00 00 01 00\r
-T 83 19 00 00 D7 1C 00 00 D5 DD 4E DA DD 5E F2\r
-R 00 00 01 00 00 04 01 00\r
-T 8C 19 00 00 DD 56 F3 CD 00 00 00 00 D5 DD 5E\r
-R 00 00 01 00 02 08 03 00\r
-T 95 19 00 00 D9 50 DD 4E F0 DD 46 F1 CD\r
+T 04 1A 00 00 CD 58 1D 00 00 EB D1 A7 ED 52 2B\r
+R 00 00 01 00 00 05 01 00\r
+T 0D 1A 00 00 2B 2B E5 CD 64 1D 00 00 D5 CD\r
+R 00 00 01 00 00 08 01 00\r
+T 15 1A 00 00 50 1D 00 00 3E 93 12 00 00 21\r
+R 00 00 01 00 00 04 01 00 29 09 01 00\r
+T 1A 1A 00 00 93 12 00 00 C1 CD 00 00 00 00 F1\r
+R 00 00 01 00 00 04 01 00 02 0A 0B 00\r
+T 21 1A 00 00 F1 F1 E5 FD E1 DD 7E D8 FE 4D 20\r
 R 00 00 01 00\r
-T 9E 19 00 00 00 00 00 00 3E 35 12 00 00 21\r
-R 00 00 01 00 02 04 03 00 29 09 01 00\r
-T A3 19 00 00 35 12 00 00 C1 CD 00 00 00 00 F1\r
-R 00 00 01 00 00 04 01 00 02 0A 0C 00\r
-T AA 19 00 00 F1 F1 E5 FD E1 DD 7E D8 FE 4D 20\r
+T 2C 1A 00 00 04\r
 R 00 00 01 00\r
-T B5 19 00 00 04\r
+T 2D 1A 00 00\r
 R 00 00 01 00\r
-T B6 19 00 00\r
+T 2D 1A 00 00 FD CB 0A F6\r
 R 00 00 01 00\r
-T B6 19 00 00 FD CB 0A F6\r
+T 31 1A 00 00\r
 R 00 00 01 00\r
-T BA 19 00 00\r
+T 31 1A 00 00 DD 36 F4 01\r
 R 00 00 01 00\r
-T BA 19 00 00 DD 36 F4 01\r
+T 35 1A 00 00\r
 R 00 00 01 00\r
-T BE 19 00 00\r
+T 35 1A 00 00 DD 7E D8 FE 54 20 43\r
 R 00 00 01 00\r
-T BE 19 00 00 DD 7E D8 FE 54 20 44\r
+T 3C 1A 00 00\r
 R 00 00 01 00\r
-T C5 19 00 00\r
-R 00 00 01 00\r
-T C5 19 00 00 DD 4E DD 06 00 C5 CD CE 1C 00 00\r
+T 3C 1A 00 00 DD 4E DD 06 00 C5 CD 3A 1D 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T CE 19 00 00 D5 DD 4E DB DD 5E F0 DD 56 F1 CD\r
-R 00 00 01 00\r
-T D9 19 00 00 D7 1C 00 00 D5 DD 4E DA DD 5E F2\r
-R 00 00 01 00 00 04 01 00\r
-T E2 19 00 00 DD 56 F3 CD 00 00 00 00 D5 DD 5E\r
-R 00 00 01 00 02 08 03 00\r
-T EB 19 00 00 D9 50 DD 4E F0 DD 46 F1 CD\r
+T 45 1A 00 00 D5 CD 50 1D 00 00 D5 DD 6E DB 26\r
+R 00 00 01 00 00 06 01 00\r
+T 4E 1A 00 00 00 44 DD 4E D9 09 4D 44 11 03 01\r
 R 00 00 01 00\r
-T F4 19 00 00 00 00 00 00 3E 0F 14 00 00 21\r
-R 00 00 01 00 02 04 03 00 29 09 01 00\r
-T F9 19 00 00 0F 14 00 00 C1 CD 00 00 00 00 F1\r
-R 00 00 01 00 00 04 01 00 02 0A 0C 00\r
-T 00 1A 00 00 F1 F1 E5 FD E1 DD 36 F4 01\r
+T 59 1A 00 00 CD 58 1D 00 00 EB D1 A7 ED 52 2B\r
+R 00 00 01 00 00 05 01 00\r
+T 62 1A 00 00 2B 2B E5 CD 64 1D 00 00 D5 CD\r
+R 00 00 01 00 00 08 01 00\r
+T 6A 1A 00 00 50 1D 00 00 3E 78 14 00 00 21\r
+R 00 00 01 00 00 04 01 00 29 09 01 00\r
+T 6F 1A 00 00 78 14 00 00 C1 CD 00 00 00 00 F1\r
+R 00 00 01 00 00 04 01 00 02 0A 0B 00\r
+T 76 1A 00 00 F1 F1 E5 FD E1 DD 36 F4 01\r
 R 00 00 01 00\r
-T 09 1A 00 00\r
+T 7F 1A 00 00\r
 R 00 00 01 00\r
-T 09 1A 00 00 DD 7E D8 FE 44 20 44\r
+T 7F 1A 00 00 DD 7E D8 FE 44 20 43\r
 R 00 00 01 00\r
-T 10 1A 00 00\r
+T 86 1A 00 00\r
 R 00 00 01 00\r
-T 10 1A 00 00 DD 4E DD 06 00 C5 CD CE 1C 00 00\r
+T 86 1A 00 00 DD 4E DD 06 00 C5 CD 3A 1D 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 19 1A 00 00 D5 DD 4E DB DD 5E F0 DD 56 F1 CD\r
+T 8F 1A 00 00 D5 CD 50 1D 00 00 D5 DD 6E DB 26\r
+R 00 00 01 00 00 06 01 00\r
+T 98 1A 00 00 00 44 DD 4E D9 09 4D 44 11 03 01\r
 R 00 00 01 00\r
-T 24 1A 00 00 D7 1C 00 00 D5 DD 4E DA DD 5E F2\r
-R 00 00 01 00 00 04 01 00\r
-T 2D 1A 00 00 DD 56 F3 CD 00 00 00 00 D5 DD 5E\r
-R 00 00 01 00 02 08 03 00\r
-T 36 1A 00 00 D9 50 DD 4E F0 DD 46 F1 CD\r
+T A3 1A 00 00 CD 58 1D 00 00 EB D1 A7 ED 52 2B\r
+R 00 00 01 00 00 05 01 00\r
+T AC 1A 00 00 2B 2B E5 CD 64 1D 00 00 D5 CD\r
+R 00 00 01 00 00 08 01 00\r
+T B4 1A 00 00 50 1D 00 00 3E 43 18 00 00 21\r
+R 00 00 01 00 00 04 01 00 29 09 01 00\r
+T B9 1A 00 00 43 18 00 00 C1 CD 00 00 00 00 F1\r
+R 00 00 01 00 00 04 01 00 02 0A 0B 00\r
+T C0 1A 00 00 F1 F1 E5 FD E1 DD 36 F4 01\r
 R 00 00 01 00\r
-T 3F 1A 00 00 00 00 00 00 3E D6 17 00 00 21\r
-R 00 00 01 00 02 04 03 00 29 09 01 00\r
-T 44 1A 00 00 D6 17 00 00 C1 CD 00 00 00 00 F1\r
-R 00 00 01 00 00 04 01 00 02 0A 0C 00\r
-T 4B 1A 00 00 F1 F1 E5 FD E1 DD 36 F4 01\r
+T C9 1A 00 00\r
 R 00 00 01 00\r
-T 54 1A 00 00\r
+T C9 1A 00 00 DD 7E D8 FE 4C 20 46\r
 R 00 00 01 00\r
-T 54 1A 00 00 DD 7E D8 FE 4C 20 47\r
+T D0 1A 00 00\r
 R 00 00 01 00\r
-T 5B 1A 00 00\r
+T D0 1A 00 00 21 0C 00 39 01 12 00 09 E5 CD\r
 R 00 00 01 00\r
-T 5B 1A 00 00 21 0C 00 39 01 12 00 09 E5 CD\r
+T DA 1A 00 00 3A 1D 00 00 D5 CD 50 1D 00 00 D5\r
+R 00 00 01 00 00 04 01 00 00 0A 01 00\r
+T E1 1A 00 00 DD 6E DB 26 00 44 DD 4E D9 09 4D\r
 R 00 00 01 00\r
-T 65 1A 00 00 CE 1C 00 00 D5 DD 4E DB DD 5E F0\r
-R 00 00 01 00 00 04 01 00\r
-T 6E 1A 00 00 DD 56 F1 CD D7 1C 00 00 D5 DD 4E\r
-R 00 00 01 00 00 08 01 00\r
-T 77 1A 00 00 DA DD 5E F2 DD 56 F3 CD\r
+T EC 1A 00 00 44 11 03 01 CD 58 1D 00 00 EB D1\r
+R 00 00 01 00 00 09 01 00\r
+T F5 1A 00 00 A7 ED 52 2B 2B 2B E5 CD\r
 R 00 00 01 00\r
-T 7F 1A 00 00 00 00 00 00 D5 DD 5E D9 50 DD 4E\r
-R 00 00 01 00 02 04 03 00\r
-T 88 1A 00 00 F0 DD 46 F1 CD 00 00 00 00 3E\r
-R 00 00 01 00 02 09 03 00\r
-T 90 1A 00 00 97 18 00 00 21 97 18 00 00 C1 CD\r
+T FD 1A 00 00 64 1D 00 00 D5 CD 50 1D 00 00 3E\r
+R 00 00 01 00 00 04 01 00 00 0A 01 00\r
+T 04 1B 00 00 09 19 00 00 21 09 19 00 00 C1 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 96 1A 00 00 00 00 00 00 F1 F1 F1 E5 FD E1 DD\r
-R 00 00 01 00 02 04 0C 00\r
-T 9F 1A 00 00 36 F4 01\r
+T 0A 1B 00 00 00 00 00 00 F1 F1 F1 E5 FD E1 DD\r
+R 00 00 01 00 02 04 0B 00\r
+T 13 1B 00 00 36 F4 01\r
 R 00 00 01 00\r
-T A2 1A 00 00\r
+T 16 1B 00 00\r
 R 00 00 01 00\r
-T A2 1A 00 00 DD 7E D8 FE 41 20 51\r
+T 16 1B 00 00 DD 7E D8 FE 41 20 51\r
 R 00 00 01 00\r
-T A9 1A 00 00\r
+T 1D 1B 00 00\r
 R 00 00 01 00\r
-T A9 1A 00 00 21 26 00 DD 4E 02 DD 46 03 09 E5\r
+T 1D 1B 00 00 21 26 00 DD 4E 02 DD 46 03 09 E5\r
 R 00 00 01 00\r
-T B4 1A 00 00 21 2B 00 39 EB E1 73 23 72 DD 6E\r
+T 28 1B 00 00 21 2B 00 39 EB E1 73 23 72 DD 6E\r
 R 00 00 01 00\r
-T BF 1A 00 00 DE DD 66 DF DD 75 F8 DD 74 F9 DD\r
+T 33 1B 00 00 DE DD 66 DF DD 75 F8 DD 74 F9 DD\r
 R 00 00 01 00\r
-T CA 1A 00 00 6E E0 DD 66 E1 DD 75 FA DD 74 FB\r
+T 3E 1B 00 00 6E E0 DD 66 E1 DD 75 FA DD 74 FB\r
 R 00 00 01 00\r
-T D5 1A 00 00 21 16 00 39 4E 23 46 23 5E 23 56\r
+T 49 1B 00 00 21 16 00 39 4E 23 46 23 5E 23 56\r
 R 00 00 01 00\r
-T E0 1A 00 00 DD 71 FC DD 70 FD DD 73 FE DD 72\r
+T 54 1B 00 00 DD 71 FC DD 70 FD DD 73 FE DD 72\r
 R 00 00 01 00\r
-T EB 1A 00 00 FF DD 5E 02 DD 56 03 3E\r
+T 5F 1B 00 00 FF DD 5E 02 DD 56 03 3E\r
 R 00 00 01 00\r
-T F3 1A 00 00 DE 1C 00 00 21 DE 1C 00 00 CD\r
+T 67 1B 00 00 78 1D 00 00 21 78 1D 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T F8 1A 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T FA 1A 00 00\r
+T 6C 1B 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 6E 1B 00 00\r
 R 00 00 01 00\r
-T FA 1A 00 00 DD 7E D8 FE 53 20 71\r
+T 6E 1B 00 00 DD 7E D8 FE 53 20 71\r
 R 00 00 01 00\r
-T 01 1B 00 00\r
+T 75 1B 00 00\r
 R 00 00 01 00\r
-T 01 1B 00 00 21 0C 00 39 4D 44 DD 5E D4 DD 56\r
+T 75 1B 00 00 21 0C 00 39 4D 44 DD 5E D4 DD 56\r
 R 00 00 01 00\r
-T 0C 1B 00 00 D5 3E 16 20 00 00 21 16 20 00 00\r
+T 80 1B 00 00 D5 3E C7 20 00 00 21 C7 20 00 00\r
 R 00 00 01 00 29 06 01 00 00 0B 01 00\r
-T 12 1B 00 00 CD 00 00 00 00 21 26 00 DD 4E 02\r
-R 00 00 01 00 02 05 0C 00\r
-T 1B 1B 00 00 DD 46 03 09 E5 11 04 00 CD\r
+T 86 1B 00 00 CD 00 00 00 00 21 26 00 DD 4E 02\r
+R 00 00 01 00 02 05 0B 00\r
+T 8F 1B 00 00 DD 46 03 09 E5 11 04 00 CD\r
 R 00 00 01 00\r
-T 24 1B 00 00 C6 1C 00 00 EB E1 73 23 72 21\r
+T 98 1B 00 00 32 1D 00 00 EB E1 73 23 72 21\r
 R 00 00 01 00 00 04 01 00\r
-T 2C 1B 00 00 26 00 09 56 DD 72 F5 23 66 DD 74\r
+T A0 1B 00 00 26 00 09 56 DD 72 F5 23 66 DD 74\r
 R 00 00 01 00\r
-T 37 1B 00 00 F6 21 24 00 09 36 04 23 36 00 6A\r
+T AB 1B 00 00 F6 21 24 00 09 36 04 23 36 00 6A\r
 R 00 00 01 00\r
-T 42 1B 00 00 DD 66 F6 23 23 E5 21 08 00 ED 4B\r
+T B6 1B 00 00 DD 66 F6 23 23 E5 21 0C 00 ED 4B\r
 R 00 00 01 00\r
-T 4D 1B 00 00 00 00 00 00 09 5E 23 56 E1 73 23\r
+T C1 1B 00 00 00 00 00 00 09 5E 23 56 E1 73 23\r
 R 00 00 01 00 00 04 04 00\r
-T 56 1B 00 00 72 21 06 00 ED 4B 00 00 00 00 09\r
+T CA 1B 00 00 72 21 0A 00 ED 4B 00 00 00 00 09\r
 R 00 00 01 00 00 0A 04 00\r
-T 5F 1B 00 00 46 23 66 68 E5 DD 6E F5 DD 66 F6\r
+T D3 1B 00 00 46 23 66 68 E5 DD 6E F5 DD 66 F6\r
 R 00 00 01 00\r
-T 6A 1B 00 00 C1 71 23 70 DD 36 F4 00\r
+T DE 1B 00 00 C1 71 23 70 DD 36 F4 00\r
 R 00 00 01 00\r
-T 72 1B 00 00\r
+T E6 1B 00 00\r
 R 00 00 01 00\r
-T 72 1B 00 00 AF DD B6 F4 CA 72 1C 00 00\r
+T E6 1B 00 00 AF DD B6 F4 CA E6 1C 00 00\r
 R 00 00 01 00 00 09 01 00\r
-T 79 1B 00 00\r
+T ED 1B 00 00\r
 R 00 00 01 00\r
-T 79 1B 00 00 DD 7E DE DD B6 DF 28 69\r
+T ED 1B 00 00 DD 7E DE DD B6 DF 28 69\r
 R 00 00 01 00\r
-T 81 1B 00 00\r
+T F5 1B 00 00\r
 R 00 00 01 00\r
-T 81 1B 00 00 FD CB 0A EE FD 36 24 0B FD 36 25\r
+T F5 1B 00 00 FD CB 0A EE FD 36 24 0B FD 36 25\r
 R 00 00 01 00\r
-T 8C 1B 00 00 00 11 0B 00 CD C6 1C 00 00 FD 75\r
+T 00 1C 00 00 00 11 0B 00 CD 32 1D 00 00 FD 75\r
 R 00 00 01 00 00 09 01 00\r
-T 95 1B 00 00 26 FD 74 27 FD 6E 26 DD 75 D0 FD\r
+T 09 1C 00 00 26 FD 74 27 FD 6E 26 DD 75 D0 FD\r
 R 00 00 01 00\r
-T A0 1B 00 00 66 27 DD 74 D1 36 DE 1C 00 00 23\r
+T 14 1C 00 00 66 27 DD 74 D1 36 78 1D 00 00 23\r
 R 00 00 01 00 09 0A 01 00\r
-T A8 1B 00 00 36 DE 1C 00 00 23 36 DE 1C 00 00\r
+T 1C 1C 00 00 36 78 1D 00 00 23 36 78 1D 00 00\r
 R 00 00 01 00 89 05 01 00 29 0B 01 00\r
-T AD 1B 00 00 DD 6E D0 DD 66 D1 23 23 23 DD 4E\r
+T 21 1C 00 00 DD 6E D0 DD 66 D1 23 23 23 DD 4E\r
 R 00 00 01 00\r
-T B8 1B 00 00 DE 71 DD 46 DF 23 70 21 05 00 DD\r
+T 2C 1C 00 00 DE 71 DD 46 DF 23 70 21 05 00 DD\r
 R 00 00 01 00\r
-T C3 1B 00 00 4E D0 DD 46 D1 09 DD 5E E0 73 DD\r
+T 37 1C 00 00 4E D0 DD 46 D1 09 DD 5E E0 73 DD\r
 R 00 00 01 00\r
-T CE 1B 00 00 56 E1 23 72 21 07 00 09 E5 21\r
+T 42 1C 00 00 56 E1 23 72 21 07 00 09 E5 21\r
 R 00 00 01 00\r
-T D8 1B 00 00 18 00 39 5E 23 56 23 4E 23 46 E1\r
+T 4C 1C 00 00 18 00 39 5E 23 56 23 4E 23 46 E1\r
 R 00 00 01 00\r
-T E3 1B 00 00 73 23 72 23 71 23 70\r
+T 57 1C 00 00 73 23 72 23 71 23 70\r
 R 00 00 01 00\r
-T EA 1B 00 00\r
+T 5E 1C 00 00\r
 R 00 00 01 00\r
-T EA 1B 00 00 DD 7E E6 DD B6 E7 28 0C\r
+T 5E 1C 00 00 DD 7E E6 DD B6 E7 28 0C\r
 R 00 00 01 00\r
-T F2 1B 00 00\r
+T 66 1C 00 00\r
 R 00 00 01 00\r
-T F2 1B 00 00 DD 6E E6 FD 75 0A DD 66 E7 FD 74\r
+T 66 1C 00 00 DD 6E E6 FD 75 0A DD 66 E7 FD 74\r
 R 00 00 01 00\r
-T FD 1B 00 00 0B\r
+T 71 1C 00 00 0B\r
 R 00 00 01 00\r
-T FE 1B 00 00\r
+T 72 1C 00 00\r
 R 00 00 01 00\r
-T FE 1B 00 00 DD 6E E8 FD 75 0E DD 66 E9 FD 74\r
+T 72 1C 00 00 DD 6E E8 FD 75 0E DD 66 E9 FD 74\r
 R 00 00 01 00\r
-T 09 1C 00 00 0F DD 6E EA FD 75 20 DD 7E EB E6\r
+T 7D 1C 00 00 0F DD 6E EA FD 75 20 DD 7E EB E6\r
 R 00 00 01 00\r
-T 14 1C 00 00 0F FD 77 21 FD 7E 20 FD B6 21 20\r
+T 88 1C 00 00 0F FD 77 21 FD 7E 20 FD B6 21 20\r
 R 00 00 01 00\r
-T 1F 1C 00 00 16\r
+T 93 1C 00 00 16\r
 R 00 00 01 00\r
-T 20 1C 00 00\r
+T 94 1C 00 00\r
 R 00 00 01 00\r
-T 20 1C 00 00 11 14 00 CD C6 1C 00 00 FD 75 20\r
+T 94 1C 00 00 11 14 00 CD 32 1D 00 00 FD 75 20\r
 R 00 00 01 00 00 08 01 00\r
-T 29 1C 00 00 FD 74 21 FD 6E 20 FD 66 21 36 00\r
+T 9D 1C 00 00 FD 74 21 FD 6E 20 FD 66 21 36 00\r
 R 00 00 01 00\r
-T 34 1C 00 00 18 04\r
+T A8 1C 00 00 18 04\r
 R 00 00 01 00\r
-T 36 1C 00 00\r
+T AA 1C 00 00\r
 R 00 00 01 00\r
-T 36 1C 00 00 FD CB 0B F6\r
+T AA 1C 00 00 FD CB 0B F6\r
 R 00 00 01 00\r
-T 3A 1C 00 00\r
+T AE 1C 00 00\r
 R 00 00 01 00\r
-T 3A 1C 00 00 DD 7E EB 2E 00 4D E6 F0 47 26 10\r
+T AE 1C 00 00 DD 7E EB 2E 00 4D E6 F0 47 26 10\r
 R 00 00 01 00\r
-T 45 1C 00 00 ED 42 30 10\r
+T B9 1C 00 00 ED 42 30 10\r
 R 00 00 01 00\r
-T 49 1C 00 00\r
+T BD 1C 00 00\r
 R 00 00 01 00\r
-T 49 1C 00 00 DD 6E EA DD 7E EB E6 0F 67 23 FD\r
+T BD 1C 00 00 DD 6E EA DD 7E EB E6 0F 67 23 FD\r
 R 00 00 01 00\r
-T 54 1C 00 00 75 22 FD 74 23\r
+T C8 1C 00 00 75 22 FD 74 23\r
 R 00 00 01 00\r
-T 59 1C 00 00\r
+T CD 1C 00 00\r
 R 00 00 01 00\r
-T 59 1C 00 00 FD E5 DD 5E 02 4B DD 56 03 42 21\r
+T CD 1C 00 00 FD E5 DD 5E 02 4B DD 56 03 42 21\r
 R 00 00 01 00\r
-T 64 1C 00 00 1D 00 09 4E 23 46 23 7E 69 60 C1\r
+T D8 1C 00 00 1D 00 09 4E 23 46 23 7E 69 60 C1\r
 R 00 00 01 00\r
-T 6F 1C 00 00 CD 00 00 00 00\r
-R 00 00 01 00 02 05 0C 00\r
-T 72 1C 00 00\r
+T E3 1C 00 00 CD 00 00 00 00\r
+R 00 00 01 00 02 05 0B 00\r
+T E6 1C 00 00\r
 R 00 00 01 00\r
-T 72 1C 00 00 21 14 00 E5 2E 0E 39 4D 44 DD 5E\r
+T E6 1C 00 00 21 14 00 E5 2E 0E 39 4D 44 DD 5E\r
 R 00 00 01 00\r
-T 7D 1C 00 00 D4 DD 56 D5 CD BE 1C 00 00 F1 3E\r
-R 00 00 01 00 00 09 01 00\r
-T 86 1C 00 00 14 AD B4 CA 3E 19 00 00\r
+T F1 1C 00 00 D4 DD 56 D5 3E 00 00 00 00 21\r
+R 00 00 01 00 2B 09 14 00\r
+T F8 1C 00 00 00 00 00 00 CD 00 00 00 00 F1 3E\r
+R 00 00 01 00 02 04 14 00 02 09 0B 00\r
+T FF 1C 00 00 14 AD B4 CA B6 19 00 00\r
 R 00 00 01 00 00 08 01 00\r
-T 8C 1C 00 00\r
-R 00 00 01 00\r
-T 8C 1C 00 00 DD 5E D4 DD 56 D5 3E 00 00 00 00\r
-R 00 00 01 00 2B 0B 06 00\r
-T 94 1C 00 00 21 00 00 00 00 CD 00 00 00 00 DD\r
-R 00 00 01 00 02 05 06 00 02 0A 0C 00\r
-T 9B 1C 00 00 5E 02 DD 56 03 3E 1F 0A 00 00 21\r
-R 00 00 01 00 29 0A 01 00\r
-T A3 1C 00 00 1F 0A 00 00 CD 00 00 00 00 DD 5E\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T AA 1C 00 00 02 4B DD 56 03 42 21 1A 00 09 4E\r
+T 05 1D 00 00\r
 R 00 00 01 00\r
-T B5 1C 00 00 23 46 23 7E 69 60 C3 1F 11 00 00\r
+T 05 1D 00 00 DD 5E D4 DD 56 D5 CD 56 01 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T BE 1C 00 00\r
+T 0E 1D 00 00 DD 5E 02 DD 56 03 3E AE 0A 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T 16 1D 00 00 21 AE 0A 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T 1D 1D 00 00 5E 02 4B DD 56 03 42 21 1A 00 09\r
+R 00 00 01 00\r
+T 28 1D 00 00 4E 23 46 23 7E 69 60 C3\r
+R 00 00 01 00\r
+T 30 1D 00 00 99 11 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 32 1D 00 00\r
 R 00 00 01 00\r
-T BE 1C 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
-R 00 00 01 00 2B 05 16 00 02 0A 16 00\r
-T C4 1C 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T C6 1C 00 00\r
+T 32 1D 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
+R 00 00 01 00 2B 05 13 00 02 0A 13 00\r
+T 38 1D 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T 3A 1D 00 00\r
 R 00 00 01 00\r
-T C6 1C 00 00 3E 00 00 00 00 21 00 00 00 00 C3\r
-R 00 00 01 00 2B 05 15 00 02 0A 15 00\r
-T CC 1C 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T CE 1C 00 00\r
+T 3A 1D 00 00 DD 4E DC 11 83 00 CD 00 00 00 00\r
+R 00 00 01 00 02 0B 03 00\r
+T 43 1D 00 00 DD 4E F2 DD 46 F3 CD 00 00 00 00\r
+R 00 00 01 00 02 0B 11 00\r
+T 4C 1D 00 00 1B 1B 1B C9\r
 R 00 00 01 00\r
-T CE 1C 00 00 DD 4E DC DD 5E F2 DD 56 F3\r
+T 50 1D 00 00\r
 R 00 00 01 00\r
-T D7 1C 00 00\r
+T 50 1D 00 00 DD 5E D9 16 00 01 03 01\r
 R 00 00 01 00\r
-T D7 1C 00 00 CD 00 00 00 00 1B 1B 1B C9\r
+T 58 1D 00 00\r
+R 00 00 01 00\r
+T 58 1D 00 00 CD 00 00 00 00 DD 4E F0 DD 46 F1\r
 R 00 00 01 00 02 05 03 00\r
-T DE 1C 00 00\r
+T 61 1D 00 00 C3 00 00 00 00\r
+R 00 00 01 00 02 05 11 00\r
+T 64 1D 00 00\r
 R 00 00 01 00\r
-T DE 1C 00 00 CD 00 00 00 00 EA FF FD E5 DD 6E\r
-R 00 00 01 00 02 05 0F 00\r
-T E7 1C 00 00 02 DD 66 03 E5 FD E1 21 06 00 39\r
+T 64 1D 00 00 DD 5E DA 16 00 01 83 00 CD\r
 R 00 00 01 00\r
-T F2 1C 00 00 EB 21 26 00 00 00 01 0E 00 ED B0\r
-R 00 00 01 00 00 06 03 00\r
-T FB 1C 00 00 FD 6E 26 DD 75 EA FD 66 27 DD 74\r
+T 6D 1D 00 00 00 00 00 00 DD 4E F2 DD 46 F3 C3\r
+R 00 00 01 00 02 04 03 00\r
+T 76 1D 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 11 00\r
+T 78 1D 00 00\r
 R 00 00 01 00\r
-T 06 1D 00 00 EB 23 23 23 3E 01 AE 23 B6 20 08\r
+T 78 1D 00 00 CD 00 00 00 00 F8 FF FD E5 DD 6E\r
+R 00 00 01 00 02 05 0E 00\r
+T 81 1D 00 00 02 DD 66 03 E5 FD E1 FD 6E 26 DD\r
 R 00 00 01 00\r
-T 11 1D 00 00\r
+T 8C 1D 00 00 75 F8 FD 66 27 DD 74 F9 23 23 23\r
 R 00 00 01 00\r
-T 11 1D 00 00 C5 01 01 04 CD 76 0D 00 00 E1\r
-R 00 00 01 00 00 09 01 00\r
-T 19 1D 00 00\r
+T 97 1D 00 00 3E 01 AE 23 B6 20 0A\r
 R 00 00 01 00\r
-T 19 1D 00 00 DD 6E EA DD 66 EB 23 23 23 46 23\r
+T 9E 1D 00 00\r
 R 00 00 01 00\r
-T 24 1D 00 00 66 68 CB 85 3E 02 AD B4 C2\r
+T 9E 1D 00 00 6F 67 E5 01 01 05 CD 10 0E 00 00\r
+R 00 00 01 00 00 0B 01 00\r
+T A7 1D 00 00 E1\r
 R 00 00 01 00\r
-T 2D 1D 00 00 49 1E 00 00\r
-R 00 00 01 00 00 04 01 00\r
-T 2F 1D 00 00\r
+T A8 1D 00 00\r
 R 00 00 01 00\r
-T 2F 1D 00 00 6F 67 E5 E5 01 01 00 FD 5E 11 FD\r
+T A8 1D 00 00 DD 6E F8 DD 66 F9 23 23 23 46 23\r
 R 00 00 01 00\r
-T 3A 1D 00 00 56 12 3E B6 09 00 00 21\r
-R 00 00 01 00 29 07 01 00\r
-T 3F 1D 00 00 B6 09 00 00 CD 00 00 00 00 E1 E1\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 46 1D 00 00 FD 6E 11 FD 66 12 01 08 00 09 4E\r
+T B3 1D 00 00 66 68 CB 85 3E 02 AD B4 C2\r
 R 00 00 01 00\r
-T 51 1D 00 00 23 46 C5 FD 6E 11 FD 66 12 01\r
+T BC 1D 00 00 A7 1E 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T BE 1D 00 00\r
 R 00 00 01 00\r
-T 5B 1D 00 00 06 00 09 4E 23 46 C5 01 00 00 59\r
+T BE 1D 00 00 21 05 00 DD 4E F8 DD 46 F9 09 56\r
 R 00 00 01 00\r
-T 66 1D 00 00 50 3E 71 0F 00 00 21 71 0F 00 00\r
-R 00 00 01 00 29 06 01 00 00 0B 01 00\r
-T 6C 1D 00 00 CD 00 00 00 00 F1 F1 DD 75 EC DD\r
-R 00 00 01 00 02 05 0C 00\r
-T 75 1D 00 00 74 ED 01 0A 00 09 36 03 23 70 DD\r
+T C9 1D 00 00 23 7E 6A E6 0F 67 29 E5 21 0C 00\r
 R 00 00 01 00\r
-T 80 1D 00 00 6E EA DD 66 EB 23 23 23 CB 46 28\r
+T D4 1D 00 00 ED 5B 00 00 00 00 19 5E 23 56 E1\r
+R 00 00 01 00 00 06 04 00\r
+T DD 1D 00 00 19 2B 2B 56 DD 72 FC 23 66 DD 74\r
 R 00 00 01 00\r
-T 8B 1D 00 00 0C\r
+T E8 1D 00 00 FD 21 00 00 E5 E5 01 01 00 FD 5E\r
 R 00 00 01 00\r
-T 8C 1D 00 00\r
+T F3 1D 00 00 11 FD 56 12 3E 45 0A 00 00 21\r
+R 00 00 01 00 29 09 01 00\r
+T FA 1D 00 00 45 0A 00 00 CD 00 00 00 00 E1 E1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 01 1E 00 00 FD 6E 11 FD 66 12 01 08 00 09 4E\r
 R 00 00 01 00\r
-T 8C 1D 00 00 69 60 DD 4E EC DD 46 ED 09 23 CB\r
+T 0C 1E 00 00 23 46 C5 FD 6E 11 FD 66 12 01\r
 R 00 00 01 00\r
-T 97 1D 00 00 EE\r
+T 16 1E 00 00 06 00 09 4E 23 46 C5 01 00 00 59\r
 R 00 00 01 00\r
-T 98 1D 00 00\r
+T 21 1E 00 00 50 3E 11 10 00 00 21 11 10 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T 27 1E 00 00 CD 00 00 00 00 F1 F1 DD 75 FA DD\r
+R 00 00 01 00 02 05 0B 00\r
+T 30 1E 00 00 74 FB 01 0A 00 09 36 03 23 70 DD\r
 R 00 00 01 00\r
-T 98 1D 00 00 21 17 00 DD 4E EC DD 46 ED 09 36\r
+T 3B 1E 00 00 6E F8 DD 66 F9 23 23 23 CB 46 28\r
 R 00 00 01 00\r
-T A3 1D 00 00 F0 18 00 00 23 36 F0 18 00 00 23\r
-R 00 00 01 00 09 04 01 00 89 0A 01 00\r
-T A8 1D 00 00 36 F0 18 00 00 21 1A 00 09 36\r
-R 00 00 01 00 29 05 01 00\r
-T AF 1D 00 00 2C 0F 00 00 23 36 2C 0F 00 00 23\r
-R 00 00 01 00 09 04 01 00 89 0A 01 00\r
-T B4 1D 00 00 36 2C 0F 00 00 21 07 00 DD 5E EA\r
-R 00 00 01 00 29 05 01 00\r
-T BC 1D 00 00 DD 56 EB 19 5E EB DD 75 F3 21\r
+T 46 1E 00 00 0C\r
 R 00 00 01 00\r
-T C6 1D 00 00 07 00 DD 4E EA DD 46 EB 09 5E 23\r
+T 47 1E 00 00\r
 R 00 00 01 00\r
-T D1 1D 00 00 56 23 4E 23 46 EB 3E 08 CD\r
+T 47 1E 00 00 69 60 DD 4E FA DD 46 FB 09 23 CB\r
 R 00 00 01 00\r
-T DA 1D 00 00 00 00 00 00 DD 75 F4 21 07 00 DD\r
-R 00 00 01 00 02 04 14 00\r
-T E3 1D 00 00 4E EA DD 46 EB 09 5E 23 56 23 4E\r
+T 52 1E 00 00 EE\r
 R 00 00 01 00\r
-T EE 1D 00 00 23 46 EB 3E 10 CD 00 00 00 00 DD\r
-R 00 00 01 00 02 0A 14 00\r
-T F7 1D 00 00 75 F5 21 07 00 DD 4E EA DD 46 EB\r
+T 53 1E 00 00\r
 R 00 00 01 00\r
-T 02 1E 00 00 09 5E 23 56 23 4E 23 46 EB 3E 18\r
+T 53 1E 00 00 21 17 00 DD 4E FA DD 46 FB 09 36\r
 R 00 00 01 00\r
-T 0D 1E 00 00 CD 00 00 00 00 DD 75 F6 21 06 00\r
-R 00 00 01 00 02 05 14 00\r
-T 16 1E 00 00 39 4D 44 DD 5E EC DD 56 ED 3E\r
+T 5E 1E 00 00 6D 19 00 00 23 36 6D 19 00 00 23\r
+R 00 00 01 00 09 04 01 00 89 0A 01 00\r
+T 63 1E 00 00 36 6D 19 00 00 21 1A 00 09 36\r
+R 00 00 01 00 29 05 01 00\r
+T 6A 1E 00 00 CC 0F 00 00 23 36 CC 0F 00 00 23\r
+R 00 00 01 00 09 04 01 00 89 0A 01 00\r
+T 6F 1E 00 00 36 CC 0F 00 00 DD 4E FC DD 46 FD\r
+R 00 00 01 00 29 05 01 00\r
+T 77 1E 00 00 DD 5E FA DD 56 FB 3E 8B 19 00 00\r
+R 00 00 01 00 29 0B 01 00\r
+T 7F 1E 00 00 21 8B 19 00 00 CD 00 00 00 00 DD\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T 86 1E 00 00 4E FA DD 46 FB C5 FD 5E 11 FD 56\r
 R 00 00 01 00\r
-T 20 1E 00 00 0E 19 00 00 21 0E 19 00 00 CD\r
-R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 25 1E 00 00 00 00 00 00 DD 4E EC DD 46 ED C5\r
-R 00 00 01 00 02 04 0C 00\r
-T 2E 1E 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
+T 91 1E 00 00 12 FD 6E 11 FD 66 12 01 1D 00 09\r
 R 00 00 01 00\r
-T 39 1E 00 00 12 01 1D 00 09 4E 23 46 23 7E 69\r
+T 9C 1E 00 00 4E 23 46 23 7E 69 60 C1 CD\r
 R 00 00 01 00\r
-T 44 1E 00 00 60 C1 CD 00 00 00 00\r
-R 00 00 01 00 02 07 0C 00\r
-T 49 1E 00 00\r
+T A5 1E 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T A7 1E 00 00\r
 R 00 00 01 00\r
-T 49 1E 00 00 DD 6E EA DD 66 EB 23 23 23 3E 04\r
+T A7 1E 00 00 DD 6E F8 DD 66 F9 23 23 23 3E 04\r
 R 00 00 01 00\r
-T 54 1E 00 00 AE 23 B6 C2 E7 1F 00 00\r
+T B2 1E 00 00 AE 23 B6 C2 45 20 00 00\r
 R 00 00 01 00 00 08 01 00\r
-T 5A 1E 00 00\r
+T B8 1E 00 00\r
 R 00 00 01 00\r
-T 5A 1E 00 00 21 01 00 E5 FD 6E 11 FD 66 12 01\r
+T B8 1E 00 00 21 01 00 E5 FD 6E 11 FD 66 12 01\r
 R 00 00 01 00\r
-T 65 1E 00 00 08 00 09 46 23 66 68 01 F6 FF 09\r
+T C3 1E 00 00 08 00 09 46 23 66 68 01 F6 FF 09\r
 R 00 00 01 00\r
-T 70 1E 00 00 E5 FD 6E 11 FD 66 12 01 06 00 09\r
+T CE 1E 00 00 E5 FD 6E 11 FD 66 12 01 06 00 09\r
 R 00 00 01 00\r
-T 7B 1E 00 00 46 23 66 68 01 F6 FF 09 E5 01\r
+T D9 1E 00 00 46 23 66 68 01 F6 FF 09 E5 01\r
 R 00 00 01 00\r
-T 85 1E 00 00 05 00 59 50 3E 1A 15 00 00 21\r
+T E3 1E 00 00 05 00 59 50 3E 8E 15 00 00 21\r
 R 00 00 01 00 29 09 01 00\r
-T 8C 1E 00 00 1A 15 00 00 CD 00 00 00 00 F1 F1\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 93 1E 00 00 F1 DD 75 EC DD 74 ED 01 0A 00 09\r
+T EA 1E 00 00 8E 15 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T F1 1E 00 00 F1 DD 75 FA DD 74 FB 01 0A 00 09\r
 R 00 00 01 00\r
-T 9E 1E 00 00 36 03 23 36 10 21 0E 00 DD 4E EC\r
+T FC 1E 00 00 36 03 23 36 10 21 0E 00 DD 4E FA\r
 R 00 00 01 00\r
-T A9 1E 00 00 DD 46 ED 09 36 30 23 36 00 AF DD\r
+T 07 1F 00 00 DD 46 FB 09 36 30 23 36 00 AF DD\r
 R 00 00 01 00\r
-T B4 1E 00 00 77 FE DD 77 FF\r
+T 12 1F 00 00 77 FE DD 77 FF\r
 R 00 00 01 00\r
-T B9 1E 00 00\r
+T 17 1F 00 00\r
 R 00 00 01 00\r
-T B9 1E 00 00 21 05 00 DD 4E EA DD 46 EB 09 5E\r
+T 17 1F 00 00 21 05 00 DD 4E F8 DD 46 F9 09 5E\r
 R 00 00 01 00\r
-T C4 1E 00 00 23 56 06 0C CD 00 00 00 00 4B 42\r
-R 00 00 01 00 02 09 17 00\r
-T CD 1E 00 00 DD 6E FE DD 66 FF CD 00 00 00 00\r
-R 00 00 01 00 02 0B 10 00\r
-T D6 1E 00 00 30 04 3E 01 18 01\r
+T 22 1F 00 00 23 56 06 0C CD 00 00 00 00 4B 42\r
+R 00 00 01 00 02 09 15 00\r
+T 2B 1F 00 00 DD 6E FE DD 66 FF CD 00 00 00 00\r
+R 00 00 01 00 02 0B 0F 00\r
+T 34 1F 00 00 30 04 3E 01 18 01\r
 R 00 00 01 00\r
-T DC 1E 00 00\r
+T 3A 1F 00 00\r
 R 00 00 01 00\r
-T DC 1E 00 00 AF\r
+T 3A 1F 00 00 AF\r
 R 00 00 01 00\r
-T DD 1E 00 00\r
+T 3B 1F 00 00\r
 R 00 00 01 00\r
-T DD 1E 00 00 E6 0F CA 7B 1F 00 00\r
+T 3B 1F 00 00 E6 0F CA D9 1F 00 00\r
 R 00 00 01 00 00 07 01 00\r
-T E2 1E 00 00\r
+T 40 1F 00 00\r
 R 00 00 01 00\r
-T E2 1E 00 00 21 05 00 DD 4E EA DD 46 EB 09 46\r
+T 40 1F 00 00 21 05 00 DD 4E F8 DD 46 F9 09 46\r
 R 00 00 01 00\r
-T ED 1E 00 00 23 7E 68 E6 0F 67 DD 4E FE DD 46\r
+T 4B 1F 00 00 23 7E 68 E6 0F 67 DD 4E FE DD 46\r
 R 00 00 01 00\r
-T F8 1E 00 00 FF 09 29 E5 21 08 00 ED 5B\r
+T 56 1F 00 00 FF 09 29 E5 21 0C 00 ED 5B\r
 R 00 00 01 00\r
-T 01 1F 00 00 00 00 00 00 19 5E 23 56 E1 19 2B\r
+T 5F 1F 00 00 00 00 00 00 19 5E 23 56 E1 19 2B\r
 R 00 00 01 00 00 04 04 00\r
-T 0A 1F 00 00 2B 5E 23 56 D5 21 10 00 E5 2E 06\r
+T 68 1F 00 00 2B 5E 23 56 D5 21 10 00 E5 2E 06\r
 R 00 00 01 00\r
-T 15 1F 00 00 DD 5E EC DD 56 ED 19 6E 26 00 01\r
+T 73 1F 00 00 DD 5E FA DD 56 FB 19 6E 26 00 01\r
 R 00 00 01 00\r
-T 20 1F 00 00 F0 FF 09 E5 DD 6E FE DD 66 FF 29\r
+T 7E 1F 00 00 F0 FF 09 E5 DD 6E FE DD 66 FF 29\r
 R 00 00 01 00\r
-T 2B 1F 00 00 29 4D 44 29 09 01 14 00 09 4D 44\r
+T 89 1F 00 00 29 4D 44 29 09 01 14 00 09 4D 44\r
 R 00 00 01 00\r
-T 36 1F 00 00 11 08 00 3E 97 18 00 00 21\r
+T 94 1F 00 00 11 08 00 3E 09 19 00 00 21\r
 R 00 00 01 00 29 08 01 00\r
-T 3C 1F 00 00 97 18 00 00 CD 00 00 00 00 F1 F1\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 43 1F 00 00 F1 DD 75 FC DD 74 FD 01 0E 00 09\r
+T 9A 1F 00 00 09 19 00 00 CD 00 00 00 00 F1 F1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T A1 1F 00 00 F1 DD 75 FC DD 74 FD 01 0E 00 09\r
 R 00 00 01 00\r
-T 4E 1F 00 00 36 30 23 70 DD 4E FC DD 46 FD C5\r
+T AC 1F 00 00 36 30 23 70 DD 4E FC DD 46 FD C5\r
 R 00 00 01 00\r
-T 59 1F 00 00 DD 5E EC 4B DD 56 ED 42 21 1D 00\r
+T B7 1F 00 00 DD 5E FA 4B DD 56 FB 42 21 1D 00\r
 R 00 00 01 00\r
-T 64 1F 00 00 09 4E 23 46 23 7E 69 60 C1 CD\r
+T C2 1F 00 00 09 4E 23 46 23 7E 69 60 C1 CD\r
 R 00 00 01 00\r
-T 6E 1F 00 00 00 00 00 00 DD 34 FE 20 03 DD 34\r
-R 00 00 01 00 02 04 0C 00\r
-T 77 1F 00 00 FF\r
+T CC 1F 00 00 00 00 00 00 DD 34 FE 20 03 DD 34\r
+R 00 00 01 00 02 04 0B 00\r
+T D5 1F 00 00 FF\r
 R 00 00 01 00\r
-T 78 1F 00 00\r
+T D6 1F 00 00\r
 R 00 00 01 00\r
-T 78 1F 00 00 C3 B9 1E 00 00\r
+T D6 1F 00 00 C3 17 1F 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T 7B 1F 00 00\r
+T D9 1F 00 00\r
 R 00 00 01 00\r
-T 7B 1F 00 00 01 15 00 00 00 DD 5E EC DD 56 ED\r
+T D9 1F 00 00 01 2B 00 00 00 DD 5E FA DD 56 FB\r
 R 00 00 01 00 00 05 02 00\r
-T 84 1F 00 00 3E 59 06 00 00 21 59 06 00 00 CD\r
+T E2 1F 00 00 3E E8 06 00 00 21 E8 06 00 00 CD\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 8A 1F 00 00 00 00 00 00 01 FF 00 CD\r
-R 00 00 01 00 02 04 0C 00\r
-T 90 1F 00 00 08 20 00 00 01 0E 00 09 36 30 23\r
+T E8 1F 00 00 00 00 00 00 01 FF 00 CD\r
+R 00 00 01 00 02 04 0B 00\r
+T EE 1F 00 00 B9 20 00 00 01 0E 00 09 36 30 23\r
 R 00 00 01 00 00 04 01 00\r
-T 99 1F 00 00 70 0E FE CD 08 20 00 00 EB CD\r
+T F7 1F 00 00 70 0E FE CD B9 20 00 00 EB CD\r
 R 00 00 01 00 00 08 01 00\r
-T A1 1F 00 00 8F 09 00 00 DD 4E EC DD 46 ED C5\r
+T FF 1F 00 00 1E 0A 00 00 DD 4E FA DD 46 FB C5\r
 R 00 00 01 00 00 04 01 00\r
-T AA 1F 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
+T 08 20 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
+R 00 00 01 00\r
+T 13 20 00 00 12 01 1D 00 09 4E 23 46 23 7E 69\r
+R 00 00 01 00\r
+T 1E 20 00 00 60 C1 CD 00 00 00 00 21 00 00 E5\r
+R 00 00 01 00 02 07 0B 00\r
+T 27 20 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
+R 00 00 01 00\r
+T 32 20 00 00 12 01 17 00 09 4E 23 46 23 7E 69\r
+R 00 00 01 00\r
+T 3D 20 00 00 60 01 03 01 CD 00 00 00 00 E1\r
+R 00 00 01 00 02 09 0B 00\r
+T 45 20 00 00\r
+R 00 00 01 00\r
+T 45 20 00 00 DD 6E F8 DD 66 F9 23 23 23 3E 05\r
+R 00 00 01 00\r
+T 50 20 00 00 AE 23 B6 20 1D\r
+R 00 00 01 00\r
+T 55 20 00 00\r
+R 00 00 01 00\r
+T 55 20 00 00 21 05 00 DD 4E F8 DD 46 F9 09 5E\r
+R 00 00 01 00\r
+T 60 20 00 00 23 56 D5 21 07 00 09 4D 44 2A\r
+R 00 00 01 00\r
+T 6A 20 00 00 00 00 00 00 23 23 CD 26 01 00 00\r
+R 00 00 01 00 00 04 04 00 00 0B 01 00\r
+T 71 20 00 00 F1\r
+R 00 00 01 00\r
+T 72 20 00 00\r
 R 00 00 01 00\r
-T B5 1F 00 00 12 01 1D 00 09 4E 23 46 23 7E 69\r
+T 72 20 00 00 DD 6E F8 DD 66 F9 23 23 23 3E 06\r
 R 00 00 01 00\r
-T C0 1F 00 00 60 C1 CD 00 00 00 00 21 00 00 E5\r
-R 00 00 01 00 02 07 0C 00\r
-T C9 1F 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66\r
+T 7D 20 00 00 AE 23 B6 20 16\r
 R 00 00 01 00\r
-T D4 1F 00 00 12 01 17 00 09 4E 23 46 23 7E 69\r
+T 82 20 00 00\r
 R 00 00 01 00\r
-T DF 1F 00 00 60 01 03 01 CD 00 00 00 00 E1\r
-R 00 00 01 00 02 09 0C 00\r
-T E7 1F 00 00\r
+T 82 20 00 00 21 05 00 DD 4E F8 DD 46 F9 09 5E\r
 R 00 00 01 00\r
-T E7 1F 00 00 21 10 00 ED 4B 00 00 00 00 09 7E\r
+T 8D 20 00 00 23 56 D5 21 07 00 09 CD\r
+R 00 00 01 00\r
+T 95 20 00 00 1C 01 00 00 F1\r
+R 00 00 01 00 00 04 01 00\r
+T 98 20 00 00\r
+R 00 00 01 00\r
+T 98 20 00 00 21 18 00 ED 4B 00 00 00 00 09 7E\r
 R 00 00 01 00 00 09 04 00\r
-T F0 1F 00 00 23 B6 23 B6 28 0D\r
+T A1 20 00 00 23 B6 23 B6 28 0D\r
 R 00 00 01 00\r
-T F6 1F 00 00\r
+T A7 20 00 00\r
 R 00 00 01 00\r
-T F6 1F 00 00 FD E5 D1 21 10 00 ED 4B\r
+T A7 20 00 00 FD E5 D1 21 18 00 ED 4B\r
 R 00 00 01 00\r
-T FE 1F 00 00 00 00 00 00 CD 94 0D 00 00\r
+T AF 20 00 00 00 00 00 00 CD FF 0D 00 00\r
 R 00 00 01 00 00 04 04 00 00 09 01 00\r
-T 03 20 00 00\r
+T B4 20 00 00\r
 R 00 00 01 00\r
-T 03 20 00 00 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 07 05 00\r
-T 08 20 00 00\r
+T B4 20 00 00 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 07 04 00\r
+T B9 20 00 00\r
 R 00 00 01 00\r
-T 08 20 00 00 DD 5E EC DD 56 ED 3E 8E 07 00 00\r
+T B9 20 00 00 DD 5E FA DD 56 FB 3E 1D 08 00 00\r
 R 00 00 01 00 29 0B 01 00\r
-T 10 20 00 00 21 8E 07 00 00 C3 00 00 00 00\r
-R 00 00 01 00 00 05 01 00 02 0A 0C 00\r
-T 16 20 00 00\r
+T C1 20 00 00 21 1D 08 00 00 C3 00 00 00 00\r
+R 00 00 01 00 00 05 01 00 02 0A 0B 00\r
+T C7 20 00 00\r
 R 00 00 01 00\r
-T 16 20 00 00 CD 00 00 00 00 F8 FF FD E5 03 0A\r
-R 00 00 01 00 02 05 0F 00\r
-T 1F 20 00 00 DD 77 FE 03 0A DD 77 FF 03 69 60\r
+T C7 20 00 00 CD 00 00 00 00 F8 FF FD E5 03 0A\r
+R 00 00 01 00 02 05 0E 00\r
+T D0 20 00 00 DD 77 FE 03 0A DD 77 FF 03 69 60\r
 R 00 00 01 00\r
-T 2A 20 00 00 4E DD 71 FC 23 46 DD 70 FD DD 6E\r
+T DB 20 00 00 4E DD 71 FC 23 46 DD 70 FD DD 6E\r
 R 00 00 01 00\r
-T 35 20 00 00 FE 67 29 EB CD C6 1C 00 00 DD 75\r
+T E6 20 00 00 FE 67 29 EB CD 32 1D 00 00 DD 75\r
 R 00 00 01 00 00 09 01 00\r
-T 3E 20 00 00 FA DD 74 FB 59 50 CD CE 04 00 00\r
+T EF 20 00 00 FA DD 74 FB 59 50 CD 5D 05 00 00\r
 R 00 00 01 00 00 0B 01 00\r
-T 47 20 00 00 C5 4D 44 DD 5E 02 DD 56 03 CD\r
+T F8 20 00 00 C5 4D 44 DD 5E 02 DD 56 03 3E\r
 R 00 00 01 00\r
-T 51 20 00 00 BE 1C 00 00 F1 11 00 00 AF DD 77\r
-R 00 00 01 00 00 04 01 00\r
-T 5A 20 00 00 F8 DD 77 F9\r
+T 02 21 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 14 00 02 09 14 00\r
+T 07 21 00 00 00 00 00 00 F1 11 00 00 AF DD 77\r
+R 00 00 01 00 02 04 0B 00\r
+T 10 21 00 00 F8 DD 77 F9\r
 R 00 00 01 00\r
-T 5E 20 00 00\r
+T 14 21 00 00\r
 R 00 00 01 00\r
-T 5E 20 00 00 DD 4E FC DD 46 FD 6B 62 CD\r
+T 14 21 00 00 DD 4E FC DD 46 FD 6B 62 CD\r
 R 00 00 01 00\r
-T 67 20 00 00 00 00 00 00 30 35 CD DC 20 00 00\r
-R 00 00 01 00 02 04 10 00 00 0B 01 00\r
-T 6E 20 00 00 30 30\r
+T 1D 21 00 00 00 00 00 00 30 35 CD 92 21 00 00\r
+R 00 00 01 00 02 04 0F 00 00 0B 01 00\r
+T 24 21 00 00 30 30\r
 R 00 00 01 00\r
-T 70 20 00 00\r
+T 26 21 00 00\r
 R 00 00 01 00\r
-T 70 20 00 00\r
+T 26 21 00 00\r
 R 00 00 01 00\r
-T 70 20 00 00\r
+T 26 21 00 00\r
 R 00 00 01 00\r
-T 70 20 00 00 23 DD 75 F8 DD 74 F9 2B 29 DD 4E\r
+T 26 21 00 00 23 DD 75 F8 DD 74 F9 2B 29 DD 4E\r
 R 00 00 01 00\r
-T 7B 20 00 00 FA DD 46 FB 09 E5 FD E5 E1 19 4D\r
+T 31 21 00 00 FA DD 46 FB 09 E5 FD E5 E1 19 4D\r
 R 00 00 01 00\r
-T 86 20 00 00 44 E1 71 23 70\r
+T 3C 21 00 00 44 E1 71 23 70\r
 R 00 00 01 00\r
-T 8B 20 00 00\r
+T 41 21 00 00\r
 R 00 00 01 00\r
-T 8B 20 00 00 FD E5 E1 19 7E B7 28 03\r
+T 41 21 00 00 FD E5 E1 19 7E B7 28 03\r
 R 00 00 01 00\r
-T 93 20 00 00\r
+T 49 21 00 00\r
 R 00 00 01 00\r
-T 93 20 00 00 13 18 F5\r
+T 49 21 00 00 13 18 F5\r
 R 00 00 01 00\r
-T 96 20 00 00\r
+T 4C 21 00 00\r
 R 00 00 01 00\r
-T 96 20 00 00 6B 62 13 FD E5 C1 09 77 18 BE\r
+T 4C 21 00 00 6B 62 13 FD E5 C1 09 77 18 BE\r
 R 00 00 01 00\r
-T A0 20 00 00\r
+T 56 21 00 00\r
 R 00 00 01 00\r
-T A0 20 00 00 CD DC 20 00 00 30 13\r
+T 56 21 00 00 CD 92 21 00 00 30 13\r
 R 00 00 01 00 00 05 01 00\r
-T A5 20 00 00\r
+T 5B 21 00 00\r
 R 00 00 01 00\r
-T A5 20 00 00 29 DD 4E FA DD 46 FB 09 E5 FD E5\r
+T 5B 21 00 00 29 DD 4E FA DD 46 FB 09 E5 FD E5\r
 R 00 00 01 00\r
-T B0 20 00 00 E1 19 4D 44 E1 71 23 70\r
+T 66 21 00 00 E1 19 4D 44 E1 71 23 70\r
 R 00 00 01 00\r
-T B8 20 00 00\r
+T 6E 21 00 00\r
 R 00 00 01 00\r
-T B8 20 00 00 21 06 00 ED 4B 00 00 00 00 09 FD\r
+T 6E 21 00 00 21 0A 00 ED 4B 00 00 00 00 09 FD\r
 R 00 00 01 00 00 09 04 00\r
-T C1 20 00 00 E5 C1 71 23 70 21 08 00 ED 4B\r
+T 77 21 00 00 E5 C1 71 23 70 21 0C 00 ED 4B\r
 R 00 00 01 00\r
-T CB 20 00 00 00 00 00 00 09 DD 4E FA 71 DD 46\r
+T 81 21 00 00 00 00 00 00 09 DD 4E FA 71 DD 46\r
 R 00 00 01 00 00 04 04 00\r
-T D4 20 00 00 FB 23 70 FD E1 C3 00 00 00 00\r
-R 00 00 01 00 02 0A 05 00\r
-T DC 20 00 00\r
+T 8A 21 00 00 FB 23 70 FD E1 C3 00 00 00 00\r
+R 00 00 01 00 02 0A 04 00\r
+T 92 21 00 00\r
 R 00 00 01 00\r
-T DC 20 00 00 DD 4E FE DD 46 FF DD 6E F8 DD 66\r
+T 92 21 00 00 DD 4E FE DD 46 FF DD 6E F8 DD 66\r
 R 00 00 01 00\r
-T E7 20 00 00 F9 C3 00 00 00 00\r
-R 00 00 01 00 02 06 10 00\r
-T EB 20 00 00\r
+T 9D 21 00 00 F9 C3 00 00 00 00\r
+R 00 00 01 00 02 06 0F 00\r
+T A1 21 00 00\r
 R 00 00 01 00\r
-T EB 20 00 00 2A 00 00 00 00 C3 00 00 00 00\r
+T A1 21 00 00 2A 00 00 00 00 C3 00 00 00 00\r
 R 00 00 01 00 00 05 04 00 02 0A 00 00\r
-T F1 20 00 00\r
+T A7 21 00 00\r
 R 00 00 01 00\r
-T F1 20 00 00 C5 D5 11 13 00 CD C6 1C 00 00 22\r
+T A7 21 00 00 C5 D5 11 1B 00 CD 32 1D 00 00 22\r
 R 00 00 01 00 00 0A 01 00\r
-T FA 20 00 00 00 00 00 00 AF 77 23 77 21 04 00\r
+T B0 21 00 00 00 00 00 00 AF 77 23 77 21 08 00\r
 R 00 00 01 00 00 04 04 00\r
-T 03 21 00 00 ED 4B 00 00 00 00 09 77 23 77 21\r
+T B9 21 00 00 ED 4B 00 00 00 00 09 77 23 77 21\r
 R 00 00 01 00 00 06 04 00\r
-T 0C 21 00 00 0A 00 ED 4B 00 00 00 00 09 77 23\r
+T C2 21 00 00 12 00 ED 4B 00 00 00 00 09 77 23\r
 R 00 00 01 00 00 08 04 00\r
-T 15 21 00 00 77 21 0C 00 ED 4B 00 00 00 00 09\r
+T CB 21 00 00 77 21 14 00 ED 4B 00 00 00 00 09\r
 R 00 00 01 00 00 0A 04 00\r
-T 1E 21 00 00 77 23 77 21 08 00 ED 4B\r
+T D4 21 00 00 77 23 77 21 0C 00 ED 4B\r
 R 00 00 01 00\r
-T 26 21 00 00 00 00 00 00 09 77 23 77 21 06 00\r
+T DC 21 00 00 00 00 00 00 09 77 23 77 21 0A 00\r
 R 00 00 01 00 00 04 04 00\r
-T 2F 21 00 00 ED 4B 00 00 00 00 09 77 23 77 21\r
+T E5 21 00 00 ED 4B 00 00 00 00 09 77 23 77 21\r
 R 00 00 01 00 00 06 04 00\r
-T 38 21 00 00 10 00 ED 4B 00 00 00 00 09 77 23\r
+T EE 21 00 00 18 00 ED 4B 00 00 00 00 09 77 23\r
 R 00 00 01 00 00 08 04 00\r
-T 41 21 00 00 77 23 77 3E 00 00 00 00 21\r
+T F7 21 00 00 77 23 77 3E 1B 00 00 00 21\r
 R 00 00 01 00 29 08 01 00\r
-T 47 21 00 00 00 00 00 00 CD 00 00 00 00 21\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 4D 21 00 00 00 00 E5 E5 0E 70 05 00 00 C5 21\r
+T FD 21 00 00 1B 00 00 00 CD 00 00 00 00 21\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T 03 22 00 00 00 00 E5 E5 0E FF 05 00 00 C5 21\r
 R 00 00 01 00 29 09 01 00\r
-T 55 21 00 00 70 05 00 00 E5 0E 8C 05 00 00 C5\r
+T 0B 22 00 00 FF 05 00 00 E5 0E 1B 06 00 00 C5\r
 R 00 00 01 00 00 04 01 00 29 0A 01 00\r
-T 5B 21 00 00 21 8C 05 00 00 E5 11 30 00 CD\r
+T 11 22 00 00 21 1B 06 00 00 E5 11 30 00 CD\r
 R 00 00 01 00 00 05 01 00\r
-T 63 21 00 00 10 22 00 00 21 0C 00 39 F9 21\r
+T 19 22 00 00 C6 22 00 00 21 0C 00 39 F9 21\r
 R 00 00 01 00 00 04 01 00\r
-T 6B 21 00 00 00 00 E5 E5 0E 70 05 00 00 C5 21\r
+T 21 22 00 00 00 00 E5 E5 0E FF 05 00 00 C5 21\r
 R 00 00 01 00 29 09 01 00\r
-T 73 21 00 00 70 05 00 00 E5 0E 9D 05 00 00 C5\r
+T 29 22 00 00 FF 05 00 00 E5 0E 2C 06 00 00 C5\r
 R 00 00 01 00 00 04 01 00 29 0A 01 00\r
-T 79 21 00 00 21 9D 05 00 00 E5 11 31 00 CD\r
+T 2F 22 00 00 21 2C 06 00 00 E5 11 31 00 CD\r
 R 00 00 01 00 00 05 01 00\r
-T 81 21 00 00 10 22 00 00 21 0C 00 39 F9 21\r
+T 37 22 00 00 C6 22 00 00 21 0C 00 39 F9 21\r
 R 00 00 01 00 00 04 01 00\r
-T 89 21 00 00 00 00 E5 E5 0E 83 05 00 00 C5 21\r
+T 3F 22 00 00 00 00 E5 E5 0E 12 06 00 00 C5 21\r
 R 00 00 01 00 29 09 01 00\r
-T 91 21 00 00 83 05 00 00 E5 0E A6 05 00 00 C5\r
+T 47 22 00 00 12 06 00 00 E5 0E 35 06 00 00 C5\r
 R 00 00 01 00 00 04 01 00 29 0A 01 00\r
-T 97 21 00 00 21 A6 05 00 00 E5 11 32 00 CD\r
+T 4D 22 00 00 21 35 06 00 00 E5 11 32 00 CD\r
 R 00 00 01 00 00 05 01 00\r
-T 9F 21 00 00 10 22 00 00 21 0C 00 39 F9 21\r
+T 55 22 00 00 C6 22 00 00 21 0C 00 39 F9 21\r
 R 00 00 01 00 00 04 01 00\r
-T A7 21 00 00 0E 00 ED 4B 00 00 00 00 09 E5 11\r
+T 5D 22 00 00 16 00 ED 4B 00 00 00 00 09 E5 11\r
 R 00 00 01 00 00 08 04 00\r
-T B0 21 00 00 80 00 D5 5A D5 4B 42 3E\r
+T 66 22 00 00 80 00 D5 5A D5 4B 42 3E\r
 R 00 00 01 00\r
-T B8 21 00 00 71 0F 00 00 21 71 0F 00 00 CD\r
+T 6E 22 00 00 11 10 00 00 21 11 10 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T BD 21 00 00 00 00 00 00 F1 F1 4D 44 E1 71 23\r
-R 00 00 01 00 02 04 0C 00\r
-T C6 21 00 00 70 21 0E 00 ED 4B 00 00 00 00 09\r
+T 73 22 00 00 00 00 00 00 F1 F1 4D 44 E1 71 23\r
+R 00 00 01 00 02 04 0B 00\r
+T 7C 22 00 00 70 21 16 00 ED 4B 00 00 00 00 09\r
 R 00 00 01 00 00 0A 04 00\r
-T CF 21 00 00 56 23 66 6A 11 0A 00 19 36 01 23\r
+T 85 22 00 00 56 23 66 6A 11 0A 00 19 36 01 23\r
 R 00 00 01 00\r
-T DA 21 00 00 72 21 0E 00 ED 4B 00 00 00 00 09\r
+T 90 22 00 00 72 21 16 00 ED 4B 00 00 00 00 09\r
 R 00 00 01 00 00 0A 04 00\r
-T E3 21 00 00 56 23 66 6A 11 17 00 19 36\r
+T 99 22 00 00 56 23 66 6A 11 17 00 19 36\r
 R 00 00 01 00\r
-T EC 21 00 00 F0 18 00 00 23 36 F0 18 00 00 23\r
+T A2 22 00 00 6D 19 00 00 23 36 6D 19 00 00 23\r
 R 00 00 01 00 09 04 01 00 89 0A 01 00\r
-T F1 21 00 00 36 F0 18 00 00 21 0E 00 ED 4B\r
+T A7 22 00 00 36 6D 19 00 00 21 16 00 ED 4B\r
 R 00 00 01 00 29 05 01 00\r
-T F8 21 00 00 00 00 00 00 09 46 23 66 68 01\r
+T AE 22 00 00 00 00 00 00 09 46 23 66 68 01\r
 R 00 00 01 00 00 04 04 00\r
-T 00 22 00 00 1A 00 09 36 2C 0F 00 00 23 36\r
+T B6 22 00 00 1A 00 09 36 CC 0F 00 00 23 36\r
 R 00 00 01 00 09 08 01 00\r
-T 07 22 00 00 2C 0F 00 00 23 36 2C 0F 00 00 D1\r
+T BD 22 00 00 CC 0F 00 00 23 36 CC 0F 00 00 D1\r
 R 00 00 01 00 89 04 01 00 29 0A 01 00\r
-T 0C 22 00 00 C1 C3 00 00 00 00\r
+T C2 22 00 00 C1 C3 00 00 00 00\r
 R 00 00 01 00 02 06 00 00\r
-T 10 22 00 00\r
+T C6 22 00 00\r
 R 00 00 01 00\r
-T 10 22 00 00 3E 33 04 00 00 21 33 04 00 00 C3\r
+T C6 22 00 00 3E C2 04 00 00 21 C2 04 00 00 C3\r
 R 00 00 01 00 29 05 01 00 00 0A 01 00\r
-T 16 22 00 00 00 00 00 00\r
-R 00 00 01 00 02 04 0C 00\r
-T 18 22 00 00\r
+T CC 22 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T CE 22 00 00\r
 R 00 00 01 00\r
-T 18 22 00 00 C5 D5 21 0E 00 ED 4B 00 00 00 00\r
+T CE 22 00 00 C5 D5 21 16 00 ED 4B 00 00 00 00\r
 R 00 00 01 00 00 0B 04 00\r
-T 21 22 00 00 09 5E 23 56 CD 8F 09 00 00 3E\r
+T D7 22 00 00 09 5E 23 56 CD 1E 0A 00 00 3E\r
 R 00 00 01 00 00 09 01 00\r
-T 29 22 00 00 BD 02 00 00 21 BD 02 00 00 CD\r
+T DF 22 00 00 58 03 00 00 21 58 03 00 00 CD\r
 R 00 00 01 00 29 04 01 00 00 09 01 00\r
-T 2E 22 00 00 00 00 00 00 3E 8E 00 00 00 21\r
-R 00 00 01 00 02 04 0C 00 29 09 01 00\r
-T 33 22 00 00 8E 00 00 00 CD 00 00 00 00 D1 C1\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 3A 22 00 00 C3 00 00 00 00\r
+T E4 22 00 00 00 00 00 00 3E 39 01 00 00 21\r
+R 00 00 01 00 02 04 0B 00 29 09 01 00\r
+T E9 22 00 00 39 01 00 00 CD 00 00 00 00 D1 C1\r
+R 00 00 01 00 00 04 01 00 02 09 0B 00\r
+T F0 22 00 00 C3 00 00 00 00\r
 R 00 00 01 00 02 05 00 00\r
-T 3D 22 00 00\r
+T F3 22 00 00\r
 R 00 00 01 00\r
-T 3D 22 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD\r
-R 00 00 01 00 02 05 0F 00\r
-T 46 22 00 00 46 03 21 0E 00 ED 5B 00 00 00 00\r
-R 00 00 01 00 00 0B 04 00\r
-T 4F 22 00 00 19 5E 23 56 3E 0E 19 00 00 21\r
-R 00 00 01 00 29 09 01 00\r
-T 56 22 00 00 0E 19 00 00 CD 00 00 00 00\r
-R 00 00 01 00 00 04 01 00 02 09 0C 00\r
-T 5B 22 00 00\r
+T F3 22 00 00 C5 DD E5 D5 F5 F5 F5 F5 4B 42 21\r
 R 00 00 01 00\r
-T 5B 22 00 00 21 04 00 ED 4B 00 00 00 00 09 7E\r
-R 00 00 01 00 00 09 04 00\r
-T 64 22 00 00 23 B6 C2 FB 22 00 00\r
-R 00 00 01 00 00 07 01 00\r
-T 69 22 00 00\r
+T FE 22 00 00 16 00 ED 5B 00 00 00 00 19 5E 23\r
+R 00 00 01 00 00 08 04 00\r
+T 07 23 00 00 56 3E 8B 19 00 00 21 8B 19 00 00\r
+R 00 00 01 00 29 06 01 00 00 0B 01 00\r
+T 0D 23 00 00 CD 00 00 00 00 21 0E 00 ED 4B\r
+R 00 00 01 00 02 05 0B 00\r
+T 15 23 00 00 00 00 00 00 09 E5 11 10 00 CD\r
+R 00 00 01 00 00 04 04 00\r
+T 1D 23 00 00 32 1D 00 00 EB E1 73 23 72 21\r
+R 00 00 01 00 00 04 01 00\r
+T 25 23 00 00 0E 00 ED 4B 00 00 00 00 09 7E 23\r
+R 00 00 01 00 00 08 04 00\r
+T 2E 23 00 00 66 6F 36 00 21 10 00 ED 4B\r
 R 00 00 01 00\r
-T 69 22 00 00 21 01 00 E5 23 39 4D 44 2A\r
+T 37 23 00 00 00 00 00 00 09 E5 11 00 00 D5 11\r
+R 00 00 01 00 00 04 04 00\r
+T 40 23 00 00 37 00 00 00 D5 CD 14 01 00 00 F1\r
+R 00 00 01 00 00 04 02 00 00 0A 01 00\r
+T 47 23 00 00 F1 EB E1 73 23 72 21 02 00 39 E5\r
 R 00 00 01 00\r
-T 72 22 00 00 00 00 00 00 23 23 5E 23 56 CD\r
+T 52 23 00 00 21 00 00 E5 2E 10 ED 4B\r
+R 00 00 01 00\r
+T 5A 23 00 00 00 00 00 00 09 5E 23 56 D5 CD\r
 R 00 00 01 00 00 04 04 00\r
-T 7A 22 00 00 BE 1C 00 00 F1 3E 01 AD B4 20 D8\r
+T 62 23 00 00 0C 01 00 00 F1 F1 F1 21 06 00 39\r
 R 00 00 01 00 00 04 01 00\r
-T 83 22 00 00\r
+T 6B 23 00 00 36 60 23 36 00 21 02 00 39 E5 21\r
 R 00 00 01 00\r
-T 83 22 00 00 DD 4E FE 47 C5 21 21 00 00 00 E5\r
-R 00 00 01 00 00 0A 02 00\r
-T 8C 22 00 00 3E 00 00 00 00 21 00 00 00 00 CD\r
-R 00 00 01 00 2B 05 04 00 02 0A 04 00\r
-T 92 22 00 00 00 00 00 00 F1 F1 AF DD B6 FE 28\r
-R 00 00 01 00 02 04 0C 00\r
-T 9B 22 00 00 29\r
+T 76 23 00 00 01 00 E5 2E 10 09 4E 23 46 C5 CD\r
 R 00 00 01 00\r
-T 9C 22 00 00\r
+T 81 23 00 00 0C 01 00 00 F1 F1 F1 DD 21 00 00\r
+R 00 00 01 00 00 04 01 00\r
+T 8A 23 00 00\r
 R 00 00 01 00\r
-T 9C 22 00 00 4F C5 21 0E 00 ED 5B 00 00 00 00\r
-R 00 00 01 00 00 0B 04 00\r
-T A5 22 00 00 19 5E 23 56 21 0E 00 ED 4B\r
+T 8A 23 00 00 21 08 00 ED 4B 00 00 00 00 09 7E\r
+R 00 00 01 00 00 09 04 00\r
+T 93 23 00 00 23 B6 C2 AB 24 00 00\r
+R 00 00 01 00 00 07 01 00\r
+T 98 23 00 00\r
 R 00 00 01 00\r
-T AE 22 00 00 00 00 00 00 09 46 23 66 68 01\r
+T 98 23 00 00 21 01 00 E5 23 39 4D 44 21 06 00\r
+R 00 00 01 00\r
+T A3 23 00 00 ED 5B 00 00 00 00 19 5E 23 56 3E\r
+R 00 00 01 00 00 06 04 00\r
+T AC 23 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 14 00 02 09 14 00\r
+T B1 23 00 00 00 00 00 00 F1 3E 01 AD B4 20 67\r
+R 00 00 01 00 02 04 0B 00\r
+T BA 23 00 00\r
+R 00 00 01 00\r
+T BA 23 00 00 6F 67 39 B6 28 2B\r
+R 00 00 01 00\r
+T C0 23 00 00\r
+R 00 00 01 00\r
+T C0 23 00 00 4F 06 00 C5 21 16 00 ED 5B\r
+R 00 00 01 00\r
+T C9 23 00 00 00 00 00 00 19 5E 23 56 21 16 00\r
 R 00 00 01 00 00 04 04 00\r
-T B6 22 00 00 17 00 09 4E 23 46 23 7E 69 60 01\r
+T D2 23 00 00 ED 4B 00 00 00 00 09 46 23 66 68\r
+R 00 00 01 00 00 06 04 00\r
+T DB 23 00 00 01 17 00 09 4E 23 46 23 7E 69 60\r
 R 00 00 01 00\r
-T C1 22 00 00 01 00 18 29\r
+T E6 23 00 00 01 01 00 18 29\r
 R 00 00 01 00\r
-T C5 22 00 00\r
+T EB 23 00 00\r
 R 00 00 01 00\r
-T C5 22 00 00 DD 4E FF C5 21 0E 00 ED 5B\r
+T EB 23 00 00 23 4E 47 C5 21 16 00 ED 5B\r
 R 00 00 01 00\r
-T CE 22 00 00 00 00 00 00 19 5E 23 56 21 0E 00\r
+T F4 23 00 00 00 00 00 00 19 5E 23 56 21 16 00\r
 R 00 00 01 00 00 04 04 00\r
-T D7 22 00 00 ED 4B 00 00 00 00 09 46 23 66 68\r
+T FD 23 00 00 ED 4B 00 00 00 00 09 46 23 66 68\r
 R 00 00 01 00 00 06 04 00\r
-T E0 22 00 00 01 17 00 09 4E 23 46 23 7E 69 60\r
+T 06 24 00 00 01 17 00 09 4E 23 46 23 7E 69 60\r
+R 00 00 01 00\r
+T 11 24 00 00 01 02 00\r
+R 00 00 01 00\r
+T 14 24 00 00\r
 R 00 00 01 00\r
-T EB 22 00 00 01 02 00\r
+T 14 24 00 00 CD 00 00 00 00 E1\r
+R 00 00 01 00 02 05 0B 00\r
+T 18 24 00 00\r
+R 00 00 01 00\r
+T 18 24 00 00 21 01 00 39 E5 2B 46 E1 70\r
+R 00 00 01 00\r
+T 21 24 00 00\r
 R 00 00 01 00\r
-T EE 22 00 00\r
+T 21 24 00 00 21 01 00 E5 23 39 4D 44 21 10 00\r
 R 00 00 01 00\r
-T EE 22 00 00 CD 00 00 00 00 E1\r
-R 00 00 01 00 02 05 0C 00\r
-T F2 22 00 00\r
+T 2C 24 00 00 ED 5B 00 00 00 00 19 5E 23 56 3E\r
+R 00 00 01 00 00 06 04 00\r
+T 35 24 00 00 00 00 00 00 21 00 00 00 00 CD\r
+R 00 00 01 00 2B 04 14 00 02 09 14 00\r
+T 3A 24 00 00 00 00 00 00 F1 3E 01 AD B4 20 65\r
+R 00 00 01 00 02 04 0B 00\r
+T 43 24 00 00\r
+R 00 00 01 00\r
+T 43 24 00 00 6F 67 39 3E 10 BE 21 0E 00 ED 4B\r
 R 00 00 01 00\r
-T F2 22 00 00 DD 46 FE DD 70 FF\r
+T 4E 24 00 00 00 00 00 00 30 15\r
+R 00 00 01 00 00 04 04 00\r
+T 52 24 00 00\r
 R 00 00 01 00\r
-T F8 22 00 00\r
+T 52 24 00 00 09 46 23 66 68 DD E5 C1 09 E5 21\r
 R 00 00 01 00\r
-T F8 22 00 00 C3 5B 22 00 00\r
+T 5D 24 00 00 02 00 39 46 E1 70 DD 23 18 41\r
+R 00 00 01 00\r
+T 67 24 00 00\r
+R 00 00 01 00\r
+T 67 24 00 00 09 56 23 66 6A DD E5 D1 19 36 00\r
+R 00 00 01 00\r
+T 72 24 00 00 21 0E 00 ED 4B 00 00 00 00 09 E5\r
+R 00 00 01 00 00 09 04 00\r
+T 7B 24 00 00 21 16 00 ED 5B 00 00 00 00 19 5E\r
+R 00 00 01 00 00 09 04 00\r
+T 84 24 00 00 23 56 21 16 00 ED 4B 00 00 00 00\r
+R 00 00 01 00 00 0B 04 00\r
+T 8D 24 00 00 09 46 23 66 68 01 17 00 09 4E 23\r
+R 00 00 01 00\r
+T 98 24 00 00 46 23 7E 69 60 01 01 04 CD\r
+R 00 00 01 00\r
+T A1 24 00 00 00 00 00 00 E1 DD 21 00 00\r
+R 00 00 01 00 02 04 0B 00\r
+T A8 24 00 00\r
+R 00 00 01 00\r
+T A8 24 00 00\r
+R 00 00 01 00\r
+T A8 24 00 00 C3 8A 23 00 00\r
 R 00 00 01 00 00 05 01 00\r
-T FB 22 00 00\r
+T AB 24 00 00\r
+R 00 00 01 00\r
+T AB 24 00 00 21 0A 00 39 F9 DD E1 C1 C3\r
 R 00 00 01 00\r
-T FB 22 00 00 C3 00 00 00 00\r
-R 00 00 01 00 02 05 05 00\r
+T B4 24 00 00 00 00 00 00\r
+R 00 00 01 00 02 04 00 00\r
 T 00 00 00 00\r
 R 00 00 02 00\r
 T 00 00 00 00 2F 64 65 76 2F 6C 63 64 30 00\r
 R 00 00 02 00\r
 T 0A 00 00 00\r
 R 00 00 02 00\r
-T 0A 00 00 00 4F 4B 00\r
+T 0A 00 00 00 2F 64 65 76 2F 6C 63 64 31 00\r
 R 00 00 02 00\r
-T 0D 00 00 00\r
+T 14 00 00 00\r
 R 00 00 02 00\r
-T 0D 00 00 00 43 61 6E 63 65 6C 00\r
+T 14 00 00 00 48 59 54 45 43 48 20 31 30 30 30\r
 R 00 00 02 00\r
-T 14 00 00 00\r
+T 1F 00 00 00 00\r
 R 00 00 02 00\r
-T 14 00 00 00 00\r
+T 20 00 00 00\r
 R 00 00 02 00\r
-T 15 00 00 00\r
+T 20 00 00 00 4F 4B 00\r
 R 00 00 02 00\r
-T 15 00 00 00 4D 65 73 73 61 67 65 20 42 6F 78\r
+T 23 00 00 00\r
 R 00 00 02 00\r
-T 20 00 00 00 00\r
+T 23 00 00 00 43 61 6E 63 65 6C 00\r
 R 00 00 02 00\r
-T 21 00 00 00\r
+T 2A 00 00 00\r
+R 00 00 02 00\r
+T 2A 00 00 00 00\r
+R 00 00 02 00\r
+T 2B 00 00 00\r
+R 00 00 02 00\r
+T 2B 00 00 00 4D 65 73 73 61 67 65 20 42 6F 78\r
 R 00 00 02 00\r
-T 21 00 00 00 30 78 25 30 32 78 0A 00\r
+T 36 00 00 00 00\r
+R 00 00 02 00\r
+T 37 00 00 00\r
+R 00 00 02 00\r
+T 37 00 00 00 2F 64 65 76 2F 62 61 72 63 6F 64\r
+R 00 00 02 00\r
+T 42 00 00 00 65 00\r
 R 00 00 02 00\r
 T 00 00 00 00\r
 R 00 00 03 00\r
@@ -3422,12 +3601,6 @@ T 24 00 00 00
 R 00 00 03 00\r
 T 24 00 00 00 1B 00\r
 R 00 00 03 00\r
-T 26 00 00 00\r
-R 00 00 03 00\r
-T 26 00 00 00 2F 77 6E 64 2F 30 30 30 30 2E 73\r
-R 00 00 03 00\r
-T 31 00 00 00 63 72 00\r
-R 00 00 03 00\r
 T 00 00 00 00\r
 R 00 00 04 00\r
 T 00 00 00 00\r
index 9d43b4e..09d99d2 100644 (file)
                                      40        PUBLIC  Label_paint\r
                                      41        PUBLIC  Move\r
                                      42        PUBLIC  Root_paint\r
-                                     43        PUBLIC  Text\r
-                                     44        PUBLIC  ToggleButton_handler\r
-                                     45        PUBLIC  ToggleButton_new\r
-                                     46        PUBLIC  ToggleButton_paint\r
-                                     47        PUBLIC  TouchRegion\r
-                                     48        PUBLIC  Window_add\r
-                                     49        PUBLIC  Window_handler\r
-                                     50        PUBLIC  Window_new\r
-                                     51        PUBLIC  Window_paint\r
-                                     52        EXTERN  _read\r
-                                     53        EXTERN  _write\r
-                                     54        EXTERN  close\r
-                                     55        EXTERN  fflush\r
-                                     56        PUBLIC  fontSearch\r
-                                     57        EXTERN  free\r
-                                     58        PUBLIC  global\r
-                                     59        PUBLIC  grSetFont\r
-                                     60        PUBLIC  gui_globals\r
-                                     61        EXTERN  ioctl\r
-                                     62        PUBLIC  loadFont\r
-                                     63        EXTERN  malloc\r
-                                     64        EXTERN  open\r
-                                     65        EXTERN  printf\r
+                                     43        PUBLIC  SetCurrentGraphicsDevice\r
+                                     44        PUBLIC  Text\r
+                                     45        PUBLIC  ToggleButton_handler\r
+                                     46        PUBLIC  ToggleButton_new\r
+                                     47        PUBLIC  ToggleButton_paint\r
+                                     48        PUBLIC  TouchRegion\r
+                                     49        PUBLIC  Window_add\r
+                                     50        PUBLIC  Window_handler\r
+                                     51        PUBLIC  Window_new\r
+                                     52        PUBLIC  Window_paint\r
+                                     53        EXTERN  _read\r
+                                     54        EXTERN  _write\r
+                                     55        EXTERN  close\r
+                                     56        EXTERN  fflush\r
+                                     57        PUBLIC  fontSearch\r
+                                     58        EXTERN  free\r
+                                     59        PUBLIC  global\r
+                                     60        PUBLIC  grSetFont\r
+                                     61        PUBLIC  gui_globals\r
+                                     62        EXTERN  ioctl\r
+                                     63        PUBLIC  loadFont\r
+                                     64        EXTERN  malloc\r
+                                     65        EXTERN  open\r
                                      66        PUBLIC  read_stringtable\r
                                      67        PUBLIC  rootWindow_handler\r
                                      68        PUBLIC  root_actionhandler\r
                                      82        EXTERN  ?SS_DIV_L02\r
                                      83        EXTERN  ?S_MUL_L02\r
                                      84        EXTERN  ?SS_CMP_L02\r
-                                     85        EXTERN  ?SL_RSH_L03\r
-                                     86        EXTERN  ?C_V_SWITCH_L06\r
-                                     87        EXTERN  ?S_V_SWITCH_L06\r
-                                     88        EXTERN  ?BANK_CALL_DIRECT_L08\r
-                                     89        EXTERN  ?BANK_LEAVE_DIRECT_L08\r
-                                     90        EXTERN  ?BANK_FAST_LEAVE_L08\r
-                                     91        EXTERN  ?ENT_PARM_DIRECT_L09\r
-                                     92        EXTERN  ?ENT_AUTO_DIRECT_L09\r
-                                     93        RSEG    CODE\r
-    000045C9                         94 GraphicsOpen:\r
-    000045C9 CD 88 81                95        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000045CC F8 FF                   96        DEFW    65528\r
-    000045CE 21 06 00                97        LD      HL,6\r
-    000045D1 39                      98        ADD     HL,SP\r
-    000045D2 EB                      99        EX      DE,HL\r
-    000045D3 21 81 84               100        LD      HL,?0000\r
-    000045D6 01 02 00               101        LD      BC,2\r
-    000045D9 ED B0                  102        LDIR\r
-    000045DB 2A C0 86               103        LD      HL,(global)\r
-    000045DE 23                     104        INC     HL\r
-    000045DF 23                     105        INC     HL\r
-    000045E0 E5                     106        PUSH    HL\r
-    000045E1 03                     107        INC     BC\r
-    000045E2 03                     108        INC     BC\r
-    000045E3 C5                     109        PUSH    BC\r
-    000045E4 01 B5 84               110        LD      BC,?0001\r
-    000045E7 C5                     111        PUSH    BC\r
-    000045E8 3E 01                  112        LD      A,BYTE3 open\r
-    000045EA 21 AD 42               113        LD      HL,LWRD open\r
-    000045ED CD 5E 81               114        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000045F0 F1                     115        POP     AF\r
-    000045F1 F1                     116        POP     AF\r
-    000045F2 4D                     117        LD      C,L\r
-    000045F3 44                     118        LD      B,H\r
-    000045F4 E1                     119        POP     HL\r
-    000045F5 71                     120        LD      (HL),C\r
-    000045F6 23                     121        INC     HL\r
-    000045F7 70                     122        LD      (HL),B\r
-    000045F8 21 00 00               123        LD      HL,0\r
-    000045FB 39                     124        ADD     HL,SP\r
-    000045FC E5                     125        PUSH    HL\r
-    000045FD 21 00 00               126        LD      HL,0\r
-    00004600 E5                     127        PUSH    HL\r
-    00004601 2A C0 86               128        LD      HL,(global)\r
-    00004604 23                     129        INC     HL\r
-    00004605 23                     130        INC     HL\r
-    00004606 4E                     131        LD      C,(HL)\r
-    00004607 23                     132        INC     HL\r
-    00004608 46                     133        LD      B,(HL)\r
-    00004609 C5                     134        PUSH    BC\r
-    0000460A 3E 00                  135        LD      A,BYTE3 ioctl\r
-    0000460C 21 68 73               136        LD      HL,LWRD ioctl\r
-    0000460F CD 5E 81               137        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004612 F1                     138        POP     AF\r
-    00004613 F1                     139        POP     AF\r
-    00004614 F1                     140        POP     AF\r
-    00004615 DD 36 FC 60            141        LD      (IX-4),96\r
-    00004619 DD 36 FD 00            142        LD      (IX-3),0\r
-    0000461D 21 00 00               143        LD      HL,0\r
-    00004620 39                     144        ADD     HL,SP\r
-    00004621 E5                     145        PUSH    HL\r
-    00004622 21 01 00               146        LD      HL,1\r
-    00004625 E5                     147        PUSH    HL\r
-    00004626 2A C0 86               148        LD      HL,(global)\r
-    00004629 23                     149        INC     HL\r
-    0000462A 23                     150        INC     HL\r
-    0000462B 4E                     151        LD      C,(HL)\r
-    0000462C 23                     152        INC     HL\r
-    0000462D 46                     153        LD      B,(HL)\r
-    0000462E C5                     154        PUSH    BC\r
-    0000462F 3E 00                  155        LD      A,BYTE3 ioctl\r
-    00004631 21 68 73               156        LD      HL,LWRD ioctl\r
-    00004634 CD 5E 81               157        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004637 F1                     158        POP     AF\r
-    00004638 F1                     159        POP     AF\r
-    00004639 F1                     160        POP     AF\r
-    0000463A 21 02 00               161        LD      HL,2\r
-    0000463D E5                     162        PUSH    HL\r
-    0000463E 2E 08                  163        LD      L,8\r
-    00004640                        164 ?0372:\r
-    00004640 39                     165        ADD     HL,SP\r
-    00004641 4D                     166        LD      C,L\r
-    00004642                        167 ?0427:\r
-    00004642 44                     168        LD      B,H\r
-    00004643 2A C0 86               169        LD      HL,(global)\r
-    00004646                        170 ?0428:\r
-    00004646 23                     171        INC     HL\r
-    00004647 23                     172        INC     HL\r
-    00004648                        173 ?0429:\r
-    00004648 5E                     174        LD      E,(HL)\r
-    00004649 23                     175        INC     HL\r
-    0000464A                        176 ?0430:\r
-    0000464A 56                     177        LD      D,(HL)\r
-    0000464B 3E 00                  178        LD      A,BYTE3 _write\r
-    0000464D                        179 ?0431:\r
-    0000464D 21 D1 6D               180        LD      HL,LWRD _write\r
-    00004650 CD 5E 81               181        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004653 F1                     182        POP     AF\r
-    00004654 C3 1F 81               183        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004657                        184 GraphicsClose:\r
-    00004657 D5                     185        PUSH    DE\r
-    00004658 2A C0 86               186        LD      HL,(global)\r
-    0000465B 23                     187        INC     HL\r
-    0000465C 23                     188        INC     HL\r
-    0000465D 5E                     189        LD      E,(HL)\r
-    0000465E 23                     190        INC     HL\r
-    0000465F 56                     191        LD      D,(HL)\r
-    00004660 3E 00                  192        LD      A,BYTE3 close\r
-    00004662 21 2B 72               193        LD      HL,LWRD close\r
-    00004665 CD 5E 81               194        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004668 D1                     195        POP     DE\r
-    00004669 C3 25 81               196        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    0000466C                        197 Move:\r
-    0000466C CD 88 81               198        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000466F FC FF                  199        DEFW    65532\r
-    00004671 21 00 00               200        LD      HL,0\r
-    00004674 39                     201        ADD     HL,SP\r
-    00004675 EB                     202        EX      DE,HL\r
-    00004676 21 83 84               203        LD      HL,?0002\r
-    00004679 01 04 00               204        LD      BC,4\r
-    0000467C ED B0                  205        LDIR\r
-    0000467E DD 46 02               206        LD      B,(IX+2)\r
-    00004681 DD 70 FE               207        LD      (IX-2),B\r
-    00004684 DD 46 04               208        LD      B,(IX+4)\r
-    00004687 DD 70 FF               209        LD      (IX-1),B\r
-    0000468A 21 04 00               210        LD      HL,4\r
-    0000468D E5                     211        PUSH    HL\r
-    0000468E 2B                     212        DEC     HL\r
-    0000468F 2B                     213        DEC     HL\r
-    00004690 C3 40 46               214        JP      LWRD ?0372\r
-    00004693 4D                     215        LD      C,L\r
-    00004694                        216 ?0381:\r
-    00004694 C3 42 46               217        JP      LWRD ?0427\r
-    00004697 2A C0 86               218        LD      HL,(global)\r
-    0000469A 23                     219        INC     HL\r
-    0000469B 23                     220        INC     HL\r
-    0000469C                        221 ?0432:\r
-    0000469C 5E                     222        LD      E,(HL)\r
-    0000469D 23                     223        INC     HL\r
-    0000469E                        224 ?0433:\r
-    0000469E 56                     225        LD      D,(HL)\r
-    0000469F 3E 00                  226        LD      A,BYTE3 _write\r
-    000046A1                        227 ?0434:\r
-    000046A1 C3 4D 46               228        JP      LWRD ?0431\r
-    000046A4 CD 5E 81               229        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+                                     85        EXTERN  ?C_V_SWITCH_L06\r
+                                     86        EXTERN  ?S_V_SWITCH_L06\r
+                                     87        EXTERN  ?BANK_CALL_DIRECT_L08\r
+                                     88        EXTERN  ?BANK_LEAVE_DIRECT_L08\r
+                                     89        EXTERN  ?BANK_FAST_LEAVE_L08\r
+                                     90        EXTERN  ?ENT_PARM_DIRECT_L09\r
+                                     91        EXTERN  ?ENT_AUTO_DIRECT_L09\r
+                                     92        RSEG    CODE\r
+    000045C8                         93 SetCurrentGraphicsDevice:\r
+    000045C8 CD 52 81                94        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000045CB 21 06 00                95        LD      HL,6\r
+    000045CE ED 4B BF 86             96        LD      BC,(global)\r
+    000045D2 09                      97        ADD     HL,BC\r
+    000045D3 E5                      98        PUSH    HL\r
+    000045D4 EB                      99        EX      DE,HL\r
+    000045D5 29                     100        ADD     HL,HL\r
+    000045D6 09                     101        ADD     HL,BC\r
+    000045D7 23                     102        INC     HL\r
+    000045D8 23                     103        INC     HL\r
+    000045D9 4E                     104        LD      C,(HL)\r
+    000045DA 23                     105        INC     HL\r
+    000045DB 46                     106        LD      B,(HL)\r
+    000045DC E1                     107        POP     HL\r
+    000045DD 71                     108        LD      (HL),C\r
+    000045DE 23                     109        INC     HL\r
+    000045DF 70                     110        LD      (HL),B\r
+    000045E0 C3 1F 81               111        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000045E3                        112 GraphicsOpen:\r
+    000045E3 CD 88 81               113        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000045E6 F8 FF                  114        DEFW    65528\r
+    000045E8 21 06 00               115        LD      HL,6\r
+    000045EB 39                     116        ADD     HL,SP\r
+    000045EC EB                     117        EX      DE,HL\r
+    000045ED 21 73 84               118        LD      HL,?0000\r
+    000045F0 01 02 00               119        LD      BC,2\r
+    000045F3 ED B0                  120        LDIR\r
+    000045F5 2A BF 86               121        LD      HL,(global)\r
+    000045F8 23                     122        INC     HL\r
+    000045F9 23                     123        INC     HL\r
+    000045FA E5                     124        PUSH    HL\r
+    000045FB 03                     125        INC     BC\r
+    000045FC 03                     126        INC     BC\r
+    000045FD C5                     127        PUSH    BC\r
+    000045FE 01 99 84               128        LD      BC,?0001\r
+    00004601 C5                     129        PUSH    BC\r
+    00004602 CD DC 46               130        CALL    LWRD ?0444\r
+    00004605 F1                     131        POP     AF\r
+    00004606 F1                     132        POP     AF\r
+    00004607 4D                     133        LD      C,L\r
+    00004608 44                     134        LD      B,H\r
+    00004609 E1                     135        POP     HL\r
+    0000460A 71                     136        LD      (HL),C\r
+    0000460B 23                     137        INC     HL\r
+    0000460C 70                     138        LD      (HL),B\r
+    0000460D 21 00 00               139        LD      HL,0\r
+    00004610 39                     140        ADD     HL,SP\r
+    00004611 E5                     141        PUSH    HL\r
+    00004612 21 00 00               142        LD      HL,0\r
+    00004615 E5                     143        PUSH    HL\r
+    00004616 2A BF 86               144        LD      HL,(global)\r
+    00004619 23                     145        INC     HL\r
+    0000461A 23                     146        INC     HL\r
+    0000461B 4E                     147        LD      C,(HL)\r
+    0000461C 23                     148        INC     HL\r
+    0000461D 46                     149        LD      B,(HL)\r
+    0000461E C5                     150        PUSH    BC\r
+    0000461F CD D4 46               151        CALL    LWRD ?0443\r
+    00004622 F1                     152        POP     AF\r
+    00004623 F1                     153        POP     AF\r
+    00004624 F1                     154        POP     AF\r
+    00004625 DD 36 FC 60            155        LD      (IX-4),96\r
+    00004629 DD 36 FD 00            156        LD      (IX-3),0\r
+    0000462D 21 00 00               157        LD      HL,0\r
+    00004630 39                     158        ADD     HL,SP\r
+    00004631 E5                     159        PUSH    HL\r
+    00004632 21 01 00               160        LD      HL,1\r
+    00004635 E5                     161        PUSH    HL\r
+    00004636 2A BF 86               162        LD      HL,(global)\r
+    00004639 23                     163        INC     HL\r
+    0000463A 23                     164        INC     HL\r
+    0000463B 4E                     165        LD      C,(HL)\r
+    0000463C 23                     166        INC     HL\r
+    0000463D 46                     167        LD      B,(HL)\r
+    0000463E C5                     168        PUSH    BC\r
+    0000463F CD D4 46               169        CALL    LWRD ?0443\r
+    00004642 F1                     170        POP     AF\r
+    00004643 F1                     171        POP     AF\r
+    00004644 F1                     172        POP     AF\r
+    00004645 21 02 00               173        LD      HL,2\r
+    00004648 E5                     174        PUSH    HL\r
+    00004649 2E 08                  175        LD      L,8\r
+    0000464B 39                     176        ADD     HL,SP\r
+    0000464C 4D                     177        LD      C,L\r
+    0000464D 44                     178        LD      B,H\r
+    0000464E 2A BF 86               179        LD      HL,(global)\r
+    00004651 23                     180        INC     HL\r
+    00004652 23                     181        INC     HL\r
+    00004653 CD EE 46               182        CALL    LWRD ?0445\r
+    00004656 F1                     183        POP     AF\r
+    00004657 21 04 00               184        LD      HL,4\r
+    0000465A ED 4B BF 86            185        LD      BC,(global)\r
+    0000465E 09                     186        ADD     HL,BC\r
+    0000465F E5                     187        PUSH    HL\r
+    00004660 11 02 00               188        LD      DE,2\r
+    00004663 D5                     189        PUSH    DE\r
+    00004664 11 A3 84               190        LD      DE,?0002\r
+    00004667 D5                     191        PUSH    DE\r
+    00004668 CD DC 46               192        CALL    LWRD ?0444\r
+    0000466B F1                     193        POP     AF\r
+    0000466C F1                     194        POP     AF\r
+    0000466D EB                     195        EX      DE,HL\r
+    0000466E E1                     196        POP     HL\r
+    0000466F 73                     197        LD      (HL),E\r
+    00004670 23                     198        INC     HL\r
+    00004671 72                     199        LD      (HL),D\r
+    00004672 21 00 00               200        LD      HL,0\r
+    00004675 39                     201        ADD     HL,SP\r
+    00004676 E5                     202        PUSH    HL\r
+    00004677 21 00 00               203        LD      HL,0\r
+    0000467A E5                     204        PUSH    HL\r
+    0000467B 2E 04                  205        LD      L,4\r
+    0000467D ED 4B BF 86            206        LD      BC,(global)\r
+    00004681 09                     207        ADD     HL,BC\r
+    00004682 5E                     208        LD      E,(HL)\r
+    00004683 23                     209        INC     HL\r
+    00004684 56                     210        LD      D,(HL)\r
+    00004685 D5                     211        PUSH    DE\r
+    00004686 CD D4 46               212        CALL    LWRD ?0443\r
+    00004689 F1                     213        POP     AF\r
+    0000468A F1                     214        POP     AF\r
+    0000468B F1                     215        POP     AF\r
+    0000468C DD 36 FC 60            216        LD      (IX-4),96\r
+    00004690 DD 36 FD 00            217        LD      (IX-3),0\r
+    00004694 21 00 00               218        LD      HL,0\r
+    00004697 39                     219        ADD     HL,SP\r
+    00004698 E5                     220        PUSH    HL\r
+    00004699 21 01 00               221        LD      HL,1\r
+    0000469C E5                     222        PUSH    HL\r
+    0000469D 2E 04                  223        LD      L,4\r
+    0000469F 09                     224        ADD     HL,BC\r
+    000046A0 5E                     225        LD      E,(HL)\r
+    000046A1 23                     226        INC     HL\r
+    000046A2 56                     227        LD      D,(HL)\r
+    000046A3 D5                     228        PUSH    DE\r
+    000046A4 CD D4 46               229        CALL    LWRD ?0443\r
     000046A7 F1                     230        POP     AF\r
-    000046A8 C3 1F 81               231        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000046AB                        232 ClearRect:\r
-    000046AB CD 88 81               233        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000046AE FC FF                  234        DEFW    65532\r
-    000046B0 21 00 00               235        LD      HL,0\r
-    000046B3 39                     236        ADD     HL,SP\r
-    000046B4 EB                     237        EX      DE,HL\r
-    000046B5 21 87 84               238        LD      HL,?0003\r
-    000046B8 01 04 00               239        LD      BC,4\r
-    000046BB ED B0                  240        LDIR\r
-    000046BD DD 46 02               241        LD      B,(IX+2)\r
-    000046C0 DD 70 FE               242        LD      (IX-2),B\r
-    000046C3 DD 46 04               243        LD      B,(IX+4)\r
-    000046C6 DD 70 FF               244        LD      (IX-1),B\r
-    000046C9 21 04 00               245        LD      HL,4\r
-    000046CC E5                     246        PUSH    HL\r
-    000046CD 2B                     247        DEC     HL\r
-    000046CE 2B                     248        DEC     HL\r
-    000046CF C3 40 46               249        JP      LWRD ?0372\r
-    000046D2 4D                     250        LD      C,L\r
-    000046D3 C3 94 46               251        JP      LWRD ?0381\r
-    000046D6 2A C0 86               252        LD      HL,(global)\r
-    000046D9                        253 ?0389:\r
-    000046D9 C3 46 46               254        JP      LWRD ?0428\r
-    000046DC 23                     255        INC     HL\r
-    000046DD C3 9C 46               256        JP      LWRD ?0432\r
-    000046E0 23                     257        INC     HL\r
-    000046E1 56                     258        LD      D,(HL)\r
-    000046E2 3E 00                  259        LD      A,BYTE3 _write\r
-    000046E4                        260 ?0435:\r
-    000046E4 C3 4D 46               261        JP      LWRD ?0431\r
-    000046E7 CD 5E 81               262        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000046EA F1                     263        POP     AF\r
-    000046EB C3 1F 81               264        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000046EE                        265 DrawRectNC:\r
-    000046EE CD 88 81               266        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000046F1 FC FF                  267        DEFW    65532\r
-    000046F3 21 00 00               268        LD      HL,0\r
-    000046F6 39                     269        ADD     HL,SP\r
-    000046F7 EB                     270        EX      DE,HL\r
-    000046F8 21 8B 84               271        LD      HL,?0004\r
-    000046FB 01 04 00               272        LD      BC,4\r
-    000046FE ED B0                  273        LDIR\r
-    00004700 DD 46 02               274        LD      B,(IX+2)\r
-    00004703 DD 70 FE               275        LD      (IX-2),B\r
-    00004706 DD 46 04               276        LD      B,(IX+4)\r
-    00004709 DD 70 FF               277        LD      (IX-1),B\r
-    0000470C 21 04 00               278        LD      HL,4\r
-    0000470F E5                     279        PUSH    HL\r
-    00004710 2B                     280        DEC     HL\r
-    00004711 2B                     281        DEC     HL\r
-    00004712 C3 40 46               282        JP      LWRD ?0372\r
-    00004715 4D                     283        LD      C,L\r
-    00004716 C3 94 46               284        JP      LWRD ?0381\r
-    00004719 2A C0 86               285        LD      HL,(global)\r
-    0000471C C3 D9 46               286        JP      LWRD ?0389\r
-    0000471F 23                     287        INC     HL\r
-    00004720                        288 ?0396:\r
-    00004720 C3 48 46               289        JP      LWRD ?0429\r
-    00004723 23                     290        INC     HL\r
-    00004724 C3 9E 46               291        JP      LWRD ?0433\r
-    00004727 3E 00                  292        LD      A,BYTE3 _write\r
-    00004729 C3 E4 46               293        JP      LWRD ?0435\r
-    0000472C CD 5E 81               294        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000472F F1                     295        POP     AF\r
-    00004730 C3 1F 81               296        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004733                        297 FillRect:\r
-    00004733 CD 88 81               298        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004736 FC FF                  299        DEFW    65532\r
-    00004738 21 00 00               300        LD      HL,0\r
-    0000473B 39                     301        ADD     HL,SP\r
-    0000473C EB                     302        EX      DE,HL\r
-    0000473D 21 8F 84               303        LD      HL,?0005\r
-    00004740 01 04 00               304        LD      BC,4\r
-    00004743 ED B0                  305        LDIR\r
-    00004745 DD 46 02               306        LD      B,(IX+2)\r
-    00004748 DD 70 FE               307        LD      (IX-2),B\r
-    0000474B DD 46 04               308        LD      B,(IX+4)\r
-    0000474E DD 70 FF               309        LD      (IX-1),B\r
-    00004751 21 04 00               310        LD      HL,4\r
-    00004754 E5                     311        PUSH    HL\r
-    00004755 2B                     312        DEC     HL\r
-    00004756 2B                     313        DEC     HL\r
-    00004757 C3 40 46               314        JP      LWRD ?0372\r
-    0000475A 4D                     315        LD      C,L\r
-    0000475B C3 94 46               316        JP      LWRD ?0381\r
-    0000475E 2A C0 86               317        LD      HL,(global)\r
-    00004761 C3 D9 46               318        JP      LWRD ?0389\r
-    00004764 23                     319        INC     HL\r
-    00004765 C3 20 47               320        JP      LWRD ?0396\r
-    00004768 23                     321        INC     HL\r
-    00004769                        322 ?0402:\r
-    00004769 C3 4A 46               323        JP      LWRD ?0430\r
-    0000476C 3E 00                  324        LD      A,BYTE3 _write\r
-    0000476E C3 A1 46               325        JP      LWRD ?0434\r
-    00004771 CD 5E 81               326        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004774 F1                     327        POP     AF\r
-    00004775 C3 1F 81               328        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004778                        329 FillRectNC:\r
-    00004778 CD 88 81               330        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000477B FC FF                  331        DEFW    65532\r
-    0000477D 21 00 00               332        LD      HL,0\r
-    00004780 39                     333        ADD     HL,SP\r
-    00004781 EB                     334        EX      DE,HL\r
-    00004782 21 93 84               335        LD      HL,?0006\r
-    00004785 01 04 00               336        LD      BC,4\r
-    00004788 ED B0                  337        LDIR\r
-    0000478A DD 46 02               338        LD      B,(IX+2)\r
-    0000478D DD 70 FE               339        LD      (IX-2),B\r
-    00004790 DD 46 04               340        LD      B,(IX+4)\r
-    00004793 DD 70 FF               341        LD      (IX-1),B\r
-    00004796 21 04 00               342        LD      HL,4\r
-    00004799 E5                     343        PUSH    HL\r
-    0000479A 2B                     344        DEC     HL\r
-    0000479B 2B                     345        DEC     HL\r
-    0000479C C3 40 46               346        JP      LWRD ?0372\r
-    0000479F 4D                     347        LD      C,L\r
-    000047A0 C3 94 46               348        JP      LWRD ?0381\r
-    000047A3 2A C0 86               349        LD      HL,(global)\r
-    000047A6 C3 D9 46               350        JP      LWRD ?0389\r
-    000047A9 23                     351        INC     HL\r
-    000047AA C3 20 47               352        JP      LWRD ?0396\r
-    000047AD 23                     353        INC     HL\r
-    000047AE C3 69 47               354        JP      LWRD ?0402\r
-    000047B1 3E 00                  355        LD      A,BYTE3 _write\r
-    000047B3                        356 ?0407:\r
-    000047B3 C3 4D 46               357        JP      LWRD ?0431\r
-    000047B6 CD 5E 81               358        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000047B9 F1                     359        POP     AF\r
-    000047BA C3 1F 81               360        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000047BD                        361 GrayRect:\r
-    000047BD CD 88 81               362        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000047C0 FC FF                  363        DEFW    65532\r
-    000047C2 21 00 00               364        LD      HL,0\r
-    000047C5 39                     365        ADD     HL,SP\r
-    000047C6 EB                     366        EX      DE,HL\r
-    000047C7 21 97 84               367        LD      HL,?0007\r
-    000047CA 01 04 00               368        LD      BC,4\r
-    000047CD ED B0                  369        LDIR\r
-    000047CF DD 46 02               370        LD      B,(IX+2)\r
-    000047D2 DD 70 FE               371        LD      (IX-2),B\r
-    000047D5 DD 46 04               372        LD      B,(IX+4)\r
-    000047D8 DD 70 FF               373        LD      (IX-1),B\r
-    000047DB 21 04 00               374        LD      HL,4\r
-    000047DE E5                     375        PUSH    HL\r
-    000047DF 2B                     376        DEC     HL\r
-    000047E0 2B                     377        DEC     HL\r
-    000047E1 C3 40 46               378        JP      LWRD ?0372\r
-    000047E4 4D                     379        LD      C,L\r
-    000047E5 C3 94 46               380        JP      LWRD ?0381\r
-    000047E8 2A C0 86               381        LD      HL,(global)\r
-    000047EB C3 D9 46               382        JP      LWRD ?0389\r
-    000047EE 23                     383        INC     HL\r
-    000047EF C3 20 47               384        JP      LWRD ?0396\r
-    000047F2 23                     385        INC     HL\r
-    000047F3 C3 69 47               386        JP      LWRD ?0402\r
-    000047F6 3E 00                  387        LD      A,BYTE3 _write\r
-    000047F8 C3 B3 47               388        JP      LWRD ?0407\r
-    000047FB CD 5E 81               389        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000047FE F1                     390        POP     AF\r
-    000047FF C3 1F 81               391        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004802                        392 Text:\r
-    00004802 C5                     393        PUSH    BC\r
-    00004803 FD E5                  394        PUSH    IY\r
-    00004805 DD E5                  395        PUSH    IX\r
-    00004807 D5                     396        PUSH    DE\r
-    00004808 DD E1                  397        POP     IX\r
-    0000480A 3E 00                  398        LD      A,BYTE3 strlen\r
-    0000480C 21 40 72               399        LD      HL,LWRD strlen\r
-    0000480F CD 5E 81               400        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004812 E5                     401        PUSH    HL\r
-    00004813 DD E5                  402        PUSH    IX\r
-    00004815 C1                     403        POP     BC\r
-    00004816 2A C0 86               404        LD      HL,(global)\r
-    00004819 23                     405        INC     HL\r
-    0000481A 23                     406        INC     HL\r
-    0000481B 5E                     407        LD      E,(HL)\r
-    0000481C 23                     408        INC     HL\r
-    0000481D 56                     409        LD      D,(HL)\r
-    0000481E 3E 00                  410        LD      A,BYTE3 _write\r
-    00004820 21 D1 6D               411        LD      HL,LWRD _write\r
-    00004823 CD 5E 81               412        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004826 F1                     413        POP     AF\r
-    00004827                        414 ?0411:\r
-    00004827 DD E1                  415        POP     IX\r
-    00004829 FD E1                  416        POP     IY\r
-    0000482B C1                     417        POP     BC\r
-    0000482C C3 25 81               418        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    0000482F                        419 TouchRegion:\r
-    0000482F CD 88 81               420        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004832 F8 FF                  421        DEFW    65528\r
-    00004834 21 00 00               422        LD      HL,0\r
-    00004837 39                     423        ADD     HL,SP\r
-    00004838 EB                     424        EX      DE,HL\r
-    00004839 21 9B 84               425        LD      HL,?0008\r
-    0000483C 01 07 00               426        LD      BC,7\r
-    0000483F ED B0                  427        LDIR\r
-    00004841 DD 46 02               428        LD      B,(IX+2)\r
-    00004844 DD 70 FA               429        LD      (IX-6),B\r
-    00004847 DD 46 04               430        LD      B,(IX+4)\r
-    0000484A DD 70 FB               431        LD      (IX-5),B\r
-    0000484D DD 46 0A               432        LD      B,(IX+10)\r
-    00004850 DD 70 FC               433        LD      (IX-4),B\r
-    00004853 DD 46 0C               434        LD      B,(IX+12)\r
-    00004856 DD 70 FD               435        LD      (IX-3),B\r
-    00004859 DD 46 0E               436        LD      B,(IX+14)\r
-    0000485C DD 70 FE               437        LD      (IX-2),B\r
-    0000485F 21 07 00               438        LD      HL,7\r
-    00004862 E5                     439        PUSH    HL\r
-    00004863 2E 02                  440        LD      L,2\r
-    00004865 C3 40 46               441        JP      LWRD ?0372\r
-    00004868 4D                     442        LD      C,L\r
-    00004869 C3 94 46               443        JP      LWRD ?0381\r
-    0000486C 2A C0 86               444        LD      HL,(global)\r
-    0000486F C3 D9 46               445        JP      LWRD ?0389\r
-    00004872 23                     446        INC     HL\r
-    00004873 C3 20 47               447        JP      LWRD ?0396\r
-    00004876 23                     448        INC     HL\r
-    00004877 C3 69 47               449        JP      LWRD ?0402\r
-    0000487A 3E 00                  450        LD      A,BYTE3 _write\r
-    0000487C C3 B3 47               451        JP      LWRD ?0407\r
-    0000487F CD 5E 81               452        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004882 F1                     453        POP     AF\r
-    00004883 C3 1F 81               454        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004886                        455 ClearScreen:\r
-    00004886 C5                     456        PUSH    BC\r
-    00004887 D5                     457        PUSH    DE\r
-    00004888 CD A0 48               458        CALL    LWRD ?0461\r
-    0000488B CD 5E 81               459        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000488E 21 80 00               460        LD      HL,128\r
-    00004891 E5                     461        PUSH    HL\r
-    00004892 6C                     462        LD      L,H\r
-    00004893 E5                     463        PUSH    HL\r
-    00004894 E5                     464        PUSH    HL\r
-    00004895 CD B8 48               465        CALL    LWRD ?0470\r
-    00004898 E1                     466        POP     HL\r
-    00004899 E1                     467        POP     HL\r
-    0000489A E1                     468        POP     HL\r
-    0000489B D1                     469        POP     DE\r
-    0000489C C1                     470        POP     BC\r
-    0000489D C3 25 81               471        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000048A0                        472 ?0461:\r
-    000048A0 01 00 00               473        LD      BC,0\r
-    000048A3 59                     474        LD      E,C\r
-    000048A4 50                     475        LD      D,B\r
-    000048A5 3E 00                  476        LD      A,BYTE3 Move\r
-    000048A7 21 6C 46               477        LD      HL,LWRD Move\r
-    000048AA CD 5E 81               478        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000048AD 01 80 00               479        LD      BC,128\r
-    000048B0 58                     480        LD      E,B\r
-    000048B1 50                     481        LD      D,B\r
-    000048B2 3E 00                  482        LD      A,BYTE3 ClearRect\r
-    000048B4 21 AB 46               483        LD      HL,LWRD ClearRect\r
-    000048B7 C9                     484        RET\r
-    000048B8                        485 ?0470:\r
-    000048B8 4D                     486        LD      C,L\r
-    000048B9 44                     487        LD      B,H\r
-    000048BA EB                     488        EX      DE,HL\r
-    000048BB                        489 ?0471:\r
-    000048BB 3E 00                  490        LD      A,BYTE3 TouchRegion\r
-    000048BD 21 2F 48               491        LD      HL,LWRD TouchRegion\r
-    000048C0 C3 5E 81               492        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    000048C3                        493 EnableScreen:\r
-    000048C3 CD 88 81               494        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000048C6 FC FF                  495        DEFW    65532\r
-    000048C8 21 00 00               496        LD      HL,0\r
-    000048CB 39                     497        ADD     HL,SP\r
-    000048CC EB                     498        EX      DE,HL\r
-    000048CD 21 A2 84               499        LD      HL,?0009\r
-    000048D0 01 03 00               500        LD      BC,3\r
-    000048D3 ED B0                  501        LDIR\r
-    000048D5 DD 46 02               502        LD      B,(IX+2)\r
-    000048D8 DD 70 FE               503        LD      (IX-2),B\r
-    000048DB 21 03 00               504        LD      HL,3\r
-    000048DE E5                     505        PUSH    HL\r
-    000048DF 2B                     506        DEC     HL\r
-    000048E0 C3 40 46               507        JP      LWRD ?0372\r
-    000048E3 4D                     508        LD      C,L\r
-    000048E4 C3 94 46               509        JP      LWRD ?0381\r
-    000048E7 2A C0 86               510        LD      HL,(global)\r
-    000048EA C3 D9 46               511        JP      LWRD ?0389\r
-    000048ED 23                     512        INC     HL\r
-    000048EE C3 20 47               513        JP      LWRD ?0396\r
-    000048F1 23                     514        INC     HL\r
-    000048F2 C3 69 47               515        JP      LWRD ?0402\r
-    000048F5 3E 00                  516        LD      A,BYTE3 _write\r
-    000048F7 C3 B3 47               517        JP      LWRD ?0407\r
-    000048FA CD 5E 81               518        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000048FD F1                     519        POP     AF\r
-    000048FE C3 1F 81               520        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004901                        521 grSetFont:\r
-    00004901 CD 88 81               522        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004904 FE FF                  523        DEFW    65534\r
-    00004906 21 00 00               524        LD      HL,0\r
-    00004909 39                     525        ADD     HL,SP\r
-    0000490A EB                     526        EX      DE,HL\r
-    0000490B 21 A5 84               527        LD      HL,?0010\r
-    0000490E 01 02 00               528        LD      BC,2\r
-    00004911 ED B0                  529        LDIR\r
-    00004913 DD 46 02               530        LD      B,(IX+2)\r
-    00004916 DD 70 FF               531        LD      (IX-1),B\r
-    00004919 21 02 00               532        LD      HL,2\r
-    0000491C E5                     533        PUSH    HL\r
-    0000491D C3 40 46               534        JP      LWRD ?0372\r
-    00004920 4D                     535        LD      C,L\r
-    00004921 C3 94 46               536        JP      LWRD ?0381\r
-    00004924 2A C0 86               537        LD      HL,(global)\r
-    00004927 C3 D9 46               538        JP      LWRD ?0389\r
-    0000492A 23                     539        INC     HL\r
-    0000492B C3 20 47               540        JP      LWRD ?0396\r
-    0000492E 23                     541        INC     HL\r
-    0000492F C3 69 47               542        JP      LWRD ?0402\r
-    00004932 3E 00                  543        LD      A,BYTE3 _write\r
-    00004934 C3 B3 47               544        JP      LWRD ?0407\r
-    00004937 CD 5E 81               545        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000493A F1                     546        POP     AF\r
-    0000493B C3 1F 81               547        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000493E                        548 fontSearch:\r
-    0000493E CD 88 81               549        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004941 00 00                  550        DEFW    0\r
-    00004943 21 0C 00               551        LD      HL,12\r
-    00004946 ED 4B C0 86            552        LD      BC,(global)\r
-    0000494A 09                     553        ADD     HL,BC\r
-    0000494B                        554 ?0321:\r
-    0000494B 46                     555        LD      B,(HL)\r
-    0000494C 23                     556        INC     HL\r
-    0000494D 66                     557        LD      H,(HL)\r
-    0000494E 68                     558        LD      L,B\r
-    0000494F EB                     559        EX      DE,HL\r
-    00004950                        560 ?0012:\r
-    00004950 7B                     561        LD      A,E\r
-    00004951 B2                     562        OR      D\r
-    00004952 28 16                  563        JR      Z,?0011\r
-    00004954 6B                     564        LD      L,E\r
-    00004955 62                     565        LD      H,D\r
-    00004956 46                     566        LD      B,(HL)\r
-    00004957 23                     567        INC     HL\r
-    00004958 66                     568        LD      H,(HL)\r
-    00004959 68                     569        LD      L,B\r
-    0000495A DD 4E 02               570        LD      C,(IX+2)\r
-    0000495D DD 46 03               571        LD      B,(IX+3)\r
-    00004960 ED 42                  572        SBC     HL,BC\r
-    00004962 28 06                  573        JR      Z,?0011\r
-    00004964                        574 ?0015:\r
-    00004964                        575 ?0014:\r
-    00004964                        576 ?0013:\r
-    00004964 21 08 00               577        LD      HL,8\r
-    00004967 19                     578        ADD     HL,DE\r
-    00004968 18 E1                  579        JR      ?0321\r
-    0000496A                        580 ?0011:\r
-    0000496A EB                     581        EX      DE,HL\r
-    0000496B C3 1F 81               582        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000496E                        583 setCurrentFont:\r
-    0000496E CD 52 81               584        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00004971 3E 00                  585        LD      A,BYTE3 fontSearch\r
-    00004973 21 3E 49               586        LD      HL,LWRD fontSearch\r
-    00004976 CD EB 49               587        CALL    LWRD ?0448\r
-    00004979 28 29                  588        JR      Z,?0017\r
-    0000497B                        589 ?0016:\r
-    0000497B DD 5E 02               590        LD      E,(IX+2)\r
-    0000497E DD 56 03               591        LD      D,(IX+3)\r
-    00004981 3E 00                  592        LD      A,BYTE3 grSetFont\r
-    00004983 21 01 49               593        LD      HL,LWRD grSetFont\r
-    00004986 CD 5E 81               594        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004989 21 0A 00               595        LD      HL,10\r
-    0000498C ED 4B C0 86            596        LD      BC,(global)\r
-    00004990 09                     597        ADD     HL,BC\r
-    00004991 E5                     598        PUSH    HL\r
-    00004992 DD 5E 02               599        LD      E,(IX+2)\r
-    00004995 DD 56 03               600        LD      D,(IX+3)\r
-    00004998 3E 00                  601        LD      A,BYTE3 fontSearch\r
-    0000499A 21 3E 49               602        LD      HL,LWRD fontSearch\r
-    0000499D CD F6 49               603        CALL    LWRD ?0449\r
-    000049A0 E1                     604        POP     HL\r
-    000049A1 71                     605        LD      (HL),C\r
-    000049A2 23                     606        INC     HL\r
-    000049A3 70                     607        LD      (HL),B\r
-    000049A4                        608 ?0017:\r
-    000049A4 C3 1F 81               609        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000049A7                        610 ?0443:\r
-    000049A7 ED 4B C0 86            611        LD      BC,(global)\r
-    000049AB 09                     612        ADD     HL,BC\r
-    000049AC 46                     613        LD      B,(HL)\r
-    000049AD 23                     614        INC     HL\r
-    000049AE 66                     615        LD      H,(HL)\r
-    000049AF 68                     616        LD      L,B\r
-    000049B0                        617 ?0442:\r
-    000049B0 23                     618        INC     HL\r
-    000049B1 23                     619        INC     HL\r
-    000049B2 4E                     620        LD      C,(HL)\r
-    000049B3 23                     621        INC     HL\r
-    000049B4 46                     622        LD      B,(HL)\r
-    000049B5 23                     623        INC     HL\r
-    000049B6 7E                     624        LD      A,(HL)\r
-    000049B7 69                     625        LD      L,C\r
-    000049B8 60                     626        LD      H,B\r
-    000049B9 CD 5E 81               627        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000049BC 4D                     628        LD      C,L\r
-    000049BD 44                     629        LD      B,H\r
-    000049BE FD 6E 06               630        LD      L,(IY+6)\r
-    000049C1 FD 66 07               631        LD      H,(IY+7)\r
-    000049C4 A7                     632        AND     A\r
-    000049C5 ED 42                  633        SBC     HL,BC\r
-    000049C7 EB                     634        EX      DE,HL\r
-    000049C8 01 02 00               635        LD      BC,2\r
-    000049CB CD C1 81               636        CALL    LWRD ?SS_DIV_L02\r
-    000049CE DD 6E 04               637        LD      L,(IX+4)\r
-    000049D1 DD 66 05               638        LD      H,(IX+5)\r
-    000049D4 19                     639        ADD     HL,DE\r
-    000049D5 EB                     640        EX      DE,HL\r
-    000049D6 3E 00                  641        LD      A,BYTE3 Move\r
-    000049D8 21 6C 46               642        LD      HL,LWRD Move\r
-    000049DB C9                     643        RET\r
-    000049DC                        644 ?0444:\r
-    000049DC CD 5E 81               645        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000049DF 4D                     646        LD      C,L\r
-    000049E0 44                     647        LD      B,H\r
-    000049E1 FD 6E 08               648        LD      L,(IY+8)\r
-    000049E4 FD 66 09               649        LD      H,(IY+9)\r
-    000049E7 A7                     650        AND     A\r
-    000049E8 ED 42                  651        SBC     HL,BC\r
-    000049EA C9                     652        RET\r
-    000049EB                        653 ?0448:\r
-    000049EB CD 5E 81               654        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000049EE 7D                     655        LD      A,L\r
-    000049EF B4                     656        OR      H\r
-    000049F0 C9                     657        RET\r
-    000049F1                        658 ?0450:\r
-    000049F1 3E 01                  659        LD      A,BYTE3 malloc\r
-    000049F3 21 D8 42               660        LD      HL,LWRD malloc\r
-    000049F6                        661 ?0449:\r
-    000049F6 CD 5E 81               662        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000049F9 4D                     663        LD      C,L\r
-    000049FA 44                     664        LD      B,H\r
-    000049FB C9                     665        RET\r
-    000049FC                        666 loadFont:\r
-    000049FC CD 88 81               667        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000049FF FC FF                  668        DEFW    65532\r
-    00004A01 FD E5                  669        PUSH    IY\r
-    00004A03 11 0E 00               670        LD      DE,14\r
-    00004A06 CD 97 4A               671        CALL    LWRD ?0447\r
-    00004A09 DD 4E 02               672        LD      C,(IX+2)\r
-    00004A0C 71                     673        LD      (HL),C\r
-    00004A0D DD 46 03               674        LD      B,(IX+3)\r
-    00004A10 23                     675        INC     HL\r
-    00004A11 70                     676        LD      (HL),B\r
-    00004A12 DD 46 0C               677        LD      B,(IX+12)\r
-    00004A15 DD 6E 0A               678        LD      L,(IX+10)\r
-    00004A18 FD 75 02               679        LD      (IY+2),L\r
-    00004A1B DD 66 0B               680        LD      H,(IX+11)\r
-    00004A1E FD 74 03               681        LD      (IY+3),H\r
-    00004A21 FD 70 04               682        LD      (IY+4),B\r
-    00004A24 DD 46 10               683        LD      B,(IX+16)\r
-    00004A27 DD 6E 0E               684        LD      L,(IX+14)\r
-    00004A2A FD 75 05               685        LD      (IY+5),L\r
-    00004A2D DD 66 0F               686        LD      H,(IX+15)\r
-    00004A30 FD 74 06               687        LD      (IY+6),H\r
-    00004A33 FD 70 07               688        LD      (IY+7),B\r
-    00004A36 AF                     689        XOR     A\r
-    00004A37 FD 77 08               690        LD      (IY+8),A\r
-    00004A3A FD 77 09               691        LD      (IY+9),A\r
-    00004A3D DD 6E 12               692        LD      L,(IX+18)\r
-    00004A40 FD 75 0A               693        LD      (IY+10),L\r
-    00004A43 DD 66 13               694        LD      H,(IX+19)\r
-    00004A46 FD 74 0B               695        LD      (IY+11),H\r
-    00004A49 DD 6E 14               696        LD      L,(IX+20)\r
-    00004A4C FD 75 0C               697        LD      (IY+12),L\r
-    00004A4F DD 66 15               698        LD      H,(IX+21)\r
-    00004A52 FD 74 0D               699        LD      (IY+13),H\r
-    00004A55 21 0C 00               700        LD      HL,12\r
-    00004A58 ED 4B C0 86            701        LD      BC,(global)\r
-    00004A5C 09                     702        ADD     HL,BC\r
-    00004A5D 7E                     703        LD      A,(HL)\r
-    00004A5E 23                     704        INC     HL\r
-    00004A5F B6                     705        OR      (HL)\r
-    00004A60 21 0C 00               706        LD      HL,12\r
-    00004A63 ED 4B C0 86            707        LD      BC,(global)\r
-    00004A67 09                     708        ADD     HL,BC\r
-    00004A68 20 10                  709        JR      NZ,?0019\r
-    00004A6A                        710 ?0018:\r
-    00004A6A FD E5                  711        PUSH    IY\r
-    00004A6C C1                     712        POP     BC\r
-    00004A6D 71                     713        LD      (HL),C\r
-    00004A6E 23                     714        INC     HL\r
-    00004A6F 70                     715        LD      (HL),B\r
-    00004A70 21 0A 00               716        LD      HL,10\r
-    00004A73 ED 4B C0 86            717        LD      BC,(global)\r
-    00004A77 09                     718        ADD     HL,BC\r
-    00004A78 18 12                  719        JR      ?0021\r
-    00004A7A                        720 ?0019:\r
-    00004A7A 46                     721        LD      B,(HL)\r
-    00004A7B 23                     722        INC     HL\r
-    00004A7C 66                     723        LD      H,(HL)\r
-    00004A7D 68                     724        LD      L,B\r
-    00004A7E EB                     725        EX      DE,HL\r
-    00004A7F                        726 ?0022:\r
-    00004A7F 21 08 00               727        LD      HL,8\r
-    00004A82 19                     728        ADD     HL,DE\r
-    00004A83 7E                     729        LD      A,(HL)\r
-    00004A84 23                     730        INC     HL\r
-    00004A85 B6                     731        OR      (HL)\r
-    00004A86 21 08 00               732        LD      HL,8\r
-    00004A89 19                     733        ADD     HL,DE\r
-    00004A8A 20 EE                  734        JR      NZ,?0019\r
-    00004A8C                        735 ?0023:\r
-    00004A8C                        736 ?0021:\r
-    00004A8C FD E5                  737        PUSH    IY\r
-    00004A8E C1                     738        POP     BC\r
-    00004A8F 71                     739        LD      (HL),C\r
-    00004A90 23                     740        INC     HL\r
-    00004A91 70                     741        LD      (HL),B\r
-    00004A92                        742 ?0020:\r
-    00004A92 FD E1                  743        POP     IY\r
-    00004A94 C3 1F 81               744        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004A97                        745 ?0447:\r
-    00004A97 3E 01                  746        LD      A,BYTE3 malloc\r
-    00004A99 21 D8 42               747        LD      HL,LWRD malloc\r
-    00004A9C CD 5E 81               748        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004A9F E5                     749        PUSH    HL\r
-    00004AA0 FD E1                  750        POP     IY\r
-    00004AA2 C9                     751        RET\r
-    00004AA3                        752 stringwidth:\r
-    00004AA3 FD E5                  753        PUSH    IY\r
-    00004AA5 DD E5                  754        PUSH    IX\r
-    00004AA7 C5                     755        PUSH    BC\r
-    00004AA8 D5                     756        PUSH    DE\r
-    00004AA9 DD 21 00 00            757        LD      IX,0\r
-    00004AAD FD 21 00 00            758        LD      IY,0\r
-    00004AB1                        759 ?0025:\r
-    00004AB1 FD E5                  760        PUSH    IY\r
-    00004AB3 21 02 00               761        LD      HL,2\r
-    00004AB6 39                     762        ADD     HL,SP\r
-    00004AB7 4E                     763        LD      C,(HL)\r
-    00004AB8 23                     764        INC     HL\r
-    00004AB9 46                     765        LD      B,(HL)\r
-    00004ABA E1                     766        POP     HL\r
-    00004ABB 09                     767        ADD     HL,BC\r
-    00004ABC 7E                     768        LD      A,(HL)\r
-    00004ABD B7                     769        OR      A\r
-    00004ABE 28 50                  770        JR      Z,?0024\r
-    00004AC0                        771 ?0026:\r
-    00004AC0 FD E5                  772        PUSH    IY\r
-    00004AC2 E1                     773        POP     HL\r
-    00004AC3 09                     774        ADD     HL,BC\r
-    00004AC4 5E                     775        LD      E,(HL)\r
-    00004AC5 CD 40 81               776        CALL    LWRD ?C_V_SWITCH_L06\r
-    00004AC8 0A 00                  777        DEFW    10\r
-    00004ACA 21                     778        DEFB    33\r
-    00004ACB 2C                     779        DEFB    44\r
-    00004ACC 2E                     780        DEFB    46\r
-    00004ACD 31                     781        DEFB    49\r
-    00004ACE 49                     782        DEFB    73\r
-    00004ACF 69                     783        DEFB    105\r
-    00004AD0 6A                     784        DEFB    106\r
-    00004AD1 6B                     785        DEFB    107\r
-    00004AD2 6C                     786        DEFB    108\r
-    00004AD3 72                     787        DEFB    114\r
-    00004AD4 FE 4A                  788        DEFW    ?0032\r
-    00004AD6 F9 4A                  789        DEFW    ?0031\r
-    00004AD8 EF 4A                  790        DEFW    ?0029\r
-    00004ADA F9 4A                  791        DEFW    ?0031\r
-    00004ADC F9 4A                  792        DEFW    ?0031\r
-    00004ADE EA 4A                  793        DEFW    ?0028\r
-    00004AE0 EA 4A                  794        DEFW    ?0028\r
-    00004AE2 F4 4A                  795        DEFW    ?0030\r
-    00004AE4 F4 4A                  796        DEFW    ?0030\r
-    00004AE6 F4 4A                  797        DEFW    ?0030\r
-    00004AE8 EA 4A                  798        DEFW    ?0028\r
-    00004AEA                        799 ?0028:\r
-    00004AEA 01 02 00               800        LD      BC,2\r
-    00004AED 18 12                  801        JR      ?0331\r
-    00004AEF                        802 ?0029:\r
-    00004AEF 01 03 00               803        LD      BC,3\r
-    00004AF2 18 0D                  804        JR      ?0331\r
-    00004AF4                        805 ?0030:\r
-    00004AF4 01 04 00               806        LD      BC,4\r
-    00004AF7 18 08                  807        JR      ?0331\r
-    00004AF9                        808 ?0031:\r
-    00004AF9 01 05 00               809        LD      BC,5\r
-    00004AFC 18 03                  810        JR      ?0331\r
-    00004AFE                        811 ?0032:\r
-    00004AFE 01 06 00               812        LD      BC,6\r
-    00004B01                        813 ?0331:\r
-    00004B01 DD 09                  814        ADD     IX,BC\r
-    00004B03                        815 ?0027:\r
-    00004B03 21 02 00               816        LD      HL,2\r
-    00004B06 39                     817        ADD     HL,SP\r
-    00004B07 4E                     818        LD      C,(HL)\r
-    00004B08 23                     819        INC     HL\r
-    00004B09 46                     820        LD      B,(HL)\r
-    00004B0A DD 09                  821        ADD     IX,BC\r
-    00004B0C FD 23                  822        INC     IY\r
-    00004B0E 18 A1                  823        JR      ?0025\r
-    00004B10                        824 ?0024:\r
-    00004B10 DD E5                  825        PUSH    IX\r
-    00004B12 E1                     826        POP     HL\r
-    00004B13 F1                     827        POP     AF\r
-    00004B14 F1                     828        POP     AF\r
-    00004B15 DD E1                  829        POP     IX\r
-    00004B17 FD E1                  830        POP     IY\r
-    00004B19 C3 25 81               831        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    00004B1C                        832 stringheight:\r
-    00004B1C CD 52 81               833        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00004B1F 7B                     834        LD      A,E\r
-    00004B20 FE 80                  835        CP      128\r
-    00004B22 30 06                  836        JR      NC,?0034\r
-    00004B24                        837 ?0033:\r
-    00004B24 21 07 00               838        LD      HL,7\r
-    00004B27 09                     839        ADD     HL,BC\r
-    00004B28 18 0C                  840        JR      ?0036\r
-    00004B2A                        841 ?0034:\r
-    00004B2A FE CC                  842        CP      204\r
-    00004B2C 38 08                  843        JR      C,?0036\r
-    00004B2E 3E DF                  844        LD      A,223\r
-    00004B30 BB                     845        CP      E\r
-    00004B31 38 03                  846        JR      C,?0036\r
-    00004B33                        847 ?0038:\r
-    00004B33                        848 ?0037:\r
-    00004B33                        849 ?0035:\r
-    00004B33 69                     850        LD      L,C\r
-    00004B34 60                     851        LD      H,B\r
-    00004B35 23                     852        INC     HL\r
-    00004B36                        853 ?0036:\r
-    00004B36                        854 ?0039:\r
-    00004B36 C3 1F 81               855        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004B39                        856 stringheight01:\r
-    00004B39 CD 52 81               857        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00004B3C 01 00 00               858        LD      BC,0\r
-    00004B3F                        859 ?0415:\r
-    00004B3F 1A                     860        LD      A,(DE)\r
-    00004B40 5F                     861        LD      E,A\r
-    00004B41 3E 00                  862        LD      A,BYTE3 stringheight\r
-    00004B43 21 1C 4B               863        LD      HL,LWRD stringheight\r
-    00004B46 CD 5E 81               864        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004B49 C3 1F 81               865        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004B4C                        866 stringheight2:\r
-    00004B4C CD 52 81               867        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00004B4F 01 05 00               868        LD      BC,5\r
-    00004B52 C3 3F 4B               869        JP      LWRD ?0415\r
-    00004B55                        870 stringwidth0:\r
-    00004B55 CD 52 81               871        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00004B58 01 00 00               872        LD      BC,0\r
-    00004B5B                        873 ?0416:\r
-    00004B5B 3E 00                  874        LD      A,BYTE3 stringwidth\r
-    00004B5D 21 A3 4A               875        LD      HL,LWRD stringwidth\r
-    00004B60 CD 5E 81               876        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004B63 C3 1F 81               877        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004B66                        878 stringwidth1:\r
-    00004B66 CD 52 81               879        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00004B69 01 02 00               880        LD      BC,2\r
-    00004B6C C3 5B 4B               881        JP      LWRD ?0416\r
-    00004B6F                        882 stringwidth2:\r
-    00004B6F CD 52 81               883        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00004B72 01 03 00               884        LD      BC,3\r
-    00004B75 C3 5B 4B               885        JP      LWRD ?0416\r
-    00004B78                        886 Component_new:\r
-    00004B78 CD 88 81               887        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004B7B 00 00                  888        DEFW    0\r
-    00004B7D FD E5                  889        PUSH    IY\r
-    00004B7F 11 28 00               890        LD      DE,40\r
-    00004B82 CD 97 4A               891        CALL    LWRD ?0447\r
-    00004B85 2A C0 86               892        LD      HL,(global)\r
-    00004B88 5E                     893        LD      E,(HL)\r
-    00004B89 23                     894        INC     HL\r
-    00004B8A 56                     895        LD      D,(HL)\r
-    00004B8B 13                     896        INC     DE\r
-    00004B8C 72                     897        LD      (HL),D\r
-    00004B8D 2B                     898        DEC     HL\r
-    00004B8E 73                     899        LD      (HL),E\r
-    00004B8F FD E5                  900        PUSH    IY\r
-    00004B91 E1                     901        POP     HL\r
-    00004B92 73                     902        LD      (HL),E\r
-    00004B93 23                     903        INC     HL\r
-    00004B94 72                     904        LD      (HL),D\r
-    00004B95 DD 6E 02               905        LD      L,(IX+2)\r
-    00004B98 FD 75 02               906        LD      (IY+2),L\r
-    00004B9B DD 66 03               907        LD      H,(IX+3)\r
-    00004B9E FD 74 03               908        LD      (IY+3),H\r
-    00004BA1 FD 71 04               909        LD      (IY+4),C\r
-    00004BA4 FD 70 05               910        LD      (IY+5),B\r
-    00004BA7 DD 6E 0A               911        LD      L,(IX+10)\r
-    00004BAA FD 75 06               912        LD      (IY+6),L\r
-    00004BAD DD 66 0B               913        LD      H,(IX+11)\r
-    00004BB0 FD 74 07               914        LD      (IY+7),H\r
-    00004BB3 DD 6E 0C               915        LD      L,(IX+12)\r
-    00004BB6 FD 75 08               916        LD      (IY+8),L\r
-    00004BB9 DD 66 0D               917        LD      H,(IX+13)\r
-    00004BBC FD 74 09               918        LD      (IY+9),H\r
-    00004BBF AF                     919        XOR     A\r
-    00004BC0 FD 77 0A               920        LD      (IY+10),A\r
-    00004BC3 FD 77 0B               921        LD      (IY+11),A\r
-    00004BC6 FD 77 0C               922        LD      (IY+12),A\r
-    00004BC9 FD 77 0D               923        LD      (IY+13),A\r
-    00004BCC FD 77 0E               924        LD      (IY+14),A\r
-    00004BCF FD 77 0F               925        LD      (IY+15),A\r
-    00004BD2 FD 77 10               926        LD      (IY+16),A\r
-    00004BD5 FD 77 11               927        LD      (IY+17),A\r
-    00004BD8 FD 77 12               928        LD      (IY+18),A\r
-    00004BDB FD 77 13               929        LD      (IY+19),A\r
-    00004BDE FD 77 14               930        LD      (IY+20),A\r
-    00004BE1 FD 77 15               931        LD      (IY+21),A\r
-    00004BE4 FD 77 16               932        LD      (IY+22),A\r
-    00004BE7 FD 77 17               933        LD      (IY+23),A\r
-    00004BEA FD 77 18               934        LD      (IY+24),A\r
-    00004BED FD 77 19               935        LD      (IY+25),A\r
-    00004BF0 FD 77 1A               936        LD      (IY+26),A\r
-    00004BF3 FD 77 1B               937        LD      (IY+27),A\r
-    00004BF6 FD 77 1C               938        LD      (IY+28),A\r
-    00004BF9 FD 77 1D               939        LD      (IY+29),A\r
-    00004BFC FD 77 1E               940        LD      (IY+30),A\r
-    00004BFF FD 77 1F               941        LD      (IY+31),A\r
-    00004C02 FD 77 24               942        LD      (IY+36),A\r
-    00004C05 FD 77 25               943        LD      (IY+37),A\r
-    00004C08 FD 77 26               944        LD      (IY+38),A\r
-    00004C0B FD 77 27               945        LD      (IY+39),A\r
-    00004C0E FD 77 20               946        LD      (IY+32),A\r
-    00004C11 FD 77 21               947        LD      (IY+33),A\r
-    00004C14 FD 77 22               948        LD      (IY+34),A\r
-    00004C17 FD 77 23               949        LD      (IY+35),A\r
-    00004C1A                        950 ?0418:\r
-    00004C1A FD E5                  951        PUSH    IY\r
-    00004C1C E1                     952        POP     HL\r
-    00004C1D FD E1                  953        POP     IY\r
-    00004C1F C3 1F 81               954        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004C22                        955 Component_setlabel:\r
-    00004C22 CD 88 81               956        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004C25 00 00                  957        DEFW    0\r
-    00004C27 FD E5                  958        PUSH    IY\r
-    00004C29 DD 6E 02               959        LD      L,(IX+2)\r
-    00004C2C DD 66 03               960        LD      H,(IX+3)\r
-    00004C2F E5                     961        PUSH    HL\r
-    00004C30 FD E1                  962        POP     IY\r
-    00004C32 11 00 00               963        LD      DE,0\r
-    00004C35                        964 ?0041:\r
-    00004C35 DD 6E 04               965        LD      L,(IX+4)\r
-    00004C38 DD 66 05               966        LD      H,(IX+5)\r
-    00004C3B 19                     967        ADD     HL,DE\r
-    00004C3C 7E                     968        LD      A,(HL)\r
-    00004C3D B7                     969        OR      A\r
-    00004C3E 28 21                  970        JR      Z,?0040\r
-    00004C40 01 14 80               971        LD      BC,32788\r
-    00004C43 6B                     972        LD      L,E\r
-    00004C44 62                     973        LD      H,D\r
-    00004C45 78                     974        LD      A,B\r
-    00004C46 AC                     975        XOR     H\r
-    00004C47 67                     976        LD      H,A\r
-    00004C48 ED 42                  977        SBC     HL,BC\r
-    00004C4A 30 15                  978        JR      NC,?0040\r
-    00004C4C                        979 ?0044:\r
-    00004C4C                        980 ?0043:\r
-    00004C4C                        981 ?0042:\r
-    00004C4C FD 6E 20               982        LD      L,(IY+32)\r
-    00004C4F FD 66 21               983        LD      H,(IY+33)\r
-    00004C52 19                     984        ADD     HL,DE\r
-    00004C53 E5                     985        PUSH    HL\r
-    00004C54 DD 6E 04               986        LD      L,(IX+4)\r
-    00004C57 DD 66 05               987        LD      H,(IX+5)\r
-    00004C5A 19                     988        ADD     HL,DE\r
-    00004C5B 46                     989        LD      B,(HL)\r
-    00004C5C E1                     990        POP     HL\r
-    00004C5D 70                     991        LD      (HL),B\r
-    00004C5E 13                     992        INC     DE\r
-    00004C5F 18 D4                  993        JR      ?0041\r
-    00004C61                        994 ?0040:\r
-    00004C61 FD 6E 20               995        LD      L,(IY+32)\r
-    00004C64 FD 66 21               996        LD      H,(IY+33)\r
-    00004C67 19                     997        ADD     HL,DE\r
-    00004C68 36 00                  998        LD      (HL),0\r
-    00004C6A FD E1                  999        POP     IY\r
-    00004C6C C3 1F 81              1000        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004C6F                       1001 Component_add:\r
-    00004C6F CD 88 81              1002        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004C72 00 00                 1003        DEFW    0\r
-    00004C74 FD E5                 1004        PUSH    IY\r
-    00004C76 59                    1005        LD      E,C\r
-    00004C77 50                    1006        LD      D,B\r
-    00004C78 21 15 00              1007        LD      HL,21\r
-    00004C7B DD 4E 02              1008        LD      C,(IX+2)\r
-    00004C7E DD 46 03              1009        LD      B,(IX+3)\r
-    00004C81 09                    1010        ADD     HL,BC\r
-    00004C82 7E                    1011        LD      A,(HL)\r
-    00004C83 23                    1012        INC     HL\r
-    00004C84 66                    1013        LD      H,(HL)\r
-    00004C85 6F                    1014        LD      L,A\r
-    00004C86 E5                    1015        PUSH    HL\r
-    00004C87 FD E1                 1016        POP     IY\r
-    00004C89 21 15 00              1017        LD      HL,21\r
-    00004C8C 09                    1018        ADD     HL,BC\r
-    00004C8D 7E                    1019        LD      A,(HL)\r
-    00004C8E 23                    1020        INC     HL\r
-    00004C8F B6                    1021        OR      (HL)\r
-    00004C90 20 09                 1022        JR      NZ,?0046\r
-    00004C92                       1023 ?0045:\r
-    00004C92 21 15 00              1024        LD      HL,21\r
-    00004C95 09                    1025        ADD     HL,BC\r
-    00004C96 73                    1026        LD      (HL),E\r
-    00004C97 23                    1027        INC     HL\r
-    00004C98 72                    1028        LD      (HL),D\r
-    00004C99 18 19                 1029        JR      ?0335\r
-    00004C9B                       1030 ?0046:\r
-    00004C9B                       1031 ?0049:\r
-    00004C9B FD 7E 13              1032        LD      A,(IY+19)\r
-    00004C9E FD B6 14              1033        OR      (IY+20)\r
-    00004CA1 28 0B                 1034        JR      Z,?0048\r
-    00004CA3                       1035 ?0050:\r
-    00004CA3 FD 6E 13              1036        LD      L,(IY+19)\r
-    00004CA6 FD 66 14              1037        LD      H,(IY+20)\r
-    00004CA9 E5                    1038        PUSH    HL\r
-    00004CAA FD E1                 1039        POP     IY\r
-    00004CAC 18 ED                 1040        JR      ?0046\r
-    00004CAE                       1041 ?0048:\r
-    00004CAE FD 73 13              1042        LD      (IY+19),E\r
-    00004CB1 FD 72 14              1043        LD      (IY+20),D\r
-    00004CB4                       1044 ?0335:\r
-    00004CB4 21 13 00              1045        LD      HL,19\r
-    00004CB7 19                    1046        ADD     HL,DE\r
-    00004CB8 77                    1047        LD      (HL),A\r
-    00004CB9 23                    1048        INC     HL\r
-    00004CBA 77                    1049        LD      (HL),A\r
-    00004CBB                       1050 ?0047:\r
-    00004CBB 21 11 00              1051        LD      HL,17\r
-    00004CBE 19                    1052        ADD     HL,DE\r
-    00004CBF DD 4E 02              1053        LD      C,(IX+2)\r
-    00004CC2 71                    1054        LD      (HL),C\r
-    00004CC3 DD 46 03              1055        LD      B,(IX+3)\r
-    00004CC6 23                    1056        INC     HL\r
-    00004CC7 70                    1057        LD      (HL),B\r
-    00004CC8 FD E1                 1058        POP     IY\r
-    00004CCA C3 1F 81              1059        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004CCD                       1060 Component_paint:\r
-    00004CCD C5                    1061        PUSH    BC\r
-    00004CCE FD E5                 1062        PUSH    IY\r
-    00004CD0 DD E5                 1063        PUSH    IX\r
-    00004CD2 21 15 00              1064        LD      HL,21\r
-    00004CD5 19                    1065        ADD     HL,DE\r
-    00004CD6 46                    1066        LD      B,(HL)\r
-    00004CD7 23                    1067        INC     HL\r
-    00004CD8 66                    1068        LD      H,(HL)\r
-    00004CD9 68                    1069        LD      L,B\r
-    00004CDA E5                    1070        PUSH    HL\r
-    00004CDB DD E1                 1071        POP     IX\r
-    00004CDD CD 09 4D              1072        CALL    LWRD ?0477\r
-    00004CE0                       1073 ?0052:\r
-    00004CE0 DD E5                 1074        PUSH    IX\r
-    00004CE2 E1                    1075        POP     HL\r
-    00004CE3 7D                    1076        LD      A,L\r
-    00004CE4 B4                    1077        OR      H\r
-    00004CE5 28 1A                 1078        JR      Z,?0051\r
-    00004CE7                       1079 ?0053:\r
-    00004CE7 DD E5                 1080        PUSH    IX\r
-    00004CE9 D1                    1081        POP     DE\r
-    00004CEA DD 7E 1C              1082        LD      A,(IX+28)\r
-    00004CED DD 6E 1A              1083        LD      L,(IX+26)\r
-    00004CF0 DD 66 1B              1084        LD      H,(IX+27)\r
-    00004CF3 CD 5E 81              1085        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004CF6 DD 6E 13              1086        LD      L,(IX+19)\r
-    00004CF9 DD 66 14              1087        LD      H,(IX+20)\r
-    00004CFC E5                    1088        PUSH    HL\r
-    00004CFD DD E1                 1089        POP     IX\r
-    00004CFF 18 DF                 1090        JR      ?0052\r
-    00004D01                       1091 ?0051:\r
-    00004D01 1E 01                 1092        LD      E,1\r
-    00004D03 CD 0B 4D              1093        CALL    LWRD ?0478\r
-    00004D06 C3 27 48              1094        JP      LWRD ?0411\r
-    00004D09                       1095 ?0477:\r
-    00004D09 1E 00                 1096        LD      E,0\r
-    00004D0B                       1097 ?0478:\r
-    00004D0B 3E 00                 1098        LD      A,BYTE3 EnableScreen\r
-    00004D0D 21 C3 48              1099        LD      HL,LWRD EnableScreen\r
-    00004D10 C3 5E 81              1100        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00004D13                       1101 Component_findXY:\r
-    00004D13 CD 88 81              1102        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004D16 00 00                 1103        DEFW    0\r
-    00004D18 FD E5                 1104        PUSH    IY\r
-    00004D1A DD 6E 02              1105        LD      L,(IX+2)\r
-    00004D1D DD 66 03              1106        LD      H,(IX+3)\r
-    00004D20 E5                    1107        PUSH    HL\r
-    00004D21 FD E1                 1108        POP     IY\r
-    00004D23                       1109 ?0056:\r
-    00004D23 DD 6E 04              1110        LD      L,(IX+4)\r
-    00004D26 DD 66 05              1111        LD      H,(IX+5)\r
-    00004D29 7E                    1112        LD      A,(HL)\r
-    00004D2A FD 86 02              1113        ADD     A,(IY+2)\r
-    00004D2D 77                    1114        LD      (HL),A\r
-    00004D2E 23                    1115        INC     HL\r
-    00004D2F 7E                    1116        LD      A,(HL)\r
-    00004D30 FD 8E 03              1117        ADC     A,(IY+3)\r
-    00004D33 77                    1118        LD      (HL),A\r
-    00004D34 DD 6E 0A              1119        LD      L,(IX+10)\r
-    00004D37 DD 66 0B              1120        LD      H,(IX+11)\r
-    00004D3A 7E                    1121        LD      A,(HL)\r
-    00004D3B FD 86 04              1122        ADD     A,(IY+4)\r
-    00004D3E 77                    1123        LD      (HL),A\r
-    00004D3F 23                    1124        INC     HL\r
-    00004D40 7E                    1125        LD      A,(HL)\r
-    00004D41 FD 8E 05              1126        ADC     A,(IY+5)\r
-    00004D44 77                    1127        LD      (HL),A\r
-    00004D45 FD 6E 11              1128        LD      L,(IY+17)\r
-    00004D48 FD 66 12              1129        LD      H,(IY+18)\r
-    00004D4B E5                    1130        PUSH    HL\r
-    00004D4C FD E1                 1131        POP     IY\r
-    00004D4E 7D                    1132        LD      A,L\r
-    00004D4F B4                    1133        OR      H\r
-    00004D50 20 D1                 1134        JR      NZ,?0056\r
-    00004D52                       1135 ?0054:\r
-    00004D52 FD E1                 1136        POP     IY\r
-    00004D54 C3 1F 81              1137        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004D57                       1138 Component_find:\r
-    00004D57 CD 88 81              1139        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004D5A 00 00                 1140        DEFW    0\r
-    00004D5C 21 15 00              1141        LD      HL,21\r
-    00004D5F DD 4E 02              1142        LD      C,(IX+2)\r
-    00004D62 DD 46 03              1143        LD      B,(IX+3)\r
-    00004D65 09                    1144        ADD     HL,BC\r
-    00004D66                       1145 ?0336:\r
-    00004D66 46                    1146        LD      B,(HL)\r
-    00004D67 23                    1147        INC     HL\r
-    00004D68 66                    1148        LD      H,(HL)\r
-    00004D69 68                    1149        LD      L,B\r
-    00004D6A EB                    1150        EX      DE,HL\r
-    00004D6B                       1151 ?0058:\r
-    00004D6B 7B                    1152        LD      A,E\r
-    00004D6C B2                    1153        OR      D\r
-    00004D6D 28 1B                 1154        JR      Z,?0057\r
-    00004D6F                       1155 ?0059:\r
-    00004D6F 21 10 00              1156        LD      HL,16\r
-    00004D72 19                    1157        ADD     HL,DE\r
-    00004D73 4E                    1158        LD      C,(HL)\r
-    00004D74 06 00                 1159        LD      B,0\r
-    00004D76 DD 6E 04              1160        LD      L,(IX+4)\r
-    00004D79 DD 66 05              1161        LD      H,(IX+5)\r
-    00004D7C A7                    1162        AND     A\r
-    00004D7D ED 42                 1163        SBC     HL,BC\r
-    00004D7F 20 03                 1164        JR      NZ,?0061\r
-    00004D81                       1165 ?0060:\r
-    00004D81 EB                    1166        EX      DE,HL\r
-    00004D82 18 08                 1167        JR      ?0062\r
-    00004D84                       1168 ?0061:\r
-    00004D84 21 13 00              1169        LD      HL,19\r
-    00004D87 19                    1170        ADD     HL,DE\r
-    00004D88 18 DC                 1171        JR      ?0336\r
-    00004D8A                       1172 ?0057:\r
-    00004D8A 6F                    1173        LD      L,A\r
-    00004D8B 67                    1174        LD      H,A\r
-    00004D8C                       1175 ?0062:\r
-    00004D8C C3 1F 81              1176        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004D8F                       1177 Component_delete:\r
-    00004D8F CD 88 81              1178        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004D92 F8 FF                 1179        DEFW    65528\r
-    00004D94 FD E5                 1180        PUSH    IY\r
-    00004D96 DD 6E 02              1181        LD      L,(IX+2)\r
-    00004D99 DD 66 03              1182        LD      H,(IX+3)\r
-    00004D9C E5                    1183        PUSH    HL\r
-    00004D9D FD E1                 1184        POP     IY\r
-    00004D9F FD 6E 15              1185        LD      L,(IY+21)\r
-    00004DA2 DD 75 F8              1186        LD      (IX-8),L\r
-    00004DA5 FD 66 16              1187        LD      H,(IY+22)\r
-    00004DA8 DD 74 F9              1188        LD      (IX-7),H\r
-    00004DAB FD E5                 1189        PUSH    IY\r
-    00004DAD E1                    1190        POP     HL\r
-    00004DAE 7D                    1191        LD      A,L\r
-    00004DAF B4                    1192        OR      H\r
-    00004DB0 CA 42 4F              1193        JP      Z,?0064\r
-    00004DB3                       1194 ?0063:\r
-    00004DB3                       1195 ?0066:\r
-    00004DB3 DD 7E F8              1196        LD      A,(IX-8)\r
-    00004DB6 DD B6 F9              1197        OR      (IX-7)\r
-    00004DB9 28 11                 1198        JR      Z,?0065\r
-    00004DBB                       1199 ?0067:\r
-    00004DBB DD 5E F8              1200        LD      E,(IX-8)\r
-    00004DBE DD 56 F9              1201        LD      D,(IX-7)\r
-    00004DC1 CD 58 4F              1202        CALL    LWRD ?0453\r
-    00004DC4 DD 75 F8              1203        LD      (IX-8),L\r
-    00004DC7 DD 74 F9              1204        LD      (IX-7),H\r
-    00004DCA 18 E7                 1205        JR      ?0063\r
-    00004DCC                       1206 ?0065:\r
-    00004DCC FD 7E 11              1207        LD      A,(IY+17)\r
-    00004DCF FD B6 12              1208        OR      (IY+18)\r
-    00004DD2 CA 5E 4E              1209        JP      Z,?0079\r
-    00004DD5                       1210 ?0068:\r
-    00004DD5 FD 6E 11              1211        LD      L,(IY+17)\r
-    00004DD8 FD 66 12              1212        LD      H,(IY+18)\r
-    00004DDB 01 15 00              1213        LD      BC,21\r
-    00004DDE 09                    1214        ADD     HL,BC\r
-    00004DDF 46                    1215        LD      B,(HL)\r
-    00004DE0 23                    1216        INC     HL\r
-    00004DE1 66                    1217        LD      H,(HL)\r
-    00004DE2 68                    1218        LD      L,B\r
-    00004DE3 FD E5                 1219        PUSH    IY\r
-    00004DE5 C1                    1220        POP     BC\r
-    00004DE6 A7                    1221        AND     A\r
-    00004DE7 ED 42                 1222        SBC     HL,BC\r
-    00004DE9 FD 6E 11              1223        LD      L,(IY+17)\r
-    00004DEC FD 66 12              1224        LD      H,(IY+18)\r
-    00004DEF 01 15 00              1225        LD      BC,21\r
-    00004DF2 09                    1226        ADD     HL,BC\r
-    00004DF3 20 09                 1227        JR      NZ,?0071\r
-    00004DF5                       1228 ?0070:\r
-    00004DF5 E5                    1229        PUSH    HL\r
-    00004DF6 FD 6E 11              1230        LD      L,(IY+17)\r
-    00004DF9 FD 66 12              1231        LD      H,(IY+18)\r
-    00004DFC 18 50                 1232        JR      ?0339\r
-    00004DFE                       1233 ?0071:\r
-    00004DFE 46                    1234        LD      B,(HL)\r
-    00004DFF 23                    1235        INC     HL\r
-    00004E00 66                    1236        LD      H,(HL)\r
-    00004E01 68                    1237        LD      L,B\r
-    00004E02                       1238 ?0338:\r
-    00004E02 DD 75 F8              1239        LD      (IX-8),L\r
-    00004E05 DD 74 F9              1240        LD      (IX-7),H\r
-    00004E08                       1241 ?0074:\r
-    00004E08 21 13 00              1242        LD      HL,19\r
-    00004E0B DD 4E F8              1243        LD      C,(IX-8)\r
-    00004E0E DD 46 F9              1244        LD      B,(IX-7)\r
-    00004E11 09                    1245        ADD     HL,BC\r
-    00004E12 46                    1246        LD      B,(HL)\r
-    00004E13 23                    1247        INC     HL\r
-    00004E14 66                    1248        LD      H,(HL)\r
-    00004E15 68                    1249        LD      L,B\r
-    00004E16 FD E5                 1250        PUSH    IY\r
-    00004E18 C1                    1251        POP     BC\r
-    00004E19 A7                    1252        AND     A\r
-    00004E1A ED 42                 1253        SBC     HL,BC\r
-    00004E1C 28 19                 1254        JR      Z,?0073\r
-    00004E1E 21 13 00              1255        LD      HL,19\r
-    00004E21 DD 4E F8              1256        LD      C,(IX-8)\r
-    00004E24 DD 46 F9              1257        LD      B,(IX-7)\r
-    00004E27 09                    1258        ADD     HL,BC\r
-    00004E28 7E                    1259        LD      A,(HL)\r
-    00004E29 23                    1260        INC     HL\r
-    00004E2A B6                    1261        OR      (HL)\r
-    00004E2B 28 0A                 1262        JR      Z,?0073\r
-    00004E2D                       1263 ?0077:\r
-    00004E2D                       1264 ?0076:\r
-    00004E2D                       1265 ?0075:\r
-    00004E2D 21 13 00              1266        LD      HL,19\r
-    00004E30 09                    1267        ADD     HL,BC\r
-    00004E31 56                    1268        LD      D,(HL)\r
-    00004E32 23                    1269        INC     HL\r
-    00004E33 66                    1270        LD      H,(HL)\r
-    00004E34 6A                    1271        LD      L,D\r
-    00004E35 18 CB                 1272        JR      ?0338\r
-    00004E37                       1273 ?0073:\r
-    00004E37 21 13 00              1274        LD      HL,19\r
-    00004E3A DD 4E F8              1275        LD      C,(IX-8)\r
-    00004E3D DD 46 F9              1276        LD      B,(IX-7)\r
-    00004E40 09                    1277        ADD     HL,BC\r
-    00004E41 7E                    1278        LD      A,(HL)\r
-    00004E42 23                    1279        INC     HL\r
-    00004E43 B6                    1280        OR      (HL)\r
-    00004E44 28 18                 1281        JR      Z,?0079\r
-    00004E46                       1282 ?0078:\r
-    00004E46 21 13 00              1283        LD      HL,19\r
-    00004E49 09                    1284        ADD     HL,BC\r
-    00004E4A E5                    1285        PUSH    HL\r
-    00004E4B 21 13 00              1286        LD      HL,19\r
-    00004E4E                       1287 ?0339:\r
-    00004E4E 09                    1288        ADD     HL,BC\r
-    00004E4F 46                    1289        LD      B,(HL)\r
-    00004E50 23                    1290        INC     HL\r
-    00004E51 66                    1291        LD      H,(HL)\r
-    00004E52 68                    1292        LD      L,B\r
-    00004E53 01 13 00              1293        LD      BC,19\r
-    00004E56 09                    1294        ADD     HL,BC\r
-    00004E57 4E                    1295        LD      C,(HL)\r
-    00004E58 23                    1296        INC     HL\r
-    00004E59 46                    1297        LD      B,(HL)\r
-    00004E5A E1                    1298        POP     HL\r
-    00004E5B 71                    1299        LD      (HL),C\r
-    00004E5C 23                    1300        INC     HL\r
-    00004E5D 70                    1301        LD      (HL),B\r
-    00004E5E                       1302 ?0079:\r
-    00004E5E                       1303 ?0072:\r
-    00004E5E                       1304 ?0069:\r
-    00004E5E FD 6E 13              1305        LD      L,(IY+19)\r
-    00004E61 DD 75 F8              1306        LD      (IX-8),L\r
-    00004E64 FD 66 14              1307        LD      H,(IY+20)\r
-    00004E67 DD 74 F9              1308        LD      (IX-7),H\r
-    00004E6A 3E 04                 1309        LD      A,4\r
-    00004E6C FD AE 24              1310        XOR     (IY+36)\r
-    00004E6F FD B6 25              1311        OR      (IY+37)\r
-    00004E72 C2 0E 4F              1312        JP      NZ,?0088\r
-    00004E75                       1313 ?0080:\r
-    00004E75 FD 6E 11              1314        LD      L,(IY+17)\r
-    00004E78 DD 75 FC              1315        LD      (IX-4),L\r
-    00004E7B FD 66 12              1316        LD      H,(IY+18)\r
-    00004E7E DD 74 FD              1317        LD      (IX-3),H\r
-    00004E81 FD 6E 26              1318        LD      L,(IY+38)\r
-    00004E84 DD 75 FE              1319        LD      (IX-2),L\r
-    00004E87 FD 66 27              1320        LD      H,(IY+39)\r
-    00004E8A DD 74 FF              1321        LD      (IX-1),H\r
-    00004E8D CD 4D 4F              1322        CALL    LWRD ?0451\r
-    00004E90 DD 6E FE              1323        LD      L,(IX-2)\r
-    00004E93 DD 66 FF              1324        LD      H,(IX-1)\r
-    00004E96 23                    1325        INC     HL\r
-    00004E97 23                    1326        INC     HL\r
-    00004E98 CD 4D 4F              1327        CALL    LWRD ?0451\r
-    00004E9B                       1328 ?0083:\r
-    00004E9B DD 7E FC              1329        LD      A,(IX-4)\r
-    00004E9E DD B6 FD              1330        OR      (IX-3)\r
-    00004EA1 28 20                 1331        JR      Z,?0082\r
-    00004EA3 21 24 00              1332        LD      HL,36\r
-    00004EA6 DD 4E FC              1333        LD      C,(IX-4)\r
-    00004EA9 DD 46 FD              1334        LD      B,(IX-3)\r
-    00004EAC 09                    1335        ADD     HL,BC\r
-    00004EAD 3E 04                 1336        LD      A,4\r
-    00004EAF AE                    1337        XOR     (HL)\r
-    00004EB0 23                    1338        INC     HL\r
-    00004EB1 B6                    1339        OR      (HL)\r
-    00004EB2 28 0F                 1340        JR      Z,?0082\r
-    00004EB4                       1341 ?0086:\r
-    00004EB4                       1342 ?0085:\r
-    00004EB4                       1343 ?0084:\r
-    00004EB4 21 11 00              1344        LD      HL,17\r
-    00004EB7 09                    1345        ADD     HL,BC\r
-    00004EB8 56                    1346        LD      D,(HL)\r
-    00004EB9 DD 72 FC              1347        LD      (IX-4),D\r
-    00004EBC 23                    1348        INC     HL\r
-    00004EBD 66                    1349        LD      H,(HL)\r
-    00004EBE DD 74 FD              1350        LD      (IX-3),H\r
-    00004EC1 18 D8                 1351        JR      ?0083\r
-    00004EC3                       1352 ?0082:\r
-    00004EC3 DD 7E FC              1353        LD      A,(IX-4)\r
-    00004EC6 DD B6 FD              1354        OR      (IX-3)\r
-    00004EC9 28 43                 1355        JR      Z,?0088\r
-    00004ECB                       1356 ?0087:\r
-    00004ECB 21 26 00              1357        LD      HL,38\r
-    00004ECE DD 4E FC              1358        LD      C,(IX-4)\r
-    00004ED1 DD 46 FD              1359        LD      B,(IX-3)\r
-    00004ED4 09                    1360        ADD     HL,BC\r
-    00004ED5 46                    1361        LD      B,(HL)\r
-    00004ED6 DD 70 FE              1362        LD      (IX-2),B\r
-    00004ED9 23                    1363        INC     HL\r
-    00004EDA 66                    1364        LD      H,(HL)\r
-    00004EDB DD 74 FF              1365        LD      (IX-1),H\r
-    00004EDE 21 06 00              1366        LD      HL,6\r
-    00004EE1 ED 4B C0 86           1367        LD      BC,(global)\r
-    00004EE5 09                    1368        ADD     HL,BC\r
-    00004EE6 E5                    1369        PUSH    HL\r
-    00004EE7 DD 6E FE              1370        LD      L,(IX-2)\r
-    00004EEA DD 66 FF              1371        LD      H,(IX-1)\r
-    00004EED 5E                    1372        LD      E,(HL)\r
-    00004EEE 23                    1373        INC     HL\r
-    00004EEF 56                    1374        LD      D,(HL)\r
-    00004EF0 E1                    1375        POP     HL\r
-    00004EF1 73                    1376        LD      (HL),E\r
-    00004EF2 23                    1377        INC     HL\r
-    00004EF3 72                    1378        LD      (HL),D\r
-    00004EF4 21 08 00              1379        LD      HL,8\r
-    00004EF7 ED 4B C0 86           1380        LD      BC,(global)\r
-    00004EFB 09                    1381        ADD     HL,BC\r
-    00004EFC E5                    1382        PUSH    HL\r
-    00004EFD DD 4E FE              1383        LD      C,(IX-2)\r
-    00004F00 DD 46 FF              1384        LD      B,(IX-1)\r
-    00004F03 03                    1385        INC     BC\r
-    00004F04 03                    1386        INC     BC\r
-    00004F05 69                    1387        LD      L,C\r
-    00004F06 60                    1388        LD      H,B\r
-    00004F07 4E                    1389        LD      C,(HL)\r
-    00004F08 23                    1390        INC     HL\r
-    00004F09 46                    1391        LD      B,(HL)\r
-    00004F0A E1                    1392        POP     HL\r
-    00004F0B 71                    1393        LD      (HL),C\r
-    00004F0C 23                    1394        INC     HL\r
-    00004F0D 70                    1395        LD      (HL),B\r
-    00004F0E                       1396 ?0088:\r
-    00004F0E                       1397 ?0081:\r
-    00004F0E FD 4E 24              1398        LD      C,(IY+36)\r
-    00004F11 FD 46 25              1399        LD      B,(IY+37)\r
-    00004F14 21 00 00              1400        LD      HL,0\r
-    00004F17 CD A6 81              1401        CALL    LWRD ?SS_CMP_L02\r
-    00004F1A 30 09                 1402        JR      NC,?0090\r
-    00004F1C                       1403 ?0089:\r
-    00004F1C FD 5E 26              1404        LD      E,(IY+38)\r
-    00004F1F FD 56 27              1405        LD      D,(IY+39)\r
-    00004F22 CD 50 4F              1406        CALL    LWRD ?0452\r
-    00004F25                       1407 ?0090:\r
-    00004F25 FD CB 0B 76           1408        BIT     6,(IY+11)\r
-    00004F29 20 11                 1409        JR      NZ,?0092\r
-    00004F2B FD 7E 20              1410        LD      A,(IY+32)\r
-    00004F2E FD B6 21              1411        OR      (IY+33)\r
-    00004F31 28 09                 1412        JR      Z,?0092\r
-    00004F33                       1413 ?0094:\r
-    00004F33                       1414 ?0093:\r
-    00004F33                       1415 ?0091:\r
-    00004F33 FD 5E 20              1416        LD      E,(IY+32)\r
-    00004F36 FD 56 21              1417        LD      D,(IY+33)\r
-    00004F39 CD 50 4F              1418        CALL    LWRD ?0452\r
-    00004F3C                       1419 ?0092:\r
-    00004F3C FD E5                 1420        PUSH    IY\r
-    00004F3E D1                    1421        POP     DE\r
-    00004F3F CD 50 4F              1422        CALL    LWRD ?0452\r
-    00004F42                       1423 ?0064:\r
-    00004F42 DD 6E F8              1424        LD      L,(IX-8)\r
-    00004F45 DD 66 F9              1425        LD      H,(IX-7)\r
-    00004F48 FD E1                 1426        POP     IY\r
-    00004F4A C3 1F 81              1427        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004F4D                       1428 ?0451:\r
-    00004F4D 5E                    1429        LD      E,(HL)\r
-    00004F4E 23                    1430        INC     HL\r
-    00004F4F 56                    1431        LD      D,(HL)\r
-    00004F50                       1432 ?0452:\r
-    00004F50 3E 00                 1433        LD      A,BYTE3 free\r
-    00004F52 21 E5 73              1434        LD      HL,LWRD free\r
-    00004F55 C3 5E 81              1435        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00004F58                       1436 ?0453:\r
-    00004F58 3E 00                 1437        LD      A,BYTE3 Component_delete\r
-    00004F5A 21 8F 4D              1438        LD      HL,LWRD Component_delete\r
-    00004F5D C3 5E 81              1439        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00004F60                       1440 Component_delete_children:\r
-    00004F60 C5                    1441        PUSH    BC\r
-    00004F61 FD E5                 1442        PUSH    IY\r
-    00004F63 DD E5                 1443        PUSH    IX\r
-    00004F65 21 15 00              1444        LD      HL,21\r
-    00004F68 19                    1445        ADD     HL,DE\r
-    00004F69 46                    1446        LD      B,(HL)\r
-    00004F6A 23                    1447        INC     HL\r
-    00004F6B 66                    1448        LD      H,(HL)\r
-    00004F6C 68                    1449        LD      L,B\r
-    00004F6D                       1450 ?0341:\r
-    00004F6D E5                    1451        PUSH    HL\r
-    00004F6E DD E1                 1452        POP     IX\r
-    00004F70                       1453 ?0096:\r
-    00004F70 7D                    1454        LD      A,L\r
-    00004F71 B4                    1455        OR      H\r
-    00004F72 28 08                 1456        JR      Z,?0095\r
-    00004F74                       1457 ?0097:\r
-    00004F74 DD E5                 1458        PUSH    IX\r
-    00004F76 D1                    1459        POP     DE\r
-    00004F77 CD 58 4F              1460        CALL    LWRD ?0453\r
-    00004F7A 18 F1                 1461        JR      ?0341\r
-    00004F7C                       1462 ?0095:\r
-    00004F7C C3 27 48              1463        JP      LWRD ?0411\r
-    00004F7F                       1464 Component_changestate_children:\r
-    00004F7F CD 88 81              1465        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00004F82 00 00                 1466        DEFW    0\r
-    00004F84 FD E5                 1467        PUSH    IY\r
-    00004F86 21 15 00              1468        LD      HL,21\r
-    00004F89 DD 5E 02              1469        LD      E,(IX+2)\r
-    00004F8C DD 56 03              1470        LD      D,(IX+3)\r
-    00004F8F 19                    1471        ADD     HL,DE\r
-    00004F90                       1472 ?0342:\r
-    00004F90 56                    1473        LD      D,(HL)\r
-    00004F91 23                    1474        INC     HL\r
-    00004F92 66                    1475        LD      H,(HL)\r
-    00004F93 6A                    1476        LD      L,D\r
-    00004F94 E5                    1477        PUSH    HL\r
-    00004F95 FD E1                 1478        POP     IY\r
-    00004F97                       1479 ?0099:\r
-    00004F97 7D                    1480        LD      A,L\r
-    00004F98 B4                    1481        OR      H\r
-    00004F99 28 3D                 1482        JR      Z,?0098\r
-    00004F9B                       1483 ?0100:\r
-    00004F9B 21 0A 00              1484        LD      HL,10\r
-    00004F9E FD E5                 1485        PUSH    IY\r
-    00004FA0 C1                    1486        POP     BC\r
-    00004FA1 09                    1487        ADD     HL,BC\r
-    00004FA2 DD 7E 04              1488        LD      A,(IX+4)\r
-    00004FA5 DD 56 05              1489        LD      D,(IX+5)\r
-    00004FA8 2F                    1490        CPL\r
-    00004FA9 5F                    1491        LD      E,A\r
-    00004FAA 7A                    1492        LD      A,D\r
-    00004FAB 2F                    1493        CPL\r
-    00004FAC 57                    1494        LD      D,A\r
-    00004FAD 7E                    1495        LD      A,(HL)\r
-    00004FAE A3                    1496        AND     E\r
-    00004FAF 77                    1497        LD      (HL),A\r
-    00004FB0 23                    1498        INC     HL\r
-    00004FB1 7E                    1499        LD      A,(HL)\r
-    00004FB2 A2                    1500        AND     D\r
-    00004FB3 77                    1501        LD      (HL),A\r
-    00004FB4 21 0A 00              1502        LD      HL,10\r
-    00004FB7 09                    1503        ADD     HL,BC\r
-    00004FB8 7E                    1504        LD      A,(HL)\r
-    00004FB9 DD B6 0A              1505        OR      (IX+10)\r
-    00004FBC 77                    1506        LD      (HL),A\r
-    00004FBD 23                    1507        INC     HL\r
-    00004FBE 7E                    1508        LD      A,(HL)\r
-    00004FBF DD B6 0B              1509        OR      (IX+11)\r
-    00004FC2 77                    1510        LD      (HL),A\r
-    00004FC3 21 0A 00              1511        LD      HL,10\r
-    00004FC6 09                    1512        ADD     HL,BC\r
-    00004FC7 7E                    1513        LD      A,(HL)\r
-    00004FC8 DD AE 0C              1514        XOR     (IX+12)\r
-    00004FCB 77                    1515        LD      (HL),A\r
-    00004FCC 23                    1516        INC     HL\r
-    00004FCD 7E                    1517        LD      A,(HL)\r
-    00004FCE DD AE 0D              1518        XOR     (IX+13)\r
-    00004FD1 77                    1519        LD      (HL),A\r
-    00004FD2 21 13 00              1520        LD      HL,19\r
-    00004FD5 09                    1521        ADD     HL,BC\r
-    00004FD6 18 B8                 1522        JR      ?0342\r
-    00004FD8                       1523 ?0098:\r
-    00004FD8 11 77 85              1524        LD      DE,stdout\r
-    00004FDB 3E 00                 1525        LD      A,BYTE3 fflush\r
-    00004FDD 21 A9 6B              1526        LD      HL,LWRD fflush\r
-    00004FE0 CD 5E 81              1527        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00004FE3 FD E1                 1528        POP     IY\r
-    00004FE5 C3 1F 81              1529        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00004FE8                       1530 Component_linkstringtable:\r
-    00004FE8 C5                    1531        PUSH    BC\r
-    00004FE9 FD E5                 1532        PUSH    IY\r
-    00004FEB DD E5                 1533        PUSH    IX\r
-    00004FED D5                    1534        PUSH    DE\r
-    00004FEE DD E1                 1535        POP     IX\r
-    00004FF0 21 15 00              1536        LD      HL,21\r
-    00004FF3 19                    1537        ADD     HL,DE\r
-    00004FF4 46                    1538        LD      B,(HL)\r
-    00004FF5 23                    1539        INC     HL\r
-    00004FF6 66                    1540        LD      H,(HL)\r
-    00004FF7 68                    1541        LD      L,B\r
-    00004FF8 E5                    1542        PUSH    HL\r
-    00004FF9 FD E1                 1543        POP     IY\r
-    00004FFB 21 20 00              1544        LD      HL,32\r
-    00004FFE 19                    1545        ADD     HL,DE\r
-    00004FFF 46                    1546        LD      B,(HL)\r
-    00005000 23                    1547        INC     HL\r
-    00005001 66                    1548        LD      H,(HL)\r
-    00005002 68                    1549        LD      L,B\r
-    00005003 01 00 90              1550        LD      BC,36864\r
-    00005006 3E 80                 1551        LD      A,128\r
-    00005008 AC                    1552        XOR     H\r
-    00005009 67                    1553        LD      H,A\r
-    0000500A ED 42                 1554        SBC     HL,BC\r
-    0000500C 30 2E                 1555        JR      NC,?0102\r
-    0000500E DD 4E 20              1556        LD      C,(IX+32)\r
-    00005011 DD 46 21              1557        LD      B,(IX+33)\r
-    00005014 21 00 00              1558        LD      HL,0\r
-    00005017 CD A6 81              1559        CALL    LWRD ?SS_CMP_L02\r
-    0000501A 30 20                 1560        JR      NC,?0102\r
-    0000501C                       1561 ?0104:\r
-    0000501C                       1562 ?0103:\r
-    0000501C                       1563 ?0101:\r
-    0000501C DD 6E 20              1564        LD      L,(IX+32)\r
-    0000501F DD 66 21              1565        LD      H,(IX+33)\r
-    00005022 29                    1566        ADD     HL,HL\r
-    00005023 E5                    1567        PUSH    HL\r
-    00005024 21 08 00              1568        LD      HL,8\r
-    00005027 ED 4B C0 86           1569        LD      BC,(global)\r
-    0000502B 09                    1570        ADD     HL,BC\r
-    0000502C 4E                    1571        LD      C,(HL)\r
-    0000502D 23                    1572        INC     HL\r
-    0000502E 46                    1573        LD      B,(HL)\r
-    0000502F E1                    1574        POP     HL\r
-    00005030 09                    1575        ADD     HL,BC\r
-    00005031 2B                    1576        DEC     HL\r
-    00005032 2B                    1577        DEC     HL\r
-    00005033 46                    1578        LD      B,(HL)\r
-    00005034 DD 70 20              1579        LD      (IX+32),B\r
-    00005037 23                    1580        INC     HL\r
-    00005038 66                    1581        LD      H,(HL)\r
-    00005039 DD 74 21              1582        LD      (IX+33),H\r
-    0000503C                       1583 ?0102:\r
-    0000503C DD 6E 22              1584        LD      L,(IX+34)\r
-    0000503F DD 66 23              1585        LD      H,(IX+35)\r
-    00005042 01 00 90              1586        LD      BC,36864\r
-    00005045 3E 80                 1587        LD      A,128\r
-    00005047 AC                    1588        XOR     H\r
-    00005048 67                    1589        LD      H,A\r
-    00005049 ED 42                 1590        SBC     HL,BC\r
-    0000504B 30 2E                 1591        JR      NC,?0106\r
-    0000504D DD 4E 22              1592        LD      C,(IX+34)\r
-    00005050 DD 46 23              1593        LD      B,(IX+35)\r
-    00005053 21 00 00              1594        LD      HL,0\r
-    00005056 CD A6 81              1595        CALL    LWRD ?SS_CMP_L02\r
-    00005059 30 20                 1596        JR      NC,?0106\r
-    0000505B                       1597 ?0108:\r
-    0000505B                       1598 ?0107:\r
-    0000505B                       1599 ?0105:\r
-    0000505B DD 6E 22              1600        LD      L,(IX+34)\r
-    0000505E DD 66 23              1601        LD      H,(IX+35)\r
-    00005061 29                    1602        ADD     HL,HL\r
-    00005062 E5                    1603        PUSH    HL\r
-    00005063 21 08 00              1604        LD      HL,8\r
-    00005066 ED 4B C0 86           1605        LD      BC,(global)\r
-    0000506A 09                    1606        ADD     HL,BC\r
-    0000506B 4E                    1607        LD      C,(HL)\r
-    0000506C 23                    1608        INC     HL\r
-    0000506D 46                    1609        LD      B,(HL)\r
-    0000506E E1                    1610        POP     HL\r
-    0000506F 09                    1611        ADD     HL,BC\r
-    00005070 2B                    1612        DEC     HL\r
-    00005071 2B                    1613        DEC     HL\r
-    00005072 46                    1614        LD      B,(HL)\r
-    00005073 DD 70 22              1615        LD      (IX+34),B\r
-    00005076 23                    1616        INC     HL\r
-    00005077 66                    1617        LD      H,(HL)\r
-    00005078 DD 74 23              1618        LD      (IX+35),H\r
-    0000507B                       1619 ?0106:\r
-    0000507B                       1620 ?0110:\r
-    0000507B FD E5                 1621        PUSH    IY\r
-    0000507D E1                    1622        POP     HL\r
-    0000507E 7D                    1623        LD      A,L\r
-    0000507F B4                    1624        OR      H\r
-    00005080 28 16                 1625        JR      Z,?0109\r
-    00005082                       1626 ?0111:\r
-    00005082 FD E5                 1627        PUSH    IY\r
-    00005084 D1                    1628        POP     DE\r
-    00005085 3E 00                 1629        LD      A,BYTE3 Component_linkstringtable\r
-    00005087 21 E8 4F              1630        LD      HL,LWRD Component_linkstringtable\r
-    0000508A CD 5E 81              1631        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000508D FD 6E 13              1632        LD      L,(IY+19)\r
-    00005090 FD 66 14              1633        LD      H,(IY+20)\r
-    00005093 E5                    1634        PUSH    HL\r
-    00005094 FD E1                 1635        POP     IY\r
-    00005096 18 E3                 1636        JR      ?0106\r
-    00005098                       1637 ?0109:\r
-    00005098 C3 27 48              1638        JP      LWRD ?0411\r
-    0000509B                       1639 Window_handler:\r
-    0000509B CD 88 81              1640        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000509E D0 FF                 1641        DEFW    65488\r
-    000050A0 FD E5                 1642        PUSH    IY\r
-    000050A2 AF                    1643        XOR     A\r
-    000050A3 DD 77 FA              1644        LD      (IX-6),A\r
-    000050A6 DD 77 FB              1645        LD      (IX-5),A\r
-    000050A9 DD 77 FC              1646        LD      (IX-4),A\r
-    000050AC DD 77 FD              1647        LD      (IX-3),A\r
-    000050AF 59                    1648        LD      E,C\r
-    000050B0 50                    1649        LD      D,B\r
-    000050B1 CD 6B 81              1650        CALL    LWRD ?S_V_SWITCH_L06\r
-    000050B4 08 00                 1651        DEFW    8\r
-    000050B6 01 00                 1652        DEFW    1\r
-    000050B8 02 00                 1653        DEFW    2\r
-    000050BA 03 00                 1654        DEFW    3\r
-    000050BC 02 01                 1655        DEFW    258\r
-    000050BE 03 01                 1656        DEFW    259\r
-    000050C0 04 01                 1657        DEFW    260\r
-    000050C2 05 01                 1658        DEFW    261\r
-    000050C4 01 04                 1659        DEFW    1025\r
-    000050C6 34 53                 1660        DEFW    ?0159\r
-    000050C8 A2 52                 1661        DEFW    ?0153\r
-    000050CA 35 52                 1662        DEFW    ?0144\r
-    000050CC 61 52                 1663        DEFW    ?0145\r
-    000050CE A9 51                 1664        DEFW    ?0142\r
-    000050D0 BA 51                 1665        DEFW    ?0143\r
-    000050D2 6E 51                 1666        DEFW    ?0131\r
-    000050D4 09 51                 1667        DEFW    ?0119\r
-    000050D6 D8 50                 1668        DEFW    ?0113\r
-    000050D8                       1669 ?0113:\r
-    000050D8 21 15 00              1670        LD      HL,21\r
-    000050DB DD 4E 02              1671        LD      C,(IX+2)\r
-    000050DE DD 46 03              1672        LD      B,(IX+3)\r
-    000050E1 09                    1673        ADD     HL,BC\r
-    000050E2 46                    1674        LD      B,(HL)\r
-    000050E3 23                    1675        INC     HL\r
-    000050E4 66                    1676        LD      H,(HL)\r
-    000050E5 68                    1677        LD      L,B\r
-    000050E6                       1678 ?0344:\r
-    000050E6 E5                    1679        PUSH    HL\r
-    000050E7 FD E1                 1680        POP     IY\r
-    000050E9                       1681 ?0115:\r
-    000050E9 7D                    1682        LD      A,L\r
-    000050EA B4                    1683        OR      H\r
-    000050EB 28 19                 1684        JR      Z,?0114\r
-    000050ED                       1685 ?0116:\r
-    000050ED FD CB 0A 46           1686        BIT     0,(IY+10)\r
-    000050F1 28 0B                 1687        JR      Z,?0118\r
-    000050F3                       1688 ?0117:\r
-    000050F3 DD 6E 0A              1689        LD      L,(IX+10)\r
-    000050F6 DD 66 0B              1690        LD      H,(IX+11)\r
-    000050F9 E5                    1691        PUSH    HL\r
-    000050FA CD 39 53              1692        CALL    LWRD ?0462\r
-    000050FD E1                    1693        POP     HL\r
-    000050FE                       1694 ?0118:\r
-    000050FE FD 6E 13              1695        LD      L,(IY+19)\r
-    00005101 FD 66 14              1696        LD      H,(IY+20)\r
-    00005104 18 E0                 1697        JR      ?0344\r
-    00005106                       1698 ?0114:\r
-    00005106 C3 34 53              1699        JP      LWRD ?0159\r
-    00005109                       1700 ?0119:\r
-    00005109 21 15 00              1701        LD      HL,21\r
-    0000510C DD 4E 02              1702        LD      C,(IX+2)\r
-    0000510F DD 46 03              1703        LD      B,(IX+3)\r
-    00005112 09                    1704        ADD     HL,BC\r
-    00005113 46                    1705        LD      B,(HL)\r
-    00005114 23                    1706        INC     HL\r
-    00005115 66                    1707        LD      H,(HL)\r
-    00005116 68                    1708        LD      L,B\r
-    00005117                       1709 ?0348:\r
-    00005117 E5                    1710        PUSH    HL\r
-    00005118 FD E1                 1711        POP     IY\r
-    0000511A                       1712 ?0121:\r
-    0000511A 7D                    1713        LD      A,L\r
-    0000511B B4                    1714        OR      H\r
-    0000511C 28 4D                 1715        JR      Z,?0120\r
-    0000511E                       1716 ?0122:\r
-    0000511E FD CB 0A 46           1717        BIT     0,(IY+10)\r
-    00005122 28 38                 1718        JR      Z,?0126\r
-    00005124                       1719 ?0123:\r
-    00005124 DD 6E 0A              1720        LD      L,(IX+10)\r
-    00005127 DD 66 0B              1721        LD      H,(IX+11)\r
-    0000512A E5                    1722        PUSH    HL\r
-    0000512B CD 39 53              1723        CALL    LWRD ?0462\r
-    0000512E E1                    1724        POP     HL\r
-    0000512F DD 6E 0A              1725        LD      L,(IX+10)\r
-    00005132 DD 66 0B              1726        LD      H,(IX+11)\r
-    00005135 E5                    1727        PUSH    HL\r
-    00005136 01 03 00              1728        LD      BC,3\r
-    00005139 CD 3F 53              1729        CALL    LWRD ?0463\r
-    0000513C E1                    1730        POP     HL\r
-    0000513D FD 7E 0A              1731        LD      A,(IY+10)\r
-    00005140 E6 22                 1732        AND     34\r
-    00005142 6F                    1733        LD      L,A\r
-    00005143 26 00                 1734        LD      H,0\r
-    00005145 3E 22                 1735        LD      A,34\r
-    00005147 AD                    1736        XOR     L\r
-    00005148 20 12                 1737        JR      NZ,?0126\r
-    0000514A FD 4E 10              1738        LD      C,(IY+16)\r
-    0000514D 44                    1739        LD      B,H\r
-    0000514E DD 6E 0A              1740        LD      L,(IX+10)\r
-    00005151 DD 66 0B              1741        LD      H,(IX+11)\r
-    00005154 ED 42                 1742        SBC     HL,BC\r
-    00005156 20 04                 1743        JR      NZ,?0126\r
-    00005158                       1744 ?0128:\r
-    00005158                       1745 ?0127:\r
-    00005158                       1746 ?0125:\r
-    00005158 FD 21 00 00           1747        LD      IY,0\r
-    0000515C                       1748 ?0126:\r
-    0000515C                       1749 ?0124:\r
-    0000515C FD E5                 1750        PUSH    IY\r
-    0000515E E1                    1751        POP     HL\r
-    0000515F 7D                    1752        LD      A,L\r
-    00005160 B4                    1753        OR      H\r
-    00005161 28 B7                 1754        JR      Z,?0121\r
-    00005163                       1755 ?0129:\r
-    00005163 FD 6E 13              1756        LD      L,(IY+19)\r
-    00005166 FD 66 14              1757        LD      H,(IY+20)\r
-    00005169 18 AC                 1758        JR      ?0348\r
-    0000516B                       1759 ?0130:\r
-    0000516B                       1760 ?0120:\r
-    0000516B C3 34 53              1761        JP      LWRD ?0159\r
-    0000516E                       1762 ?0131:\r
-    0000516E DD 6E 02              1763        LD      L,(IX+2)\r
-    00005171 DD 66 03              1764        LD      H,(IX+3)\r
-    00005174 E5                    1765        PUSH    HL\r
-    00005175 FD E1                 1766        POP     IY\r
-    00005177 21 0A 00              1767        LD      HL,10\r
-    0000517A DD 4E 02              1768        LD      C,(IX+2)\r
-    0000517D DD 46 03              1769        LD      B,(IX+3)\r
-    00005180 09                    1770        ADD     HL,BC\r
-    00005181 CB 46                 1771        BIT     0,(HL)\r
-    00005183 28 21                 1772        JR      Z,?0139\r
-    00005185                       1773 ?0132:\r
-    00005185 FD CB 0A 6E           1774        BIT     5,(IY+10)\r
-    00005189 28 1B                 1775        JR      Z,?0139\r
-    0000518B FD 4E 10              1776        LD      C,(IY+16)\r
-    0000518E 47                    1777        LD      B,A\r
-    0000518F DD 6E 0A              1778        LD      L,(IX+10)\r
-    00005192 DD 66 0B              1779        LD      H,(IX+11)\r
-    00005195 A7                    1780        AND     A\r
-    00005196 ED 42                 1781        SBC     HL,BC\r
-    00005198 20 0C                 1782        JR      NZ,?0139\r
-    0000519A                       1783 ?0137:\r
-    0000519A                       1784 ?0136:\r
-    0000519A                       1785 ?0134:\r
-    0000519A FD 6E 26              1786        LD      L,(IY+38)\r
-    0000519D FD 66 27              1787        LD      H,(IY+39)\r
-    000051A0 FD E5                 1788        PUSH    IY\r
-    000051A2 D1                    1789        POP     DE\r
-    000051A3 CD 5E 53              1790        CALL    LWRD ?0474\r
-    000051A6                       1791 ?0138:\r
-    000051A6                       1792 ?0139:\r
-    000051A6                       1793 ?0135:\r
-    000051A6                       1794 ?0133:\r
-    000051A6                       1795 ?0140:\r
-    000051A6                       1796 ?0141:\r
-    000051A6 C3 34 53              1797        JP      LWRD ?0159\r
-    000051A9                       1798 ?0142:\r
-    000051A9 DD 5E 02              1799        LD      E,(IX+2)\r
-    000051AC 4B                    1800        LD      C,E\r
-    000051AD DD 56 03              1801        LD      D,(IX+3)\r
-    000051B0 42                    1802        LD      B,D\r
-    000051B1 21 1A 00              1803        LD      HL,26\r
-    000051B4 CD 5D 53              1804        CALL    LWRD ?0475\r
-    000051B7 C3 34 53              1805        JP      LWRD ?0159\r
-    000051BA                       1806 ?0143:\r
-    000051BA 21 0A 00              1807        LD      HL,10\r
-    000051BD DD 4E 02              1808        LD      C,(IX+2)\r
-    000051C0 DD 46 03              1809        LD      B,(IX+3)\r
-    000051C3 09                    1810        ADD     HL,BC\r
-    000051C4 7E                    1811        LD      A,(HL)\r
-    000051C5 E6 FC                 1812        AND     252\r
-    000051C7 77                    1813        LD      (HL),A\r
-    000051C8 21 2E 00              1814        LD      HL,46\r
-    000051CB 39                    1815        ADD     HL,SP\r
-    000051CC E5                    1816        PUSH    HL\r
-    000051CD 2B                    1817        DEC     HL\r
-    000051CE 2B                    1818        DEC     HL\r
-    000051CF 4D                    1819        LD      C,L\r
-    000051D0 44                    1820        LD      B,H\r
-    000051D1 DD 5E 02              1821        LD      E,(IX+2)\r
-    000051D4 DD 56 03              1822        LD      D,(IX+3)\r
-    000051D7 CD 55 53              1823        CALL    LWRD ?0466\r
-    000051DA E1                    1824        POP     HL\r
-    000051DB 21 08 00              1825        LD      HL,8\r
-    000051DE DD 4E 02              1826        LD      C,(IX+2)\r
-    000051E1 DD 46 03              1827        LD      B,(IX+3)\r
-    000051E4 09                    1828        ADD     HL,BC\r
-    000051E5 5E                    1829        LD      E,(HL)\r
-    000051E6 23                    1830        INC     HL\r
-    000051E7 56                    1831        LD      D,(HL)\r
-    000051E8 D5                    1832        PUSH    DE\r
-    000051E9 21 06 00              1833        LD      HL,6\r
-    000051EC 09                    1834        ADD     HL,BC\r
-    000051ED 5E                    1835        LD      E,(HL)\r
-    000051EE 23                    1836        INC     HL\r
-    000051EF 56                    1837        LD      D,(HL)\r
-    000051F0 D5                    1838        PUSH    DE\r
-    000051F1 DD 6E FC              1839        LD      L,(IX-4)\r
-    000051F4 DD 66 FD              1840        LD      H,(IX-3)\r
-    000051F7 E5                    1841        PUSH    HL\r
-    000051F8 DD 4E FA              1842        LD      C,(IX-6)\r
-    000051FB DD 46 FB              1843        LD      B,(IX-5)\r
-    000051FE 11 00 00              1844        LD      DE,0\r
-    00005201 CD BB 48              1845        CALL    LWRD ?0471\r
-    00005204 E1                    1846        POP     HL\r
-    00005205 E1                    1847        POP     HL\r
-    00005206 E1                    1848        POP     HL\r
-    00005207 21 00 00              1849        LD      HL,0\r
-    0000520A E5                    1850        PUSH    HL\r
-    0000520B 2E 11                 1851        LD      L,17\r
-    0000520D DD 5E 02              1852        LD      E,(IX+2)\r
-    00005210 DD 56 03              1853        LD      D,(IX+3)\r
-    00005213 19                    1854        ADD     HL,DE\r
-    00005214 5E                    1855        LD      E,(HL)\r
-    00005215 23                    1856        INC     HL\r
-    00005216 56                    1857        LD      D,(HL)\r
-    00005217 21 11 00              1858        LD      HL,17\r
-    0000521A DD 4E 02              1859        LD      C,(IX+2)\r
-    0000521D DD 46 03              1860        LD      B,(IX+3)\r
-    00005220 09                    1861        ADD     HL,BC\r
-    00005221 46                    1862        LD      B,(HL)\r
-    00005222 23                    1863        INC     HL\r
-    00005223 66                    1864        LD      H,(HL)\r
-    00005224 68                    1865        LD      L,B\r
-    00005225 01 17 00              1866        LD      BC,23\r
-    00005228 09                    1867        ADD     HL,BC\r
-    00005229 4E                    1868        LD      C,(HL)\r
-    0000522A 23                    1869        INC     HL\r
-    0000522B 46                    1870        LD      B,(HL)\r
-    0000522C 23                    1871        INC     HL\r
-    0000522D 7E                    1872        LD      A,(HL)\r
-    0000522E 69                    1873        LD      L,C\r
-    0000522F 60                    1874        LD      H,B\r
-    00005230 01 03 01              1875        LD      BC,259\r
-    00005233 18 29                 1876        JR      ?0347\r
-    00005235                       1877 ?0144:\r
-    00005235 21 11 00              1878        LD      HL,17\r
-    00005238 DD 4E 02              1879        LD      C,(IX+2)\r
-    0000523B DD 46 03              1880        LD      B,(IX+3)\r
-    0000523E 09                    1881        ADD     HL,BC\r
-    0000523F 56                    1882        LD      D,(HL)\r
-    00005240 23                    1883        INC     HL\r
-    00005241 66                    1884        LD      H,(HL)\r
-    00005242 6A                    1885        LD      L,D\r
-    00005243 E5                    1886        PUSH    HL\r
-    00005244 FD E1                 1887        POP     IY\r
-    00005246 59                    1888        LD      E,C\r
-    00005247 50                    1889        LD      D,B\r
-    00005248 CD 58 4F              1890        CALL    LWRD ?0453\r
-    0000524B 21 00 00              1891        LD      HL,0\r
-    0000524E E5                    1892        PUSH    HL\r
-    0000524F 01 03 01              1893        LD      BC,259\r
-    00005252 FD E5                 1894        PUSH    IY\r
-    00005254 D1                    1895        POP     DE\r
-    00005255 FD 7E 19              1896        LD      A,(IY+25)\r
-    00005258 FD 6E 17              1897        LD      L,(IY+23)\r
-    0000525B FD 66 18              1898        LD      H,(IY+24)\r
-    0000525E                       1899 ?0347:\r
-    0000525E C3 30 53              1900        JP      LWRD ?0346\r
-    00005261                       1901 ?0145:\r
-    00005261 21 15 00              1902        LD      HL,21\r
-    00005264 DD 4E 02              1903        LD      C,(IX+2)\r
-    00005267 DD 46 03              1904        LD      B,(IX+3)\r
-    0000526A 09                    1905        ADD     HL,BC\r
-    0000526B 46                    1906        LD      B,(HL)\r
-    0000526C 23                    1907        INC     HL\r
-    0000526D 66                    1908        LD      H,(HL)\r
-    0000526E 68                    1909        LD      L,B\r
-    0000526F                       1910 ?0345:\r
-    0000526F E5                    1911        PUSH    HL\r
-    00005270 FD E1                 1912        POP     IY\r
-    00005272                       1913 ?0147:\r
-    00005272 7D                    1914        LD      A,L\r
-    00005273 B4                    1915        OR      H\r
-    00005274 28 29                 1916        JR      Z,?0146\r
-    00005276                       1917 ?0148:\r
-    00005276 DD 6E 0A              1918        LD      L,(IX+10)\r
-    00005279 DD 66 0B              1919        LD      H,(IX+11)\r
-    0000527C FD E5                 1920        PUSH    IY\r
-    0000527E C1                    1921        POP     BC\r
-    0000527F ED 42                 1922        SBC     HL,BC\r
-    00005281 28 14                 1923        JR      Z,?0150\r
-    00005283 FD CB 0A 5E           1924        BIT     3,(IY+10)\r
-    00005287 28 0E                 1925        JR      Z,?0150\r
-    00005289                       1926 ?0152:\r
-    00005289                       1927 ?0151:\r
-    00005289                       1928 ?0149:\r
-    00005289 DD 6E 0A              1929        LD      L,(IX+10)\r
-    0000528C DD 66 0B              1930        LD      H,(IX+11)\r
-    0000528F E5                    1931        PUSH    HL\r
-    00005290 01 03 02              1932        LD      BC,515\r
-    00005293 CD 3F 53              1933        CALL    LWRD ?0463\r
-    00005296 E1                    1934        POP     HL\r
-    00005297                       1935 ?0150:\r
-    00005297 FD 6E 13              1936        LD      L,(IY+19)\r
-    0000529A FD 66 14              1937        LD      H,(IY+20)\r
-    0000529D 18 D0                 1938        JR      ?0345\r
-    0000529F                       1939 ?0146:\r
-    0000529F C3 34 53              1940        JP      LWRD ?0159\r
-    000052A2                       1941 ?0153:\r
-    000052A2 21 11 00              1942        LD      HL,17\r
-    000052A5 DD 4E 02              1943        LD      C,(IX+2)\r
-    000052A8 DD 46 03              1944        LD      B,(IX+3)\r
-    000052AB 09                    1945        ADD     HL,BC\r
-    000052AC 7E                    1946        LD      A,(HL)\r
-    000052AD 23                    1947        INC     HL\r
-    000052AE B6                    1948        OR      (HL)\r
-    000052AF 20 0E                 1949        JR      NZ,?0155\r
-    000052B1                       1950 ?0154:\r
-    000052B1 21 04 00              1951        LD      HL,4\r
-    000052B4 ED 4B C0 86           1952        LD      BC,(global)\r
-    000052B8 09                    1953        ADD     HL,BC\r
-    000052B9 36 01                 1954        LD      (HL),1\r
-    000052BB 23                    1955        INC     HL\r
-    000052BC 77                    1956        LD      (HL),A\r
-    000052BD 18 75                 1957        JR      ?0159\r
-    000052BF                       1958 ?0155:\r
-    000052BF 21 0A 00              1959        LD      HL,10\r
-    000052C2 09                    1960        ADD     HL,BC\r
-    000052C3 23                    1961        INC     HL\r
-    000052C4 CB 6E                 1962        BIT     5,(HL)\r
-    000052C6 20 28                 1963        JR      NZ,?0158\r
-    000052C8                       1964 ?0157:\r
-    000052C8 DD 6E 0A              1965        LD      L,(IX+10)\r
-    000052CB DD 66 0B              1966        LD      H,(IX+11)\r
-    000052CE E5                    1967        PUSH    HL\r
-    000052CF 21 11 00              1968        LD      HL,17\r
-    000052D2 59                    1969        LD      E,C\r
-    000052D3 50                    1970        LD      D,B\r
-    000052D4 19                    1971        ADD     HL,DE\r
-    000052D5 5E                    1972        LD      E,(HL)\r
-    000052D6 23                    1973        INC     HL\r
-    000052D7 56                    1974        LD      D,(HL)\r
-    000052D8 21 11 00              1975        LD      HL,17\r
-    000052DB 09                    1976        ADD     HL,BC\r
-    000052DC 46                    1977        LD      B,(HL)\r
-    000052DD 23                    1978        INC     HL\r
-    000052DE 66                    1979        LD      H,(HL)\r
-    000052DF 68                    1980        LD      L,B\r
-    000052E0 01 17 00              1981        LD      BC,23\r
-    000052E3 09                    1982        ADD     HL,BC\r
-    000052E4 4E                    1983        LD      C,(HL)\r
-    000052E5 23                    1984        INC     HL\r
-    000052E6 46                    1985        LD      B,(HL)\r
-    000052E7 23                    1986        INC     HL\r
-    000052E8 7E                    1987        LD      A,(HL)\r
-    000052E9 69                    1988        LD      L,C\r
-    000052EA 60                    1989        LD      H,B\r
-    000052EB 01 01 04              1990        LD      BC,1025\r
-    000052EE 18 40                 1991        JR      ?0346\r
-    000052F0                       1992 ?0158:\r
-    000052F0 21 11 00              1993        LD      HL,17\r
-    000052F3 09                    1994        ADD     HL,BC\r
-    000052F4 56                    1995        LD      D,(HL)\r
-    000052F5 23                    1996        INC     HL\r
-    000052F6 66                    1997        LD      H,(HL)\r
-    000052F7 6A                    1998        LD      L,D\r
-    000052F8 E5                    1999        PUSH    HL\r
-    000052F9 FD E1                 2000        POP     IY\r
-    000052FB 11 0A 00              2001        LD      DE,10\r
-    000052FE 19                    2002        ADD     HL,DE\r
-    000052FF 7E                    2003        LD      A,(HL)\r
-    00005300 F6 03                 2004        OR      3\r
-    00005302 77                    2005        LD      (HL),A\r
-    00005303 6A                    2006        LD      L,D\r
-    00005304 62                    2007        LD      H,D\r
-    00005305 E5                    2008        PUSH    HL\r
-    00005306 23                    2009        INC     HL\r
-    00005307 E5                    2010        PUSH    HL\r
-    00005308 4A                    2011        LD      C,D\r
-    00005309 42                    2012        LD      B,D\r
-    0000530A FD E5                 2013        PUSH    IY\r
-    0000530C D1                    2014        POP     DE\r
-    0000530D 3E 00                 2015        LD      A,BYTE3 Component_changestate_children\r
-    0000530F 21 7F 4F              2016        LD      HL,LWRD Component_changestate_children\r
-    00005312 CD 5E 81              2017        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005315 E1                    2018        POP     HL\r
-    00005316 E1                    2019        POP     HL\r
-    00005317 21 00 00              2020        LD      HL,0\r
-    0000531A E5                    2021        PUSH    HL\r
-    0000531B DD 5E 02              2022        LD      E,(IX+2)\r
-    0000531E 4B                    2023        LD      C,E\r
-    0000531F DD 56 03              2024        LD      D,(IX+3)\r
-    00005322 42                    2025        LD      B,D\r
-    00005323 2E 17                 2026        LD      L,23\r
-    00005325 09                    2027        ADD     HL,BC\r
-    00005326 4E                    2028        LD      C,(HL)\r
-    00005327 23                    2029        INC     HL\r
-    00005328 46                    2030        LD      B,(HL)\r
-    00005329 23                    2031        INC     HL\r
-    0000532A 7E                    2032        LD      A,(HL)\r
-    0000532B 69                    2033        LD      L,C\r
-    0000532C 60                    2034        LD      H,B\r
-    0000532D 01 05 01              2035        LD      BC,261\r
-    00005330                       2036 ?0346:\r
-    00005330 CD 5E 81              2037        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005333 E1                    2038        POP     HL\r
-    00005334                       2039 ?0159:\r
-    00005334                       2040 ?0156:\r
-    00005334                       2041 ?0112:\r
-    00005334 FD E1                 2042        POP     IY\r
-    00005336 C3 1F 81              2043        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00005339                       2044 ?0462:\r
-    00005339 DD 4E 04              2045        LD      C,(IX+4)\r
-    0000533C DD 46 05              2046        LD      B,(IX+5)\r
-    0000533F                       2047 ?0463:\r
-    0000533F FD E5                 2048        PUSH    IY\r
-    00005341 D1                    2049        POP     DE\r
-    00005342 FD 7E 19              2050        LD      A,(IY+25)\r
-    00005345 FD 6E 17              2051        LD      L,(IY+23)\r
-    00005348 FD 66 18              2052        LD      H,(IY+24)\r
-    0000534B C3 5E 81              2053        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000534E                       2054 ?0467:\r
-    0000534E 23                    2055        INC     HL\r
-    0000534F 23                    2056        INC     HL\r
-    00005350                       2057 ?0468:\r
-    00005350 4D                    2058        LD      C,L\r
-    00005351 44                    2059        LD      B,H\r
-    00005352 DD E5                 2060        PUSH    IX\r
-    00005354 D1                    2061        POP     DE\r
-    00005355                       2062 ?0466:\r
-    00005355 3E 00                 2063        LD      A,BYTE3 Component_findXY\r
-    00005357 21 13 4D              2064        LD      HL,LWRD Component_findXY\r
-    0000535A C3 5E 81              2065        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000535D                       2066 ?0475:\r
-    0000535D 09                    2067        ADD     HL,BC\r
-    0000535E                       2068 ?0474:\r
-    0000535E 4E                    2069        LD      C,(HL)\r
-    0000535F 23                    2070        INC     HL\r
-    00005360 46                    2071        LD      B,(HL)\r
-    00005361 23                    2072        INC     HL\r
-    00005362 7E                    2073        LD      A,(HL)\r
-    00005363 69                    2074        LD      L,C\r
-    00005364 60                    2075        LD      H,B\r
-    00005365 C3 5E 81              2076        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00005368                       2077 Window_paint:\r
-    00005368 CD 88 81              2078        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000536B FC FF                 2079        DEFW    -4\r
-    0000536D FD E5                 2080        PUSH    IY\r
-    0000536F DD 6E 02              2081        LD      L,(IX+2)\r
-    00005372 DD 66 03              2082        LD      H,(IX+3)\r
-    00005375 E5                    2083        PUSH    HL\r
-    00005376 FD E1                 2084        POP     IY\r
-    00005378 AF                    2085        XOR     A\r
-    00005379 DD 77 FE              2086        LD      (IX-2),A\r
-    0000537C DD 77 FF              2087        LD      (IX-1),A\r
-    0000537F DD 77 FC              2088        LD      (IX-4),A\r
-    00005382 DD 77 FD              2089        LD      (IX-3),A\r
-    00005385 21 0A 00              2090        LD      HL,10\r
-    00005388 ED 4B C0 86           2091        LD      BC,(global)\r
-    0000538C 09                    2092        ADD     HL,BC\r
-    0000538D 7E                    2093        LD      A,(HL)\r
-    0000538E 23                    2094        INC     HL\r
-    0000538F 66                    2095        LD      H,(HL)\r
-    00005390 6F                    2096        LD      L,A\r
-    00005391 46                    2097        LD      B,(HL)\r
-    00005392 23                    2098        INC     HL\r
-    00005393 66                    2099        LD      H,(HL)\r
-    00005394 68                    2100        LD      L,B\r
-    00005395 FD 4E 0E              2101        LD      C,(IY+14)\r
-    00005398 FD 46 0F              2102        LD      B,(IY+15)\r
-    0000539B A7                    2103        AND     A\r
-    0000539C ED 42                 2104        SBC     HL,BC\r
-    0000539E 28 09                 2105        JR      Z,?0161\r
-    000053A0                       2106 ?0160:\r
-    000053A0 FD 5E 0E              2107        LD      E,(IY+14)\r
-    000053A3 FD 56 0F              2108        LD      D,(IY+15)\r
-    000053A6 CD ED 54              2109        CALL    LWRD ?0472\r
-    000053A9                       2110 ?0161:\r
-    000053A9 FD CB 0A 46           2111        BIT     0,(IY+10)\r
-    000053AD CA A5 54              2112        JP      Z,?0163\r
-    000053B0                       2113 ?0162:\r
-    000053B0 21 02 00              2114        LD      HL,2\r
-    000053B3 39                    2115        ADD     HL,SP\r
-    000053B4 E5                    2116        PUSH    HL\r
-    000053B5 23                    2117        INC     HL\r
-    000053B6 23                    2118        INC     HL\r
-    000053B7 4D                    2119        LD      C,L\r
-    000053B8 44                    2120        LD      B,H\r
-    000053B9 FD E5                 2121        PUSH    IY\r
-    000053BB D1                    2122        POP     DE\r
-    000053BC CD 55 53              2123        CALL    LWRD ?0466\r
-    000053BF E1                    2124        POP     HL\r
-    000053C0 CD 09 4D              2125        CALL    LWRD ?0477\r
-    000053C3 DD 4E FC              2126        LD      C,(IX-4)\r
-    000053C6 DD 46 FD              2127        LD      B,(IX-3)\r
-    000053C9 DD 5E FE              2128        LD      E,(IX-2)\r
-    000053CC DD 56 FF              2129        LD      D,(IX-1)\r
-    000053CF 3E 00                 2130        LD      A,BYTE3 Move\r
-    000053D1 21 6C 46              2131        LD      HL,LWRD Move\r
-    000053D4 CD 5E 81              2132        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000053D7 FD 4E 08              2133        LD      C,(IY+8)\r
-    000053DA FD 46 09              2134        LD      B,(IY+9)\r
-    000053DD FD 5E 06              2135        LD      E,(IY+6)\r
-    000053E0 FD 56 07              2136        LD      D,(IY+7)\r
-    000053E3 3E 00                 2137        LD      A,BYTE3 ClearRect\r
-    000053E5 21 AB 46              2138        LD      HL,LWRD ClearRect\r
-    000053E8 CD 5E 81              2139        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000053EB FD 6E 08              2140        LD      L,(IY+8)\r
-    000053EE FD 66 09              2141        LD      H,(IY+9)\r
-    000053F1 E5                    2142        PUSH    HL\r
-    000053F2 FD 6E 06              2143        LD      L,(IY+6)\r
-    000053F5 FD 66 07              2144        LD      H,(IY+7)\r
-    000053F8 E5                    2145        PUSH    HL\r
-    000053F9 DD 6E FC              2146        LD      L,(IX-4)\r
-    000053FC DD 66 FD              2147        LD      H,(IX-3)\r
-    000053FF E5                    2148        PUSH    HL\r
-    00005400 DD 4E FE              2149        LD      C,(IX-2)\r
-    00005403 DD 46 FF              2150        LD      B,(IX-1)\r
-    00005406 11 00 00              2151        LD      DE,0\r
-    00005409 CD BB 48              2152        CALL    LWRD ?0471\r
-    0000540C E1                    2153        POP     HL\r
-    0000540D E1                    2154        POP     HL\r
-    0000540E E1                    2155        POP     HL\r
-    0000540F FD 5E 20              2156        LD      E,(IY+32)\r
-    00005412 FD 56 21              2157        LD      D,(IY+33)\r
-    00005415 21 0A 00              2158        LD      HL,10\r
-    00005418 ED 4B C0 86           2159        LD      BC,(global)\r
-    0000541C 09                    2160        ADD     HL,BC\r
-    0000541D 7E                    2161        LD      A,(HL)\r
-    0000541E 23                    2162        INC     HL\r
-    0000541F 66                    2163        LD      H,(HL)\r
-    00005420 6F                    2164        LD      L,A\r
-    00005421 CD AA 54              2165        CALL    LWRD ?0455\r
-    00005424 DD 4E FC              2166        LD      C,(IX-4)\r
-    00005427 DD 46 FD              2167        LD      B,(IX-3)\r
-    0000542A 09                    2168        ADD     HL,BC\r
-    0000542B 11 04 00              2169        LD      DE,4\r
-    0000542E 19                    2170        ADD     HL,DE\r
-    0000542F 4D                    2171        LD      C,L\r
-    00005430 44                    2172        LD      B,H\r
-    00005431 CD B8 54              2173        CALL    LWRD ?0459\r
-    00005434 7E                    2174        LD      A,(HL)\r
-    00005435 23                    2175        INC     HL\r
-    00005436 66                    2176        LD      H,(HL)\r
-    00005437 6F                    2177        LD      L,A\r
-    00005438 01 05 00              2178        LD      BC,5\r
-    0000543B 09                    2179        ADD     HL,BC\r
-    0000543C 4E                    2180        LD      C,(HL)\r
-    0000543D 23                    2181        INC     HL\r
-    0000543E 46                    2182        LD      B,(HL)\r
-    0000543F 23                    2183        INC     HL\r
-    00005440 7E                    2184        LD      A,(HL)\r
-    00005441 69                    2185        LD      L,C\r
-    00005442 60                    2186        LD      H,B\r
-    00005443 CD DC 49              2187        CALL    LWRD ?0444\r
-    00005446 01 FC FF              2188        LD      BC,65532\r
-    00005449 09                    2189        ADD     HL,BC\r
-    0000544A 4D                    2190        LD      C,L\r
-    0000544B 44                    2191        LD      B,H\r
-    0000544C FD 5E 06              2192        LD      E,(IY+6)\r
-    0000544F FD 56 07              2193        LD      D,(IY+7)\r
-    00005452 3E 00                 2194        LD      A,BYTE3 DrawRectNC\r
-    00005454 21 EE 46              2195        LD      HL,LWRD DrawRectNC\r
-    00005457 CD 5E 81              2196        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000545A DD 4E FC              2197        LD      C,(IX-4)\r
-    0000545D DD 46 FD              2198        LD      B,(IX-3)\r
-    00005460 CD B8 54              2199        CALL    LWRD ?0459\r
-    00005463 46                    2200        LD      B,(HL)\r
-    00005464 23                    2201        INC     HL\r
-    00005465 66                    2202        LD      H,(HL)\r
-    00005466 68                    2203        LD      L,B\r
-    00005467 CD AA 54              2204        CALL    LWRD ?0455\r
-    0000546A 01 05 00              2205        LD      BC,5\r
-    0000546D 09                    2206        ADD     HL,BC\r
-    0000546E 4D                    2207        LD      C,L\r
-    0000546F 44                    2208        LD      B,H\r
-    00005470 FD 5E 06              2209        LD      E,(IY+6)\r
-    00005473 FD 56 07              2210        LD      D,(IY+7)\r
-    00005476 3E 00                 2211        LD      A,BYTE3 FillRect\r
-    00005478 21 33 47              2212        LD      HL,LWRD FillRect\r
-    0000547B CD 5E 81              2213        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000547E 21 0E 00              2214        LD      HL,14\r
-    00005481 DD 4E FC              2215        LD      C,(IX-4)\r
-    00005484 DD 46 FD              2216        LD      B,(IX-3)\r
-    00005487 09                    2217        ADD     HL,BC\r
-    00005488 4D                    2218        LD      C,L\r
-    00005489 44                    2219        LD      B,H\r
-    0000548A DD 5E FE              2220        LD      E,(IX-2)\r
-    0000548D DD 56 FF              2221        LD      D,(IX-1)\r
-    00005490 13                    2222        INC     DE\r
-    00005491 13                    2223        INC     DE\r
-    00005492 3E 00                 2224        LD      A,BYTE3 Move\r
-    00005494 21 6C 46              2225        LD      HL,LWRD Move\r
-    00005497 CD D5 54              2226        CALL    LWRD ?0460\r
-    0000549A FD E5                 2227        PUSH    IY\r
-    0000549C D1                    2228        POP     DE\r
-    0000549D 3E 00                 2229        LD      A,BYTE3 Component_paint\r
-    0000549F 21 CD 4C              2230        LD      HL,LWRD Component_paint\r
-    000054A2 CD 5E 81              2231        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000054A5                       2232 ?0163:\r
-    000054A5 FD E1                 2233        POP     IY\r
-    000054A7 C3 1F 81              2234        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000054AA                       2235 ?0455:\r
-    000054AA 01 05 00              2236        LD      BC,5\r
-    000054AD 09                    2237        ADD     HL,BC\r
-    000054AE 4E                    2238        LD      C,(HL)\r
-    000054AF 23                    2239        INC     HL\r
-    000054B0 46                    2240        LD      B,(HL)\r
-    000054B1 23                    2241        INC     HL\r
-    000054B2 7E                    2242        LD      A,(HL)\r
-    000054B3 69                    2243        LD      L,C\r
-    000054B4 60                    2244        LD      H,B\r
-    000054B5 C3 5E 81              2245        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    000054B8                       2246 ?0459:\r
-    000054B8 DD 5E FE              2247        LD      E,(IX-2)\r
-    000054BB DD 56 FF              2248        LD      D,(IX-1)\r
-    000054BE 3E 00                 2249        LD      A,BYTE3 Move\r
-    000054C0 21 6C 46              2250        LD      HL,LWRD Move\r
-    000054C3 CD 5E 81              2251        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000054C6 FD 5E 20              2252        LD      E,(IY+32)\r
-    000054C9 FD 56 21              2253        LD      D,(IY+33)\r
-    000054CC 21 0A 00              2254        LD      HL,10\r
-    000054CF ED 4B C0 86           2255        LD      BC,(global)\r
-    000054D3 09                    2256        ADD     HL,BC\r
-    000054D4 C9                    2257        RET\r
-    000054D5                       2258 ?0460:\r
-    000054D5 CD 5E 81              2259        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000054D8 FD 5E 20              2260        LD      E,(IY+32)\r
-    000054DB FD 56 21              2261        LD      D,(IY+33)\r
-    000054DE 3E 00                 2262        LD      A,BYTE3 Text\r
-    000054E0 21 02 48              2263        LD      HL,LWRD Text\r
-    000054E3 CD 5E 81              2264        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000054E6 C9                    2265        RET\r
-    000054E7                       2266 ?0473:\r
-    000054E7 DD 5E 0E              2267        LD      E,(IX+14)\r
-    000054EA DD 56 0F              2268        LD      D,(IX+15)\r
-    000054ED                       2269 ?0472:\r
-    000054ED 3E 00                 2270        LD      A,BYTE3 setCurrentFont\r
-    000054EF 21 6E 49              2271        LD      HL,LWRD setCurrentFont\r
-    000054F2 C3 5E 81              2272        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    000054F5                       2273 Root_paint:\r
-    000054F5 CD 52 81              2274        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    000054F8 CD 09 4D              2275        CALL    LWRD ?0477\r
-    000054FB CD A0 48              2276        CALL    LWRD ?0461\r
-    000054FE CD 5E 81              2277        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005501 01 80 00              2278        LD      BC,128\r
-    00005504 58                    2279        LD      E,B\r
-    00005505 50                    2280        LD      D,B\r
-    00005506 3E 00                 2281        LD      A,BYTE3 GrayRect\r
-    00005508 21 BD 47              2282        LD      HL,LWRD GrayRect\r
-    0000550B CD 5E 81              2283        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000550E 21 80 00              2284        LD      HL,128\r
-    00005511 E5                    2285        PUSH    HL\r
-    00005512 6C                    2286        LD      L,H\r
-    00005513 E5                    2287        PUSH    HL\r
-    00005514 E5                    2288        PUSH    HL\r
-    00005515 CD B8 48              2289        CALL    LWRD ?0470\r
-    00005518 E1                    2290        POP     HL\r
-    00005519 E1                    2291        POP     HL\r
-    0000551A E1                    2292        POP     HL\r
-    0000551B DD 5E 02              2293        LD      E,(IX+2)\r
-    0000551E DD 56 03              2294        LD      D,(IX+3)\r
-    00005521 3E 00                 2295        LD      A,BYTE3 Component_paint\r
-    00005523 21 CD 4C              2296        LD      HL,LWRD Component_paint\r
-    00005526 CD 5E 81              2297        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005529 C3 1F 81              2298        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000552C                       2299 Window_add:\r
-    0000552C CD 52 81              2300        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    0000552F 3E 00                 2301        LD      A,BYTE3 Component_add\r
-    00005531 21 6F 4C              2302        LD      HL,LWRD Component_add\r
-    00005534 CD 5E 81              2303        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005537 C3 1F 81              2304        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000553A                       2305 Window_new:\r
-    0000553A CD 88 81              2306        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    0000553D 00 00                 2307        DEFW    0\r
-    0000553F FD E5                 2308        PUSH    IY\r
-    00005541 DD 6E 0C              2309        LD      L,(IX+12)\r
-    00005544 DD 66 0D              2310        LD      H,(IX+13)\r
-    00005547 E5                    2311        PUSH    HL\r
-    00005548 DD 6E 0A              2312        LD      L,(IX+10)\r
-    0000554B DD 66 0B              2313        LD      H,(IX+11)\r
-    0000554E E5                    2314        PUSH    HL\r
-    0000554F CD 7E 55              2315        CALL    LWRD ?0438\r
-    00005552 F1                    2316        POP     AF\r
-    00005553 F1                    2317        POP     AF\r
-    00005554 E5                    2318        PUSH    HL\r
-    00005555 FD E1                 2319        POP     IY\r
-    00005557 01 17 00              2320        LD      BC,23\r
-    0000555A 09                    2321        ADD     HL,BC\r
-    0000555B 36 9B                 2322        LD      (HL),LOW(Window_handler)\r
-    0000555D 23                    2323        INC     HL\r
-    0000555E 36 50                 2324        LD      (HL),HIGH(Window_handler)\r
-    00005560 23                    2325        INC     HL\r
-    00005561 36 00                 2326        LD      (HL),BYTE3 Window_handler\r
-    00005563 FD 36 1A 68           2327        LD      (IY+26),LOW(Window_paint)\r
-    00005567 FD 36 1B 53           2328        LD      (IY+27),HIGH(Window_paint)\r
-    0000556B FD 36 1C 00           2329        LD      (IY+28),BYTE3 Window_paint\r
-    0000556F FD 36 1D 2C           2330        LD      (IY+29),LOW(Window_add)\r
-    00005573 FD 36 1E 55           2331        LD      (IY+30),HIGH(Window_add)\r
-    00005577 FD 36 1F 00           2332        LD      (IY+31),BYTE3 Window_add\r
-    0000557B C3 1A 4C              2333        JP      LWRD ?0418\r
-    0000557E                       2334 ?0438:\r
-    0000557E DD 5E 02              2335        LD      E,(IX+2)\r
-    00005581 DD 56 03              2336        LD      D,(IX+3)\r
-    00005584 3E 00                 2337        LD      A,BYTE3 Component_new\r
-    00005586 21 78 4B              2338        LD      HL,LWRD Component_new\r
-    00005589 C3 5E 81              2339        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000558C                       2340 Button_handler:\r
-    0000558C CD 52 81              2341        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    0000558F FD E5                 2342        PUSH    IY\r
-    00005591 D5                    2343        PUSH    DE\r
-    00005592 FD E1                 2344        POP     IY\r
-    00005594 DD 6E 0A              2345        LD      L,(IX+10)\r
-    00005597 DD 66 0B              2346        LD      H,(IX+11)\r
-    0000559A E5                    2347        PUSH    HL\r
-    0000559B 3E 00                 2348        LD      A,BYTE3 Window_handler\r
-    0000559D 21 9B 50              2349        LD      HL,LWRD Window_handler\r
-    000055A0 CD 5E 81              2350        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000055A3 E1                    2351        POP     HL\r
-    000055A4 3E 03                 2352        LD      A,3\r
-    000055A6 DD AE 04              2353        XOR     (IX+4)\r
-    000055A9 DD B6 05              2354        OR      (IX+5)\r
-    000055AC 20 3E                 2355        JR      NZ,?0169\r
-    000055AE FD 4E 10              2356        LD      C,(IY+16)\r
-    000055B1 47                    2357        LD      B,A\r
-    000055B2 DD 6E 0A              2358        LD      L,(IX+10)\r
-    000055B5 DD 66 0B              2359        LD      H,(IX+11)\r
-    000055B8 ED 42                 2360        SBC     HL,BC\r
-    000055BA 20 30                 2361        JR      NZ,?0169\r
-    000055BC FD 7E 0A              2362        LD      A,(IY+10)\r
-    000055BF E6 03                 2363        AND     3\r
-    000055C1 28 29                 2364        JR      Z,?0169\r
-    000055C3                       2365 ?0167:\r
-    000055C3                       2366 ?0166:\r
-    000055C3                       2367 ?0164:\r
-    000055C3 DD 6E 0A              2368        LD      L,(IX+10)\r
-    000055C6 DD 66 0B              2369        LD      H,(IX+11)\r
-    000055C9 E5                    2370        PUSH    HL\r
-    000055CA FD 5E 11              2371        LD      E,(IY+17)\r
-    000055CD FD 56 12              2372        LD      D,(IY+18)\r
-    000055D0 FD 6E 11              2373        LD      L,(IY+17)\r
-    000055D3 FD 66 12              2374        LD      H,(IY+18)\r
-    000055D6 0E 17                 2375        LD      C,23\r
-    000055D8 CD 19 56              2376        CALL    LWRD ?0464\r
-    000055DB E1                    2377        POP     HL\r
-    000055DC FD CB 0A 66           2378        BIT     4,(IY+10)\r
-    000055E0 28 0A                 2379        JR      Z,?0169\r
-    000055E2                       2380 ?0168:\r
-    000055E2 FD 4E 10              2381        LD      C,(IY+16)\r
-    000055E5 06 00                 2382        LD      B,0\r
-    000055E7 C5                    2383        PUSH    BC\r
-    000055E8 CD 27 56              2384        CALL    LWRD ?0469\r
-    000055EB E1                    2385        POP     HL\r
-    000055EC                       2386 ?0169:\r
-    000055EC                       2387 ?0165:\r
-    000055EC 21 01 02              2388        LD      HL,513\r
-    000055EF DD 4E 04              2389        LD      C,(IX+4)\r
-    000055F2 DD 46 05              2390        LD      B,(IX+5)\r
-    000055F5 A7                    2391        AND     A\r
-    000055F6 ED 42                 2392        SBC     HL,BC\r
-    000055F8 20 0B                 2393        JR      NZ,?0171\r
-    000055FA                       2394 ?0170:\r
-    000055FA DD 6E 0A              2395        LD      L,(IX+10)\r
-    000055FD DD 66 0B              2396        LD      H,(IX+11)\r
-    00005600 E5                    2397        PUSH    HL\r
-    00005601 CD 0A 56              2398        CALL    LWRD ?0465\r
-    00005604 E1                    2399        POP     HL\r
-    00005605                       2400 ?0171:\r
-    00005605 FD E1                 2401        POP     IY\r
-    00005607 C3 1F 81              2402        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    0000560A                       2403 ?0465:\r
-    0000560A FD 5E 11              2404        LD      E,(IY+17)\r
-    0000560D FD 56 12              2405        LD      D,(IY+18)\r
-    00005610 FD 6E 11              2406        LD      L,(IY+17)\r
-    00005613 FD 66 12              2407        LD      H,(IY+18)\r
-    00005616 01 17 00              2408        LD      BC,23\r
-    00005619                       2409 ?0464:\r
-    00005619 09                    2410        ADD     HL,BC\r
-    0000561A 4E                    2411        LD      C,(HL)\r
-    0000561B 23                    2412        INC     HL\r
-    0000561C 46                    2413        LD      B,(HL)\r
-    0000561D 23                    2414        INC     HL\r
-    0000561E 7E                    2415        LD      A,(HL)\r
-    0000561F 69                    2416        LD      L,C\r
-    00005620 60                    2417        LD      H,B\r
-    00005621 01 01 02              2418        LD      BC,513\r
-    00005624 C3 5E 81              2419        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00005627                       2420 ?0469:\r
-    00005627 FD 5E 11              2421        LD      E,(IY+17)\r
-    0000562A FD 56 12              2422        LD      D,(IY+18)\r
-    0000562D FD 6E 11              2423        LD      L,(IY+17)\r
-    00005630 FD 66 12              2424        LD      H,(IY+18)\r
-    00005633 0E 17                 2425        LD      C,23\r
-    00005635 09                    2426        ADD     HL,BC\r
-    00005636 4E                    2427        LD      C,(HL)\r
-    00005637 23                    2428        INC     HL\r
-    00005638 46                    2429        LD      B,(HL)\r
-    00005639 23                    2430        INC     HL\r
-    0000563A 7E                    2431        LD      A,(HL)\r
-    0000563B 69                    2432        LD      L,C\r
-    0000563C 60                    2433        LD      H,B\r
-    0000563D 01 04 01              2434        LD      BC,260\r
-    00005640 C3 5E 81              2435        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00005643                       2436 Button_drawtext:\r
-    00005643 CD 52 81              2437        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00005646 FD E5                 2438        PUSH    IY\r
-    00005648 D5                    2439        PUSH    DE\r
-    00005649 FD E1                 2440        POP     IY\r
-    0000564B 21 0A 00              2441        LD      HL,10\r
-    0000564E 19                    2442        ADD     HL,DE\r
-    0000564F CB 76                 2443        BIT     6,(HL)\r
-    00005651 FD 5E 20              2444        LD      E,(IY+32)\r
-    00005654 FD 56 21              2445        LD      D,(IY+33)\r
-    00005657 21 0A 00              2446        LD      HL,10\r
-    0000565A ED 4B C0 86           2447        LD      BC,(global)\r
-    0000565E 09                    2448        ADD     HL,BC\r
-    0000565F 7E                    2449        LD      A,(HL)\r
-    00005660 23                    2450        INC     HL\r
-    00005661 66                    2451        LD      H,(HL)\r
-    00005662 6F                    2452        LD      L,A\r
-    00005663 01 05 00              2453        LD      BC,5\r
-    00005666 09                    2454        ADD     HL,BC\r
-    00005667 4E                    2455        LD      C,(HL)\r
-    00005668 23                    2456        INC     HL\r
-    00005669 46                    2457        LD      B,(HL)\r
-    0000566A 23                    2458        INC     HL\r
-    0000566B 7E                    2459        LD      A,(HL)\r
-    0000566C 69                    2460        LD      L,C\r
-    0000566D 60                    2461        LD      H,B\r
-    0000566E 28 53                 2462        JR      Z,?0173\r
-    00005670                       2463 ?0172:\r
-    00005670 CD 5E 81              2464        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005673 29                    2465        ADD     HL,HL\r
-    00005674 4D                    2466        LD      C,L\r
-    00005675 44                    2467        LD      B,H\r
-    00005676 FD 6E 08              2468        LD      L,(IY+8)\r
-    00005679 FD 66 09              2469        LD      H,(IY+9)\r
-    0000567C A7                    2470        AND     A\r
-    0000567D ED 42                 2471        SBC     HL,BC\r
-    0000567F CD F0 56              2472        CALL    LWRD ?0480\r
-    00005682 0E 0C                 2473        LD      C,12\r
-    00005684 09                    2474        ADD     HL,BC\r
-    00005685 E5                    2475        PUSH    HL\r
-    00005686 FD 5E 20              2476        LD      E,(IY+32)\r
-    00005689 FD 56 21              2477        LD      D,(IY+33)\r
-    0000568C 21 0A 00              2478        LD      HL,10\r
-    0000568F ED 4B C0 86           2479        LD      BC,(global)\r
-    00005693 09                    2480        ADD     HL,BC\r
-    00005694 7E                    2481        LD      A,(HL)\r
-    00005695 23                    2482        INC     HL\r
-    00005696 66                    2483        LD      H,(HL)\r
-    00005697 6F                    2484        LD      L,A\r
-    00005698 CD B0 49              2485        CALL    LWRD ?0442\r
-    0000569B C1                    2486        POP     BC\r
-    0000569C CD D5 54              2487        CALL    LWRD ?0460\r
-    0000569F FD 5E 08              2488        LD      E,(IY+8)\r
-    000056A2 FD 56 09              2489        LD      D,(IY+9)\r
-    000056A5 CD F1 56              2490        CALL    LWRD ?0481\r
-    000056A8 0E 0A                 2491        LD      C,10\r
-    000056AA 09                    2492        ADD     HL,BC\r
-    000056AB E5                    2493        PUSH    HL\r
-    000056AC FD 5E 22              2494        LD      E,(IY+34)\r
-    000056AF FD 56 23              2495        LD      D,(IY+35)\r
-    000056B2 69                    2496        LD      L,C\r
-    000056B3 60                    2497        LD      H,B\r
-    000056B4 CD A7 49              2498        CALL    LWRD ?0443\r
-    000056B7 C1                    2499        POP     BC\r
-    000056B8 CD 5E 81              2500        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000056BB FD 5E 22              2501        LD      E,(IY+34)\r
-    000056BE FD 56 23              2502        LD      D,(IY+35)\r
-    000056C1 18 20                 2503        JR      ?0350\r
-    000056C3                       2504 ?0173:\r
-    000056C3 CD DC 49              2505        CALL    LWRD ?0444\r
-    000056C6 CD F0 56              2506        CALL    LWRD ?0480\r
-    000056C9 0E 0D                 2507        LD      C,13\r
-    000056CB 09                    2508        ADD     HL,BC\r
-    000056CC E5                    2509        PUSH    HL\r
-    000056CD FD 5E 20              2510        LD      E,(IY+32)\r
-    000056D0 FD 56 21              2511        LD      D,(IY+33)\r
-    000056D3 21 0A 00              2512        LD      HL,10\r
-    000056D6 CD A7 49              2513        CALL    LWRD ?0443\r
-    000056D9 C1                    2514        POP     BC\r
-    000056DA CD 5E 81              2515        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000056DD FD 5E 20              2516        LD      E,(IY+32)\r
-    000056E0 FD 56 21              2517        LD      D,(IY+33)\r
-    000056E3                       2518 ?0350:\r
-    000056E3 3E 00                 2519        LD      A,BYTE3 Text\r
-    000056E5 21 02 48              2520        LD      HL,LWRD Text\r
-    000056E8                       2521 ?0424:\r
-    000056E8 CD 5E 81              2522        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000056EB                       2523 ?0174:\r
-    000056EB FD E1                 2524        POP     IY\r
-    000056ED C3 1F 81              2525        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000056F0                       2526 ?0480:\r
-    000056F0 EB                    2527        EX      DE,HL\r
-    000056F1                       2528 ?0481:\r
-    000056F1 01 02 00              2529        LD      BC,2\r
-    000056F4 CD C1 81              2530        CALL    LWRD ?SS_DIV_L02\r
-    000056F7 DD 6E 0A              2531        LD      L,(IX+10)\r
-    000056FA DD 66 0B              2532        LD      H,(IX+11)\r
-    000056FD 19                    2533        ADD     HL,DE\r
-    000056FE C9                    2534        RET\r
-    000056FF                       2535 Button_paint:\r
-    000056FF C5                    2536        PUSH    BC\r
-    00005700 DD E5                 2537        PUSH    IX\r
-    00005702 F5                    2538        PUSH    AF\r
-    00005703 F5                    2539        PUSH    AF\r
-    00005704 D5                    2540        PUSH    DE\r
-    00005705 DD E1                 2541        POP     IX\r
-    00005707 21 02 00              2542        LD      HL,2\r
-    0000570A 39                    2543        ADD     HL,SP\r
-    0000570B AF                    2544        XOR     A\r
-    0000570C 77                    2545        LD      (HL),A\r
-    0000570D 23                    2546        INC     HL\r
-    0000570E 77                    2547        LD      (HL),A\r
-    0000570F 2B                    2548        DEC     HL\r
-    00005710 2B                    2549        DEC     HL\r
-    00005711 2B                    2550        DEC     HL\r
-    00005712 77                    2551        LD      (HL),A\r
-    00005713 23                    2552        INC     HL\r
-    00005714 77                    2553        LD      (HL),A\r
-    00005715 21 0A 00              2554        LD      HL,10\r
-    00005718 ED 4B C0 86           2555        LD      BC,(global)\r
-    0000571C 09                    2556        ADD     HL,BC\r
-    0000571D 7E                    2557        LD      A,(HL)\r
-    0000571E 23                    2558        INC     HL\r
-    0000571F 66                    2559        LD      H,(HL)\r
-    00005720 6F                    2560        LD      L,A\r
-    00005721 46                    2561        LD      B,(HL)\r
-    00005722 23                    2562        INC     HL\r
-    00005723 66                    2563        LD      H,(HL)\r
-    00005724 68                    2564        LD      L,B\r
-    00005725 E5                    2565        PUSH    HL\r
-    00005726 21 0E 00              2566        LD      HL,14\r
-    00005729 19                    2567        ADD     HL,DE\r
-    0000572A 4E                    2568        LD      C,(HL)\r
-    0000572B 23                    2569        INC     HL\r
-    0000572C 46                    2570        LD      B,(HL)\r
-    0000572D E1                    2571        POP     HL\r
-    0000572E A7                    2572        AND     A\r
-    0000572F ED 42                 2573        SBC     HL,BC\r
-    00005731 28 03                 2574        JR      Z,?0176\r
-    00005733                       2575 ?0175:\r
-    00005733 CD E7 54              2576        CALL    LWRD ?0473\r
-    00005736                       2577 ?0176:\r
-    00005736 DD CB 0A 46           2578        BIT     0,(IX+10)\r
-    0000573A CA CF 57              2579        JP      Z,?0178\r
-    0000573D                       2580 ?0177:\r
-    0000573D 21 00 00              2581        LD      HL,0\r
-    00005740 39                    2582        ADD     HL,SP\r
-    00005741 E5                    2583        PUSH    HL\r
-    00005742 CD 4E 53              2584        CALL    LWRD ?0467\r
-    00005745 E1                    2585        POP     HL\r
-    00005746 21 00 00              2586        LD      HL,0\r
-    00005749 39                    2587        ADD     HL,SP\r
-    0000574A CD D7 57              2588        CALL    LWRD ?0457\r
-    0000574D CD 5E 81              2589        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005750 DD 6E 08              2590        LD      L,(IX+8)\r
-    00005753 DD 66 09              2591        LD      H,(IX+9)\r
-    00005756 E5                    2592        PUSH    HL\r
-    00005757 DD 6E 06              2593        LD      L,(IX+6)\r
-    0000575A DD 66 07              2594        LD      H,(IX+7)\r
-    0000575D E5                    2595        PUSH    HL\r
-    0000575E 21 04 00              2596        LD      HL,4\r
-    00005761 39                    2597        ADD     HL,SP\r
-    00005762 4E                    2598        LD      C,(HL)\r
-    00005763 23                    2599        INC     HL\r
-    00005764 46                    2600        LD      B,(HL)\r
-    00005765 C5                    2601        PUSH    BC\r
-    00005766 23                    2602        INC     HL\r
-    00005767 4E                    2603        LD      C,(HL)\r
-    00005768 23                    2604        INC     HL\r
-    00005769 46                    2605        LD      B,(HL)\r
-    0000576A DD CB 0A 4E           2606        BIT     1,(IX+10)\r
-    0000576E 28 07                 2607        JR      Z,?0180\r
-    00005770 DD 5E 10              2608        LD      E,(IX+16)\r
-    00005773 16 00                 2609        LD      D,0\r
-    00005775 18 03                 2610        JR      ?0181\r
-    00005777                       2611 ?0180:\r
-    00005777 11 00 00              2612        LD      DE,0\r
-    0000577A                       2613 ?0181:\r
-    0000577A CD BB 48              2614        CALL    LWRD ?0471\r
-    0000577D E1                    2615        POP     HL\r
-    0000577E E1                    2616        POP     HL\r
-    0000577F E1                    2617        POP     HL\r
-    00005780 DD 7E 0A              2618        LD      A,(IX+10)\r
-    00005783 E6 82                 2619        AND     130\r
-    00005785 28 1C                 2620        JR      Z,?0183\r
-    00005787 DD 7E 0A              2621        LD      A,(IX+10)\r
-    0000578A E6 82                 2622        AND     130\r
-    0000578C EE 82                 2623        XOR     130\r
-    0000578E 28 13                 2624        JR      Z,?0183\r
-    00005790                       2625 ?0185:\r
-    00005790                       2626 ?0184:\r
-    00005790                       2627 ?0182:\r
-    00005790 DD 4E 08              2628        LD      C,(IX+8)\r
-    00005793 DD 46 09              2629        LD      B,(IX+9)\r
-    00005796 DD 5E 06              2630        LD      E,(IX+6)\r
-    00005799 DD 56 07              2631        LD      D,(IX+7)\r
-    0000579C 3E 00                 2632        LD      A,BYTE3 FillRectNC\r
-    0000579E 21 78 47              2633        LD      HL,LWRD FillRectNC\r
-    000057A1 18 11                 2634        JR      ?0353\r
-    000057A3                       2635 ?0183:\r
-    000057A3 DD 4E 08              2636        LD      C,(IX+8)\r
-    000057A6 DD 46 09              2637        LD      B,(IX+9)\r
-    000057A9 DD 5E 06              2638        LD      E,(IX+6)\r
-    000057AC DD 56 07              2639        LD      D,(IX+7)\r
-    000057AF 3E 00                 2640        LD      A,BYTE3 DrawRectNC\r
-    000057B1 21 EE 46              2641        LD      HL,LWRD DrawRectNC\r
-    000057B4                       2642 ?0353:\r
-    000057B4 CD 5E 81              2643        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000057B7                       2644 ?0186:\r
-    000057B7 21 00 00              2645        LD      HL,0\r
-    000057BA 39                    2646        ADD     HL,SP\r
-    000057BB 4E                    2647        LD      C,(HL)\r
-    000057BC 23                    2648        INC     HL\r
-    000057BD 46                    2649        LD      B,(HL)\r
-    000057BE C5                    2650        PUSH    BC\r
-    000057BF 23                    2651        INC     HL\r
-    000057C0 4E                    2652        LD      C,(HL)\r
-    000057C1 23                    2653        INC     HL\r
-    000057C2 46                    2654        LD      B,(HL)\r
-    000057C3 DD E5                 2655        PUSH    IX\r
-    000057C5 D1                    2656        POP     DE\r
-    000057C6 3E 00                 2657        LD      A,BYTE3 Button_drawtext\r
-    000057C8 21 43 56              2658        LD      HL,LWRD Button_drawtext\r
-    000057CB CD 5E 81              2659        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000057CE E1                    2660        POP     HL\r
-    000057CF                       2661 ?0178:\r
-    000057CF E1                    2662        POP     HL\r
-    000057D0 E1                    2663        POP     HL\r
-    000057D1 DD E1                 2664        POP     IX\r
-    000057D3 C1                    2665        POP     BC\r
-    000057D4 C3 25 81              2666        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000057D7                       2667 ?0457:\r
-    000057D7 4E                    2668        LD      C,(HL)\r
-    000057D8 23                    2669        INC     HL\r
-    000057D9 46                    2670        LD      B,(HL)\r
-    000057DA 23                    2671        INC     HL\r
-    000057DB                       2672 ?0458:\r
-    000057DB 5E                    2673        LD      E,(HL)\r
-    000057DC 23                    2674        INC     HL\r
-    000057DD 56                    2675        LD      D,(HL)\r
-    000057DE 3E 00                 2676        LD      A,BYTE3 Move\r
-    000057E0 21 6C 46              2677        LD      HL,LWRD Move\r
-    000057E3 CD 5E 81              2678        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000057E6 DD 4E 08              2679        LD      C,(IX+8)\r
-    000057E9 DD 46 09              2680        LD      B,(IX+9)\r
-    000057EC DD 5E 06              2681        LD      E,(IX+6)\r
-    000057EF DD 56 07              2682        LD      D,(IX+7)\r
-    000057F2 3E 00                 2683        LD      A,BYTE3 ClearRect\r
-    000057F4 21 AB 46              2684        LD      HL,LWRD ClearRect\r
-    000057F7 C9                    2685        RET\r
-    000057F8                       2686 Button_add:\r
-    000057F8 CD 52 81              2687        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    000057FB C3 1F 81              2688        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000057FE                       2689 Button_new:\r
-    000057FE CD 88 81              2690        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00005801 00 00                 2691        DEFW    0\r
-    00005803 FD E5                 2692        PUSH    IY\r
-    00005805 DD 6E 0C              2693        LD      L,(IX+12)\r
-    00005808 DD 66 0D              2694        LD      H,(IX+13)\r
-    0000580B E5                    2695        PUSH    HL\r
-    0000580C DD 6E 0A              2696        LD      L,(IX+10)\r
-    0000580F DD 66 0B              2697        LD      H,(IX+11)\r
-    00005812 E5                    2698        PUSH    HL\r
-    00005813 CD 7E 55              2699        CALL    LWRD ?0438\r
-    00005816 F1                    2700        POP     AF\r
-    00005817 F1                    2701        POP     AF\r
-    00005818 E5                    2702        PUSH    HL\r
-    00005819 FD E1                 2703        POP     IY\r
-    0000581B 01 0A 00              2704        LD      BC,10\r
-    0000581E 09                    2705        ADD     HL,BC\r
-    0000581F 7E                    2706        LD      A,(HL)\r
-    00005820 F6 03                 2707        OR      3\r
-    00005822 77                    2708        LD      (HL),A\r
-    00005823 DD 46 0E              2709        LD      B,(IX+14)\r
-    00005826 FD 70 10              2710        LD      (IY+16),B\r
-    00005829 FD 36 17 8C           2711        LD      (IY+23),LOW(Button_handler)\r
-    0000582D FD 36 18 55           2712        LD      (IY+24),HIGH(Button_handler)\r
-    00005831 FD 36 19 00           2713        LD      (IY+25),BYTE3 Button_handler\r
-    00005835 FD 36 1A FF           2714        LD      (IY+26),LOW(Button_paint)\r
-    00005839 FD 36 1B 56           2715        LD      (IY+27),HIGH(Button_paint)\r
-    0000583D FD 36 1C 00           2716        LD      (IY+28),BYTE3 Button_paint\r
-    00005841 FD 36 1D F8           2717        LD      (IY+29),LOW(Button_add)\r
-    00005845 FD 36 1E 57           2718        LD      (IY+30),HIGH(Button_add)\r
-    00005849 FD 36 1F 00           2719        LD      (IY+31),BYTE3 Button_add\r
-    0000584D C3 1A 4C              2720        JP      LWRD ?0418\r
-    00005850                       2721 ToggleButton_handler:\r
-    00005850 CD 52 81              2722        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00005853 FD E5                 2723        PUSH    IY\r
-    00005855 D5                    2724        PUSH    DE\r
-    00005856 FD E1                 2725        POP     IY\r
-    00005858 DD 6E 0A              2726        LD      L,(IX+10)\r
-    0000585B DD 66 0B              2727        LD      H,(IX+11)\r
-    0000585E E5                    2728        PUSH    HL\r
-    0000585F 3E 00                 2729        LD      A,BYTE3 Window_handler\r
-    00005861 21 9B 50              2730        LD      HL,LWRD Window_handler\r
-    00005864 CD 5E 81              2731        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005867 E1                    2732        POP     HL\r
-    00005868 3E 03                 2733        LD      A,3\r
-    0000586A DD AE 04              2734        XOR     (IX+4)\r
-    0000586D DD B6 05              2735        OR      (IX+5)\r
-    00005870 20 5C                 2736        JR      NZ,?0192\r
-    00005872 FD 4E 10              2737        LD      C,(IY+16)\r
-    00005875 47                    2738        LD      B,A\r
-    00005876 DD 6E 0A              2739        LD      L,(IX+10)\r
-    00005879 DD 66 0B              2740        LD      H,(IX+11)\r
-    0000587C ED 42                 2741        SBC     HL,BC\r
-    0000587E 20 4E                 2742        JR      NZ,?0192\r
-    00005880 FD 7E 0A              2743        LD      A,(IY+10)\r
-    00005883 E6 03                 2744        AND     3\r
-    00005885 28 47                 2745        JR      Z,?0192\r
-    00005887                       2746 ?0190:\r
-    00005887                       2747 ?0189:\r
-    00005887                       2748 ?0187:\r
-    00005887 FD 7E 0A              2749        LD      A,(IY+10)\r
-    0000588A EE 04                 2750        XOR     4\r
-    0000588C FD 77 0A              2751        LD      (IY+10),A\r
-    0000588F DD 6E 0A              2752        LD      L,(IX+10)\r
-    00005892 DD 66 0B              2753        LD      H,(IX+11)\r
-    00005895 E5                    2754        PUSH    HL\r
-    00005896 FD 5E 11              2755        LD      E,(IY+17)\r
-    00005899 FD 56 12              2756        LD      D,(IY+18)\r
-    0000589C FD 6E 11              2757        LD      L,(IY+17)\r
-    0000589F FD 66 12              2758        LD      H,(IY+18)\r
-    000058A2 0E 17                 2759        LD      C,23\r
-    000058A4 09                    2760        ADD     HL,BC\r
-    000058A5 4E                    2761        LD      C,(HL)\r
-    000058A6 23                    2762        INC     HL\r
-    000058A7 46                    2763        LD      B,(HL)\r
-    000058A8 23                    2764        INC     HL\r
-    000058A9 7E                    2765        LD      A,(HL)\r
-    000058AA 69                    2766        LD      L,C\r
-    000058AB 60                    2767        LD      H,B\r
-    000058AC 01 02 02              2768        LD      BC,514\r
-    000058AF CD 5E 81              2769        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000058B2 E1                    2770        POP     HL\r
-    000058B3 21 00 00              2771        LD      HL,0\r
-    000058B6 E5                    2772        PUSH    HL\r
-    000058B7 01 03 01              2773        LD      BC,259\r
-    000058BA CD 3F 53              2774        CALL    LWRD ?0463\r
-    000058BD E1                    2775        POP     HL\r
-    000058BE FD CB 0A 66           2776        BIT     4,(IY+10)\r
-    000058C2 28 0A                 2777        JR      Z,?0192\r
-    000058C4                       2778 ?0191:\r
-    000058C4 FD 4E 10              2779        LD      C,(IY+16)\r
-    000058C7 06 00                 2780        LD      B,0\r
-    000058C9 C5                    2781        PUSH    BC\r
-    000058CA CD 27 56              2782        CALL    LWRD ?0469\r
-    000058CD E1                    2783        POP     HL\r
-    000058CE                       2784 ?0192:\r
-    000058CE                       2785 ?0188:\r
-    000058CE 21 01 02              2786        LD      HL,513\r
-    000058D1 DD 4E 04              2787        LD      C,(IX+4)\r
-    000058D4 DD 46 05              2788        LD      B,(IX+5)\r
-    000058D7 A7                    2789        AND     A\r
-    000058D8 ED 42                 2790        SBC     HL,BC\r
-    000058DA 20 0B                 2791        JR      NZ,?0194\r
-    000058DC                       2792 ?0193:\r
-    000058DC DD 6E 0A              2793        LD      L,(IX+10)\r
-    000058DF DD 66 0B              2794        LD      H,(IX+11)\r
-    000058E2 E5                    2795        PUSH    HL\r
-    000058E3 CD 0A 56              2796        CALL    LWRD ?0465\r
-    000058E6 E1                    2797        POP     HL\r
-    000058E7                       2798 ?0194:\r
-    000058E7 FD E1                 2799        POP     IY\r
-    000058E9 C3 1F 81              2800        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000058EC                       2801 ToggleButton_paint:\r
-    000058EC C5                    2802        PUSH    BC\r
-    000058ED DD E5                 2803        PUSH    IX\r
-    000058EF F5                    2804        PUSH    AF\r
-    000058F0 F5                    2805        PUSH    AF\r
-    000058F1 D5                    2806        PUSH    DE\r
-    000058F2 DD E1                 2807        POP     IX\r
-    000058F4 21 02 00              2808        LD      HL,2\r
-    000058F7 39                    2809        ADD     HL,SP\r
-    000058F8 AF                    2810        XOR     A\r
-    000058F9 77                    2811        LD      (HL),A\r
-    000058FA 23                    2812        INC     HL\r
-    000058FB 77                    2813        LD      (HL),A\r
-    000058FC 2B                    2814        DEC     HL\r
-    000058FD 2B                    2815        DEC     HL\r
-    000058FE 2B                    2816        DEC     HL\r
-    000058FF 77                    2817        LD      (HL),A\r
-    00005900 23                    2818        INC     HL\r
-    00005901 77                    2819        LD      (HL),A\r
-    00005902 21 0A 00              2820        LD      HL,10\r
-    00005905 ED 4B C0 86           2821        LD      BC,(global)\r
-    00005909 09                    2822        ADD     HL,BC\r
-    0000590A 7E                    2823        LD      A,(HL)\r
-    0000590B 23                    2824        INC     HL\r
-    0000590C 66                    2825        LD      H,(HL)\r
-    0000590D 6F                    2826        LD      L,A\r
-    0000590E 46                    2827        LD      B,(HL)\r
-    0000590F 23                    2828        INC     HL\r
-    00005910 66                    2829        LD      H,(HL)\r
-    00005911 68                    2830        LD      L,B\r
-    00005912 E5                    2831        PUSH    HL\r
-    00005913 21 0E 00              2832        LD      HL,14\r
-    00005916 19                    2833        ADD     HL,DE\r
-    00005917 4E                    2834        LD      C,(HL)\r
-    00005918 23                    2835        INC     HL\r
-    00005919 46                    2836        LD      B,(HL)\r
-    0000591A E1                    2837        POP     HL\r
-    0000591B A7                    2838        AND     A\r
-    0000591C ED 42                 2839        SBC     HL,BC\r
-    0000591E 28 03                 2840        JR      Z,?0196\r
-    00005920                       2841 ?0195:\r
-    00005920 CD E7 54              2842        CALL    LWRD ?0473\r
-    00005923                       2843 ?0196:\r
-    00005923 DD CB 0A 46           2844        BIT     0,(IX+10)\r
-    00005927 CA D5 59              2845        JP      Z,?0198\r
-    0000592A                       2846 ?0197:\r
-    0000592A 21 00 00              2847        LD      HL,0\r
-    0000592D 39                    2848        ADD     HL,SP\r
-    0000592E E5                    2849        PUSH    HL\r
-    0000592F CD 4E 53              2850        CALL    LWRD ?0467\r
-    00005932 E1                    2851        POP     HL\r
-    00005933 21 00 00              2852        LD      HL,0\r
-    00005936 39                    2853        ADD     HL,SP\r
-    00005937 CD D7 57              2854        CALL    LWRD ?0457\r
-    0000593A CD 5E 81              2855        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000593D DD CB 0A 4E           2856        BIT     1,(IX+10)\r
-    00005941 28 36                 2857        JR      Z,?0200\r
-    00005943 DD CB 0A 56           2858        BIT     2,(IX+10)\r
-    00005947 28 30                 2859        JR      Z,?0200\r
-    00005949                       2860 ?0202:\r
-    00005949                       2861 ?0201:\r
-    00005949                       2862 ?0199:\r
-    00005949 DD 4E 08              2863        LD      C,(IX+8)\r
-    0000594C DD 46 09              2864        LD      B,(IX+9)\r
-    0000594F DD 5E 06              2865        LD      E,(IX+6)\r
-    00005952 DD 56 07              2866        LD      D,(IX+7)\r
-    00005955 3E 00                 2867        LD      A,BYTE3 FillRectNC\r
-    00005957 21 78 47              2868        LD      HL,LWRD FillRectNC\r
-    0000595A CD 5E 81              2869        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000595D DD 6E 08              2870        LD      L,(IX+8)\r
-    00005960 DD 66 09              2871        LD      H,(IX+9)\r
-    00005963 E5                    2872        PUSH    HL\r
-    00005964 DD 6E 06              2873        LD      L,(IX+6)\r
-    00005967 DD 66 07              2874        LD      H,(IX+7)\r
-    0000596A E5                    2875        PUSH    HL\r
-    0000596B 21 04 00              2876        LD      HL,4\r
-    0000596E 39                    2877        ADD     HL,SP\r
-    0000596F 4E                    2878        LD      C,(HL)\r
-    00005970 23                    2879        INC     HL\r
-    00005971 46                    2880        LD      B,(HL)\r
-    00005972 C5                    2881        PUSH    BC\r
-    00005973 23                    2882        INC     HL\r
-    00005974 4E                    2883        LD      C,(HL)\r
-    00005975 23                    2884        INC     HL\r
-    00005976 46                    2885        LD      B,(HL)\r
-    00005977 18 34                 2886        JR      ?0357\r
-    00005979                       2887 ?0200:\r
-    00005979 DD 4E 08              2888        LD      C,(IX+8)\r
-    0000597C DD 46 09              2889        LD      B,(IX+9)\r
-    0000597F DD 5E 06              2890        LD      E,(IX+6)\r
-    00005982 DD 56 07              2891        LD      D,(IX+7)\r
-    00005985 3E 00                 2892        LD      A,BYTE3 DrawRectNC\r
-    00005987 21 EE 46              2893        LD      HL,LWRD DrawRectNC\r
-    0000598A CD 5E 81              2894        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000598D DD 6E 08              2895        LD      L,(IX+8)\r
-    00005990 DD 66 09              2896        LD      H,(IX+9)\r
-    00005993 E5                    2897        PUSH    HL\r
-    00005994 DD 6E 06              2898        LD      L,(IX+6)\r
-    00005997 DD 66 07              2899        LD      H,(IX+7)\r
-    0000599A E5                    2900        PUSH    HL\r
-    0000599B 21 04 00              2901        LD      HL,4\r
-    0000599E 39                    2902        ADD     HL,SP\r
-    0000599F 4E                    2903        LD      C,(HL)\r
-    000059A0 23                    2904        INC     HL\r
-    000059A1 46                    2905        LD      B,(HL)\r
-    000059A2 C5                    2906        PUSH    BC\r
-    000059A3 23                    2907        INC     HL\r
-    000059A4 4E                    2908        LD      C,(HL)\r
-    000059A5 23                    2909        INC     HL\r
-    000059A6 46                    2910        LD      B,(HL)\r
-    000059A7 DD CB 0A 4E           2911        BIT     1,(IX+10)\r
-    000059AB 28 07                 2912        JR      Z,?0205\r
-    000059AD                       2913 ?0357:\r
-    000059AD DD 5E 10              2914        LD      E,(IX+16)\r
-    000059B0 16 00                 2915        LD      D,0\r
-    000059B2 18 03                 2916        JR      ?0206\r
-    000059B4                       2917 ?0205:\r
-    000059B4 11 00 00              2918        LD      DE,0\r
-    000059B7                       2919 ?0206:\r
-    000059B7 CD BB 48              2920        CALL    LWRD ?0471\r
-    000059BA E1                    2921        POP     HL\r
-    000059BB E1                    2922        POP     HL\r
-    000059BC E1                    2923        POP     HL\r
-    000059BD                       2924 ?0203:\r
-    000059BD 21 00 00              2925        LD      HL,0\r
-    000059C0 39                    2926        ADD     HL,SP\r
-    000059C1 4E                    2927        LD      C,(HL)\r
-    000059C2 23                    2928        INC     HL\r
-    000059C3 46                    2929        LD      B,(HL)\r
-    000059C4 C5                    2930        PUSH    BC\r
-    000059C5 23                    2931        INC     HL\r
-    000059C6 4E                    2932        LD      C,(HL)\r
-    000059C7 23                    2933        INC     HL\r
-    000059C8 46                    2934        LD      B,(HL)\r
-    000059C9 DD E5                 2935        PUSH    IX\r
-    000059CB D1                    2936        POP     DE\r
-    000059CC 3E 00                 2937        LD      A,BYTE3 Button_drawtext\r
-    000059CE 21 43 56              2938        LD      HL,LWRD Button_drawtext\r
-    000059D1 CD 5E 81              2939        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000059D4 E1                    2940        POP     HL\r
-    000059D5                       2941 ?0198:\r
-    000059D5 C3 CF 57              2942        JP      LWRD ?0178\r
-    000059D8                       2943 ToggleButton_new:\r
-    000059D8 CD 88 81              2944        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000059DB 00 00                 2945        DEFW    0\r
-    000059DD FD E5                 2946        PUSH    IY\r
-    000059DF DD 6E 0C              2947        LD      L,(IX+12)\r
-    000059E2 DD 66 0D              2948        LD      H,(IX+13)\r
-    000059E5 E5                    2949        PUSH    HL\r
-    000059E6 DD 6E 0A              2950        LD      L,(IX+10)\r
-    000059E9 DD 66 0B              2951        LD      H,(IX+11)\r
-    000059EC E5                    2952        PUSH    HL\r
-    000059ED CD 7E 55              2953        CALL    LWRD ?0438\r
-    000059F0 F1                    2954        POP     AF\r
-    000059F1 F1                    2955        POP     AF\r
-    000059F2 E5                    2956        PUSH    HL\r
-    000059F3 FD E1                 2957        POP     IY\r
-    000059F5 01 0A 00              2958        LD      BC,10\r
-    000059F8 09                    2959        ADD     HL,BC\r
-    000059F9 7E                    2960        LD      A,(HL)\r
-    000059FA F6 07                 2961        OR      7\r
-    000059FC 77                    2962        LD      (HL),A\r
-    000059FD DD 46 0E              2963        LD      B,(IX+14)\r
-    00005A00 FD 70 10              2964        LD      (IY+16),B\r
-    00005A03 FD 36 17 50           2965        LD      (IY+23),LOW(ToggleButton_handler)\r
-    00005A07 FD 36 18 58           2966        LD      (IY+24),HIGH(ToggleButton_handler)\r
-    00005A0B FD 36 19 00           2967        LD      (IY+25),BYTE3 ToggleButton_handler\r
-    00005A0F FD 36 1A EC           2968        LD      (IY+26),LOW(ToggleButton_paint)\r
-    00005A13 FD 36 1B 58           2969        LD      (IY+27),HIGH(ToggleButton_paint)\r
-    00005A17 FD 36 1C 00           2970        LD      (IY+28),BYTE3 ToggleButton_paint\r
-    00005A1B FD 36 1D F8           2971        LD      (IY+29),LOW(Button_add)\r
-    00005A1F FD 36 1E 57           2972        LD      (IY+30),HIGH(Button_add)\r
-    00005A23 FD 36 1F 00           2973        LD      (IY+31),BYTE3 Button_add\r
-    00005A27 C3 1A 4C              2974        JP      LWRD ?0418\r
-    00005A2A                       2975 Dialog_handler:\r
-    00005A2A CD 52 81              2976        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00005A2D FD E5                 2977        PUSH    IY\r
-    00005A2F D5                    2978        PUSH    DE\r
-    00005A30 FD E1                 2979        POP     IY\r
-    00005A32 DD 6E 0A              2980        LD      L,(IX+10)\r
-    00005A35 DD 66 0B              2981        LD      H,(IX+11)\r
-    00005A38 E5                    2982        PUSH    HL\r
-    00005A39 3E 00                 2983        LD      A,BYTE3 Window_handler\r
-    00005A3B 21 9B 50              2984        LD      HL,LWRD Window_handler\r
-    00005A3E CD 5E 81              2985        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005A41 E1                    2986        POP     HL\r
-    00005A42 21 01 02              2987        LD      HL,513\r
-    00005A45 DD 4E 04              2988        LD      C,(IX+4)\r
-    00005A48 DD 46 05              2989        LD      B,(IX+5)\r
-    00005A4B A7                    2990        AND     A\r
-    00005A4C ED 42                 2991        SBC     HL,BC\r
-    00005A4E 20 40                 2992        JR      NZ,?0208\r
-    00005A50 3E FF                 2993        LD      A,255\r
-    00005A52 DD AE 0A              2994        XOR     (IX+10)\r
-    00005A55 DD B6 0B              2995        OR      (IX+11)\r
-    00005A58 20 36                 2996        JR      NZ,?0208\r
-    00005A5A                       2997 ?0210:\r
-    00005A5A                       2998 ?0209:\r
-    00005A5A                       2999 ?0207:\r
-    00005A5A FD CB 0B 66           3000        BIT     4,(IY+11)\r
-    00005A5E E5                    3001        PUSH    HL\r
-    00005A5F 28 05                 3002        JR      Z,?0212\r
-    00005A61                       3003 ?0211:\r
-    00005A61 01 05 01              3004        LD      BC,261\r
-    00005A64 18 03                 3005        JR      ?0358\r
-    00005A66                       3006 ?0212:\r
-    00005A66 01 02 01              3007        LD      BC,258\r
-    00005A69                       3008 ?0358:\r
-    00005A69 CD 3F 53              3009        CALL    LWRD ?0463\r
-    00005A6C E1                    3010        POP     HL\r
-    00005A6D                       3011 ?0213:\r
-    00005A6D FD 4E 10              3012        LD      C,(IY+16)\r
-    00005A70 06 00                 3013        LD      B,0\r
-    00005A72 C5                    3014        PUSH    BC\r
-    00005A73 FD 5E 11              3015        LD      E,(IY+17)\r
-    00005A76 FD 56 12              3016        LD      D,(IY+18)\r
-    00005A79 FD 6E 11              3017        LD      L,(IY+17)\r
-    00005A7C FD 66 12              3018        LD      H,(IY+18)\r
-    00005A7F 0E 17                 3019        LD      C,23\r
-    00005A81 09                    3020        ADD     HL,BC\r
-    00005A82 4E                    3021        LD      C,(HL)\r
-    00005A83 23                    3022        INC     HL\r
-    00005A84 46                    3023        LD      B,(HL)\r
-    00005A85 23                    3024        INC     HL\r
-    00005A86 7E                    3025        LD      A,(HL)\r
-    00005A87 69                    3026        LD      L,C\r
-    00005A88 60                    3027        LD      H,B\r
-    00005A89 01 01 03              3028        LD      BC,769\r
-    00005A8C CD 5E 81              3029        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005A8F E1                    3030        POP     HL\r
-    00005A90                       3031 ?0208:\r
-    00005A90 21 01 02              3032        LD      HL,513\r
-    00005A93 DD 4E 04              3033        LD      C,(IX+4)\r
-    00005A96 DD 46 05              3034        LD      B,(IX+5)\r
-    00005A99 A7                    3035        AND     A\r
-    00005A9A ED 42                 3036        SBC     HL,BC\r
-    00005A9C 20 40                 3037        JR      NZ,?0215\r
-    00005A9E 3E FE                 3038        LD      A,254\r
-    00005AA0 DD AE 0A              3039        XOR     (IX+10)\r
-    00005AA3 DD B6 0B              3040        OR      (IX+11)\r
-    00005AA6 20 36                 3041        JR      NZ,?0215\r
-    00005AA8                       3042 ?0217:\r
-    00005AA8                       3043 ?0216:\r
-    00005AA8                       3044 ?0214:\r
-    00005AA8 FD CB 0B 66           3045        BIT     4,(IY+11)\r
-    00005AAC E5                    3046        PUSH    HL\r
-    00005AAD 28 05                 3047        JR      Z,?0219\r
-    00005AAF                       3048 ?0218:\r
-    00005AAF 01 05 01              3049        LD      BC,261\r
-    00005AB2 18 03                 3050        JR      ?0359\r
-    00005AB4                       3051 ?0219:\r
-    00005AB4 01 02 01              3052        LD      BC,258\r
-    00005AB7                       3053 ?0359:\r
-    00005AB7 CD 3F 53              3054        CALL    LWRD ?0463\r
-    00005ABA E1                    3055        POP     HL\r
-    00005ABB                       3056 ?0220:\r
-    00005ABB FD 4E 10              3057        LD      C,(IY+16)\r
-    00005ABE 06 00                 3058        LD      B,0\r
-    00005AC0 C5                    3059        PUSH    BC\r
-    00005AC1 FD 5E 11              3060        LD      E,(IY+17)\r
-    00005AC4 FD 56 12              3061        LD      D,(IY+18)\r
-    00005AC7 FD 6E 11              3062        LD      L,(IY+17)\r
-    00005ACA FD 66 12              3063        LD      H,(IY+18)\r
-    00005ACD 0E 17                 3064        LD      C,23\r
-    00005ACF 09                    3065        ADD     HL,BC\r
-    00005AD0 4E                    3066        LD      C,(HL)\r
-    00005AD1 23                    3067        INC     HL\r
-    00005AD2 46                    3068        LD      B,(HL)\r
-    00005AD3 23                    3069        INC     HL\r
-    00005AD4 7E                    3070        LD      A,(HL)\r
-    00005AD5 69                    3071        LD      L,C\r
-    00005AD6 60                    3072        LD      H,B\r
-    00005AD7 01 02 03              3073        LD      BC,770\r
-    00005ADA CD 5E 81              3074        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005ADD E1                    3075        POP     HL\r
-    00005ADE                       3076 ?0215:\r
-    00005ADE FD E1                 3077        POP     IY\r
-    00005AE0 C3 1F 81              3078        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00005AE3                       3079 Dialog_new:\r
-    00005AE3 CD 88 81              3080        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00005AE6 FE FF                 3081        DEFW    -2\r
-    00005AE8 FD E5                 3082        PUSH    IY\r
-    00005AEA DD 6E 0C              3083        LD      L,(IX+12)\r
-    00005AED DD 66 0D              3084        LD      H,(IX+13)\r
-    00005AF0 E5                    3085        PUSH    HL\r
-    00005AF1 DD 6E 0A              3086        LD      L,(IX+10)\r
-    00005AF4 DD 66 0B              3087        LD      H,(IX+11)\r
-    00005AF7 E5                    3088        PUSH    HL\r
-    00005AF8 CD 7E 55              3089        CALL    LWRD ?0438\r
-    00005AFB F1                    3090        POP     AF\r
-    00005AFC F1                    3091        POP     AF\r
-    00005AFD E5                    3092        PUSH    HL\r
-    00005AFE FD E1                 3093        POP     IY\r
-    00005B00 01 0A 00              3094        LD      BC,10\r
-    00005B03 09                    3095        ADD     HL,BC\r
-    00005B04 CB C6                 3096        SET     0,(HL)\r
-    00005B06 DD 46 0E              3097        LD      B,(IX+14)\r
-    00005B09 FD 70 10              3098        LD      (IY+16),B\r
-    00005B0C FD 36 17 2A           3099        LD      (IY+23),LOW(Dialog_handler)\r
-    00005B10 FD 36 18 5A           3100        LD      (IY+24),HIGH(Dialog_handler)\r
-    00005B14 FD 36 19 00           3101        LD      (IY+25),BYTE3 Dialog_handler\r
-    00005B18 FD 36 1A 68           3102        LD      (IY+26),LOW(Window_paint)\r
-    00005B1C FD 36 1B 53           3103        LD      (IY+27),HIGH(Window_paint)\r
-    00005B20 FD 36 1C 00           3104        LD      (IY+28),BYTE3 Window_paint\r
-    00005B24 FD 36 1D 2C           3105        LD      (IY+29),LOW(Window_add)\r
-    00005B28 FD 36 1E 55           3106        LD      (IY+30),HIGH(Window_add)\r
-    00005B2C FD 36 1F 00           3107        LD      (IY+31),BYTE3 Window_add\r
-    00005B30 21 FF 00              3108        LD      HL,255\r
-    00005B33 E5                    3109        PUSH    HL\r
-    00005B34 2E 14                 3110        LD      L,20\r
-    00005B36 E5                    3111        PUSH    HL\r
-    00005B37 2E 28                 3112        LD      L,40\r
-    00005B39 E5                    3113        PUSH    HL\r
-    00005B3A 21 E4 FF              3114        LD      HL,65508\r
-    00005B3D CD 95 5B              3115        CALL    LWRD ?0439\r
-    00005B40 F1                    3116        POP     AF\r
-    00005B41 F1                    3117        POP     AF\r
-    00005B42 F1                    3118        POP     AF\r
-    00005B43 DD 75 FE              3119        LD      (IX-2),L\r
-    00005B46 DD 74 FF              3120        LD      (IX-1),H\r
-    00005B49 01 20 00              3121        LD      BC,32\r
-    00005B4C 09                    3122        ADD     HL,BC\r
-    00005B4D E5                    3123        PUSH    HL\r
-    00005B4E 11 03 00              3124        LD      DE,3\r
-    00005B51 CD F1 49              3125        CALL    LWRD ?0450\r
-    00005B54 E1                    3126        POP     HL\r
-    00005B55 71                    3127        LD      (HL),C\r
-    00005B56 23                    3128        INC     HL\r
-    00005B57 70                    3129        LD      (HL),B\r
-    00005B58 01 BF 84              3130        LD      BC,?0221\r
-    00005B5B CD B1 5B              3131        CALL    LWRD ?0456\r
-    00005B5E CD 5E 81              3132        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005B61 21 FE 00              3133        LD      HL,254\r
-    00005B64 E5                    3134        PUSH    HL\r
-    00005B65 2E 14                 3135        LD      L,20\r
-    00005B67 E5                    3136        PUSH    HL\r
-    00005B68 2E 28                 3137        LD      L,40\r
-    00005B6A E5                    3138        PUSH    HL\r
-    00005B6B 21 C8 FF              3139        LD      HL,65480\r
-    00005B6E CD 95 5B              3140        CALL    LWRD ?0439\r
-    00005B71 F1                    3141        POP     AF\r
-    00005B72 F1                    3142        POP     AF\r
-    00005B73 F1                    3143        POP     AF\r
-    00005B74 DD 75 FE              3144        LD      (IX-2),L\r
-    00005B77 DD 74 FF              3145        LD      (IX-1),H\r
-    00005B7A 01 20 00              3146        LD      BC,32\r
-    00005B7D 09                    3147        ADD     HL,BC\r
-    00005B7E E5                    3148        PUSH    HL\r
-    00005B7F 11 07 00              3149        LD      DE,7\r
-    00005B82 CD F1 49              3150        CALL    LWRD ?0450\r
-    00005B85 E1                    3151        POP     HL\r
-    00005B86 71                    3152        LD      (HL),C\r
-    00005B87 23                    3153        INC     HL\r
-    00005B88 70                    3154        LD      (HL),B\r
-    00005B89 01 C2 84              3155        LD      BC,?0222\r
-    00005B8C CD B1 5B              3156        CALL    LWRD ?0456\r
-    00005B8F CD 5E 81              3157        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005B92 C3 1A 4C              3158        JP      LWRD ?0418\r
-    00005B95                       3159 ?0439:\r
-    00005B95 DD 4E 0C              3160        LD      C,(IX+12)\r
-    00005B98 DD 46 0D              3161        LD      B,(IX+13)\r
-    00005B9B 09                    3162        ADD     HL,BC\r
-    00005B9C 4D                    3163        LD      C,L\r
-    00005B9D 44                    3164        LD      B,H\r
-    00005B9E 21 D0 FF              3165        LD      HL,65488\r
-    00005BA1 DD 5E 0A              3166        LD      E,(IX+10)\r
-    00005BA4 DD 56 0B              3167        LD      D,(IX+11)\r
-    00005BA7 19                    3168        ADD     HL,DE\r
-    00005BA8 EB                    3169        EX      DE,HL\r
-    00005BA9                       3170 ?0440:\r
-    00005BA9 3E 00                 3171        LD      A,BYTE3 Button_new\r
-    00005BAB 21 FE 57              3172        LD      HL,LWRD Button_new\r
-    00005BAE C3 5E 81              3173        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00005BB1                       3174 ?0456:\r
-    00005BB1 DD 5E FE              3175        LD      E,(IX-2)\r
-    00005BB4 DD 56 FF              3176        LD      D,(IX-1)\r
-    00005BB7 3E 00                 3177        LD      A,BYTE3 Component_setlabel\r
-    00005BB9 21 22 4C              3178        LD      HL,LWRD Component_setlabel\r
-    00005BBC CD 5E 81              3179        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005BBF DD 4E FE              3180        LD      C,(IX-2)\r
-    00005BC2 DD 46 FF              3181        LD      B,(IX-1)\r
-    00005BC5 FD E5                 3182        PUSH    IY\r
-    00005BC7 D1                    3183        POP     DE\r
-    00005BC8 FD 7E 1F              3184        LD      A,(IY+31)\r
-    00005BCB FD 6E 1D              3185        LD      L,(IY+29)\r
-    00005BCE FD 66 1E              3186        LD      H,(IY+30)\r
-    00005BD1 C9                    3187        RET\r
-    00005BD2                       3188 Display_handler:\r
-    00005BD2 CD 52 81              3189        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00005BD5 FD E5                 3190        PUSH    IY\r
-    00005BD7 D5                    3191        PUSH    DE\r
-    00005BD8 FD E1                 3192        POP     IY\r
-    00005BDA DD 6E 0A              3193        LD      L,(IX+10)\r
-    00005BDD DD 66 0B              3194        LD      H,(IX+11)\r
-    00005BE0 E5                    3195        PUSH    HL\r
-    00005BE1 3E 00                 3196        LD      A,BYTE3 Button_handler\r
-    00005BE3 21 8C 55              3197        LD      HL,LWRD Button_handler\r
-    00005BE6 CD 5E 81              3198        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005BE9 E1                    3199        POP     HL\r
-    00005BEA 21 03 02              3200        LD      HL,515\r
-    00005BED DD 4E 04              3201        LD      C,(IX+4)\r
-    00005BF0 DD 46 05              3202        LD      B,(IX+5)\r
-    00005BF3 A7                    3203        AND     A\r
-    00005BF4 ED 42                 3204        SBC     HL,BC\r
-    00005BF6 20 40                 3205        JR      NZ,?0224\r
-    00005BF8 FD CB 0A 5E           3206        BIT     3,(IY+10)\r
-    00005BFC 28 3A                 3207        JR      Z,?0224\r
-    00005BFE                       3208 ?0226:\r
-    00005BFE                       3209 ?0225:\r
-    00005BFE                       3210 ?0223:\r
-    00005BFE 3E 08                 3211        LD      A,8\r
-    00005C00 DD AE 0A              3212        XOR     (IX+10)\r
-    00005C03 DD B6 0B              3213        OR      (IX+11)\r
-    00005C06 FD 5E 20              3214        LD      E,(IY+32)\r
-    00005C09 FD 56 21              3215        LD      D,(IY+33)\r
-    00005C0C 3E 00                 3216        LD      A,BYTE3 strlen\r
-    00005C0E 21 40 72              3217        LD      HL,LWRD strlen\r
-    00005C11 20 0D                 3218        JR      NZ,?0228\r
-    00005C13                       3219 ?0227:\r
-    00005C13 CD EB 49              3220        CALL    LWRD ?0448\r
-    00005C16 28 15                 3221        JR      Z,?0231\r
-    00005C18                       3222 ?0229:\r
-    00005C18 CD 3D 5C              3223        CALL    LWRD ?0445\r
-    00005C1B 2B                    3224        DEC     HL\r
-    00005C1C 36 00                 3225        LD      (HL),0\r
-    00005C1E                       3226 ?0230:\r
-    00005C1E 18 0D                 3227        JR      ?0231\r
-    00005C20                       3228 ?0228:\r
-    00005C20 CD 48 5C              3229        CALL    LWRD ?0446\r
-    00005C23 23                    3230        INC     HL\r
-    00005C24 36 00                 3231        LD      (HL),0\r
-    00005C26 CD 3D 5C              3232        CALL    LWRD ?0445\r
-    00005C29 DD 46 0A              3233        LD      B,(IX+10)\r
-    00005C2C 70                    3234        LD      (HL),B\r
-    00005C2D                       3235 ?0231:\r
-    00005C2D 21 00 00              3236        LD      HL,0\r
-    00005C30 E5                    3237        PUSH    HL\r
-    00005C31 01 03 01              3238        LD      BC,259\r
-    00005C34 CD 3F 53              3239        CALL    LWRD ?0463\r
-    00005C37 E1                    3240        POP     HL\r
-    00005C38                       3241 ?0224:\r
-    00005C38 FD E1                 3242        POP     IY\r
-    00005C3A C3 1F 81              3243        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00005C3D                       3244 ?0445:\r
-    00005C3D FD 5E 20              3245        LD      E,(IY+32)\r
-    00005C40 FD 56 21              3246        LD      D,(IY+33)\r
-    00005C43 3E 00                 3247        LD      A,BYTE3 strlen\r
-    00005C45 21 40 72              3248        LD      HL,LWRD strlen\r
-    00005C48                       3249 ?0446:\r
-    00005C48 CD 5E 81              3250        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005C4B FD 4E 20              3251        LD      C,(IY+32)\r
-    00005C4E FD 46 21              3252        LD      B,(IY+33)\r
-    00005C51 09                    3253        ADD     HL,BC\r
-    00005C52 C9                    3254        RET\r
-    00005C53                       3255 Display_paint:\r
-    00005C53 C5                    3256        PUSH    BC\r
-    00005C54 FD E5                 3257        PUSH    IY\r
-    00005C56 DD E5                 3258        PUSH    IX\r
-    00005C58 21 B8 FF              3259        LD      HL,65464\r
-    00005C5B 39                    3260        ADD     HL,SP\r
-    00005C5C F9                    3261        LD      SP,HL\r
-    00005C5D D5                    3262        PUSH    DE\r
-    00005C5E DD E1                 3263        POP     IX\r
-    00005C60 AF                    3264        XOR     A\r
-    00005C61 77                    3265        LD      (HL),A\r
-    00005C62 23                    3266        INC     HL\r
-    00005C63 77                    3267        LD      (HL),A\r
-    00005C64 23                    3268        INC     HL\r
-    00005C65 77                    3269        LD      (HL),A\r
-    00005C66 23                    3270        INC     HL\r
-    00005C67 77                    3271        LD      (HL),A\r
-    00005C68 21 0A 00              3272        LD      HL,10\r
-    00005C6B ED 4B C0 86           3273        LD      BC,(global)\r
-    00005C6F 09                    3274        ADD     HL,BC\r
-    00005C70 7E                    3275        LD      A,(HL)\r
-    00005C71 23                    3276        INC     HL\r
-    00005C72 66                    3277        LD      H,(HL)\r
-    00005C73 6F                    3278        LD      L,A\r
-    00005C74 46                    3279        LD      B,(HL)\r
-    00005C75 23                    3280        INC     HL\r
-    00005C76 66                    3281        LD      H,(HL)\r
-    00005C77 68                    3282        LD      L,B\r
-    00005C78 E5                    3283        PUSH    HL\r
-    00005C79 21 0E 00              3284        LD      HL,14\r
-    00005C7C 19                    3285        ADD     HL,DE\r
-    00005C7D 4E                    3286        LD      C,(HL)\r
-    00005C7E 23                    3287        INC     HL\r
-    00005C7F 46                    3288        LD      B,(HL)\r
-    00005C80 E1                    3289        POP     HL\r
-    00005C81 A7                    3290        AND     A\r
-    00005C82 ED 42                 3291        SBC     HL,BC\r
-    00005C84 28 03                 3292        JR      Z,?0233\r
-    00005C86                       3293 ?0232:\r
-    00005C86 CD E7 54              3294        CALL    LWRD ?0473\r
-    00005C89                       3295 ?0233:\r
-    00005C89 DD CB 0A 46           3296        BIT     0,(IX+10)\r
-    00005C8D CA 97 5D              3297        JP      Z,?0248\r
-    00005C90                       3298 ?0234:\r
-    00005C90 21 02 00              3299        LD      HL,2\r
-    00005C93 39                    3300        ADD     HL,SP\r
-    00005C94 E5                    3301        PUSH    HL\r
-    00005C95 2B                    3302        DEC     HL\r
-    00005C96 2B                    3303        DEC     HL\r
-    00005C97 CD 50 53              3304        CALL    LWRD ?0468\r
-    00005C9A E1                    3305        POP     HL\r
-    00005C9B 21 02 00              3306        LD      HL,2\r
-    00005C9E 39                    3307        ADD     HL,SP\r
-    00005C9F 4E                    3308        LD      C,(HL)\r
-    00005CA0 23                    3309        INC     HL\r
-    00005CA1 46                    3310        LD      B,(HL)\r
-    00005CA2 2B                    3311        DEC     HL\r
-    00005CA3 2B                    3312        DEC     HL\r
-    00005CA4 2B                    3313        DEC     HL\r
-    00005CA5 CD DB 57              3314        CALL    LWRD ?0458\r
-    00005CA8 CD 5E 81              3315        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005CAB DD 6E 08              3316        LD      L,(IX+8)\r
-    00005CAE DD 66 09              3317        LD      H,(IX+9)\r
-    00005CB1 E5                    3318        PUSH    HL\r
-    00005CB2 DD 6E 06              3319        LD      L,(IX+6)\r
-    00005CB5 DD 66 07              3320        LD      H,(IX+7)\r
-    00005CB8 E5                    3321        PUSH    HL\r
-    00005CB9 21 06 00              3322        LD      HL,6\r
-    00005CBC 39                    3323        ADD     HL,SP\r
-    00005CBD 4E                    3324        LD      C,(HL)\r
-    00005CBE 23                    3325        INC     HL\r
-    00005CBF 46                    3326        LD      B,(HL)\r
-    00005CC0 C5                    3327        PUSH    BC\r
-    00005CC1 2B                    3328        DEC     HL\r
-    00005CC2 2B                    3329        DEC     HL\r
-    00005CC3 2B                    3330        DEC     HL\r
-    00005CC4 4E                    3331        LD      C,(HL)\r
-    00005CC5 23                    3332        INC     HL\r
-    00005CC6 46                    3333        LD      B,(HL)\r
-    00005CC7 DD CB 0A 4E           3334        BIT     1,(IX+10)\r
-    00005CCB 28 07                 3335        JR      Z,?0237\r
-    00005CCD DD 5E 10              3336        LD      E,(IX+16)\r
-    00005CD0 16 00                 3337        LD      D,0\r
-    00005CD2 18 03                 3338        JR      ?0238\r
-    00005CD4                       3339 ?0237:\r
-    00005CD4 11 00 00              3340        LD      DE,0\r
-    00005CD7                       3341 ?0238:\r
-    00005CD7 CD BB 48              3342        CALL    LWRD ?0471\r
-    00005CDA E1                    3343        POP     HL\r
-    00005CDB E1                    3344        POP     HL\r
-    00005CDC E1                    3345        POP     HL\r
-    00005CDD DD CB 0A 7E           3346        BIT     7,(IX+10)\r
-    00005CE1 DD 4E 08              3347        LD      C,(IX+8)\r
-    00005CE4 DD 46 09              3348        LD      B,(IX+9)\r
-    00005CE7 DD 5E 06              3349        LD      E,(IX+6)\r
-    00005CEA DD 56 07              3350        LD      D,(IX+7)\r
-    00005CED 20 07                 3351        JR      NZ,?0240\r
-    00005CEF                       3352 ?0239:\r
-    00005CEF 3E 00                 3353        LD      A,BYTE3 FillRectNC\r
-    00005CF1 21 78 47              3354        LD      HL,LWRD FillRectNC\r
-    00005CF4 18 05                 3355        JR      ?0364\r
-    00005CF6                       3356 ?0240:\r
-    00005CF6 3E 00                 3357        LD      A,BYTE3 DrawRectNC\r
-    00005CF8 21 EE 46              3358        LD      HL,LWRD DrawRectNC\r
-    00005CFB                       3359 ?0364:\r
-    00005CFB CD 5E 81              3360        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005CFE                       3361 ?0241:\r
-    00005CFE DD 5E 20              3362        LD      E,(IX+32)\r
-    00005D01 DD 56 21              3363        LD      D,(IX+33)\r
-    00005D04 21 0A 00              3364        LD      HL,10\r
-    00005D07 ED 4B C0 86           3365        LD      BC,(global)\r
-    00005D0B 09                    3366        ADD     HL,BC\r
-    00005D0C 46                    3367        LD      B,(HL)\r
-    00005D0D 23                    3368        INC     HL\r
-    00005D0E 66                    3369        LD      H,(HL)\r
-    00005D0F 68                    3370        LD      L,B\r
-    00005D10 01 05 00              3371        LD      BC,5\r
-    00005D13 09                    3372        ADD     HL,BC\r
-    00005D14 4E                    3373        LD      C,(HL)\r
-    00005D15 23                    3374        INC     HL\r
-    00005D16 46                    3375        LD      B,(HL)\r
-    00005D17 23                    3376        INC     HL\r
-    00005D18 7E                    3377        LD      A,(HL)\r
-    00005D19 69                    3378        LD      L,C\r
-    00005D1A 60                    3379        LD      H,B\r
-    00005D1B CD F6 49              3380        CALL    LWRD ?0449\r
-    00005D1E DD 6E 08              3381        LD      L,(IX+8)\r
-    00005D21 DD 66 09              3382        LD      H,(IX+9)\r
-    00005D24 A7                    3383        AND     A\r
-    00005D25 ED 42                 3384        SBC     HL,BC\r
-    00005D27 EB                    3385        EX      DE,HL\r
-    00005D28 01 02 00              3386        LD      BC,2\r
-    00005D2B CD C1 81              3387        CALL    LWRD ?SS_DIV_L02\r
-    00005D2E 69                    3388        LD      L,C\r
-    00005D2F 60                    3389        LD      H,B\r
-    00005D30 39                    3390        ADD     HL,SP\r
-    00005D31 46                    3391        LD      B,(HL)\r
-    00005D32 23                    3392        INC     HL\r
-    00005D33 66                    3393        LD      H,(HL)\r
-    00005D34 68                    3394        LD      L,B\r
-    00005D35 19                    3395        ADD     HL,DE\r
-    00005D36 01 07 00              3396        LD      BC,7\r
-    00005D39 09                    3397        ADD     HL,BC\r
-    00005D3A 4D                    3398        LD      C,L\r
-    00005D3B 44                    3399        LD      B,H\r
-    00005D3C 21 00 00              3400        LD      HL,0\r
-    00005D3F 39                    3401        ADD     HL,SP\r
-    00005D40 5E                    3402        LD      E,(HL)\r
-    00005D41 23                    3403        INC     HL\r
-    00005D42 56                    3404        LD      D,(HL)\r
-    00005D43 13                    3405        INC     DE\r
-    00005D44 13                    3406        INC     DE\r
-    00005D45 3E 00                 3407        LD      A,BYTE3 Move\r
-    00005D47 21 6C 46              3408        LD      HL,LWRD Move\r
-    00005D4A CD 5E 81              3409        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005D4D DD CB 0B 46           3410        BIT     0,(IX+11)\r
-    00005D51 28 36                 3411        JR      Z,?0243\r
-    00005D53                       3412 ?0242:\r
-    00005D53 FD 21 00 00           3413        LD      IY,0\r
-    00005D57                       3414 ?0245:\r
-    00005D57 DD 5E 20              3415        LD      E,(IX+32)\r
-    00005D5A DD 56 21              3416        LD      D,(IX+33)\r
-    00005D5D 3E 00                 3417        LD      A,BYTE3 strlen\r
-    00005D5F 21 40 72              3418        LD      HL,LWRD strlen\r
-    00005D62 CD F6 49              3419        CALL    LWRD ?0449\r
-    00005D65 FD E5                 3420        PUSH    IY\r
-    00005D67 E1                    3421        POP     HL\r
-    00005D68 A7                    3422        AND     A\r
-    00005D69 ED 42                 3423        SBC     HL,BC\r
-    00005D6B 21 06 00              3424        LD      HL,6\r
-    00005D6E 30 0B                 3425        JR      NC,?0244\r
-    00005D70                       3426 ?0246:\r
-    00005D70 39                    3427        ADD     HL,SP\r
-    00005D71 FD E5                 3428        PUSH    IY\r
-    00005D73 C1                    3429        POP     BC\r
-    00005D74 09                    3430        ADD     HL,BC\r
-    00005D75 36 2A                 3431        LD      (HL),42\r
-    00005D77 FD 23                 3432        INC     IY\r
-    00005D79 18 DC                 3433        JR      ?0245\r
-    00005D7B                       3434 ?0244:\r
-    00005D7B 39                    3435        ADD     HL,SP\r
-    00005D7C FD E5                 3436        PUSH    IY\r
-    00005D7E C1                    3437        POP     BC\r
-    00005D7F 09                    3438        ADD     HL,BC\r
-    00005D80 36 00                 3439        LD      (HL),0\r
-    00005D82 21 06 00              3440        LD      HL,6\r
-    00005D85 39                    3441        ADD     HL,SP\r
-    00005D86 EB                    3442        EX      DE,HL\r
-    00005D87 18 06                 3443        JR      ?0365\r
-    00005D89                       3444 ?0243:\r
-    00005D89 DD 5E 20              3445        LD      E,(IX+32)\r
-    00005D8C DD 56 21              3446        LD      D,(IX+33)\r
-    00005D8F                       3447 ?0365:\r
-    00005D8F 3E 00                 3448        LD      A,BYTE3 Text\r
-    00005D91 21 02 48              3449        LD      HL,LWRD Text\r
-    00005D94 CD 5E 81              3450        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005D97                       3451 ?0248:\r
-    00005D97                       3452 ?0235:\r
-    00005D97 21 48 00              3453        LD      HL,72\r
-    00005D9A 39                    3454        ADD     HL,SP\r
-    00005D9B F9                    3455        LD      SP,HL\r
-    00005D9C C3 27 48              3456        JP      LWRD ?0411\r
-    00005D9F                       3457 Display_new:\r
-    00005D9F CD 88 81              3458        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00005DA2 00 00                 3459        DEFW    0\r
-    00005DA4 FD E5                 3460        PUSH    IY\r
-    00005DA6 DD 6E 0E              3461        LD      L,(IX+14)\r
-    00005DA9 DD 66 0F              3462        LD      H,(IX+15)\r
-    00005DAC E5                    3463        PUSH    HL\r
-    00005DAD DD 6E 0C              3464        LD      L,(IX+12)\r
-    00005DB0 DD 66 0D              3465        LD      H,(IX+13)\r
-    00005DB3 E5                    3466        PUSH    HL\r
-    00005DB4 DD 6E 0A              3467        LD      L,(IX+10)\r
-    00005DB7 DD 66 0B              3468        LD      H,(IX+11)\r
-    00005DBA E5                    3469        PUSH    HL\r
-    00005DBB DD 5E 02              3470        LD      E,(IX+2)\r
-    00005DBE DD 56 03              3471        LD      D,(IX+3)\r
-    00005DC1 CD A9 5B              3472        CALL    LWRD ?0440\r
-    00005DC4 F1                    3473        POP     AF\r
-    00005DC5 F1                    3474        POP     AF\r
-    00005DC6 F1                    3475        POP     AF\r
-    00005DC7 E5                    3476        PUSH    HL\r
-    00005DC8 FD E1                 3477        POP     IY\r
-    00005DCA 01 0A 00              3478        LD      BC,10\r
-    00005DCD 09                    3479        ADD     HL,BC\r
-    00005DCE CB DE                 3480        SET     3,(HL)\r
-    00005DD0 01 C9 84              3481        LD      BC,?0249\r
-    00005DD3 FD E5                 3482        PUSH    IY\r
-    00005DD5 D1                    3483        POP     DE\r
-    00005DD6 3E 00                 3484        LD      A,BYTE3 Component_setlabel\r
-    00005DD8 21 22 4C              3485        LD      HL,LWRD Component_setlabel\r
-    00005DDB CD 5E 81              3486        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005DDE FD 36 1A 53           3487        LD      (IY+26),LOW(Display_paint)\r
-    00005DE2 FD 36 1B 5C           3488        LD      (IY+27),HIGH(Display_paint)\r
-    00005DE6 FD 36 1C 00           3489        LD      (IY+28),BYTE3 Display_paint\r
-    00005DEA FD 36 17 D2           3490        LD      (IY+23),LOW(Display_handler)\r
-    00005DEE FD 36 18 5B           3491        LD      (IY+24),HIGH(Display_handler)\r
-    00005DF2 FD 36 19 00           3492        LD      (IY+25),BYTE3 Display_handler\r
-    00005DF6 C3 1A 4C              3493        JP      LWRD ?0418\r
-    00005DF9                       3494 Label_handler:\r
-    00005DF9 CD 52 81              3495        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-    00005DFC C3 1F 81              3496        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00005DFF                       3497 Label_paint:\r
-    00005DFF C5                    3498        PUSH    BC\r
-    00005E00 DD E5                 3499        PUSH    IX\r
-    00005E02 F5                    3500        PUSH    AF\r
-    00005E03 F5                    3501        PUSH    AF\r
-    00005E04 D5                    3502        PUSH    DE\r
-    00005E05 DD E1                 3503        POP     IX\r
-    00005E07 21 02 00              3504        LD      HL,2\r
-    00005E0A 39                    3505        ADD     HL,SP\r
-    00005E0B AF                    3506        XOR     A\r
-    00005E0C 77                    3507        LD      (HL),A\r
-    00005E0D 23                    3508        INC     HL\r
-    00005E0E 77                    3509        LD      (HL),A\r
-    00005E0F 2B                    3510        DEC     HL\r
-    00005E10 2B                    3511        DEC     HL\r
-    00005E11 2B                    3512        DEC     HL\r
-    00005E12 77                    3513        LD      (HL),A\r
-    00005E13 23                    3514        INC     HL\r
-    00005E14 77                    3515        LD      (HL),A\r
-    00005E15 21 0A 00              3516        LD      HL,10\r
-    00005E18 ED 4B C0 86           3517        LD      BC,(global)\r
-    00005E1C 09                    3518        ADD     HL,BC\r
-    00005E1D 7E                    3519        LD      A,(HL)\r
-    00005E1E 23                    3520        INC     HL\r
-    00005E1F 66                    3521        LD      H,(HL)\r
-    00005E20 6F                    3522        LD      L,A\r
-    00005E21 46                    3523        LD      B,(HL)\r
-    00005E22 23                    3524        INC     HL\r
-    00005E23 66                    3525        LD      H,(HL)\r
-    00005E24 68                    3526        LD      L,B\r
-    00005E25 E5                    3527        PUSH    HL\r
-    00005E26 21 0E 00              3528        LD      HL,14\r
-    00005E29 19                    3529        ADD     HL,DE\r
-    00005E2A 4E                    3530        LD      C,(HL)\r
-    00005E2B 23                    3531        INC     HL\r
-    00005E2C 46                    3532        LD      B,(HL)\r
-    00005E2D E1                    3533        POP     HL\r
-    00005E2E A7                    3534        AND     A\r
-    00005E2F ED 42                 3535        SBC     HL,BC\r
-    00005E31 28 03                 3536        JR      Z,?0251\r
-    00005E33                       3537 ?0250:\r
-    00005E33 CD E7 54              3538        CALL    LWRD ?0473\r
-    00005E36                       3539 ?0251:\r
-    00005E36 DD CB 0A 46           3540        BIT     0,(IX+10)\r
-    00005E3A 28 21                 3541        JR      Z,?0253\r
-    00005E3C                       3542 ?0252:\r
-    00005E3C 21 00 00              3543        LD      HL,0\r
-    00005E3F 39                    3544        ADD     HL,SP\r
-    00005E40 E5                    3545        PUSH    HL\r
-    00005E41 CD 4E 53              3546        CALL    LWRD ?0467\r
-    00005E44 E1                    3547        POP     HL\r
-    00005E45 21 00 00              3548        LD      HL,0\r
-    00005E48 39                    3549        ADD     HL,SP\r
-    00005E49 4E                    3550        LD      C,(HL)\r
-    00005E4A 23                    3551        INC     HL\r
-    00005E4B 46                    3552        LD      B,(HL)\r
-    00005E4C C5                    3553        PUSH    BC\r
-    00005E4D 23                    3554        INC     HL\r
-    00005E4E 4E                    3555        LD      C,(HL)\r
-    00005E4F 23                    3556        INC     HL\r
-    00005E50 46                    3557        LD      B,(HL)\r
-    00005E51 DD E5                 3558        PUSH    IX\r
-    00005E53 D1                    3559        POP     DE\r
-    00005E54 3E 00                 3560        LD      A,BYTE3 Button_drawtext\r
-    00005E56 21 43 56              3561        LD      HL,LWRD Button_drawtext\r
-    00005E59 CD 5E 81              3562        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005E5C E1                    3563        POP     HL\r
-    00005E5D                       3564 ?0253:\r
-    00005E5D C3 CF 57              3565        JP      LWRD ?0178\r
-    00005E60                       3566 Label_new:\r
-    00005E60 CD 88 81              3567        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00005E63 00 00                 3568        DEFW    0\r
-    00005E65 FD E5                 3569        PUSH    IY\r
-    00005E67 DD 6E 0C              3570        LD      L,(IX+12)\r
-    00005E6A DD 66 0D              3571        LD      H,(IX+13)\r
-    00005E6D E5                    3572        PUSH    HL\r
-    00005E6E DD 6E 0A              3573        LD      L,(IX+10)\r
-    00005E71 DD 66 0B              3574        LD      H,(IX+11)\r
-    00005E74 E5                    3575        PUSH    HL\r
-    00005E75 CD 7E 55              3576        CALL    LWRD ?0438\r
-    00005E78 F1                    3577        POP     AF\r
-    00005E79 F1                    3578        POP     AF\r
-    00005E7A E5                    3579        PUSH    HL\r
-    00005E7B FD E1                 3580        POP     IY\r
-    00005E7D 01 20 00              3581        LD      BC,32\r
-    00005E80 09                    3582        ADD     HL,BC\r
-    00005E81 DD 4E 0E              3583        LD      C,(IX+14)\r
-    00005E84 71                    3584        LD      (HL),C\r
-    00005E85 DD 46 0F              3585        LD      B,(IX+15)\r
-    00005E88 23                    3586        INC     HL\r
-    00005E89 70                    3587        LD      (HL),B\r
-    00005E8A FD 36 0A 01           3588        LD      (IY+10),1\r
-    00005E8E FD 36 0B 00           3589        LD      (IY+11),0\r
-    00005E92 FD 36 17 F9           3590        LD      (IY+23),LOW(Label_handler)\r
-    00005E96 FD 36 18 5D           3591        LD      (IY+24),HIGH(Label_handler)\r
-    00005E9A FD 36 19 00           3592        LD      (IY+25),BYTE3 Label_handler\r
-    00005E9E FD 36 1A FF           3593        LD      (IY+26),LOW(Label_paint)\r
-    00005EA2 FD 36 1B 5D           3594        LD      (IY+27),HIGH(Label_paint)\r
-    00005EA6 FD 36 1C 00           3595        LD      (IY+28),BYTE3 Label_paint\r
-    00005EAA FD 36 1D F8           3596        LD      (IY+29),LOW(Button_add)\r
-    00005EAE FD 36 1E 57           3597        LD      (IY+30),HIGH(Button_add)\r
-    00005EB2 FD 36 1F 00           3598        LD      (IY+31),BYTE3 Button_add\r
-    00005EB6 C3 1A 4C              3599        JP      LWRD ?0418\r
-    00005EB9                       3600 rootWindow_handler:\r
-    00005EB9 CD 88 81              3601        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00005EBC 00 00                 3602        DEFW    0\r
-    00005EBE DD 6E 0A              3603        LD      L,(IX+10)\r
-    00005EC1 DD 66 0B              3604        LD      H,(IX+11)\r
-    00005EC4 E5                    3605        PUSH    HL\r
-    00005EC5 DD 5E 02              3606        LD      E,(IX+2)\r
-    00005EC8 DD 56 03              3607        LD      D,(IX+3)\r
-    00005ECB 3E 00                 3608        LD      A,BYTE3 Window_handler\r
-    00005ECD 21 9B 50              3609        LD      HL,LWRD Window_handler\r
-    00005ED0 CD 5E 81              3610        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005ED3 E1                    3611        POP     HL\r
-    00005ED4 C3 1F 81              3612        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    00005ED7                       3613 screenbuilder:\r
-    00005ED7 CD 88 81              3614        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00005EDA CE FF                 3615        DEFW    65486\r
-    00005EDC FD E5                 3616        PUSH    IY\r
-    00005EDE DD 36 D8 00           3617        LD      (IX-40),0\r
-    00005EE2 21 00 00              3618        LD      HL,0\r
-    00005EE5 E5                    3619        PUSH    HL\r
-    00005EE6 C5                    3620        PUSH    BC\r
-    00005EE7 3E 01                 3621        LD      A,BYTE3 open\r
-    00005EE9 21 AD 42              3622        LD      HL,LWRD open\r
-    00005EEC CD 5E 81              3623        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005EEF F1                    3624        POP     AF\r
-    00005EF0 F1                    3625        POP     AF\r
-    00005EF1 DD 75 D4              3626        LD      (IX-44),L\r
-    00005EF4 DD 74 D5              3627        LD      (IX-43),H\r
-    00005EF7 DD 36 F0 2B           3628        LD      (IX-16),43\r
-    00005EFB DD 36 F1 00           3629        LD      (IX-15),0\r
-    00005EFF DD 36 F2 1A           3630        LD      (IX-14),26\r
-    00005F03 DD 36 F3 00           3631        LD      (IX-13),0\r
-    00005F07                       3632 ?0256:\r
-    00005F07 DD 36 F4 00           3633        LD      (IX-12),0\r
-    00005F0B DD 7E D8              3634        LD      A,(IX-40)\r
-    00005F0E FE 73                 3635        CP      115\r
-    00005F10 20 18                 3636        JR      NZ,?0258\r
-    00005F12                       3637 ?0257:\r
-    00005F12 DD 6E D9              3638        LD      L,(IX-39)\r
-    00005F15 DD 66 DA              3639        LD      H,(IX-38)\r
-    00005F18 DD 75 F0              3640        LD      (IX-16),L\r
-    00005F1B DD 74 F1              3641        LD      (IX-15),H\r
-    00005F1E DD 6E DB              3642        LD      L,(IX-37)\r
-    00005F21 DD 66 DC              3643        LD      H,(IX-36)\r
-    00005F24 DD 75 F2              3644        LD      (IX-14),L\r
-    00005F27 DD 74 F3              3645        LD      (IX-13),H\r
-    00005F2A                       3646 ?0258:\r
-    00005F2A DD 7E D8              3647        LD      A,(IX-40)\r
-    00005F2D FE 42                 3648        CP      66\r
-    00005F2F 28 07                 3649        JR      Z,?0261\r
-    00005F31 DD 7E D8              3650        LD      A,(IX-40)\r
-    00005F34 FE 4D                 3651        CP      77\r
-    00005F36 20 4F                 3652        JR      NZ,?0260\r
-    00005F38                       3653 ?0261:\r
-    00005F38                       3654 ?0262:\r
-    00005F38                       3655 ?0259:\r
-    00005F38 DD 4E DD              3656        LD      C,(IX-35)\r
-    00005F3B 06 00                 3657        LD      B,0\r
-    00005F3D C5                    3658        PUSH    BC\r
-    00005F3E CD 97 62              3659        CALL    LWRD ?0482\r
-    00005F41 D5                    3660        PUSH    DE\r
-    00005F42 DD 4E DB              3661        LD      C,(IX-37)\r
-    00005F45 DD 5E F0              3662        LD      E,(IX-16)\r
-    00005F48 DD 56 F1              3663        LD      D,(IX-15)\r
-    00005F4B CD A0 62              3664        CALL    LWRD ?0483\r
-    00005F4E D5                    3665        PUSH    DE\r
-    00005F4F DD 4E DA              3666        LD      C,(IX-38)\r
-    00005F52 DD 5E F2              3667        LD      E,(IX-14)\r
-    00005F55 DD 56 F3              3668        LD      D,(IX-13)\r
-    00005F58 CD 2A 81              3669        CALL    LWRD ?S_MUL_L02\r
-    00005F5B D5                    3670        PUSH    DE\r
-    00005F5C DD 5E D9              3671        LD      E,(IX-39)\r
-    00005F5F 50                    3672        LD      D,B\r
-    00005F60 DD 4E F0              3673        LD      C,(IX-16)\r
-    00005F63 DD 46 F1              3674        LD      B,(IX-15)\r
-    00005F66 CD 2A 81              3675        CALL    LWRD ?S_MUL_L02\r
-    00005F69 3E 00                 3676        LD      A,BYTE3 Button_new\r
-    00005F6B 21 FE 57              3677        LD      HL,LWRD Button_new\r
-    00005F6E C1                    3678        POP     BC\r
-    00005F6F CD 5E 81              3679        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005F72 F1                    3680        POP     AF\r
-    00005F73 F1                    3681        POP     AF\r
-    00005F74 F1                    3682        POP     AF\r
-    00005F75 E5                    3683        PUSH    HL\r
-    00005F76 FD E1                 3684        POP     IY\r
-    00005F78 DD 7E D8              3685        LD      A,(IX-40)\r
-    00005F7B FE 4D                 3686        CP      77\r
-    00005F7D 20 04                 3687        JR      NZ,?0264\r
-    00005F7F                       3688 ?0263:\r
-    00005F7F FD CB 0A F6           3689        SET     6,(IY+10)\r
-    00005F83                       3690 ?0264:\r
-    00005F83 DD 36 F4 01           3691        LD      (IX-12),1\r
-    00005F87                       3692 ?0260:\r
-    00005F87 DD 7E D8              3693        LD      A,(IX-40)\r
-    00005F8A FE 54                 3694        CP      84\r
-    00005F8C 20 44                 3695        JR      NZ,?0266\r
-    00005F8E                       3696 ?0265:\r
-    00005F8E DD 4E DD              3697        LD      C,(IX-35)\r
-    00005F91 06 00                 3698        LD      B,0\r
-    00005F93 C5                    3699        PUSH    BC\r
-    00005F94 CD 97 62              3700        CALL    LWRD ?0482\r
-    00005F97 D5                    3701        PUSH    DE\r
-    00005F98 DD 4E DB              3702        LD      C,(IX-37)\r
-    00005F9B DD 5E F0              3703        LD      E,(IX-16)\r
-    00005F9E DD 56 F1              3704        LD      D,(IX-15)\r
-    00005FA1 CD A0 62              3705        CALL    LWRD ?0483\r
-    00005FA4 D5                    3706        PUSH    DE\r
-    00005FA5 DD 4E DA              3707        LD      C,(IX-38)\r
-    00005FA8 DD 5E F2              3708        LD      E,(IX-14)\r
-    00005FAB DD 56 F3              3709        LD      D,(IX-13)\r
-    00005FAE CD 2A 81              3710        CALL    LWRD ?S_MUL_L02\r
-    00005FB1 D5                    3711        PUSH    DE\r
-    00005FB2 DD 5E D9              3712        LD      E,(IX-39)\r
-    00005FB5 50                    3713        LD      D,B\r
-    00005FB6 DD 4E F0              3714        LD      C,(IX-16)\r
-    00005FB9 DD 46 F1              3715        LD      B,(IX-15)\r
-    00005FBC CD 2A 81              3716        CALL    LWRD ?S_MUL_L02\r
-    00005FBF 3E 00                 3717        LD      A,BYTE3 ToggleButton_new\r
-    00005FC1 21 D8 59              3718        LD      HL,LWRD ToggleButton_new\r
-    00005FC4 C1                    3719        POP     BC\r
-    00005FC5 CD 5E 81              3720        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00005FC8 F1                    3721        POP     AF\r
-    00005FC9 F1                    3722        POP     AF\r
-    00005FCA F1                    3723        POP     AF\r
-    00005FCB E5                    3724        PUSH    HL\r
-    00005FCC FD E1                 3725        POP     IY\r
-    00005FCE DD 36 F4 01           3726        LD      (IX-12),1\r
-    00005FD2                       3727 ?0266:\r
-    00005FD2 DD 7E D8              3728        LD      A,(IX-40)\r
-    00005FD5 FE 44                 3729        CP      68\r
-    00005FD7 20 44                 3730        JR      NZ,?0268\r
-    00005FD9                       3731 ?0267:\r
-    00005FD9 DD 4E DD              3732        LD      C,(IX-35)\r
-    00005FDC 06 00                 3733        LD      B,0\r
-    00005FDE C5                    3734        PUSH    BC\r
-    00005FDF CD 97 62              3735        CALL    LWRD ?0482\r
-    00005FE2 D5                    3736        PUSH    DE\r
-    00005FE3 DD 4E DB              3737        LD      C,(IX-37)\r
-    00005FE6 DD 5E F0              3738        LD      E,(IX-16)\r
-    00005FE9 DD 56 F1              3739        LD      D,(IX-15)\r
-    00005FEC CD A0 62              3740        CALL    LWRD ?0483\r
-    00005FEF D5                    3741        PUSH    DE\r
-    00005FF0 DD 4E DA              3742        LD      C,(IX-38)\r
-    00005FF3 DD 5E F2              3743        LD      E,(IX-14)\r
-    00005FF6 DD 56 F3              3744        LD      D,(IX-13)\r
-    00005FF9 CD 2A 81              3745        CALL    LWRD ?S_MUL_L02\r
-    00005FFC D5                    3746        PUSH    DE\r
-    00005FFD DD 5E D9              3747        LD      E,(IX-39)\r
-    00006000 50                    3748        LD      D,B\r
-    00006001 DD 4E F0              3749        LD      C,(IX-16)\r
-    00006004 DD 46 F1              3750        LD      B,(IX-15)\r
-    00006007 CD 2A 81              3751        CALL    LWRD ?S_MUL_L02\r
-    0000600A 3E 00                 3752        LD      A,BYTE3 Display_new\r
-    0000600C 21 9F 5D              3753        LD      HL,LWRD Display_new\r
-    0000600F C1                    3754        POP     BC\r
-    00006010 CD 5E 81              3755        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006013 F1                    3756        POP     AF\r
-    00006014 F1                    3757        POP     AF\r
-    00006015 F1                    3758        POP     AF\r
-    00006016 E5                    3759        PUSH    HL\r
-    00006017 FD E1                 3760        POP     IY\r
-    00006019 DD 36 F4 01           3761        LD      (IX-12),1\r
-    0000601D                       3762 ?0268:\r
-    0000601D DD 7E D8              3763        LD      A,(IX-40)\r
-    00006020 FE 4C                 3764        CP      76\r
-    00006022 20 47                 3765        JR      NZ,?0270\r
-    00006024                       3766 ?0269:\r
-    00006024 21 0C 00              3767        LD      HL,12\r
-    00006027 39                    3768        ADD     HL,SP\r
-    00006028 01 12 00              3769        LD      BC,18\r
-    0000602B 09                    3770        ADD     HL,BC\r
-    0000602C E5                    3771        PUSH    HL\r
-    0000602D CD 97 62              3772        CALL    LWRD ?0482\r
-    00006030 D5                    3773        PUSH    DE\r
-    00006031 DD 4E DB              3774        LD      C,(IX-37)\r
-    00006034 DD 5E F0              3775        LD      E,(IX-16)\r
-    00006037 DD 56 F1              3776        LD      D,(IX-15)\r
-    0000603A CD A0 62              3777        CALL    LWRD ?0483\r
-    0000603D D5                    3778        PUSH    DE\r
-    0000603E DD 4E DA              3779        LD      C,(IX-38)\r
-    00006041 DD 5E F2              3780        LD      E,(IX-14)\r
-    00006044 DD 56 F3              3781        LD      D,(IX-13)\r
-    00006047 CD 2A 81              3782        CALL    LWRD ?S_MUL_L02\r
-    0000604A D5                    3783        PUSH    DE\r
-    0000604B DD 5E D9              3784        LD      E,(IX-39)\r
-    0000604E 50                    3785        LD      D,B\r
-    0000604F DD 4E F0              3786        LD      C,(IX-16)\r
-    00006052 DD 46 F1              3787        LD      B,(IX-15)\r
-    00006055 CD 2A 81              3788        CALL    LWRD ?S_MUL_L02\r
-    00006058 3E 00                 3789        LD      A,BYTE3 Label_new\r
-    0000605A 21 60 5E              3790        LD      HL,LWRD Label_new\r
-    0000605D C1                    3791        POP     BC\r
-    0000605E CD 5E 81              3792        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006061 F1                    3793        POP     AF\r
-    00006062 F1                    3794        POP     AF\r
-    00006063 F1                    3795        POP     AF\r
-    00006064 E5                    3796        PUSH    HL\r
-    00006065 FD E1                 3797        POP     IY\r
-    00006067 DD 36 F4 01           3798        LD      (IX-12),1\r
-    0000606B                       3799 ?0270:\r
-    0000606B DD 7E D8              3800        LD      A,(IX-40)\r
-    0000606E FE 41                 3801        CP      65\r
-    00006070 20 51                 3802        JR      NZ,?0272\r
-    00006072                       3803 ?0271:\r
-    00006072 21 26 00              3804        LD      HL,38\r
-    00006075 DD 4E 02              3805        LD      C,(IX+2)\r
-    00006078 DD 46 03              3806        LD      B,(IX+3)\r
-    0000607B 09                    3807        ADD     HL,BC\r
-    0000607C E5                    3808        PUSH    HL\r
-    0000607D 21 2B 00              3809        LD      HL,43\r
-    00006080 39                    3810        ADD     HL,SP\r
-    00006081 EB                    3811        EX      DE,HL\r
-    00006082 E1                    3812        POP     HL\r
-    00006083 73                    3813        LD      (HL),E\r
-    00006084 23                    3814        INC     HL\r
-    00006085 72                    3815        LD      (HL),D\r
-    00006086 DD 6E DE              3816        LD      L,(IX-34)\r
-    00006089 DD 66 DF              3817        LD      H,(IX-33)\r
-    0000608C DD 75 F8              3818        LD      (IX-8),L\r
-    0000608F DD 74 F9              3819        LD      (IX-7),H\r
-    00006092 DD 6E E0              3820        LD      L,(IX-32)\r
-    00006095 DD 66 E1              3821        LD      H,(IX-31)\r
-    00006098 DD 75 FA              3822        LD      (IX-6),L\r
-    0000609B DD 74 FB              3823        LD      (IX-5),H\r
-    0000609E 21 16 00              3824        LD      HL,22\r
-    000060A1 39                    3825        ADD     HL,SP\r
-    000060A2 4E                    3826        LD      C,(HL)\r
-    000060A3 23                    3827        INC     HL\r
-    000060A4 46                    3828        LD      B,(HL)\r
-    000060A5 23                    3829        INC     HL\r
-    000060A6 5E                    3830        LD      E,(HL)\r
-    000060A7 23                    3831        INC     HL\r
-    000060A8 56                    3832        LD      D,(HL)\r
-    000060A9 DD 71 FC              3833        LD      (IX-4),C\r
-    000060AC DD 70 FD              3834        LD      (IX-3),B\r
-    000060AF DD 73 FE              3835        LD      (IX-2),E\r
-    000060B2 DD 72 FF              3836        LD      (IX-1),D\r
-    000060B5 DD 5E 02              3837        LD      E,(IX+2)\r
-    000060B8 DD 56 03              3838        LD      D,(IX+3)\r
-    000060BB 3E 00                 3839        LD      A,BYTE3 root_actionhandler\r
-    000060BD 21 A7 62              3840        LD      HL,LWRD root_actionhandler\r
-    000060C0 CD 5E 81              3841        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000060C3                       3842 ?0272:\r
-    000060C3 DD 7E D8              3843        LD      A,(IX-40)\r
-    000060C6 FE 53                 3844        CP      83\r
-    000060C8 20 71                 3845        JR      NZ,?0274\r
-    000060CA                       3846 ?0273:\r
-    000060CA 21 0C 00              3847        LD      HL,12\r
-    000060CD 39                    3848        ADD     HL,SP\r
-    000060CE 4D                    3849        LD      C,L\r
-    000060CF 44                    3850        LD      B,H\r
-    000060D0 DD 5E D4              3851        LD      E,(IX-44)\r
-    000060D3 DD 56 D5              3852        LD      D,(IX-43)\r
-    000060D6 3E 00                 3853        LD      A,BYTE3 read_stringtable\r
-    000060D8 21 DF 65              3854        LD      HL,LWRD read_stringtable\r
-    000060DB CD 5E 81              3855        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000060DE 21 26 00              3856        LD      HL,38\r
-    000060E1 DD 4E 02              3857        LD      C,(IX+2)\r
-    000060E4 DD 46 03              3858        LD      B,(IX+3)\r
-    000060E7 09                    3859        ADD     HL,BC\r
-    000060E8 E5                    3860        PUSH    HL\r
-    000060E9 11 04 00              3861        LD      DE,4\r
-    000060EC CD 8F 62              3862        CALL    LWRD ?0454\r
-    000060EF EB                    3863        EX      DE,HL\r
-    000060F0 E1                    3864        POP     HL\r
-    000060F1 73                    3865        LD      (HL),E\r
-    000060F2 23                    3866        INC     HL\r
-    000060F3 72                    3867        LD      (HL),D\r
-    000060F4 21 26 00              3868        LD      HL,38\r
-    000060F7 09                    3869        ADD     HL,BC\r
-    000060F8 56                    3870        LD      D,(HL)\r
-    000060F9 DD 72 F5              3871        LD      (IX-11),D\r
-    000060FC 23                    3872        INC     HL\r
-    000060FD 66                    3873        LD      H,(HL)\r
-    000060FE DD 74 F6              3874        LD      (IX-10),H\r
-    00006101 21 24 00              3875        LD      HL,36\r
-    00006104 09                    3876        ADD     HL,BC\r
-    00006105 36 04                 3877        LD      (HL),4\r
-    00006107 23                    3878        INC     HL\r
-    00006108 36 00                 3879        LD      (HL),0\r
-    0000610A 6A                    3880        LD      L,D\r
-    0000610B DD 66 F6              3881        LD      H,(IX-10)\r
-    0000610E 23                    3882        INC     HL\r
-    0000610F 23                    3883        INC     HL\r
-    00006110 E5                    3884        PUSH    HL\r
-    00006111 21 08 00              3885        LD      HL,8\r
-    00006114 ED 4B C0 86           3886        LD      BC,(global)\r
-    00006118 09                    3887        ADD     HL,BC\r
-    00006119 5E                    3888        LD      E,(HL)\r
-    0000611A 23                    3889        INC     HL\r
-    0000611B 56                    3890        LD      D,(HL)\r
-    0000611C E1                    3891        POP     HL\r
-    0000611D 73                    3892        LD      (HL),E\r
-    0000611E 23                    3893        INC     HL\r
-    0000611F 72                    3894        LD      (HL),D\r
-    00006120 21 06 00              3895        LD      HL,6\r
-    00006123 ED 4B C0 86           3896        LD      BC,(global)\r
-    00006127 09                    3897        ADD     HL,BC\r
-    00006128 46                    3898        LD      B,(HL)\r
-    00006129 23                    3899        INC     HL\r
-    0000612A 66                    3900        LD      H,(HL)\r
-    0000612B 68                    3901        LD      L,B\r
-    0000612C E5                    3902        PUSH    HL\r
-    0000612D DD 6E F5              3903        LD      L,(IX-11)\r
-    00006130 DD 66 F6              3904        LD      H,(IX-10)\r
-    00006133 C1                    3905        POP     BC\r
-    00006134 71                    3906        LD      (HL),C\r
-    00006135 23                    3907        INC     HL\r
-    00006136 70                    3908        LD      (HL),B\r
-    00006137 DD 36 F4 00           3909        LD      (IX-12),0\r
-    0000613B                       3910 ?0274:\r
-    0000613B AF                    3911        XOR     A\r
-    0000613C DD B6 F4              3912        OR      (IX-12)\r
-    0000613F CA 3B 62              3913        JP      Z,?0276\r
-    00006142                       3914 ?0275:\r
-    00006142 DD 7E DE              3915        LD      A,(IX-34)\r
-    00006145 DD B6 DF              3916        OR      (IX-33)\r
-    00006148 28 69                 3917        JR      Z,?0278\r
-    0000614A                       3918 ?0277:\r
-    0000614A FD CB 0A EE           3919        SET     5,(IY+10)\r
-    0000614E FD 36 24 0B           3920        LD      (IY+36),11\r
-    00006152 FD 36 25 00           3921        LD      (IY+37),0\r
-    00006156 11 0B 00              3922        LD      DE,11\r
-    00006159 CD 8F 62              3923        CALL    LWRD ?0454\r
-    0000615C FD 75 26              3924        LD      (IY+38),L\r
-    0000615F FD 74 27              3925        LD      (IY+39),H\r
-    00006162 FD 6E 26              3926        LD      L,(IY+38)\r
-    00006165 DD 75 D0              3927        LD      (IX-48),L\r
-    00006168 FD 66 27              3928        LD      H,(IY+39)\r
-    0000616B DD 74 D1              3929        LD      (IX-47),H\r
-    0000616E 36 A7                 3930        LD      (HL),LOW(root_actionhandler)\r
-    00006170 23                    3931        INC     HL\r
-    00006171 36 62                 3932        LD      (HL),HIGH(root_actionhandler)\r
-    00006173 23                    3933        INC     HL\r
-    00006174 36 00                 3934        LD      (HL),BYTE3 root_actionhandler\r
-    00006176 DD 6E D0              3935        LD      L,(IX-48)\r
-    00006179 DD 66 D1              3936        LD      H,(IX-47)\r
-    0000617C 23                    3937        INC     HL\r
-    0000617D 23                    3938        INC     HL\r
-    0000617E 23                    3939        INC     HL\r
-    0000617F DD 4E DE              3940        LD      C,(IX-34)\r
-    00006182 71                    3941        LD      (HL),C\r
-    00006183 DD 46 DF              3942        LD      B,(IX-33)\r
-    00006186 23                    3943        INC     HL\r
-    00006187 70                    3944        LD      (HL),B\r
-    00006188 21 05 00              3945        LD      HL,5\r
-    0000618B DD 4E D0              3946        LD      C,(IX-48)\r
-    0000618E DD 46 D1              3947        LD      B,(IX-47)\r
-    00006191 09                    3948        ADD     HL,BC\r
-    00006192 DD 5E E0              3949        LD      E,(IX-32)\r
-    00006195 73                    3950        LD      (HL),E\r
-    00006196 DD 56 E1              3951        LD      D,(IX-31)\r
-    00006199 23                    3952        INC     HL\r
-    0000619A 72                    3953        LD      (HL),D\r
-    0000619B 21 07 00              3954        LD      HL,7\r
-    0000619E 09                    3955        ADD     HL,BC\r
-    0000619F E5                    3956        PUSH    HL\r
-    000061A0 21 18 00              3957        LD      HL,24\r
-    000061A3 39                    3958        ADD     HL,SP\r
-    000061A4 5E                    3959        LD      E,(HL)\r
-    000061A5 23                    3960        INC     HL\r
-    000061A6 56                    3961        LD      D,(HL)\r
-    000061A7 23                    3962        INC     HL\r
-    000061A8 4E                    3963        LD      C,(HL)\r
-    000061A9 23                    3964        INC     HL\r
-    000061AA 46                    3965        LD      B,(HL)\r
-    000061AB E1                    3966        POP     HL\r
-    000061AC 73                    3967        LD      (HL),E\r
-    000061AD 23                    3968        INC     HL\r
-    000061AE 72                    3969        LD      (HL),D\r
-    000061AF 23                    3970        INC     HL\r
-    000061B0 71                    3971        LD      (HL),C\r
-    000061B1 23                    3972        INC     HL\r
-    000061B2 70                    3973        LD      (HL),B\r
-    000061B3                       3974 ?0278:\r
-    000061B3 DD 7E E6              3975        LD      A,(IX-26)\r
-    000061B6 DD B6 E7              3976        OR      (IX-25)\r
-    000061B9 28 0C                 3977        JR      Z,?0280\r
-    000061BB                       3978 ?0279:\r
-    000061BB DD 6E E6              3979        LD      L,(IX-26)\r
-    000061BE FD 75 0A              3980        LD      (IY+10),L\r
-    000061C1 DD 66 E7              3981        LD      H,(IX-25)\r
-    000061C4 FD 74 0B              3982        LD      (IY+11),H\r
-    000061C7                       3983 ?0280:\r
-    000061C7 DD 6E E8              3984        LD      L,(IX-24)\r
-    000061CA FD 75 0E              3985        LD      (IY+14),L\r
-    000061CD DD 66 E9              3986        LD      H,(IX-23)\r
-    000061D0 FD 74 0F              3987        LD      (IY+15),H\r
-    000061D3 DD 6E EA              3988        LD      L,(IX-22)\r
-    000061D6 FD 75 20              3989        LD      (IY+32),L\r
-    000061D9 DD 7E EB              3990        LD      A,(IX-21)\r
-    000061DC E6 0F                 3991        AND     15\r
-    000061DE FD 77 21              3992        LD      (IY+33),A\r
-    000061E1 FD 7E 20              3993        LD      A,(IY+32)\r
-    000061E4 FD B6 21              3994        OR      (IY+33)\r
-    000061E7 20 16                 3995        JR      NZ,?0282\r
-    000061E9                       3996 ?0281:\r
-    000061E9 11 14 00              3997        LD      DE,20\r
-    000061EC CD 8F 62              3998        CALL    LWRD ?0454\r
-    000061EF FD 75 20              3999        LD      (IY+32),L\r
-    000061F2 FD 74 21              4000        LD      (IY+33),H\r
-    000061F5 FD 6E 20              4001        LD      L,(IY+32)\r
-    000061F8 FD 66 21              4002        LD      H,(IY+33)\r
-    000061FB 36 00                 4003        LD      (HL),0\r
-    000061FD 18 04                 4004        JR      ?0283\r
-    000061FF                       4005 ?0282:\r
-    000061FF FD CB 0B F6           4006        SET     6,(IY+11)\r
-    00006203                       4007 ?0283:\r
-    00006203 DD 7E EB              4008        LD      A,(IX-21)\r
-    00006206 2E 00                 4009        LD      L,0\r
-    00006208 4D                    4010        LD      C,L\r
-    00006209 E6 F0                 4011        AND     240\r
-    0000620B 47                    4012        LD      B,A\r
-    0000620C 26 10                 4013        LD      H,16\r
-    0000620E ED 42                 4014        SBC     HL,BC\r
-    00006210 30 10                 4015        JR      NC,?0285\r
-    00006212                       4016 ?0284:\r
-    00006212 DD 6E EA              4017        LD      L,(IX-22)\r
-    00006215 DD 7E EB              4018        LD      A,(IX-21)\r
-    00006218 E6 0F                 4019        AND     15\r
-    0000621A 67                    4020        LD      H,A\r
-    0000621B 23                    4021        INC     HL\r
-    0000621C FD 75 22              4022        LD      (IY+34),L\r
-    0000621F FD 74 23              4023        LD      (IY+35),H\r
-    00006222                       4024 ?0285:\r
-    00006222 FD E5                 4025        PUSH    IY\r
-    00006224 DD 5E 02              4026        LD      E,(IX+2)\r
-    00006227 4B                    4027        LD      C,E\r
-    00006228 DD 56 03              4028        LD      D,(IX+3)\r
-    0000622B 42                    4029        LD      B,D\r
-    0000622C 21 1D 00              4030        LD      HL,29\r
-    0000622F 09                    4031        ADD     HL,BC\r
-    00006230 4E                    4032        LD      C,(HL)\r
-    00006231 23                    4033        INC     HL\r
-    00006232 46                    4034        LD      B,(HL)\r
-    00006233 23                    4035        INC     HL\r
-    00006234 7E                    4036        LD      A,(HL)\r
-    00006235 69                    4037        LD      L,C\r
-    00006236 60                    4038        LD      H,B\r
-    00006237 C1                    4039        POP     BC\r
-    00006238 CD 5E 81              4040        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000623B                       4041 ?0276:\r
-    0000623B 21 14 00              4042        LD      HL,20\r
-    0000623E E5                    4043        PUSH    HL\r
-    0000623F 2E 0E                 4044        LD      L,14\r
-    00006241 39                    4045        ADD     HL,SP\r
-    00006242 4D                    4046        LD      C,L\r
-    00006243 44                    4047        LD      B,H\r
-    00006244 DD 5E D4              4048        LD      E,(IX-44)\r
-    00006247 DD 56 D5              4049        LD      D,(IX-43)\r
-    0000624A CD 87 62              4050        CALL    LWRD ?0441\r
-    0000624D F1                    4051        POP     AF\r
-    0000624E 3E 14                 4052        LD      A,20\r
-    00006250 AD                    4053        XOR     L\r
-    00006251 B4                    4054        OR      H\r
-    00006252 CA 07 5F              4055        JP      Z,?0256\r
-    00006255                       4056 ?0254:\r
-    00006255 DD 5E D4              4057        LD      E,(IX-44)\r
-    00006258 DD 56 D5              4058        LD      D,(IX-43)\r
-    0000625B 3E 00                 4059        LD      A,BYTE3 close\r
-    0000625D 21 2B 72              4060        LD      HL,LWRD close\r
-    00006260 CD 5E 81              4061        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006263 DD 5E 02              4062        LD      E,(IX+2)\r
-    00006266 DD 56 03              4063        LD      D,(IX+3)\r
-    00006269 3E 00                 4064        LD      A,BYTE3 Component_linkstringtable\r
-    0000626B 21 E8 4F              4065        LD      HL,LWRD Component_linkstringtable\r
-    0000626E CD 5E 81              4066        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006271 DD 5E 02              4067        LD      E,(IX+2)\r
-    00006274 4B                    4068        LD      C,E\r
-    00006275 DD 56 03              4069        LD      D,(IX+3)\r
-    00006278 42                    4070        LD      B,D\r
-    00006279 21 1A 00              4071        LD      HL,26\r
-    0000627C 09                    4072        ADD     HL,BC\r
-    0000627D 4E                    4073        LD      C,(HL)\r
-    0000627E 23                    4074        INC     HL\r
-    0000627F 46                    4075        LD      B,(HL)\r
-    00006280 23                    4076        INC     HL\r
-    00006281 7E                    4077        LD      A,(HL)\r
-    00006282 69                    4078        LD      L,C\r
-    00006283 60                    4079        LD      H,B\r
-    00006284 C3 E8 56              4080        JP      LWRD ?0424\r
-    00006287                       4081 ?0441:\r
-    00006287 3E 01                 4082        LD      A,BYTE3 _read\r
-    00006289 21 34 45              4083        LD      HL,LWRD _read\r
-    0000628C C3 5E 81              4084        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    0000628F                       4085 ?0454:\r
-    0000628F 3E 01                 4086        LD      A,BYTE3 malloc\r
-    00006291 21 D8 42              4087        LD      HL,LWRD malloc\r
-    00006294 C3 5E 81              4088        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    00006297                       4089 ?0482:\r
-    00006297 DD 4E DC              4090        LD      C,(IX-36)\r
-    0000629A DD 5E F2              4091        LD      E,(IX-14)\r
-    0000629D DD 56 F3              4092        LD      D,(IX-13)\r
-    000062A0                       4093 ?0483:\r
-    000062A0 CD 2A 81              4094        CALL    LWRD ?S_MUL_L02\r
-    000062A3 1B                    4095        DEC     DE\r
-    000062A4 1B                    4096        DEC     DE\r
-    000062A5 1B                    4097        DEC     DE\r
-    000062A6 C9                    4098        RET\r
-    000062A7                       4099 root_actionhandler:\r
-    000062A7 CD 88 81              4100        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000062AA EA FF                 4101        DEFW    65514\r
-    000062AC FD E5                 4102        PUSH    IY\r
-    000062AE DD 6E 02              4103        LD      L,(IX+2)\r
-    000062B1 DD 66 03              4104        LD      H,(IX+3)\r
-    000062B4 E5                    4105        PUSH    HL\r
-    000062B5 FD E1                 4106        POP     IY\r
-    000062B7 21 06 00              4107        LD      HL,6\r
-    000062BA 39                    4108        ADD     HL,SP\r
-    000062BB EB                    4109        EX      DE,HL\r
-    000062BC 21 A7 84              4110        LD      HL,?0286\r
-    000062BF 01 0E 00              4111        LD      BC,14\r
-    000062C2 ED B0                 4112        LDIR\r
-    000062C4 FD 6E 26              4113        LD      L,(IY+38)\r
-    000062C7 DD 75 EA              4114        LD      (IX-22),L\r
-    000062CA FD 66 27              4115        LD      H,(IY+39)\r
-    000062CD DD 74 EB              4116        LD      (IX-21),H\r
-    000062D0 23                    4117        INC     HL\r
-    000062D1 23                    4118        INC     HL\r
-    000062D2 23                    4119        INC     HL\r
-    000062D3 3E 01                 4120        LD      A,1\r
-    000062D5 AE                    4121        XOR     (HL)\r
-    000062D6 23                    4122        INC     HL\r
-    000062D7 B6                    4123        OR      (HL)\r
-    000062D8 20 08                 4124        JR      NZ,?0288\r
-    000062DA                       4125 ?0287:\r
-    000062DA C5                    4126        PUSH    BC\r
-    000062DB 01 01 04              4127        LD      BC,1025\r
-    000062DE CD 3F 53              4128        CALL    LWRD ?0463\r
-    000062E1 E1                    4129        POP     HL\r
-    000062E2                       4130 ?0288:\r
-    000062E2 DD 6E EA              4131        LD      L,(IX-22)\r
-    000062E5 DD 66 EB              4132        LD      H,(IX-21)\r
-    000062E8 23                    4133        INC     HL\r
-    000062E9 23                    4134        INC     HL\r
-    000062EA 23                    4135        INC     HL\r
-    000062EB 46                    4136        LD      B,(HL)\r
-    000062EC 23                    4137        INC     HL\r
-    000062ED 66                    4138        LD      H,(HL)\r
-    000062EE 68                    4139        LD      L,B\r
-    000062EF CB 85                 4140        RES     0,L\r
-    000062F1 3E 02                 4141        LD      A,2\r
-    000062F3 AD                    4142        XOR     L\r
-    000062F4 B4                    4143        OR      H\r
-    000062F5 C2 12 64              4144        JP      NZ,?0290\r
-    000062F8                       4145 ?0289:\r
-    000062F8 6F                    4146        LD      L,A\r
-    000062F9 67                    4147        LD      H,A\r
-    000062FA E5                    4148        PUSH    HL\r
-    000062FB E5                    4149        PUSH    HL\r
-    000062FC 01 01 00              4150        LD      BC,1\r
-    000062FF FD 5E 11              4151        LD      E,(IY+17)\r
-    00006302 FD 56 12              4152        LD      D,(IY+18)\r
-    00006305 3E 00                 4153        LD      A,BYTE3 Component_changestate_children\r
-    00006307 21 7F 4F              4154        LD      HL,LWRD Component_changestate_children\r
-    0000630A CD 5E 81              4155        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000630D E1                    4156        POP     HL\r
-    0000630E E1                    4157        POP     HL\r
-    0000630F FD 6E 11              4158        LD      L,(IY+17)\r
-    00006312 FD 66 12              4159        LD      H,(IY+18)\r
-    00006315 01 08 00              4160        LD      BC,8\r
-    00006318 09                    4161        ADD     HL,BC\r
-    00006319 4E                    4162        LD      C,(HL)\r
-    0000631A 23                    4163        INC     HL\r
-    0000631B 46                    4164        LD      B,(HL)\r
-    0000631C C5                    4165        PUSH    BC\r
-    0000631D FD 6E 11              4166        LD      L,(IY+17)\r
-    00006320 FD 66 12              4167        LD      H,(IY+18)\r
-    00006323 01 06 00              4168        LD      BC,6\r
-    00006326 09                    4169        ADD     HL,BC\r
-    00006327 4E                    4170        LD      C,(HL)\r
-    00006328 23                    4171        INC     HL\r
-    00006329 46                    4172        LD      B,(HL)\r
-    0000632A C5                    4173        PUSH    BC\r
-    0000632B 01 00 00              4174        LD      BC,0\r
-    0000632E 59                    4175        LD      E,C\r
-    0000632F 50                    4176        LD      D,B\r
-    00006330 3E 00                 4177        LD      A,BYTE3 Window_new\r
-    00006332 21 3A 55              4178        LD      HL,LWRD Window_new\r
-    00006335 CD 5E 81              4179        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006338 F1                    4180        POP     AF\r
-    00006339 F1                    4181        POP     AF\r
-    0000633A DD 75 EC              4182        LD      (IX-20),L\r
-    0000633D DD 74 ED              4183        LD      (IX-19),H\r
-    00006340 01 0A 00              4184        LD      BC,10\r
-    00006343 09                    4185        ADD     HL,BC\r
-    00006344 36 03                 4186        LD      (HL),3\r
-    00006346 23                    4187        INC     HL\r
-    00006347 70                    4188        LD      (HL),B\r
-    00006348 DD 6E EA              4189        LD      L,(IX-22)\r
-    0000634B DD 66 EB              4190        LD      H,(IX-21)\r
-    0000634E 23                    4191        INC     HL\r
-    0000634F 23                    4192        INC     HL\r
-    00006350 23                    4193        INC     HL\r
-    00006351 CB 46                 4194        BIT     0,(HL)\r
-    00006353 28 0C                 4195        JR      Z,?0292\r
-    00006355                       4196 ?0291:\r
-    00006355 69                    4197        LD      L,C\r
-    00006356 60                    4198        LD      H,B\r
-    00006357 DD 4E EC              4199        LD      C,(IX-20)\r
-    0000635A DD 46 ED              4200        LD      B,(IX-19)\r
-    0000635D 09                    4201        ADD     HL,BC\r
-    0000635E 23                    4202        INC     HL\r
-    0000635F CB EE                 4203        SET     5,(HL)\r
-    00006361                       4204 ?0292:\r
-    00006361 21 17 00              4205        LD      HL,23\r
-    00006364 DD 4E EC              4206        LD      C,(IX-20)\r
-    00006367 DD 46 ED              4207        LD      B,(IX-19)\r
-    0000636A 09                    4208        ADD     HL,BC\r
-    0000636B 36 B9                 4209        LD      (HL),LOW(rootWindow_handler)\r
-    0000636D 23                    4210        INC     HL\r
-    0000636E 36 5E                 4211        LD      (HL),HIGH(rootWindow_handler)\r
-    00006370 23                    4212        INC     HL\r
-    00006371 36 00                 4213        LD      (HL),BYTE3 rootWindow_handler\r
-    00006373 21 1A 00              4214        LD      HL,26\r
-    00006376 09                    4215        ADD     HL,BC\r
-    00006377 36 F5                 4216        LD      (HL),LOW(Root_paint)\r
-    00006379 23                    4217        INC     HL\r
-    0000637A 36 54                 4218        LD      (HL),HIGH(Root_paint)\r
-    0000637C 23                    4219        INC     HL\r
-    0000637D 36 00                 4220        LD      (HL),BYTE3 Root_paint\r
-    0000637F 21 07 00              4221        LD      HL,7\r
-    00006382 DD 5E EA              4222        LD      E,(IX-22)\r
-    00006385 DD 56 EB              4223        LD      D,(IX-21)\r
-    00006388 19                    4224        ADD     HL,DE\r
-    00006389 5E                    4225        LD      E,(HL)\r
-    0000638A EB                    4226        EX      DE,HL\r
-    0000638B DD 75 F3              4227        LD      (IX-13),L\r
-    0000638E 21 07 00              4228        LD      HL,7\r
-    00006391 DD 4E EA              4229        LD      C,(IX-22)\r
-    00006394 DD 46 EB              4230        LD      B,(IX-21)\r
-    00006397 09                    4231        ADD     HL,BC\r
-    00006398 5E                    4232        LD      E,(HL)\r
-    00006399 23                    4233        INC     HL\r
-    0000639A 56                    4234        LD      D,(HL)\r
-    0000639B 23                    4235        INC     HL\r
-    0000639C 4E                    4236        LD      C,(HL)\r
-    0000639D 23                    4237        INC     HL\r
-    0000639E 46                    4238        LD      B,(HL)\r
-    0000639F EB                    4239        EX      DE,HL\r
-    000063A0 3E 08                 4240        LD      A,8\r
-    000063A2 CD F9 81              4241        CALL    LWRD ?SL_RSH_L03\r
-    000063A5 DD 75 F4              4242        LD      (IX-12),L\r
-    000063A8 21 07 00              4243        LD      HL,7\r
-    000063AB DD 4E EA              4244        LD      C,(IX-22)\r
-    000063AE DD 46 EB              4245        LD      B,(IX-21)\r
-    000063B1 09                    4246        ADD     HL,BC\r
-    000063B2 5E                    4247        LD      E,(HL)\r
-    000063B3 23                    4248        INC     HL\r
-    000063B4 56                    4249        LD      D,(HL)\r
-    000063B5 23                    4250        INC     HL\r
-    000063B6 4E                    4251        LD      C,(HL)\r
-    000063B7 23                    4252        INC     HL\r
-    000063B8 46                    4253        LD      B,(HL)\r
-    000063B9 EB                    4254        EX      DE,HL\r
-    000063BA 3E 10                 4255        LD      A,16\r
-    000063BC CD F9 81              4256        CALL    LWRD ?SL_RSH_L03\r
-    000063BF DD 75 F5              4257        LD      (IX-11),L\r
-    000063C2 21 07 00              4258        LD      HL,7\r
-    000063C5 DD 4E EA              4259        LD      C,(IX-22)\r
-    000063C8 DD 46 EB              4260        LD      B,(IX-21)\r
-    000063CB 09                    4261        ADD     HL,BC\r
-    000063CC 5E                    4262        LD      E,(HL)\r
-    000063CD 23                    4263        INC     HL\r
-    000063CE 56                    4264        LD      D,(HL)\r
-    000063CF 23                    4265        INC     HL\r
-    000063D0 4E                    4266        LD      C,(HL)\r
-    000063D1 23                    4267        INC     HL\r
-    000063D2 46                    4268        LD      B,(HL)\r
-    000063D3 EB                    4269        EX      DE,HL\r
-    000063D4 3E 18                 4270        LD      A,24\r
-    000063D6 CD F9 81              4271        CALL    LWRD ?SL_RSH_L03\r
-    000063D9 DD 75 F6              4272        LD      (IX-10),L\r
-    000063DC 21 06 00              4273        LD      HL,6\r
-    000063DF 39                    4274        ADD     HL,SP\r
-    000063E0 4D                    4275        LD      C,L\r
-    000063E1 44                    4276        LD      B,H\r
-    000063E2 DD 5E EC              4277        LD      E,(IX-20)\r
-    000063E5 DD 56 ED              4278        LD      D,(IX-19)\r
-    000063E8 3E 00                 4279        LD      A,BYTE3 screenbuilder\r
-    000063EA 21 D7 5E              4280        LD      HL,LWRD screenbuilder\r
-    000063ED CD 5E 81              4281        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000063F0 DD 4E EC              4282        LD      C,(IX-20)\r
-    000063F3 DD 46 ED              4283        LD      B,(IX-19)\r
-    000063F6 C5                    4284        PUSH    BC\r
-    000063F7 FD 5E 11              4285        LD      E,(IY+17)\r
-    000063FA FD 56 12              4286        LD      D,(IY+18)\r
-    000063FD FD 6E 11              4287        LD      L,(IY+17)\r
-    00006400 FD 66 12              4288        LD      H,(IY+18)\r
-    00006403 01 1D 00              4289        LD      BC,29\r
-    00006406 09                    4290        ADD     HL,BC\r
-    00006407 4E                    4291        LD      C,(HL)\r
-    00006408 23                    4292        INC     HL\r
-    00006409 46                    4293        LD      B,(HL)\r
-    0000640A 23                    4294        INC     HL\r
-    0000640B 7E                    4295        LD      A,(HL)\r
-    0000640C 69                    4296        LD      L,C\r
-    0000640D 60                    4297        LD      H,B\r
-    0000640E C1                    4298        POP     BC\r
-    0000640F CD 5E 81              4299        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006412                       4300 ?0290:\r
-    00006412 DD 6E EA              4301        LD      L,(IX-22)\r
-    00006415 DD 66 EB              4302        LD      H,(IX-21)\r
-    00006418 23                    4303        INC     HL\r
-    00006419 23                    4304        INC     HL\r
-    0000641A 23                    4305        INC     HL\r
-    0000641B 3E 04                 4306        LD      A,4\r
-    0000641D AE                    4307        XOR     (HL)\r
-    0000641E 23                    4308        INC     HL\r
-    0000641F B6                    4309        OR      (HL)\r
-    00006420 C2 B0 65              4310        JP      NZ,?0294\r
-    00006423                       4311 ?0293:\r
-    00006423 21 01 00              4312        LD      HL,1\r
-    00006426 E5                    4313        PUSH    HL\r
-    00006427 FD 6E 11              4314        LD      L,(IY+17)\r
-    0000642A FD 66 12              4315        LD      H,(IY+18)\r
-    0000642D 01 08 00              4316        LD      BC,8\r
-    00006430 09                    4317        ADD     HL,BC\r
-    00006431 46                    4318        LD      B,(HL)\r
-    00006432 23                    4319        INC     HL\r
-    00006433 66                    4320        LD      H,(HL)\r
-    00006434 68                    4321        LD      L,B\r
-    00006435 01 F6 FF              4322        LD      BC,65526\r
-    00006438 09                    4323        ADD     HL,BC\r
-    00006439 E5                    4324        PUSH    HL\r
-    0000643A FD 6E 11              4325        LD      L,(IY+17)\r
-    0000643D FD 66 12              4326        LD      H,(IY+18)\r
-    00006440 01 06 00              4327        LD      BC,6\r
-    00006443 09                    4328        ADD     HL,BC\r
-    00006444 46                    4329        LD      B,(HL)\r
-    00006445 23                    4330        INC     HL\r
-    00006446 66                    4331        LD      H,(HL)\r
-    00006447 68                    4332        LD      L,B\r
-    00006448 01 F6 FF              4333        LD      BC,65526\r
-    0000644B 09                    4334        ADD     HL,BC\r
-    0000644C E5                    4335        PUSH    HL\r
-    0000644D 01 05 00              4336        LD      BC,5\r
-    00006450 59                    4337        LD      E,C\r
-    00006451 50                    4338        LD      D,B\r
-    00006452 3E 00                 4339        LD      A,BYTE3 Dialog_new\r
-    00006454 21 E3 5A              4340        LD      HL,LWRD Dialog_new\r
-    00006457 CD 5E 81              4341        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000645A F1                    4342        POP     AF\r
-    0000645B F1                    4343        POP     AF\r
-    0000645C F1                    4344        POP     AF\r
-    0000645D DD 75 EC              4345        LD      (IX-20),L\r
-    00006460 DD 74 ED              4346        LD      (IX-19),H\r
-    00006463 01 0A 00              4347        LD      BC,10\r
-    00006466 09                    4348        ADD     HL,BC\r
-    00006467 36 03                 4349        LD      (HL),3\r
-    00006469 23                    4350        INC     HL\r
-    0000646A 36 10                 4351        LD      (HL),16\r
-    0000646C 21 0E 00              4352        LD      HL,14\r
-    0000646F DD 4E EC              4353        LD      C,(IX-20)\r
-    00006472 DD 46 ED              4354        LD      B,(IX-19)\r
-    00006475 09                    4355        ADD     HL,BC\r
-    00006476 36 30                 4356        LD      (HL),48\r
-    00006478 23                    4357        INC     HL\r
-    00006479 36 00                 4358        LD      (HL),0\r
-    0000647B AF                    4359        XOR     A\r
-    0000647C DD 77 FE              4360        LD      (IX-2),A\r
-    0000647F DD 77 FF              4361        LD      (IX-1),A\r
-    00006482                       4362 ?0296:\r
-    00006482 21 05 00              4363        LD      HL,5\r
-    00006485 DD 4E EA              4364        LD      C,(IX-22)\r
-    00006488 DD 46 EB              4365        LD      B,(IX-21)\r
-    0000648B 09                    4366        ADD     HL,BC\r
-    0000648C 5E                    4367        LD      E,(HL)\r
-    0000648D 23                    4368        INC     HL\r
-    0000648E 56                    4369        LD      D,(HL)\r
-    0000648F 06 0C                 4370        LD      B,12\r
-    00006491 CD 2E 82              4371        CALL    LWRD ?SS_RSH_L02\r
-    00006494 4B                    4372        LD      C,E\r
-    00006495 42                    4373        LD      B,D\r
-    00006496 DD 6E FE              4374        LD      L,(IX-2)\r
-    00006499 DD 66 FF              4375        LD      H,(IX-1)\r
-    0000649C CD A6 81              4376        CALL    LWRD ?SS_CMP_L02\r
-    0000649F 30 04                 4377        JR      NC,?0367\r
-    000064A1 3E 01                 4378        LD      A,1\r
-    000064A3 18 01                 4379        JR      ?0368\r
-    000064A5                       4380 ?0367:\r
-    000064A5 AF                    4381        XOR     A\r
-    000064A6                       4382 ?0368:\r
-    000064A6 E6 0F                 4383        AND     15\r
-    000064A8 CA 44 65              4384        JP      Z,?0295\r
-    000064AB                       4385 ?0297:\r
-    000064AB 21 05 00              4386        LD      HL,5\r
-    000064AE DD 4E EA              4387        LD      C,(IX-22)\r
-    000064B1 DD 46 EB              4388        LD      B,(IX-21)\r
-    000064B4 09                    4389        ADD     HL,BC\r
-    000064B5 46                    4390        LD      B,(HL)\r
-    000064B6 23                    4391        INC     HL\r
-    000064B7 7E                    4392        LD      A,(HL)\r
-    000064B8 68                    4393        LD      L,B\r
-    000064B9 E6 0F                 4394        AND     15\r
-    000064BB 67                    4395        LD      H,A\r
-    000064BC DD 4E FE              4396        LD      C,(IX-2)\r
-    000064BF DD 46 FF              4397        LD      B,(IX-1)\r
-    000064C2 09                    4398        ADD     HL,BC\r
-    000064C3 29                    4399        ADD     HL,HL\r
-    000064C4 E5                    4400        PUSH    HL\r
-    000064C5 21 08 00              4401        LD      HL,8\r
-    000064C8 ED 5B C0 86           4402        LD      DE,(global)\r
-    000064CC 19                    4403        ADD     HL,DE\r
-    000064CD 5E                    4404        LD      E,(HL)\r
-    000064CE 23                    4405        INC     HL\r
-    000064CF 56                    4406        LD      D,(HL)\r
-    000064D0 E1                    4407        POP     HL\r
-    000064D1 19                    4408        ADD     HL,DE\r
-    000064D2 2B                    4409        DEC     HL\r
-    000064D3 2B                    4410        DEC     HL\r
-    000064D4 5E                    4411        LD      E,(HL)\r
-    000064D5 23                    4412        INC     HL\r
-    000064D6 56                    4413        LD      D,(HL)\r
-    000064D7 D5                    4414        PUSH    DE\r
-    000064D8 21 10 00              4415        LD      HL,16\r
-    000064DB E5                    4416        PUSH    HL\r
-    000064DC 2E 06                 4417        LD      L,6\r
-    000064DE DD 5E EC              4418        LD      E,(IX-20)\r
-    000064E1 DD 56 ED              4419        LD      D,(IX-19)\r
-    000064E4 19                    4420        ADD     HL,DE\r
-    000064E5 6E                    4421        LD      L,(HL)\r
-    000064E6 26 00                 4422        LD      H,0\r
-    000064E8 01 F0 FF              4423        LD      BC,65520\r
-    000064EB 09                    4424        ADD     HL,BC\r
-    000064EC E5                    4425        PUSH    HL\r
-    000064ED DD 6E FE              4426        LD      L,(IX-2)\r
-    000064F0 DD 66 FF              4427        LD      H,(IX-1)\r
-    000064F3 29                    4428        ADD     HL,HL\r
-    000064F4 29                    4429        ADD     HL,HL\r
-    000064F5 4D                    4430        LD      C,L\r
-    000064F6 44                    4431        LD      B,H\r
-    000064F7 29                    4432        ADD     HL,HL\r
-    000064F8 09                    4433        ADD     HL,BC\r
-    000064F9 01 14 00              4434        LD      BC,20\r
-    000064FC 09                    4435        ADD     HL,BC\r
-    000064FD 4D                    4436        LD      C,L\r
-    000064FE 44                    4437        LD      B,H\r
-    000064FF 11 08 00              4438        LD      DE,8\r
-    00006502 3E 00                 4439        LD      A,BYTE3 Label_new\r
-    00006504 21 60 5E              4440        LD      HL,LWRD Label_new\r
-    00006507 CD 5E 81              4441        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000650A F1                    4442        POP     AF\r
-    0000650B F1                    4443        POP     AF\r
-    0000650C F1                    4444        POP     AF\r
-    0000650D DD 75 FC              4445        LD      (IX-4),L\r
-    00006510 DD 74 FD              4446        LD      (IX-3),H\r
-    00006513 01 0E 00              4447        LD      BC,14\r
-    00006516 09                    4448        ADD     HL,BC\r
-    00006517 36 30                 4449        LD      (HL),48\r
-    00006519 23                    4450        INC     HL\r
-    0000651A 70                    4451        LD      (HL),B\r
-    0000651B DD 4E FC              4452        LD      C,(IX-4)\r
-    0000651E DD 46 FD              4453        LD      B,(IX-3)\r
-    00006521 C5                    4454        PUSH    BC\r
-    00006522 DD 5E EC              4455        LD      E,(IX-20)\r
-    00006525 4B                    4456        LD      C,E\r
-    00006526 DD 56 ED              4457        LD      D,(IX-19)\r
-    00006529 42                    4458        LD      B,D\r
-    0000652A 21 1D 00              4459        LD      HL,29\r
-    0000652D 09                    4460        ADD     HL,BC\r
-    0000652E 4E                    4461        LD      C,(HL)\r
-    0000652F 23                    4462        INC     HL\r
-    00006530 46                    4463        LD      B,(HL)\r
-    00006531 23                    4464        INC     HL\r
-    00006532 7E                    4465        LD      A,(HL)\r
-    00006533 69                    4466        LD      L,C\r
-    00006534 60                    4467        LD      H,B\r
-    00006535 C1                    4468        POP     BC\r
-    00006536 CD 5E 81              4469        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006539 DD 34 FE              4470        INC     (IX-2)\r
-    0000653C 20 03                 4471        JR      NZ,?0369\r
-    0000653E DD 34 FF              4472        INC     (IX-1)\r
-    00006541                       4473 ?0369:\r
-    00006541 C3 82 64              4474        JP      LWRD ?0296\r
-    00006544                       4475 ?0295:\r
-    00006544 01 CA 84              4476        LD      BC,?0299\r
-    00006547 DD 5E EC              4477        LD      E,(IX-20)\r
-    0000654A DD 56 ED              4478        LD      D,(IX-19)\r
-    0000654D 3E 00                 4479        LD      A,BYTE3 Component_setlabel\r
-    0000654F 21 22 4C              4480        LD      HL,LWRD Component_setlabel\r
-    00006552 CD 5E 81              4481        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006555 01 FF 00              4482        LD      BC,255\r
-    00006558 CD D1 65              4483        CALL    LWRD ?0476\r
-    0000655B 01 0E 00              4484        LD      BC,14\r
-    0000655E 09                    4485        ADD     HL,BC\r
-    0000655F 36 30                 4486        LD      (HL),48\r
-    00006561 23                    4487        INC     HL\r
-    00006562 70                    4488        LD      (HL),B\r
-    00006563 0E FE                 4489        LD      C,254\r
-    00006565 CD D1 65              4490        CALL    LWRD ?0476\r
-    00006568 EB                    4491        EX      DE,HL\r
-    00006569 CD 58 4F              4492        CALL    LWRD ?0453\r
-    0000656C DD 4E EC              4493        LD      C,(IX-20)\r
-    0000656F DD 46 ED              4494        LD      B,(IX-19)\r
-    00006572 C5                    4495        PUSH    BC\r
-    00006573 FD 5E 11              4496        LD      E,(IY+17)\r
-    00006576 FD 56 12              4497        LD      D,(IY+18)\r
-    00006579 FD 6E 11              4498        LD      L,(IY+17)\r
-    0000657C FD 66 12              4499        LD      H,(IY+18)\r
-    0000657F 01 1D 00              4500        LD      BC,29\r
-    00006582 09                    4501        ADD     HL,BC\r
-    00006583 4E                    4502        LD      C,(HL)\r
-    00006584 23                    4503        INC     HL\r
-    00006585 46                    4504        LD      B,(HL)\r
-    00006586 23                    4505        INC     HL\r
-    00006587 7E                    4506        LD      A,(HL)\r
-    00006588 69                    4507        LD      L,C\r
-    00006589 60                    4508        LD      H,B\r
-    0000658A C1                    4509        POP     BC\r
-    0000658B CD 5E 81              4510        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000658E 21 00 00              4511        LD      HL,0\r
-    00006591 E5                    4512        PUSH    HL\r
-    00006592 FD 5E 11              4513        LD      E,(IY+17)\r
-    00006595 FD 56 12              4514        LD      D,(IY+18)\r
-    00006598 FD 6E 11              4515        LD      L,(IY+17)\r
-    0000659B FD 66 12              4516        LD      H,(IY+18)\r
-    0000659E 01 17 00              4517        LD      BC,23\r
-    000065A1 09                    4518        ADD     HL,BC\r
-    000065A2 4E                    4519        LD      C,(HL)\r
-    000065A3 23                    4520        INC     HL\r
-    000065A4 46                    4521        LD      B,(HL)\r
-    000065A5 23                    4522        INC     HL\r
-    000065A6 7E                    4523        LD      A,(HL)\r
-    000065A7 69                    4524        LD      L,C\r
-    000065A8 60                    4525        LD      H,B\r
-    000065A9 01 03 01              4526        LD      BC,259\r
-    000065AC CD 5E 81              4527        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000065AF E1                    4528        POP     HL\r
-    000065B0                       4529 ?0294:\r
-    000065B0 21 10 00              4530        LD      HL,16\r
-    000065B3 ED 4B C0 86           4531        LD      BC,(global)\r
-    000065B7 09                    4532        ADD     HL,BC\r
-    000065B8 7E                    4533        LD      A,(HL)\r
-    000065B9 23                    4534        INC     HL\r
-    000065BA B6                    4535        OR      (HL)\r
-    000065BB 23                    4536        INC     HL\r
-    000065BC B6                    4537        OR      (HL)\r
-    000065BD 28 0D                 4538        JR      Z,?0301\r
-    000065BF                       4539 ?0300:\r
-    000065BF FD E5                 4540        PUSH    IY\r
-    000065C1 D1                    4541        POP     DE\r
-    000065C2 21 10 00              4542        LD      HL,16\r
-    000065C5 ED 4B C0 86           4543        LD      BC,(global)\r
-    000065C9 CD 5D 53              4544        CALL    LWRD ?0475\r
-    000065CC                       4545 ?0301:\r
-    000065CC FD E1                 4546        POP     IY\r
-    000065CE C3 1F 81              4547        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000065D1                       4548 ?0476:\r
-    000065D1 DD 5E EC              4549        LD      E,(IX-20)\r
-    000065D4 DD 56 ED              4550        LD      D,(IX-19)\r
-    000065D7 3E 00                 4551        LD      A,BYTE3 Component_find\r
-    000065D9 21 57 4D              4552        LD      HL,LWRD Component_find\r
-    000065DC C3 5E 81              4553        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    000065DF                       4554 read_stringtable:\r
-    000065DF CD 88 81              4555        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    000065E2 F8 FF                 4556        DEFW    -8\r
-    000065E4 FD E5                 4557        PUSH    IY\r
-    000065E6 03                    4558        INC     BC\r
-    000065E7 0A                    4559        LD      A,(BC)\r
-    000065E8 DD 77 FE              4560        LD      (IX-2),A\r
-    000065EB 03                    4561        INC     BC\r
-    000065EC 0A                    4562        LD      A,(BC)\r
-    000065ED DD 77 FF              4563        LD      (IX-1),A\r
-    000065F0 03                    4564        INC     BC\r
-    000065F1 69                    4565        LD      L,C\r
-    000065F2 60                    4566        LD      H,B\r
-    000065F3 4E                    4567        LD      C,(HL)\r
-    000065F4 DD 71 FC              4568        LD      (IX-4),C\r
-    000065F7 23                    4569        INC     HL\r
-    000065F8 46                    4570        LD      B,(HL)\r
-    000065F9 DD 70 FD              4571        LD      (IX-3),B\r
-    000065FC DD 6E FE              4572        LD      L,(IX-2)\r
-    000065FF 67                    4573        LD      H,A\r
-    00006600 29                    4574        ADD     HL,HL\r
-    00006601 EB                    4575        EX      DE,HL\r
-    00006602 CD 8F 62              4576        CALL    LWRD ?0454\r
-    00006605 DD 75 FA              4577        LD      (IX-6),L\r
-    00006608 DD 74 FB              4578        LD      (IX-5),H\r
-    0000660B 59                    4579        LD      E,C\r
-    0000660C 50                    4580        LD      D,B\r
-    0000660D CD 97 4A              4581        CALL    LWRD ?0447\r
-    00006610 C5                    4582        PUSH    BC\r
-    00006611 4D                    4583        LD      C,L\r
-    00006612 44                    4584        LD      B,H\r
-    00006613 DD 5E 02              4585        LD      E,(IX+2)\r
-    00006616 DD 56 03              4586        LD      D,(IX+3)\r
-    00006619 CD 87 62              4587        CALL    LWRD ?0441\r
-    0000661C F1                    4588        POP     AF\r
-    0000661D 11 00 00              4589        LD      DE,0\r
-    00006620 AF                    4590        XOR     A\r
-    00006621 DD 77 F8              4591        LD      (IX-8),A\r
-    00006624 DD 77 F9              4592        LD      (IX-7),A\r
-    00006627                       4593 ?0303:\r
-    00006627 DD 4E FC              4594        LD      C,(IX-4)\r
-    0000662A DD 46 FD              4595        LD      B,(IX-3)\r
-    0000662D 6B                    4596        LD      L,E\r
-    0000662E 62                    4597        LD      H,D\r
-    0000662F CD A6 81              4598        CALL    LWRD ?SS_CMP_L02\r
-    00006632 30 35                 4599        JR      NC,?0302\r
-    00006634 CD A5 66              4600        CALL    LWRD ?0479\r
-    00006637 30 30                 4601        JR      NC,?0302\r
-    00006639                       4602 ?0306:\r
-    00006639                       4603 ?0305:\r
-    00006639                       4604 ?0304:\r
-    00006639 23                    4605        INC     HL\r
-    0000663A DD 75 F8              4606        LD      (IX-8),L\r
-    0000663D DD 74 F9              4607        LD      (IX-7),H\r
-    00006640 2B                    4608        DEC     HL\r
-    00006641 29                    4609        ADD     HL,HL\r
-    00006642 DD 4E FA              4610        LD      C,(IX-6)\r
-    00006645 DD 46 FB              4611        LD      B,(IX-5)\r
-    00006648 09                    4612        ADD     HL,BC\r
-    00006649 E5                    4613        PUSH    HL\r
-    0000664A FD E5                 4614        PUSH    IY\r
-    0000664C E1                    4615        POP     HL\r
-    0000664D 19                    4616        ADD     HL,DE\r
-    0000664E 4D                    4617        LD      C,L\r
-    0000664F 44                    4618        LD      B,H\r
-    00006650 E1                    4619        POP     HL\r
-    00006651 71                    4620        LD      (HL),C\r
-    00006652 23                    4621        INC     HL\r
-    00006653 70                    4622        LD      (HL),B\r
-    00006654                       4623 ?0308:\r
-    00006654 FD E5                 4624        PUSH    IY\r
-    00006656 E1                    4625        POP     HL\r
-    00006657 19                    4626        ADD     HL,DE\r
-    00006658 7E                    4627        LD      A,(HL)\r
-    00006659 B7                    4628        OR      A\r
-    0000665A 28 03                 4629        JR      Z,?0307\r
-    0000665C                       4630 ?0309:\r
-    0000665C 13                    4631        INC     DE\r
-    0000665D 18 F5                 4632        JR      ?0308\r
-    0000665F                       4633 ?0307:\r
-    0000665F 6B                    4634        LD      L,E\r
-    00006660 62                    4635        LD      H,D\r
-    00006661 13                    4636        INC     DE\r
-    00006662 FD E5                 4637        PUSH    IY\r
-    00006664 C1                    4638        POP     BC\r
-    00006665 09                    4639        ADD     HL,BC\r
-    00006666 77                    4640        LD      (HL),A\r
-    00006667 18 BE                 4641        JR      ?0303\r
-    00006669                       4642 ?0302:\r
-    00006669 CD A5 66              4643        CALL    LWRD ?0479\r
-    0000666C 30 13                 4644        JR      NC,?0311\r
-    0000666E                       4645 ?0310:\r
-    0000666E 29                    4646        ADD     HL,HL\r
-    0000666F DD 4E FA              4647        LD      C,(IX-6)\r
-    00006672 DD 46 FB              4648        LD      B,(IX-5)\r
-    00006675 09                    4649        ADD     HL,BC\r
-    00006676 E5                    4650        PUSH    HL\r
-    00006677 FD E5                 4651        PUSH    IY\r
-    00006679 E1                    4652        POP     HL\r
-    0000667A 19                    4653        ADD     HL,DE\r
-    0000667B 4D                    4654        LD      C,L\r
-    0000667C 44                    4655        LD      B,H\r
-    0000667D E1                    4656        POP     HL\r
-    0000667E 71                    4657        LD      (HL),C\r
-    0000667F 23                    4658        INC     HL\r
-    00006680 70                    4659        LD      (HL),B\r
-    00006681                       4660 ?0311:\r
-    00006681 21 06 00              4661        LD      HL,6\r
-    00006684 ED 4B C0 86           4662        LD      BC,(global)\r
-    00006688 09                    4663        ADD     HL,BC\r
-    00006689 FD E5                 4664        PUSH    IY\r
-    0000668B C1                    4665        POP     BC\r
-    0000668C 71                    4666        LD      (HL),C\r
-    0000668D 23                    4667        INC     HL\r
-    0000668E 70                    4668        LD      (HL),B\r
-    0000668F 21 08 00              4669        LD      HL,8\r
-    00006692 ED 4B C0 86           4670        LD      BC,(global)\r
-    00006696 09                    4671        ADD     HL,BC\r
-    00006697 DD 4E FA              4672        LD      C,(IX-6)\r
-    0000669A 71                    4673        LD      (HL),C\r
-    0000669B DD 46 FB              4674        LD      B,(IX-5)\r
-    0000669E 23                    4675        INC     HL\r
-    0000669F 70                    4676        LD      (HL),B\r
-    000066A0 FD E1                 4677        POP     IY\r
-    000066A2 C3 1F 81              4678        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-    000066A5                       4679 ?0479:\r
-    000066A5 DD 4E FE              4680        LD      C,(IX-2)\r
-    000066A8 DD 46 FF              4681        LD      B,(IX-1)\r
-    000066AB DD 6E F8              4682        LD      L,(IX-8)\r
-    000066AE DD 66 F9              4683        LD      H,(IX-7)\r
-    000066B1 C3 A6 81              4684        JP      LWRD ?SS_CMP_L02\r
-    000066B4                       4685 gui_globals:\r
-    000066B4 2A C0 86              4686        LD      HL,(global)\r
-    000066B7 C3 25 81              4687        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000066BA                       4688 GUIinit:\r
-    000066BA C5                    4689        PUSH    BC\r
-    000066BB D5                    4690        PUSH    DE\r
-    000066BC 11 13 00              4691        LD      DE,19\r
-    000066BF CD 8F 62              4692        CALL    LWRD ?0454\r
-    000066C2 22 C0 86              4693        LD      (global),HL\r
-    000066C5 AF                    4694        XOR     A\r
-    000066C6 77                    4695        LD      (HL),A\r
-    000066C7 23                    4696        INC     HL\r
-    000066C8 77                    4697        LD      (HL),A\r
-    000066C9 21 04 00              4698        LD      HL,4\r
-    000066CC ED 4B C0 86           4699        LD      BC,(global)\r
-    000066D0 09                    4700        ADD     HL,BC\r
-    000066D1 77                    4701        LD      (HL),A\r
-    000066D2 23                    4702        INC     HL\r
-    000066D3 77                    4703        LD      (HL),A\r
-    000066D4 21 0A 00              4704        LD      HL,10\r
-    000066D7 ED 4B C0 86           4705        LD      BC,(global)\r
-    000066DB 09                    4706        ADD     HL,BC\r
-    000066DC 77                    4707        LD      (HL),A\r
-    000066DD 23                    4708        INC     HL\r
-    000066DE 77                    4709        LD      (HL),A\r
-    000066DF 21 0C 00              4710        LD      HL,12\r
-    000066E2 ED 4B C0 86           4711        LD      BC,(global)\r
-    000066E6 09                    4712        ADD     HL,BC\r
-    000066E7 77                    4713        LD      (HL),A\r
-    000066E8 23                    4714        INC     HL\r
-    000066E9 77                    4715        LD      (HL),A\r
-    000066EA 21 08 00              4716        LD      HL,8\r
-    000066ED ED 4B C0 86           4717        LD      BC,(global)\r
-    000066F1 09                    4718        ADD     HL,BC\r
-    000066F2 77                    4719        LD      (HL),A\r
-    000066F3 23                    4720        INC     HL\r
-    000066F4 77                    4721        LD      (HL),A\r
-    000066F5 21 06 00              4722        LD      HL,6\r
-    000066F8 ED 4B C0 86           4723        LD      BC,(global)\r
-    000066FC 09                    4724        ADD     HL,BC\r
-    000066FD 77                    4725        LD      (HL),A\r
-    000066FE 23                    4726        INC     HL\r
-    000066FF 77                    4727        LD      (HL),A\r
-    00006700 21 10 00              4728        LD      HL,16\r
-    00006703 ED 4B C0 86           4729        LD      BC,(global)\r
-    00006707 09                    4730        ADD     HL,BC\r
-    00006708 77                    4731        LD      (HL),A\r
-    00006709 23                    4732        INC     HL\r
-    0000670A 77                    4733        LD      (HL),A\r
-    0000670B 23                    4734        INC     HL\r
-    0000670C 77                    4735        LD      (HL),A\r
-    0000670D 3E 00                 4736        LD      A,BYTE3 GraphicsOpen\r
-    0000670F 21 C9 45              4737        LD      HL,LWRD GraphicsOpen\r
-    00006712 CD 5E 81              4738        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006715 21 00 00              4739        LD      HL,0\r
-    00006718 E5                    4740        PUSH    HL\r
-    00006719 E5                    4741        PUSH    HL\r
-    0000671A 0E 00                 4742        LD      C,BYTE3 stringheight01\r
-    0000671C C5                    4743        PUSH    BC\r
-    0000671D 21 39 4B              4744        LD      HL,LWRD stringheight01\r
-    00006720 E5                    4745        PUSH    HL\r
-    00006721 0E 00                 4746        LD      C,BYTE3 stringwidth0\r
-    00006723 C5                    4747        PUSH    BC\r
-    00006724 21 55 4B              4748        LD      HL,LWRD stringwidth0\r
-    00006727 E5                    4749        PUSH    HL\r
-    00006728 11 30 00              4750        LD      DE,48\r
-    0000672B CD D9 67              4751        CALL    LWRD ?0484\r
-    0000672E 21 0C 00              4752        LD      HL,12\r
-    00006731 39                    4753        ADD     HL,SP\r
-    00006732 F9                    4754        LD      SP,HL\r
-    00006733 21 00 00              4755        LD      HL,0\r
-    00006736 E5                    4756        PUSH    HL\r
-    00006737 E5                    4757        PUSH    HL\r
-    00006738 0E 00                 4758        LD      C,BYTE3 stringheight01\r
-    0000673A C5                    4759        PUSH    BC\r
-    0000673B 21 39 4B              4760        LD      HL,LWRD stringheight01\r
-    0000673E E5                    4761        PUSH    HL\r
-    0000673F 0E 00                 4762        LD      C,BYTE3 stringwidth1\r
-    00006741 C5                    4763        PUSH    BC\r
-    00006742 21 66 4B              4764        LD      HL,LWRD stringwidth1\r
-    00006745 E5                    4765        PUSH    HL\r
-    00006746 11 31 00              4766        LD      DE,49\r
-    00006749 CD D9 67              4767        CALL    LWRD ?0484\r
-    0000674C 21 0C 00              4768        LD      HL,12\r
-    0000674F 39                    4769        ADD     HL,SP\r
-    00006750 F9                    4770        LD      SP,HL\r
-    00006751 21 00 00              4771        LD      HL,0\r
-    00006754 E5                    4772        PUSH    HL\r
-    00006755 E5                    4773        PUSH    HL\r
-    00006756 0E 00                 4774        LD      C,BYTE3 stringheight2\r
-    00006758 C5                    4775        PUSH    BC\r
-    00006759 21 4C 4B              4776        LD      HL,LWRD stringheight2\r
-    0000675C E5                    4777        PUSH    HL\r
-    0000675D 0E 00                 4778        LD      C,BYTE3 stringwidth2\r
-    0000675F C5                    4779        PUSH    BC\r
-    00006760 21 6F 4B              4780        LD      HL,LWRD stringwidth2\r
-    00006763 E5                    4781        PUSH    HL\r
-    00006764 11 32 00              4782        LD      DE,50\r
-    00006767 CD D9 67              4783        CALL    LWRD ?0484\r
-    0000676A 21 0C 00              4784        LD      HL,12\r
-    0000676D 39                    4785        ADD     HL,SP\r
-    0000676E F9                    4786        LD      SP,HL\r
-    0000676F 21 0E 00              4787        LD      HL,14\r
-    00006772 ED 4B C0 86           4788        LD      BC,(global)\r
-    00006776 09                    4789        ADD     HL,BC\r
-    00006777 E5                    4790        PUSH    HL\r
-    00006778 11 80 00              4791        LD      DE,128\r
-    0000677B D5                    4792        PUSH    DE\r
-    0000677C 5A                    4793        LD      E,D\r
-    0000677D D5                    4794        PUSH    DE\r
-    0000677E 4B                    4795        LD      C,E\r
-    0000677F 42                    4796        LD      B,D\r
-    00006780 3E 00                 4797        LD      A,BYTE3 Window_new\r
-    00006782 21 3A 55              4798        LD      HL,LWRD Window_new\r
-    00006785 CD 5E 81              4799        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006788 F1                    4800        POP     AF\r
-    00006789 F1                    4801        POP     AF\r
-    0000678A 4D                    4802        LD      C,L\r
-    0000678B 44                    4803        LD      B,H\r
-    0000678C E1                    4804        POP     HL\r
-    0000678D 71                    4805        LD      (HL),C\r
-    0000678E 23                    4806        INC     HL\r
-    0000678F 70                    4807        LD      (HL),B\r
-    00006790 21 0E 00              4808        LD      HL,14\r
-    00006793 ED 4B C0 86           4809        LD      BC,(global)\r
-    00006797 09                    4810        ADD     HL,BC\r
-    00006798 56                    4811        LD      D,(HL)\r
-    00006799 23                    4812        INC     HL\r
-    0000679A 66                    4813        LD      H,(HL)\r
-    0000679B 6A                    4814        LD      L,D\r
-    0000679C 11 0A 00              4815        LD      DE,10\r
-    0000679F 19                    4816        ADD     HL,DE\r
-    000067A0 36 01                 4817        LD      (HL),1\r
-    000067A2 23                    4818        INC     HL\r
-    000067A3 72                    4819        LD      (HL),D\r
-    000067A4 21 0E 00              4820        LD      HL,14\r
-    000067A7 ED 4B C0 86           4821        LD      BC,(global)\r
-    000067AB 09                    4822        ADD     HL,BC\r
-    000067AC 56                    4823        LD      D,(HL)\r
-    000067AD 23                    4824        INC     HL\r
-    000067AE 66                    4825        LD      H,(HL)\r
-    000067AF 6A                    4826        LD      L,D\r
-    000067B0 11 17 00              4827        LD      DE,23\r
-    000067B3 19                    4828        ADD     HL,DE\r
-    000067B4 36 B9                 4829        LD      (HL),LOW(rootWindow_handler)\r
-    000067B6 23                    4830        INC     HL\r
-    000067B7 36 5E                 4831        LD      (HL),HIGH(rootWindow_handler)\r
-    000067B9 23                    4832        INC     HL\r
-    000067BA 36 00                 4833        LD      (HL),BYTE3 rootWindow_handler\r
-    000067BC 21 0E 00              4834        LD      HL,14\r
-    000067BF ED 4B C0 86           4835        LD      BC,(global)\r
-    000067C3 09                    4836        ADD     HL,BC\r
-    000067C4 46                    4837        LD      B,(HL)\r
-    000067C5 23                    4838        INC     HL\r
-    000067C6 66                    4839        LD      H,(HL)\r
-    000067C7 68                    4840        LD      L,B\r
-    000067C8 01 1A 00              4841        LD      BC,26\r
-    000067CB 09                    4842        ADD     HL,BC\r
-    000067CC 36 F5                 4843        LD      (HL),LOW(Root_paint)\r
-    000067CE 23                    4844        INC     HL\r
-    000067CF 36 54                 4845        LD      (HL),HIGH(Root_paint)\r
-    000067D1 23                    4846        INC     HL\r
-    000067D2 36 00                 4847        LD      (HL),BYTE3 Root_paint\r
-    000067D4 D1                    4848        POP     DE\r
-    000067D5 C1                    4849        POP     BC\r
-    000067D6 C3 25 81              4850        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    000067D9                       4851 ?0484:\r
-    000067D9 3E 00                 4852        LD      A,BYTE3 loadFont\r
-    000067DB 21 FC 49              4853        LD      HL,LWRD loadFont\r
-    000067DE C3 5E 81              4854        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-    000067E1                       4855 GUIunit:\r
-    000067E1 C5                    4856        PUSH    BC\r
-    000067E2 D5                    4857        PUSH    DE\r
-    000067E3 21 0E 00              4858        LD      HL,14\r
-    000067E6 ED 4B C0 86           4859        LD      BC,(global)\r
-    000067EA 09                    4860        ADD     HL,BC\r
-    000067EB 5E                    4861        LD      E,(HL)\r
-    000067EC 23                    4862        INC     HL\r
-    000067ED 56                    4863        LD      D,(HL)\r
-    000067EE CD 58 4F              4864        CALL    LWRD ?0453\r
-    000067F1 3E 00                 4865        LD      A,BYTE3 ClearScreen\r
-    000067F3 21 86 48              4866        LD      HL,LWRD ClearScreen\r
-    000067F6 CD 5E 81              4867        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000067F9 3E 00                 4868        LD      A,BYTE3 GraphicsClose\r
-    000067FB 21 57 46              4869        LD      HL,LWRD GraphicsClose\r
-    000067FE CD 5E 81              4870        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006801 D1                    4871        POP     DE\r
-    00006802 C1                    4872        POP     BC\r
-    00006803 C3 25 81              4873        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-    00006806                       4874 GUIgo:\r
-    00006806 CD 88 81              4875        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-    00006809 FE FF                 4876        DEFW    65534\r
-    0000680B DD 4E 02              4877        LD      C,(IX+2)\r
-    0000680E DD 46 03              4878        LD      B,(IX+3)\r
-    00006811 21 0E 00              4879        LD      HL,14\r
-    00006814 ED 5B C0 86           4880        LD      DE,(global)\r
-    00006818 19                    4881        ADD     HL,DE\r
-    00006819 5E                    4882        LD      E,(HL)\r
-    0000681A 23                    4883        INC     HL\r
-    0000681B 56                    4884        LD      D,(HL)\r
-    0000681C 3E 00                 4885        LD      A,BYTE3 screenbuilder\r
-    0000681E 21 D7 5E              4886        LD      HL,LWRD screenbuilder\r
-    00006821 CD 5E 81              4887        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    00006824                       4888 ?0313:\r
-    00006824 21 04 00              4889        LD      HL,4\r
-    00006827 ED 4B C0 86           4890        LD      BC,(global)\r
-    0000682B 09                    4891        ADD     HL,BC\r
-    0000682C 7E                    4892        LD      A,(HL)\r
-    0000682D 23                    4893        INC     HL\r
-    0000682E B6                    4894        OR      (HL)\r
-    0000682F C2 C4 68              4895        JP      NZ,?0312\r
-    00006832                       4896 ?0314:\r
-    00006832 21 01 00              4897        LD      HL,1\r
-    00006835 E5                    4898        PUSH    HL\r
-    00006836 23                    4899        INC     HL\r
-    00006837 39                    4900        ADD     HL,SP\r
-    00006838 4D                    4901        LD      C,L\r
-    00006839 44                    4902        LD      B,H\r
-    0000683A 2A C0 86              4903        LD      HL,(global)\r
-    0000683D 23                    4904        INC     HL\r
-    0000683E 23                    4905        INC     HL\r
-    0000683F 5E                    4906        LD      E,(HL)\r
-    00006840 23                    4907        INC     HL\r
-    00006841 56                    4908        LD      D,(HL)\r
-    00006842 CD 87 62              4909        CALL    LWRD ?0441\r
-    00006845 F1                    4910        POP     AF\r
-    00006846 3E 01                 4911        LD      A,1\r
-    00006848 AD                    4912        XOR     L\r
-    00006849 B4                    4913        OR      H\r
-    0000684A 20 D8                 4914        JR      NZ,?0313\r
-    0000684C                       4915 ?0315:\r
-    0000684C DD 4E FE              4916        LD      C,(IX-2)\r
-    0000684F 47                    4917        LD      B,A\r
-    00006850 C5                    4918        PUSH    BC\r
-    00006851 21 D6 84              4919        LD      HL,?0317\r
-    00006854 E5                    4920        PUSH    HL\r
-    00006855 3E 00                 4921        LD      A,BYTE3 printf\r
-    00006857 21 0A 6E              4922        LD      HL,LWRD printf\r
-    0000685A CD 5E 81              4923        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    0000685D F1                    4924        POP     AF\r
-    0000685E F1                    4925        POP     AF\r
-    0000685F AF                    4926        XOR     A\r
-    00006860 DD B6 FE              4927        OR      (IX-2)\r
-    00006863 28 29                 4928        JR      Z,?0319\r
-    00006865                       4929 ?0318:\r
-    00006865 4F                    4930        LD      C,A\r
-    00006866 C5                    4931        PUSH    BC\r
-    00006867 21 0E 00              4932        LD      HL,14\r
-    0000686A ED 5B C0 86           4933        LD      DE,(global)\r
-    0000686E 19                    4934        ADD     HL,DE\r
-    0000686F 5E                    4935        LD      E,(HL)\r
-    00006870 23                    4936        INC     HL\r
-    00006871 56                    4937        LD      D,(HL)\r
-    00006872 21 0E 00              4938        LD      HL,14\r
-    00006875 ED 4B C0 86           4939        LD      BC,(global)\r
-    00006879 09                    4940        ADD     HL,BC\r
-    0000687A 46                    4941        LD      B,(HL)\r
-    0000687B 23                    4942        INC     HL\r
-    0000687C 66                    4943        LD      H,(HL)\r
-    0000687D 68                    4944        LD      L,B\r
-    0000687E 01 17 00              4945        LD      BC,23\r
-    00006881 09                    4946        ADD     HL,BC\r
-    00006882 4E                    4947        LD      C,(HL)\r
-    00006883 23                    4948        INC     HL\r
-    00006884 46                    4949        LD      B,(HL)\r
-    00006885 23                    4950        INC     HL\r
-    00006886 7E                    4951        LD      A,(HL)\r
-    00006887 69                    4952        LD      L,C\r
-    00006888 60                    4953        LD      H,B\r
-    00006889 01 01 00              4954        LD      BC,1\r
-    0000688C 18 29                 4955        JR      ?0370\r
-    0000688E                       4956 ?0319:\r
-    0000688E DD 4E FF              4957        LD      C,(IX-1)\r
-    00006891 C5                    4958        PUSH    BC\r
-    00006892 21 0E 00              4959        LD      HL,14\r
-    00006895 ED 5B C0 86           4960        LD      DE,(global)\r
-    00006899 19                    4961        ADD     HL,DE\r
-    0000689A 5E                    4962        LD      E,(HL)\r
-    0000689B 23                    4963        INC     HL\r
-    0000689C 56                    4964        LD      D,(HL)\r
-    0000689D 21 0E 00              4965        LD      HL,14\r
-    000068A0 ED 4B C0 86           4966        LD      BC,(global)\r
-    000068A4 09                    4967        ADD     HL,BC\r
-    000068A5 46                    4968        LD      B,(HL)\r
-    000068A6 23                    4969        INC     HL\r
-    000068A7 66                    4970        LD      H,(HL)\r
-    000068A8 68                    4971        LD      L,B\r
-    000068A9 01 17 00              4972        LD      BC,23\r
-    000068AC 09                    4973        ADD     HL,BC\r
-    000068AD 4E                    4974        LD      C,(HL)\r
-    000068AE 23                    4975        INC     HL\r
-    000068AF 46                    4976        LD      B,(HL)\r
-    000068B0 23                    4977        INC     HL\r
-    000068B1 7E                    4978        LD      A,(HL)\r
-    000068B2 69                    4979        LD      L,C\r
-    000068B3 60                    4980        LD      H,B\r
-    000068B4 01 02 00              4981        LD      BC,2\r
-    000068B7                       4982 ?0370:\r
-    000068B7 CD 5E 81              4983        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-    000068BA E1                    4984        POP     HL\r
-    000068BB                       4985 ?0320:\r
-    000068BB DD 46 FE              4986        LD      B,(IX-2)\r
-    000068BE DD 70 FF              4987        LD      (IX-1),B\r
-    000068C1                       4988 ?0316:\r
-    000068C1 C3 24 68              4989        JP      LWRD ?0313\r
-    000068C4                       4990 ?0312:\r
-    000068C4 C3 1F 81              4991        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-                                   4992        RSEG    CSTR\r
-    000084B5                       4993 ?0001:\r
-    000084B5 2F 64 65 76 2F 6C 63  4994        DEFB    '/dev/lcd0'\r
+    000046A8 F1                     231        POP     AF\r
+    000046A9 F1                     232        POP     AF\r
+    000046AA 21 02 00               233        LD      HL,2\r
+    000046AD E5                     234        PUSH    HL\r
+    000046AE 2E 08                  235        LD      L,8\r
+    000046B0 39                     236        ADD     HL,SP\r
+    000046B1 CD E4 46               237        CALL    LWRD ?0446\r
+    000046B4 F1                     238        POP     AF\r
+    000046B5 11 01 00               239        LD      DE,1\r
+    000046B8 3E 00                  240        LD      A,BYTE3 SetCurrentGraphicsDevice\r
+    000046BA 21 C8 45               241        LD      HL,LWRD SetCurrentGraphicsDevice\r
+    000046BD CD 5E 81               242        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000046C0 11 AD 84               243        LD      DE,?0003\r
+    000046C3 CD F9 46               244        CALL    LWRD ?0452\r
+    000046C6 11 00 00               245        LD      DE,0\r
+    000046C9 3E 00                  246        LD      A,BYTE3 SetCurrentGraphicsDevice\r
+    000046CB 21 C8 45               247        LD      HL,LWRD SetCurrentGraphicsDevice\r
+    000046CE CD 5E 81               248        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000046D1 C3 1F 81               249        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000046D4                        250 ?0443:\r
+    000046D4 3E 00                  251        LD      A,BYTE3 ioctl\r
+    000046D6 21 F0 74               252        LD      HL,LWRD ioctl\r
+    000046D9 C3 5E 81               253        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000046DC                        254 ?0444:\r
+    000046DC 3E 00                  255        LD      A,BYTE3 open\r
+    000046DE 21 06 7A               256        LD      HL,LWRD open\r
+    000046E1 C3 5E 81               257        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000046E4                        258 ?0446:\r
+    000046E4 4D                     259        LD      C,L\r
+    000046E5 44                     260        LD      B,H\r
+    000046E6 21 04 00               261        LD      HL,4\r
+    000046E9                        262 ?0448:\r
+    000046E9 ED 5B BF 86            263        LD      DE,(global)\r
+    000046ED 19                     264        ADD     HL,DE\r
+    000046EE                        265 ?0445:\r
+    000046EE 5E                     266        LD      E,(HL)\r
+    000046EF 23                     267        INC     HL\r
+    000046F0 56                     268        LD      D,(HL)\r
+    000046F1 3E 00                  269        LD      A,BYTE3 _write\r
+    000046F3                        270 ?0447:\r
+    000046F3 21 88 6F               271        LD      HL,LWRD _write\r
+    000046F6 C3 5E 81               272        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000046F9                        273 ?0452:\r
+    000046F9 3E 00                  274        LD      A,BYTE3 Text\r
+    000046FB 21 A6 48               275        LD      HL,LWRD Text\r
+    000046FE C3 5E 81               276        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004701                        277 GraphicsClose:\r
+    00004701 C5                     278        PUSH    BC\r
+    00004702 D5                     279        PUSH    DE\r
+    00004703 2A BF 86               280        LD      HL,(global)\r
+    00004706 23                     281        INC     HL\r
+    00004707 23                     282        INC     HL\r
+    00004708 CD 1B 47               283        CALL    LWRD ?0468\r
+    0000470B 21 04 00               284        LD      HL,4\r
+    0000470E ED 4B BF 86            285        LD      BC,(global)\r
+    00004712 09                     286        ADD     HL,BC\r
+    00004713 CD 1B 47               287        CALL    LWRD ?0468\r
+    00004716 D1                     288        POP     DE\r
+    00004717 C1                     289        POP     BC\r
+    00004718 C3 25 81               290        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000471B                        291 ?0468:\r
+    0000471B 5E                     292        LD      E,(HL)\r
+    0000471C 23                     293        INC     HL\r
+    0000471D 56                     294        LD      D,(HL)\r
+    0000471E                        295 ?0469:\r
+    0000471E 3E 00                  296        LD      A,BYTE3 close\r
+    00004720 21 B3 73               297        LD      HL,LWRD close\r
+    00004723 C3 5E 81               298        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004726                        299 Move:\r
+    00004726 CD 88 81               300        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004729 FC FF                  301        DEFW    65532\r
+    0000472B 21 00 00               302        LD      HL,0\r
+    0000472E 39                     303        ADD     HL,SP\r
+    0000472F EB                     304        EX      DE,HL\r
+    00004730 21 75 84               305        LD      HL,?0004\r
+    00004733 01 04 00               306        LD      BC,4\r
+    00004736 ED B0                  307        LDIR\r
+    00004738                        308 ?0382:\r
+    00004738 DD 46 02               309        LD      B,(IX+2)\r
+    0000473B DD 70 FE               310        LD      (IX-2),B\r
+    0000473E DD 46 04               311        LD      B,(IX+4)\r
+    00004741 DD 70 FF               312        LD      (IX-1),B\r
+    00004744 21 04 00               313        LD      HL,4\r
+    00004747 E5                     314        PUSH    HL\r
+    00004748 2B                     315        DEC     HL\r
+    00004749 2B                     316        DEC     HL\r
+    0000474A                        317 ?0387:\r
+    0000474A 39                     318        ADD     HL,SP\r
+    0000474B 4D                     319        LD      C,L\r
+    0000474C                        320 ?0432:\r
+    0000474C 44                     321        LD      B,H\r
+    0000474D 21 06 00               322        LD      HL,6\r
+    00004750                        323 ?0433:\r
+    00004750 ED 5B BF 86            324        LD      DE,(global)\r
+    00004754 19                     325        ADD     HL,DE\r
+    00004755                        326 ?0434:\r
+    00004755 5E                     327        LD      E,(HL)\r
+    00004756 23                     328        INC     HL\r
+    00004757                        329 ?0435:\r
+    00004757 56                     330        LD      D,(HL)\r
+    00004758 3E 00                  331        LD      A,BYTE3 _write\r
+    0000475A                        332 ?0436:\r
+    0000475A CD F3 46               333        CALL    LWRD ?0447\r
+    0000475D F1                     334        POP     AF\r
+    0000475E C3 1F 81               335        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004761                        336 ClearRect:\r
+    00004761 CD 88 81               337        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004764 FC FF                  338        DEFW    65532\r
+    00004766 21 00 00               339        LD      HL,0\r
+    00004769 39                     340        ADD     HL,SP\r
+    0000476A EB                     341        EX      DE,HL\r
+    0000476B 21 79 84               342        LD      HL,?0005\r
+    0000476E 01 04 00               343        LD      BC,4\r
+    00004771 ED B0                  344        LDIR\r
+    00004773 C3 38 47               345        JP      LWRD ?0382\r
+    00004776 DD 70 FE               346        LD      (IX-2),B\r
+    00004779                        347 ?0390:\r
+    00004779 DD 46 04               348        LD      B,(IX+4)\r
+    0000477C DD 70 FF               349        LD      (IX-1),B\r
+    0000477F 21 04 00               350        LD      HL,4\r
+    00004782 E5                     351        PUSH    HL\r
+    00004783 2B                     352        DEC     HL\r
+    00004784 2B                     353        DEC     HL\r
+    00004785 39                     354        ADD     HL,SP\r
+    00004786 4D                     355        LD      C,L\r
+    00004787                        356 ?0394:\r
+    00004787 C3 4C 47               357        JP      LWRD ?0432\r
+    0000478A 21 06 00               358        LD      HL,6\r
+    0000478D ED 5B BF 86            359        LD      DE,(global)\r
+    00004791 19                     360        ADD     HL,DE\r
+    00004792                        361 ?0437:\r
+    00004792 5E                     362        LD      E,(HL)\r
+    00004793 23                     363        INC     HL\r
+    00004794                        364 ?0438:\r
+    00004794 56                     365        LD      D,(HL)\r
+    00004795 3E 00                  366        LD      A,BYTE3 _write\r
+    00004797                        367 ?0439:\r
+    00004797 C3 5A 47               368        JP      LWRD ?0436\r
+    0000479A CD 5E 81               369        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000479D F1                     370        POP     AF\r
+    0000479E C3 1F 81               371        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000047A1                        372 DrawRectNC:\r
+    000047A1 CD 88 81               373        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000047A4 FC FF                  374        DEFW    65532\r
+    000047A6 21 00 00               375        LD      HL,0\r
+    000047A9 39                     376        ADD     HL,SP\r
+    000047AA EB                     377        EX      DE,HL\r
+    000047AB 21 7D 84               378        LD      HL,?0006\r
+    000047AE 01 04 00               379        LD      BC,4\r
+    000047B1 ED B0                  380        LDIR\r
+    000047B3 C3 38 47               381        JP      LWRD ?0382\r
+    000047B6 DD 70 FE               382        LD      (IX-2),B\r
+    000047B9 C3 79 47               383        JP      LWRD ?0390\r
+    000047BC DD 70 FF               384        LD      (IX-1),B\r
+    000047BF                        385 ?0397:\r
+    000047BF 21 04 00               386        LD      HL,4\r
+    000047C2 E5                     387        PUSH    HL\r
+    000047C3 2B                     388        DEC     HL\r
+    000047C4 2B                     389        DEC     HL\r
+    000047C5 39                     390        ADD     HL,SP\r
+    000047C6 4D                     391        LD      C,L\r
+    000047C7 44                     392        LD      B,H\r
+    000047C8 21 06 00               393        LD      HL,6\r
+    000047CB                        394 ?0400:\r
+    000047CB C3 50 47               395        JP      LWRD ?0433\r
+    000047CE 19                     396        ADD     HL,DE\r
+    000047CF C3 92 47               397        JP      LWRD ?0437\r
+    000047D2 23                     398        INC     HL\r
+    000047D3 56                     399        LD      D,(HL)\r
+    000047D4 3E 00                  400        LD      A,BYTE3 _write\r
+    000047D6                        401 ?0440:\r
+    000047D6 C3 5A 47               402        JP      LWRD ?0436\r
+    000047D9 CD 5E 81               403        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000047DC F1                     404        POP     AF\r
+    000047DD C3 1F 81               405        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000047E0                        406 FillRect:\r
+    000047E0 CD 88 81               407        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000047E3 FC FF                  408        DEFW    65532\r
+    000047E5 21 00 00               409        LD      HL,0\r
+    000047E8 39                     410        ADD     HL,SP\r
+    000047E9 EB                     411        EX      DE,HL\r
+    000047EA 21 81 84               412        LD      HL,?0007\r
+    000047ED 01 04 00               413        LD      BC,4\r
+    000047F0 ED B0                  414        LDIR\r
+    000047F2 C3 38 47               415        JP      LWRD ?0382\r
+    000047F5 DD 70 FE               416        LD      (IX-2),B\r
+    000047F8 C3 79 47               417        JP      LWRD ?0390\r
+    000047FB DD 70 FF               418        LD      (IX-1),B\r
+    000047FE C3 BF 47               419        JP      LWRD ?0397\r
+    00004801 E5                     420        PUSH    HL\r
+    00004802                        421 ?0403:\r
+    00004802 2B                     422        DEC     HL\r
+    00004803 2B                     423        DEC     HL\r
+    00004804 39                     424        ADD     HL,SP\r
+    00004805 4D                     425        LD      C,L\r
+    00004806 44                     426        LD      B,H\r
+    00004807 21 06 00               427        LD      HL,6\r
+    0000480A ED 5B BF 86            428        LD      DE,(global)\r
+    0000480E 19                     429        ADD     HL,DE\r
+    0000480F                        430 ?0405:\r
+    0000480F C3 55 47               431        JP      LWRD ?0434\r
+    00004812 23                     432        INC     HL\r
+    00004813 C3 94 47               433        JP      LWRD ?0438\r
+    00004816 3E 00                  434        LD      A,BYTE3 _write\r
+    00004818 C3 D6 47               435        JP      LWRD ?0440\r
+    0000481B CD 5E 81               436        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000481E F1                     437        POP     AF\r
+    0000481F C3 1F 81               438        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004822                        439 FillRectNC:\r
+    00004822 CD 88 81               440        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004825 FC FF                  441        DEFW    65532\r
+    00004827 21 00 00               442        LD      HL,0\r
+    0000482A 39                     443        ADD     HL,SP\r
+    0000482B EB                     444        EX      DE,HL\r
+    0000482C 21 85 84               445        LD      HL,?0008\r
+    0000482F 01 04 00               446        LD      BC,4\r
+    00004832 ED B0                  447        LDIR\r
+    00004834 C3 38 47               448        JP      LWRD ?0382\r
+    00004837 DD 70 FE               449        LD      (IX-2),B\r
+    0000483A C3 79 47               450        JP      LWRD ?0390\r
+    0000483D DD 70 FF               451        LD      (IX-1),B\r
+    00004840 C3 BF 47               452        JP      LWRD ?0397\r
+    00004843 E5                     453        PUSH    HL\r
+    00004844 C3 02 48               454        JP      LWRD ?0403\r
+    00004847 2B                     455        DEC     HL\r
+    00004848                        456 ?0408:\r
+    00004848 39                     457        ADD     HL,SP\r
+    00004849 4D                     458        LD      C,L\r
+    0000484A 44                     459        LD      B,H\r
+    0000484B 21 06 00               460        LD      HL,6\r
+    0000484E ED 5B BF 86            461        LD      DE,(global)\r
+    00004852 19                     462        ADD     HL,DE\r
+    00004853 5E                     463        LD      E,(HL)\r
+    00004854 23                     464        INC     HL\r
+    00004855                        465 ?0409:\r
+    00004855 C3 57 47               466        JP      LWRD ?0435\r
+    00004858 3E 00                  467        LD      A,BYTE3 _write\r
+    0000485A C3 97 47               468        JP      LWRD ?0439\r
+    0000485D CD 5E 81               469        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004860 F1                     470        POP     AF\r
+    00004861 C3 1F 81               471        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004864                        472 GrayRect:\r
+    00004864 CD 88 81               473        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004867 FC FF                  474        DEFW    65532\r
+    00004869 21 00 00               475        LD      HL,0\r
+    0000486C 39                     476        ADD     HL,SP\r
+    0000486D EB                     477        EX      DE,HL\r
+    0000486E 21 89 84               478        LD      HL,?0009\r
+    00004871 01 04 00               479        LD      BC,4\r
+    00004874 ED B0                  480        LDIR\r
+    00004876 C3 38 47               481        JP      LWRD ?0382\r
+    00004879 DD 70 FE               482        LD      (IX-2),B\r
+    0000487C C3 79 47               483        JP      LWRD ?0390\r
+    0000487F DD 70 FF               484        LD      (IX-1),B\r
+    00004882 C3 BF 47               485        JP      LWRD ?0397\r
+    00004885 E5                     486        PUSH    HL\r
+    00004886 C3 02 48               487        JP      LWRD ?0403\r
+    00004889 2B                     488        DEC     HL\r
+    0000488A C3 48 48               489        JP      LWRD ?0408\r
+    0000488D 4D                     490        LD      C,L\r
+    0000488E 44                     491        LD      B,H\r
+    0000488F 21 06 00               492        LD      HL,6\r
+    00004892 ED 5B BF 86            493        LD      DE,(global)\r
+    00004896 19                     494        ADD     HL,DE\r
+    00004897 5E                     495        LD      E,(HL)\r
+    00004898 23                     496        INC     HL\r
+    00004899 56                     497        LD      D,(HL)\r
+    0000489A 3E 00                  498        LD      A,BYTE3 _write\r
+    0000489C                        499 ?0412:\r
+    0000489C C3 5A 47               500        JP      LWRD ?0436\r
+    0000489F CD 5E 81               501        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000048A2 F1                     502        POP     AF\r
+    000048A3 C3 1F 81               503        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000048A6                        504 Text:\r
+    000048A6 C5                     505        PUSH    BC\r
+    000048A7 FD E5                  506        PUSH    IY\r
+    000048A9 DD E5                  507        PUSH    IX\r
+    000048AB D5                     508        PUSH    DE\r
+    000048AC DD E1                  509        POP     IX\r
+    000048AE 3E 00                  510        LD      A,BYTE3 strlen\r
+    000048B0 21 C8 73               511        LD      HL,LWRD strlen\r
+    000048B3 CD 5E 81               512        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000048B6 E5                     513        PUSH    HL\r
+    000048B7 DD E5                  514        PUSH    IX\r
+    000048B9 C1                     515        POP     BC\r
+    000048BA 21 06 00               516        LD      HL,6\r
+    000048BD CD E9 46               517        CALL    LWRD ?0448\r
+    000048C0 F1                     518        POP     AF\r
+    000048C1                        519 ?0415:\r
+    000048C1 DD E1                  520        POP     IX\r
+    000048C3 FD E1                  521        POP     IY\r
+    000048C5 C1                     522        POP     BC\r
+    000048C6 C3 25 81               523        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000048C9                        524 TouchRegion:\r
+    000048C9 CD 88 81               525        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000048CC F8 FF                  526        DEFW    65528\r
+    000048CE 21 00 00               527        LD      HL,0\r
+    000048D1 39                     528        ADD     HL,SP\r
+    000048D2 EB                     529        EX      DE,HL\r
+    000048D3 21 8D 84               530        LD      HL,?0010\r
+    000048D6 01 07 00               531        LD      BC,7\r
+    000048D9 ED B0                  532        LDIR\r
+    000048DB DD 46 02               533        LD      B,(IX+2)\r
+    000048DE DD 70 FA               534        LD      (IX-6),B\r
+    000048E1 DD 46 04               535        LD      B,(IX+4)\r
+    000048E4 DD 70 FB               536        LD      (IX-5),B\r
+    000048E7 DD 46 0A               537        LD      B,(IX+10)\r
+    000048EA DD 70 FC               538        LD      (IX-4),B\r
+    000048ED DD 46 0C               539        LD      B,(IX+12)\r
+    000048F0 DD 70 FD               540        LD      (IX-3),B\r
+    000048F3 DD 46 0E               541        LD      B,(IX+14)\r
+    000048F6 DD 70 FE               542        LD      (IX-2),B\r
+    000048F9 21 07 00               543        LD      HL,7\r
+    000048FC E5                     544        PUSH    HL\r
+    000048FD 2E 02                  545        LD      L,2\r
+    000048FF C3 4A 47               546        JP      LWRD ?0387\r
+    00004902 4D                     547        LD      C,L\r
+    00004903 C3 87 47               548        JP      LWRD ?0394\r
+    00004906 21 06 00               549        LD      HL,6\r
+    00004909 C3 CB 47               550        JP      LWRD ?0400\r
+    0000490C 19                     551        ADD     HL,DE\r
+    0000490D C3 0F 48               552        JP      LWRD ?0405\r
+    00004910 23                     553        INC     HL\r
+    00004911 C3 55 48               554        JP      LWRD ?0409\r
+    00004914 3E 00                  555        LD      A,BYTE3 _write\r
+    00004916 C3 9C 48               556        JP      LWRD ?0412\r
+    00004919 CD 5E 81               557        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000491C F1                     558        POP     AF\r
+    0000491D C3 1F 81               559        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004920                        560 ClearScreen:\r
+    00004920 C5                     561        PUSH    BC\r
+    00004921 D5                     562        PUSH    DE\r
+    00004922 CD 3A 49               563        CALL    LWRD ?0474\r
+    00004925 CD 5E 81               564        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004928 21 80 00               565        LD      HL,128\r
+    0000492B E5                     566        PUSH    HL\r
+    0000492C 6C                     567        LD      L,H\r
+    0000492D E5                     568        PUSH    HL\r
+    0000492E E5                     569        PUSH    HL\r
+    0000492F CD 52 49               570        CALL    LWRD ?0483\r
+    00004932 E1                     571        POP     HL\r
+    00004933 E1                     572        POP     HL\r
+    00004934 E1                     573        POP     HL\r
+    00004935 D1                     574        POP     DE\r
+    00004936 C1                     575        POP     BC\r
+    00004937 C3 25 81               576        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000493A                        577 ?0474:\r
+    0000493A 01 00 00               578        LD      BC,0\r
+    0000493D 59                     579        LD      E,C\r
+    0000493E 50                     580        LD      D,B\r
+    0000493F 3E 00                  581        LD      A,BYTE3 Move\r
+    00004941 21 26 47               582        LD      HL,LWRD Move\r
+    00004944 CD 5E 81               583        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004947 01 80 00               584        LD      BC,128\r
+    0000494A 58                     585        LD      E,B\r
+    0000494B 50                     586        LD      D,B\r
+    0000494C 3E 00                  587        LD      A,BYTE3 ClearRect\r
+    0000494E 21 61 47               588        LD      HL,LWRD ClearRect\r
+    00004951 C9                     589        RET\r
+    00004952                        590 ?0483:\r
+    00004952 4D                     591        LD      C,L\r
+    00004953 44                     592        LD      B,H\r
+    00004954 EB                     593        EX      DE,HL\r
+    00004955                        594 ?0484:\r
+    00004955 3E 00                  595        LD      A,BYTE3 TouchRegion\r
+    00004957 21 C9 48               596        LD      HL,LWRD TouchRegion\r
+    0000495A C3 5E 81               597        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    0000495D                        598 EnableScreen:\r
+    0000495D CD 88 81               599        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004960 FC FF                  600        DEFW    65532\r
+    00004962 21 00 00               601        LD      HL,0\r
+    00004965 39                     602        ADD     HL,SP\r
+    00004966 EB                     603        EX      DE,HL\r
+    00004967 21 94 84               604        LD      HL,?0011\r
+    0000496A 01 03 00               605        LD      BC,3\r
+    0000496D ED B0                  606        LDIR\r
+    0000496F DD 46 02               607        LD      B,(IX+2)\r
+    00004972 DD 70 FE               608        LD      (IX-2),B\r
+    00004975 21 03 00               609        LD      HL,3\r
+    00004978 E5                     610        PUSH    HL\r
+    00004979 2B                     611        DEC     HL\r
+    0000497A C3 4A 47               612        JP      LWRD ?0387\r
+    0000497D 4D                     613        LD      C,L\r
+    0000497E C3 87 47               614        JP      LWRD ?0394\r
+    00004981 21 06 00               615        LD      HL,6\r
+    00004984 C3 CB 47               616        JP      LWRD ?0400\r
+    00004987 19                     617        ADD     HL,DE\r
+    00004988 C3 0F 48               618        JP      LWRD ?0405\r
+    0000498B 23                     619        INC     HL\r
+    0000498C C3 55 48               620        JP      LWRD ?0409\r
+    0000498F 3E 00                  621        LD      A,BYTE3 _write\r
+    00004991 C3 9C 48               622        JP      LWRD ?0412\r
+    00004994 CD 5E 81               623        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004997 F1                     624        POP     AF\r
+    00004998 C3 1F 81               625        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000499B                        626 grSetFont:\r
+    0000499B CD 88 81               627        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000499E FE FF                  628        DEFW    65534\r
+    000049A0 21 00 00               629        LD      HL,0\r
+    000049A3 39                     630        ADD     HL,SP\r
+    000049A4 EB                     631        EX      DE,HL\r
+    000049A5 21 97 84               632        LD      HL,?0012\r
+    000049A8 01 02 00               633        LD      BC,2\r
+    000049AB ED B0                  634        LDIR\r
+    000049AD DD 46 02               635        LD      B,(IX+2)\r
+    000049B0 DD 70 FF               636        LD      (IX-1),B\r
+    000049B3 21 02 00               637        LD      HL,2\r
+    000049B6 E5                     638        PUSH    HL\r
+    000049B7 C3 4A 47               639        JP      LWRD ?0387\r
+    000049BA 4D                     640        LD      C,L\r
+    000049BB C3 87 47               641        JP      LWRD ?0394\r
+    000049BE 21 06 00               642        LD      HL,6\r
+    000049C1 C3 CB 47               643        JP      LWRD ?0400\r
+    000049C4 19                     644        ADD     HL,DE\r
+    000049C5 C3 0F 48               645        JP      LWRD ?0405\r
+    000049C8 23                     646        INC     HL\r
+    000049C9 C3 55 48               647        JP      LWRD ?0409\r
+    000049CC 3E 00                  648        LD      A,BYTE3 _write\r
+    000049CE C3 9C 48               649        JP      LWRD ?0412\r
+    000049D1 CD 5E 81               650        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000049D4 F1                     651        POP     AF\r
+    000049D5 C3 1F 81               652        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000049D8                        653 fontSearch:\r
+    000049D8 CD 88 81               654        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000049DB 00 00                  655        DEFW    0\r
+    000049DD 21 14 00               656        LD      HL,20\r
+    000049E0 ED 4B BF 86            657        LD      BC,(global)\r
+    000049E4 09                     658        ADD     HL,BC\r
+    000049E5                        659 ?0331:\r
+    000049E5 46                     660        LD      B,(HL)\r
+    000049E6 23                     661        INC     HL\r
+    000049E7 66                     662        LD      H,(HL)\r
+    000049E8 68                     663        LD      L,B\r
+    000049E9 EB                     664        EX      DE,HL\r
+    000049EA                        665 ?0014:\r
+    000049EA 7B                     666        LD      A,E\r
+    000049EB B2                     667        OR      D\r
+    000049EC 28 16                  668        JR      Z,?0013\r
+    000049EE 6B                     669        LD      L,E\r
+    000049EF 62                     670        LD      H,D\r
+    000049F0 46                     671        LD      B,(HL)\r
+    000049F1 23                     672        INC     HL\r
+    000049F2 66                     673        LD      H,(HL)\r
+    000049F3 68                     674        LD      L,B\r
+    000049F4 DD 4E 02               675        LD      C,(IX+2)\r
+    000049F7 DD 46 03               676        LD      B,(IX+3)\r
+    000049FA ED 42                  677        SBC     HL,BC\r
+    000049FC 28 06                  678        JR      Z,?0013\r
+    000049FE                        679 ?0017:\r
+    000049FE                        680 ?0016:\r
+    000049FE                        681 ?0015:\r
+    000049FE 21 08 00               682        LD      HL,8\r
+    00004A01 19                     683        ADD     HL,DE\r
+    00004A02 18 E1                  684        JR      ?0331\r
+    00004A04                        685 ?0013:\r
+    00004A04 EB                     686        EX      DE,HL\r
+    00004A05 C3 1F 81               687        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004A08                        688 setCurrentFont:\r
+    00004A08 CD 52 81               689        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00004A0B 3E 00                  690        LD      A,BYTE3 fontSearch\r
+    00004A0D 21 D8 49               691        LD      HL,LWRD fontSearch\r
+    00004A10 CD 79 4A               692        CALL    LWRD ?0458\r
+    00004A13 28 29                  693        JR      Z,?0019\r
+    00004A15                        694 ?0018:\r
+    00004A15 DD 5E 02               695        LD      E,(IX+2)\r
+    00004A18 DD 56 03               696        LD      D,(IX+3)\r
+    00004A1B 3E 00                  697        LD      A,BYTE3 grSetFont\r
+    00004A1D 21 9B 49               698        LD      HL,LWRD grSetFont\r
+    00004A20 CD 5E 81               699        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004A23 21 12 00               700        LD      HL,18\r
+    00004A26 ED 4B BF 86            701        LD      BC,(global)\r
+    00004A2A 09                     702        ADD     HL,BC\r
+    00004A2B E5                     703        PUSH    HL\r
+    00004A2C DD 5E 02               704        LD      E,(IX+2)\r
+    00004A2F DD 56 03               705        LD      D,(IX+3)\r
+    00004A32 3E 00                  706        LD      A,BYTE3 fontSearch\r
+    00004A34 21 D8 49               707        LD      HL,LWRD fontSearch\r
+    00004A37 CD 84 4A               708        CALL    LWRD ?0459\r
+    00004A3A E1                     709        POP     HL\r
+    00004A3B 71                     710        LD      (HL),C\r
+    00004A3C 23                     711        INC     HL\r
+    00004A3D 70                     712        LD      (HL),B\r
+    00004A3E                        713 ?0019:\r
+    00004A3E C3 1F 81               714        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004A41                        715 ?0454:\r
+    00004A41 21 12 00               716        LD      HL,18\r
+    00004A44 ED 4B BF 86            717        LD      BC,(global)\r
+    00004A48 09                     718        ADD     HL,BC\r
+    00004A49 46                     719        LD      B,(HL)\r
+    00004A4A 23                     720        INC     HL\r
+    00004A4B 66                     721        LD      H,(HL)\r
+    00004A4C 68                     722        LD      L,B\r
+    00004A4D                        723 ?0453:\r
+    00004A4D 23                     724        INC     HL\r
+    00004A4E 23                     725        INC     HL\r
+    00004A4F 4E                     726        LD      C,(HL)\r
+    00004A50 23                     727        INC     HL\r
+    00004A51 46                     728        LD      B,(HL)\r
+    00004A52 23                     729        INC     HL\r
+    00004A53 7E                     730        LD      A,(HL)\r
+    00004A54 69                     731        LD      L,C\r
+    00004A55 60                     732        LD      H,B\r
+    00004A56 CD 5E 81               733        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004A59 4D                     734        LD      C,L\r
+    00004A5A 44                     735        LD      B,H\r
+    00004A5B FD 6E 06               736        LD      L,(IY+6)\r
+    00004A5E FD 66 07               737        LD      H,(IY+7)\r
+    00004A61 A7                     738        AND     A\r
+    00004A62 ED 42                  739        SBC     HL,BC\r
+    00004A64 EB                     740        EX      DE,HL\r
+    00004A65 01 02 00               741        LD      BC,2\r
+    00004A68 CD B8 81               742        CALL    LWRD ?SS_DIV_L02\r
+    00004A6B DD 6E 04               743        LD      L,(IX+4)\r
+    00004A6E DD 66 05               744        LD      H,(IX+5)\r
+    00004A71 19                     745        ADD     HL,DE\r
+    00004A72 EB                     746        EX      DE,HL\r
+    00004A73 3E 00                  747        LD      A,BYTE3 Move\r
+    00004A75 21 26 47               748        LD      HL,LWRD Move\r
+    00004A78 C9                     749        RET\r
+    00004A79                        750 ?0458:\r
+    00004A79 CD 5E 81               751        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004A7C 7D                     752        LD      A,L\r
+    00004A7D B4                     753        OR      H\r
+    00004A7E C9                     754        RET\r
+    00004A7F                        755 ?0460:\r
+    00004A7F 3E 00                  756        LD      A,BYTE3 malloc\r
+    00004A81 21 31 7A               757        LD      HL,LWRD malloc\r
+    00004A84                        758 ?0459:\r
+    00004A84 CD 5E 81               759        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004A87 4D                     760        LD      C,L\r
+    00004A88 44                     761        LD      B,H\r
+    00004A89 C9                     762        RET\r
+    00004A8A                        763 loadFont:\r
+    00004A8A CD 88 81               764        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004A8D FC FF                  765        DEFW    65532\r
+    00004A8F FD E5                  766        PUSH    IY\r
+    00004A91 11 0E 00               767        LD      DE,14\r
+    00004A94 CD 25 4B               768        CALL    LWRD ?0457\r
+    00004A97 DD 4E 02               769        LD      C,(IX+2)\r
+    00004A9A 71                     770        LD      (HL),C\r
+    00004A9B DD 46 03               771        LD      B,(IX+3)\r
+    00004A9E 23                     772        INC     HL\r
+    00004A9F 70                     773        LD      (HL),B\r
+    00004AA0 DD 46 0C               774        LD      B,(IX+12)\r
+    00004AA3 DD 6E 0A               775        LD      L,(IX+10)\r
+    00004AA6 FD 75 02               776        LD      (IY+2),L\r
+    00004AA9 DD 66 0B               777        LD      H,(IX+11)\r
+    00004AAC FD 74 03               778        LD      (IY+3),H\r
+    00004AAF FD 70 04               779        LD      (IY+4),B\r
+    00004AB2 DD 46 10               780        LD      B,(IX+16)\r
+    00004AB5 DD 6E 0E               781        LD      L,(IX+14)\r
+    00004AB8 FD 75 05               782        LD      (IY+5),L\r
+    00004ABB DD 66 0F               783        LD      H,(IX+15)\r
+    00004ABE FD 74 06               784        LD      (IY+6),H\r
+    00004AC1 FD 70 07               785        LD      (IY+7),B\r
+    00004AC4 AF                     786        XOR     A\r
+    00004AC5 FD 77 08               787        LD      (IY+8),A\r
+    00004AC8 FD 77 09               788        LD      (IY+9),A\r
+    00004ACB DD 6E 12               789        LD      L,(IX+18)\r
+    00004ACE FD 75 0A               790        LD      (IY+10),L\r
+    00004AD1 DD 66 13               791        LD      H,(IX+19)\r
+    00004AD4 FD 74 0B               792        LD      (IY+11),H\r
+    00004AD7 DD 6E 14               793        LD      L,(IX+20)\r
+    00004ADA FD 75 0C               794        LD      (IY+12),L\r
+    00004ADD DD 66 15               795        LD      H,(IX+21)\r
+    00004AE0 FD 74 0D               796        LD      (IY+13),H\r
+    00004AE3 21 14 00               797        LD      HL,20\r
+    00004AE6 ED 4B BF 86            798        LD      BC,(global)\r
+    00004AEA 09                     799        ADD     HL,BC\r
+    00004AEB 7E                     800        LD      A,(HL)\r
+    00004AEC 23                     801        INC     HL\r
+    00004AED B6                     802        OR      (HL)\r
+    00004AEE 21 14 00               803        LD      HL,20\r
+    00004AF1 ED 4B BF 86            804        LD      BC,(global)\r
+    00004AF5 09                     805        ADD     HL,BC\r
+    00004AF6 20 10                  806        JR      NZ,?0021\r
+    00004AF8                        807 ?0020:\r
+    00004AF8 FD E5                  808        PUSH    IY\r
+    00004AFA C1                     809        POP     BC\r
+    00004AFB 71                     810        LD      (HL),C\r
+    00004AFC 23                     811        INC     HL\r
+    00004AFD 70                     812        LD      (HL),B\r
+    00004AFE 21 12 00               813        LD      HL,18\r
+    00004B01 ED 4B BF 86            814        LD      BC,(global)\r
+    00004B05 09                     815        ADD     HL,BC\r
+    00004B06 18 12                  816        JR      ?0023\r
+    00004B08                        817 ?0021:\r
+    00004B08 46                     818        LD      B,(HL)\r
+    00004B09 23                     819        INC     HL\r
+    00004B0A 66                     820        LD      H,(HL)\r
+    00004B0B 68                     821        LD      L,B\r
+    00004B0C EB                     822        EX      DE,HL\r
+    00004B0D                        823 ?0024:\r
+    00004B0D 21 08 00               824        LD      HL,8\r
+    00004B10 19                     825        ADD     HL,DE\r
+    00004B11 7E                     826        LD      A,(HL)\r
+    00004B12 23                     827        INC     HL\r
+    00004B13 B6                     828        OR      (HL)\r
+    00004B14 21 08 00               829        LD      HL,8\r
+    00004B17 19                     830        ADD     HL,DE\r
+    00004B18 20 EE                  831        JR      NZ,?0021\r
+    00004B1A                        832 ?0025:\r
+    00004B1A                        833 ?0023:\r
+    00004B1A FD E5                  834        PUSH    IY\r
+    00004B1C C1                     835        POP     BC\r
+    00004B1D 71                     836        LD      (HL),C\r
+    00004B1E 23                     837        INC     HL\r
+    00004B1F 70                     838        LD      (HL),B\r
+    00004B20                        839 ?0022:\r
+    00004B20 FD E1                  840        POP     IY\r
+    00004B22 C3 1F 81               841        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004B25                        842 ?0457:\r
+    00004B25 3E 00                  843        LD      A,BYTE3 malloc\r
+    00004B27 21 31 7A               844        LD      HL,LWRD malloc\r
+    00004B2A CD 5E 81               845        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004B2D E5                     846        PUSH    HL\r
+    00004B2E FD E1                  847        POP     IY\r
+    00004B30 C9                     848        RET\r
+    00004B31                        849 stringwidth:\r
+    00004B31 FD E5                  850        PUSH    IY\r
+    00004B33 DD E5                  851        PUSH    IX\r
+    00004B35 C5                     852        PUSH    BC\r
+    00004B36 D5                     853        PUSH    DE\r
+    00004B37 DD 21 00 00            854        LD      IX,0\r
+    00004B3B FD 21 00 00            855        LD      IY,0\r
+    00004B3F                        856 ?0027:\r
+    00004B3F FD E5                  857        PUSH    IY\r
+    00004B41 21 02 00               858        LD      HL,2\r
+    00004B44 39                     859        ADD     HL,SP\r
+    00004B45 4E                     860        LD      C,(HL)\r
+    00004B46 23                     861        INC     HL\r
+    00004B47 46                     862        LD      B,(HL)\r
+    00004B48 E1                     863        POP     HL\r
+    00004B49 09                     864        ADD     HL,BC\r
+    00004B4A 7E                     865        LD      A,(HL)\r
+    00004B4B B7                     866        OR      A\r
+    00004B4C 28 50                  867        JR      Z,?0026\r
+    00004B4E                        868 ?0028:\r
+    00004B4E FD E5                  869        PUSH    IY\r
+    00004B50 E1                     870        POP     HL\r
+    00004B51 09                     871        ADD     HL,BC\r
+    00004B52 5E                     872        LD      E,(HL)\r
+    00004B53 CD 40 81               873        CALL    LWRD ?C_V_SWITCH_L06\r
+    00004B56 0A 00                  874        DEFW    10\r
+    00004B58 21                     875        DEFB    33\r
+    00004B59 2C                     876        DEFB    44\r
+    00004B5A 2E                     877        DEFB    46\r
+    00004B5B 31                     878        DEFB    49\r
+    00004B5C 49                     879        DEFB    73\r
+    00004B5D 69                     880        DEFB    105\r
+    00004B5E 6A                     881        DEFB    106\r
+    00004B5F 6B                     882        DEFB    107\r
+    00004B60 6C                     883        DEFB    108\r
+    00004B61 72                     884        DEFB    114\r
+    00004B62 8C 4B                  885        DEFW    ?0034\r
+    00004B64 87 4B                  886        DEFW    ?0033\r
+    00004B66 7D 4B                  887        DEFW    ?0031\r
+    00004B68 87 4B                  888        DEFW    ?0033\r
+    00004B6A 87 4B                  889        DEFW    ?0033\r
+    00004B6C 78 4B                  890        DEFW    ?0030\r
+    00004B6E 78 4B                  891        DEFW    ?0030\r
+    00004B70 82 4B                  892        DEFW    ?0032\r
+    00004B72 82 4B                  893        DEFW    ?0032\r
+    00004B74 82 4B                  894        DEFW    ?0032\r
+    00004B76 78 4B                  895        DEFW    ?0030\r
+    00004B78                        896 ?0030:\r
+    00004B78 01 02 00               897        LD      BC,2\r
+    00004B7B 18 12                  898        JR      ?0341\r
+    00004B7D                        899 ?0031:\r
+    00004B7D 01 03 00               900        LD      BC,3\r
+    00004B80 18 0D                  901        JR      ?0341\r
+    00004B82                        902 ?0032:\r
+    00004B82 01 04 00               903        LD      BC,4\r
+    00004B85 18 08                  904        JR      ?0341\r
+    00004B87                        905 ?0033:\r
+    00004B87 01 05 00               906        LD      BC,5\r
+    00004B8A 18 03                  907        JR      ?0341\r
+    00004B8C                        908 ?0034:\r
+    00004B8C 01 06 00               909        LD      BC,6\r
+    00004B8F                        910 ?0341:\r
+    00004B8F DD 09                  911        ADD     IX,BC\r
+    00004B91                        912 ?0029:\r
+    00004B91 21 02 00               913        LD      HL,2\r
+    00004B94 39                     914        ADD     HL,SP\r
+    00004B95 4E                     915        LD      C,(HL)\r
+    00004B96 23                     916        INC     HL\r
+    00004B97 46                     917        LD      B,(HL)\r
+    00004B98 DD 09                  918        ADD     IX,BC\r
+    00004B9A FD 23                  919        INC     IY\r
+    00004B9C 18 A1                  920        JR      ?0027\r
+    00004B9E                        921 ?0026:\r
+    00004B9E DD E5                  922        PUSH    IX\r
+    00004BA0 E1                     923        POP     HL\r
+    00004BA1 F1                     924        POP     AF\r
+    00004BA2 F1                     925        POP     AF\r
+    00004BA3 DD E1                  926        POP     IX\r
+    00004BA5 FD E1                  927        POP     IY\r
+    00004BA7 C3 25 81               928        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    00004BAA                        929 stringheight:\r
+    00004BAA CD 52 81               930        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00004BAD 7B                     931        LD      A,E\r
+    00004BAE FE 80                  932        CP      128\r
+    00004BB0 30 06                  933        JR      NC,?0036\r
+    00004BB2                        934 ?0035:\r
+    00004BB2 21 07 00               935        LD      HL,7\r
+    00004BB5 09                     936        ADD     HL,BC\r
+    00004BB6 18 0C                  937        JR      ?0038\r
+    00004BB8                        938 ?0036:\r
+    00004BB8 FE CC                  939        CP      204\r
+    00004BBA 38 08                  940        JR      C,?0038\r
+    00004BBC 3E DF                  941        LD      A,223\r
+    00004BBE BB                     942        CP      E\r
+    00004BBF 38 03                  943        JR      C,?0038\r
+    00004BC1                        944 ?0040:\r
+    00004BC1                        945 ?0039:\r
+    00004BC1                        946 ?0037:\r
+    00004BC1 69                     947        LD      L,C\r
+    00004BC2 60                     948        LD      H,B\r
+    00004BC3 23                     949        INC     HL\r
+    00004BC4                        950 ?0038:\r
+    00004BC4                        951 ?0041:\r
+    00004BC4 C3 1F 81               952        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004BC7                        953 stringheight01:\r
+    00004BC7 CD 52 81               954        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00004BCA 01 00 00               955        LD      BC,0\r
+    00004BCD                        956 ?0419:\r
+    00004BCD 1A                     957        LD      A,(DE)\r
+    00004BCE 5F                     958        LD      E,A\r
+    00004BCF 3E 00                  959        LD      A,BYTE3 stringheight\r
+    00004BD1 21 AA 4B               960        LD      HL,LWRD stringheight\r
+    00004BD4 CD 5E 81               961        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004BD7 C3 1F 81               962        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004BDA                        963 stringheight2:\r
+    00004BDA CD 52 81               964        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00004BDD 01 05 00               965        LD      BC,5\r
+    00004BE0 C3 CD 4B               966        JP      LWRD ?0419\r
+    00004BE3                        967 stringwidth0:\r
+    00004BE3 CD 52 81               968        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00004BE6 01 00 00               969        LD      BC,0\r
+    00004BE9                        970 ?0420:\r
+    00004BE9 3E 00                  971        LD      A,BYTE3 stringwidth\r
+    00004BEB 21 31 4B               972        LD      HL,LWRD stringwidth\r
+    00004BEE CD 5E 81               973        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004BF1 C3 1F 81               974        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004BF4                        975 stringwidth1:\r
+    00004BF4 CD 52 81               976        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00004BF7 01 02 00               977        LD      BC,2\r
+    00004BFA C3 E9 4B               978        JP      LWRD ?0420\r
+    00004BFD                        979 stringwidth2:\r
+    00004BFD CD 52 81               980        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00004C00 01 03 00               981        LD      BC,3\r
+    00004C03 C3 E9 4B               982        JP      LWRD ?0420\r
+    00004C06                        983 Component_new:\r
+    00004C06 CD 88 81               984        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004C09 00 00                  985        DEFW    0\r
+    00004C0B FD E5                  986        PUSH    IY\r
+    00004C0D 11 28 00               987        LD      DE,40\r
+    00004C10 CD 25 4B               988        CALL    LWRD ?0457\r
+    00004C13 2A BF 86               989        LD      HL,(global)\r
+    00004C16 5E                     990        LD      E,(HL)\r
+    00004C17 23                     991        INC     HL\r
+    00004C18 56                     992        LD      D,(HL)\r
+    00004C19 13                     993        INC     DE\r
+    00004C1A 72                     994        LD      (HL),D\r
+    00004C1B 2B                     995        DEC     HL\r
+    00004C1C 73                     996        LD      (HL),E\r
+    00004C1D FD E5                  997        PUSH    IY\r
+    00004C1F E1                     998        POP     HL\r
+    00004C20 73                     999        LD      (HL),E\r
+    00004C21 23                    1000        INC     HL\r
+    00004C22 72                    1001        LD      (HL),D\r
+    00004C23 DD 6E 02              1002        LD      L,(IX+2)\r
+    00004C26 FD 75 02              1003        LD      (IY+2),L\r
+    00004C29 DD 66 03              1004        LD      H,(IX+3)\r
+    00004C2C FD 74 03              1005        LD      (IY+3),H\r
+    00004C2F FD 71 04              1006        LD      (IY+4),C\r
+    00004C32 FD 70 05              1007        LD      (IY+5),B\r
+    00004C35 DD 6E 0A              1008        LD      L,(IX+10)\r
+    00004C38 FD 75 06              1009        LD      (IY+6),L\r
+    00004C3B DD 66 0B              1010        LD      H,(IX+11)\r
+    00004C3E FD 74 07              1011        LD      (IY+7),H\r
+    00004C41 DD 6E 0C              1012        LD      L,(IX+12)\r
+    00004C44 FD 75 08              1013        LD      (IY+8),L\r
+    00004C47 DD 66 0D              1014        LD      H,(IX+13)\r
+    00004C4A FD 74 09              1015        LD      (IY+9),H\r
+    00004C4D AF                    1016        XOR     A\r
+    00004C4E FD 77 0A              1017        LD      (IY+10),A\r
+    00004C51 FD 77 0B              1018        LD      (IY+11),A\r
+    00004C54 FD 77 0C              1019        LD      (IY+12),A\r
+    00004C57 FD 77 0D              1020        LD      (IY+13),A\r
+    00004C5A FD 77 0E              1021        LD      (IY+14),A\r
+    00004C5D FD 77 0F              1022        LD      (IY+15),A\r
+    00004C60 FD 77 10              1023        LD      (IY+16),A\r
+    00004C63 FD 77 11              1024        LD      (IY+17),A\r
+    00004C66 FD 77 12              1025        LD      (IY+18),A\r
+    00004C69 FD 77 13              1026        LD      (IY+19),A\r
+    00004C6C FD 77 14              1027        LD      (IY+20),A\r
+    00004C6F FD 77 15              1028        LD      (IY+21),A\r
+    00004C72 FD 77 16              1029        LD      (IY+22),A\r
+    00004C75 FD 77 17              1030        LD      (IY+23),A\r
+    00004C78 FD 77 18              1031        LD      (IY+24),A\r
+    00004C7B FD 77 19              1032        LD      (IY+25),A\r
+    00004C7E FD 77 1A              1033        LD      (IY+26),A\r
+    00004C81 FD 77 1B              1034        LD      (IY+27),A\r
+    00004C84 FD 77 1C              1035        LD      (IY+28),A\r
+    00004C87 FD 77 1D              1036        LD      (IY+29),A\r
+    00004C8A FD 77 1E              1037        LD      (IY+30),A\r
+    00004C8D FD 77 1F              1038        LD      (IY+31),A\r
+    00004C90 FD 77 24              1039        LD      (IY+36),A\r
+    00004C93 FD 77 25              1040        LD      (IY+37),A\r
+    00004C96 FD 77 26              1041        LD      (IY+38),A\r
+    00004C99 FD 77 27              1042        LD      (IY+39),A\r
+    00004C9C FD 77 20              1043        LD      (IY+32),A\r
+    00004C9F FD 77 21              1044        LD      (IY+33),A\r
+    00004CA2 FD 77 22              1045        LD      (IY+34),A\r
+    00004CA5 FD 77 23              1046        LD      (IY+35),A\r
+    00004CA8                       1047 ?0422:\r
+    00004CA8 FD E5                 1048        PUSH    IY\r
+    00004CAA E1                    1049        POP     HL\r
+    00004CAB FD E1                 1050        POP     IY\r
+    00004CAD C3 1F 81              1051        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004CB0                       1052 Component_setlabel:\r
+    00004CB0 CD 88 81              1053        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004CB3 00 00                 1054        DEFW    0\r
+    00004CB5 FD E5                 1055        PUSH    IY\r
+    00004CB7 DD 6E 02              1056        LD      L,(IX+2)\r
+    00004CBA DD 66 03              1057        LD      H,(IX+3)\r
+    00004CBD E5                    1058        PUSH    HL\r
+    00004CBE FD E1                 1059        POP     IY\r
+    00004CC0 11 00 00              1060        LD      DE,0\r
+    00004CC3                       1061 ?0043:\r
+    00004CC3 DD 6E 04              1062        LD      L,(IX+4)\r
+    00004CC6 DD 66 05              1063        LD      H,(IX+5)\r
+    00004CC9 19                    1064        ADD     HL,DE\r
+    00004CCA 7E                    1065        LD      A,(HL)\r
+    00004CCB B7                    1066        OR      A\r
+    00004CCC 28 21                 1067        JR      Z,?0042\r
+    00004CCE 01 14 80              1068        LD      BC,32788\r
+    00004CD1 6B                    1069        LD      L,E\r
+    00004CD2 62                    1070        LD      H,D\r
+    00004CD3 78                    1071        LD      A,B\r
+    00004CD4 AC                    1072        XOR     H\r
+    00004CD5 67                    1073        LD      H,A\r
+    00004CD6 ED 42                 1074        SBC     HL,BC\r
+    00004CD8 30 15                 1075        JR      NC,?0042\r
+    00004CDA                       1076 ?0046:\r
+    00004CDA                       1077 ?0045:\r
+    00004CDA                       1078 ?0044:\r
+    00004CDA FD 6E 20              1079        LD      L,(IY+32)\r
+    00004CDD FD 66 21              1080        LD      H,(IY+33)\r
+    00004CE0 19                    1081        ADD     HL,DE\r
+    00004CE1 E5                    1082        PUSH    HL\r
+    00004CE2 DD 6E 04              1083        LD      L,(IX+4)\r
+    00004CE5 DD 66 05              1084        LD      H,(IX+5)\r
+    00004CE8 19                    1085        ADD     HL,DE\r
+    00004CE9 46                    1086        LD      B,(HL)\r
+    00004CEA E1                    1087        POP     HL\r
+    00004CEB 70                    1088        LD      (HL),B\r
+    00004CEC 13                    1089        INC     DE\r
+    00004CED 18 D4                 1090        JR      ?0043\r
+    00004CEF                       1091 ?0042:\r
+    00004CEF FD 6E 20              1092        LD      L,(IY+32)\r
+    00004CF2 FD 66 21              1093        LD      H,(IY+33)\r
+    00004CF5 19                    1094        ADD     HL,DE\r
+    00004CF6 36 00                 1095        LD      (HL),0\r
+    00004CF8 FD E1                 1096        POP     IY\r
+    00004CFA C3 1F 81              1097        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004CFD                       1098 Component_add:\r
+    00004CFD CD 88 81              1099        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004D00 00 00                 1100        DEFW    0\r
+    00004D02 FD E5                 1101        PUSH    IY\r
+    00004D04 59                    1102        LD      E,C\r
+    00004D05 50                    1103        LD      D,B\r
+    00004D06 21 15 00              1104        LD      HL,21\r
+    00004D09 DD 4E 02              1105        LD      C,(IX+2)\r
+    00004D0C DD 46 03              1106        LD      B,(IX+3)\r
+    00004D0F 09                    1107        ADD     HL,BC\r
+    00004D10 7E                    1108        LD      A,(HL)\r
+    00004D11 23                    1109        INC     HL\r
+    00004D12 66                    1110        LD      H,(HL)\r
+    00004D13 6F                    1111        LD      L,A\r
+    00004D14 E5                    1112        PUSH    HL\r
+    00004D15 FD E1                 1113        POP     IY\r
+    00004D17 21 15 00              1114        LD      HL,21\r
+    00004D1A 09                    1115        ADD     HL,BC\r
+    00004D1B 7E                    1116        LD      A,(HL)\r
+    00004D1C 23                    1117        INC     HL\r
+    00004D1D B6                    1118        OR      (HL)\r
+    00004D1E 20 09                 1119        JR      NZ,?0048\r
+    00004D20                       1120 ?0047:\r
+    00004D20 21 15 00              1121        LD      HL,21\r
+    00004D23 09                    1122        ADD     HL,BC\r
+    00004D24 73                    1123        LD      (HL),E\r
+    00004D25 23                    1124        INC     HL\r
+    00004D26 72                    1125        LD      (HL),D\r
+    00004D27 18 19                 1126        JR      ?0345\r
+    00004D29                       1127 ?0048:\r
+    00004D29                       1128 ?0051:\r
+    00004D29 FD 7E 13              1129        LD      A,(IY+19)\r
+    00004D2C FD B6 14              1130        OR      (IY+20)\r
+    00004D2F 28 0B                 1131        JR      Z,?0050\r
+    00004D31                       1132 ?0052:\r
+    00004D31 FD 6E 13              1133        LD      L,(IY+19)\r
+    00004D34 FD 66 14              1134        LD      H,(IY+20)\r
+    00004D37 E5                    1135        PUSH    HL\r
+    00004D38 FD E1                 1136        POP     IY\r
+    00004D3A 18 ED                 1137        JR      ?0048\r
+    00004D3C                       1138 ?0050:\r
+    00004D3C FD 73 13              1139        LD      (IY+19),E\r
+    00004D3F FD 72 14              1140        LD      (IY+20),D\r
+    00004D42                       1141 ?0345:\r
+    00004D42 21 13 00              1142        LD      HL,19\r
+    00004D45 19                    1143        ADD     HL,DE\r
+    00004D46 77                    1144        LD      (HL),A\r
+    00004D47 23                    1145        INC     HL\r
+    00004D48 77                    1146        LD      (HL),A\r
+    00004D49                       1147 ?0049:\r
+    00004D49 21 11 00              1148        LD      HL,17\r
+    00004D4C 19                    1149        ADD     HL,DE\r
+    00004D4D DD 4E 02              1150        LD      C,(IX+2)\r
+    00004D50 71                    1151        LD      (HL),C\r
+    00004D51 DD 46 03              1152        LD      B,(IX+3)\r
+    00004D54 23                    1153        INC     HL\r
+    00004D55 70                    1154        LD      (HL),B\r
+    00004D56 FD E1                 1155        POP     IY\r
+    00004D58 C3 1F 81              1156        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004D5B                       1157 Component_paint:\r
+    00004D5B C5                    1158        PUSH    BC\r
+    00004D5C FD E5                 1159        PUSH    IY\r
+    00004D5E DD E5                 1160        PUSH    IX\r
+    00004D60 21 15 00              1161        LD      HL,21\r
+    00004D63 19                    1162        ADD     HL,DE\r
+    00004D64 46                    1163        LD      B,(HL)\r
+    00004D65 23                    1164        INC     HL\r
+    00004D66 66                    1165        LD      H,(HL)\r
+    00004D67 68                    1166        LD      L,B\r
+    00004D68 E5                    1167        PUSH    HL\r
+    00004D69 DD E1                 1168        POP     IX\r
+    00004D6B CD 97 4D              1169        CALL    LWRD ?0486\r
+    00004D6E                       1170 ?0054:\r
+    00004D6E DD E5                 1171        PUSH    IX\r
+    00004D70 E1                    1172        POP     HL\r
+    00004D71 7D                    1173        LD      A,L\r
+    00004D72 B4                    1174        OR      H\r
+    00004D73 28 1A                 1175        JR      Z,?0053\r
+    00004D75                       1176 ?0055:\r
+    00004D75 DD E5                 1177        PUSH    IX\r
+    00004D77 D1                    1178        POP     DE\r
+    00004D78 DD 7E 1C              1179        LD      A,(IX+28)\r
+    00004D7B DD 6E 1A              1180        LD      L,(IX+26)\r
+    00004D7E DD 66 1B              1181        LD      H,(IX+27)\r
+    00004D81 CD 5E 81              1182        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00004D84 DD 6E 13              1183        LD      L,(IX+19)\r
+    00004D87 DD 66 14              1184        LD      H,(IX+20)\r
+    00004D8A E5                    1185        PUSH    HL\r
+    00004D8B DD E1                 1186        POP     IX\r
+    00004D8D 18 DF                 1187        JR      ?0054\r
+    00004D8F                       1188 ?0053:\r
+    00004D8F 1E 01                 1189        LD      E,1\r
+    00004D91 CD 99 4D              1190        CALL    LWRD ?0487\r
+    00004D94 C3 C1 48              1191        JP      LWRD ?0415\r
+    00004D97                       1192 ?0486:\r
+    00004D97 1E 00                 1193        LD      E,0\r
+    00004D99                       1194 ?0487:\r
+    00004D99 3E 00                 1195        LD      A,BYTE3 EnableScreen\r
+    00004D9B 21 5D 49              1196        LD      HL,LWRD EnableScreen\r
+    00004D9E C3 5E 81              1197        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004DA1                       1198 Component_findXY:\r
+    00004DA1 CD 88 81              1199        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004DA4 00 00                 1200        DEFW    0\r
+    00004DA6 FD E5                 1201        PUSH    IY\r
+    00004DA8 DD 6E 02              1202        LD      L,(IX+2)\r
+    00004DAB DD 66 03              1203        LD      H,(IX+3)\r
+    00004DAE E5                    1204        PUSH    HL\r
+    00004DAF FD E1                 1205        POP     IY\r
+    00004DB1                       1206 ?0058:\r
+    00004DB1 DD 6E 04              1207        LD      L,(IX+4)\r
+    00004DB4 DD 66 05              1208        LD      H,(IX+5)\r
+    00004DB7 7E                    1209        LD      A,(HL)\r
+    00004DB8 FD 86 02              1210        ADD     A,(IY+2)\r
+    00004DBB 77                    1211        LD      (HL),A\r
+    00004DBC 23                    1212        INC     HL\r
+    00004DBD 7E                    1213        LD      A,(HL)\r
+    00004DBE FD 8E 03              1214        ADC     A,(IY+3)\r
+    00004DC1 77                    1215        LD      (HL),A\r
+    00004DC2 DD 6E 0A              1216        LD      L,(IX+10)\r
+    00004DC5 DD 66 0B              1217        LD      H,(IX+11)\r
+    00004DC8 7E                    1218        LD      A,(HL)\r
+    00004DC9 FD 86 04              1219        ADD     A,(IY+4)\r
+    00004DCC 77                    1220        LD      (HL),A\r
+    00004DCD 23                    1221        INC     HL\r
+    00004DCE 7E                    1222        LD      A,(HL)\r
+    00004DCF FD 8E 05              1223        ADC     A,(IY+5)\r
+    00004DD2 77                    1224        LD      (HL),A\r
+    00004DD3 FD 6E 11              1225        LD      L,(IY+17)\r
+    00004DD6 FD 66 12              1226        LD      H,(IY+18)\r
+    00004DD9 E5                    1227        PUSH    HL\r
+    00004DDA FD E1                 1228        POP     IY\r
+    00004DDC 7D                    1229        LD      A,L\r
+    00004DDD B4                    1230        OR      H\r
+    00004DDE 20 D1                 1231        JR      NZ,?0058\r
+    00004DE0                       1232 ?0056:\r
+    00004DE0 FD E1                 1233        POP     IY\r
+    00004DE2 C3 1F 81              1234        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004DE5                       1235 Component_find:\r
+    00004DE5 CD 88 81              1236        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004DE8 00 00                 1237        DEFW    0\r
+    00004DEA 21 15 00              1238        LD      HL,21\r
+    00004DED DD 4E 02              1239        LD      C,(IX+2)\r
+    00004DF0 DD 46 03              1240        LD      B,(IX+3)\r
+    00004DF3 09                    1241        ADD     HL,BC\r
+    00004DF4                       1242 ?0346:\r
+    00004DF4 46                    1243        LD      B,(HL)\r
+    00004DF5 23                    1244        INC     HL\r
+    00004DF6 66                    1245        LD      H,(HL)\r
+    00004DF7 68                    1246        LD      L,B\r
+    00004DF8 EB                    1247        EX      DE,HL\r
+    00004DF9                       1248 ?0060:\r
+    00004DF9 7B                    1249        LD      A,E\r
+    00004DFA B2                    1250        OR      D\r
+    00004DFB 28 1B                 1251        JR      Z,?0059\r
+    00004DFD                       1252 ?0061:\r
+    00004DFD 21 10 00              1253        LD      HL,16\r
+    00004E00 19                    1254        ADD     HL,DE\r
+    00004E01 4E                    1255        LD      C,(HL)\r
+    00004E02 06 00                 1256        LD      B,0\r
+    00004E04 DD 6E 04              1257        LD      L,(IX+4)\r
+    00004E07 DD 66 05              1258        LD      H,(IX+5)\r
+    00004E0A A7                    1259        AND     A\r
+    00004E0B ED 42                 1260        SBC     HL,BC\r
+    00004E0D 20 03                 1261        JR      NZ,?0063\r
+    00004E0F                       1262 ?0062:\r
+    00004E0F EB                    1263        EX      DE,HL\r
+    00004E10 18 08                 1264        JR      ?0064\r
+    00004E12                       1265 ?0063:\r
+    00004E12 21 13 00              1266        LD      HL,19\r
+    00004E15 19                    1267        ADD     HL,DE\r
+    00004E16 18 DC                 1268        JR      ?0346\r
+    00004E18                       1269 ?0059:\r
+    00004E18 6F                    1270        LD      L,A\r
+    00004E19 67                    1271        LD      H,A\r
+    00004E1A                       1272 ?0064:\r
+    00004E1A C3 1F 81              1273        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004E1D                       1274 Component_delete:\r
+    00004E1D CD 88 81              1275        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00004E20 F8 FF                 1276        DEFW    65528\r
+    00004E22 FD E5                 1277        PUSH    IY\r
+    00004E24 DD 6E 02              1278        LD      L,(IX+2)\r
+    00004E27 DD 66 03              1279        LD      H,(IX+3)\r
+    00004E2A E5                    1280        PUSH    HL\r
+    00004E2B FD E1                 1281        POP     IY\r
+    00004E2D FD 6E 15              1282        LD      L,(IY+21)\r
+    00004E30 DD 75 F8              1283        LD      (IX-8),L\r
+    00004E33 FD 66 16              1284        LD      H,(IY+22)\r
+    00004E36 DD 74 F9              1285        LD      (IX-7),H\r
+    00004E39 FD E5                 1286        PUSH    IY\r
+    00004E3B E1                    1287        POP     HL\r
+    00004E3C 7D                    1288        LD      A,L\r
+    00004E3D B4                    1289        OR      H\r
+    00004E3E CA D0 4F              1290        JP      Z,?0066\r
+    00004E41                       1291 ?0065:\r
+    00004E41                       1292 ?0068:\r
+    00004E41 DD 7E F8              1293        LD      A,(IX-8)\r
+    00004E44 DD B6 F9              1294        OR      (IX-7)\r
+    00004E47 28 11                 1295        JR      Z,?0067\r
+    00004E49                       1296 ?0069:\r
+    00004E49 DD 5E F8              1297        LD      E,(IX-8)\r
+    00004E4C DD 56 F9              1298        LD      D,(IX-7)\r
+    00004E4F CD E6 4F              1299        CALL    LWRD ?0467\r
+    00004E52 DD 75 F8              1300        LD      (IX-8),L\r
+    00004E55 DD 74 F9              1301        LD      (IX-7),H\r
+    00004E58 18 E7                 1302        JR      ?0065\r
+    00004E5A                       1303 ?0067:\r
+    00004E5A FD 7E 11              1304        LD      A,(IY+17)\r
+    00004E5D FD B6 12              1305        OR      (IY+18)\r
+    00004E60 CA EC 4E              1306        JP      Z,?0081\r
+    00004E63                       1307 ?0070:\r
+    00004E63 FD 6E 11              1308        LD      L,(IY+17)\r
+    00004E66 FD 66 12              1309        LD      H,(IY+18)\r
+    00004E69 01 15 00              1310        LD      BC,21\r
+    00004E6C 09                    1311        ADD     HL,BC\r
+    00004E6D 46                    1312        LD      B,(HL)\r
+    00004E6E 23                    1313        INC     HL\r
+    00004E6F 66                    1314        LD      H,(HL)\r
+    00004E70 68                    1315        LD      L,B\r
+    00004E71 FD E5                 1316        PUSH    IY\r
+    00004E73 C1                    1317        POP     BC\r
+    00004E74 A7                    1318        AND     A\r
+    00004E75 ED 42                 1319        SBC     HL,BC\r
+    00004E77 FD 6E 11              1320        LD      L,(IY+17)\r
+    00004E7A FD 66 12              1321        LD      H,(IY+18)\r
+    00004E7D 01 15 00              1322        LD      BC,21\r
+    00004E80 09                    1323        ADD     HL,BC\r
+    00004E81 20 09                 1324        JR      NZ,?0073\r
+    00004E83                       1325 ?0072:\r
+    00004E83 E5                    1326        PUSH    HL\r
+    00004E84 FD 6E 11              1327        LD      L,(IY+17)\r
+    00004E87 FD 66 12              1328        LD      H,(IY+18)\r
+    00004E8A 18 50                 1329        JR      ?0349\r
+    00004E8C                       1330 ?0073:\r
+    00004E8C 46                    1331        LD      B,(HL)\r
+    00004E8D 23                    1332        INC     HL\r
+    00004E8E 66                    1333        LD      H,(HL)\r
+    00004E8F 68                    1334        LD      L,B\r
+    00004E90                       1335 ?0348:\r
+    00004E90 DD 75 F8              1336        LD      (IX-8),L\r
+    00004E93 DD 74 F9              1337        LD      (IX-7),H\r
+    00004E96                       1338 ?0076:\r
+    00004E96 21 13 00              1339        LD      HL,19\r
+    00004E99 DD 4E F8              1340        LD      C,(IX-8)\r
+    00004E9C DD 46 F9              1341        LD      B,(IX-7)\r
+    00004E9F 09                    1342        ADD     HL,BC\r
+    00004EA0 46                    1343        LD      B,(HL)\r
+    00004EA1 23                    1344        INC     HL\r
+    00004EA2 66                    1345        LD      H,(HL)\r
+    00004EA3 68                    1346        LD      L,B\r
+    00004EA4 FD E5                 1347        PUSH    IY\r
+    00004EA6 C1                    1348        POP     BC\r
+    00004EA7 A7                    1349        AND     A\r
+    00004EA8 ED 42                 1350        SBC     HL,BC\r
+    00004EAA 28 19                 1351        JR      Z,?0075\r
+    00004EAC 21 13 00              1352        LD      HL,19\r
+    00004EAF DD 4E F8              1353        LD      C,(IX-8)\r
+    00004EB2 DD 46 F9              1354        LD      B,(IX-7)\r
+    00004EB5 09                    1355        ADD     HL,BC\r
+    00004EB6 7E                    1356        LD      A,(HL)\r
+    00004EB7 23                    1357        INC     HL\r
+    00004EB8 B6                    1358        OR      (HL)\r
+    00004EB9 28 0A                 1359        JR      Z,?0075\r
+    00004EBB                       1360 ?0079:\r
+    00004EBB                       1361 ?0078:\r
+    00004EBB                       1362 ?0077:\r
+    00004EBB 21 13 00              1363        LD      HL,19\r
+    00004EBE 09                    1364        ADD     HL,BC\r
+    00004EBF 56                    1365        LD      D,(HL)\r
+    00004EC0 23                    1366        INC     HL\r
+    00004EC1 66                    1367        LD      H,(HL)\r
+    00004EC2 6A                    1368        LD      L,D\r
+    00004EC3 18 CB                 1369        JR      ?0348\r
+    00004EC5                       1370 ?0075:\r
+    00004EC5 21 13 00              1371        LD      HL,19\r
+    00004EC8 DD 4E F8              1372        LD      C,(IX-8)\r
+    00004ECB DD 46 F9              1373        LD      B,(IX-7)\r
+    00004ECE 09                    1374        ADD     HL,BC\r
+    00004ECF 7E                    1375        LD      A,(HL)\r
+    00004ED0 23                    1376        INC     HL\r
+    00004ED1 B6                    1377        OR      (HL)\r
+    00004ED2 28 18                 1378        JR      Z,?0081\r
+    00004ED4                       1379 ?0080:\r
+    00004ED4 21 13 00              1380        LD      HL,19\r
+    00004ED7 09                    1381        ADD     HL,BC\r
+    00004ED8 E5                    1382        PUSH    HL\r
+    00004ED9 21 13 00              1383        LD      HL,19\r
+    00004EDC                       1384 ?0349:\r
+    00004EDC 09                    1385        ADD     HL,BC\r
+    00004EDD 46                    1386        LD      B,(HL)\r
+    00004EDE 23                    1387        INC     HL\r
+    00004EDF 66                    1388        LD      H,(HL)\r
+    00004EE0 68                    1389        LD      L,B\r
+    00004EE1 01 13 00              1390        LD      BC,19\r
+    00004EE4 09                    1391        ADD     HL,BC\r
+    00004EE5 4E                    1392        LD      C,(HL)\r
+    00004EE6 23                    1393        INC     HL\r
+    00004EE7 46                    1394        LD      B,(HL)\r
+    00004EE8 E1                    1395        POP     HL\r
+    00004EE9 71                    1396        LD      (HL),C\r
+    00004EEA 23                    1397        INC     HL\r
+    00004EEB 70                    1398        LD      (HL),B\r
+    00004EEC                       1399 ?0081:\r
+    00004EEC                       1400 ?0074:\r
+    00004EEC                       1401 ?0071:\r
+    00004EEC FD 6E 13              1402        LD      L,(IY+19)\r
+    00004EEF DD 75 F8              1403        LD      (IX-8),L\r
+    00004EF2 FD 66 14              1404        LD      H,(IY+20)\r
+    00004EF5 DD 74 F9              1405        LD      (IX-7),H\r
+    00004EF8 3E 04                 1406        LD      A,4\r
+    00004EFA FD AE 24              1407        XOR     (IY+36)\r
+    00004EFD FD B6 25              1408        OR      (IY+37)\r
+    00004F00 C2 9C 4F              1409        JP      NZ,?0090\r
+    00004F03                       1410 ?0082:\r
+    00004F03 FD 6E 11              1411        LD      L,(IY+17)\r
+    00004F06 DD 75 FC              1412        LD      (IX-4),L\r
+    00004F09 FD 66 12              1413        LD      H,(IY+18)\r
+    00004F0C DD 74 FD              1414        LD      (IX-3),H\r
+    00004F0F FD 6E 26              1415        LD      L,(IY+38)\r
+    00004F12 DD 75 FE              1416        LD      (IX-2),L\r
+    00004F15 FD 66 27              1417        LD      H,(IY+39)\r
+    00004F18 DD 74 FF              1418        LD      (IX-1),H\r
+    00004F1B CD DB 4F              1419        CALL    LWRD ?0464\r
+    00004F1E DD 6E FE              1420        LD      L,(IX-2)\r
+    00004F21 DD 66 FF              1421        LD      H,(IX-1)\r
+    00004F24 23                    1422        INC     HL\r
+    00004F25 23                    1423        INC     HL\r
+    00004F26 CD DB 4F              1424        CALL    LWRD ?0464\r
+    00004F29                       1425 ?0085:\r
+    00004F29 DD 7E FC              1426        LD      A,(IX-4)\r
+    00004F2C DD B6 FD              1427        OR      (IX-3)\r
+    00004F2F 28 20                 1428        JR      Z,?0084\r
+    00004F31 21 24 00              1429        LD      HL,36\r
+    00004F34 DD 4E FC              1430        LD      C,(IX-4)\r
+    00004F37 DD 46 FD              1431        LD      B,(IX-3)\r
+    00004F3A 09                    1432        ADD     HL,BC\r
+    00004F3B 3E 04                 1433        LD      A,4\r
+    00004F3D AE                    1434        XOR     (HL)\r
+    00004F3E 23                    1435        INC     HL\r
+    00004F3F B6                    1436        OR      (HL)\r
+    00004F40 28 0F                 1437        JR      Z,?0084\r
+    00004F42                       1438 ?0088:\r
+    00004F42                       1439 ?0087:\r
+    00004F42                       1440 ?0086:\r
+    00004F42 21 11 00              1441        LD      HL,17\r
+    00004F45 09                    1442        ADD     HL,BC\r
+    00004F46 56                    1443        LD      D,(HL)\r
+    00004F47 DD 72 FC              1444        LD      (IX-4),D\r
+    00004F4A 23                    1445        INC     HL\r
+    00004F4B 66                    1446        LD      H,(HL)\r
+    00004F4C DD 74 FD              1447        LD      (IX-3),H\r
+    00004F4F 18 D8                 1448        JR      ?0085\r
+    00004F51                       1449 ?0084:\r
+    00004F51 DD 7E FC              1450        LD      A,(IX-4)\r
+    00004F54 DD B6 FD              1451        OR      (IX-3)\r
+    00004F57 28 43                 1452        JR      Z,?0090\r
+    00004F59                       1453 ?0089:\r
+    00004F59 21 26 00              1454        LD      HL,38\r
+    00004F5C DD 4E FC              1455        LD      C,(IX-4)\r
+    00004F5F DD 46 FD              1456        LD      B,(IX-3)\r
+    00004F62 09                    1457        ADD     HL,BC\r
+    00004F63 46                    1458        LD      B,(HL)\r
+    00004F64 DD 70 FE              1459        LD      (IX-2),B\r
+    00004F67 23                    1460        INC     HL\r
+    00004F68 66                    1461        LD      H,(HL)\r
+    00004F69 DD 74 FF              1462        LD      (IX-1),H\r
+    00004F6C 21 0A 00              1463        LD      HL,10\r
+    00004F6F ED 4B BF 86           1464        LD      BC,(global)\r
+    00004F73 09                    1465        ADD     HL,BC\r
+    00004F74 E5                    1466        PUSH    HL\r
+    00004F75 DD 6E FE              1467        LD      L,(IX-2)\r
+    00004F78 DD 66 FF              1468        LD      H,(IX-1)\r
+    00004F7B 5E                    1469        LD      E,(HL)\r
+    00004F7C 23                    1470        INC     HL\r
+    00004F7D 56                    1471        LD      D,(HL)\r
+    00004F7E E1                    1472        POP     HL\r
+    00004F7F 73                    1473        LD      (HL),E\r
+    00004F80 23                    1474        INC     HL\r
+    00004F81 72                    1475        LD      (HL),D\r
+    00004F82 21 0C 00              1476        LD      HL,12\r
+    00004F85 ED 4B BF 86           1477        LD      BC,(global)\r
+    00004F89 09                    1478        ADD     HL,BC\r
+    00004F8A E5                    1479        PUSH    HL\r
+    00004F8B DD 4E FE              1480        LD      C,(IX-2)\r
+    00004F8E DD 46 FF              1481        LD      B,(IX-1)\r
+    00004F91 03                    1482        INC     BC\r
+    00004F92 03                    1483        INC     BC\r
+    00004F93 69                    1484        LD      L,C\r
+    00004F94 60                    1485        LD      H,B\r
+    00004F95 4E                    1486        LD      C,(HL)\r
+    00004F96 23                    1487        INC     HL\r
+    00004F97 46                    1488        LD      B,(HL)\r
+    00004F98 E1                    1489        POP     HL\r
+    00004F99 71                    1490        LD      (HL),C\r
+    00004F9A 23                    1491        INC     HL\r
+    00004F9B 70                    1492        LD      (HL),B\r
+    00004F9C                       1493 ?0090:\r
+    00004F9C                       1494 ?0083:\r
+    00004F9C FD 4E 24              1495        LD      C,(IY+36)\r
+    00004F9F FD 46 25              1496        LD      B,(IY+37)\r
+    00004FA2 21 00 00              1497        LD      HL,0\r
+    00004FA5 CD A6 81              1498        CALL    LWRD ?SS_CMP_L02\r
+    00004FA8 30 09                 1499        JR      NC,?0092\r
+    00004FAA                       1500 ?0091:\r
+    00004FAA FD 5E 26              1501        LD      E,(IY+38)\r
+    00004FAD FD 56 27              1502        LD      D,(IY+39)\r
+    00004FB0 CD DE 4F              1503        CALL    LWRD ?0465\r
+    00004FB3                       1504 ?0092:\r
+    00004FB3 FD CB 0B 76           1505        BIT     6,(IY+11)\r
+    00004FB7 20 11                 1506        JR      NZ,?0094\r
+    00004FB9 FD 7E 20              1507        LD      A,(IY+32)\r
+    00004FBC FD B6 21              1508        OR      (IY+33)\r
+    00004FBF 28 09                 1509        JR      Z,?0094\r
+    00004FC1                       1510 ?0096:\r
+    00004FC1                       1511 ?0095:\r
+    00004FC1                       1512 ?0093:\r
+    00004FC1 FD 5E 20              1513        LD      E,(IY+32)\r
+    00004FC4 FD 56 21              1514        LD      D,(IY+33)\r
+    00004FC7 CD DE 4F              1515        CALL    LWRD ?0465\r
+    00004FCA                       1516 ?0094:\r
+    00004FCA FD E5                 1517        PUSH    IY\r
+    00004FCC D1                    1518        POP     DE\r
+    00004FCD CD DE 4F              1519        CALL    LWRD ?0465\r
+    00004FD0                       1520 ?0066:\r
+    00004FD0 DD 6E F8              1521        LD      L,(IX-8)\r
+    00004FD3 DD 66 F9              1522        LD      H,(IX-7)\r
+    00004FD6 FD E1                 1523        POP     IY\r
+    00004FD8 C3 1F 81              1524        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00004FDB                       1525 ?0464:\r
+    00004FDB 5E                    1526        LD      E,(HL)\r
+    00004FDC 23                    1527        INC     HL\r
+    00004FDD 56                    1528        LD      D,(HL)\r
+    00004FDE                       1529 ?0465:\r
+    00004FDE 3E 00                 1530        LD      A,BYTE3 free\r
+    00004FE0 21 6D 75              1531        LD      HL,LWRD free\r
+    00004FE3 C3 5E 81              1532        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004FE6                       1533 ?0467:\r
+    00004FE6 3E 00                 1534        LD      A,BYTE3 Component_delete\r
+    00004FE8 21 1D 4E              1535        LD      HL,LWRD Component_delete\r
+    00004FEB C3 5E 81              1536        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00004FEE                       1537 Component_delete_children:\r
+    00004FEE C5                    1538        PUSH    BC\r
+    00004FEF FD E5                 1539        PUSH    IY\r
+    00004FF1 DD E5                 1540        PUSH    IX\r
+    00004FF3 21 15 00              1541        LD      HL,21\r
+    00004FF6 19                    1542        ADD     HL,DE\r
+    00004FF7 46                    1543        LD      B,(HL)\r
+    00004FF8 23                    1544        INC     HL\r
+    00004FF9 66                    1545        LD      H,(HL)\r
+    00004FFA 68                    1546        LD      L,B\r
+    00004FFB                       1547 ?0351:\r
+    00004FFB E5                    1548        PUSH    HL\r
+    00004FFC DD E1                 1549        POP     IX\r
+    00004FFE                       1550 ?0098:\r
+    00004FFE 7D                    1551        LD      A,L\r
+    00004FFF B4                    1552        OR      H\r
+    00005000 28 08                 1553        JR      Z,?0097\r
+    00005002                       1554 ?0099:\r
+    00005002 DD E5                 1555        PUSH    IX\r
+    00005004 D1                    1556        POP     DE\r
+    00005005 CD E6 4F              1557        CALL    LWRD ?0467\r
+    00005008 18 F1                 1558        JR      ?0351\r
+    0000500A                       1559 ?0097:\r
+    0000500A C3 C1 48              1560        JP      LWRD ?0415\r
+    0000500D                       1561 Component_changestate_children:\r
+    0000500D CD 88 81              1562        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00005010 00 00                 1563        DEFW    0\r
+    00005012 FD E5                 1564        PUSH    IY\r
+    00005014 21 15 00              1565        LD      HL,21\r
+    00005017 DD 5E 02              1566        LD      E,(IX+2)\r
+    0000501A DD 56 03              1567        LD      D,(IX+3)\r
+    0000501D 19                    1568        ADD     HL,DE\r
+    0000501E                       1569 ?0352:\r
+    0000501E 56                    1570        LD      D,(HL)\r
+    0000501F 23                    1571        INC     HL\r
+    00005020 66                    1572        LD      H,(HL)\r
+    00005021 6A                    1573        LD      L,D\r
+    00005022 E5                    1574        PUSH    HL\r
+    00005023 FD E1                 1575        POP     IY\r
+    00005025                       1576 ?0101:\r
+    00005025 7D                    1577        LD      A,L\r
+    00005026 B4                    1578        OR      H\r
+    00005027 28 3D                 1579        JR      Z,?0100\r
+    00005029                       1580 ?0102:\r
+    00005029 21 0A 00              1581        LD      HL,10\r
+    0000502C FD E5                 1582        PUSH    IY\r
+    0000502E C1                    1583        POP     BC\r
+    0000502F 09                    1584        ADD     HL,BC\r
+    00005030 DD 7E 04              1585        LD      A,(IX+4)\r
+    00005033 DD 56 05              1586        LD      D,(IX+5)\r
+    00005036 2F                    1587        CPL\r
+    00005037 5F                    1588        LD      E,A\r
+    00005038 7A                    1589        LD      A,D\r
+    00005039 2F                    1590        CPL\r
+    0000503A 57                    1591        LD      D,A\r
+    0000503B 7E                    1592        LD      A,(HL)\r
+    0000503C A3                    1593        AND     E\r
+    0000503D 77                    1594        LD      (HL),A\r
+    0000503E 23                    1595        INC     HL\r
+    0000503F 7E                    1596        LD      A,(HL)\r
+    00005040 A2                    1597        AND     D\r
+    00005041 77                    1598        LD      (HL),A\r
+    00005042 21 0A 00              1599        LD      HL,10\r
+    00005045 09                    1600        ADD     HL,BC\r
+    00005046 7E                    1601        LD      A,(HL)\r
+    00005047 DD B6 0A              1602        OR      (IX+10)\r
+    0000504A 77                    1603        LD      (HL),A\r
+    0000504B 23                    1604        INC     HL\r
+    0000504C 7E                    1605        LD      A,(HL)\r
+    0000504D DD B6 0B              1606        OR      (IX+11)\r
+    00005050 77                    1607        LD      (HL),A\r
+    00005051 21 0A 00              1608        LD      HL,10\r
+    00005054 09                    1609        ADD     HL,BC\r
+    00005055 7E                    1610        LD      A,(HL)\r
+    00005056 DD AE 0C              1611        XOR     (IX+12)\r
+    00005059 77                    1612        LD      (HL),A\r
+    0000505A 23                    1613        INC     HL\r
+    0000505B 7E                    1614        LD      A,(HL)\r
+    0000505C DD AE 0D              1615        XOR     (IX+13)\r
+    0000505F 77                    1616        LD      (HL),A\r
+    00005060 21 13 00              1617        LD      HL,19\r
+    00005063 09                    1618        ADD     HL,BC\r
+    00005064 18 B8                 1619        JR      ?0352\r
+    00005066                       1620 ?0100:\r
+    00005066 11 76 85              1621        LD      DE,stdout\r
+    00005069 3E 00                 1622        LD      A,BYTE3 fflush\r
+    0000506B 21 60 6D              1623        LD      HL,LWRD fflush\r
+    0000506E CD 5E 81              1624        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005071 FD E1                 1625        POP     IY\r
+    00005073 C3 1F 81              1626        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00005076                       1627 Component_linkstringtable:\r
+    00005076 C5                    1628        PUSH    BC\r
+    00005077 FD E5                 1629        PUSH    IY\r
+    00005079 DD E5                 1630        PUSH    IX\r
+    0000507B D5                    1631        PUSH    DE\r
+    0000507C DD E1                 1632        POP     IX\r
+    0000507E 21 15 00              1633        LD      HL,21\r
+    00005081 19                    1634        ADD     HL,DE\r
+    00005082 46                    1635        LD      B,(HL)\r
+    00005083 23                    1636        INC     HL\r
+    00005084 66                    1637        LD      H,(HL)\r
+    00005085 68                    1638        LD      L,B\r
+    00005086 E5                    1639        PUSH    HL\r
+    00005087 FD E1                 1640        POP     IY\r
+    00005089 21 20 00              1641        LD      HL,32\r
+    0000508C 19                    1642        ADD     HL,DE\r
+    0000508D 46                    1643        LD      B,(HL)\r
+    0000508E 23                    1644        INC     HL\r
+    0000508F 66                    1645        LD      H,(HL)\r
+    00005090 68                    1646        LD      L,B\r
+    00005091 01 00 90              1647        LD      BC,36864\r
+    00005094 3E 80                 1648        LD      A,128\r
+    00005096 AC                    1649        XOR     H\r
+    00005097 67                    1650        LD      H,A\r
+    00005098 ED 42                 1651        SBC     HL,BC\r
+    0000509A 30 2E                 1652        JR      NC,?0104\r
+    0000509C DD 4E 20              1653        LD      C,(IX+32)\r
+    0000509F DD 46 21              1654        LD      B,(IX+33)\r
+    000050A2 21 00 00              1655        LD      HL,0\r
+    000050A5 CD A6 81              1656        CALL    LWRD ?SS_CMP_L02\r
+    000050A8 30 20                 1657        JR      NC,?0104\r
+    000050AA                       1658 ?0106:\r
+    000050AA                       1659 ?0105:\r
+    000050AA                       1660 ?0103:\r
+    000050AA DD 6E 20              1661        LD      L,(IX+32)\r
+    000050AD DD 66 21              1662        LD      H,(IX+33)\r
+    000050B0 29                    1663        ADD     HL,HL\r
+    000050B1 E5                    1664        PUSH    HL\r
+    000050B2 21 0C 00              1665        LD      HL,12\r
+    000050B5 ED 4B BF 86           1666        LD      BC,(global)\r
+    000050B9 09                    1667        ADD     HL,BC\r
+    000050BA 4E                    1668        LD      C,(HL)\r
+    000050BB 23                    1669        INC     HL\r
+    000050BC 46                    1670        LD      B,(HL)\r
+    000050BD E1                    1671        POP     HL\r
+    000050BE 09                    1672        ADD     HL,BC\r
+    000050BF 2B                    1673        DEC     HL\r
+    000050C0 2B                    1674        DEC     HL\r
+    000050C1 46                    1675        LD      B,(HL)\r
+    000050C2 DD 70 20              1676        LD      (IX+32),B\r
+    000050C5 23                    1677        INC     HL\r
+    000050C6 66                    1678        LD      H,(HL)\r
+    000050C7 DD 74 21              1679        LD      (IX+33),H\r
+    000050CA                       1680 ?0104:\r
+    000050CA DD 6E 22              1681        LD      L,(IX+34)\r
+    000050CD DD 66 23              1682        LD      H,(IX+35)\r
+    000050D0 01 00 90              1683        LD      BC,36864\r
+    000050D3 3E 80                 1684        LD      A,128\r
+    000050D5 AC                    1685        XOR     H\r
+    000050D6 67                    1686        LD      H,A\r
+    000050D7 ED 42                 1687        SBC     HL,BC\r
+    000050D9 30 2E                 1688        JR      NC,?0108\r
+    000050DB DD 4E 22              1689        LD      C,(IX+34)\r
+    000050DE DD 46 23              1690        LD      B,(IX+35)\r
+    000050E1 21 00 00              1691        LD      HL,0\r
+    000050E4 CD A6 81              1692        CALL    LWRD ?SS_CMP_L02\r
+    000050E7 30 20                 1693        JR      NC,?0108\r
+    000050E9                       1694 ?0110:\r
+    000050E9                       1695 ?0109:\r
+    000050E9                       1696 ?0107:\r
+    000050E9 DD 6E 22              1697        LD      L,(IX+34)\r
+    000050EC DD 66 23              1698        LD      H,(IX+35)\r
+    000050EF 29                    1699        ADD     HL,HL\r
+    000050F0 E5                    1700        PUSH    HL\r
+    000050F1 21 0C 00              1701        LD      HL,12\r
+    000050F4 ED 4B BF 86           1702        LD      BC,(global)\r
+    000050F8 09                    1703        ADD     HL,BC\r
+    000050F9 4E                    1704        LD      C,(HL)\r
+    000050FA 23                    1705        INC     HL\r
+    000050FB 46                    1706        LD      B,(HL)\r
+    000050FC E1                    1707        POP     HL\r
+    000050FD 09                    1708        ADD     HL,BC\r
+    000050FE 2B                    1709        DEC     HL\r
+    000050FF 2B                    1710        DEC     HL\r
+    00005100 46                    1711        LD      B,(HL)\r
+    00005101 DD 70 22              1712        LD      (IX+34),B\r
+    00005104 23                    1713        INC     HL\r
+    00005105 66                    1714        LD      H,(HL)\r
+    00005106 DD 74 23              1715        LD      (IX+35),H\r
+    00005109                       1716 ?0108:\r
+    00005109                       1717 ?0112:\r
+    00005109 FD E5                 1718        PUSH    IY\r
+    0000510B E1                    1719        POP     HL\r
+    0000510C 7D                    1720        LD      A,L\r
+    0000510D B4                    1721        OR      H\r
+    0000510E 28 16                 1722        JR      Z,?0111\r
+    00005110                       1723 ?0113:\r
+    00005110 FD E5                 1724        PUSH    IY\r
+    00005112 D1                    1725        POP     DE\r
+    00005113 3E 00                 1726        LD      A,BYTE3 Component_linkstringtable\r
+    00005115 21 76 50              1727        LD      HL,LWRD Component_linkstringtable\r
+    00005118 CD 5E 81              1728        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000511B FD 6E 13              1729        LD      L,(IY+19)\r
+    0000511E FD 66 14              1730        LD      H,(IY+20)\r
+    00005121 E5                    1731        PUSH    HL\r
+    00005122 FD E1                 1732        POP     IY\r
+    00005124 18 E3                 1733        JR      ?0108\r
+    00005126                       1734 ?0111:\r
+    00005126 C3 C1 48              1735        JP      LWRD ?0415\r
+    00005129                       1736 Window_handler:\r
+    00005129 CD 88 81              1737        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000512C D0 FF                 1738        DEFW    65488\r
+    0000512E FD E5                 1739        PUSH    IY\r
+    00005130 AF                    1740        XOR     A\r
+    00005131 DD 77 FA              1741        LD      (IX-6),A\r
+    00005134 DD 77 FB              1742        LD      (IX-5),A\r
+    00005137 DD 77 FC              1743        LD      (IX-4),A\r
+    0000513A DD 77 FD              1744        LD      (IX-3),A\r
+    0000513D 59                    1745        LD      E,C\r
+    0000513E 50                    1746        LD      D,B\r
+    0000513F CD 6B 81              1747        CALL    LWRD ?S_V_SWITCH_L06\r
+    00005142 08 00                 1748        DEFW    8\r
+    00005144 01 00                 1749        DEFW    1\r
+    00005146 02 00                 1750        DEFW    2\r
+    00005148 03 00                 1751        DEFW    3\r
+    0000514A 02 01                 1752        DEFW    258\r
+    0000514C 03 01                 1753        DEFW    259\r
+    0000514E 04 01                 1754        DEFW    260\r
+    00005150 05 01                 1755        DEFW    261\r
+    00005152 01 05                 1756        DEFW    1281\r
+    00005154 C2 53                 1757        DEFW    ?0161\r
+    00005156 30 53                 1758        DEFW    ?0155\r
+    00005158 C3 52                 1759        DEFW    ?0146\r
+    0000515A EF 52                 1760        DEFW    ?0147\r
+    0000515C 37 52                 1761        DEFW    ?0144\r
+    0000515E 48 52                 1762        DEFW    ?0145\r
+    00005160 FC 51                 1763        DEFW    ?0133\r
+    00005162 97 51                 1764        DEFW    ?0121\r
+    00005164 66 51                 1765        DEFW    ?0115\r
+    00005166                       1766 ?0115:\r
+    00005166 21 15 00              1767        LD      HL,21\r
+    00005169 DD 4E 02              1768        LD      C,(IX+2)\r
+    0000516C DD 46 03              1769        LD      B,(IX+3)\r
+    0000516F 09                    1770        ADD     HL,BC\r
+    00005170 46                    1771        LD      B,(HL)\r
+    00005171 23                    1772        INC     HL\r
+    00005172 66                    1773        LD      H,(HL)\r
+    00005173 68                    1774        LD      L,B\r
+    00005174                       1775 ?0354:\r
+    00005174 E5                    1776        PUSH    HL\r
+    00005175 FD E1                 1777        POP     IY\r
+    00005177                       1778 ?0117:\r
+    00005177 7D                    1779        LD      A,L\r
+    00005178 B4                    1780        OR      H\r
+    00005179 28 19                 1781        JR      Z,?0116\r
+    0000517B                       1782 ?0118:\r
+    0000517B FD CB 0A 46           1783        BIT     0,(IY+10)\r
+    0000517F 28 0B                 1784        JR      Z,?0120\r
+    00005181                       1785 ?0119:\r
+    00005181 DD 6E 0A              1786        LD      L,(IX+10)\r
+    00005184 DD 66 0B              1787        LD      H,(IX+11)\r
+    00005187 E5                    1788        PUSH    HL\r
+    00005188 CD D2 53              1789        CALL    LWRD ?0475\r
+    0000518B E1                    1790        POP     HL\r
+    0000518C                       1791 ?0120:\r
+    0000518C FD 6E 13              1792        LD      L,(IY+19)\r
+    0000518F FD 66 14              1793        LD      H,(IY+20)\r
+    00005192 18 E0                 1794        JR      ?0354\r
+    00005194                       1795 ?0116:\r
+    00005194 C3 C2 53              1796        JP      LWRD ?0161\r
+    00005197                       1797 ?0121:\r
+    00005197 21 15 00              1798        LD      HL,21\r
+    0000519A DD 4E 02              1799        LD      C,(IX+2)\r
+    0000519D DD 46 03              1800        LD      B,(IX+3)\r
+    000051A0 09                    1801        ADD     HL,BC\r
+    000051A1 46                    1802        LD      B,(HL)\r
+    000051A2 23                    1803        INC     HL\r
+    000051A3 66                    1804        LD      H,(HL)\r
+    000051A4 68                    1805        LD      L,B\r
+    000051A5                       1806 ?0358:\r
+    000051A5 E5                    1807        PUSH    HL\r
+    000051A6 FD E1                 1808        POP     IY\r
+    000051A8                       1809 ?0123:\r
+    000051A8 7D                    1810        LD      A,L\r
+    000051A9 B4                    1811        OR      H\r
+    000051AA 28 4D                 1812        JR      Z,?0122\r
+    000051AC                       1813 ?0124:\r
+    000051AC FD CB 0A 46           1814        BIT     0,(IY+10)\r
+    000051B0 28 38                 1815        JR      Z,?0128\r
+    000051B2                       1816 ?0125:\r
+    000051B2 DD 6E 0A              1817        LD      L,(IX+10)\r
+    000051B5 DD 66 0B              1818        LD      H,(IX+11)\r
+    000051B8 E5                    1819        PUSH    HL\r
+    000051B9 CD D2 53              1820        CALL    LWRD ?0475\r
+    000051BC E1                    1821        POP     HL\r
+    000051BD DD 6E 0A              1822        LD      L,(IX+10)\r
+    000051C0 DD 66 0B              1823        LD      H,(IX+11)\r
+    000051C3 E5                    1824        PUSH    HL\r
+    000051C4 01 03 00              1825        LD      BC,3\r
+    000051C7 CD D8 53              1826        CALL    LWRD ?0476\r
+    000051CA E1                    1827        POP     HL\r
+    000051CB FD 7E 0A              1828        LD      A,(IY+10)\r
+    000051CE E6 22                 1829        AND     34\r
+    000051D0 6F                    1830        LD      L,A\r
+    000051D1 26 00                 1831        LD      H,0\r
+    000051D3 3E 22                 1832        LD      A,34\r
+    000051D5 AD                    1833        XOR     L\r
+    000051D6 20 12                 1834        JR      NZ,?0128\r
+    000051D8 FD 4E 10              1835        LD      C,(IY+16)\r
+    000051DB 44                    1836        LD      B,H\r
+    000051DC DD 6E 0A              1837        LD      L,(IX+10)\r
+    000051DF DD 66 0B              1838        LD      H,(IX+11)\r
+    000051E2 ED 42                 1839        SBC     HL,BC\r
+    000051E4 20 04                 1840        JR      NZ,?0128\r
+    000051E6                       1841 ?0130:\r
+    000051E6                       1842 ?0129:\r
+    000051E6                       1843 ?0127:\r
+    000051E6 FD 21 00 00           1844        LD      IY,0\r
+    000051EA                       1845 ?0128:\r
+    000051EA                       1846 ?0126:\r
+    000051EA FD E5                 1847        PUSH    IY\r
+    000051EC E1                    1848        POP     HL\r
+    000051ED 7D                    1849        LD      A,L\r
+    000051EE B4                    1850        OR      H\r
+    000051EF 28 B7                 1851        JR      Z,?0123\r
+    000051F1                       1852 ?0131:\r
+    000051F1 FD 6E 13              1853        LD      L,(IY+19)\r
+    000051F4 FD 66 14              1854        LD      H,(IY+20)\r
+    000051F7 18 AC                 1855        JR      ?0358\r
+    000051F9                       1856 ?0132:\r
+    000051F9                       1857 ?0122:\r
+    000051F9 C3 C2 53              1858        JP      LWRD ?0161\r
+    000051FC                       1859 ?0133:\r
+    000051FC DD 6E 02              1860        LD      L,(IX+2)\r
+    000051FF DD 66 03              1861        LD      H,(IX+3)\r
+    00005202 E5                    1862        PUSH    HL\r
+    00005203 FD E1                 1863        POP     IY\r
+    00005205 21 0A 00              1864        LD      HL,10\r
+    00005208 DD 4E 02              1865        LD      C,(IX+2)\r
+    0000520B DD 46 03              1866        LD      B,(IX+3)\r
+    0000520E 09                    1867        ADD     HL,BC\r
+    0000520F CB 46                 1868        BIT     0,(HL)\r
+    00005211 28 21                 1869        JR      Z,?0141\r
+    00005213                       1870 ?0134:\r
+    00005213 FD CB 0A 6E           1871        BIT     5,(IY+10)\r
+    00005217 28 1B                 1872        JR      Z,?0141\r
+    00005219 FD 4E 10              1873        LD      C,(IY+16)\r
+    0000521C 47                    1874        LD      B,A\r
+    0000521D DD 6E 0A              1875        LD      L,(IX+10)\r
+    00005220 DD 66 0B              1876        LD      H,(IX+11)\r
+    00005223 A7                    1877        AND     A\r
+    00005224 ED 42                 1878        SBC     HL,BC\r
+    00005226 20 0C                 1879        JR      NZ,?0141\r
+    00005228                       1880 ?0139:\r
+    00005228                       1881 ?0138:\r
+    00005228                       1882 ?0136:\r
+    00005228 FD 6E 26              1883        LD      L,(IY+38)\r
+    0000522B FD 66 27              1884        LD      H,(IY+39)\r
+    0000522E FD E5                 1885        PUSH    IY\r
+    00005230 D1                    1886        POP     DE\r
+    00005231 CD C8 53              1887        CALL    LWRD ?0450\r
+    00005234                       1888 ?0140:\r
+    00005234                       1889 ?0141:\r
+    00005234                       1890 ?0137:\r
+    00005234                       1891 ?0135:\r
+    00005234                       1892 ?0142:\r
+    00005234                       1893 ?0143:\r
+    00005234 C3 C2 53              1894        JP      LWRD ?0161\r
+    00005237                       1895 ?0144:\r
+    00005237 DD 5E 02              1896        LD      E,(IX+2)\r
+    0000523A 4B                    1897        LD      C,E\r
+    0000523B DD 56 03              1898        LD      D,(IX+3)\r
+    0000523E 42                    1899        LD      B,D\r
+    0000523F 21 1A 00              1900        LD      HL,26\r
+    00005242 CD C7 53              1901        CALL    LWRD ?0451\r
+    00005245 C3 C2 53              1902        JP      LWRD ?0161\r
+    00005248                       1903 ?0145:\r
+    00005248 21 0A 00              1904        LD      HL,10\r
+    0000524B DD 4E 02              1905        LD      C,(IX+2)\r
+    0000524E DD 46 03              1906        LD      B,(IX+3)\r
+    00005251 09                    1907        ADD     HL,BC\r
+    00005252 7E                    1908        LD      A,(HL)\r
+    00005253 E6 FC                 1909        AND     252\r
+    00005255 77                    1910        LD      (HL),A\r
+    00005256 21 2E 00              1911        LD      HL,46\r
+    00005259 39                    1912        ADD     HL,SP\r
+    0000525A E5                    1913        PUSH    HL\r
+    0000525B 2B                    1914        DEC     HL\r
+    0000525C 2B                    1915        DEC     HL\r
+    0000525D 4D                    1916        LD      C,L\r
+    0000525E 44                    1917        LD      B,H\r
+    0000525F DD 5E 02              1918        LD      E,(IX+2)\r
+    00005262 DD 56 03              1919        LD      D,(IX+3)\r
+    00005265 CD EE 53              1920        CALL    LWRD ?0477\r
+    00005268 E1                    1921        POP     HL\r
+    00005269 21 08 00              1922        LD      HL,8\r
+    0000526C DD 4E 02              1923        LD      C,(IX+2)\r
+    0000526F DD 46 03              1924        LD      B,(IX+3)\r
+    00005272 09                    1925        ADD     HL,BC\r
+    00005273 5E                    1926        LD      E,(HL)\r
+    00005274 23                    1927        INC     HL\r
+    00005275 56                    1928        LD      D,(HL)\r
+    00005276 D5                    1929        PUSH    DE\r
+    00005277 21 06 00              1930        LD      HL,6\r
+    0000527A 09                    1931        ADD     HL,BC\r
+    0000527B 5E                    1932        LD      E,(HL)\r
+    0000527C 23                    1933        INC     HL\r
+    0000527D 56                    1934        LD      D,(HL)\r
+    0000527E D5                    1935        PUSH    DE\r
+    0000527F DD 6E FC              1936        LD      L,(IX-4)\r
+    00005282 DD 66 FD              1937        LD      H,(IX-3)\r
+    00005285 E5                    1938        PUSH    HL\r
+    00005286 DD 4E FA              1939        LD      C,(IX-6)\r
+    00005289 DD 46 FB              1940        LD      B,(IX-5)\r
+    0000528C 11 00 00              1941        LD      DE,0\r
+    0000528F CD 55 49              1942        CALL    LWRD ?0484\r
+    00005292 E1                    1943        POP     HL\r
+    00005293 E1                    1944        POP     HL\r
+    00005294 E1                    1945        POP     HL\r
+    00005295 21 00 00              1946        LD      HL,0\r
+    00005298 E5                    1947        PUSH    HL\r
+    00005299 2E 11                 1948        LD      L,17\r
+    0000529B DD 5E 02              1949        LD      E,(IX+2)\r
+    0000529E DD 56 03              1950        LD      D,(IX+3)\r
+    000052A1 19                    1951        ADD     HL,DE\r
+    000052A2 5E                    1952        LD      E,(HL)\r
+    000052A3 23                    1953        INC     HL\r
+    000052A4 56                    1954        LD      D,(HL)\r
+    000052A5 21 11 00              1955        LD      HL,17\r
+    000052A8 DD 4E 02              1956        LD      C,(IX+2)\r
+    000052AB DD 46 03              1957        LD      B,(IX+3)\r
+    000052AE 09                    1958        ADD     HL,BC\r
+    000052AF 46                    1959        LD      B,(HL)\r
+    000052B0 23                    1960        INC     HL\r
+    000052B1 66                    1961        LD      H,(HL)\r
+    000052B2 68                    1962        LD      L,B\r
+    000052B3 01 17 00              1963        LD      BC,23\r
+    000052B6 09                    1964        ADD     HL,BC\r
+    000052B7 4E                    1965        LD      C,(HL)\r
+    000052B8 23                    1966        INC     HL\r
+    000052B9 46                    1967        LD      B,(HL)\r
+    000052BA 23                    1968        INC     HL\r
+    000052BB 7E                    1969        LD      A,(HL)\r
+    000052BC 69                    1970        LD      L,C\r
+    000052BD 60                    1971        LD      H,B\r
+    000052BE 01 03 01              1972        LD      BC,259\r
+    000052C1 18 29                 1973        JR      ?0357\r
+    000052C3                       1974 ?0146:\r
+    000052C3 21 11 00              1975        LD      HL,17\r
+    000052C6 DD 4E 02              1976        LD      C,(IX+2)\r
+    000052C9 DD 46 03              1977        LD      B,(IX+3)\r
+    000052CC 09                    1978        ADD     HL,BC\r
+    000052CD 56                    1979        LD      D,(HL)\r
+    000052CE 23                    1980        INC     HL\r
+    000052CF 66                    1981        LD      H,(HL)\r
+    000052D0 6A                    1982        LD      L,D\r
+    000052D1 E5                    1983        PUSH    HL\r
+    000052D2 FD E1                 1984        POP     IY\r
+    000052D4 59                    1985        LD      E,C\r
+    000052D5 50                    1986        LD      D,B\r
+    000052D6 CD E6 4F              1987        CALL    LWRD ?0467\r
+    000052D9 21 00 00              1988        LD      HL,0\r
+    000052DC E5                    1989        PUSH    HL\r
+    000052DD 01 03 01              1990        LD      BC,259\r
+    000052E0 FD E5                 1991        PUSH    IY\r
+    000052E2 D1                    1992        POP     DE\r
+    000052E3 FD 7E 19              1993        LD      A,(IY+25)\r
+    000052E6 FD 6E 17              1994        LD      L,(IY+23)\r
+    000052E9 FD 66 18              1995        LD      H,(IY+24)\r
+    000052EC                       1996 ?0357:\r
+    000052EC C3 BE 53              1997        JP      LWRD ?0356\r
+    000052EF                       1998 ?0147:\r
+    000052EF 21 15 00              1999        LD      HL,21\r
+    000052F2 DD 4E 02              2000        LD      C,(IX+2)\r
+    000052F5 DD 46 03              2001        LD      B,(IX+3)\r
+    000052F8 09                    2002        ADD     HL,BC\r
+    000052F9 46                    2003        LD      B,(HL)\r
+    000052FA 23                    2004        INC     HL\r
+    000052FB 66                    2005        LD      H,(HL)\r
+    000052FC 68                    2006        LD      L,B\r
+    000052FD                       2007 ?0355:\r
+    000052FD E5                    2008        PUSH    HL\r
+    000052FE FD E1                 2009        POP     IY\r
+    00005300                       2010 ?0149:\r
+    00005300 7D                    2011        LD      A,L\r
+    00005301 B4                    2012        OR      H\r
+    00005302 28 29                 2013        JR      Z,?0148\r
+    00005304                       2014 ?0150:\r
+    00005304 DD 6E 0A              2015        LD      L,(IX+10)\r
+    00005307 DD 66 0B              2016        LD      H,(IX+11)\r
+    0000530A FD E5                 2017        PUSH    IY\r
+    0000530C C1                    2018        POP     BC\r
+    0000530D ED 42                 2019        SBC     HL,BC\r
+    0000530F 28 14                 2020        JR      Z,?0152\r
+    00005311 FD CB 0A 5E           2021        BIT     3,(IY+10)\r
+    00005315 28 0E                 2022        JR      Z,?0152\r
+    00005317                       2023 ?0154:\r
+    00005317                       2024 ?0153:\r
+    00005317                       2025 ?0151:\r
+    00005317 DD 6E 0A              2026        LD      L,(IX+10)\r
+    0000531A DD 66 0B              2027        LD      H,(IX+11)\r
+    0000531D E5                    2028        PUSH    HL\r
+    0000531E 01 03 02              2029        LD      BC,515\r
+    00005321 CD D8 53              2030        CALL    LWRD ?0476\r
+    00005324 E1                    2031        POP     HL\r
+    00005325                       2032 ?0152:\r
+    00005325 FD 6E 13              2033        LD      L,(IY+19)\r
+    00005328 FD 66 14              2034        LD      H,(IY+20)\r
+    0000532B 18 D0                 2035        JR      ?0355\r
+    0000532D                       2036 ?0148:\r
+    0000532D C3 C2 53              2037        JP      LWRD ?0161\r
+    00005330                       2038 ?0155:\r
+    00005330 21 11 00              2039        LD      HL,17\r
+    00005333 DD 4E 02              2040        LD      C,(IX+2)\r
+    00005336 DD 46 03              2041        LD      B,(IX+3)\r
+    00005339 09                    2042        ADD     HL,BC\r
+    0000533A 7E                    2043        LD      A,(HL)\r
+    0000533B 23                    2044        INC     HL\r
+    0000533C B6                    2045        OR      (HL)\r
+    0000533D 20 0E                 2046        JR      NZ,?0157\r
+    0000533F                       2047 ?0156:\r
+    0000533F 21 08 00              2048        LD      HL,8\r
+    00005342 ED 4B BF 86           2049        LD      BC,(global)\r
+    00005346 09                    2050        ADD     HL,BC\r
+    00005347 36 01                 2051        LD      (HL),1\r
+    00005349 23                    2052        INC     HL\r
+    0000534A 77                    2053        LD      (HL),A\r
+    0000534B 18 75                 2054        JR      ?0161\r
+    0000534D                       2055 ?0157:\r
+    0000534D 21 0A 00              2056        LD      HL,10\r
+    00005350 09                    2057        ADD     HL,BC\r
+    00005351 23                    2058        INC     HL\r
+    00005352 CB 6E                 2059        BIT     5,(HL)\r
+    00005354 20 28                 2060        JR      NZ,?0160\r
+    00005356                       2061 ?0159:\r
+    00005356 DD 6E 0A              2062        LD      L,(IX+10)\r
+    00005359 DD 66 0B              2063        LD      H,(IX+11)\r
+    0000535C E5                    2064        PUSH    HL\r
+    0000535D 21 11 00              2065        LD      HL,17\r
+    00005360 59                    2066        LD      E,C\r
+    00005361 50                    2067        LD      D,B\r
+    00005362 19                    2068        ADD     HL,DE\r
+    00005363 5E                    2069        LD      E,(HL)\r
+    00005364 23                    2070        INC     HL\r
+    00005365 56                    2071        LD      D,(HL)\r
+    00005366 21 11 00              2072        LD      HL,17\r
+    00005369 09                    2073        ADD     HL,BC\r
+    0000536A 46                    2074        LD      B,(HL)\r
+    0000536B 23                    2075        INC     HL\r
+    0000536C 66                    2076        LD      H,(HL)\r
+    0000536D 68                    2077        LD      L,B\r
+    0000536E 01 17 00              2078        LD      BC,23\r
+    00005371 09                    2079        ADD     HL,BC\r
+    00005372 4E                    2080        LD      C,(HL)\r
+    00005373 23                    2081        INC     HL\r
+    00005374 46                    2082        LD      B,(HL)\r
+    00005375 23                    2083        INC     HL\r
+    00005376 7E                    2084        LD      A,(HL)\r
+    00005377 69                    2085        LD      L,C\r
+    00005378 60                    2086        LD      H,B\r
+    00005379 01 01 05              2087        LD      BC,1281\r
+    0000537C 18 40                 2088        JR      ?0356\r
+    0000537E                       2089 ?0160:\r
+    0000537E 21 11 00              2090        LD      HL,17\r
+    00005381 09                    2091        ADD     HL,BC\r
+    00005382 56                    2092        LD      D,(HL)\r
+    00005383 23                    2093        INC     HL\r
+    00005384 66                    2094        LD      H,(HL)\r
+    00005385 6A                    2095        LD      L,D\r
+    00005386 E5                    2096        PUSH    HL\r
+    00005387 FD E1                 2097        POP     IY\r
+    00005389 11 0A 00              2098        LD      DE,10\r
+    0000538C 19                    2099        ADD     HL,DE\r
+    0000538D 7E                    2100        LD      A,(HL)\r
+    0000538E F6 03                 2101        OR      3\r
+    00005390 77                    2102        LD      (HL),A\r
+    00005391 6A                    2103        LD      L,D\r
+    00005392 62                    2104        LD      H,D\r
+    00005393 E5                    2105        PUSH    HL\r
+    00005394 23                    2106        INC     HL\r
+    00005395 E5                    2107        PUSH    HL\r
+    00005396 4A                    2108        LD      C,D\r
+    00005397 42                    2109        LD      B,D\r
+    00005398 FD E5                 2110        PUSH    IY\r
+    0000539A D1                    2111        POP     DE\r
+    0000539B 3E 00                 2112        LD      A,BYTE3 Component_changestate_children\r
+    0000539D 21 0D 50              2113        LD      HL,LWRD Component_changestate_children\r
+    000053A0 CD 5E 81              2114        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000053A3 E1                    2115        POP     HL\r
+    000053A4 E1                    2116        POP     HL\r
+    000053A5 21 00 00              2117        LD      HL,0\r
+    000053A8 E5                    2118        PUSH    HL\r
+    000053A9 DD 5E 02              2119        LD      E,(IX+2)\r
+    000053AC 4B                    2120        LD      C,E\r
+    000053AD DD 56 03              2121        LD      D,(IX+3)\r
+    000053B0 42                    2122        LD      B,D\r
+    000053B1 2E 17                 2123        LD      L,23\r
+    000053B3 09                    2124        ADD     HL,BC\r
+    000053B4 4E                    2125        LD      C,(HL)\r
+    000053B5 23                    2126        INC     HL\r
+    000053B6 46                    2127        LD      B,(HL)\r
+    000053B7 23                    2128        INC     HL\r
+    000053B8 7E                    2129        LD      A,(HL)\r
+    000053B9 69                    2130        LD      L,C\r
+    000053BA 60                    2131        LD      H,B\r
+    000053BB 01 05 01              2132        LD      BC,261\r
+    000053BE                       2133 ?0356:\r
+    000053BE CD 5E 81              2134        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000053C1 E1                    2135        POP     HL\r
+    000053C2                       2136 ?0161:\r
+    000053C2                       2137 ?0158:\r
+    000053C2                       2138 ?0114:\r
+    000053C2 FD E1                 2139        POP     IY\r
+    000053C4 C3 1F 81              2140        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000053C7                       2141 ?0451:\r
+    000053C7 09                    2142        ADD     HL,BC\r
+    000053C8                       2143 ?0450:\r
+    000053C8 4E                    2144        LD      C,(HL)\r
+    000053C9 23                    2145        INC     HL\r
+    000053CA 46                    2146        LD      B,(HL)\r
+    000053CB 23                    2147        INC     HL\r
+    000053CC 7E                    2148        LD      A,(HL)\r
+    000053CD 69                    2149        LD      L,C\r
+    000053CE 60                    2150        LD      H,B\r
+    000053CF C3 5E 81              2151        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000053D2                       2152 ?0475:\r
+    000053D2 DD 4E 04              2153        LD      C,(IX+4)\r
+    000053D5 DD 46 05              2154        LD      B,(IX+5)\r
+    000053D8                       2155 ?0476:\r
+    000053D8 FD E5                 2156        PUSH    IY\r
+    000053DA D1                    2157        POP     DE\r
+    000053DB FD 7E 19              2158        LD      A,(IY+25)\r
+    000053DE FD 6E 17              2159        LD      L,(IY+23)\r
+    000053E1 FD 66 18              2160        LD      H,(IY+24)\r
+    000053E4 C3 5E 81              2161        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000053E7                       2162 ?0478:\r
+    000053E7 23                    2163        INC     HL\r
+    000053E8 23                    2164        INC     HL\r
+    000053E9                       2165 ?0479:\r
+    000053E9 4D                    2166        LD      C,L\r
+    000053EA 44                    2167        LD      B,H\r
+    000053EB DD E5                 2168        PUSH    IX\r
+    000053ED D1                    2169        POP     DE\r
+    000053EE                       2170 ?0477:\r
+    000053EE 3E 00                 2171        LD      A,BYTE3 Component_findXY\r
+    000053F0 21 A1 4D              2172        LD      HL,LWRD Component_findXY\r
+    000053F3 C3 5E 81              2173        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000053F6                       2174 Window_paint:\r
+    000053F6 C5                    2175        PUSH    BC\r
+    000053F7 DD E5                 2176        PUSH    IX\r
+    000053F9 F5                    2177        PUSH    AF\r
+    000053FA F5                    2178        PUSH    AF\r
+    000053FB D5                    2179        PUSH    DE\r
+    000053FC DD E1                 2180        POP     IX\r
+    000053FE 21 02 00              2181        LD      HL,2\r
+    00005401 39                    2182        ADD     HL,SP\r
+    00005402 AF                    2183        XOR     A\r
+    00005403 77                    2184        LD      (HL),A\r
+    00005404 23                    2185        INC     HL\r
+    00005405 77                    2186        LD      (HL),A\r
+    00005406 2B                    2187        DEC     HL\r
+    00005407 2B                    2188        DEC     HL\r
+    00005408 2B                    2189        DEC     HL\r
+    00005409 77                    2190        LD      (HL),A\r
+    0000540A 23                    2191        INC     HL\r
+    0000540B 77                    2192        LD      (HL),A\r
+    0000540C 21 12 00              2193        LD      HL,18\r
+    0000540F ED 4B BF 86           2194        LD      BC,(global)\r
+    00005413 09                    2195        ADD     HL,BC\r
+    00005414 7E                    2196        LD      A,(HL)\r
+    00005415 23                    2197        INC     HL\r
+    00005416 66                    2198        LD      H,(HL)\r
+    00005417 6F                    2199        LD      L,A\r
+    00005418 46                    2200        LD      B,(HL)\r
+    00005419 23                    2201        INC     HL\r
+    0000541A 66                    2202        LD      H,(HL)\r
+    0000541B 68                    2203        LD      L,B\r
+    0000541C E5                    2204        PUSH    HL\r
+    0000541D 21 0E 00              2205        LD      HL,14\r
+    00005420 19                    2206        ADD     HL,DE\r
+    00005421 4E                    2207        LD      C,(HL)\r
+    00005422 23                    2208        INC     HL\r
+    00005423 46                    2209        LD      B,(HL)\r
+    00005424 E1                    2210        POP     HL\r
+    00005425 A7                    2211        AND     A\r
+    00005426 ED 42                 2212        SBC     HL,BC\r
+    00005428 28 03                 2213        JR      Z,?0163\r
+    0000542A                       2214 ?0162:\r
+    0000542A CD 2F 55              2215        CALL    LWRD ?0449\r
+    0000542D                       2216 ?0163:\r
+    0000542D DD CB 0A 46           2217        BIT     0,(IX+10)\r
+    00005431 CA 27 55              2218        JP      Z,?0165\r
+    00005434                       2219 ?0164:\r
+    00005434 21 00 00              2220        LD      HL,0\r
+    00005437 39                    2221        ADD     HL,SP\r
+    00005438 E5                    2222        PUSH    HL\r
+    00005439 CD E7 53              2223        CALL    LWRD ?0478\r
+    0000543C E1                    2224        POP     HL\r
+    0000543D CD 97 4D              2225        CALL    LWRD ?0486\r
+    00005440 21 00 00              2226        LD      HL,0\r
+    00005443 39                    2227        ADD     HL,SP\r
+    00005444 CD 73 55              2228        CALL    LWRD ?0472\r
+    00005447 CD 5E 81              2229        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000544A DD 6E 08              2230        LD      L,(IX+8)\r
+    0000544D DD 66 09              2231        LD      H,(IX+9)\r
+    00005450 E5                    2232        PUSH    HL\r
+    00005451 DD 6E 06              2233        LD      L,(IX+6)\r
+    00005454 DD 66 07              2234        LD      H,(IX+7)\r
+    00005457 E5                    2235        PUSH    HL\r
+    00005458 21 04 00              2236        LD      HL,4\r
+    0000545B 39                    2237        ADD     HL,SP\r
+    0000545C 4E                    2238        LD      C,(HL)\r
+    0000545D 23                    2239        INC     HL\r
+    0000545E 46                    2240        LD      B,(HL)\r
+    0000545F C5                    2241        PUSH    BC\r
+    00005460 23                    2242        INC     HL\r
+    00005461 4E                    2243        LD      C,(HL)\r
+    00005462 23                    2244        INC     HL\r
+    00005463 46                    2245        LD      B,(HL)\r
+    00005464 11 00 00              2246        LD      DE,0\r
+    00005467 CD 55 49              2247        CALL    LWRD ?0484\r
+    0000546A E1                    2248        POP     HL\r
+    0000546B E1                    2249        POP     HL\r
+    0000546C E1                    2250        POP     HL\r
+    0000546D DD 5E 20              2251        LD      E,(IX+32)\r
+    00005470 DD 56 21              2252        LD      D,(IX+33)\r
+    00005473 CD 43 55              2253        CALL    LWRD ?0461\r
+    00005476 E5                    2254        PUSH    HL\r
+    00005477 21 02 00              2255        LD      HL,2\r
+    0000547A 39                    2256        ADD     HL,SP\r
+    0000547B 4E                    2257        LD      C,(HL)\r
+    0000547C 23                    2258        INC     HL\r
+    0000547D 46                    2259        LD      B,(HL)\r
+    0000547E E1                    2260        POP     HL\r
+    0000547F 09                    2261        ADD     HL,BC\r
+    00005480 01 04 00              2262        LD      BC,4\r
+    00005483 09                    2263        ADD     HL,BC\r
+    00005484 4D                    2264        LD      C,L\r
+    00005485 44                    2265        LD      B,H\r
+    00005486 21 02 00              2266        LD      HL,2\r
+    00005489 39                    2267        ADD     HL,SP\r
+    0000548A 5E                    2268        LD      E,(HL)\r
+    0000548B 23                    2269        INC     HL\r
+    0000548C 56                    2270        LD      D,(HL)\r
+    0000548D 3E 00                 2271        LD      A,BYTE3 Move\r
+    0000548F 21 26 47              2272        LD      HL,LWRD Move\r
+    00005492 CD 5E 81              2273        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005495 DD 5E 20              2274        LD      E,(IX+32)\r
+    00005498 DD 56 21              2275        LD      D,(IX+33)\r
+    0000549B 21 12 00              2276        LD      HL,18\r
+    0000549E ED 4B BF 86           2277        LD      BC,(global)\r
+    000054A2 09                    2278        ADD     HL,BC\r
+    000054A3 7E                    2279        LD      A,(HL)\r
+    000054A4 23                    2280        INC     HL\r
+    000054A5 66                    2281        LD      H,(HL)\r
+    000054A6 6F                    2282        LD      L,A\r
+    000054A7 01 05 00              2283        LD      BC,5\r
+    000054AA 09                    2284        ADD     HL,BC\r
+    000054AB 4E                    2285        LD      C,(HL)\r
+    000054AC 23                    2286        INC     HL\r
+    000054AD 46                    2287        LD      B,(HL)\r
+    000054AE 23                    2288        INC     HL\r
+    000054AF 7E                    2289        LD      A,(HL)\r
+    000054B0 69                    2290        LD      L,C\r
+    000054B1 60                    2291        LD      H,B\r
+    000054B2 CD 84 4A              2292        CALL    LWRD ?0459\r
+    000054B5 DD 6E 08              2293        LD      L,(IX+8)\r
+    000054B8 DD 66 09              2294        LD      H,(IX+9)\r
+    000054BB A7                    2295        AND     A\r
+    000054BC ED 42                 2296        SBC     HL,BC\r
+    000054BE 01 FC FF              2297        LD      BC,65532\r
+    000054C1 09                    2298        ADD     HL,BC\r
+    000054C2 4D                    2299        LD      C,L\r
+    000054C3 44                    2300        LD      B,H\r
+    000054C4 DD 5E 06              2301        LD      E,(IX+6)\r
+    000054C7 DD 56 07              2302        LD      D,(IX+7)\r
+    000054CA 3E 00                 2303        LD      A,BYTE3 DrawRectNC\r
+    000054CC 21 A1 47              2304        LD      HL,LWRD DrawRectNC\r
+    000054CF CD 5E 81              2305        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000054D2 21 00 00              2306        LD      HL,0\r
+    000054D5 39                    2307        ADD     HL,SP\r
+    000054D6 4E                    2308        LD      C,(HL)\r
+    000054D7 23                    2309        INC     HL\r
+    000054D8 46                    2310        LD      B,(HL)\r
+    000054D9 23                    2311        INC     HL\r
+    000054DA 5E                    2312        LD      E,(HL)\r
+    000054DB 23                    2313        INC     HL\r
+    000054DC 56                    2314        LD      D,(HL)\r
+    000054DD 3E 00                 2315        LD      A,BYTE3 Move\r
+    000054DF 21 26 47              2316        LD      HL,LWRD Move\r
+    000054E2 CD 5D 55              2317        CALL    LWRD ?0470\r
+    000054E5 CD 4F 55              2318        CALL    LWRD ?0462\r
+    000054E8 01 05 00              2319        LD      BC,5\r
+    000054EB 09                    2320        ADD     HL,BC\r
+    000054EC 4D                    2321        LD      C,L\r
+    000054ED 44                    2322        LD      B,H\r
+    000054EE DD 5E 06              2323        LD      E,(IX+6)\r
+    000054F1 DD 56 07              2324        LD      D,(IX+7)\r
+    000054F4 3E 00                 2325        LD      A,BYTE3 FillRect\r
+    000054F6 21 E0 47              2326        LD      HL,LWRD FillRect\r
+    000054F9 CD 5E 81              2327        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000054FC 21 00 00              2328        LD      HL,0\r
+    000054FF 39                    2329        ADD     HL,SP\r
+    00005500 4E                    2330        LD      C,(HL)\r
+    00005501 23                    2331        INC     HL\r
+    00005502 46                    2332        LD      B,(HL)\r
+    00005503 03                    2333        INC     BC\r
+    00005504 03                    2334        INC     BC\r
+    00005505 23                    2335        INC     HL\r
+    00005506 5E                    2336        LD      E,(HL)\r
+    00005507 23                    2337        INC     HL\r
+    00005508 56                    2338        LD      D,(HL)\r
+    00005509 13                    2339        INC     DE\r
+    0000550A 13                    2340        INC     DE\r
+    0000550B 3E 00                 2341        LD      A,BYTE3 Move\r
+    0000550D 21 26 47              2342        LD      HL,LWRD Move\r
+    00005510 CD 5E 81              2343        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005513 DD 5E 20              2344        LD      E,(IX+32)\r
+    00005516 DD 56 21              2345        LD      D,(IX+33)\r
+    00005519 CD F9 46              2346        CALL    LWRD ?0452\r
+    0000551C DD E5                 2347        PUSH    IX\r
+    0000551E D1                    2348        POP     DE\r
+    0000551F 3E 00                 2349        LD      A,BYTE3 Component_paint\r
+    00005521 21 5B 4D              2350        LD      HL,LWRD Component_paint\r
+    00005524 CD 5E 81              2351        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005527                       2352 ?0165:\r
+    00005527 E1                    2353        POP     HL\r
+    00005528 E1                    2354        POP     HL\r
+    00005529 DD E1                 2355        POP     IX\r
+    0000552B C1                    2356        POP     BC\r
+    0000552C C3 25 81              2357        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000552F                       2358 ?0449:\r
+    0000552F DD 5E 0E              2359        LD      E,(IX+14)\r
+    00005532 DD 56 0F              2360        LD      D,(IX+15)\r
+    00005535 3E 00                 2361        LD      A,BYTE3 setCurrentFont\r
+    00005537 21 08 4A              2362        LD      HL,LWRD setCurrentFont\r
+    0000553A C3 5E 81              2363        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    0000553D                       2364 ?0463:\r
+    0000553D FD 5E 20              2365        LD      E,(IY+32)\r
+    00005540 FD 56 21              2366        LD      D,(IY+33)\r
+    00005543                       2367 ?0461:\r
+    00005543 21 12 00              2368        LD      HL,18\r
+    00005546 ED 4B BF 86           2369        LD      BC,(global)\r
+    0000554A 09                    2370        ADD     HL,BC\r
+    0000554B 7E                    2371        LD      A,(HL)\r
+    0000554C 23                    2372        INC     HL\r
+    0000554D 66                    2373        LD      H,(HL)\r
+    0000554E 6F                    2374        LD      L,A\r
+    0000554F                       2375 ?0462:\r
+    0000554F 01 05 00              2376        LD      BC,5\r
+    00005552 09                    2377        ADD     HL,BC\r
+    00005553 4E                    2378        LD      C,(HL)\r
+    00005554 23                    2379        INC     HL\r
+    00005555 46                    2380        LD      B,(HL)\r
+    00005556 23                    2381        INC     HL\r
+    00005557 7E                    2382        LD      A,(HL)\r
+    00005558 69                    2383        LD      L,C\r
+    00005559 60                    2384        LD      H,B\r
+    0000555A C3 5E 81              2385        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    0000555D                       2386 ?0470:\r
+    0000555D CD 5E 81              2387        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005560 DD 5E 20              2388        LD      E,(IX+32)\r
+    00005563 DD 56 21              2389        LD      D,(IX+33)\r
+    00005566 21 12 00              2390        LD      HL,18\r
+    00005569 ED 4B BF 86           2391        LD      BC,(global)\r
+    0000556D 09                    2392        ADD     HL,BC\r
+    0000556E 46                    2393        LD      B,(HL)\r
+    0000556F 23                    2394        INC     HL\r
+    00005570 66                    2395        LD      H,(HL)\r
+    00005571 68                    2396        LD      L,B\r
+    00005572 C9                    2397        RET\r
+    00005573                       2398 ?0472:\r
+    00005573 4E                    2399        LD      C,(HL)\r
+    00005574 23                    2400        INC     HL\r
+    00005575 46                    2401        LD      B,(HL)\r
+    00005576 23                    2402        INC     HL\r
+    00005577                       2403 ?0473:\r
+    00005577 5E                    2404        LD      E,(HL)\r
+    00005578 23                    2405        INC     HL\r
+    00005579 56                    2406        LD      D,(HL)\r
+    0000557A 3E 00                 2407        LD      A,BYTE3 Move\r
+    0000557C 21 26 47              2408        LD      HL,LWRD Move\r
+    0000557F CD 5E 81              2409        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005582 DD 4E 08              2410        LD      C,(IX+8)\r
+    00005585 DD 46 09              2411        LD      B,(IX+9)\r
+    00005588 DD 5E 06              2412        LD      E,(IX+6)\r
+    0000558B DD 56 07              2413        LD      D,(IX+7)\r
+    0000558E 3E 00                 2414        LD      A,BYTE3 ClearRect\r
+    00005590 21 61 47              2415        LD      HL,LWRD ClearRect\r
+    00005593 C9                    2416        RET\r
+    00005594                       2417 Root_paint:\r
+    00005594 CD 52 81              2418        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00005597 CD 97 4D              2419        CALL    LWRD ?0486\r
+    0000559A CD 3A 49              2420        CALL    LWRD ?0474\r
+    0000559D CD 5E 81              2421        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000055A0 01 80 00              2422        LD      BC,128\r
+    000055A3 58                    2423        LD      E,B\r
+    000055A4 50                    2424        LD      D,B\r
+    000055A5 3E 00                 2425        LD      A,BYTE3 GrayRect\r
+    000055A7 21 64 48              2426        LD      HL,LWRD GrayRect\r
+    000055AA CD 5E 81              2427        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000055AD 21 80 00              2428        LD      HL,128\r
+    000055B0 E5                    2429        PUSH    HL\r
+    000055B1 6C                    2430        LD      L,H\r
+    000055B2 E5                    2431        PUSH    HL\r
+    000055B3 E5                    2432        PUSH    HL\r
+    000055B4 CD 52 49              2433        CALL    LWRD ?0483\r
+    000055B7 E1                    2434        POP     HL\r
+    000055B8 E1                    2435        POP     HL\r
+    000055B9 E1                    2436        POP     HL\r
+    000055BA DD 5E 02              2437        LD      E,(IX+2)\r
+    000055BD DD 56 03              2438        LD      D,(IX+3)\r
+    000055C0 3E 00                 2439        LD      A,BYTE3 Component_paint\r
+    000055C2 21 5B 4D              2440        LD      HL,LWRD Component_paint\r
+    000055C5 CD 5E 81              2441        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000055C8 C3 1F 81              2442        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000055CB                       2443 Window_add:\r
+    000055CB CD 52 81              2444        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000055CE 3E 00                 2445        LD      A,BYTE3 Component_add\r
+    000055D0 21 FD 4C              2446        LD      HL,LWRD Component_add\r
+    000055D3 CD 5E 81              2447        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000055D6 C3 1F 81              2448        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000055D9                       2449 Window_new:\r
+    000055D9 CD 88 81              2450        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    000055DC 00 00                 2451        DEFW    0\r
+    000055DE FD E5                 2452        PUSH    IY\r
+    000055E0 DD 6E 0C              2453        LD      L,(IX+12)\r
+    000055E3 DD 66 0D              2454        LD      H,(IX+13)\r
+    000055E6 E5                    2455        PUSH    HL\r
+    000055E7 DD 6E 0A              2456        LD      L,(IX+10)\r
+    000055EA DD 66 0B              2457        LD      H,(IX+11)\r
+    000055ED E5                    2458        PUSH    HL\r
+    000055EE DD 5E 02              2459        LD      E,(IX+2)\r
+    000055F1 DD 56 03              2460        LD      D,(IX+3)\r
+    000055F4 3E 00                 2461        LD      A,BYTE3 Component_new\r
+    000055F6 21 06 4C              2462        LD      HL,LWRD Component_new\r
+    000055F9 CD 5E 81              2463        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000055FC F1                    2464        POP     AF\r
+    000055FD F1                    2465        POP     AF\r
+    000055FE E5                    2466        PUSH    HL\r
+    000055FF FD E1                 2467        POP     IY\r
+    00005601 01 17 00              2468        LD      BC,23\r
+    00005604 09                    2469        ADD     HL,BC\r
+    00005605 36 29                 2470        LD      (HL),LOW(Window_handler)\r
+    00005607 23                    2471        INC     HL\r
+    00005608 36 51                 2472        LD      (HL),HIGH(Window_handler)\r
+    0000560A 23                    2473        INC     HL\r
+    0000560B 36 00                 2474        LD      (HL),BYTE3 Window_handler\r
+    0000560D FD 36 1A F6           2475        LD      (IY+26),LOW(Window_paint)\r
+    00005611 FD 36 1B 53           2476        LD      (IY+27),HIGH(Window_paint)\r
+    00005615 FD 36 1C 00           2477        LD      (IY+28),BYTE3 Window_paint\r
+    00005619 FD 36 1D CB           2478        LD      (IY+29),LOW(Window_add)\r
+    0000561D FD 36 1E 55           2479        LD      (IY+30),HIGH(Window_add)\r
+    00005621 FD 36 1F 00           2480        LD      (IY+31),BYTE3 Window_add\r
+    00005625 C3 A8 4C              2481        JP      LWRD ?0422\r
+    00005628                       2482 Button_handler:\r
+    00005628 CD 52 81              2483        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    0000562B FD E5                 2484        PUSH    IY\r
+    0000562D D5                    2485        PUSH    DE\r
+    0000562E FD E1                 2486        POP     IY\r
+    00005630 DD 6E 0A              2487        LD      L,(IX+10)\r
+    00005633 DD 66 0B              2488        LD      H,(IX+11)\r
+    00005636 E5                    2489        PUSH    HL\r
+    00005637 3E 00                 2490        LD      A,BYTE3 Window_handler\r
+    00005639 21 29 51              2491        LD      HL,LWRD Window_handler\r
+    0000563C CD 5E 81              2492        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000563F E1                    2493        POP     HL\r
+    00005640 3E 03                 2494        LD      A,3\r
+    00005642 DD AE 04              2495        XOR     (IX+4)\r
+    00005645 DD B6 05              2496        OR      (IX+5)\r
+    00005648 20 3E                 2497        JR      NZ,?0171\r
+    0000564A FD 4E 10              2498        LD      C,(IY+16)\r
+    0000564D 47                    2499        LD      B,A\r
+    0000564E DD 6E 0A              2500        LD      L,(IX+10)\r
+    00005651 DD 66 0B              2501        LD      H,(IX+11)\r
+    00005654 ED 42                 2502        SBC     HL,BC\r
+    00005656 20 30                 2503        JR      NZ,?0171\r
+    00005658 FD 7E 0A              2504        LD      A,(IY+10)\r
+    0000565B E6 03                 2505        AND     3\r
+    0000565D 28 29                 2506        JR      Z,?0171\r
+    0000565F                       2507 ?0169:\r
+    0000565F                       2508 ?0168:\r
+    0000565F                       2509 ?0166:\r
+    0000565F DD 6E 0A              2510        LD      L,(IX+10)\r
+    00005662 DD 66 0B              2511        LD      H,(IX+11)\r
+    00005665 E5                    2512        PUSH    HL\r
+    00005666 FD 5E 11              2513        LD      E,(IY+17)\r
+    00005669 FD 56 12              2514        LD      D,(IY+18)\r
+    0000566C FD 6E 11              2515        LD      L,(IY+17)\r
+    0000566F FD 66 12              2516        LD      H,(IY+18)\r
+    00005672 0E 17                 2517        LD      C,23\r
+    00005674 CD B5 56              2518        CALL    LWRD ?0480\r
+    00005677 E1                    2519        POP     HL\r
+    00005678 FD CB 0A 66           2520        BIT     4,(IY+10)\r
+    0000567C 28 0A                 2521        JR      Z,?0171\r
+    0000567E                       2522 ?0170:\r
+    0000567E FD 4E 10              2523        LD      C,(IY+16)\r
+    00005681 06 00                 2524        LD      B,0\r
+    00005683 C5                    2525        PUSH    BC\r
+    00005684 CD C3 56              2526        CALL    LWRD ?0482\r
+    00005687 E1                    2527        POP     HL\r
+    00005688                       2528 ?0171:\r
+    00005688                       2529 ?0167:\r
+    00005688 21 01 02              2530        LD      HL,513\r
+    0000568B DD 4E 04              2531        LD      C,(IX+4)\r
+    0000568E DD 46 05              2532        LD      B,(IX+5)\r
+    00005691 A7                    2533        AND     A\r
+    00005692 ED 42                 2534        SBC     HL,BC\r
+    00005694 20 0B                 2535        JR      NZ,?0173\r
+    00005696                       2536 ?0172:\r
+    00005696 DD 6E 0A              2537        LD      L,(IX+10)\r
+    00005699 DD 66 0B              2538        LD      H,(IX+11)\r
+    0000569C E5                    2539        PUSH    HL\r
+    0000569D CD A6 56              2540        CALL    LWRD ?0481\r
+    000056A0 E1                    2541        POP     HL\r
+    000056A1                       2542 ?0173:\r
+    000056A1 FD E1                 2543        POP     IY\r
+    000056A3 C3 1F 81              2544        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    000056A6                       2545 ?0481:\r
+    000056A6 FD 5E 11              2546        LD      E,(IY+17)\r
+    000056A9 FD 56 12              2547        LD      D,(IY+18)\r
+    000056AC FD 6E 11              2548        LD      L,(IY+17)\r
+    000056AF FD 66 12              2549        LD      H,(IY+18)\r
+    000056B2 01 17 00              2550        LD      BC,23\r
+    000056B5                       2551 ?0480:\r
+    000056B5 09                    2552        ADD     HL,BC\r
+    000056B6 4E                    2553        LD      C,(HL)\r
+    000056B7 23                    2554        INC     HL\r
+    000056B8 46                    2555        LD      B,(HL)\r
+    000056B9 23                    2556        INC     HL\r
+    000056BA 7E                    2557        LD      A,(HL)\r
+    000056BB 69                    2558        LD      L,C\r
+    000056BC 60                    2559        LD      H,B\r
+    000056BD 01 01 02              2560        LD      BC,513\r
+    000056C0 C3 5E 81              2561        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000056C3                       2562 ?0482:\r
+    000056C3 FD 5E 11              2563        LD      E,(IY+17)\r
+    000056C6 FD 56 12              2564        LD      D,(IY+18)\r
+    000056C9 FD 6E 11              2565        LD      L,(IY+17)\r
+    000056CC FD 66 12              2566        LD      H,(IY+18)\r
+    000056CF 0E 17                 2567        LD      C,23\r
+    000056D1 09                    2568        ADD     HL,BC\r
+    000056D2 4E                    2569        LD      C,(HL)\r
+    000056D3 23                    2570        INC     HL\r
+    000056D4 46                    2571        LD      B,(HL)\r
+    000056D5 23                    2572        INC     HL\r
+    000056D6 7E                    2573        LD      A,(HL)\r
+    000056D7 69                    2574        LD      L,C\r
+    000056D8 60                    2575        LD      H,B\r
+    000056D9 01 04 01              2576        LD      BC,260\r
+    000056DC C3 5E 81              2577        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    000056DF                       2578 Button_drawtext:\r
+    000056DF CD 52 81              2579        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000056E2 FD E5                 2580        PUSH    IY\r
+    000056E4 D5                    2581        PUSH    DE\r
+    000056E5 FD E1                 2582        POP     IY\r
+    000056E7 21 0A 00              2583        LD      HL,10\r
+    000056EA 19                    2584        ADD     HL,DE\r
+    000056EB CB 76                 2585        BIT     6,(HL)\r
+    000056ED 28 53                 2586        JR      Z,?0175\r
+    000056EF                       2587 ?0174:\r
+    000056EF FD 5E 08              2588        LD      E,(IY+8)\r
+    000056F2 FD 56 09              2589        LD      D,(IY+9)\r
+    000056F5 01 02 00              2590        LD      BC,2\r
+    000056F8 CD B8 81              2591        CALL    LWRD ?SS_DIV_L02\r
+    000056FB DD 6E 0A              2592        LD      L,(IX+10)\r
+    000056FE DD 66 0B              2593        LD      H,(IX+11)\r
+    00005701 19                    2594        ADD     HL,DE\r
+    00005702 E5                    2595        PUSH    HL\r
+    00005703 FD 5E 20              2596        LD      E,(IY+32)\r
+    00005706 FD 56 21              2597        LD      D,(IY+33)\r
+    00005709 21 12 00              2598        LD      HL,18\r
+    0000570C ED 4B BF 86           2599        LD      BC,(global)\r
+    00005710 09                    2600        ADD     HL,BC\r
+    00005711 7E                    2601        LD      A,(HL)\r
+    00005712 23                    2602        INC     HL\r
+    00005713 66                    2603        LD      H,(HL)\r
+    00005714 6F                    2604        LD      L,A\r
+    00005715 CD 4D 4A              2605        CALL    LWRD ?0453\r
+    00005718 C1                    2606        POP     BC\r
+    00005719 CD 5E 81              2607        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000571C FD 5E 20              2608        LD      E,(IY+32)\r
+    0000571F FD 56 21              2609        LD      D,(IY+33)\r
+    00005722 CD F9 46              2610        CALL    LWRD ?0452\r
+    00005725 CD 3D 55              2611        CALL    LWRD ?0463\r
+    00005728 29                    2612        ADD     HL,HL\r
+    00005729 CD 69 57              2613        CALL    LWRD ?0489\r
+    0000572C C5                    2614        PUSH    BC\r
+    0000572D FD 5E 22              2615        LD      E,(IY+34)\r
+    00005730 FD 56 23              2616        LD      D,(IY+35)\r
+    00005733 CD 41 4A              2617        CALL    LWRD ?0454\r
+    00005736 C1                    2618        POP     BC\r
+    00005737 CD 5E 81              2619        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000573A FD 5E 22              2620        LD      E,(IY+34)\r
+    0000573D FD 56 23              2621        LD      D,(IY+35)\r
+    00005740 18 1A                 2622        JR      ?0360\r
+    00005742                       2623 ?0175:\r
+    00005742 CD 3D 55              2624        CALL    LWRD ?0463\r
+    00005745 CD 69 57              2625        CALL    LWRD ?0489\r
+    00005748 C5                    2626        PUSH    BC\r
+    00005749 FD 5E 20              2627        LD      E,(IY+32)\r
+    0000574C FD 56 21              2628        LD      D,(IY+33)\r
+    0000574F CD 41 4A              2629        CALL    LWRD ?0454\r
+    00005752 C1                    2630        POP     BC\r
+    00005753 CD 5E 81              2631        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005756 FD 5E 20              2632        LD      E,(IY+32)\r
+    00005759 FD 56 21              2633        LD      D,(IY+33)\r
+    0000575C                       2634 ?0360:\r
+    0000575C 3E 00                 2635        LD      A,BYTE3 Text\r
+    0000575E 21 A6 48              2636        LD      HL,LWRD Text\r
+    00005761                       2637 ?0431:\r
+    00005761 CD 5E 81              2638        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005764                       2639 ?0176:\r
+    00005764 FD E1                 2640        POP     IY\r
+    00005766 C3 1F 81              2641        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00005769                       2642 ?0489:\r
+    00005769 FD 4E 08              2643        LD      C,(IY+8)\r
+    0000576C FD 46 09              2644        LD      B,(IY+9)\r
+    0000576F 09                    2645        ADD     HL,BC\r
+    00005770 EB                    2646        EX      DE,HL\r
+    00005771 01 02 00              2647        LD      BC,2\r
+    00005774 CD B8 81              2648        CALL    LWRD ?SS_DIV_L02\r
+    00005777 DD 6E 0A              2649        LD      L,(IX+10)\r
+    0000577A DD 66 0B              2650        LD      H,(IX+11)\r
+    0000577D 19                    2651        ADD     HL,DE\r
+    0000577E 4D                    2652        LD      C,L\r
+    0000577F 44                    2653        LD      B,H\r
+    00005780 03                    2654        INC     BC\r
+    00005781 C9                    2655        RET\r
+    00005782                       2656 Button_paint:\r
+    00005782 C5                    2657        PUSH    BC\r
+    00005783 DD E5                 2658        PUSH    IX\r
+    00005785 F5                    2659        PUSH    AF\r
+    00005786 F5                    2660        PUSH    AF\r
+    00005787 D5                    2661        PUSH    DE\r
+    00005788 DD E1                 2662        POP     IX\r
+    0000578A 21 02 00              2663        LD      HL,2\r
+    0000578D 39                    2664        ADD     HL,SP\r
+    0000578E AF                    2665        XOR     A\r
+    0000578F 77                    2666        LD      (HL),A\r
+    00005790 23                    2667        INC     HL\r
+    00005791 77                    2668        LD      (HL),A\r
+    00005792 2B                    2669        DEC     HL\r
+    00005793 2B                    2670        DEC     HL\r
+    00005794 2B                    2671        DEC     HL\r
+    00005795 77                    2672        LD      (HL),A\r
+    00005796 23                    2673        INC     HL\r
+    00005797 77                    2674        LD      (HL),A\r
+    00005798 21 12 00              2675        LD      HL,18\r
+    0000579B ED 4B BF 86           2676        LD      BC,(global)\r
+    0000579F 09                    2677        ADD     HL,BC\r
+    000057A0 7E                    2678        LD      A,(HL)\r
+    000057A1 23                    2679        INC     HL\r
+    000057A2 66                    2680        LD      H,(HL)\r
+    000057A3 6F                    2681        LD      L,A\r
+    000057A4 46                    2682        LD      B,(HL)\r
+    000057A5 23                    2683        INC     HL\r
+    000057A6 66                    2684        LD      H,(HL)\r
+    000057A7 68                    2685        LD      L,B\r
+    000057A8 E5                    2686        PUSH    HL\r
+    000057A9 21 0E 00              2687        LD      HL,14\r
+    000057AC 19                    2688        ADD     HL,DE\r
+    000057AD 4E                    2689        LD      C,(HL)\r
+    000057AE 23                    2690        INC     HL\r
+    000057AF 46                    2691        LD      B,(HL)\r
+    000057B0 E1                    2692        POP     HL\r
+    000057B1 A7                    2693        AND     A\r
+    000057B2 ED 42                 2694        SBC     HL,BC\r
+    000057B4 28 03                 2695        JR      Z,?0178\r
+    000057B6                       2696 ?0177:\r
+    000057B6 CD 2F 55              2697        CALL    LWRD ?0449\r
+    000057B9                       2698 ?0178:\r
+    000057B9 DD CB 0A 46           2699        BIT     0,(IX+10)\r
+    000057BD CA 52 58              2700        JP      Z,?0180\r
+    000057C0                       2701 ?0179:\r
+    000057C0 21 00 00              2702        LD      HL,0\r
+    000057C3 39                    2703        ADD     HL,SP\r
+    000057C4 E5                    2704        PUSH    HL\r
+    000057C5 CD E7 53              2705        CALL    LWRD ?0478\r
+    000057C8 E1                    2706        POP     HL\r
+    000057C9 21 00 00              2707        LD      HL,0\r
+    000057CC 39                    2708        ADD     HL,SP\r
+    000057CD CD 73 55              2709        CALL    LWRD ?0472\r
+    000057D0 CD 5E 81              2710        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000057D3 DD 6E 08              2711        LD      L,(IX+8)\r
+    000057D6 DD 66 09              2712        LD      H,(IX+9)\r
+    000057D9 E5                    2713        PUSH    HL\r
+    000057DA DD 6E 06              2714        LD      L,(IX+6)\r
+    000057DD DD 66 07              2715        LD      H,(IX+7)\r
+    000057E0 E5                    2716        PUSH    HL\r
+    000057E1 21 04 00              2717        LD      HL,4\r
+    000057E4 39                    2718        ADD     HL,SP\r
+    000057E5 4E                    2719        LD      C,(HL)\r
+    000057E6 23                    2720        INC     HL\r
+    000057E7 46                    2721        LD      B,(HL)\r
+    000057E8 C5                    2722        PUSH    BC\r
+    000057E9 23                    2723        INC     HL\r
+    000057EA 4E                    2724        LD      C,(HL)\r
+    000057EB 23                    2725        INC     HL\r
+    000057EC 46                    2726        LD      B,(HL)\r
+    000057ED DD CB 0A 4E           2727        BIT     1,(IX+10)\r
+    000057F1 28 07                 2728        JR      Z,?0182\r
+    000057F3 DD 5E 10              2729        LD      E,(IX+16)\r
+    000057F6 16 00                 2730        LD      D,0\r
+    000057F8 18 03                 2731        JR      ?0183\r
+    000057FA                       2732 ?0182:\r
+    000057FA 11 00 00              2733        LD      DE,0\r
+    000057FD                       2734 ?0183:\r
+    000057FD CD 55 49              2735        CALL    LWRD ?0484\r
+    00005800 E1                    2736        POP     HL\r
+    00005801 E1                    2737        POP     HL\r
+    00005802 E1                    2738        POP     HL\r
+    00005803 DD 7E 0A              2739        LD      A,(IX+10)\r
+    00005806 E6 82                 2740        AND     130\r
+    00005808 28 1C                 2741        JR      Z,?0185\r
+    0000580A DD 7E 0A              2742        LD      A,(IX+10)\r
+    0000580D E6 82                 2743        AND     130\r
+    0000580F EE 82                 2744        XOR     130\r
+    00005811 28 13                 2745        JR      Z,?0185\r
+    00005813                       2746 ?0187:\r
+    00005813                       2747 ?0186:\r
+    00005813                       2748 ?0184:\r
+    00005813 DD 4E 08              2749        LD      C,(IX+8)\r
+    00005816 DD 46 09              2750        LD      B,(IX+9)\r
+    00005819 DD 5E 06              2751        LD      E,(IX+6)\r
+    0000581C DD 56 07              2752        LD      D,(IX+7)\r
+    0000581F 3E 00                 2753        LD      A,BYTE3 FillRectNC\r
+    00005821 21 22 48              2754        LD      HL,LWRD FillRectNC\r
+    00005824 18 11                 2755        JR      ?0363\r
+    00005826                       2756 ?0185:\r
+    00005826 DD 4E 08              2757        LD      C,(IX+8)\r
+    00005829 DD 46 09              2758        LD      B,(IX+9)\r
+    0000582C DD 5E 06              2759        LD      E,(IX+6)\r
+    0000582F DD 56 07              2760        LD      D,(IX+7)\r
+    00005832 3E 00                 2761        LD      A,BYTE3 DrawRectNC\r
+    00005834 21 A1 47              2762        LD      HL,LWRD DrawRectNC\r
+    00005837                       2763 ?0363:\r
+    00005837 CD 5E 81              2764        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000583A                       2765 ?0188:\r
+    0000583A 21 00 00              2766        LD      HL,0\r
+    0000583D 39                    2767        ADD     HL,SP\r
+    0000583E 4E                    2768        LD      C,(HL)\r
+    0000583F 23                    2769        INC     HL\r
+    00005840 46                    2770        LD      B,(HL)\r
+    00005841 C5                    2771        PUSH    BC\r
+    00005842 23                    2772        INC     HL\r
+    00005843 4E                    2773        LD      C,(HL)\r
+    00005844 23                    2774        INC     HL\r
+    00005845 46                    2775        LD      B,(HL)\r
+    00005846 DD E5                 2776        PUSH    IX\r
+    00005848 D1                    2777        POP     DE\r
+    00005849 3E 00                 2778        LD      A,BYTE3 Button_drawtext\r
+    0000584B 21 DF 56              2779        LD      HL,LWRD Button_drawtext\r
+    0000584E CD 5E 81              2780        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005851 E1                    2781        POP     HL\r
+    00005852                       2782 ?0180:\r
+    00005852 C3 27 55              2783        JP      LWRD ?0165\r
+    00005855                       2784 Button_add:\r
+    00005855 CD 52 81              2785        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00005858 C3 1F 81              2786        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000585B                       2787 Button_new:\r
+    0000585B CD 88 81              2788        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    0000585E 00 00                 2789        DEFW    0\r
+    00005860 FD E5                 2790        PUSH    IY\r
+    00005862 DD 6E 0C              2791        LD      L,(IX+12)\r
+    00005865 DD 66 0D              2792        LD      H,(IX+13)\r
+    00005868 E5                    2793        PUSH    HL\r
+    00005869 DD 6E 0A              2794        LD      L,(IX+10)\r
+    0000586C DD 66 0B              2795        LD      H,(IX+11)\r
+    0000586F E5                    2796        PUSH    HL\r
+    00005870 DD 5E 02              2797        LD      E,(IX+2)\r
+    00005873 DD 56 03              2798        LD      D,(IX+3)\r
+    00005876 3E 00                 2799        LD      A,BYTE3 Component_new\r
+    00005878 21 06 4C              2800        LD      HL,LWRD Component_new\r
+    0000587B CD 5E 81              2801        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000587E F1                    2802        POP     AF\r
+    0000587F F1                    2803        POP     AF\r
+    00005880 E5                    2804        PUSH    HL\r
+    00005881 FD E1                 2805        POP     IY\r
+    00005883 01 0A 00              2806        LD      BC,10\r
+    00005886 09                    2807        ADD     HL,BC\r
+    00005887 7E                    2808        LD      A,(HL)\r
+    00005888 F6 03                 2809        OR      3\r
+    0000588A 77                    2810        LD      (HL),A\r
+    0000588B DD 46 0E              2811        LD      B,(IX+14)\r
+    0000588E FD 70 10              2812        LD      (IY+16),B\r
+    00005891 FD 36 17 28           2813        LD      (IY+23),LOW(Button_handler)\r
+    00005895 FD 36 18 56           2814        LD      (IY+24),HIGH(Button_handler)\r
+    00005899 FD 36 19 00           2815        LD      (IY+25),BYTE3 Button_handler\r
+    0000589D FD 36 1A 82           2816        LD      (IY+26),LOW(Button_paint)\r
+    000058A1 FD 36 1B 57           2817        LD      (IY+27),HIGH(Button_paint)\r
+    000058A5 FD 36 1C 00           2818        LD      (IY+28),BYTE3 Button_paint\r
+    000058A9 FD 36 1D 55           2819        LD      (IY+29),LOW(Button_add)\r
+    000058AD FD 36 1E 58           2820        LD      (IY+30),HIGH(Button_add)\r
+    000058B1 FD 36 1F 00           2821        LD      (IY+31),BYTE3 Button_add\r
+    000058B5 C3 A8 4C              2822        JP      LWRD ?0422\r
+    000058B8                       2823 ToggleButton_handler:\r
+    000058B8 CD 52 81              2824        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    000058BB FD E5                 2825        PUSH    IY\r
+    000058BD D5                    2826        PUSH    DE\r
+    000058BE FD E1                 2827        POP     IY\r
+    000058C0 DD 6E 0A              2828        LD      L,(IX+10)\r
+    000058C3 DD 66 0B              2829        LD      H,(IX+11)\r
+    000058C6 E5                    2830        PUSH    HL\r
+    000058C7 3E 00                 2831        LD      A,BYTE3 Window_handler\r
+    000058C9 21 29 51              2832        LD      HL,LWRD Window_handler\r
+    000058CC CD 5E 81              2833        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000058CF E1                    2834        POP     HL\r
+    000058D0 3E 03                 2835        LD      A,3\r
+    000058D2 DD AE 04              2836        XOR     (IX+4)\r
+    000058D5 DD B6 05              2837        OR      (IX+5)\r
+    000058D8 20 5C                 2838        JR      NZ,?0194\r
+    000058DA FD 4E 10              2839        LD      C,(IY+16)\r
+    000058DD 47                    2840        LD      B,A\r
+    000058DE DD 6E 0A              2841        LD      L,(IX+10)\r
+    000058E1 DD 66 0B              2842        LD      H,(IX+11)\r
+    000058E4 ED 42                 2843        SBC     HL,BC\r
+    000058E6 20 4E                 2844        JR      NZ,?0194\r
+    000058E8 FD 7E 0A              2845        LD      A,(IY+10)\r
+    000058EB E6 03                 2846        AND     3\r
+    000058ED 28 47                 2847        JR      Z,?0194\r
+    000058EF                       2848 ?0192:\r
+    000058EF                       2849 ?0191:\r
+    000058EF                       2850 ?0189:\r
+    000058EF FD 7E 0A              2851        LD      A,(IY+10)\r
+    000058F2 EE 04                 2852        XOR     4\r
+    000058F4 FD 77 0A              2853        LD      (IY+10),A\r
+    000058F7 DD 6E 0A              2854        LD      L,(IX+10)\r
+    000058FA DD 66 0B              2855        LD      H,(IX+11)\r
+    000058FD E5                    2856        PUSH    HL\r
+    000058FE FD 5E 11              2857        LD      E,(IY+17)\r
+    00005901 FD 56 12              2858        LD      D,(IY+18)\r
+    00005904 FD 6E 11              2859        LD      L,(IY+17)\r
+    00005907 FD 66 12              2860        LD      H,(IY+18)\r
+    0000590A 0E 17                 2861        LD      C,23\r
+    0000590C 09                    2862        ADD     HL,BC\r
+    0000590D 4E                    2863        LD      C,(HL)\r
+    0000590E 23                    2864        INC     HL\r
+    0000590F 46                    2865        LD      B,(HL)\r
+    00005910 23                    2866        INC     HL\r
+    00005911 7E                    2867        LD      A,(HL)\r
+    00005912 69                    2868        LD      L,C\r
+    00005913 60                    2869        LD      H,B\r
+    00005914 01 02 02              2870        LD      BC,514\r
+    00005917 CD 5E 81              2871        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000591A E1                    2872        POP     HL\r
+    0000591B 21 00 00              2873        LD      HL,0\r
+    0000591E E5                    2874        PUSH    HL\r
+    0000591F 01 03 01              2875        LD      BC,259\r
+    00005922 CD D8 53              2876        CALL    LWRD ?0476\r
+    00005925 E1                    2877        POP     HL\r
+    00005926 FD CB 0A 66           2878        BIT     4,(IY+10)\r
+    0000592A 28 0A                 2879        JR      Z,?0194\r
+    0000592C                       2880 ?0193:\r
+    0000592C FD 4E 10              2881        LD      C,(IY+16)\r
+    0000592F 06 00                 2882        LD      B,0\r
+    00005931 C5                    2883        PUSH    BC\r
+    00005932 CD C3 56              2884        CALL    LWRD ?0482\r
+    00005935 E1                    2885        POP     HL\r
+    00005936                       2886 ?0194:\r
+    00005936                       2887 ?0190:\r
+    00005936 21 01 02              2888        LD      HL,513\r
+    00005939 DD 4E 04              2889        LD      C,(IX+4)\r
+    0000593C DD 46 05              2890        LD      B,(IX+5)\r
+    0000593F A7                    2891        AND     A\r
+    00005940 ED 42                 2892        SBC     HL,BC\r
+    00005942 20 0B                 2893        JR      NZ,?0196\r
+    00005944                       2894 ?0195:\r
+    00005944 DD 6E 0A              2895        LD      L,(IX+10)\r
+    00005947 DD 66 0B              2896        LD      H,(IX+11)\r
+    0000594A E5                    2897        PUSH    HL\r
+    0000594B CD A6 56              2898        CALL    LWRD ?0481\r
+    0000594E E1                    2899        POP     HL\r
+    0000594F                       2900 ?0196:\r
+    0000594F FD E1                 2901        POP     IY\r
+    00005951 C3 1F 81              2902        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00005954                       2903 ToggleButton_paint:\r
+    00005954 C5                    2904        PUSH    BC\r
+    00005955 DD E5                 2905        PUSH    IX\r
+    00005957 F5                    2906        PUSH    AF\r
+    00005958 F5                    2907        PUSH    AF\r
+    00005959 D5                    2908        PUSH    DE\r
+    0000595A DD E1                 2909        POP     IX\r
+    0000595C 21 02 00              2910        LD      HL,2\r
+    0000595F 39                    2911        ADD     HL,SP\r
+    00005960 AF                    2912        XOR     A\r
+    00005961 77                    2913        LD      (HL),A\r
+    00005962 23                    2914        INC     HL\r
+    00005963 77                    2915        LD      (HL),A\r
+    00005964 2B                    2916        DEC     HL\r
+    00005965 2B                    2917        DEC     HL\r
+    00005966 2B                    2918        DEC     HL\r
+    00005967 77                    2919        LD      (HL),A\r
+    00005968 23                    2920        INC     HL\r
+    00005969 77                    2921        LD      (HL),A\r
+    0000596A 21 12 00              2922        LD      HL,18\r
+    0000596D ED 4B BF 86           2923        LD      BC,(global)\r
+    00005971 09                    2924        ADD     HL,BC\r
+    00005972 7E                    2925        LD      A,(HL)\r
+    00005973 23                    2926        INC     HL\r
+    00005974 66                    2927        LD      H,(HL)\r
+    00005975 6F                    2928        LD      L,A\r
+    00005976 46                    2929        LD      B,(HL)\r
+    00005977 23                    2930        INC     HL\r
+    00005978 66                    2931        LD      H,(HL)\r
+    00005979 68                    2932        LD      L,B\r
+    0000597A E5                    2933        PUSH    HL\r
+    0000597B 21 0E 00              2934        LD      HL,14\r
+    0000597E 19                    2935        ADD     HL,DE\r
+    0000597F 4E                    2936        LD      C,(HL)\r
+    00005980 23                    2937        INC     HL\r
+    00005981 46                    2938        LD      B,(HL)\r
+    00005982 E1                    2939        POP     HL\r
+    00005983 A7                    2940        AND     A\r
+    00005984 ED 42                 2941        SBC     HL,BC\r
+    00005986 28 03                 2942        JR      Z,?0198\r
+    00005988                       2943 ?0197:\r
+    00005988 CD 2F 55              2944        CALL    LWRD ?0449\r
+    0000598B                       2945 ?0198:\r
+    0000598B DD CB 0A 46           2946        BIT     0,(IX+10)\r
+    0000598F CA 3D 5A              2947        JP      Z,?0200\r
+    00005992                       2948 ?0199:\r
+    00005992 21 00 00              2949        LD      HL,0\r
+    00005995 39                    2950        ADD     HL,SP\r
+    00005996 E5                    2951        PUSH    HL\r
+    00005997 CD E7 53              2952        CALL    LWRD ?0478\r
+    0000599A E1                    2953        POP     HL\r
+    0000599B 21 00 00              2954        LD      HL,0\r
+    0000599E 39                    2955        ADD     HL,SP\r
+    0000599F CD 73 55              2956        CALL    LWRD ?0472\r
+    000059A2 CD 5E 81              2957        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000059A5 DD CB 0A 4E           2958        BIT     1,(IX+10)\r
+    000059A9 28 36                 2959        JR      Z,?0202\r
+    000059AB DD CB 0A 56           2960        BIT     2,(IX+10)\r
+    000059AF 28 30                 2961        JR      Z,?0202\r
+    000059B1                       2962 ?0204:\r
+    000059B1                       2963 ?0203:\r
+    000059B1                       2964 ?0201:\r
+    000059B1 DD 4E 08              2965        LD      C,(IX+8)\r
+    000059B4 DD 46 09              2966        LD      B,(IX+9)\r
+    000059B7 DD 5E 06              2967        LD      E,(IX+6)\r
+    000059BA DD 56 07              2968        LD      D,(IX+7)\r
+    000059BD 3E 00                 2969        LD      A,BYTE3 FillRectNC\r
+    000059BF 21 22 48              2970        LD      HL,LWRD FillRectNC\r
+    000059C2 CD 5E 81              2971        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000059C5 DD 6E 08              2972        LD      L,(IX+8)\r
+    000059C8 DD 66 09              2973        LD      H,(IX+9)\r
+    000059CB E5                    2974        PUSH    HL\r
+    000059CC DD 6E 06              2975        LD      L,(IX+6)\r
+    000059CF DD 66 07              2976        LD      H,(IX+7)\r
+    000059D2 E5                    2977        PUSH    HL\r
+    000059D3 21 04 00              2978        LD      HL,4\r
+    000059D6 39                    2979        ADD     HL,SP\r
+    000059D7 4E                    2980        LD      C,(HL)\r
+    000059D8 23                    2981        INC     HL\r
+    000059D9 46                    2982        LD      B,(HL)\r
+    000059DA C5                    2983        PUSH    BC\r
+    000059DB 23                    2984        INC     HL\r
+    000059DC 4E                    2985        LD      C,(HL)\r
+    000059DD 23                    2986        INC     HL\r
+    000059DE 46                    2987        LD      B,(HL)\r
+    000059DF 18 34                 2988        JR      ?0367\r
+    000059E1                       2989 ?0202:\r
+    000059E1 DD 4E 08              2990        LD      C,(IX+8)\r
+    000059E4 DD 46 09              2991        LD      B,(IX+9)\r
+    000059E7 DD 5E 06              2992        LD      E,(IX+6)\r
+    000059EA DD 56 07              2993        LD      D,(IX+7)\r
+    000059ED 3E 00                 2994        LD      A,BYTE3 DrawRectNC\r
+    000059EF 21 A1 47              2995        LD      HL,LWRD DrawRectNC\r
+    000059F2 CD 5E 81              2996        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000059F5 DD 6E 08              2997        LD      L,(IX+8)\r
+    000059F8 DD 66 09              2998        LD      H,(IX+9)\r
+    000059FB E5                    2999        PUSH    HL\r
+    000059FC DD 6E 06              3000        LD      L,(IX+6)\r
+    000059FF DD 66 07              3001        LD      H,(IX+7)\r
+    00005A02 E5                    3002        PUSH    HL\r
+    00005A03 21 04 00              3003        LD      HL,4\r
+    00005A06 39                    3004        ADD     HL,SP\r
+    00005A07 4E                    3005        LD      C,(HL)\r
+    00005A08 23                    3006        INC     HL\r
+    00005A09 46                    3007        LD      B,(HL)\r
+    00005A0A C5                    3008        PUSH    BC\r
+    00005A0B 23                    3009        INC     HL\r
+    00005A0C 4E                    3010        LD      C,(HL)\r
+    00005A0D 23                    3011        INC     HL\r
+    00005A0E 46                    3012        LD      B,(HL)\r
+    00005A0F DD CB 0A 4E           3013        BIT     1,(IX+10)\r
+    00005A13 28 07                 3014        JR      Z,?0207\r
+    00005A15                       3015 ?0367:\r
+    00005A15 DD 5E 10              3016        LD      E,(IX+16)\r
+    00005A18 16 00                 3017        LD      D,0\r
+    00005A1A 18 03                 3018        JR      ?0208\r
+    00005A1C                       3019 ?0207:\r
+    00005A1C 11 00 00              3020        LD      DE,0\r
+    00005A1F                       3021 ?0208:\r
+    00005A1F CD 55 49              3022        CALL    LWRD ?0484\r
+    00005A22 E1                    3023        POP     HL\r
+    00005A23 E1                    3024        POP     HL\r
+    00005A24 E1                    3025        POP     HL\r
+    00005A25                       3026 ?0205:\r
+    00005A25 21 00 00              3027        LD      HL,0\r
+    00005A28 39                    3028        ADD     HL,SP\r
+    00005A29 4E                    3029        LD      C,(HL)\r
+    00005A2A 23                    3030        INC     HL\r
+    00005A2B 46                    3031        LD      B,(HL)\r
+    00005A2C C5                    3032        PUSH    BC\r
+    00005A2D 23                    3033        INC     HL\r
+    00005A2E 4E                    3034        LD      C,(HL)\r
+    00005A2F 23                    3035        INC     HL\r
+    00005A30 46                    3036        LD      B,(HL)\r
+    00005A31 DD E5                 3037        PUSH    IX\r
+    00005A33 D1                    3038        POP     DE\r
+    00005A34 3E 00                 3039        LD      A,BYTE3 Button_drawtext\r
+    00005A36 21 DF 56              3040        LD      HL,LWRD Button_drawtext\r
+    00005A39 CD 5E 81              3041        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005A3C E1                    3042        POP     HL\r
+    00005A3D                       3043 ?0200:\r
+    00005A3D C3 27 55              3044        JP      LWRD ?0165\r
+    00005A40                       3045 ToggleButton_new:\r
+    00005A40 CD 88 81              3046        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00005A43 00 00                 3047        DEFW    0\r
+    00005A45 FD E5                 3048        PUSH    IY\r
+    00005A47 DD 6E 0C              3049        LD      L,(IX+12)\r
+    00005A4A DD 66 0D              3050        LD      H,(IX+13)\r
+    00005A4D E5                    3051        PUSH    HL\r
+    00005A4E DD 6E 0A              3052        LD      L,(IX+10)\r
+    00005A51 DD 66 0B              3053        LD      H,(IX+11)\r
+    00005A54 E5                    3054        PUSH    HL\r
+    00005A55 DD 5E 02              3055        LD      E,(IX+2)\r
+    00005A58 DD 56 03              3056        LD      D,(IX+3)\r
+    00005A5B 3E 00                 3057        LD      A,BYTE3 Component_new\r
+    00005A5D 21 06 4C              3058        LD      HL,LWRD Component_new\r
+    00005A60 CD 5E 81              3059        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005A63 F1                    3060        POP     AF\r
+    00005A64 F1                    3061        POP     AF\r
+    00005A65 E5                    3062        PUSH    HL\r
+    00005A66 FD E1                 3063        POP     IY\r
+    00005A68 01 0A 00              3064        LD      BC,10\r
+    00005A6B 09                    3065        ADD     HL,BC\r
+    00005A6C 7E                    3066        LD      A,(HL)\r
+    00005A6D F6 07                 3067        OR      7\r
+    00005A6F 77                    3068        LD      (HL),A\r
+    00005A70 DD 46 0E              3069        LD      B,(IX+14)\r
+    00005A73 FD 70 10              3070        LD      (IY+16),B\r
+    00005A76 FD 36 17 B8           3071        LD      (IY+23),LOW(ToggleButton_handler)\r
+    00005A7A FD 36 18 58           3072        LD      (IY+24),HIGH(ToggleButton_handler)\r
+    00005A7E FD 36 19 00           3073        LD      (IY+25),BYTE3 ToggleButton_handler\r
+    00005A82 FD 36 1A 54           3074        LD      (IY+26),LOW(ToggleButton_paint)\r
+    00005A86 FD 36 1B 59           3075        LD      (IY+27),HIGH(ToggleButton_paint)\r
+    00005A8A FD 36 1C 00           3076        LD      (IY+28),BYTE3 ToggleButton_paint\r
+    00005A8E FD 36 1D 55           3077        LD      (IY+29),LOW(Button_add)\r
+    00005A92 FD 36 1E 58           3078        LD      (IY+30),HIGH(Button_add)\r
+    00005A96 FD 36 1F 00           3079        LD      (IY+31),BYTE3 Button_add\r
+    00005A9A C3 A8 4C              3080        JP      LWRD ?0422\r
+    00005A9D                       3081 Dialog_handler:\r
+    00005A9D CD 52 81              3082        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00005AA0 FD E5                 3083        PUSH    IY\r
+    00005AA2 D5                    3084        PUSH    DE\r
+    00005AA3 FD E1                 3085        POP     IY\r
+    00005AA5 DD 6E 0A              3086        LD      L,(IX+10)\r
+    00005AA8 DD 66 0B              3087        LD      H,(IX+11)\r
+    00005AAB E5                    3088        PUSH    HL\r
+    00005AAC 3E 00                 3089        LD      A,BYTE3 Window_handler\r
+    00005AAE 21 29 51              3090        LD      HL,LWRD Window_handler\r
+    00005AB1 CD 5E 81              3091        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005AB4 E1                    3092        POP     HL\r
+    00005AB5 21 01 02              3093        LD      HL,513\r
+    00005AB8 DD 4E 04              3094        LD      C,(IX+4)\r
+    00005ABB DD 46 05              3095        LD      B,(IX+5)\r
+    00005ABE A7                    3096        AND     A\r
+    00005ABF ED 42                 3097        SBC     HL,BC\r
+    00005AC1 20 40                 3098        JR      NZ,?0210\r
+    00005AC3 3E FF                 3099        LD      A,255\r
+    00005AC5 DD AE 0A              3100        XOR     (IX+10)\r
+    00005AC8 DD B6 0B              3101        OR      (IX+11)\r
+    00005ACB 20 36                 3102        JR      NZ,?0210\r
+    00005ACD                       3103 ?0212:\r
+    00005ACD                       3104 ?0211:\r
+    00005ACD                       3105 ?0209:\r
+    00005ACD FD CB 0B 66           3106        BIT     4,(IY+11)\r
+    00005AD1 E5                    3107        PUSH    HL\r
+    00005AD2 28 05                 3108        JR      Z,?0214\r
+    00005AD4                       3109 ?0213:\r
+    00005AD4 01 05 01              3110        LD      BC,261\r
+    00005AD7 18 03                 3111        JR      ?0368\r
+    00005AD9                       3112 ?0214:\r
+    00005AD9 01 02 01              3113        LD      BC,258\r
+    00005ADC                       3114 ?0368:\r
+    00005ADC CD D8 53              3115        CALL    LWRD ?0476\r
+    00005ADF E1                    3116        POP     HL\r
+    00005AE0                       3117 ?0215:\r
+    00005AE0 FD 4E 10              3118        LD      C,(IY+16)\r
+    00005AE3 06 00                 3119        LD      B,0\r
+    00005AE5 C5                    3120        PUSH    BC\r
+    00005AE6 FD 5E 11              3121        LD      E,(IY+17)\r
+    00005AE9 FD 56 12              3122        LD      D,(IY+18)\r
+    00005AEC FD 6E 11              3123        LD      L,(IY+17)\r
+    00005AEF FD 66 12              3124        LD      H,(IY+18)\r
+    00005AF2 0E 17                 3125        LD      C,23\r
+    00005AF4 09                    3126        ADD     HL,BC\r
+    00005AF5 4E                    3127        LD      C,(HL)\r
+    00005AF6 23                    3128        INC     HL\r
+    00005AF7 46                    3129        LD      B,(HL)\r
+    00005AF8 23                    3130        INC     HL\r
+    00005AF9 7E                    3131        LD      A,(HL)\r
+    00005AFA 69                    3132        LD      L,C\r
+    00005AFB 60                    3133        LD      H,B\r
+    00005AFC 01 01 03              3134        LD      BC,769\r
+    00005AFF CD 5E 81              3135        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005B02 E1                    3136        POP     HL\r
+    00005B03                       3137 ?0210:\r
+    00005B03 21 01 02              3138        LD      HL,513\r
+    00005B06 DD 4E 04              3139        LD      C,(IX+4)\r
+    00005B09 DD 46 05              3140        LD      B,(IX+5)\r
+    00005B0C A7                    3141        AND     A\r
+    00005B0D ED 42                 3142        SBC     HL,BC\r
+    00005B0F 20 40                 3143        JR      NZ,?0217\r
+    00005B11 3E FE                 3144        LD      A,254\r
+    00005B13 DD AE 0A              3145        XOR     (IX+10)\r
+    00005B16 DD B6 0B              3146        OR      (IX+11)\r
+    00005B19 20 36                 3147        JR      NZ,?0217\r
+    00005B1B                       3148 ?0219:\r
+    00005B1B                       3149 ?0218:\r
+    00005B1B                       3150 ?0216:\r
+    00005B1B FD CB 0B 66           3151        BIT     4,(IY+11)\r
+    00005B1F E5                    3152        PUSH    HL\r
+    00005B20 28 05                 3153        JR      Z,?0221\r
+    00005B22                       3154 ?0220:\r
+    00005B22 01 05 01              3155        LD      BC,261\r
+    00005B25 18 03                 3156        JR      ?0369\r
+    00005B27                       3157 ?0221:\r
+    00005B27 01 02 01              3158        LD      BC,258\r
+    00005B2A                       3159 ?0369:\r
+    00005B2A CD D8 53              3160        CALL    LWRD ?0476\r
+    00005B2D E1                    3161        POP     HL\r
+    00005B2E                       3162 ?0222:\r
+    00005B2E FD 4E 10              3163        LD      C,(IY+16)\r
+    00005B31 06 00                 3164        LD      B,0\r
+    00005B33 C5                    3165        PUSH    BC\r
+    00005B34 FD 5E 11              3166        LD      E,(IY+17)\r
+    00005B37 FD 56 12              3167        LD      D,(IY+18)\r
+    00005B3A FD 6E 11              3168        LD      L,(IY+17)\r
+    00005B3D FD 66 12              3169        LD      H,(IY+18)\r
+    00005B40 0E 17                 3170        LD      C,23\r
+    00005B42 09                    3171        ADD     HL,BC\r
+    00005B43 4E                    3172        LD      C,(HL)\r
+    00005B44 23                    3173        INC     HL\r
+    00005B45 46                    3174        LD      B,(HL)\r
+    00005B46 23                    3175        INC     HL\r
+    00005B47 7E                    3176        LD      A,(HL)\r
+    00005B48 69                    3177        LD      L,C\r
+    00005B49 60                    3178        LD      H,B\r
+    00005B4A 01 02 03              3179        LD      BC,770\r
+    00005B4D CD 5E 81              3180        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005B50 E1                    3181        POP     HL\r
+    00005B51                       3182 ?0217:\r
+    00005B51 FD E1                 3183        POP     IY\r
+    00005B53 C3 1F 81              3184        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00005B56                       3185 Dialog_new:\r
+    00005B56 CD 88 81              3186        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00005B59 FE FF                 3187        DEFW    -2\r
+    00005B5B FD E5                 3188        PUSH    IY\r
+    00005B5D DD 6E 0C              3189        LD      L,(IX+12)\r
+    00005B60 DD 66 0D              3190        LD      H,(IX+13)\r
+    00005B63 E5                    3191        PUSH    HL\r
+    00005B64 DD 6E 0A              3192        LD      L,(IX+10)\r
+    00005B67 DD 66 0B              3193        LD      H,(IX+11)\r
+    00005B6A E5                    3194        PUSH    HL\r
+    00005B6B DD 5E 02              3195        LD      E,(IX+2)\r
+    00005B6E DD 56 03              3196        LD      D,(IX+3)\r
+    00005B71 3E 00                 3197        LD      A,BYTE3 Component_new\r
+    00005B73 21 06 4C              3198        LD      HL,LWRD Component_new\r
+    00005B76 CD 5E 81              3199        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005B79 F1                    3200        POP     AF\r
+    00005B7A F1                    3201        POP     AF\r
+    00005B7B E5                    3202        PUSH    HL\r
+    00005B7C FD E1                 3203        POP     IY\r
+    00005B7E 01 0A 00              3204        LD      BC,10\r
+    00005B81 09                    3205        ADD     HL,BC\r
+    00005B82 CB C6                 3206        SET     0,(HL)\r
+    00005B84 DD 46 0E              3207        LD      B,(IX+14)\r
+    00005B87 FD 70 10              3208        LD      (IY+16),B\r
+    00005B8A FD 36 17 9D           3209        LD      (IY+23),LOW(Dialog_handler)\r
+    00005B8E FD 36 18 5A           3210        LD      (IY+24),HIGH(Dialog_handler)\r
+    00005B92 FD 36 19 00           3211        LD      (IY+25),BYTE3 Dialog_handler\r
+    00005B96 FD 36 1A F6           3212        LD      (IY+26),LOW(Window_paint)\r
+    00005B9A FD 36 1B 53           3213        LD      (IY+27),HIGH(Window_paint)\r
+    00005B9E FD 36 1C 00           3214        LD      (IY+28),BYTE3 Window_paint\r
+    00005BA2 FD 36 1D CB           3215        LD      (IY+29),LOW(Window_add)\r
+    00005BA6 FD 36 1E 55           3216        LD      (IY+30),HIGH(Window_add)\r
+    00005BAA FD 36 1F 00           3217        LD      (IY+31),BYTE3 Window_add\r
+    00005BAE 21 FF 00              3218        LD      HL,255\r
+    00005BB1 E5                    3219        PUSH    HL\r
+    00005BB2 2E 14                 3220        LD      L,20\r
+    00005BB4 E5                    3221        PUSH    HL\r
+    00005BB5 2E 28                 3222        LD      L,40\r
+    00005BB7 E5                    3223        PUSH    HL\r
+    00005BB8 21 E4 FF              3224        LD      HL,65508\r
+    00005BBB DD 4E 0C              3225        LD      C,(IX+12)\r
+    00005BBE DD 46 0D              3226        LD      B,(IX+13)\r
+    00005BC1 09                    3227        ADD     HL,BC\r
+    00005BC2 4D                    3228        LD      C,L\r
+    00005BC3 44                    3229        LD      B,H\r
+    00005BC4 21 D0 FF              3230        LD      HL,65488\r
+    00005BC7 DD 5E 0A              3231        LD      E,(IX+10)\r
+    00005BCA DD 56 0B              3232        LD      D,(IX+11)\r
+    00005BCD 19                    3233        ADD     HL,DE\r
+    00005BCE EB                    3234        EX      DE,HL\r
+    00005BCF 3E 00                 3235        LD      A,BYTE3 Button_new\r
+    00005BD1 21 5B 58              3236        LD      HL,LWRD Button_new\r
+    00005BD4 CD 5E 81              3237        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005BD7 F1                    3238        POP     AF\r
+    00005BD8 F1                    3239        POP     AF\r
+    00005BD9 F1                    3240        POP     AF\r
+    00005BDA DD 75 FE              3241        LD      (IX-2),L\r
+    00005BDD DD 74 FF              3242        LD      (IX-1),H\r
+    00005BE0 01 20 00              3243        LD      BC,32\r
+    00005BE3 09                    3244        ADD     HL,BC\r
+    00005BE4 E5                    3245        PUSH    HL\r
+    00005BE5 11 03 00              3246        LD      DE,3\r
+    00005BE8 CD 7F 4A              3247        CALL    LWRD ?0460\r
+    00005BEB E1                    3248        POP     HL\r
+    00005BEC 71                    3249        LD      (HL),C\r
+    00005BED 23                    3250        INC     HL\r
+    00005BEE 70                    3251        LD      (HL),B\r
+    00005BEF 01 B9 84              3252        LD      BC,?0223\r
+    00005BF2 CD 45 5C              3253        CALL    LWRD ?0471\r
+    00005BF5 CD 5E 81              3254        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005BF8 21 FE 00              3255        LD      HL,254\r
+    00005BFB E5                    3256        PUSH    HL\r
+    00005BFC 2E 14                 3257        LD      L,20\r
+    00005BFE E5                    3258        PUSH    HL\r
+    00005BFF 2E 28                 3259        LD      L,40\r
+    00005C01 E5                    3260        PUSH    HL\r
+    00005C02 21 C8 FF              3261        LD      HL,65480\r
+    00005C05 DD 4E 0C              3262        LD      C,(IX+12)\r
+    00005C08 DD 46 0D              3263        LD      B,(IX+13)\r
+    00005C0B 09                    3264        ADD     HL,BC\r
+    00005C0C 4D                    3265        LD      C,L\r
+    00005C0D 44                    3266        LD      B,H\r
+    00005C0E 21 D0 FF              3267        LD      HL,65488\r
+    00005C11 DD 5E 0A              3268        LD      E,(IX+10)\r
+    00005C14 DD 56 0B              3269        LD      D,(IX+11)\r
+    00005C17 19                    3270        ADD     HL,DE\r
+    00005C18 EB                    3271        EX      DE,HL\r
+    00005C19 3E 00                 3272        LD      A,BYTE3 Button_new\r
+    00005C1B 21 5B 58              3273        LD      HL,LWRD Button_new\r
+    00005C1E CD 5E 81              3274        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005C21 F1                    3275        POP     AF\r
+    00005C22 F1                    3276        POP     AF\r
+    00005C23 F1                    3277        POP     AF\r
+    00005C24 DD 75 FE              3278        LD      (IX-2),L\r
+    00005C27 DD 74 FF              3279        LD      (IX-1),H\r
+    00005C2A 01 20 00              3280        LD      BC,32\r
+    00005C2D 09                    3281        ADD     HL,BC\r
+    00005C2E E5                    3282        PUSH    HL\r
+    00005C2F 11 07 00              3283        LD      DE,7\r
+    00005C32 CD 7F 4A              3284        CALL    LWRD ?0460\r
+    00005C35 E1                    3285        POP     HL\r
+    00005C36 71                    3286        LD      (HL),C\r
+    00005C37 23                    3287        INC     HL\r
+    00005C38 70                    3288        LD      (HL),B\r
+    00005C39 01 BC 84              3289        LD      BC,?0224\r
+    00005C3C CD 45 5C              3290        CALL    LWRD ?0471\r
+    00005C3F CD 5E 81              3291        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005C42 C3 A8 4C              3292        JP      LWRD ?0422\r
+    00005C45                       3293 ?0471:\r
+    00005C45 DD 5E FE              3294        LD      E,(IX-2)\r
+    00005C48 DD 56 FF              3295        LD      D,(IX-1)\r
+    00005C4B 3E 00                 3296        LD      A,BYTE3 Component_setlabel\r
+    00005C4D 21 B0 4C              3297        LD      HL,LWRD Component_setlabel\r
+    00005C50 CD 5E 81              3298        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005C53 DD 4E FE              3299        LD      C,(IX-2)\r
+    00005C56 DD 46 FF              3300        LD      B,(IX-1)\r
+    00005C59 FD E5                 3301        PUSH    IY\r
+    00005C5B D1                    3302        POP     DE\r
+    00005C5C FD 7E 1F              3303        LD      A,(IY+31)\r
+    00005C5F FD 6E 1D              3304        LD      L,(IY+29)\r
+    00005C62 FD 66 1E              3305        LD      H,(IY+30)\r
+    00005C65 C9                    3306        RET\r
+    00005C66                       3307 Display_handler:\r
+    00005C66 CD 52 81              3308        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00005C69 FD E5                 3309        PUSH    IY\r
+    00005C6B D5                    3310        PUSH    DE\r
+    00005C6C FD E1                 3311        POP     IY\r
+    00005C6E DD 6E 0A              3312        LD      L,(IX+10)\r
+    00005C71 DD 66 0B              3313        LD      H,(IX+11)\r
+    00005C74 E5                    3314        PUSH    HL\r
+    00005C75 3E 00                 3315        LD      A,BYTE3 Button_handler\r
+    00005C77 21 28 56              3316        LD      HL,LWRD Button_handler\r
+    00005C7A CD 5E 81              3317        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005C7D E1                    3318        POP     HL\r
+    00005C7E 21 03 02              3319        LD      HL,515\r
+    00005C81 DD 4E 04              3320        LD      C,(IX+4)\r
+    00005C84 DD 46 05              3321        LD      B,(IX+5)\r
+    00005C87 A7                    3322        AND     A\r
+    00005C88 ED 42                 3323        SBC     HL,BC\r
+    00005C8A 20 40                 3324        JR      NZ,?0226\r
+    00005C8C FD CB 0A 5E           3325        BIT     3,(IY+10)\r
+    00005C90 28 3A                 3326        JR      Z,?0226\r
+    00005C92                       3327 ?0228:\r
+    00005C92                       3328 ?0227:\r
+    00005C92                       3329 ?0225:\r
+    00005C92 3E 08                 3330        LD      A,8\r
+    00005C94 DD AE 0A              3331        XOR     (IX+10)\r
+    00005C97 DD B6 0B              3332        OR      (IX+11)\r
+    00005C9A FD 5E 20              3333        LD      E,(IY+32)\r
+    00005C9D FD 56 21              3334        LD      D,(IY+33)\r
+    00005CA0 3E 00                 3335        LD      A,BYTE3 strlen\r
+    00005CA2 21 C8 73              3336        LD      HL,LWRD strlen\r
+    00005CA5 20 0D                 3337        JR      NZ,?0230\r
+    00005CA7                       3338 ?0229:\r
+    00005CA7 CD 79 4A              3339        CALL    LWRD ?0458\r
+    00005CAA 28 15                 3340        JR      Z,?0233\r
+    00005CAC                       3341 ?0231:\r
+    00005CAC CD D1 5C              3342        CALL    LWRD ?0455\r
+    00005CAF 2B                    3343        DEC     HL\r
+    00005CB0 36 00                 3344        LD      (HL),0\r
+    00005CB2                       3345 ?0232:\r
+    00005CB2 18 0D                 3346        JR      ?0233\r
+    00005CB4                       3347 ?0230:\r
+    00005CB4 CD DC 5C              3348        CALL    LWRD ?0456\r
+    00005CB7 23                    3349        INC     HL\r
+    00005CB8 36 00                 3350        LD      (HL),0\r
+    00005CBA CD D1 5C              3351        CALL    LWRD ?0455\r
+    00005CBD DD 46 0A              3352        LD      B,(IX+10)\r
+    00005CC0 70                    3353        LD      (HL),B\r
+    00005CC1                       3354 ?0233:\r
+    00005CC1 21 00 00              3355        LD      HL,0\r
+    00005CC4 E5                    3356        PUSH    HL\r
+    00005CC5 01 03 01              3357        LD      BC,259\r
+    00005CC8 CD D8 53              3358        CALL    LWRD ?0476\r
+    00005CCB E1                    3359        POP     HL\r
+    00005CCC                       3360 ?0226:\r
+    00005CCC FD E1                 3361        POP     IY\r
+    00005CCE C3 1F 81              3362        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00005CD1                       3363 ?0455:\r
+    00005CD1 FD 5E 20              3364        LD      E,(IY+32)\r
+    00005CD4 FD 56 21              3365        LD      D,(IY+33)\r
+    00005CD7 3E 00                 3366        LD      A,BYTE3 strlen\r
+    00005CD9 21 C8 73              3367        LD      HL,LWRD strlen\r
+    00005CDC                       3368 ?0456:\r
+    00005CDC CD 5E 81              3369        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005CDF FD 4E 20              3370        LD      C,(IY+32)\r
+    00005CE2 FD 46 21              3371        LD      B,(IY+33)\r
+    00005CE5 09                    3372        ADD     HL,BC\r
+    00005CE6 C9                    3373        RET\r
+    00005CE7                       3374 Display_paint:\r
+    00005CE7 C5                    3375        PUSH    BC\r
+    00005CE8 FD E5                 3376        PUSH    IY\r
+    00005CEA DD E5                 3377        PUSH    IX\r
+    00005CEC 21 B8 FF              3378        LD      HL,65464\r
+    00005CEF 39                    3379        ADD     HL,SP\r
+    00005CF0 F9                    3380        LD      SP,HL\r
+    00005CF1 D5                    3381        PUSH    DE\r
+    00005CF2 DD E1                 3382        POP     IX\r
+    00005CF4 AF                    3383        XOR     A\r
+    00005CF5 77                    3384        LD      (HL),A\r
+    00005CF6 23                    3385        INC     HL\r
+    00005CF7 77                    3386        LD      (HL),A\r
+    00005CF8 23                    3387        INC     HL\r
+    00005CF9 77                    3388        LD      (HL),A\r
+    00005CFA 23                    3389        INC     HL\r
+    00005CFB 77                    3390        LD      (HL),A\r
+    00005CFC 21 12 00              3391        LD      HL,18\r
+    00005CFF ED 4B BF 86           3392        LD      BC,(global)\r
+    00005D03 09                    3393        ADD     HL,BC\r
+    00005D04 7E                    3394        LD      A,(HL)\r
+    00005D05 23                    3395        INC     HL\r
+    00005D06 66                    3396        LD      H,(HL)\r
+    00005D07 6F                    3397        LD      L,A\r
+    00005D08 46                    3398        LD      B,(HL)\r
+    00005D09 23                    3399        INC     HL\r
+    00005D0A 66                    3400        LD      H,(HL)\r
+    00005D0B 68                    3401        LD      L,B\r
+    00005D0C E5                    3402        PUSH    HL\r
+    00005D0D 21 0E 00              3403        LD      HL,14\r
+    00005D10 19                    3404        ADD     HL,DE\r
+    00005D11 4E                    3405        LD      C,(HL)\r
+    00005D12 23                    3406        INC     HL\r
+    00005D13 46                    3407        LD      B,(HL)\r
+    00005D14 E1                    3408        POP     HL\r
+    00005D15 A7                    3409        AND     A\r
+    00005D16 ED 42                 3410        SBC     HL,BC\r
+    00005D18 28 03                 3411        JR      Z,?0235\r
+    00005D1A                       3412 ?0234:\r
+    00005D1A CD 2F 55              3413        CALL    LWRD ?0449\r
+    00005D1D                       3414 ?0235:\r
+    00005D1D DD CB 0A 46           3415        BIT     0,(IX+10)\r
+    00005D21 CA 03 5E              3416        JP      Z,?0250\r
+    00005D24                       3417 ?0236:\r
+    00005D24 21 02 00              3418        LD      HL,2\r
+    00005D27 39                    3419        ADD     HL,SP\r
+    00005D28 E5                    3420        PUSH    HL\r
+    00005D29 2B                    3421        DEC     HL\r
+    00005D2A 2B                    3422        DEC     HL\r
+    00005D2B CD E9 53              3423        CALL    LWRD ?0479\r
+    00005D2E E1                    3424        POP     HL\r
+    00005D2F 21 02 00              3425        LD      HL,2\r
+    00005D32 39                    3426        ADD     HL,SP\r
+    00005D33 4E                    3427        LD      C,(HL)\r
+    00005D34 23                    3428        INC     HL\r
+    00005D35 46                    3429        LD      B,(HL)\r
+    00005D36 2B                    3430        DEC     HL\r
+    00005D37 2B                    3431        DEC     HL\r
+    00005D38 2B                    3432        DEC     HL\r
+    00005D39 CD 77 55              3433        CALL    LWRD ?0473\r
+    00005D3C CD 5E 81              3434        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005D3F DD 6E 08              3435        LD      L,(IX+8)\r
+    00005D42 DD 66 09              3436        LD      H,(IX+9)\r
+    00005D45 E5                    3437        PUSH    HL\r
+    00005D46 DD 6E 06              3438        LD      L,(IX+6)\r
+    00005D49 DD 66 07              3439        LD      H,(IX+7)\r
+    00005D4C E5                    3440        PUSH    HL\r
+    00005D4D 21 06 00              3441        LD      HL,6\r
+    00005D50 39                    3442        ADD     HL,SP\r
+    00005D51 4E                    3443        LD      C,(HL)\r
+    00005D52 23                    3444        INC     HL\r
+    00005D53 46                    3445        LD      B,(HL)\r
+    00005D54 C5                    3446        PUSH    BC\r
+    00005D55 2B                    3447        DEC     HL\r
+    00005D56 2B                    3448        DEC     HL\r
+    00005D57 2B                    3449        DEC     HL\r
+    00005D58 4E                    3450        LD      C,(HL)\r
+    00005D59 23                    3451        INC     HL\r
+    00005D5A 46                    3452        LD      B,(HL)\r
+    00005D5B DD CB 0A 4E           3453        BIT     1,(IX+10)\r
+    00005D5F 28 07                 3454        JR      Z,?0239\r
+    00005D61 DD 5E 10              3455        LD      E,(IX+16)\r
+    00005D64 16 00                 3456        LD      D,0\r
+    00005D66 18 03                 3457        JR      ?0240\r
+    00005D68                       3458 ?0239:\r
+    00005D68 11 00 00              3459        LD      DE,0\r
+    00005D6B                       3460 ?0240:\r
+    00005D6B CD 55 49              3461        CALL    LWRD ?0484\r
+    00005D6E E1                    3462        POP     HL\r
+    00005D6F E1                    3463        POP     HL\r
+    00005D70 E1                    3464        POP     HL\r
+    00005D71 DD CB 0A 7E           3465        BIT     7,(IX+10)\r
+    00005D75 DD 4E 08              3466        LD      C,(IX+8)\r
+    00005D78 DD 46 09              3467        LD      B,(IX+9)\r
+    00005D7B DD 5E 06              3468        LD      E,(IX+6)\r
+    00005D7E DD 56 07              3469        LD      D,(IX+7)\r
+    00005D81 20 07                 3470        JR      NZ,?0242\r
+    00005D83                       3471 ?0241:\r
+    00005D83 3E 00                 3472        LD      A,BYTE3 FillRectNC\r
+    00005D85 21 22 48              3473        LD      HL,LWRD FillRectNC\r
+    00005D88 18 05                 3474        JR      ?0374\r
+    00005D8A                       3475 ?0242:\r
+    00005D8A 3E 00                 3476        LD      A,BYTE3 DrawRectNC\r
+    00005D8C 21 A1 47              3477        LD      HL,LWRD DrawRectNC\r
+    00005D8F                       3478 ?0374:\r
+    00005D8F CD 5D 55              3479        CALL    LWRD ?0470\r
+    00005D92                       3480 ?0243:\r
+    00005D92 CD 4F 55              3481        CALL    LWRD ?0462\r
+    00005D95 DD 4E 08              3482        LD      C,(IX+8)\r
+    00005D98 DD 46 09              3483        LD      B,(IX+9)\r
+    00005D9B 09                    3484        ADD     HL,BC\r
+    00005D9C EB                    3485        EX      DE,HL\r
+    00005D9D 01 02 00              3486        LD      BC,2\r
+    00005DA0 CD B8 81              3487        CALL    LWRD ?SS_DIV_L02\r
+    00005DA3 69                    3488        LD      L,C\r
+    00005DA4 60                    3489        LD      H,B\r
+    00005DA5 39                    3490        ADD     HL,SP\r
+    00005DA6 46                    3491        LD      B,(HL)\r
+    00005DA7 23                    3492        INC     HL\r
+    00005DA8 66                    3493        LD      H,(HL)\r
+    00005DA9 68                    3494        LD      L,B\r
+    00005DAA 19                    3495        ADD     HL,DE\r
+    00005DAB 4D                    3496        LD      C,L\r
+    00005DAC 44                    3497        LD      B,H\r
+    00005DAD 21 00 00              3498        LD      HL,0\r
+    00005DB0 39                    3499        ADD     HL,SP\r
+    00005DB1 5E                    3500        LD      E,(HL)\r
+    00005DB2 23                    3501        INC     HL\r
+    00005DB3 56                    3502        LD      D,(HL)\r
+    00005DB4 13                    3503        INC     DE\r
+    00005DB5 13                    3504        INC     DE\r
+    00005DB6 3E 00                 3505        LD      A,BYTE3 Move\r
+    00005DB8 21 26 47              3506        LD      HL,LWRD Move\r
+    00005DBB CD 5E 81              3507        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005DBE DD CB 0B 46           3508        BIT     0,(IX+11)\r
+    00005DC2 28 36                 3509        JR      Z,?0245\r
+    00005DC4                       3510 ?0244:\r
+    00005DC4 FD 21 00 00           3511        LD      IY,0\r
+    00005DC8                       3512 ?0247:\r
+    00005DC8 DD 5E 20              3513        LD      E,(IX+32)\r
+    00005DCB DD 56 21              3514        LD      D,(IX+33)\r
+    00005DCE 3E 00                 3515        LD      A,BYTE3 strlen\r
+    00005DD0 21 C8 73              3516        LD      HL,LWRD strlen\r
+    00005DD3 CD 84 4A              3517        CALL    LWRD ?0459\r
+    00005DD6 FD E5                 3518        PUSH    IY\r
+    00005DD8 E1                    3519        POP     HL\r
+    00005DD9 A7                    3520        AND     A\r
+    00005DDA ED 42                 3521        SBC     HL,BC\r
+    00005DDC 21 06 00              3522        LD      HL,6\r
+    00005DDF 30 0B                 3523        JR      NC,?0246\r
+    00005DE1                       3524 ?0248:\r
+    00005DE1 39                    3525        ADD     HL,SP\r
+    00005DE2 FD E5                 3526        PUSH    IY\r
+    00005DE4 C1                    3527        POP     BC\r
+    00005DE5 09                    3528        ADD     HL,BC\r
+    00005DE6 36 2A                 3529        LD      (HL),42\r
+    00005DE8 FD 23                 3530        INC     IY\r
+    00005DEA 18 DC                 3531        JR      ?0247\r
+    00005DEC                       3532 ?0246:\r
+    00005DEC 39                    3533        ADD     HL,SP\r
+    00005DED FD E5                 3534        PUSH    IY\r
+    00005DEF C1                    3535        POP     BC\r
+    00005DF0 09                    3536        ADD     HL,BC\r
+    00005DF1 36 00                 3537        LD      (HL),0\r
+    00005DF3 21 06 00              3538        LD      HL,6\r
+    00005DF6 39                    3539        ADD     HL,SP\r
+    00005DF7 EB                    3540        EX      DE,HL\r
+    00005DF8 18 06                 3541        JR      ?0375\r
+    00005DFA                       3542 ?0245:\r
+    00005DFA DD 5E 20              3543        LD      E,(IX+32)\r
+    00005DFD DD 56 21              3544        LD      D,(IX+33)\r
+    00005E00                       3545 ?0375:\r
+    00005E00 CD F9 46              3546        CALL    LWRD ?0452\r
+    00005E03                       3547 ?0250:\r
+    00005E03                       3548 ?0237:\r
+    00005E03 21 48 00              3549        LD      HL,72\r
+    00005E06 39                    3550        ADD     HL,SP\r
+    00005E07 F9                    3551        LD      SP,HL\r
+    00005E08 C3 C1 48              3552        JP      LWRD ?0415\r
+    00005E0B                       3553 Display_new:\r
+    00005E0B CD 88 81              3554        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00005E0E 00 00                 3555        DEFW    0\r
+    00005E10 FD E5                 3556        PUSH    IY\r
+    00005E12 DD 6E 0E              3557        LD      L,(IX+14)\r
+    00005E15 DD 66 0F              3558        LD      H,(IX+15)\r
+    00005E18 E5                    3559        PUSH    HL\r
+    00005E19 DD 6E 0C              3560        LD      L,(IX+12)\r
+    00005E1C DD 66 0D              3561        LD      H,(IX+13)\r
+    00005E1F E5                    3562        PUSH    HL\r
+    00005E20 DD 6E 0A              3563        LD      L,(IX+10)\r
+    00005E23 DD 66 0B              3564        LD      H,(IX+11)\r
+    00005E26 E5                    3565        PUSH    HL\r
+    00005E27 DD 5E 02              3566        LD      E,(IX+2)\r
+    00005E2A DD 56 03              3567        LD      D,(IX+3)\r
+    00005E2D 3E 00                 3568        LD      A,BYTE3 Button_new\r
+    00005E2F 21 5B 58              3569        LD      HL,LWRD Button_new\r
+    00005E32 CD 5E 81              3570        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005E35 F1                    3571        POP     AF\r
+    00005E36 F1                    3572        POP     AF\r
+    00005E37 F1                    3573        POP     AF\r
+    00005E38 E5                    3574        PUSH    HL\r
+    00005E39 FD E1                 3575        POP     IY\r
+    00005E3B 01 0A 00              3576        LD      BC,10\r
+    00005E3E 09                    3577        ADD     HL,BC\r
+    00005E3F CB DE                 3578        SET     3,(HL)\r
+    00005E41 01 C3 84              3579        LD      BC,?0251\r
+    00005E44 FD E5                 3580        PUSH    IY\r
+    00005E46 D1                    3581        POP     DE\r
+    00005E47 3E 00                 3582        LD      A,BYTE3 Component_setlabel\r
+    00005E49 21 B0 4C              3583        LD      HL,LWRD Component_setlabel\r
+    00005E4C CD 5E 81              3584        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005E4F FD 36 1A E7           3585        LD      (IY+26),LOW(Display_paint)\r
+    00005E53 FD 36 1B 5C           3586        LD      (IY+27),HIGH(Display_paint)\r
+    00005E57 FD 36 1C 00           3587        LD      (IY+28),BYTE3 Display_paint\r
+    00005E5B FD 36 17 66           3588        LD      (IY+23),LOW(Display_handler)\r
+    00005E5F FD 36 18 5C           3589        LD      (IY+24),HIGH(Display_handler)\r
+    00005E63 FD 36 19 00           3590        LD      (IY+25),BYTE3 Display_handler\r
+    00005E67 C3 A8 4C              3591        JP      LWRD ?0422\r
+    00005E6A                       3592 Label_handler:\r
+    00005E6A CD 52 81              3593        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+    00005E6D C3 1F 81              3594        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00005E70                       3595 Label_paint:\r
+    00005E70 C5                    3596        PUSH    BC\r
+    00005E71 DD E5                 3597        PUSH    IX\r
+    00005E73 F5                    3598        PUSH    AF\r
+    00005E74 F5                    3599        PUSH    AF\r
+    00005E75 D5                    3600        PUSH    DE\r
+    00005E76 DD E1                 3601        POP     IX\r
+    00005E78 21 02 00              3602        LD      HL,2\r
+    00005E7B 39                    3603        ADD     HL,SP\r
+    00005E7C AF                    3604        XOR     A\r
+    00005E7D 77                    3605        LD      (HL),A\r
+    00005E7E 23                    3606        INC     HL\r
+    00005E7F 77                    3607        LD      (HL),A\r
+    00005E80 2B                    3608        DEC     HL\r
+    00005E81 2B                    3609        DEC     HL\r
+    00005E82 2B                    3610        DEC     HL\r
+    00005E83 77                    3611        LD      (HL),A\r
+    00005E84 23                    3612        INC     HL\r
+    00005E85 77                    3613        LD      (HL),A\r
+    00005E86 21 12 00              3614        LD      HL,18\r
+    00005E89 ED 4B BF 86           3615        LD      BC,(global)\r
+    00005E8D 09                    3616        ADD     HL,BC\r
+    00005E8E 7E                    3617        LD      A,(HL)\r
+    00005E8F 23                    3618        INC     HL\r
+    00005E90 66                    3619        LD      H,(HL)\r
+    00005E91 6F                    3620        LD      L,A\r
+    00005E92 46                    3621        LD      B,(HL)\r
+    00005E93 23                    3622        INC     HL\r
+    00005E94 66                    3623        LD      H,(HL)\r
+    00005E95 68                    3624        LD      L,B\r
+    00005E96 E5                    3625        PUSH    HL\r
+    00005E97 21 0E 00              3626        LD      HL,14\r
+    00005E9A 19                    3627        ADD     HL,DE\r
+    00005E9B 4E                    3628        LD      C,(HL)\r
+    00005E9C 23                    3629        INC     HL\r
+    00005E9D 46                    3630        LD      B,(HL)\r
+    00005E9E E1                    3631        POP     HL\r
+    00005E9F A7                    3632        AND     A\r
+    00005EA0 ED 42                 3633        SBC     HL,BC\r
+    00005EA2 28 03                 3634        JR      Z,?0253\r
+    00005EA4                       3635 ?0252:\r
+    00005EA4 CD 2F 55              3636        CALL    LWRD ?0449\r
+    00005EA7                       3637 ?0253:\r
+    00005EA7 DD CB 0A 46           3638        BIT     0,(IX+10)\r
+    00005EAB 28 21                 3639        JR      Z,?0255\r
+    00005EAD                       3640 ?0254:\r
+    00005EAD 21 00 00              3641        LD      HL,0\r
+    00005EB0 39                    3642        ADD     HL,SP\r
+    00005EB1 E5                    3643        PUSH    HL\r
+    00005EB2 CD E7 53              3644        CALL    LWRD ?0478\r
+    00005EB5 E1                    3645        POP     HL\r
+    00005EB6 21 00 00              3646        LD      HL,0\r
+    00005EB9 39                    3647        ADD     HL,SP\r
+    00005EBA 4E                    3648        LD      C,(HL)\r
+    00005EBB 23                    3649        INC     HL\r
+    00005EBC 46                    3650        LD      B,(HL)\r
+    00005EBD C5                    3651        PUSH    BC\r
+    00005EBE 23                    3652        INC     HL\r
+    00005EBF 4E                    3653        LD      C,(HL)\r
+    00005EC0 23                    3654        INC     HL\r
+    00005EC1 46                    3655        LD      B,(HL)\r
+    00005EC2 DD E5                 3656        PUSH    IX\r
+    00005EC4 D1                    3657        POP     DE\r
+    00005EC5 3E 00                 3658        LD      A,BYTE3 Button_drawtext\r
+    00005EC7 21 DF 56              3659        LD      HL,LWRD Button_drawtext\r
+    00005ECA CD 5E 81              3660        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005ECD E1                    3661        POP     HL\r
+    00005ECE                       3662 ?0255:\r
+    00005ECE C3 27 55              3663        JP      LWRD ?0165\r
+    00005ED1                       3664 Label_new:\r
+    00005ED1 CD 88 81              3665        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00005ED4 00 00                 3666        DEFW    0\r
+    00005ED6 FD E5                 3667        PUSH    IY\r
+    00005ED8 DD 6E 0C              3668        LD      L,(IX+12)\r
+    00005EDB DD 66 0D              3669        LD      H,(IX+13)\r
+    00005EDE E5                    3670        PUSH    HL\r
+    00005EDF DD 6E 0A              3671        LD      L,(IX+10)\r
+    00005EE2 DD 66 0B              3672        LD      H,(IX+11)\r
+    00005EE5 E5                    3673        PUSH    HL\r
+    00005EE6 DD 5E 02              3674        LD      E,(IX+2)\r
+    00005EE9 DD 56 03              3675        LD      D,(IX+3)\r
+    00005EEC 3E 00                 3676        LD      A,BYTE3 Component_new\r
+    00005EEE 21 06 4C              3677        LD      HL,LWRD Component_new\r
+    00005EF1 CD 5E 81              3678        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005EF4 F1                    3679        POP     AF\r
+    00005EF5 F1                    3680        POP     AF\r
+    00005EF6 E5                    3681        PUSH    HL\r
+    00005EF7 FD E1                 3682        POP     IY\r
+    00005EF9 01 20 00              3683        LD      BC,32\r
+    00005EFC 09                    3684        ADD     HL,BC\r
+    00005EFD DD 4E 0E              3685        LD      C,(IX+14)\r
+    00005F00 71                    3686        LD      (HL),C\r
+    00005F01 DD 46 0F              3687        LD      B,(IX+15)\r
+    00005F04 23                    3688        INC     HL\r
+    00005F05 70                    3689        LD      (HL),B\r
+    00005F06 FD 36 0A 01           3690        LD      (IY+10),1\r
+    00005F0A FD 36 0B 00           3691        LD      (IY+11),0\r
+    00005F0E FD 36 17 6A           3692        LD      (IY+23),LOW(Label_handler)\r
+    00005F12 FD 36 18 5E           3693        LD      (IY+24),HIGH(Label_handler)\r
+    00005F16 FD 36 19 00           3694        LD      (IY+25),BYTE3 Label_handler\r
+    00005F1A FD 36 1A 70           3695        LD      (IY+26),LOW(Label_paint)\r
+    00005F1E FD 36 1B 5E           3696        LD      (IY+27),HIGH(Label_paint)\r
+    00005F22 FD 36 1C 00           3697        LD      (IY+28),BYTE3 Label_paint\r
+    00005F26 FD 36 1D 55           3698        LD      (IY+29),LOW(Button_add)\r
+    00005F2A FD 36 1E 58           3699        LD      (IY+30),HIGH(Button_add)\r
+    00005F2E FD 36 1F 00           3700        LD      (IY+31),BYTE3 Button_add\r
+    00005F32 C3 A8 4C              3701        JP      LWRD ?0422\r
+    00005F35                       3702 rootWindow_handler:\r
+    00005F35 CD 88 81              3703        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00005F38 00 00                 3704        DEFW    0\r
+    00005F3A DD 6E 0A              3705        LD      L,(IX+10)\r
+    00005F3D DD 66 0B              3706        LD      H,(IX+11)\r
+    00005F40 E5                    3707        PUSH    HL\r
+    00005F41 DD 5E 02              3708        LD      E,(IX+2)\r
+    00005F44 DD 56 03              3709        LD      D,(IX+3)\r
+    00005F47 3E 00                 3710        LD      A,BYTE3 Window_handler\r
+    00005F49 21 29 51              3711        LD      HL,LWRD Window_handler\r
+    00005F4C CD 5E 81              3712        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005F4F E1                    3713        POP     HL\r
+    00005F50 C3 1F 81              3714        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00005F53                       3715 screenbuilder:\r
+    00005F53 CD 88 81              3716        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00005F56 CE FF                 3717        DEFW    65486\r
+    00005F58 FD E5                 3718        PUSH    IY\r
+    00005F5A DD 36 D8 00           3719        LD      (IX-40),0\r
+    00005F5E 21 00 00              3720        LD      HL,0\r
+    00005F61 E5                    3721        PUSH    HL\r
+    00005F62 C5                    3722        PUSH    BC\r
+    00005F63 CD DC 46              3723        CALL    LWRD ?0444\r
+    00005F66 F1                    3724        POP     AF\r
+    00005F67 F1                    3725        POP     AF\r
+    00005F68 DD 75 D4              3726        LD      (IX-44),L\r
+    00005F6B DD 74 D5              3727        LD      (IX-43),H\r
+    00005F6E DD 36 F0 06           3728        LD      (IX-16),6\r
+    00005F72 DD 36 F1 00           3729        LD      (IX-15),0\r
+    00005F76 DD 36 F2 05           3730        LD      (IX-14),5\r
+    00005F7A DD 36 F3 00           3731        LD      (IX-13),0\r
+    00005F7E                       3732 ?0258:\r
+    00005F7E DD 36 F4 00           3733        LD      (IX-12),0\r
+    00005F82 DD 7E D8              3734        LD      A,(IX-40)\r
+    00005F85 FE 73                 3735        CP      115\r
+    00005F87 20 18                 3736        JR      NZ,?0260\r
+    00005F89                       3737 ?0259:\r
+    00005F89 DD 6E D9              3738        LD      L,(IX-39)\r
+    00005F8C DD 66 DA              3739        LD      H,(IX-38)\r
+    00005F8F DD 75 F0              3740        LD      (IX-16),L\r
+    00005F92 DD 74 F1              3741        LD      (IX-15),H\r
+    00005F95 DD 6E DB              3742        LD      L,(IX-37)\r
+    00005F98 DD 66 DC              3743        LD      H,(IX-36)\r
+    00005F9B DD 75 F2              3744        LD      (IX-14),L\r
+    00005F9E DD 74 F3              3745        LD      (IX-13),H\r
+    00005FA1                       3746 ?0260:\r
+    00005FA1 DD 7E D8              3747        LD      A,(IX-40)\r
+    00005FA4 FE 42                 3748        CP      66\r
+    00005FA6 28 07                 3749        JR      Z,?0263\r
+    00005FA8 DD 7E D8              3750        LD      A,(IX-40)\r
+    00005FAB FE 4D                 3751        CP      77\r
+    00005FAD 20 4E                 3752        JR      NZ,?0262\r
+    00005FAF                       3753 ?0263:\r
+    00005FAF                       3754 ?0264:\r
+    00005FAF                       3755 ?0261:\r
+    00005FAF DD 4E DD              3756        LD      C,(IX-35)\r
+    00005FB2 06 00                 3757        LD      B,0\r
+    00005FB4 C5                    3758        PUSH    BC\r
+    00005FB5 CD 02 63              3759        CALL    LWRD ?0490\r
+    00005FB8 D5                    3760        PUSH    DE\r
+    00005FB9 CD 18 63              3761        CALL    LWRD ?0491\r
+    00005FBC D5                    3762        PUSH    DE\r
+    00005FBD DD 6E DB              3763        LD      L,(IX-37)\r
+    00005FC0 26 00                 3764        LD      H,0\r
+    00005FC2 44                    3765        LD      B,H\r
+    00005FC3 DD 4E D9              3766        LD      C,(IX-39)\r
+    00005FC6 09                    3767        ADD     HL,BC\r
+    00005FC7 4D                    3768        LD      C,L\r
+    00005FC8 44                    3769        LD      B,H\r
+    00005FC9 11 03 01              3770        LD      DE,259\r
+    00005FCC CD 20 63              3771        CALL    LWRD ?0492\r
+    00005FCF EB                    3772        EX      DE,HL\r
+    00005FD0 D1                    3773        POP     DE\r
+    00005FD1 A7                    3774        AND     A\r
+    00005FD2 ED 52                 3775        SBC     HL,DE\r
+    00005FD4 2B                    3776        DEC     HL\r
+    00005FD5 2B                    3777        DEC     HL\r
+    00005FD6 2B                    3778        DEC     HL\r
+    00005FD7 E5                    3779        PUSH    HL\r
+    00005FD8 CD 2C 63              3780        CALL    LWRD ?0493\r
+    00005FDB D5                    3781        PUSH    DE\r
+    00005FDC CD 18 63              3782        CALL    LWRD ?0491\r
+    00005FDF 3E 00                 3783        LD      A,BYTE3 Button_new\r
+    00005FE1 21 5B 58              3784        LD      HL,LWRD Button_new\r
+    00005FE4 C1                    3785        POP     BC\r
+    00005FE5 CD 5E 81              3786        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00005FE8 F1                    3787        POP     AF\r
+    00005FE9 F1                    3788        POP     AF\r
+    00005FEA F1                    3789        POP     AF\r
+    00005FEB E5                    3790        PUSH    HL\r
+    00005FEC FD E1                 3791        POP     IY\r
+    00005FEE DD 7E D8              3792        LD      A,(IX-40)\r
+    00005FF1 FE 4D                 3793        CP      77\r
+    00005FF3 20 04                 3794        JR      NZ,?0266\r
+    00005FF5                       3795 ?0265:\r
+    00005FF5 FD CB 0A F6           3796        SET     6,(IY+10)\r
+    00005FF9                       3797 ?0266:\r
+    00005FF9 DD 36 F4 01           3798        LD      (IX-12),1\r
+    00005FFD                       3799 ?0262:\r
+    00005FFD DD 7E D8              3800        LD      A,(IX-40)\r
+    00006000 FE 54                 3801        CP      84\r
+    00006002 20 43                 3802        JR      NZ,?0268\r
+    00006004                       3803 ?0267:\r
+    00006004 DD 4E DD              3804        LD      C,(IX-35)\r
+    00006007 06 00                 3805        LD      B,0\r
+    00006009 C5                    3806        PUSH    BC\r
+    0000600A CD 02 63              3807        CALL    LWRD ?0490\r
+    0000600D D5                    3808        PUSH    DE\r
+    0000600E CD 18 63              3809        CALL    LWRD ?0491\r
+    00006011 D5                    3810        PUSH    DE\r
+    00006012 DD 6E DB              3811        LD      L,(IX-37)\r
+    00006015 26 00                 3812        LD      H,0\r
+    00006017 44                    3813        LD      B,H\r
+    00006018 DD 4E D9              3814        LD      C,(IX-39)\r
+    0000601B 09                    3815        ADD     HL,BC\r
+    0000601C 4D                    3816        LD      C,L\r
+    0000601D 44                    3817        LD      B,H\r
+    0000601E 11 03 01              3818        LD      DE,259\r
+    00006021 CD 20 63              3819        CALL    LWRD ?0492\r
+    00006024 EB                    3820        EX      DE,HL\r
+    00006025 D1                    3821        POP     DE\r
+    00006026 A7                    3822        AND     A\r
+    00006027 ED 52                 3823        SBC     HL,DE\r
+    00006029 2B                    3824        DEC     HL\r
+    0000602A 2B                    3825        DEC     HL\r
+    0000602B 2B                    3826        DEC     HL\r
+    0000602C E5                    3827        PUSH    HL\r
+    0000602D CD 2C 63              3828        CALL    LWRD ?0493\r
+    00006030 D5                    3829        PUSH    DE\r
+    00006031 CD 18 63              3830        CALL    LWRD ?0491\r
+    00006034 3E 00                 3831        LD      A,BYTE3 ToggleButton_new\r
+    00006036 21 40 5A              3832        LD      HL,LWRD ToggleButton_new\r
+    00006039 C1                    3833        POP     BC\r
+    0000603A CD 5E 81              3834        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000603D F1                    3835        POP     AF\r
+    0000603E F1                    3836        POP     AF\r
+    0000603F F1                    3837        POP     AF\r
+    00006040 E5                    3838        PUSH    HL\r
+    00006041 FD E1                 3839        POP     IY\r
+    00006043 DD 36 F4 01           3840        LD      (IX-12),1\r
+    00006047                       3841 ?0268:\r
+    00006047 DD 7E D8              3842        LD      A,(IX-40)\r
+    0000604A FE 44                 3843        CP      68\r
+    0000604C 20 43                 3844        JR      NZ,?0270\r
+    0000604E                       3845 ?0269:\r
+    0000604E DD 4E DD              3846        LD      C,(IX-35)\r
+    00006051 06 00                 3847        LD      B,0\r
+    00006053 C5                    3848        PUSH    BC\r
+    00006054 CD 02 63              3849        CALL    LWRD ?0490\r
+    00006057 D5                    3850        PUSH    DE\r
+    00006058 CD 18 63              3851        CALL    LWRD ?0491\r
+    0000605B D5                    3852        PUSH    DE\r
+    0000605C DD 6E DB              3853        LD      L,(IX-37)\r
+    0000605F 26 00                 3854        LD      H,0\r
+    00006061 44                    3855        LD      B,H\r
+    00006062 DD 4E D9              3856        LD      C,(IX-39)\r
+    00006065 09                    3857        ADD     HL,BC\r
+    00006066 4D                    3858        LD      C,L\r
+    00006067 44                    3859        LD      B,H\r
+    00006068 11 03 01              3860        LD      DE,259\r
+    0000606B CD 20 63              3861        CALL    LWRD ?0492\r
+    0000606E EB                    3862        EX      DE,HL\r
+    0000606F D1                    3863        POP     DE\r
+    00006070 A7                    3864        AND     A\r
+    00006071 ED 52                 3865        SBC     HL,DE\r
+    00006073 2B                    3866        DEC     HL\r
+    00006074 2B                    3867        DEC     HL\r
+    00006075 2B                    3868        DEC     HL\r
+    00006076 E5                    3869        PUSH    HL\r
+    00006077 CD 2C 63              3870        CALL    LWRD ?0493\r
+    0000607A D5                    3871        PUSH    DE\r
+    0000607B CD 18 63              3872        CALL    LWRD ?0491\r
+    0000607E 3E 00                 3873        LD      A,BYTE3 Display_new\r
+    00006080 21 0B 5E              3874        LD      HL,LWRD Display_new\r
+    00006083 C1                    3875        POP     BC\r
+    00006084 CD 5E 81              3876        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006087 F1                    3877        POP     AF\r
+    00006088 F1                    3878        POP     AF\r
+    00006089 F1                    3879        POP     AF\r
+    0000608A E5                    3880        PUSH    HL\r
+    0000608B FD E1                 3881        POP     IY\r
+    0000608D DD 36 F4 01           3882        LD      (IX-12),1\r
+    00006091                       3883 ?0270:\r
+    00006091 DD 7E D8              3884        LD      A,(IX-40)\r
+    00006094 FE 4C                 3885        CP      76\r
+    00006096 20 46                 3886        JR      NZ,?0272\r
+    00006098                       3887 ?0271:\r
+    00006098 21 0C 00              3888        LD      HL,12\r
+    0000609B 39                    3889        ADD     HL,SP\r
+    0000609C 01 12 00              3890        LD      BC,18\r
+    0000609F 09                    3891        ADD     HL,BC\r
+    000060A0 E5                    3892        PUSH    HL\r
+    000060A1 CD 02 63              3893        CALL    LWRD ?0490\r
+    000060A4 D5                    3894        PUSH    DE\r
+    000060A5 CD 18 63              3895        CALL    LWRD ?0491\r
+    000060A8 D5                    3896        PUSH    DE\r
+    000060A9 DD 6E DB              3897        LD      L,(IX-37)\r
+    000060AC 26 00                 3898        LD      H,0\r
+    000060AE 44                    3899        LD      B,H\r
+    000060AF DD 4E D9              3900        LD      C,(IX-39)\r
+    000060B2 09                    3901        ADD     HL,BC\r
+    000060B3 4D                    3902        LD      C,L\r
+    000060B4 44                    3903        LD      B,H\r
+    000060B5 11 03 01              3904        LD      DE,259\r
+    000060B8 CD 20 63              3905        CALL    LWRD ?0492\r
+    000060BB EB                    3906        EX      DE,HL\r
+    000060BC D1                    3907        POP     DE\r
+    000060BD A7                    3908        AND     A\r
+    000060BE ED 52                 3909        SBC     HL,DE\r
+    000060C0 2B                    3910        DEC     HL\r
+    000060C1 2B                    3911        DEC     HL\r
+    000060C2 2B                    3912        DEC     HL\r
+    000060C3 E5                    3913        PUSH    HL\r
+    000060C4 CD 2C 63              3914        CALL    LWRD ?0493\r
+    000060C7 D5                    3915        PUSH    DE\r
+    000060C8 CD 18 63              3916        CALL    LWRD ?0491\r
+    000060CB 3E 00                 3917        LD      A,BYTE3 Label_new\r
+    000060CD 21 D1 5E              3918        LD      HL,LWRD Label_new\r
+    000060D0 C1                    3919        POP     BC\r
+    000060D1 CD 5E 81              3920        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000060D4 F1                    3921        POP     AF\r
+    000060D5 F1                    3922        POP     AF\r
+    000060D6 F1                    3923        POP     AF\r
+    000060D7 E5                    3924        PUSH    HL\r
+    000060D8 FD E1                 3925        POP     IY\r
+    000060DA DD 36 F4 01           3926        LD      (IX-12),1\r
+    000060DE                       3927 ?0272:\r
+    000060DE DD 7E D8              3928        LD      A,(IX-40)\r
+    000060E1 FE 41                 3929        CP      65\r
+    000060E3 20 51                 3930        JR      NZ,?0274\r
+    000060E5                       3931 ?0273:\r
+    000060E5 21 26 00              3932        LD      HL,38\r
+    000060E8 DD 4E 02              3933        LD      C,(IX+2)\r
+    000060EB DD 46 03              3934        LD      B,(IX+3)\r
+    000060EE 09                    3935        ADD     HL,BC\r
+    000060EF E5                    3936        PUSH    HL\r
+    000060F0 21 2B 00              3937        LD      HL,43\r
+    000060F3 39                    3938        ADD     HL,SP\r
+    000060F4 EB                    3939        EX      DE,HL\r
+    000060F5 E1                    3940        POP     HL\r
+    000060F6 73                    3941        LD      (HL),E\r
+    000060F7 23                    3942        INC     HL\r
+    000060F8 72                    3943        LD      (HL),D\r
+    000060F9 DD 6E DE              3944        LD      L,(IX-34)\r
+    000060FC DD 66 DF              3945        LD      H,(IX-33)\r
+    000060FF DD 75 F8              3946        LD      (IX-8),L\r
+    00006102 DD 74 F9              3947        LD      (IX-7),H\r
+    00006105 DD 6E E0              3948        LD      L,(IX-32)\r
+    00006108 DD 66 E1              3949        LD      H,(IX-31)\r
+    0000610B DD 75 FA              3950        LD      (IX-6),L\r
+    0000610E DD 74 FB              3951        LD      (IX-5),H\r
+    00006111 21 16 00              3952        LD      HL,22\r
+    00006114 39                    3953        ADD     HL,SP\r
+    00006115 4E                    3954        LD      C,(HL)\r
+    00006116 23                    3955        INC     HL\r
+    00006117 46                    3956        LD      B,(HL)\r
+    00006118 23                    3957        INC     HL\r
+    00006119 5E                    3958        LD      E,(HL)\r
+    0000611A 23                    3959        INC     HL\r
+    0000611B 56                    3960        LD      D,(HL)\r
+    0000611C DD 71 FC              3961        LD      (IX-4),C\r
+    0000611F DD 70 FD              3962        LD      (IX-3),B\r
+    00006122 DD 73 FE              3963        LD      (IX-2),E\r
+    00006125 DD 72 FF              3964        LD      (IX-1),D\r
+    00006128 DD 5E 02              3965        LD      E,(IX+2)\r
+    0000612B DD 56 03              3966        LD      D,(IX+3)\r
+    0000612E 3E 00                 3967        LD      A,BYTE3 root_actionhandler\r
+    00006130 21 40 63              3968        LD      HL,LWRD root_actionhandler\r
+    00006133 CD 5E 81              3969        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006136                       3970 ?0274:\r
+    00006136 DD 7E D8              3971        LD      A,(IX-40)\r
+    00006139 FE 53                 3972        CP      83\r
+    0000613B 20 71                 3973        JR      NZ,?0276\r
+    0000613D                       3974 ?0275:\r
+    0000613D 21 0C 00              3975        LD      HL,12\r
+    00006140 39                    3976        ADD     HL,SP\r
+    00006141 4D                    3977        LD      C,L\r
+    00006142 44                    3978        LD      B,H\r
+    00006143 DD 5E D4              3979        LD      E,(IX-44)\r
+    00006146 DD 56 D5              3980        LD      D,(IX-43)\r
+    00006149 3E 00                 3981        LD      A,BYTE3 read_stringtable\r
+    0000614B 21 8F 66              3982        LD      HL,LWRD read_stringtable\r
+    0000614E CD 5E 81              3983        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006151 21 26 00              3984        LD      HL,38\r
+    00006154 DD 4E 02              3985        LD      C,(IX+2)\r
+    00006157 DD 46 03              3986        LD      B,(IX+3)\r
+    0000615A 09                    3987        ADD     HL,BC\r
+    0000615B E5                    3988        PUSH    HL\r
+    0000615C 11 04 00              3989        LD      DE,4\r
+    0000615F CD FA 62              3990        CALL    LWRD ?0466\r
+    00006162 EB                    3991        EX      DE,HL\r
+    00006163 E1                    3992        POP     HL\r
+    00006164 73                    3993        LD      (HL),E\r
+    00006165 23                    3994        INC     HL\r
+    00006166 72                    3995        LD      (HL),D\r
+    00006167 21 26 00              3996        LD      HL,38\r
+    0000616A 09                    3997        ADD     HL,BC\r
+    0000616B 56                    3998        LD      D,(HL)\r
+    0000616C DD 72 F5              3999        LD      (IX-11),D\r
+    0000616F 23                    4000        INC     HL\r
+    00006170 66                    4001        LD      H,(HL)\r
+    00006171 DD 74 F6              4002        LD      (IX-10),H\r
+    00006174 21 24 00              4003        LD      HL,36\r
+    00006177 09                    4004        ADD     HL,BC\r
+    00006178 36 04                 4005        LD      (HL),4\r
+    0000617A 23                    4006        INC     HL\r
+    0000617B 36 00                 4007        LD      (HL),0\r
+    0000617D 6A                    4008        LD      L,D\r
+    0000617E DD 66 F6              4009        LD      H,(IX-10)\r
+    00006181 23                    4010        INC     HL\r
+    00006182 23                    4011        INC     HL\r
+    00006183 E5                    4012        PUSH    HL\r
+    00006184 21 0C 00              4013        LD      HL,12\r
+    00006187 ED 4B BF 86           4014        LD      BC,(global)\r
+    0000618B 09                    4015        ADD     HL,BC\r
+    0000618C 5E                    4016        LD      E,(HL)\r
+    0000618D 23                    4017        INC     HL\r
+    0000618E 56                    4018        LD      D,(HL)\r
+    0000618F E1                    4019        POP     HL\r
+    00006190 73                    4020        LD      (HL),E\r
+    00006191 23                    4021        INC     HL\r
+    00006192 72                    4022        LD      (HL),D\r
+    00006193 21 0A 00              4023        LD      HL,10\r
+    00006196 ED 4B BF 86           4024        LD      BC,(global)\r
+    0000619A 09                    4025        ADD     HL,BC\r
+    0000619B 46                    4026        LD      B,(HL)\r
+    0000619C 23                    4027        INC     HL\r
+    0000619D 66                    4028        LD      H,(HL)\r
+    0000619E 68                    4029        LD      L,B\r
+    0000619F E5                    4030        PUSH    HL\r
+    000061A0 DD 6E F5              4031        LD      L,(IX-11)\r
+    000061A3 DD 66 F6              4032        LD      H,(IX-10)\r
+    000061A6 C1                    4033        POP     BC\r
+    000061A7 71                    4034        LD      (HL),C\r
+    000061A8 23                    4035        INC     HL\r
+    000061A9 70                    4036        LD      (HL),B\r
+    000061AA DD 36 F4 00           4037        LD      (IX-12),0\r
+    000061AE                       4038 ?0276:\r
+    000061AE AF                    4039        XOR     A\r
+    000061AF DD B6 F4              4040        OR      (IX-12)\r
+    000061B2 CA AE 62              4041        JP      Z,?0278\r
+    000061B5                       4042 ?0277:\r
+    000061B5 DD 7E DE              4043        LD      A,(IX-34)\r
+    000061B8 DD B6 DF              4044        OR      (IX-33)\r
+    000061BB 28 69                 4045        JR      Z,?0280\r
+    000061BD                       4046 ?0279:\r
+    000061BD FD CB 0A EE           4047        SET     5,(IY+10)\r
+    000061C1 FD 36 24 0B           4048        LD      (IY+36),11\r
+    000061C5 FD 36 25 00           4049        LD      (IY+37),0\r
+    000061C9 11 0B 00              4050        LD      DE,11\r
+    000061CC CD FA 62              4051        CALL    LWRD ?0466\r
+    000061CF FD 75 26              4052        LD      (IY+38),L\r
+    000061D2 FD 74 27              4053        LD      (IY+39),H\r
+    000061D5 FD 6E 26              4054        LD      L,(IY+38)\r
+    000061D8 DD 75 D0              4055        LD      (IX-48),L\r
+    000061DB FD 66 27              4056        LD      H,(IY+39)\r
+    000061DE DD 74 D1              4057        LD      (IX-47),H\r
+    000061E1 36 40                 4058        LD      (HL),LOW(root_actionhandler)\r
+    000061E3 23                    4059        INC     HL\r
+    000061E4 36 63                 4060        LD      (HL),HIGH(root_actionhandler)\r
+    000061E6 23                    4061        INC     HL\r
+    000061E7 36 00                 4062        LD      (HL),BYTE3 root_actionhandler\r
+    000061E9 DD 6E D0              4063        LD      L,(IX-48)\r
+    000061EC DD 66 D1              4064        LD      H,(IX-47)\r
+    000061EF 23                    4065        INC     HL\r
+    000061F0 23                    4066        INC     HL\r
+    000061F1 23                    4067        INC     HL\r
+    000061F2 DD 4E DE              4068        LD      C,(IX-34)\r
+    000061F5 71                    4069        LD      (HL),C\r
+    000061F6 DD 46 DF              4070        LD      B,(IX-33)\r
+    000061F9 23                    4071        INC     HL\r
+    000061FA 70                    4072        LD      (HL),B\r
+    000061FB 21 05 00              4073        LD      HL,5\r
+    000061FE DD 4E D0              4074        LD      C,(IX-48)\r
+    00006201 DD 46 D1              4075        LD      B,(IX-47)\r
+    00006204 09                    4076        ADD     HL,BC\r
+    00006205 DD 5E E0              4077        LD      E,(IX-32)\r
+    00006208 73                    4078        LD      (HL),E\r
+    00006209 DD 56 E1              4079        LD      D,(IX-31)\r
+    0000620C 23                    4080        INC     HL\r
+    0000620D 72                    4081        LD      (HL),D\r
+    0000620E 21 07 00              4082        LD      HL,7\r
+    00006211 09                    4083        ADD     HL,BC\r
+    00006212 E5                    4084        PUSH    HL\r
+    00006213 21 18 00              4085        LD      HL,24\r
+    00006216 39                    4086        ADD     HL,SP\r
+    00006217 5E                    4087        LD      E,(HL)\r
+    00006218 23                    4088        INC     HL\r
+    00006219 56                    4089        LD      D,(HL)\r
+    0000621A 23                    4090        INC     HL\r
+    0000621B 4E                    4091        LD      C,(HL)\r
+    0000621C 23                    4092        INC     HL\r
+    0000621D 46                    4093        LD      B,(HL)\r
+    0000621E E1                    4094        POP     HL\r
+    0000621F 73                    4095        LD      (HL),E\r
+    00006220 23                    4096        INC     HL\r
+    00006221 72                    4097        LD      (HL),D\r
+    00006222 23                    4098        INC     HL\r
+    00006223 71                    4099        LD      (HL),C\r
+    00006224 23                    4100        INC     HL\r
+    00006225 70                    4101        LD      (HL),B\r
+    00006226                       4102 ?0280:\r
+    00006226 DD 7E E6              4103        LD      A,(IX-26)\r
+    00006229 DD B6 E7              4104        OR      (IX-25)\r
+    0000622C 28 0C                 4105        JR      Z,?0282\r
+    0000622E                       4106 ?0281:\r
+    0000622E DD 6E E6              4107        LD      L,(IX-26)\r
+    00006231 FD 75 0A              4108        LD      (IY+10),L\r
+    00006234 DD 66 E7              4109        LD      H,(IX-25)\r
+    00006237 FD 74 0B              4110        LD      (IY+11),H\r
+    0000623A                       4111 ?0282:\r
+    0000623A DD 6E E8              4112        LD      L,(IX-24)\r
+    0000623D FD 75 0E              4113        LD      (IY+14),L\r
+    00006240 DD 66 E9              4114        LD      H,(IX-23)\r
+    00006243 FD 74 0F              4115        LD      (IY+15),H\r
+    00006246 DD 6E EA              4116        LD      L,(IX-22)\r
+    00006249 FD 75 20              4117        LD      (IY+32),L\r
+    0000624C DD 7E EB              4118        LD      A,(IX-21)\r
+    0000624F E6 0F                 4119        AND     15\r
+    00006251 FD 77 21              4120        LD      (IY+33),A\r
+    00006254 FD 7E 20              4121        LD      A,(IY+32)\r
+    00006257 FD B6 21              4122        OR      (IY+33)\r
+    0000625A 20 16                 4123        JR      NZ,?0284\r
+    0000625C                       4124 ?0283:\r
+    0000625C 11 14 00              4125        LD      DE,20\r
+    0000625F CD FA 62              4126        CALL    LWRD ?0466\r
+    00006262 FD 75 20              4127        LD      (IY+32),L\r
+    00006265 FD 74 21              4128        LD      (IY+33),H\r
+    00006268 FD 6E 20              4129        LD      L,(IY+32)\r
+    0000626B FD 66 21              4130        LD      H,(IY+33)\r
+    0000626E 36 00                 4131        LD      (HL),0\r
+    00006270 18 04                 4132        JR      ?0285\r
+    00006272                       4133 ?0284:\r
+    00006272 FD CB 0B F6           4134        SET     6,(IY+11)\r
+    00006276                       4135 ?0285:\r
+    00006276 DD 7E EB              4136        LD      A,(IX-21)\r
+    00006279 2E 00                 4137        LD      L,0\r
+    0000627B 4D                    4138        LD      C,L\r
+    0000627C E6 F0                 4139        AND     240\r
+    0000627E 47                    4140        LD      B,A\r
+    0000627F 26 10                 4141        LD      H,16\r
+    00006281 ED 42                 4142        SBC     HL,BC\r
+    00006283 30 10                 4143        JR      NC,?0287\r
+    00006285                       4144 ?0286:\r
+    00006285 DD 6E EA              4145        LD      L,(IX-22)\r
+    00006288 DD 7E EB              4146        LD      A,(IX-21)\r
+    0000628B E6 0F                 4147        AND     15\r
+    0000628D 67                    4148        LD      H,A\r
+    0000628E 23                    4149        INC     HL\r
+    0000628F FD 75 22              4150        LD      (IY+34),L\r
+    00006292 FD 74 23              4151        LD      (IY+35),H\r
+    00006295                       4152 ?0287:\r
+    00006295 FD E5                 4153        PUSH    IY\r
+    00006297 DD 5E 02              4154        LD      E,(IX+2)\r
+    0000629A 4B                    4155        LD      C,E\r
+    0000629B DD 56 03              4156        LD      D,(IX+3)\r
+    0000629E 42                    4157        LD      B,D\r
+    0000629F 21 1D 00              4158        LD      HL,29\r
+    000062A2 09                    4159        ADD     HL,BC\r
+    000062A3 4E                    4160        LD      C,(HL)\r
+    000062A4 23                    4161        INC     HL\r
+    000062A5 46                    4162        LD      B,(HL)\r
+    000062A6 23                    4163        INC     HL\r
+    000062A7 7E                    4164        LD      A,(HL)\r
+    000062A8 69                    4165        LD      L,C\r
+    000062A9 60                    4166        LD      H,B\r
+    000062AA C1                    4167        POP     BC\r
+    000062AB CD 5E 81              4168        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000062AE                       4169 ?0278:\r
+    000062AE 21 14 00              4170        LD      HL,20\r
+    000062B1 E5                    4171        PUSH    HL\r
+    000062B2 2E 0E                 4172        LD      L,14\r
+    000062B4 39                    4173        ADD     HL,SP\r
+    000062B5 4D                    4174        LD      C,L\r
+    000062B6 44                    4175        LD      B,H\r
+    000062B7 DD 5E D4              4176        LD      E,(IX-44)\r
+    000062BA DD 56 D5              4177        LD      D,(IX-43)\r
+    000062BD 3E 00                 4178        LD      A,BYTE3 _read\r
+    000062BF 21 8D 7C              4179        LD      HL,LWRD _read\r
+    000062C2 CD 5E 81              4180        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000062C5 F1                    4181        POP     AF\r
+    000062C6 3E 14                 4182        LD      A,20\r
+    000062C8 AD                    4183        XOR     L\r
+    000062C9 B4                    4184        OR      H\r
+    000062CA CA 7E 5F              4185        JP      Z,?0258\r
+    000062CD                       4186 ?0256:\r
+    000062CD DD 5E D4              4187        LD      E,(IX-44)\r
+    000062D0 DD 56 D5              4188        LD      D,(IX-43)\r
+    000062D3 CD 1E 47              4189        CALL    LWRD ?0469\r
+    000062D6 DD 5E 02              4190        LD      E,(IX+2)\r
+    000062D9 DD 56 03              4191        LD      D,(IX+3)\r
+    000062DC 3E 00                 4192        LD      A,BYTE3 Component_linkstringtable\r
+    000062DE 21 76 50              4193        LD      HL,LWRD Component_linkstringtable\r
+    000062E1 CD 5E 81              4194        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000062E4 DD 5E 02              4195        LD      E,(IX+2)\r
+    000062E7 4B                    4196        LD      C,E\r
+    000062E8 DD 56 03              4197        LD      D,(IX+3)\r
+    000062EB 42                    4198        LD      B,D\r
+    000062EC 21 1A 00              4199        LD      HL,26\r
+    000062EF 09                    4200        ADD     HL,BC\r
+    000062F0 4E                    4201        LD      C,(HL)\r
+    000062F1 23                    4202        INC     HL\r
+    000062F2 46                    4203        LD      B,(HL)\r
+    000062F3 23                    4204        INC     HL\r
+    000062F4 7E                    4205        LD      A,(HL)\r
+    000062F5 69                    4206        LD      L,C\r
+    000062F6 60                    4207        LD      H,B\r
+    000062F7 C3 61 57              4208        JP      LWRD ?0431\r
+    000062FA                       4209 ?0466:\r
+    000062FA 3E 00                 4210        LD      A,BYTE3 malloc\r
+    000062FC 21 31 7A              4211        LD      HL,LWRD malloc\r
+    000062FF C3 5E 81              4212        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00006302                       4213 ?0490:\r
+    00006302 DD 4E DC              4214        LD      C,(IX-36)\r
+    00006305 11 83 00              4215        LD      DE,131\r
+    00006308 CD 2A 81              4216        CALL    LWRD ?S_MUL_L02\r
+    0000630B DD 4E F2              4217        LD      C,(IX-14)\r
+    0000630E DD 46 F3              4218        LD      B,(IX-13)\r
+    00006311 CD B8 81              4219        CALL    LWRD ?SS_DIV_L02\r
+    00006314 1B                    4220        DEC     DE\r
+    00006315 1B                    4221        DEC     DE\r
+    00006316 1B                    4222        DEC     DE\r
+    00006317 C9                    4223        RET\r
+    00006318                       4224 ?0491:\r
+    00006318 DD 5E D9              4225        LD      E,(IX-39)\r
+    0000631B 16 00                 4226        LD      D,0\r
+    0000631D 01 03 01              4227        LD      BC,259\r
+    00006320                       4228 ?0492:\r
+    00006320 CD 2A 81              4229        CALL    LWRD ?S_MUL_L02\r
+    00006323 DD 4E F0              4230        LD      C,(IX-16)\r
+    00006326 DD 46 F1              4231        LD      B,(IX-15)\r
+    00006329 C3 B8 81              4232        JP      LWRD ?SS_DIV_L02\r
+    0000632C                       4233 ?0493:\r
+    0000632C DD 5E DA              4234        LD      E,(IX-38)\r
+    0000632F 16 00                 4235        LD      D,0\r
+    00006331 01 83 00              4236        LD      BC,131\r
+    00006334 CD 2A 81              4237        CALL    LWRD ?S_MUL_L02\r
+    00006337 DD 4E F2              4238        LD      C,(IX-14)\r
+    0000633A DD 46 F3              4239        LD      B,(IX-13)\r
+    0000633D C3 B8 81              4240        JP      LWRD ?SS_DIV_L02\r
+    00006340                       4241 root_actionhandler:\r
+    00006340 CD 88 81              4242        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00006343 F8 FF                 4243        DEFW    65528\r
+    00006345 FD E5                 4244        PUSH    IY\r
+    00006347 DD 6E 02              4245        LD      L,(IX+2)\r
+    0000634A DD 66 03              4246        LD      H,(IX+3)\r
+    0000634D E5                    4247        PUSH    HL\r
+    0000634E FD E1                 4248        POP     IY\r
+    00006350 FD 6E 26              4249        LD      L,(IY+38)\r
+    00006353 DD 75 F8              4250        LD      (IX-8),L\r
+    00006356 FD 66 27              4251        LD      H,(IY+39)\r
+    00006359 DD 74 F9              4252        LD      (IX-7),H\r
+    0000635C 23                    4253        INC     HL\r
+    0000635D 23                    4254        INC     HL\r
+    0000635E 23                    4255        INC     HL\r
+    0000635F 3E 01                 4256        LD      A,1\r
+    00006361 AE                    4257        XOR     (HL)\r
+    00006362 23                    4258        INC     HL\r
+    00006363 B6                    4259        OR      (HL)\r
+    00006364 20 0A                 4260        JR      NZ,?0289\r
+    00006366                       4261 ?0288:\r
+    00006366 6F                    4262        LD      L,A\r
+    00006367 67                    4263        LD      H,A\r
+    00006368 E5                    4264        PUSH    HL\r
+    00006369 01 01 05              4265        LD      BC,1281\r
+    0000636C CD D8 53              4266        CALL    LWRD ?0476\r
+    0000636F E1                    4267        POP     HL\r
+    00006370                       4268 ?0289:\r
+    00006370 DD 6E F8              4269        LD      L,(IX-8)\r
+    00006373 DD 66 F9              4270        LD      H,(IX-7)\r
+    00006376 23                    4271        INC     HL\r
+    00006377 23                    4272        INC     HL\r
+    00006378 23                    4273        INC     HL\r
+    00006379 46                    4274        LD      B,(HL)\r
+    0000637A 23                    4275        INC     HL\r
+    0000637B 66                    4276        LD      H,(HL)\r
+    0000637C 68                    4277        LD      L,B\r
+    0000637D CB 85                 4278        RES     0,L\r
+    0000637F 3E 02                 4279        LD      A,2\r
+    00006381 AD                    4280        XOR     L\r
+    00006382 B4                    4281        OR      H\r
+    00006383 C2 6F 64              4282        JP      NZ,?0291\r
+    00006386                       4283 ?0290:\r
+    00006386 21 05 00              4284        LD      HL,5\r
+    00006389 DD 4E F8              4285        LD      C,(IX-8)\r
+    0000638C DD 46 F9              4286        LD      B,(IX-7)\r
+    0000638F 09                    4287        ADD     HL,BC\r
+    00006390 56                    4288        LD      D,(HL)\r
+    00006391 23                    4289        INC     HL\r
+    00006392 7E                    4290        LD      A,(HL)\r
+    00006393 6A                    4291        LD      L,D\r
+    00006394 E6 0F                 4292        AND     15\r
+    00006396 67                    4293        LD      H,A\r
+    00006397 29                    4294        ADD     HL,HL\r
+    00006398 E5                    4295        PUSH    HL\r
+    00006399 21 0C 00              4296        LD      HL,12\r
+    0000639C ED 5B BF 86           4297        LD      DE,(global)\r
+    000063A0 19                    4298        ADD     HL,DE\r
+    000063A1 5E                    4299        LD      E,(HL)\r
+    000063A2 23                    4300        INC     HL\r
+    000063A3 56                    4301        LD      D,(HL)\r
+    000063A4 E1                    4302        POP     HL\r
+    000063A5 19                    4303        ADD     HL,DE\r
+    000063A6 2B                    4304        DEC     HL\r
+    000063A7 2B                    4305        DEC     HL\r
+    000063A8 56                    4306        LD      D,(HL)\r
+    000063A9 DD 72 FC              4307        LD      (IX-4),D\r
+    000063AC 23                    4308        INC     HL\r
+    000063AD 66                    4309        LD      H,(HL)\r
+    000063AE DD 74 FD              4310        LD      (IX-3),H\r
+    000063B1 21 00 00              4311        LD      HL,0\r
+    000063B4 E5                    4312        PUSH    HL\r
+    000063B5 E5                    4313        PUSH    HL\r
+    000063B6 01 01 00              4314        LD      BC,1\r
+    000063B9 FD 5E 11              4315        LD      E,(IY+17)\r
+    000063BC FD 56 12              4316        LD      D,(IY+18)\r
+    000063BF 3E 00                 4317        LD      A,BYTE3 Component_changestate_children\r
+    000063C1 21 0D 50              4318        LD      HL,LWRD Component_changestate_children\r
+    000063C4 CD 5E 81              4319        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000063C7 E1                    4320        POP     HL\r
+    000063C8 E1                    4321        POP     HL\r
+    000063C9 FD 6E 11              4322        LD      L,(IY+17)\r
+    000063CC FD 66 12              4323        LD      H,(IY+18)\r
+    000063CF 01 08 00              4324        LD      BC,8\r
+    000063D2 09                    4325        ADD     HL,BC\r
+    000063D3 4E                    4326        LD      C,(HL)\r
+    000063D4 23                    4327        INC     HL\r
+    000063D5 46                    4328        LD      B,(HL)\r
+    000063D6 C5                    4329        PUSH    BC\r
+    000063D7 FD 6E 11              4330        LD      L,(IY+17)\r
+    000063DA FD 66 12              4331        LD      H,(IY+18)\r
+    000063DD 01 06 00              4332        LD      BC,6\r
+    000063E0 09                    4333        ADD     HL,BC\r
+    000063E1 4E                    4334        LD      C,(HL)\r
+    000063E2 23                    4335        INC     HL\r
+    000063E3 46                    4336        LD      B,(HL)\r
+    000063E4 C5                    4337        PUSH    BC\r
+    000063E5 01 00 00              4338        LD      BC,0\r
+    000063E8 59                    4339        LD      E,C\r
+    000063E9 50                    4340        LD      D,B\r
+    000063EA 3E 00                 4341        LD      A,BYTE3 Window_new\r
+    000063EC 21 D9 55              4342        LD      HL,LWRD Window_new\r
+    000063EF CD 5E 81              4343        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000063F2 F1                    4344        POP     AF\r
+    000063F3 F1                    4345        POP     AF\r
+    000063F4 DD 75 FA              4346        LD      (IX-6),L\r
+    000063F7 DD 74 FB              4347        LD      (IX-5),H\r
+    000063FA 01 0A 00              4348        LD      BC,10\r
+    000063FD 09                    4349        ADD     HL,BC\r
+    000063FE 36 03                 4350        LD      (HL),3\r
+    00006400 23                    4351        INC     HL\r
+    00006401 70                    4352        LD      (HL),B\r
+    00006402 DD 6E F8              4353        LD      L,(IX-8)\r
+    00006405 DD 66 F9              4354        LD      H,(IX-7)\r
+    00006408 23                    4355        INC     HL\r
+    00006409 23                    4356        INC     HL\r
+    0000640A 23                    4357        INC     HL\r
+    0000640B CB 46                 4358        BIT     0,(HL)\r
+    0000640D 28 0C                 4359        JR      Z,?0293\r
+    0000640F                       4360 ?0292:\r
+    0000640F 69                    4361        LD      L,C\r
+    00006410 60                    4362        LD      H,B\r
+    00006411 DD 4E FA              4363        LD      C,(IX-6)\r
+    00006414 DD 46 FB              4364        LD      B,(IX-5)\r
+    00006417 09                    4365        ADD     HL,BC\r
+    00006418 23                    4366        INC     HL\r
+    00006419 CB EE                 4367        SET     5,(HL)\r
+    0000641B                       4368 ?0293:\r
+    0000641B 21 17 00              4369        LD      HL,23\r
+    0000641E DD 4E FA              4370        LD      C,(IX-6)\r
+    00006421 DD 46 FB              4371        LD      B,(IX-5)\r
+    00006424 09                    4372        ADD     HL,BC\r
+    00006425 36 35                 4373        LD      (HL),LOW(rootWindow_handler)\r
+    00006427 23                    4374        INC     HL\r
+    00006428 36 5F                 4375        LD      (HL),HIGH(rootWindow_handler)\r
+    0000642A 23                    4376        INC     HL\r
+    0000642B 36 00                 4377        LD      (HL),BYTE3 rootWindow_handler\r
+    0000642D 21 1A 00              4378        LD      HL,26\r
+    00006430 09                    4379        ADD     HL,BC\r
+    00006431 36 94                 4380        LD      (HL),LOW(Root_paint)\r
+    00006433 23                    4381        INC     HL\r
+    00006434 36 55                 4382        LD      (HL),HIGH(Root_paint)\r
+    00006436 23                    4383        INC     HL\r
+    00006437 36 00                 4384        LD      (HL),BYTE3 Root_paint\r
+    00006439 DD 4E FC              4385        LD      C,(IX-4)\r
+    0000643C DD 46 FD              4386        LD      B,(IX-3)\r
+    0000643F DD 5E FA              4387        LD      E,(IX-6)\r
+    00006442 DD 56 FB              4388        LD      D,(IX-5)\r
+    00006445 3E 00                 4389        LD      A,BYTE3 screenbuilder\r
+    00006447 21 53 5F              4390        LD      HL,LWRD screenbuilder\r
+    0000644A CD 5E 81              4391        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000644D DD 4E FA              4392        LD      C,(IX-6)\r
+    00006450 DD 46 FB              4393        LD      B,(IX-5)\r
+    00006453 C5                    4394        PUSH    BC\r
+    00006454 FD 5E 11              4395        LD      E,(IY+17)\r
+    00006457 FD 56 12              4396        LD      D,(IY+18)\r
+    0000645A FD 6E 11              4397        LD      L,(IY+17)\r
+    0000645D FD 66 12              4398        LD      H,(IY+18)\r
+    00006460 01 1D 00              4399        LD      BC,29\r
+    00006463 09                    4400        ADD     HL,BC\r
+    00006464 4E                    4401        LD      C,(HL)\r
+    00006465 23                    4402        INC     HL\r
+    00006466 46                    4403        LD      B,(HL)\r
+    00006467 23                    4404        INC     HL\r
+    00006468 7E                    4405        LD      A,(HL)\r
+    00006469 69                    4406        LD      L,C\r
+    0000646A 60                    4407        LD      H,B\r
+    0000646B C1                    4408        POP     BC\r
+    0000646C CD 5E 81              4409        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000646F                       4410 ?0291:\r
+    0000646F DD 6E F8              4411        LD      L,(IX-8)\r
+    00006472 DD 66 F9              4412        LD      H,(IX-7)\r
+    00006475 23                    4413        INC     HL\r
+    00006476 23                    4414        INC     HL\r
+    00006477 23                    4415        INC     HL\r
+    00006478 3E 04                 4416        LD      A,4\r
+    0000647A AE                    4417        XOR     (HL)\r
+    0000647B 23                    4418        INC     HL\r
+    0000647C B6                    4419        OR      (HL)\r
+    0000647D C2 0D 66              4420        JP      NZ,?0295\r
+    00006480                       4421 ?0294:\r
+    00006480 21 01 00              4422        LD      HL,1\r
+    00006483 E5                    4423        PUSH    HL\r
+    00006484 FD 6E 11              4424        LD      L,(IY+17)\r
+    00006487 FD 66 12              4425        LD      H,(IY+18)\r
+    0000648A 01 08 00              4426        LD      BC,8\r
+    0000648D 09                    4427        ADD     HL,BC\r
+    0000648E 46                    4428        LD      B,(HL)\r
+    0000648F 23                    4429        INC     HL\r
+    00006490 66                    4430        LD      H,(HL)\r
+    00006491 68                    4431        LD      L,B\r
+    00006492 01 F6 FF              4432        LD      BC,65526\r
+    00006495 09                    4433        ADD     HL,BC\r
+    00006496 E5                    4434        PUSH    HL\r
+    00006497 FD 6E 11              4435        LD      L,(IY+17)\r
+    0000649A FD 66 12              4436        LD      H,(IY+18)\r
+    0000649D 01 06 00              4437        LD      BC,6\r
+    000064A0 09                    4438        ADD     HL,BC\r
+    000064A1 46                    4439        LD      B,(HL)\r
+    000064A2 23                    4440        INC     HL\r
+    000064A3 66                    4441        LD      H,(HL)\r
+    000064A4 68                    4442        LD      L,B\r
+    000064A5 01 F6 FF              4443        LD      BC,65526\r
+    000064A8 09                    4444        ADD     HL,BC\r
+    000064A9 E5                    4445        PUSH    HL\r
+    000064AA 01 05 00              4446        LD      BC,5\r
+    000064AD 59                    4447        LD      E,C\r
+    000064AE 50                    4448        LD      D,B\r
+    000064AF 3E 00                 4449        LD      A,BYTE3 Dialog_new\r
+    000064B1 21 56 5B              4450        LD      HL,LWRD Dialog_new\r
+    000064B4 CD 5E 81              4451        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000064B7 F1                    4452        POP     AF\r
+    000064B8 F1                    4453        POP     AF\r
+    000064B9 F1                    4454        POP     AF\r
+    000064BA DD 75 FA              4455        LD      (IX-6),L\r
+    000064BD DD 74 FB              4456        LD      (IX-5),H\r
+    000064C0 01 0A 00              4457        LD      BC,10\r
+    000064C3 09                    4458        ADD     HL,BC\r
+    000064C4 36 03                 4459        LD      (HL),3\r
+    000064C6 23                    4460        INC     HL\r
+    000064C7 36 10                 4461        LD      (HL),16\r
+    000064C9 21 0E 00              4462        LD      HL,14\r
+    000064CC DD 4E FA              4463        LD      C,(IX-6)\r
+    000064CF DD 46 FB              4464        LD      B,(IX-5)\r
+    000064D2 09                    4465        ADD     HL,BC\r
+    000064D3 36 30                 4466        LD      (HL),48\r
+    000064D5 23                    4467        INC     HL\r
+    000064D6 36 00                 4468        LD      (HL),0\r
+    000064D8 AF                    4469        XOR     A\r
+    000064D9 DD 77 FE              4470        LD      (IX-2),A\r
+    000064DC DD 77 FF              4471        LD      (IX-1),A\r
+    000064DF                       4472 ?0297:\r
+    000064DF 21 05 00              4473        LD      HL,5\r
+    000064E2 DD 4E F8              4474        LD      C,(IX-8)\r
+    000064E5 DD 46 F9              4475        LD      B,(IX-7)\r
+    000064E8 09                    4476        ADD     HL,BC\r
+    000064E9 5E                    4477        LD      E,(HL)\r
+    000064EA 23                    4478        INC     HL\r
+    000064EB 56                    4479        LD      D,(HL)\r
+    000064EC 06 0C                 4480        LD      B,12\r
+    000064EE CD 09 82              4481        CALL    LWRD ?SS_RSH_L02\r
+    000064F1 4B                    4482        LD      C,E\r
+    000064F2 42                    4483        LD      B,D\r
+    000064F3 DD 6E FE              4484        LD      L,(IX-2)\r
+    000064F6 DD 66 FF              4485        LD      H,(IX-1)\r
+    000064F9 CD A6 81              4486        CALL    LWRD ?SS_CMP_L02\r
+    000064FC 30 04                 4487        JR      NC,?0377\r
+    000064FE 3E 01                 4488        LD      A,1\r
+    00006500 18 01                 4489        JR      ?0378\r
+    00006502                       4490 ?0377:\r
+    00006502 AF                    4491        XOR     A\r
+    00006503                       4492 ?0378:\r
+    00006503 E6 0F                 4493        AND     15\r
+    00006505 CA A1 65              4494        JP      Z,?0296\r
+    00006508                       4495 ?0298:\r
+    00006508 21 05 00              4496        LD      HL,5\r
+    0000650B DD 4E F8              4497        LD      C,(IX-8)\r
+    0000650E DD 46 F9              4498        LD      B,(IX-7)\r
+    00006511 09                    4499        ADD     HL,BC\r
+    00006512 46                    4500        LD      B,(HL)\r
+    00006513 23                    4501        INC     HL\r
+    00006514 7E                    4502        LD      A,(HL)\r
+    00006515 68                    4503        LD      L,B\r
+    00006516 E6 0F                 4504        AND     15\r
+    00006518 67                    4505        LD      H,A\r
+    00006519 DD 4E FE              4506        LD      C,(IX-2)\r
+    0000651C DD 46 FF              4507        LD      B,(IX-1)\r
+    0000651F 09                    4508        ADD     HL,BC\r
+    00006520 29                    4509        ADD     HL,HL\r
+    00006521 E5                    4510        PUSH    HL\r
+    00006522 21 0C 00              4511        LD      HL,12\r
+    00006525 ED 5B BF 86           4512        LD      DE,(global)\r
+    00006529 19                    4513        ADD     HL,DE\r
+    0000652A 5E                    4514        LD      E,(HL)\r
+    0000652B 23                    4515        INC     HL\r
+    0000652C 56                    4516        LD      D,(HL)\r
+    0000652D E1                    4517        POP     HL\r
+    0000652E 19                    4518        ADD     HL,DE\r
+    0000652F 2B                    4519        DEC     HL\r
+    00006530 2B                    4520        DEC     HL\r
+    00006531 5E                    4521        LD      E,(HL)\r
+    00006532 23                    4522        INC     HL\r
+    00006533 56                    4523        LD      D,(HL)\r
+    00006534 D5                    4524        PUSH    DE\r
+    00006535 21 10 00              4525        LD      HL,16\r
+    00006538 E5                    4526        PUSH    HL\r
+    00006539 2E 06                 4527        LD      L,6\r
+    0000653B DD 5E FA              4528        LD      E,(IX-6)\r
+    0000653E DD 56 FB              4529        LD      D,(IX-5)\r
+    00006541 19                    4530        ADD     HL,DE\r
+    00006542 6E                    4531        LD      L,(HL)\r
+    00006543 26 00                 4532        LD      H,0\r
+    00006545 01 F0 FF              4533        LD      BC,65520\r
+    00006548 09                    4534        ADD     HL,BC\r
+    00006549 E5                    4535        PUSH    HL\r
+    0000654A DD 6E FE              4536        LD      L,(IX-2)\r
+    0000654D DD 66 FF              4537        LD      H,(IX-1)\r
+    00006550 29                    4538        ADD     HL,HL\r
+    00006551 29                    4539        ADD     HL,HL\r
+    00006552 4D                    4540        LD      C,L\r
+    00006553 44                    4541        LD      B,H\r
+    00006554 29                    4542        ADD     HL,HL\r
+    00006555 09                    4543        ADD     HL,BC\r
+    00006556 01 14 00              4544        LD      BC,20\r
+    00006559 09                    4545        ADD     HL,BC\r
+    0000655A 4D                    4546        LD      C,L\r
+    0000655B 44                    4547        LD      B,H\r
+    0000655C 11 08 00              4548        LD      DE,8\r
+    0000655F 3E 00                 4549        LD      A,BYTE3 Label_new\r
+    00006561 21 D1 5E              4550        LD      HL,LWRD Label_new\r
+    00006564 CD 5E 81              4551        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006567 F1                    4552        POP     AF\r
+    00006568 F1                    4553        POP     AF\r
+    00006569 F1                    4554        POP     AF\r
+    0000656A DD 75 FC              4555        LD      (IX-4),L\r
+    0000656D DD 74 FD              4556        LD      (IX-3),H\r
+    00006570 01 0E 00              4557        LD      BC,14\r
+    00006573 09                    4558        ADD     HL,BC\r
+    00006574 36 30                 4559        LD      (HL),48\r
+    00006576 23                    4560        INC     HL\r
+    00006577 70                    4561        LD      (HL),B\r
+    00006578 DD 4E FC              4562        LD      C,(IX-4)\r
+    0000657B DD 46 FD              4563        LD      B,(IX-3)\r
+    0000657E C5                    4564        PUSH    BC\r
+    0000657F DD 5E FA              4565        LD      E,(IX-6)\r
+    00006582 4B                    4566        LD      C,E\r
+    00006583 DD 56 FB              4567        LD      D,(IX-5)\r
+    00006586 42                    4568        LD      B,D\r
+    00006587 21 1D 00              4569        LD      HL,29\r
+    0000658A 09                    4570        ADD     HL,BC\r
+    0000658B 4E                    4571        LD      C,(HL)\r
+    0000658C 23                    4572        INC     HL\r
+    0000658D 46                    4573        LD      B,(HL)\r
+    0000658E 23                    4574        INC     HL\r
+    0000658F 7E                    4575        LD      A,(HL)\r
+    00006590 69                    4576        LD      L,C\r
+    00006591 60                    4577        LD      H,B\r
+    00006592 C1                    4578        POP     BC\r
+    00006593 CD 5E 81              4579        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006596 DD 34 FE              4580        INC     (IX-2)\r
+    00006599 20 03                 4581        JR      NZ,?0379\r
+    0000659B DD 34 FF              4582        INC     (IX-1)\r
+    0000659E                       4583 ?0379:\r
+    0000659E C3 DF 64              4584        JP      LWRD ?0297\r
+    000065A1                       4585 ?0296:\r
+    000065A1 01 C4 84              4586        LD      BC,?0300\r
+    000065A4 DD 5E FA              4587        LD      E,(IX-6)\r
+    000065A7 DD 56 FB              4588        LD      D,(IX-5)\r
+    000065AA 3E 00                 4589        LD      A,BYTE3 Component_setlabel\r
+    000065AC 21 B0 4C              4590        LD      HL,LWRD Component_setlabel\r
+    000065AF CD 5E 81              4591        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000065B2 01 FF 00              4592        LD      BC,255\r
+    000065B5 CD 81 66              4593        CALL    LWRD ?0485\r
+    000065B8 01 0E 00              4594        LD      BC,14\r
+    000065BB 09                    4595        ADD     HL,BC\r
+    000065BC 36 30                 4596        LD      (HL),48\r
+    000065BE 23                    4597        INC     HL\r
+    000065BF 70                    4598        LD      (HL),B\r
+    000065C0 0E FE                 4599        LD      C,254\r
+    000065C2 CD 81 66              4600        CALL    LWRD ?0485\r
+    000065C5 EB                    4601        EX      DE,HL\r
+    000065C6 CD E6 4F              4602        CALL    LWRD ?0467\r
+    000065C9 DD 4E FA              4603        LD      C,(IX-6)\r
+    000065CC DD 46 FB              4604        LD      B,(IX-5)\r
+    000065CF C5                    4605        PUSH    BC\r
+    000065D0 FD 5E 11              4606        LD      E,(IY+17)\r
+    000065D3 FD 56 12              4607        LD      D,(IY+18)\r
+    000065D6 FD 6E 11              4608        LD      L,(IY+17)\r
+    000065D9 FD 66 12              4609        LD      H,(IY+18)\r
+    000065DC 01 1D 00              4610        LD      BC,29\r
+    000065DF 09                    4611        ADD     HL,BC\r
+    000065E0 4E                    4612        LD      C,(HL)\r
+    000065E1 23                    4613        INC     HL\r
+    000065E2 46                    4614        LD      B,(HL)\r
+    000065E3 23                    4615        INC     HL\r
+    000065E4 7E                    4616        LD      A,(HL)\r
+    000065E5 69                    4617        LD      L,C\r
+    000065E6 60                    4618        LD      H,B\r
+    000065E7 C1                    4619        POP     BC\r
+    000065E8 CD 5E 81              4620        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000065EB 21 00 00              4621        LD      HL,0\r
+    000065EE E5                    4622        PUSH    HL\r
+    000065EF FD 5E 11              4623        LD      E,(IY+17)\r
+    000065F2 FD 56 12              4624        LD      D,(IY+18)\r
+    000065F5 FD 6E 11              4625        LD      L,(IY+17)\r
+    000065F8 FD 66 12              4626        LD      H,(IY+18)\r
+    000065FB 01 17 00              4627        LD      BC,23\r
+    000065FE 09                    4628        ADD     HL,BC\r
+    000065FF 4E                    4629        LD      C,(HL)\r
+    00006600 23                    4630        INC     HL\r
+    00006601 46                    4631        LD      B,(HL)\r
+    00006602 23                    4632        INC     HL\r
+    00006603 7E                    4633        LD      A,(HL)\r
+    00006604 69                    4634        LD      L,C\r
+    00006605 60                    4635        LD      H,B\r
+    00006606 01 03 01              4636        LD      BC,259\r
+    00006609 CD 5E 81              4637        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000660C E1                    4638        POP     HL\r
+    0000660D                       4639 ?0295:\r
+    0000660D DD 6E F8              4640        LD      L,(IX-8)\r
+    00006610 DD 66 F9              4641        LD      H,(IX-7)\r
+    00006613 23                    4642        INC     HL\r
+    00006614 23                    4643        INC     HL\r
+    00006615 23                    4644        INC     HL\r
+    00006616 3E 05                 4645        LD      A,5\r
+    00006618 AE                    4646        XOR     (HL)\r
+    00006619 23                    4647        INC     HL\r
+    0000661A B6                    4648        OR      (HL)\r
+    0000661B 20 1D                 4649        JR      NZ,?0302\r
+    0000661D                       4650 ?0301:\r
+    0000661D 21 05 00              4651        LD      HL,5\r
+    00006620 DD 4E F8              4652        LD      C,(IX-8)\r
+    00006623 DD 46 F9              4653        LD      B,(IX-7)\r
+    00006626 09                    4654        ADD     HL,BC\r
+    00006627 5E                    4655        LD      E,(HL)\r
+    00006628 23                    4656        INC     HL\r
+    00006629 56                    4657        LD      D,(HL)\r
+    0000662A D5                    4658        PUSH    DE\r
+    0000662B 21 07 00              4659        LD      HL,7\r
+    0000662E 09                    4660        ADD     HL,BC\r
+    0000662F 4D                    4661        LD      C,L\r
+    00006630 44                    4662        LD      B,H\r
+    00006631 2A BF 86              4663        LD      HL,(global)\r
+    00006634 23                    4664        INC     HL\r
+    00006635 23                    4665        INC     HL\r
+    00006636 CD EE 46              4666        CALL    LWRD ?0445\r
+    00006639 F1                    4667        POP     AF\r
+    0000663A                       4668 ?0302:\r
+    0000663A DD 6E F8              4669        LD      L,(IX-8)\r
+    0000663D DD 66 F9              4670        LD      H,(IX-7)\r
+    00006640 23                    4671        INC     HL\r
+    00006641 23                    4672        INC     HL\r
+    00006642 23                    4673        INC     HL\r
+    00006643 3E 06                 4674        LD      A,6\r
+    00006645 AE                    4675        XOR     (HL)\r
+    00006646 23                    4676        INC     HL\r
+    00006647 B6                    4677        OR      (HL)\r
+    00006648 20 16                 4678        JR      NZ,?0304\r
+    0000664A                       4679 ?0303:\r
+    0000664A 21 05 00              4680        LD      HL,5\r
+    0000664D DD 4E F8              4681        LD      C,(IX-8)\r
+    00006650 DD 46 F9              4682        LD      B,(IX-7)\r
+    00006653 09                    4683        ADD     HL,BC\r
+    00006654 5E                    4684        LD      E,(HL)\r
+    00006655 23                    4685        INC     HL\r
+    00006656 56                    4686        LD      D,(HL)\r
+    00006657 D5                    4687        PUSH    DE\r
+    00006658 21 07 00              4688        LD      HL,7\r
+    0000665B 09                    4689        ADD     HL,BC\r
+    0000665C CD E4 46              4690        CALL    LWRD ?0446\r
+    0000665F F1                    4691        POP     AF\r
+    00006660                       4692 ?0304:\r
+    00006660 21 18 00              4693        LD      HL,24\r
+    00006663 ED 4B BF 86           4694        LD      BC,(global)\r
+    00006667 09                    4695        ADD     HL,BC\r
+    00006668 7E                    4696        LD      A,(HL)\r
+    00006669 23                    4697        INC     HL\r
+    0000666A B6                    4698        OR      (HL)\r
+    0000666B 23                    4699        INC     HL\r
+    0000666C B6                    4700        OR      (HL)\r
+    0000666D 28 0D                 4701        JR      Z,?0306\r
+    0000666F                       4702 ?0305:\r
+    0000666F FD E5                 4703        PUSH    IY\r
+    00006671 D1                    4704        POP     DE\r
+    00006672 21 18 00              4705        LD      HL,24\r
+    00006675 ED 4B BF 86           4706        LD      BC,(global)\r
+    00006679 CD C7 53              4707        CALL    LWRD ?0451\r
+    0000667C                       4708 ?0306:\r
+    0000667C FD E1                 4709        POP     IY\r
+    0000667E C3 1F 81              4710        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    00006681                       4711 ?0485:\r
+    00006681 DD 5E FA              4712        LD      E,(IX-6)\r
+    00006684 DD 56 FB              4713        LD      D,(IX-5)\r
+    00006687 3E 00                 4714        LD      A,BYTE3 Component_find\r
+    00006689 21 E5 4D              4715        LD      HL,LWRD Component_find\r
+    0000668C C3 5E 81              4716        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    0000668F                       4717 read_stringtable:\r
+    0000668F CD 88 81              4718        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
+    00006692 F8 FF                 4719        DEFW    -8\r
+    00006694 FD E5                 4720        PUSH    IY\r
+    00006696 03                    4721        INC     BC\r
+    00006697 0A                    4722        LD      A,(BC)\r
+    00006698 DD 77 FE              4723        LD      (IX-2),A\r
+    0000669B 03                    4724        INC     BC\r
+    0000669C 0A                    4725        LD      A,(BC)\r
+    0000669D DD 77 FF              4726        LD      (IX-1),A\r
+    000066A0 03                    4727        INC     BC\r
+    000066A1 69                    4728        LD      L,C\r
+    000066A2 60                    4729        LD      H,B\r
+    000066A3 4E                    4730        LD      C,(HL)\r
+    000066A4 DD 71 FC              4731        LD      (IX-4),C\r
+    000066A7 23                    4732        INC     HL\r
+    000066A8 46                    4733        LD      B,(HL)\r
+    000066A9 DD 70 FD              4734        LD      (IX-3),B\r
+    000066AC DD 6E FE              4735        LD      L,(IX-2)\r
+    000066AF 67                    4736        LD      H,A\r
+    000066B0 29                    4737        ADD     HL,HL\r
+    000066B1 EB                    4738        EX      DE,HL\r
+    000066B2 CD FA 62              4739        CALL    LWRD ?0466\r
+    000066B5 DD 75 FA              4740        LD      (IX-6),L\r
+    000066B8 DD 74 FB              4741        LD      (IX-5),H\r
+    000066BB 59                    4742        LD      E,C\r
+    000066BC 50                    4743        LD      D,B\r
+    000066BD CD 25 4B              4744        CALL    LWRD ?0457\r
+    000066C0 C5                    4745        PUSH    BC\r
+    000066C1 4D                    4746        LD      C,L\r
+    000066C2 44                    4747        LD      B,H\r
+    000066C3 DD 5E 02              4748        LD      E,(IX+2)\r
+    000066C6 DD 56 03              4749        LD      D,(IX+3)\r
+    000066C9 3E 00                 4750        LD      A,BYTE3 _read\r
+    000066CB 21 8D 7C              4751        LD      HL,LWRD _read\r
+    000066CE CD 5E 81              4752        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000066D1 F1                    4753        POP     AF\r
+    000066D2 11 00 00              4754        LD      DE,0\r
+    000066D5 AF                    4755        XOR     A\r
+    000066D6 DD 77 F8              4756        LD      (IX-8),A\r
+    000066D9 DD 77 F9              4757        LD      (IX-7),A\r
+    000066DC                       4758 ?0308:\r
+    000066DC DD 4E FC              4759        LD      C,(IX-4)\r
+    000066DF DD 46 FD              4760        LD      B,(IX-3)\r
+    000066E2 6B                    4761        LD      L,E\r
+    000066E3 62                    4762        LD      H,D\r
+    000066E4 CD A6 81              4763        CALL    LWRD ?SS_CMP_L02\r
+    000066E7 30 35                 4764        JR      NC,?0307\r
+    000066E9 CD 5A 67              4765        CALL    LWRD ?0488\r
+    000066EC 30 30                 4766        JR      NC,?0307\r
+    000066EE                       4767 ?0311:\r
+    000066EE                       4768 ?0310:\r
+    000066EE                       4769 ?0309:\r
+    000066EE 23                    4770        INC     HL\r
+    000066EF DD 75 F8              4771        LD      (IX-8),L\r
+    000066F2 DD 74 F9              4772        LD      (IX-7),H\r
+    000066F5 2B                    4773        DEC     HL\r
+    000066F6 29                    4774        ADD     HL,HL\r
+    000066F7 DD 4E FA              4775        LD      C,(IX-6)\r
+    000066FA DD 46 FB              4776        LD      B,(IX-5)\r
+    000066FD 09                    4777        ADD     HL,BC\r
+    000066FE E5                    4778        PUSH    HL\r
+    000066FF FD E5                 4779        PUSH    IY\r
+    00006701 E1                    4780        POP     HL\r
+    00006702 19                    4781        ADD     HL,DE\r
+    00006703 4D                    4782        LD      C,L\r
+    00006704 44                    4783        LD      B,H\r
+    00006705 E1                    4784        POP     HL\r
+    00006706 71                    4785        LD      (HL),C\r
+    00006707 23                    4786        INC     HL\r
+    00006708 70                    4787        LD      (HL),B\r
+    00006709                       4788 ?0313:\r
+    00006709 FD E5                 4789        PUSH    IY\r
+    0000670B E1                    4790        POP     HL\r
+    0000670C 19                    4791        ADD     HL,DE\r
+    0000670D 7E                    4792        LD      A,(HL)\r
+    0000670E B7                    4793        OR      A\r
+    0000670F 28 03                 4794        JR      Z,?0312\r
+    00006711                       4795 ?0314:\r
+    00006711 13                    4796        INC     DE\r
+    00006712 18 F5                 4797        JR      ?0313\r
+    00006714                       4798 ?0312:\r
+    00006714 6B                    4799        LD      L,E\r
+    00006715 62                    4800        LD      H,D\r
+    00006716 13                    4801        INC     DE\r
+    00006717 FD E5                 4802        PUSH    IY\r
+    00006719 C1                    4803        POP     BC\r
+    0000671A 09                    4804        ADD     HL,BC\r
+    0000671B 77                    4805        LD      (HL),A\r
+    0000671C 18 BE                 4806        JR      ?0308\r
+    0000671E                       4807 ?0307:\r
+    0000671E CD 5A 67              4808        CALL    LWRD ?0488\r
+    00006721 30 13                 4809        JR      NC,?0316\r
+    00006723                       4810 ?0315:\r
+    00006723 29                    4811        ADD     HL,HL\r
+    00006724 DD 4E FA              4812        LD      C,(IX-6)\r
+    00006727 DD 46 FB              4813        LD      B,(IX-5)\r
+    0000672A 09                    4814        ADD     HL,BC\r
+    0000672B E5                    4815        PUSH    HL\r
+    0000672C FD E5                 4816        PUSH    IY\r
+    0000672E E1                    4817        POP     HL\r
+    0000672F 19                    4818        ADD     HL,DE\r
+    00006730 4D                    4819        LD      C,L\r
+    00006731 44                    4820        LD      B,H\r
+    00006732 E1                    4821        POP     HL\r
+    00006733 71                    4822        LD      (HL),C\r
+    00006734 23                    4823        INC     HL\r
+    00006735 70                    4824        LD      (HL),B\r
+    00006736                       4825 ?0316:\r
+    00006736 21 0A 00              4826        LD      HL,10\r
+    00006739 ED 4B BF 86           4827        LD      BC,(global)\r
+    0000673D 09                    4828        ADD     HL,BC\r
+    0000673E FD E5                 4829        PUSH    IY\r
+    00006740 C1                    4830        POP     BC\r
+    00006741 71                    4831        LD      (HL),C\r
+    00006742 23                    4832        INC     HL\r
+    00006743 70                    4833        LD      (HL),B\r
+    00006744 21 0C 00              4834        LD      HL,12\r
+    00006747 ED 4B BF 86           4835        LD      BC,(global)\r
+    0000674B 09                    4836        ADD     HL,BC\r
+    0000674C DD 4E FA              4837        LD      C,(IX-6)\r
+    0000674F 71                    4838        LD      (HL),C\r
+    00006750 DD 46 FB              4839        LD      B,(IX-5)\r
+    00006753 23                    4840        INC     HL\r
+    00006754 70                    4841        LD      (HL),B\r
+    00006755 FD E1                 4842        POP     IY\r
+    00006757 C3 1F 81              4843        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+    0000675A                       4844 ?0488:\r
+    0000675A DD 4E FE              4845        LD      C,(IX-2)\r
+    0000675D DD 46 FF              4846        LD      B,(IX-1)\r
+    00006760 DD 6E F8              4847        LD      L,(IX-8)\r
+    00006763 DD 66 F9              4848        LD      H,(IX-7)\r
+    00006766 C3 A6 81              4849        JP      LWRD ?SS_CMP_L02\r
+    00006769                       4850 gui_globals:\r
+    00006769 2A BF 86              4851        LD      HL,(global)\r
+    0000676C C3 25 81              4852        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000676F                       4853 GUIinit:\r
+    0000676F C5                    4854        PUSH    BC\r
+    00006770 D5                    4855        PUSH    DE\r
+    00006771 11 1B 00              4856        LD      DE,27\r
+    00006774 CD FA 62              4857        CALL    LWRD ?0466\r
+    00006777 22 BF 86              4858        LD      (global),HL\r
+    0000677A AF                    4859        XOR     A\r
+    0000677B 77                    4860        LD      (HL),A\r
+    0000677C 23                    4861        INC     HL\r
+    0000677D 77                    4862        LD      (HL),A\r
+    0000677E 21 08 00              4863        LD      HL,8\r
+    00006781 ED 4B BF 86           4864        LD      BC,(global)\r
+    00006785 09                    4865        ADD     HL,BC\r
+    00006786 77                    4866        LD      (HL),A\r
+    00006787 23                    4867        INC     HL\r
+    00006788 77                    4868        LD      (HL),A\r
+    00006789 21 12 00              4869        LD      HL,18\r
+    0000678C ED 4B BF 86           4870        LD      BC,(global)\r
+    00006790 09                    4871        ADD     HL,BC\r
+    00006791 77                    4872        LD      (HL),A\r
+    00006792 23                    4873        INC     HL\r
+    00006793 77                    4874        LD      (HL),A\r
+    00006794 21 14 00              4875        LD      HL,20\r
+    00006797 ED 4B BF 86           4876        LD      BC,(global)\r
+    0000679B 09                    4877        ADD     HL,BC\r
+    0000679C 77                    4878        LD      (HL),A\r
+    0000679D 23                    4879        INC     HL\r
+    0000679E 77                    4880        LD      (HL),A\r
+    0000679F 21 0C 00              4881        LD      HL,12\r
+    000067A2 ED 4B BF 86           4882        LD      BC,(global)\r
+    000067A6 09                    4883        ADD     HL,BC\r
+    000067A7 77                    4884        LD      (HL),A\r
+    000067A8 23                    4885        INC     HL\r
+    000067A9 77                    4886        LD      (HL),A\r
+    000067AA 21 0A 00              4887        LD      HL,10\r
+    000067AD ED 4B BF 86           4888        LD      BC,(global)\r
+    000067B1 09                    4889        ADD     HL,BC\r
+    000067B2 77                    4890        LD      (HL),A\r
+    000067B3 23                    4891        INC     HL\r
+    000067B4 77                    4892        LD      (HL),A\r
+    000067B5 21 18 00              4893        LD      HL,24\r
+    000067B8 ED 4B BF 86           4894        LD      BC,(global)\r
+    000067BC 09                    4895        ADD     HL,BC\r
+    000067BD 77                    4896        LD      (HL),A\r
+    000067BE 23                    4897        INC     HL\r
+    000067BF 77                    4898        LD      (HL),A\r
+    000067C0 23                    4899        INC     HL\r
+    000067C1 77                    4900        LD      (HL),A\r
+    000067C2 3E 00                 4901        LD      A,BYTE3 GraphicsOpen\r
+    000067C4 21 E3 45              4902        LD      HL,LWRD GraphicsOpen\r
+    000067C7 CD 5E 81              4903        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000067CA 21 00 00              4904        LD      HL,0\r
+    000067CD E5                    4905        PUSH    HL\r
+    000067CE E5                    4906        PUSH    HL\r
+    000067CF 0E 00                 4907        LD      C,BYTE3 stringheight01\r
+    000067D1 C5                    4908        PUSH    BC\r
+    000067D2 21 C7 4B              4909        LD      HL,LWRD stringheight01\r
+    000067D5 E5                    4910        PUSH    HL\r
+    000067D6 0E 00                 4911        LD      C,BYTE3 stringwidth0\r
+    000067D8 C5                    4912        PUSH    BC\r
+    000067D9 21 E3 4B              4913        LD      HL,LWRD stringwidth0\r
+    000067DC E5                    4914        PUSH    HL\r
+    000067DD 11 30 00              4915        LD      DE,48\r
+    000067E0 CD 8E 68              4916        CALL    LWRD ?0494\r
+    000067E3 21 0C 00              4917        LD      HL,12\r
+    000067E6 39                    4918        ADD     HL,SP\r
+    000067E7 F9                    4919        LD      SP,HL\r
+    000067E8 21 00 00              4920        LD      HL,0\r
+    000067EB E5                    4921        PUSH    HL\r
+    000067EC E5                    4922        PUSH    HL\r
+    000067ED 0E 00                 4923        LD      C,BYTE3 stringheight01\r
+    000067EF C5                    4924        PUSH    BC\r
+    000067F0 21 C7 4B              4925        LD      HL,LWRD stringheight01\r
+    000067F3 E5                    4926        PUSH    HL\r
+    000067F4 0E 00                 4927        LD      C,BYTE3 stringwidth1\r
+    000067F6 C5                    4928        PUSH    BC\r
+    000067F7 21 F4 4B              4929        LD      HL,LWRD stringwidth1\r
+    000067FA E5                    4930        PUSH    HL\r
+    000067FB 11 31 00              4931        LD      DE,49\r
+    000067FE CD 8E 68              4932        CALL    LWRD ?0494\r
+    00006801 21 0C 00              4933        LD      HL,12\r
+    00006804 39                    4934        ADD     HL,SP\r
+    00006805 F9                    4935        LD      SP,HL\r
+    00006806 21 00 00              4936        LD      HL,0\r
+    00006809 E5                    4937        PUSH    HL\r
+    0000680A E5                    4938        PUSH    HL\r
+    0000680B 0E 00                 4939        LD      C,BYTE3 stringheight2\r
+    0000680D C5                    4940        PUSH    BC\r
+    0000680E 21 DA 4B              4941        LD      HL,LWRD stringheight2\r
+    00006811 E5                    4942        PUSH    HL\r
+    00006812 0E 00                 4943        LD      C,BYTE3 stringwidth2\r
+    00006814 C5                    4944        PUSH    BC\r
+    00006815 21 FD 4B              4945        LD      HL,LWRD stringwidth2\r
+    00006818 E5                    4946        PUSH    HL\r
+    00006819 11 32 00              4947        LD      DE,50\r
+    0000681C CD 8E 68              4948        CALL    LWRD ?0494\r
+    0000681F 21 0C 00              4949        LD      HL,12\r
+    00006822 39                    4950        ADD     HL,SP\r
+    00006823 F9                    4951        LD      SP,HL\r
+    00006824 21 16 00              4952        LD      HL,22\r
+    00006827 ED 4B BF 86           4953        LD      BC,(global)\r
+    0000682B 09                    4954        ADD     HL,BC\r
+    0000682C E5                    4955        PUSH    HL\r
+    0000682D 11 80 00              4956        LD      DE,128\r
+    00006830 D5                    4957        PUSH    DE\r
+    00006831 5A                    4958        LD      E,D\r
+    00006832 D5                    4959        PUSH    DE\r
+    00006833 4B                    4960        LD      C,E\r
+    00006834 42                    4961        LD      B,D\r
+    00006835 3E 00                 4962        LD      A,BYTE3 Window_new\r
+    00006837 21 D9 55              4963        LD      HL,LWRD Window_new\r
+    0000683A CD 5E 81              4964        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000683D F1                    4965        POP     AF\r
+    0000683E F1                    4966        POP     AF\r
+    0000683F 4D                    4967        LD      C,L\r
+    00006840 44                    4968        LD      B,H\r
+    00006841 E1                    4969        POP     HL\r
+    00006842 71                    4970        LD      (HL),C\r
+    00006843 23                    4971        INC     HL\r
+    00006844 70                    4972        LD      (HL),B\r
+    00006845 21 16 00              4973        LD      HL,22\r
+    00006848 ED 4B BF 86           4974        LD      BC,(global)\r
+    0000684C 09                    4975        ADD     HL,BC\r
+    0000684D 56                    4976        LD      D,(HL)\r
+    0000684E 23                    4977        INC     HL\r
+    0000684F 66                    4978        LD      H,(HL)\r
+    00006850 6A                    4979        LD      L,D\r
+    00006851 11 0A 00              4980        LD      DE,10\r
+    00006854 19                    4981        ADD     HL,DE\r
+    00006855 36 01                 4982        LD      (HL),1\r
+    00006857 23                    4983        INC     HL\r
+    00006858 72                    4984        LD      (HL),D\r
+    00006859 21 16 00              4985        LD      HL,22\r
+    0000685C ED 4B BF 86           4986        LD      BC,(global)\r
+    00006860 09                    4987        ADD     HL,BC\r
+    00006861 56                    4988        LD      D,(HL)\r
+    00006862 23                    4989        INC     HL\r
+    00006863 66                    4990        LD      H,(HL)\r
+    00006864 6A                    4991        LD      L,D\r
+    00006865 11 17 00              4992        LD      DE,23\r
+    00006868 19                    4993        ADD     HL,DE\r
+    00006869 36 35                 4994        LD      (HL),LOW(rootWindow_handler)\r
+    0000686B 23                    4995        INC     HL\r
+    0000686C 36 5F                 4996        LD      (HL),HIGH(rootWindow_handler)\r
+    0000686E 23                    4997        INC     HL\r
+    0000686F 36 00                 4998        LD      (HL),BYTE3 rootWindow_handler\r
+    00006871 21 16 00              4999        LD      HL,22\r
+    00006874 ED 4B BF 86           5000        LD      BC,(global)\r
+    00006878 09                    5001        ADD     HL,BC\r
+    00006879 46                    5002        LD      B,(HL)\r
+    0000687A 23                    5003        INC     HL\r
+    0000687B 66                    5004        LD      H,(HL)\r
+    0000687C 68                    5005        LD      L,B\r
+    0000687D 01 1A 00              5006        LD      BC,26\r
+    00006880 09                    5007        ADD     HL,BC\r
+    00006881 36 94                 5008        LD      (HL),LOW(Root_paint)\r
+    00006883 23                    5009        INC     HL\r
+    00006884 36 55                 5010        LD      (HL),HIGH(Root_paint)\r
+    00006886 23                    5011        INC     HL\r
+    00006887 36 00                 5012        LD      (HL),BYTE3 Root_paint\r
+    00006889 D1                    5013        POP     DE\r
+    0000688A C1                    5014        POP     BC\r
+    0000688B C3 25 81              5015        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    0000688E                       5016 ?0494:\r
+    0000688E 3E 00                 5017        LD      A,BYTE3 loadFont\r
+    00006890 21 8A 4A              5018        LD      HL,LWRD loadFont\r
+    00006893 C3 5E 81              5019        JP      LWRD ?BANK_CALL_DIRECT_L08\r
+    00006896                       5020 GUIunit:\r
+    00006896 C5                    5021        PUSH    BC\r
+    00006897 D5                    5022        PUSH    DE\r
+    00006898 21 16 00              5023        LD      HL,22\r
+    0000689B ED 4B BF 86           5024        LD      BC,(global)\r
+    0000689F 09                    5025        ADD     HL,BC\r
+    000068A0 5E                    5026        LD      E,(HL)\r
+    000068A1 23                    5027        INC     HL\r
+    000068A2 56                    5028        LD      D,(HL)\r
+    000068A3 CD E6 4F              5029        CALL    LWRD ?0467\r
+    000068A6 3E 00                 5030        LD      A,BYTE3 ClearScreen\r
+    000068A8 21 20 49              5031        LD      HL,LWRD ClearScreen\r
+    000068AB CD 5E 81              5032        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000068AE 3E 00                 5033        LD      A,BYTE3 GraphicsClose\r
+    000068B0 21 01 47              5034        LD      HL,LWRD GraphicsClose\r
+    000068B3 CD 5E 81              5035        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000068B6 D1                    5036        POP     DE\r
+    000068B7 C1                    5037        POP     BC\r
+    000068B8 C3 25 81              5038        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+    000068BB                       5039 GUIgo:\r
+    000068BB C5                    5040        PUSH    BC\r
+    000068BC DD E5                 5041        PUSH    IX\r
+    000068BE D5                    5042        PUSH    DE\r
+    000068BF F5                    5043        PUSH    AF\r
+    000068C0 F5                    5044        PUSH    AF\r
+    000068C1 F5                    5045        PUSH    AF\r
+    000068C2 F5                    5046        PUSH    AF\r
+    000068C3 4B                    5047        LD      C,E\r
+    000068C4 42                    5048        LD      B,D\r
+    000068C5 21 16 00              5049        LD      HL,22\r
+    000068C8 ED 5B BF 86           5050        LD      DE,(global)\r
+    000068CC 19                    5051        ADD     HL,DE\r
+    000068CD 5E                    5052        LD      E,(HL)\r
+    000068CE 23                    5053        INC     HL\r
+    000068CF 56                    5054        LD      D,(HL)\r
+    000068D0 3E 00                 5055        LD      A,BYTE3 screenbuilder\r
+    000068D2 21 53 5F              5056        LD      HL,LWRD screenbuilder\r
+    000068D5 CD 5E 81              5057        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000068D8 21 0E 00              5058        LD      HL,14\r
+    000068DB ED 4B BF 86           5059        LD      BC,(global)\r
+    000068DF 09                    5060        ADD     HL,BC\r
+    000068E0 E5                    5061        PUSH    HL\r
+    000068E1 11 10 00              5062        LD      DE,16\r
+    000068E4 CD FA 62              5063        CALL    LWRD ?0466\r
+    000068E7 EB                    5064        EX      DE,HL\r
+    000068E8 E1                    5065        POP     HL\r
+    000068E9 73                    5066        LD      (HL),E\r
+    000068EA 23                    5067        INC     HL\r
+    000068EB 72                    5068        LD      (HL),D\r
+    000068EC 21 0E 00              5069        LD      HL,14\r
+    000068EF ED 4B BF 86           5070        LD      BC,(global)\r
+    000068F3 09                    5071        ADD     HL,BC\r
+    000068F4 7E                    5072        LD      A,(HL)\r
+    000068F5 23                    5073        INC     HL\r
+    000068F6 66                    5074        LD      H,(HL)\r
+    000068F7 6F                    5075        LD      L,A\r
+    000068F8 36 00                 5076        LD      (HL),0\r
+    000068FA 21 10 00              5077        LD      HL,16\r
+    000068FD ED 4B BF 86           5078        LD      BC,(global)\r
+    00006901 09                    5079        ADD     HL,BC\r
+    00006902 E5                    5080        PUSH    HL\r
+    00006903 11 00 00              5081        LD      DE,0\r
+    00006906 D5                    5082        PUSH    DE\r
+    00006907 11 D0 84              5083        LD      DE,?0317\r
+    0000690A D5                    5084        PUSH    DE\r
+    0000690B CD DC 46              5085        CALL    LWRD ?0444\r
+    0000690E F1                    5086        POP     AF\r
+    0000690F F1                    5087        POP     AF\r
+    00006910 EB                    5088        EX      DE,HL\r
+    00006911 E1                    5089        POP     HL\r
+    00006912 73                    5090        LD      (HL),E\r
+    00006913 23                    5091        INC     HL\r
+    00006914 72                    5092        LD      (HL),D\r
+    00006915 21 02 00              5093        LD      HL,2\r
+    00006918 39                    5094        ADD     HL,SP\r
+    00006919 E5                    5095        PUSH    HL\r
+    0000691A 21 00 00              5096        LD      HL,0\r
+    0000691D E5                    5097        PUSH    HL\r
+    0000691E 2E 10                 5098        LD      L,16\r
+    00006920 ED 4B BF 86           5099        LD      BC,(global)\r
+    00006924 09                    5100        ADD     HL,BC\r
+    00006925 5E                    5101        LD      E,(HL)\r
+    00006926 23                    5102        INC     HL\r
+    00006927 56                    5103        LD      D,(HL)\r
+    00006928 D5                    5104        PUSH    DE\r
+    00006929 CD D4 46              5105        CALL    LWRD ?0443\r
+    0000692C F1                    5106        POP     AF\r
+    0000692D F1                    5107        POP     AF\r
+    0000692E F1                    5108        POP     AF\r
+    0000692F 21 06 00              5109        LD      HL,6\r
+    00006932 39                    5110        ADD     HL,SP\r
+    00006933 36 60                 5111        LD      (HL),96\r
+    00006935 23                    5112        INC     HL\r
+    00006936 36 00                 5113        LD      (HL),0\r
+    00006938 21 02 00              5114        LD      HL,2\r
+    0000693B 39                    5115        ADD     HL,SP\r
+    0000693C E5                    5116        PUSH    HL\r
+    0000693D 21 01 00              5117        LD      HL,1\r
+    00006940 E5                    5118        PUSH    HL\r
+    00006941 2E 10                 5119        LD      L,16\r
+    00006943 09                    5120        ADD     HL,BC\r
+    00006944 4E                    5121        LD      C,(HL)\r
+    00006945 23                    5122        INC     HL\r
+    00006946 46                    5123        LD      B,(HL)\r
+    00006947 C5                    5124        PUSH    BC\r
+    00006948 CD D4 46              5125        CALL    LWRD ?0443\r
+    0000694B F1                    5126        POP     AF\r
+    0000694C F1                    5127        POP     AF\r
+    0000694D F1                    5128        POP     AF\r
+    0000694E DD 21 00 00           5129        LD      IX,0\r
+    00006952                       5130 ?0319:\r
+    00006952 21 08 00              5131        LD      HL,8\r
+    00006955 ED 4B BF 86           5132        LD      BC,(global)\r
+    00006959 09                    5133        ADD     HL,BC\r
+    0000695A 7E                    5134        LD      A,(HL)\r
+    0000695B 23                    5135        INC     HL\r
+    0000695C B6                    5136        OR      (HL)\r
+    0000695D C2 73 6A              5137        JP      NZ,?0318\r
+    00006960                       5138 ?0320:\r
+    00006960 21 01 00              5139        LD      HL,1\r
+    00006963 E5                    5140        PUSH    HL\r
+    00006964 23                    5141        INC     HL\r
+    00006965 39                    5142        ADD     HL,SP\r
+    00006966 4D                    5143        LD      C,L\r
+    00006967 44                    5144        LD      B,H\r
+    00006968 21 06 00              5145        LD      HL,6\r
+    0000696B ED 5B BF 86           5146        LD      DE,(global)\r
+    0000696F 19                    5147        ADD     HL,DE\r
+    00006970 5E                    5148        LD      E,(HL)\r
+    00006971 23                    5149        INC     HL\r
+    00006972 56                    5150        LD      D,(HL)\r
+    00006973 3E 00                 5151        LD      A,BYTE3 _read\r
+    00006975 21 8D 7C              5152        LD      HL,LWRD _read\r
+    00006978 CD 5E 81              5153        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    0000697B F1                    5154        POP     AF\r
+    0000697C 3E 01                 5155        LD      A,1\r
+    0000697E AD                    5156        XOR     L\r
+    0000697F B4                    5157        OR      H\r
+    00006980 20 67                 5158        JR      NZ,?0322\r
+    00006982                       5159 ?0321:\r
+    00006982 6F                    5160        LD      L,A\r
+    00006983 67                    5161        LD      H,A\r
+    00006984 39                    5162        ADD     HL,SP\r
+    00006985 B6                    5163        OR      (HL)\r
+    00006986 28 2B                 5164        JR      Z,?0324\r
+    00006988                       5165 ?0323:\r
+    00006988 4F                    5166        LD      C,A\r
+    00006989 06 00                 5167        LD      B,0\r
+    0000698B C5                    5168        PUSH    BC\r
+    0000698C 21 16 00              5169        LD      HL,22\r
+    0000698F ED 5B BF 86           5170        LD      DE,(global)\r
+    00006993 19                    5171        ADD     HL,DE\r
+    00006994 5E                    5172        LD      E,(HL)\r
+    00006995 23                    5173        INC     HL\r
+    00006996 56                    5174        LD      D,(HL)\r
+    00006997 21 16 00              5175        LD      HL,22\r
+    0000699A ED 4B BF 86           5176        LD      BC,(global)\r
+    0000699E 09                    5177        ADD     HL,BC\r
+    0000699F 46                    5178        LD      B,(HL)\r
+    000069A0 23                    5179        INC     HL\r
+    000069A1 66                    5180        LD      H,(HL)\r
+    000069A2 68                    5181        LD      L,B\r
+    000069A3 01 17 00              5182        LD      BC,23\r
+    000069A6 09                    5183        ADD     HL,BC\r
+    000069A7 4E                    5184        LD      C,(HL)\r
+    000069A8 23                    5185        INC     HL\r
+    000069A9 46                    5186        LD      B,(HL)\r
+    000069AA 23                    5187        INC     HL\r
+    000069AB 7E                    5188        LD      A,(HL)\r
+    000069AC 69                    5189        LD      L,C\r
+    000069AD 60                    5190        LD      H,B\r
+    000069AE 01 01 00              5191        LD      BC,1\r
+    000069B1 18 29                 5192        JR      ?0381\r
+    000069B3                       5193 ?0324:\r
+    000069B3 23                    5194        INC     HL\r
+    000069B4 4E                    5195        LD      C,(HL)\r
+    000069B5 47                    5196        LD      B,A\r
+    000069B6 C5                    5197        PUSH    BC\r
+    000069B7 21 16 00              5198        LD      HL,22\r
+    000069BA ED 5B BF 86           5199        LD      DE,(global)\r
+    000069BE 19                    5200        ADD     HL,DE\r
+    000069BF 5E                    5201        LD      E,(HL)\r
+    000069C0 23                    5202        INC     HL\r
+    000069C1 56                    5203        LD      D,(HL)\r
+    000069C2 21 16 00              5204        LD      HL,22\r
+    000069C5 ED 4B BF 86           5205        LD      BC,(global)\r
+    000069C9 09                    5206        ADD     HL,BC\r
+    000069CA 46                    5207        LD      B,(HL)\r
+    000069CB 23                    5208        INC     HL\r
+    000069CC 66                    5209        LD      H,(HL)\r
+    000069CD 68                    5210        LD      L,B\r
+    000069CE 01 17 00              5211        LD      BC,23\r
+    000069D1 09                    5212        ADD     HL,BC\r
+    000069D2 4E                    5213        LD      C,(HL)\r
+    000069D3 23                    5214        INC     HL\r
+    000069D4 46                    5215        LD      B,(HL)\r
+    000069D5 23                    5216        INC     HL\r
+    000069D6 7E                    5217        LD      A,(HL)\r
+    000069D7 69                    5218        LD      L,C\r
+    000069D8 60                    5219        LD      H,B\r
+    000069D9 01 02 00              5220        LD      BC,2\r
+    000069DC                       5221 ?0381:\r
+    000069DC CD 5E 81              5222        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    000069DF E1                    5223        POP     HL\r
+    000069E0                       5224 ?0325:\r
+    000069E0 21 01 00              5225        LD      HL,1\r
+    000069E3 39                    5226        ADD     HL,SP\r
+    000069E4 E5                    5227        PUSH    HL\r
+    000069E5 2B                    5228        DEC     HL\r
+    000069E6 46                    5229        LD      B,(HL)\r
+    000069E7 E1                    5230        POP     HL\r
+    000069E8 70                    5231        LD      (HL),B\r
+    000069E9                       5232 ?0322:\r
+    000069E9 21 01 00              5233        LD      HL,1\r
+    000069EC E5                    5234        PUSH    HL\r
+    000069ED 23                    5235        INC     HL\r
+    000069EE 39                    5236        ADD     HL,SP\r
+    000069EF 4D                    5237        LD      C,L\r
+    000069F0 44                    5238        LD      B,H\r
+    000069F1 21 10 00              5239        LD      HL,16\r
+    000069F4 ED 5B BF 86           5240        LD      DE,(global)\r
+    000069F8 19                    5241        ADD     HL,DE\r
+    000069F9 5E                    5242        LD      E,(HL)\r
+    000069FA 23                    5243        INC     HL\r
+    000069FB 56                    5244        LD      D,(HL)\r
+    000069FC 3E 00                 5245        LD      A,BYTE3 _read\r
+    000069FE 21 8D 7C              5246        LD      HL,LWRD _read\r
+    00006A01 CD 5E 81              5247        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006A04 F1                    5248        POP     AF\r
+    00006A05 3E 01                 5249        LD      A,1\r
+    00006A07 AD                    5250        XOR     L\r
+    00006A08 B4                    5251        OR      H\r
+    00006A09 20 65                 5252        JR      NZ,?0330\r
+    00006A0B                       5253 ?0326:\r
+    00006A0B 6F                    5254        LD      L,A\r
+    00006A0C 67                    5255        LD      H,A\r
+    00006A0D 39                    5256        ADD     HL,SP\r
+    00006A0E 3E 10                 5257        LD      A,16\r
+    00006A10 BE                    5258        CP      (HL)\r
+    00006A11 21 0E 00              5259        LD      HL,14\r
+    00006A14 ED 4B BF 86           5260        LD      BC,(global)\r
+    00006A18 30 15                 5261        JR      NC,?0329\r
+    00006A1A                       5262 ?0328:\r
+    00006A1A 09                    5263        ADD     HL,BC\r
+    00006A1B 46                    5264        LD      B,(HL)\r
+    00006A1C 23                    5265        INC     HL\r
+    00006A1D 66                    5266        LD      H,(HL)\r
+    00006A1E 68                    5267        LD      L,B\r
+    00006A1F DD E5                 5268        PUSH    IX\r
+    00006A21 C1                    5269        POP     BC\r
+    00006A22 09                    5270        ADD     HL,BC\r
+    00006A23 E5                    5271        PUSH    HL\r
+    00006A24 21 02 00              5272        LD      HL,2\r
+    00006A27 39                    5273        ADD     HL,SP\r
+    00006A28 46                    5274        LD      B,(HL)\r
+    00006A29 E1                    5275        POP     HL\r
+    00006A2A 70                    5276        LD      (HL),B\r
+    00006A2B DD 23                 5277        INC     IX\r
+    00006A2D 18 41                 5278        JR      ?0330\r
+    00006A2F                       5279 ?0329:\r
+    00006A2F 09                    5280        ADD     HL,BC\r
+    00006A30 56                    5281        LD      D,(HL)\r
+    00006A31 23                    5282        INC     HL\r
+    00006A32 66                    5283        LD      H,(HL)\r
+    00006A33 6A                    5284        LD      L,D\r
+    00006A34 DD E5                 5285        PUSH    IX\r
+    00006A36 D1                    5286        POP     DE\r
+    00006A37 19                    5287        ADD     HL,DE\r
+    00006A38 36 00                 5288        LD      (HL),0\r
+    00006A3A 21 0E 00              5289        LD      HL,14\r
+    00006A3D ED 4B BF 86           5290        LD      BC,(global)\r
+    00006A41 09                    5291        ADD     HL,BC\r
+    00006A42 E5                    5292        PUSH    HL\r
+    00006A43 21 16 00              5293        LD      HL,22\r
+    00006A46 ED 5B BF 86           5294        LD      DE,(global)\r
+    00006A4A 19                    5295        ADD     HL,DE\r
+    00006A4B 5E                    5296        LD      E,(HL)\r
+    00006A4C 23                    5297        INC     HL\r
+    00006A4D 56                    5298        LD      D,(HL)\r
+    00006A4E 21 16 00              5299        LD      HL,22\r
+    00006A51 ED 4B BF 86           5300        LD      BC,(global)\r
+    00006A55 09                    5301        ADD     HL,BC\r
+    00006A56 46                    5302        LD      B,(HL)\r
+    00006A57 23                    5303        INC     HL\r
+    00006A58 66                    5304        LD      H,(HL)\r
+    00006A59 68                    5305        LD      L,B\r
+    00006A5A 01 17 00              5306        LD      BC,23\r
+    00006A5D 09                    5307        ADD     HL,BC\r
+    00006A5E 4E                    5308        LD      C,(HL)\r
+    00006A5F 23                    5309        INC     HL\r
+    00006A60 46                    5310        LD      B,(HL)\r
+    00006A61 23                    5311        INC     HL\r
+    00006A62 7E                    5312        LD      A,(HL)\r
+    00006A63 69                    5313        LD      L,C\r
+    00006A64 60                    5314        LD      H,B\r
+    00006A65 01 01 04              5315        LD      BC,1025\r
+    00006A68 CD 5E 81              5316        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+    00006A6B E1                    5317        POP     HL\r
+    00006A6C DD 21 00 00           5318        LD      IX,0\r
+    00006A70                       5319 ?0330:\r
+    00006A70                       5320 ?0327:\r
+    00006A70 C3 52 69              5321        JP      LWRD ?0319\r
+    00006A73                       5322 ?0318:\r
+    00006A73 21 0A 00              5323        LD      HL,10\r
+    00006A76 39                    5324        ADD     HL,SP\r
+    00006A77 F9                    5325        LD      SP,HL\r
+    00006A78 DD E1                 5326        POP     IX\r
+    00006A7A C1                    5327        POP     BC\r
+    00006A7B C3 25 81              5328        JP      LWRD ?BANK_FAST_LEAVE_L08\r
+                                   5329        RSEG    CSTR\r
+    00008499                       5330 ?0001:\r
+    00008499 2F 64 65 76 2F 6C 63  5331        DEFB    '/dev/lcd0'\r
              64 30\r
-    000084BE 00                    4995        DEFB    0\r
-    000084BF                       4996 ?0221:\r
-    000084BF 4F 4B                 4997        DEFB    'OK'\r
-    000084C1 00                    4998        DEFB    0\r
-    000084C2                       4999 ?0222:\r
-    000084C2 43 61 6E 63 65 6C     5000        DEFB    'Cancel'\r
-    000084C8 00                    5001        DEFB    0\r
-    000084C9                       5002 ?0249:\r
-    000084C9 00                    5003        DEFB    0\r
-    000084CA                       5004 ?0299:\r
-    000084CA 4D 65 73 73 61 67 65  5005        DEFB    'Message Box'\r
+    000084A2 00                    5332        DEFB    0\r
+    000084A3                       5333 ?0002:\r
+    000084A3 2F 64 65 76 2F 6C 63  5334        DEFB    '/dev/lcd1'\r
+             64 31\r
+    000084AC 00                    5335        DEFB    0\r
+    000084AD                       5336 ?0003:\r
+    000084AD 48 59 54 45 43 48 20  5337        DEFB    'HYTECH 1000'\r
+             31 30 30 30\r
+    000084B8 00                    5338        DEFB    0\r
+    000084B9                       5339 ?0223:\r
+    000084B9 4F 4B                 5340        DEFB    'OK'\r
+    000084BB 00                    5341        DEFB    0\r
+    000084BC                       5342 ?0224:\r
+    000084BC 43 61 6E 63 65 6C     5343        DEFB    'Cancel'\r
+    000084C2 00                    5344        DEFB    0\r
+    000084C3                       5345 ?0251:\r
+    000084C3 00                    5346        DEFB    0\r
+    000084C4                       5347 ?0300:\r
+    000084C4 4D 65 73 73 61 67 65  5348        DEFB    'Message Box'\r
              20 42 6F 78\r
-    000084D5 00                    5006        DEFB    0\r
-    000084D6                       5007 ?0317:\r
-    000084D6 30 78 25 30 32 78     5008        DEFB    '0x%02x'\r
-    000084DC 0A 00                 5009        DEFB    10,0\r
-                                   5010        RSEG    CONST\r
-    00008481                       5011 ?0000:\r
-    00008481 1B                    5012        DEFB    27\r
-    00008482 4B                    5013        DEFB    'K'\r
-    00008483                       5014 ?0002:\r
-    00008483 1B                    5015        DEFB    27\r
-    00008484 53                    5016        DEFB    'S'\r
-    00008485 00                    5017        DEFB    0\r
-    00008486 00                    5018        DEFB    0\r
-    00008487                       5019 ?0003:\r
-    00008487 1B                    5020        DEFB    27\r
-    00008488 43                    5021        DEFB    'C'\r
-    00008489 00                    5022        DEFB    0\r
-    0000848A 00                    5023        DEFB    0\r
-    0000848B                       5024 ?0004:\r
-    0000848B 1B                    5025        DEFB    27\r
-    0000848C 4E                    5026        DEFB    'N'\r
-    0000848D 00                    5027        DEFB    0\r
-    0000848E 00                    5028        DEFB    0\r
-    0000848F                       5029 ?0005:\r
-    0000848F 1B                    5030        DEFB    27\r
-    00008490 52                    5031        DEFB    'R'\r
-    00008491 00                    5032        DEFB    0\r
-    00008492 00                    5033        DEFB    0\r
-    00008493                       5034 ?0006:\r
-    00008493 1B                    5035        DEFB    27\r
-    00008494 46                    5036        DEFB    'F'\r
-    00008495 00                    5037        DEFB    0\r
-    00008496 00                    5038        DEFB    0\r
-    00008497                       5039 ?0007:\r
-    00008497 1B                    5040        DEFB    27\r
-    00008498 68                    5041        DEFB    'h'\r
-    00008499 00                    5042        DEFB    0\r
-    0000849A 00                    5043        DEFB    0\r
-    0000849B                       5044 ?0008:\r
-    0000849B 1B                    5045        DEFB    27\r
-    0000849C 5A                    5046        DEFB    'Z'\r
-    0000849D 00                    5047        DEFB    0\r
-    0000849E 00                    5048        DEFB    0\r
-    0000849F 00                    5049        DEFB    0\r
-    000084A0 00                    5050        DEFB    0\r
-    000084A1 00                    5051        DEFB    0\r
-    000084A2                       5052 ?0009:\r
-    000084A2 1B                    5053        DEFB    27\r
-    000084A3 45                    5054        DEFB    'E'\r
-    000084A4 00                    5055        DEFB    0\r
-    000084A5                       5056 ?0010:\r
-    000084A5 1B                    5057        DEFB    27\r
-    000084A6 00                    5058        DEFB    0\r
-    000084A7                       5059 ?0286:\r
-    000084A7 2F                    5060        DEFB    '/'\r
-    000084A8 77                    5061        DEFB    'w'\r
-    000084A9 6E                    5062        DEFB    'n'\r
-    000084AA 64                    5063        DEFB    'd'\r
-    000084AB 2F                    5064        DEFB    '/'\r
-    000084AC 30                    5065        DEFB    '0'\r
-    000084AD 30                    5066        DEFB    '0'\r
-    000084AE 30                    5067        DEFB    '0'\r
-    000084AF 30                    5068        DEFB    '0'\r
-    000084B0 2E                    5069        DEFB    '.'\r
-    000084B1 73                    5070        DEFB    's'\r
-    000084B2 63                    5071        DEFB    'c'\r
-    000084B3 72                    5072        DEFB    'r'\r
-    000084B4 00                    5073        DEFB    0\r
-                                   5074        RSEG    UDATA0\r
-    000086C0                       5075 global:\r
-    000086C0                       5076        DEFS    2\r
-    00000002                       5077        END\r
+    000084CF 00                    5349        DEFB    0\r
+    000084D0                       5350 ?0317:\r
+    000084D0 2F 64 65 76 2F 62 61  5351        DEFB    '/dev/barcode'\r
+             72 63 6F 64 65\r
+    000084DC 00                    5352        DEFB    0\r
+                                   5353        RSEG    CONST\r
+    00008473                       5354 ?0000:\r
+    00008473 1B                    5355        DEFB    27\r
+    00008474 4B                    5356        DEFB    'K'\r
+    00008475                       5357 ?0004:\r
+    00008475 1B                    5358        DEFB    27\r
+    00008476 53                    5359        DEFB    'S'\r
+    00008477 00                    5360        DEFB    0\r
+    00008478 00                    5361        DEFB    0\r
+    00008479                       5362 ?0005:\r
+    00008479 1B                    5363        DEFB    27\r
+    0000847A 43                    5364        DEFB    'C'\r
+    0000847B 00                    5365        DEFB    0\r
+    0000847C 00                    5366        DEFB    0\r
+    0000847D                       5367 ?0006:\r
+    0000847D 1B                    5368        DEFB    27\r
+    0000847E 4E                    5369        DEFB    'N'\r
+    0000847F 00                    5370        DEFB    0\r
+    00008480 00                    5371        DEFB    0\r
+    00008481                       5372 ?0007:\r
+    00008481 1B                    5373        DEFB    27\r
+    00008482 52                    5374        DEFB    'R'\r
+    00008483 00                    5375        DEFB    0\r
+    00008484 00                    5376        DEFB    0\r
+    00008485                       5377 ?0008:\r
+    00008485 1B                    5378        DEFB    27\r
+    00008486 46                    5379        DEFB    'F'\r
+    00008487 00                    5380        DEFB    0\r
+    00008488 00                    5381        DEFB    0\r
+    00008489                       5382 ?0009:\r
+    00008489 1B                    5383        DEFB    27\r
+    0000848A 68                    5384        DEFB    'h'\r
+    0000848B 00                    5385        DEFB    0\r
+    0000848C 00                    5386        DEFB    0\r
+    0000848D                       5387 ?0010:\r
+    0000848D 1B                    5388        DEFB    27\r
+    0000848E 5A                    5389        DEFB    'Z'\r
+    0000848F 00                    5390        DEFB    0\r
+    00008490 00                    5391        DEFB    0\r
+    00008491 00                    5392        DEFB    0\r
+    00008492 00                    5393        DEFB    0\r
+    00008493 00                    5394        DEFB    0\r
+    00008494                       5395 ?0011:\r
+    00008494 1B                    5396        DEFB    27\r
+    00008495 45                    5397        DEFB    'E'\r
+    00008496 00                    5398        DEFB    0\r
+    00008497                       5399 ?0012:\r
+    00008497 1B                    5400        DEFB    27\r
+    00008498 00                    5401        DEFB    0\r
+                                   5402        RSEG    UDATA0\r
+    000086BF                       5403 global:\r
+    000086BF                       5404        DEFS    2\r
+    00000002                       5405        END\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 1.\r
 Hexadecimal [32-Bits]\r
 \r
 Symbol Table\r
 \r
     .__.ABS.       =    00000000 G   |   3 ?0000               00000000 R\r
-  2 ?0001               00000000 R   |   3 ?0002               00000002 R\r
-  3 ?0003               00000006 R   |   3 ?0004               0000000A R\r
-  3 ?0005               0000000E R   |   3 ?0006               00000012 R\r
-  3 ?0007               00000016 R   |   3 ?0008               0000001A R\r
-  3 ?0009               00000021 R   |   3 ?0010               00000024 R\r
-  1 ?0011               000003A1 R   |   1 ?0012               00000387 R\r
-  1 ?0013               0000039B R   |   1 ?0014               0000039B R\r
-  1 ?0015               0000039B R   |   1 ?0016               000003B2 R\r
-  1 ?0017               000003DB R   |   1 ?0018               000004A1 R\r
-  1 ?0019               000004B1 R   |   1 ?0020               000004C9 R\r
-  1 ?0021               000004C3 R   |   1 ?0022               000004B6 R\r
-  1 ?0023               000004C3 R   |   1 ?0024               00000547 R\r
-  1 ?0025               000004E8 R   |   1 ?0026               000004F7 R\r
-  1 ?0027               0000053A R   |   1 ?0028               00000521 R\r
-  1 ?0029               00000526 R   |   1 ?0030               0000052B R\r
-  1 ?0031               00000530 R   |   1 ?0032               00000535 R\r
-  1 ?0033               0000055B R   |   1 ?0034               00000561 R\r
-  1 ?0035               0000056A R   |   1 ?0036               0000056D R\r
-  1 ?0037               0000056A R   |   1 ?0038               0000056A R\r
-  1 ?0039               0000056D R   |   1 ?0040               00000698 R\r
-  1 ?0041               0000066C R   |   1 ?0042               00000683 R\r
-  1 ?0043               00000683 R   |   1 ?0044               00000683 R\r
-  1 ?0045               000006C9 R   |   1 ?0046               000006D2 R\r
-  1 ?0047               000006F2 R   |   1 ?0048               000006E5 R\r
-  1 ?0049               000006D2 R   |   1 ?0050               000006DA R\r
-  1 ?0051               00000738 R   |   1 ?0052               00000717 R\r
-  1 ?0053               0000071E R   |   1 ?0054               00000789 R\r
-  1 ?0056               0000075A R   |   1 ?0057               000007C1 R\r
-  1 ?0058               000007A2 R   |   1 ?0059               000007A6 R\r
-  1 ?0060               000007B8 R   |   1 ?0061               000007BB R\r
-  1 ?0062               000007C3 R   |   1 ?0063               000007EA R\r
-  1 ?0064               00000979 R   |   1 ?0065               00000803 R\r
-  1 ?0066               000007EA R   |   1 ?0067               000007F2 R\r
-  1 ?0068               0000080C R   |   1 ?0069               00000895 R\r
-  1 ?0070               0000082C R   |   1 ?0071               00000835 R\r
-  1 ?0072               00000895 R   |   1 ?0073               0000086E R\r
-  1 ?0074               0000083F R   |   1 ?0075               00000864 R\r
-  1 ?0076               00000864 R   |   1 ?0077               00000864 R\r
-  1 ?0078               0000087D R   |   1 ?0079               00000895 R\r
-  1 ?0080               000008AC R   |   1 ?0081               00000945 R\r
-  1 ?0082               000008FA R   |   1 ?0083               000008D2 R\r
-  1 ?0084               000008EB R   |   1 ?0085               000008EB R\r
-  1 ?0086               000008EB R   |   1 ?0087               00000902 R\r
-  1 ?0088               00000945 R   |   1 ?0089               00000953 R\r
-  1 ?0090               0000095C R   |   1 ?0091               0000096A R\r
-  1 ?0092               00000973 R   |   1 ?0093               0000096A R\r
-  1 ?0094               0000096A R   |   1 ?0095               000009B3 R\r
-  1 ?0096               000009A7 R   |   1 ?0097               000009AB R\r
-  1 ?0098               00000A0F R   |   1 ?0099               000009CE R\r
-  1 ?0100               000009D2 R   |   1 ?0101               00000A53 R\r
-  1 ?0102               00000A73 R   |   1 ?0103               00000A53 R\r
-  1 ?0104               00000A53 R   |   1 ?0105               00000A92 R\r
-  1 ?0106               00000AB2 R   |   1 ?0107               00000A92 R\r
-  1 ?0108               00000A92 R   |   1 ?0109               00000ACF R\r
-  1 ?0110               00000AB2 R   |   1 ?0111               00000AB9 R\r
-  1 ?0112               00000D6B R   |   1 ?0113               00000B0F R\r
-  1 ?0114               00000B3D R   |   1 ?0115               00000B20 R\r
-  1 ?0116               00000B24 R   |   1 ?0117               00000B2A R\r
-  1 ?0118               00000B35 R   |   1 ?0119               00000B40 R\r
-  1 ?0120               00000BA2 R   |   1 ?0121               00000B51 R\r
-  1 ?0122               00000B55 R   |   1 ?0123               00000B5B R\r
-  1 ?0124               00000B93 R   |   1 ?0125               00000B8F R\r
-  1 ?0126               00000B93 R   |   1 ?0127               00000B8F R\r
-  1 ?0128               00000B8F R   |   1 ?0129               00000B9A R\r
-  1 ?0130               00000BA2 R   |   1 ?0131               00000BA5 R\r
-  1 ?0132               00000BBC R   |   1 ?0133               00000BDD R\r
-  1 ?0134               00000BD1 R   |   1 ?0135               00000BDD R\r
-  1 ?0136               00000BD1 R   |   1 ?0137               00000BD1 R\r
-  1 ?0138               00000BDD R   |   1 ?0139               00000BDD R\r
-  1 ?0140               00000BDD R   |   1 ?0141               00000BDD R\r
-  1 ?0142               00000BE0 R   |   1 ?0143               00000BF1 R\r
-  1 ?0144               00000C6C R   |   1 ?0145               00000C98 R\r
-  1 ?0146               00000CD6 R   |   1 ?0147               00000CA9 R\r
-  1 ?0148               00000CAD R   |   1 ?0149               00000CC0 R\r
-  1 ?0150               00000CCE R   |   1 ?0151               00000CC0 R\r
-  1 ?0152               00000CC0 R   |   1 ?0153               00000CD9 R\r
-  1 ?0154               00000CE8 R   |   1 ?0155               00000CF6 R\r
-  1 ?0156               00000D6B R   |   1 ?0157               00000CFF R\r
-  1 ?0158               00000D27 R   |   1 ?0159               00000D6B R\r
-  1 ?0160               00000DD7 R   |   1 ?0161               00000DE0 R\r
-  1 ?0162               00000DE7 R   |   1 ?0163               00000EDC R\r
-  1 ?0164               00000FFA R   |   1 ?0165               00001023 R\r
-  1 ?0166               00000FFA R   |   1 ?0167               00000FFA R\r
-  1 ?0168               00001019 R   |   1 ?0169               00001023 R\r
-  1 ?0170               00001031 R   |   1 ?0171               0000103C R\r
-  1 ?0172               000010A7 R   |   1 ?0173               000010FA R\r
-  1 ?0174               00001122 R   |   1 ?0175               0000116A R\r
-  1 ?0176               0000116D R   |   1 ?0177               00001174 R\r
-  1 ?0178               00001206 R   |   1 ?0180               000011AE R\r
-  1 ?0181               000011B1 R   |   1 ?0182               000011C7 R\r
-  1 ?0183               000011DA R   |   1 ?0184               000011C7 R\r
-  1 ?0185               000011C7 R   |   1 ?0186               000011EE R\r
-  1 ?0187               000012BE R   |   1 ?0188               00001305 R\r
-  1 ?0189               000012BE R   |   1 ?0190               000012BE R\r
-  1 ?0191               000012FB R   |   1 ?0192               00001305 R\r
-  1 ?0193               00001313 R   |   1 ?0194               0000131E R\r
-  1 ?0195               00001357 R   |   1 ?0196               0000135A R\r
-  1 ?0197               00001361 R   |   1 ?0198               0000140C R\r
-  1 ?0199               00001380 R   |   1 ?0200               000013B0 R\r
-  1 ?0201               00001380 R   |   1 ?0202               00001380 R\r
-  1 ?0203               000013F4 R   |   1 ?0205               000013EB R\r
-  1 ?0206               000013EE R   |   1 ?0207               00001491 R\r
-  1 ?0208               000014C7 R   |   1 ?0209               00001491 R\r
-  1 ?0210               00001491 R   |   1 ?0211               00001498 R\r
-  1 ?0212               0000149D R   |   1 ?0213               000014A4 R\r
-  1 ?0214               000014DF R   |   1 ?0215               00001515 R\r
-  1 ?0216               000014DF R   |   1 ?0217               000014DF R\r
-  1 ?0218               000014E6 R   |   1 ?0219               000014EB R\r
-  1 ?0220               000014F2 R   |   2 ?0221               0000000A R\r
-  2 ?0222               0000000D R   |   1 ?0223               00001635 R\r
-  1 ?0224               0000166F R   |   1 ?0225               00001635 R\r
-  1 ?0226               00001635 R   |   1 ?0227               0000164A R\r
-  1 ?0228               00001657 R   |   1 ?0229               0000164F R\r
-  1 ?0230               00001655 R   |   1 ?0231               00001664 R\r
-  1 ?0232               000016BD R   |   1 ?0233               000016C0 R\r
-  1 ?0234               000016C7 R   |   1 ?0235               000017CE R\r
-  1 ?0237               0000170B R   |   1 ?0238               0000170E R\r
-  1 ?0239               00001726 R   |   1 ?0240               0000172D R\r
-  1 ?0241               00001735 R   |   1 ?0242               0000178A R\r
-  1 ?0243               000017C0 R   |   1 ?0244               000017B2 R\r
-  1 ?0245               0000178E R   |   1 ?0246               000017A7 R\r
-  1 ?0248               000017CE R   |   2 ?0249               00000014 R\r
-  1 ?0250               0000186A R   |   1 ?0251               0000186D R\r
-  1 ?0252               00001873 R   |   1 ?0253               00001894 R\r
-  1 ?0254               00001C8C R   |   1 ?0256               0000193E R\r
-  1 ?0257               00001949 R   |   1 ?0258               00001961 R\r
-  1 ?0259               0000196F R   |   1 ?0260               000019BE R\r
-  1 ?0261               0000196F R   |   1 ?0262               0000196F R\r
-  1 ?0263               000019B6 R   |   1 ?0264               000019BA R\r
-  1 ?0265               000019C5 R   |   1 ?0266               00001A09 R\r
-  1 ?0267               00001A10 R   |   1 ?0268               00001A54 R\r
-  1 ?0269               00001A5B R   |   1 ?0270               00001AA2 R\r
-  1 ?0271               00001AA9 R   |   1 ?0272               00001AFA R\r
-  1 ?0273               00001B01 R   |   1 ?0274               00001B72 R\r
-  1 ?0275               00001B79 R   |   1 ?0276               00001C72 R\r
-  1 ?0277               00001B81 R   |   1 ?0278               00001BEA R\r
-  1 ?0279               00001BF2 R   |   1 ?0280               00001BFE R\r
-  1 ?0281               00001C20 R   |   1 ?0282               00001C36 R\r
-  1 ?0283               00001C3A R   |   1 ?0284               00001C49 R\r
-  1 ?0285               00001C59 R   |   3 ?0286               00000026 R\r
-  1 ?0287               00001D11 R   |   1 ?0288               00001D19 R\r
-  1 ?0289               00001D2F R   |   1 ?0290               00001E49 R\r
-  1 ?0291               00001D8C R   |   1 ?0292               00001D98 R\r
-  1 ?0293               00001E5A R   |   1 ?0294               00001FE7 R\r
-  1 ?0295               00001F7B R   |   1 ?0296               00001EB9 R\r
-  1 ?0297               00001EE2 R   |   2 ?0299               00000015 R\r
-  1 ?0300               00001FF6 R   |   1 ?0301               00002003 R\r
-  1 ?0302               000020A0 R   |   1 ?0303               0000205E R\r
-  1 ?0304               00002070 R   |   1 ?0305               00002070 R\r
-  1 ?0306               00002070 R   |   1 ?0307               00002096 R\r
-  1 ?0308               0000208B R   |   1 ?0309               00002093 R\r
-  1 ?0310               000020A5 R   |   1 ?0311               000020B8 R\r
-  1 ?0312               000022FB R   |   1 ?0313               0000225B R\r
-  1 ?0314               00002269 R   |   1 ?0315               00002283 R\r
-  1 ?0316               000022F8 R   |   2 ?0317               00000021 R\r
-  1 ?0318               0000229C R   |   1 ?0319               000022C5 R\r
-  1 ?0320               000022F2 R   |   1 ?0321               00000382 R\r
-  1 ?0331               00000538 R   |   1 ?0335               000006EB R\r
-  1 ?0336               0000079D R   |   1 ?0338               00000839 R\r
-  1 ?0339               00000885 R   |   1 ?0341               000009A4 R\r
-  1 ?0342               000009C7 R   |   1 ?0344               00000B1D R\r
-  1 ?0345               00000CA6 R   |   1 ?0346               00000D67 R\r
-  1 ?0347               00000C95 R   |   1 ?0348               00000B4E R\r
-  1 ?0350               0000111A R   |   1 ?0353               000011EB R\r
-  1 ?0357               000013E4 R   |   1 ?0358               000014A0 R\r
-  1 ?0359               000014EE R   |   1 ?0364               00001732 R\r
-  1 ?0365               000017C6 R   |   1 ?0367               00001EDC R\r
-  1 ?0368               00001EDD R   |   1 ?0369               00001F78 R\r
-  1 ?0370               000022EE R   |   1 ?0372               00000077 R\r
-  1 ?0381               000000CB R   |   1 ?0389               00000110 R\r
-  1 ?0396               00000157 R   |   1 ?0402               000001A0 R\r
-  1 ?0407               000001EA R   |   1 ?0411               0000025E R\r
-  1 ?0415               00000576 R   |   1 ?0416               00000592 R\r
-  1 ?0418               00000651 R   |   1 ?0424               0000111F R\r
-  1 ?0427               00000079 R   |   1 ?0428               0000007D R\r
-  1 ?0429               0000007F R   |   1 ?0430               00000081 R\r
-  1 ?0431               00000084 R   |   1 ?0432               000000D3 R\r
-  1 ?0433               000000D5 R   |   1 ?0434               000000D8 R\r
-  1 ?0435               0000011B R   |   1 ?0438               00000FB5 R\r
-  1 ?0439               000015CC R   |   1 ?0440               000015E0 R\r
-  1 ?0441               00001CBE R   |   1 ?0442               000003E7 R\r
-  1 ?0443               000003DE R   |   1 ?0444               00000413 R\r
-  1 ?0445               00001674 R   |   1 ?0446               0000167F R\r
-  1 ?0447               000004CE R   |   1 ?0448               00000422 R\r
-  1 ?0449               0000042D R   |   1 ?0450               00000428 R\r
-  1 ?0451               00000984 R   |   1 ?0452               00000987 R\r
-  1 ?0453               0000098F R   |   1 ?0454               00001CC6 R\r
-  1 ?0455               00000EE1 R   |   1 ?0456               000015E8 R\r
-  1 ?0457               0000120E R   |   1 ?0458               00001212 R\r
-  1 ?0459               00000EEF R   |   1 ?0460               00000F0C R\r
-  1 ?0461               000002D7 R   |   1 ?0462               00000D70 R\r
-  1 ?0463               00000D76 R   |   1 ?0464               00001050 R\r
-  1 ?0465               00001041 R   |   1 ?0466               00000D8C R\r
-  1 ?0467               00000D85 R   |   1 ?0468               00000D87 R\r
-  1 ?0469               0000105E R   |   1 ?0470               000002EF R\r
-  1 ?0471               000002F2 R   |   1 ?0472               00000F24 R\r
-  1 ?0473               00000F1E R   |   1 ?0474               00000D95 R\r
-  1 ?0475               00000D94 R   |   1 ?0476               00002008 R\r
-  1 ?0477               00000740 R   |   1 ?0478               00000742 R\r
-  1 ?0479               000020DC R   |   1 ?0480               00001127 R\r
-  1 ?0481               00001128 R   |   1 ?0482               00001CCE R\r
-  1 ?0483               00001CD7 R   |   1 ?0484               00002210 R\r
+  2 ?0001               00000000 R   |   2 ?0002               0000000A R\r
+  2 ?0003               00000014 R   |   3 ?0004               00000002 R\r
+  3 ?0005               00000006 R   |   3 ?0006               0000000A R\r
+  3 ?0007               0000000E R   |   3 ?0008               00000012 R\r
+  3 ?0009               00000016 R   |   3 ?0010               0000001A R\r
+  3 ?0011               00000021 R   |   3 ?0012               00000024 R\r
+  1 ?0013               0000043C R   |   1 ?0014               00000422 R\r
+  1 ?0015               00000436 R   |   1 ?0016               00000436 R\r
+  1 ?0017               00000436 R   |   1 ?0018               0000044D R\r
+  1 ?0019               00000476 R   |   1 ?0020               00000530 R\r
+  1 ?0021               00000540 R   |   1 ?0022               00000558 R\r
+  1 ?0023               00000552 R   |   1 ?0024               00000545 R\r
+  1 ?0025               00000552 R   |   1 ?0026               000005D6 R\r
+  1 ?0027               00000577 R   |   1 ?0028               00000586 R\r
+  1 ?0029               000005C9 R   |   1 ?0030               000005B0 R\r
+  1 ?0031               000005B5 R   |   1 ?0032               000005BA R\r
+  1 ?0033               000005BF R   |   1 ?0034               000005C4 R\r
+  1 ?0035               000005EA R   |   1 ?0036               000005F0 R\r
+  1 ?0037               000005F9 R   |   1 ?0038               000005FC R\r
+  1 ?0039               000005F9 R   |   1 ?0040               000005F9 R\r
+  1 ?0041               000005FC R   |   1 ?0042               00000727 R\r
+  1 ?0043               000006FB R   |   1 ?0044               00000712 R\r
+  1 ?0045               00000712 R   |   1 ?0046               00000712 R\r
+  1 ?0047               00000758 R   |   1 ?0048               00000761 R\r
+  1 ?0049               00000781 R   |   1 ?0050               00000774 R\r
+  1 ?0051               00000761 R   |   1 ?0052               00000769 R\r
+  1 ?0053               000007C7 R   |   1 ?0054               000007A6 R\r
+  1 ?0055               000007AD R   |   1 ?0056               00000818 R\r
+  1 ?0058               000007E9 R   |   1 ?0059               00000850 R\r
+  1 ?0060               00000831 R   |   1 ?0061               00000835 R\r
+  1 ?0062               00000847 R   |   1 ?0063               0000084A R\r
+  1 ?0064               00000852 R   |   1 ?0065               00000879 R\r
+  1 ?0066               00000A08 R   |   1 ?0067               00000892 R\r
+  1 ?0068               00000879 R   |   1 ?0069               00000881 R\r
+  1 ?0070               0000089B R   |   1 ?0071               00000924 R\r
+  1 ?0072               000008BB R   |   1 ?0073               000008C4 R\r
+  1 ?0074               00000924 R   |   1 ?0075               000008FD R\r
+  1 ?0076               000008CE R   |   1 ?0077               000008F3 R\r
+  1 ?0078               000008F3 R   |   1 ?0079               000008F3 R\r
+  1 ?0080               0000090C R   |   1 ?0081               00000924 R\r
+  1 ?0082               0000093B R   |   1 ?0083               000009D4 R\r
+  1 ?0084               00000989 R   |   1 ?0085               00000961 R\r
+  1 ?0086               0000097A R   |   1 ?0087               0000097A R\r
+  1 ?0088               0000097A R   |   1 ?0089               00000991 R\r
+  1 ?0090               000009D4 R   |   1 ?0091               000009E2 R\r
+  1 ?0092               000009EB R   |   1 ?0093               000009F9 R\r
+  1 ?0094               00000A02 R   |   1 ?0095               000009F9 R\r
+  1 ?0096               000009F9 R   |   1 ?0097               00000A42 R\r
+  1 ?0098               00000A36 R   |   1 ?0099               00000A3A R\r
+  1 ?0100               00000A9E R   |   1 ?0101               00000A5D R\r
+  1 ?0102               00000A61 R   |   1 ?0103               00000AE2 R\r
+  1 ?0104               00000B02 R   |   1 ?0105               00000AE2 R\r
+  1 ?0106               00000AE2 R   |   1 ?0107               00000B21 R\r
+  1 ?0108               00000B41 R   |   1 ?0109               00000B21 R\r
+  1 ?0110               00000B21 R   |   1 ?0111               00000B5E R\r
+  1 ?0112               00000B41 R   |   1 ?0113               00000B48 R\r
+  1 ?0114               00000DFA R   |   1 ?0115               00000B9E R\r
+  1 ?0116               00000BCC R   |   1 ?0117               00000BAF R\r
+  1 ?0118               00000BB3 R   |   1 ?0119               00000BB9 R\r
+  1 ?0120               00000BC4 R   |   1 ?0121               00000BCF R\r
+  1 ?0122               00000C31 R   |   1 ?0123               00000BE0 R\r
+  1 ?0124               00000BE4 R   |   1 ?0125               00000BEA R\r
+  1 ?0126               00000C22 R   |   1 ?0127               00000C1E R\r
+  1 ?0128               00000C22 R   |   1 ?0129               00000C1E R\r
+  1 ?0130               00000C1E R   |   1 ?0131               00000C29 R\r
+  1 ?0132               00000C31 R   |   1 ?0133               00000C34 R\r
+  1 ?0134               00000C4B R   |   1 ?0135               00000C6C R\r
+  1 ?0136               00000C60 R   |   1 ?0137               00000C6C R\r
+  1 ?0138               00000C60 R   |   1 ?0139               00000C60 R\r
+  1 ?0140               00000C6C R   |   1 ?0141               00000C6C R\r
+  1 ?0142               00000C6C R   |   1 ?0143               00000C6C R\r
+  1 ?0144               00000C6F R   |   1 ?0145               00000C80 R\r
+  1 ?0146               00000CFB R   |   1 ?0147               00000D27 R\r
+  1 ?0148               00000D65 R   |   1 ?0149               00000D38 R\r
+  1 ?0150               00000D3C R   |   1 ?0151               00000D4F R\r
+  1 ?0152               00000D5D R   |   1 ?0153               00000D4F R\r
+  1 ?0154               00000D4F R   |   1 ?0155               00000D68 R\r
+  1 ?0156               00000D77 R   |   1 ?0157               00000D85 R\r
+  1 ?0158               00000DFA R   |   1 ?0159               00000D8E R\r
+  1 ?0160               00000DB6 R   |   1 ?0161               00000DFA R\r
+  1 ?0162               00000E62 R   |   1 ?0163               00000E65 R\r
+  1 ?0164               00000E6C R   |   1 ?0165               00000F5F R\r
+  1 ?0166               00001097 R   |   1 ?0167               000010C0 R\r
+  1 ?0168               00001097 R   |   1 ?0169               00001097 R\r
+  1 ?0170               000010B6 R   |   1 ?0171               000010C0 R\r
+  1 ?0172               000010CE R   |   1 ?0173               000010D9 R\r
+  1 ?0174               00001127 R   |   1 ?0175               0000117A R\r
+  1 ?0176               0000119C R   |   1 ?0177               000011EE R\r
+  1 ?0178               000011F1 R   |   1 ?0179               000011F8 R\r
+  1 ?0180               0000128A R   |   1 ?0182               00001232 R\r
+  1 ?0183               00001235 R   |   1 ?0184               0000124B R\r
+  1 ?0185               0000125E R   |   1 ?0186               0000124B R\r
+  1 ?0187               0000124B R   |   1 ?0188               00001272 R\r
+  1 ?0189               00001327 R   |   1 ?0190               0000136E R\r
+  1 ?0191               00001327 R   |   1 ?0192               00001327 R\r
+  1 ?0193               00001364 R   |   1 ?0194               0000136E R\r
+  1 ?0195               0000137C R   |   1 ?0196               00001387 R\r
+  1 ?0197               000013C0 R   |   1 ?0198               000013C3 R\r
+  1 ?0199               000013CA R   |   1 ?0200               00001475 R\r
+  1 ?0201               000013E9 R   |   1 ?0202               00001419 R\r
+  1 ?0203               000013E9 R   |   1 ?0204               000013E9 R\r
+  1 ?0205               0000145D R   |   1 ?0207               00001454 R\r
+  1 ?0208               00001457 R   |   1 ?0209               00001505 R\r
+  1 ?0210               0000153B R   |   1 ?0211               00001505 R\r
+  1 ?0212               00001505 R   |   1 ?0213               0000150C R\r
+  1 ?0214               00001511 R   |   1 ?0215               00001518 R\r
+  1 ?0216               00001553 R   |   1 ?0217               00001589 R\r
+  1 ?0218               00001553 R   |   1 ?0219               00001553 R\r
+  1 ?0220               0000155A R   |   1 ?0221               0000155F R\r
+  1 ?0222               00001566 R   |   2 ?0223               00000020 R\r
+  2 ?0224               00000023 R   |   1 ?0225               000016CA R\r
+  1 ?0226               00001704 R   |   1 ?0227               000016CA R\r
+  1 ?0228               000016CA R   |   1 ?0229               000016DF R\r
+  1 ?0230               000016EC R   |   1 ?0231               000016E4 R\r
+  1 ?0232               000016EA R   |   1 ?0233               000016F9 R\r
+  1 ?0234               00001752 R   |   1 ?0235               00001755 R\r
+  1 ?0236               0000175C R   |   1 ?0237               0000183B R\r
+  1 ?0239               000017A0 R   |   1 ?0240               000017A3 R\r
+  1 ?0241               000017BB R   |   1 ?0242               000017C2 R\r
+  1 ?0243               000017CA R   |   1 ?0244               000017FC R\r
+  1 ?0245               00001832 R   |   1 ?0246               00001824 R\r
+  1 ?0247               00001800 R   |   1 ?0248               00001819 R\r
+  1 ?0250               0000183B R   |   2 ?0251               0000002A R\r
+  1 ?0252               000018DC R   |   1 ?0253               000018DF R\r
+  1 ?0254               000018E5 R   |   1 ?0255               00001906 R\r
+  1 ?0256               00001D05 R   |   1 ?0258               000019B6 R\r
+  1 ?0259               000019C1 R   |   1 ?0260               000019D9 R\r
+  1 ?0261               000019E7 R   |   1 ?0262               00001A35 R\r
+  1 ?0263               000019E7 R   |   1 ?0264               000019E7 R\r
+  1 ?0265               00001A2D R   |   1 ?0266               00001A31 R\r
+  1 ?0267               00001A3C R   |   1 ?0268               00001A7F R\r
+  1 ?0269               00001A86 R   |   1 ?0270               00001AC9 R\r
+  1 ?0271               00001AD0 R   |   1 ?0272               00001B16 R\r
+  1 ?0273               00001B1D R   |   1 ?0274               00001B6E R\r
+  1 ?0275               00001B75 R   |   1 ?0276               00001BE6 R\r
+  1 ?0277               00001BED R   |   1 ?0278               00001CE6 R\r
+  1 ?0279               00001BF5 R   |   1 ?0280               00001C5E R\r
+  1 ?0281               00001C66 R   |   1 ?0282               00001C72 R\r
+  1 ?0283               00001C94 R   |   1 ?0284               00001CAA R\r
+  1 ?0285               00001CAE R   |   1 ?0286               00001CBD R\r
+  1 ?0287               00001CCD R   |   1 ?0288               00001D9E R\r
+  1 ?0289               00001DA8 R   |   1 ?0290               00001DBE R\r
+  1 ?0291               00001EA7 R   |   1 ?0292               00001E47 R\r
+  1 ?0293               00001E53 R   |   1 ?0294               00001EB8 R\r
+  1 ?0295               00002045 R   |   1 ?0296               00001FD9 R\r
+  1 ?0297               00001F17 R   |   1 ?0298               00001F40 R\r
+  2 ?0300               0000002B R   |   1 ?0301               00002055 R\r
+  1 ?0302               00002072 R   |   1 ?0303               00002082 R\r
+  1 ?0304               00002098 R   |   1 ?0305               000020A7 R\r
+  1 ?0306               000020B4 R   |   1 ?0307               00002156 R\r
+  1 ?0308               00002114 R   |   1 ?0309               00002126 R\r
+  1 ?0310               00002126 R   |   1 ?0311               00002126 R\r
+  1 ?0312               0000214C R   |   1 ?0313               00002141 R\r
+  1 ?0314               00002149 R   |   1 ?0315               0000215B R\r
+  1 ?0316               0000216E R   |   2 ?0317               00000037 R\r
+  1 ?0318               000024AB R   |   1 ?0319               0000238A R\r
+  1 ?0320               00002398 R   |   1 ?0321               000023BA R\r
+  1 ?0322               00002421 R   |   1 ?0323               000023C0 R\r
+  1 ?0324               000023EB R   |   1 ?0325               00002418 R\r
+  1 ?0326               00002443 R   |   1 ?0327               000024A8 R\r
+  1 ?0328               00002452 R   |   1 ?0329               00002467 R\r
+  1 ?0330               000024A8 R   |   1 ?0331               0000041D R\r
+  1 ?0341               000005C7 R   |   1 ?0345               0000077A R\r
+  1 ?0346               0000082C R   |   1 ?0348               000008C8 R\r
+  1 ?0349               00000914 R   |   1 ?0351               00000A33 R\r
+  1 ?0352               00000A56 R   |   1 ?0354               00000BAC R\r
+  1 ?0355               00000D35 R   |   1 ?0356               00000DF6 R\r
+  1 ?0357               00000D24 R   |   1 ?0358               00000BDD R\r
+  1 ?0360               00001194 R   |   1 ?0363               0000126F R\r
+  1 ?0367               0000144D R   |   1 ?0368               00001514 R\r
+  1 ?0369               00001562 R   |   1 ?0374               000017C7 R\r
+  1 ?0375               00001838 R   |   1 ?0377               00001F3A R\r
+  1 ?0378               00001F3B R   |   1 ?0379               00001FD6 R\r
+  1 ?0381               00002414 R   |   1 ?0382               00000170 R\r
+  1 ?0387               00000182 R   |   1 ?0390               000001B1 R\r
+  1 ?0394               000001BF R   |   1 ?0397               000001F7 R\r
+  1 ?0400               00000203 R   |   1 ?0403               0000023A R\r
+  1 ?0405               00000247 R   |   1 ?0408               00000280 R\r
+  1 ?0409               0000028D R   |   1 ?0412               000002D4 R\r
+  1 ?0415               000002F9 R   |   1 ?0419               00000605 R\r
+  1 ?0420               00000621 R   |   1 ?0422               000006E0 R\r
+  1 ?0431               00001199 R   |   1 ?0432               00000184 R\r
+  1 ?0433               00000188 R   |   1 ?0434               0000018D R\r
+  1 ?0435               0000018F R   |   1 ?0436               00000192 R\r
+  1 ?0437               000001CA R   |   1 ?0438               000001CC R\r
+  1 ?0439               000001CF R   |   1 ?0440               0000020E R\r
+  1 ?0443               0000010C R   |   1 ?0444               00000114 R\r
+  1 ?0445               00000126 R   |   1 ?0446               0000011C R\r
+  1 ?0447               0000012B R   |   1 ?0448               00000121 R\r
+  1 ?0449               00000F67 R   |   1 ?0450               00000E00 R\r
+  1 ?0451               00000DFF R   |   1 ?0452               00000131 R\r
+  1 ?0453               00000485 R   |   1 ?0454               00000479 R\r
+  1 ?0455               00001709 R   |   1 ?0456               00001714 R\r
+  1 ?0457               0000055D R   |   1 ?0458               000004B1 R\r
+  1 ?0459               000004BC R   |   1 ?0460               000004B7 R\r
+  1 ?0461               00000F7B R   |   1 ?0462               00000F87 R\r
+  1 ?0463               00000F75 R   |   1 ?0464               00000A13 R\r
+  1 ?0465               00000A16 R   |   1 ?0466               00001D32 R\r
+  1 ?0467               00000A1E R   |   1 ?0468               00000153 R\r
+  1 ?0469               00000156 R   |   1 ?0470               00000F95 R\r
+  1 ?0471               0000167D R   |   1 ?0472               00000FAB R\r
+  1 ?0473               00000FAF R   |   1 ?0474               00000372 R\r
+  1 ?0475               00000E0A R   |   1 ?0476               00000E10 R\r
+  1 ?0477               00000E26 R   |   1 ?0478               00000E1F R\r
+  1 ?0479               00000E21 R   |   1 ?0480               000010ED R\r
+  1 ?0481               000010DE R   |   1 ?0482               000010FB R\r
+  1 ?0483               0000038A R   |   1 ?0484               0000038D R\r
+  1 ?0485               000020B9 R   |   1 ?0486               000007CF R\r
+  1 ?0487               000007D1 R   |   1 ?0488               00002192 R\r
+  1 ?0489               000011A1 R   |   1 ?0490               00001D3A R\r
+  1 ?0491               00001D50 R   |   1 ?0492               00001D58 R\r
+  1 ?0493               00001D64 R   |   1 ?0494               000022C6 R\r
     ?BANK_CALL_DIR      ******** GX  |     ?BANK_FAST_LEA      ******** GX\r
     ?BANK_LEAVE_DI      ******** GX  |     ?CL64180B_4_06      ******** GX\r
     ?C_V_SWITCH_L0      ******** GX  |     ?ENT_AUTO_DIRE      ******** GX\r
-    ?ENT_PARM_DIRE      ******** GX  |     ?SL_RSH_L03         ******** GX\r
-    ?SS_CMP_L02         ******** GX  |     ?SS_DIV_L02         ******** GX\r
-    ?SS_RSH_L02         ******** GX  |     ?S_MUL_L02          ******** GX\r
-    ?S_V_SWITCH_L0      ******** GX  |   1 Button_add          0000122F GR\r
-  1 Button_drawtex      0000107A GR  |   1 Button_handler      00000FC3 GR\r
-  1 Button_new          00001235 GR  |   1 Button_paint        00001136 GR\r
-  1 ClearRect           000000E2 GR  |   1 ClearScreen         000002BD GR\r
-  1 Component_add       000006A6 GR  |   1 Component_chan      000009B6 GR\r
-  1 Component_dele      000007C6 GR  |   1 Component_dele      00000997 GR\r
-  1 Component_find      0000078E GR  |   1 Component_find      0000074A GR\r
-  1 Component_link      00000A1F GR  |   1 Component_new       000005AF GR\r
-  1 Component_pain      00000704 GR  |   1 Component_setl      00000659 GR\r
-  1 Dialog_handler      00001461 GR  |   1 Dialog_new          0000151A GR\r
-  1 Display_handle      00001609 GR  |   1 Display_new         000017D6 GR\r
-  1 Display_paint       0000168A GR  |   1 DrawRectNC          00000125 GR\r
-  1 EnableScreen        000002FA GR  |   1 FillRect            0000016A GR\r
-  1 FillRectNC          000001AF GR  |   1 GUIgo               0000223D GR\r
-  1 GUIinit             000020F1 GR  |   1 GUIunit             00002218 GR\r
-  1 GraphicsClose       0000008E GR  |   1 GraphicsOpen        00000000 GR\r
-  1 GrayRect            000001F4 GR  |   1 Label_handler       00001830 GR\r
-  1 Label_new           00001897 GR  |   1 Label_paint         00001836 GR\r
-  1 Move                000000A3 GR  |   1 Root_paint          00000F2C GR\r
-  1 Text                00000239 GR  |   1 ToggleButton_h      00001287 GR\r
-  1 ToggleButton_n      0000140F GR  |   1 ToggleButton_p      00001323 GR\r
-  1 TouchRegion         00000266 GR  |   1 Window_add          00000F63 GR\r
-  1 Window_handler      00000AD2 GR  |   1 Window_new          00000F71 GR\r
-  1 Window_paint        00000D9F GR  |     _read               ******** GX\r
+    ?ENT_PARM_DIRE      ******** GX  |     ?SS_CMP_L02         ******** GX\r
+    ?SS_DIV_L02         ******** GX  |     ?SS_RSH_L02         ******** GX\r
+    ?S_MUL_L02          ******** GX  |     ?S_V_SWITCH_L0      ******** GX\r
+  1 Button_add          0000128D GR  |   1 Button_drawtex      00001117 GR\r
+  1 Button_handler      00001060 GR  |   1 Button_new          00001293 GR\r
+  1 Button_paint        000011BA GR  |   1 ClearRect           00000199 GR\r
+  1 ClearScreen         00000358 GR  |   1 Component_add       00000735 GR\r
+  1 Component_chan      00000A45 GR  |   1 Component_dele      00000855 GR\r
+  1 Component_dele      00000A26 GR  |   1 Component_find      0000081D GR\r
+  1 Component_find      000007D9 GR  |   1 Component_link      00000AAE GR\r
+  1 Component_new       0000063E GR  |   1 Component_pain      00000793 GR\r
+  1 Component_setl      000006E8 GR  |   1 Dialog_handler      000014D5 GR\r
+  1 Dialog_new          0000158E GR  |   1 Display_handle      0000169E GR\r
+  1 Display_new         00001843 GR  |   1 Display_paint       0000171F GR\r
+  1 DrawRectNC          000001D9 GR  |   1 EnableScreen        00000395 GR\r
+  1 FillRect            00000218 GR  |   1 FillRectNC          0000025A GR\r
+  1 GUIgo               000022F3 GR  |   1 GUIinit             000021A7 GR\r
+  1 GUIunit             000022CE GR  |   1 GraphicsClose       00000139 GR\r
+  1 GraphicsOpen        0000001B GR  |   1 GrayRect            0000029C GR\r
+  1 Label_handler       000018A2 GR  |   1 Label_new           00001909 GR\r
+  1 Label_paint         000018A8 GR  |   1 Move                0000015E GR\r
+  1 Root_paint          00000FCC GR  |   1 SetCurrentGrap      00000000 GR\r
+  1 Text                000002DE GR  |   1 ToggleButton_h      000012F0 GR\r
+  1 ToggleButton_n      00001478 GR  |   1 ToggleButton_p      0000138C GR\r
+  1 TouchRegion         00000301 GR  |   1 Window_add          00001003 GR\r
+  1 Window_handler      00000B61 GR  |   1 Window_new          00001011 GR\r
+  1 Window_paint        00000E2E GR  |     _read               ******** GX\r
     _write              ******** GX  |     close               ******** GX\r
-    fflush              ******** GX  |   1 fontSearch          00000375 GR\r
+    fflush              ******** GX  |   1 fontSearch          00000410 GR\r
     free                ******** GX  |   4 global              00000000 GR\r
-  1 grSetFont           00000338 GR  |   1 gui_globals         000020EB GR\r
-    ioctl               ******** GX  |   1 loadFont            00000433 GR\r
+  1 grSetFont           000003D3 GR  |   1 gui_globals         000021A1 GR\r
+    ioctl               ******** GX  |   1 loadFont            000004C2 GR\r
     malloc              ******** GX  |     open                ******** GX\r
-    printf              ******** GX  |   1 read_stringtab      00002016 GR\r
-  1 rootWindow_han      000018F0 GR  |   1 root_actionhan      00001CDE GR\r
-  1 screenbuilder       0000190E GR  |   1 setCurrentFont      000003A5 GR\r
-    stdout              ******** GX  |   1 stringheight        00000553 GR\r
-  1 stringheight01      00000570 GR  |   1 stringheight2       00000583 GR\r
-  1 stringwidth         000004DA GR  |   1 stringwidth0        0000058C GR\r
-  1 stringwidth1        0000059D GR  |   1 stringwidth2        000005A6 GR\r
-    strlen              ******** GX\r
+  1 read_stringtab      000020C7 GR  |   1 rootWindow_han      0000196D GR\r
+  1 root_actionhan      00001D78 GR  |   1 screenbuilder       0000198B GR\r
+  1 setCurrentFont      00000440 GR  |     stdout              ******** GX\r
+  1 stringheight        000005E2 GR  |   1 stringheight01      000005FF GR\r
+  1 stringheight2       00000612 GR  |   1 stringwidth         00000569 GR\r
+  1 stringwidth0        0000061B GR  |   1 stringwidth1        0000062C GR\r
+  1 stringwidth2        00000635 GR  |     strlen              ******** GX\r
+\r
 \fASxxxx Assembler V03.11  (Zilog Z80 / Hitachi HD64180), page 2.\r
 Hexadecimal [32-Bits]\r
 \r
 Area Table\r
 \r
    0 _DEFAULT         size        0   flags   0\r
-   1 CODE             size     22FE   flags   0\r
-   2 CSTR             size       29   flags   0\r
-   3 CONST            size       34   flags   0\r
+   1 CODE             size     24B6   flags   0\r
+   2 CSTR             size       44   flags   0\r
+   3 CONST            size       26   flags   0\r
    4 UDATA0           size        2   flags   0\r
index 0663ccc..fe9fae3 100644 (file)
@@ -40,6 +40,7 @@
        PUBLIC  Label_paint\r
        PUBLIC  Move\r
        PUBLIC  Root_paint\r
+       PUBLIC  SetCurrentGraphicsDevice\r
        PUBLIC  Text\r
        PUBLIC  ToggleButton_handler\r
        PUBLIC  ToggleButton_new\r
@@ -62,7 +63,6 @@
        PUBLIC  loadFont\r
        EXTERN  malloc\r
        EXTERN  open\r
-       EXTERN  printf\r
        PUBLIC  read_stringtable\r
        PUBLIC  rootWindow_handler\r
        PUBLIC  root_actionhandler\r
@@ -82,7 +82,6 @@
        EXTERN  ?SS_DIV_L02\r
        EXTERN  ?S_MUL_L02\r
        EXTERN  ?SS_CMP_L02\r
-       EXTERN  ?SL_RSH_L03\r
        EXTERN  ?C_V_SWITCH_L06\r
        EXTERN  ?S_V_SWITCH_L06\r
        EXTERN  ?BANK_CALL_DIRECT_L08\r
        EXTERN  ?ENT_PARM_DIRECT_L09\r
        EXTERN  ?ENT_AUTO_DIRECT_L09\r
        RSEG    CODE\r
+SetCurrentGraphicsDevice:\r
+       CALL    LWRD ?ENT_PARM_DIRECT_L09\r
+       LD      HL,6\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       EX      DE,HL\r
+       ADD     HL,HL\r
+       ADD     HL,BC\r
+       INC     HL\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       POP     HL\r
+       LD      (HL),C\r
+       INC     HL\r
+       LD      (HL),B\r
+       JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 GraphicsOpen:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    65528\r
@@ -109,9 +127,7 @@ GraphicsOpen:
        PUSH    BC\r
        LD      BC,?0001\r
        PUSH    BC\r
-       LD      A,BYTE3 open\r
-       LD      HL,LWRD open\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       CALL    LWRD ?0444\r
        POP     AF\r
        POP     AF\r
        LD      C,L\r
@@ -132,9 +148,7 @@ GraphicsOpen:
        INC     HL\r
        LD      B,(HL)\r
        PUSH    BC\r
-       LD      A,BYTE3 ioctl\r
-       LD      HL,LWRD ioctl\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       CALL    LWRD ?0443\r
        POP     AF\r
        POP     AF\r
        POP     AF\r
@@ -152,57 +166,146 @@ GraphicsOpen:
        INC     HL\r
        LD      B,(HL)\r
        PUSH    BC\r
-       LD      A,BYTE3 ioctl\r
-       LD      HL,LWRD ioctl\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       CALL    LWRD ?0443\r
        POP     AF\r
        POP     AF\r
        POP     AF\r
        LD      HL,2\r
        PUSH    HL\r
        LD      L,8\r
-?0372:\r
        ADD     HL,SP\r
        LD      C,L\r
-?0427:\r
        LD      B,H\r
        LD      HL,(global)\r
-?0428:\r
        INC     HL\r
        INC     HL\r
-?0429:\r
+       CALL    LWRD ?0445\r
+       POP     AF\r
+       LD      HL,4\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      DE,2\r
+       PUSH    DE\r
+       LD      DE,?0002\r
+       PUSH    DE\r
+       CALL    LWRD ?0444\r
+       POP     AF\r
+       POP     AF\r
+       EX      DE,HL\r
+       POP     HL\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      HL,0\r
+       PUSH    HL\r
+       LD      L,4\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
        LD      E,(HL)\r
        INC     HL\r
-?0430:\r
        LD      D,(HL)\r
-       LD      A,BYTE3 _write\r
-?0431:\r
-       LD      HL,LWRD _write\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       PUSH    DE\r
+       CALL    LWRD ?0443\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      (IX-4),96\r
+       LD      (IX-3),0\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      L,4\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       CALL    LWRD ?0443\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,2\r
+       PUSH    HL\r
+       LD      L,8\r
+       ADD     HL,SP\r
+       CALL    LWRD ?0446\r
        POP     AF\r
+       LD      DE,1\r
+       LD      A,BYTE3 SetCurrentGraphicsDevice\r
+       LD      HL,LWRD SetCurrentGraphicsDevice\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      DE,?0003\r
+       CALL    LWRD ?0452\r
+       LD      DE,0\r
+       LD      A,BYTE3 SetCurrentGraphicsDevice\r
+       LD      HL,LWRD SetCurrentGraphicsDevice\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+?0443:\r
+       LD      A,BYTE3 ioctl\r
+       LD      HL,LWRD ioctl\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0444:\r
+       LD      A,BYTE3 open\r
+       LD      HL,LWRD open\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0446:\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,4\r
+?0448:\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+?0445:\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 _write\r
+?0447:\r
+       LD      HL,LWRD _write\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0452:\r
+       LD      A,BYTE3 Text\r
+       LD      HL,LWRD Text\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
 GraphicsClose:\r
+       PUSH    BC\r
        PUSH    DE\r
        LD      HL,(global)\r
        INC     HL\r
        INC     HL\r
+       CALL    LWRD ?0468\r
+       LD      HL,4\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       CALL    LWRD ?0468\r
+       POP     DE\r
+       POP     BC\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+?0468:\r
        LD      E,(HL)\r
        INC     HL\r
        LD      D,(HL)\r
+?0469:\r
        LD      A,BYTE3 close\r
        LD      HL,LWRD close\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       POP     DE\r
-       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
 Move:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    65532\r
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0002\r
+       LD      HL,?0004\r
        LD      BC,4\r
        LDIR\r
+?0382:\r
        LD      B,(IX+2)\r
        LD      (IX-2),B\r
        LD      B,(IX+4)\r
@@ -211,22 +314,23 @@ Move:
        PUSH    HL\r
        DEC     HL\r
        DEC     HL\r
-       JP      LWRD ?0372\r
+?0387:\r
+       ADD     HL,SP\r
        LD      C,L\r
-?0381:\r
-       JP      LWRD ?0427\r
-       LD      HL,(global)\r
-       INC     HL\r
-       INC     HL\r
 ?0432:\r
+       LD      B,H\r
+       LD      HL,6\r
+?0433:\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+?0434:\r
        LD      E,(HL)\r
        INC     HL\r
-?0433:\r
+?0435:\r
        LD      D,(HL)\r
        LD      A,BYTE3 _write\r
-?0434:\r
-       JP      LWRD ?0431\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+?0436:\r
+       CALL    LWRD ?0447\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 ClearRect:\r
@@ -235,30 +339,33 @@ ClearRect:
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0003\r
+       LD      HL,?0005\r
        LD      BC,4\r
        LDIR\r
-       LD      B,(IX+2)\r
+       JP      LWRD ?0382\r
        LD      (IX-2),B\r
+?0390:\r
        LD      B,(IX+4)\r
        LD      (IX-1),B\r
        LD      HL,4\r
        PUSH    HL\r
        DEC     HL\r
        DEC     HL\r
-       JP      LWRD ?0372\r
+       ADD     HL,SP\r
        LD      C,L\r
-       JP      LWRD ?0381\r
-       LD      HL,(global)\r
-?0389:\r
-       JP      LWRD ?0428\r
-       INC     HL\r
+?0394:\r
        JP      LWRD ?0432\r
+       LD      HL,6\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+?0437:\r
+       LD      E,(HL)\r
        INC     HL\r
+?0438:\r
        LD      D,(HL)\r
        LD      A,BYTE3 _write\r
-?0435:\r
-       JP      LWRD ?0431\r
+?0439:\r
+       JP      LWRD ?0436\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
@@ -268,29 +375,31 @@ DrawRectNC:
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0004\r
+       LD      HL,?0006\r
        LD      BC,4\r
        LDIR\r
-       LD      B,(IX+2)\r
+       JP      LWRD ?0382\r
        LD      (IX-2),B\r
-       LD      B,(IX+4)\r
+       JP      LWRD ?0390\r
        LD      (IX-1),B\r
+?0397:\r
        LD      HL,4\r
        PUSH    HL\r
        DEC     HL\r
        DEC     HL\r
-       JP      LWRD ?0372\r
+       ADD     HL,SP\r
        LD      C,L\r
-       JP      LWRD ?0381\r
-       LD      HL,(global)\r
-       JP      LWRD ?0389\r
-       INC     HL\r
-?0396:\r
-       JP      LWRD ?0429\r
-       INC     HL\r
+       LD      B,H\r
+       LD      HL,6\r
+?0400:\r
        JP      LWRD ?0433\r
+       ADD     HL,DE\r
+       JP      LWRD ?0437\r
+       INC     HL\r
+       LD      D,(HL)\r
        LD      A,BYTE3 _write\r
-       JP      LWRD ?0435\r
+?0440:\r
+       JP      LWRD ?0436\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
@@ -300,29 +409,30 @@ FillRect:
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0005\r
+       LD      HL,?0007\r
        LD      BC,4\r
        LDIR\r
-       LD      B,(IX+2)\r
+       JP      LWRD ?0382\r
        LD      (IX-2),B\r
-       LD      B,(IX+4)\r
+       JP      LWRD ?0390\r
        LD      (IX-1),B\r
-       LD      HL,4\r
+       JP      LWRD ?0397\r
        PUSH    HL\r
+?0403:\r
        DEC     HL\r
        DEC     HL\r
-       JP      LWRD ?0372\r
+       ADD     HL,SP\r
        LD      C,L\r
-       JP      LWRD ?0381\r
-       LD      HL,(global)\r
-       JP      LWRD ?0389\r
-       INC     HL\r
-       JP      LWRD ?0396\r
+       LD      B,H\r
+       LD      HL,6\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+?0405:\r
+       JP      LWRD ?0434\r
        INC     HL\r
-?0402:\r
-       JP      LWRD ?0430\r
+       JP      LWRD ?0438\r
        LD      A,BYTE3 _write\r
-       JP      LWRD ?0434\r
+       JP      LWRD ?0440\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
@@ -332,29 +442,30 @@ FillRectNC:
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0006\r
+       LD      HL,?0008\r
        LD      BC,4\r
        LDIR\r
-       LD      B,(IX+2)\r
+       JP      LWRD ?0382\r
        LD      (IX-2),B\r
-       LD      B,(IX+4)\r
+       JP      LWRD ?0390\r
        LD      (IX-1),B\r
-       LD      HL,4\r
+       JP      LWRD ?0397\r
        PUSH    HL\r
+       JP      LWRD ?0403\r
        DEC     HL\r
-       DEC     HL\r
-       JP      LWRD ?0372\r
+?0408:\r
+       ADD     HL,SP\r
        LD      C,L\r
-       JP      LWRD ?0381\r
-       LD      HL,(global)\r
-       JP      LWRD ?0389\r
-       INC     HL\r
-       JP      LWRD ?0396\r
+       LD      B,H\r
+       LD      HL,6\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
        INC     HL\r
-       JP      LWRD ?0402\r
+?0409:\r
+       JP      LWRD ?0435\r
        LD      A,BYTE3 _write\r
-?0407:\r
-       JP      LWRD ?0431\r
+       JP      LWRD ?0439\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
@@ -364,28 +475,29 @@ GrayRect:
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0007\r
+       LD      HL,?0009\r
        LD      BC,4\r
        LDIR\r
-       LD      B,(IX+2)\r
+       JP      LWRD ?0382\r
        LD      (IX-2),B\r
-       LD      B,(IX+4)\r
+       JP      LWRD ?0390\r
        LD      (IX-1),B\r
-       LD      HL,4\r
+       JP      LWRD ?0397\r
        PUSH    HL\r
+       JP      LWRD ?0403\r
        DEC     HL\r
-       DEC     HL\r
-       JP      LWRD ?0372\r
+       JP      LWRD ?0408\r
        LD      C,L\r
-       JP      LWRD ?0381\r
-       LD      HL,(global)\r
-       JP      LWRD ?0389\r
-       INC     HL\r
-       JP      LWRD ?0396\r
+       LD      B,H\r
+       LD      HL,6\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
        INC     HL\r
-       JP      LWRD ?0402\r
+       LD      D,(HL)\r
        LD      A,BYTE3 _write\r
-       JP      LWRD ?0407\r
+?0412:\r
+       JP      LWRD ?0436\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
@@ -401,17 +513,10 @@ Text:
        PUSH    HL\r
        PUSH    IX\r
        POP     BC\r
-       LD      HL,(global)\r
-       INC     HL\r
-       INC     HL\r
-       LD      E,(HL)\r
-       INC     HL\r
-       LD      D,(HL)\r
-       LD      A,BYTE3 _write\r
-       LD      HL,LWRD _write\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      HL,6\r
+       CALL    LWRD ?0448\r
        POP     AF\r
-?0411:\r
+?0415:\r
        POP     IX\r
        POP     IY\r
        POP     BC\r
@@ -422,7 +527,7 @@ TouchRegion:
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0008\r
+       LD      HL,?0010\r
        LD      BC,7\r
        LDIR\r
        LD      B,(IX+2)\r
@@ -438,38 +543,38 @@ TouchRegion:
        LD      HL,7\r
        PUSH    HL\r
        LD      L,2\r
-       JP      LWRD ?0372\r
+       JP      LWRD ?0387\r
        LD      C,L\r
-       JP      LWRD ?0381\r
-       LD      HL,(global)\r
-       JP      LWRD ?0389\r
-       INC     HL\r
-       JP      LWRD ?0396\r
+       JP      LWRD ?0394\r
+       LD      HL,6\r
+       JP      LWRD ?0400\r
+       ADD     HL,DE\r
+       JP      LWRD ?0405\r
        INC     HL\r
-       JP      LWRD ?0402\r
+       JP      LWRD ?0409\r
        LD      A,BYTE3 _write\r
-       JP      LWRD ?0407\r
+       JP      LWRD ?0412\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 ClearScreen:\r
        PUSH    BC\r
        PUSH    DE\r
-       CALL    LWRD ?0461\r
+       CALL    LWRD ?0474\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      HL,128\r
        PUSH    HL\r
        LD      L,H\r
        PUSH    HL\r
        PUSH    HL\r
-       CALL    LWRD ?0470\r
+       CALL    LWRD ?0483\r
        POP     HL\r
        POP     HL\r
        POP     HL\r
        POP     DE\r
        POP     BC\r
        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-?0461:\r
+?0474:\r
        LD      BC,0\r
        LD      E,C\r
        LD      D,B\r
@@ -482,11 +587,11 @@ ClearScreen:
        LD      A,BYTE3 ClearRect\r
        LD      HL,LWRD ClearRect\r
        RET\r
-?0470:\r
+?0483:\r
        LD      C,L\r
        LD      B,H\r
        EX      DE,HL\r
-?0471:\r
+?0484:\r
        LD      A,BYTE3 TouchRegion\r
        LD      HL,LWRD TouchRegion\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
@@ -496,7 +601,7 @@ EnableScreen:
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0009\r
+       LD      HL,?0011\r
        LD      BC,3\r
        LDIR\r
        LD      B,(IX+2)\r
@@ -504,17 +609,17 @@ EnableScreen:
        LD      HL,3\r
        PUSH    HL\r
        DEC     HL\r
-       JP      LWRD ?0372\r
+       JP      LWRD ?0387\r
        LD      C,L\r
-       JP      LWRD ?0381\r
-       LD      HL,(global)\r
-       JP      LWRD ?0389\r
-       INC     HL\r
-       JP      LWRD ?0396\r
+       JP      LWRD ?0394\r
+       LD      HL,6\r
+       JP      LWRD ?0400\r
+       ADD     HL,DE\r
+       JP      LWRD ?0405\r
        INC     HL\r
-       JP      LWRD ?0402\r
+       JP      LWRD ?0409\r
        LD      A,BYTE3 _write\r
-       JP      LWRD ?0407\r
+       JP      LWRD ?0412\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
@@ -524,43 +629,43 @@ grSetFont:
        LD      HL,0\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       LD      HL,?0010\r
+       LD      HL,?0012\r
        LD      BC,2\r
        LDIR\r
        LD      B,(IX+2)\r
        LD      (IX-1),B\r
        LD      HL,2\r
        PUSH    HL\r
-       JP      LWRD ?0372\r
+       JP      LWRD ?0387\r
        LD      C,L\r
-       JP      LWRD ?0381\r
-       LD      HL,(global)\r
-       JP      LWRD ?0389\r
+       JP      LWRD ?0394\r
+       LD      HL,6\r
+       JP      LWRD ?0400\r
+       ADD     HL,DE\r
+       JP      LWRD ?0405\r
        INC     HL\r
-       JP      LWRD ?0396\r
-       INC     HL\r
-       JP      LWRD ?0402\r
+       JP      LWRD ?0409\r
        LD      A,BYTE3 _write\r
-       JP      LWRD ?0407\r
+       JP      LWRD ?0412\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 fontSearch:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    0\r
-       LD      HL,12\r
+       LD      HL,20\r
        LD      BC,(global)\r
        ADD     HL,BC\r
-?0321:\r
+?0331:\r
        LD      B,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
        EX      DE,HL\r
-?0012:\r
+?0014:\r
        LD      A,E\r
        OR      D\r
-       JR      Z,?0011\r
+       JR      Z,?0013\r
        LD      L,E\r
        LD      H,D\r
        LD      B,(HL)\r
@@ -570,29 +675,29 @@ fontSearch:
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
        SBC     HL,BC\r
-       JR      Z,?0011\r
+       JR      Z,?0013\r
+?0017:\r
+?0016:\r
 ?0015:\r
-?0014:\r
-?0013:\r
        LD      HL,8\r
        ADD     HL,DE\r
-       JR      ?0321\r
-?0011:\r
+       JR      ?0331\r
+?0013:\r
        EX      DE,HL\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 setCurrentFont:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        LD      A,BYTE3 fontSearch\r
        LD      HL,LWRD fontSearch\r
-       CALL    LWRD ?0448\r
-       JR      Z,?0017\r
-?0016:\r
+       CALL    LWRD ?0458\r
+       JR      Z,?0019\r
+?0018:\r
        LD      E,(IX+2)\r
        LD      D,(IX+3)\r
        LD      A,BYTE3 grSetFont\r
        LD      HL,LWRD grSetFont\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      HL,10\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        PUSH    HL\r
@@ -600,21 +705,22 @@ setCurrentFont:
        LD      D,(IX+3)\r
        LD      A,BYTE3 fontSearch\r
        LD      HL,LWRD fontSearch\r
-       CALL    LWRD ?0449\r
+       CALL    LWRD ?0459\r
        POP     HL\r
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-?0017:\r
+?0019:\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0443:\r
+?0454:\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      B,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-?0442:\r
+?0453:\r
        INC     HL\r
        INC     HL\r
        LD      C,(HL)\r
@@ -641,24 +747,15 @@ setCurrentFont:
        LD      A,BYTE3 Move\r
        LD      HL,LWRD Move\r
        RET\r
-?0444:\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      C,L\r
-       LD      B,H\r
-       LD      L,(IY+8)\r
-       LD      H,(IY+9)\r
-       AND     A\r
-       SBC     HL,BC\r
-       RET\r
-?0448:\r
+?0458:\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      A,L\r
        OR      H\r
        RET\r
-?0450:\r
+?0460:\r
        LD      A,BYTE3 malloc\r
        LD      HL,LWRD malloc\r
-?0449:\r
+?0459:\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      C,L\r
        LD      B,H\r
@@ -668,7 +765,7 @@ loadFont:
        DEFW    65532\r
        PUSH    IY\r
        LD      DE,14\r
-       CALL    LWRD ?0447\r
+       CALL    LWRD ?0457\r
        LD      C,(IX+2)\r
        LD      (HL),C\r
        LD      B,(IX+3)\r
@@ -697,33 +794,33 @@ loadFont:
        LD      (IY+12),L\r
        LD      H,(IX+21)\r
        LD      (IY+13),H\r
-       LD      HL,12\r
+       LD      HL,20\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
        INC     HL\r
        OR      (HL)\r
-       LD      HL,12\r
+       LD      HL,20\r
        LD      BC,(global)\r
        ADD     HL,BC\r
-       JR      NZ,?0019\r
-?0018:\r
+       JR      NZ,?0021\r
+?0020:\r
        PUSH    IY\r
        POP     BC\r
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-       LD      HL,10\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
-       JR      ?0021\r
-?0019:\r
+       JR      ?0023\r
+?0021:\r
        LD      B,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
        EX      DE,HL\r
-?0022:\r
+?0024:\r
        LD      HL,8\r
        ADD     HL,DE\r
        LD      A,(HL)\r
@@ -731,18 +828,18 @@ loadFont:
        OR      (HL)\r
        LD      HL,8\r
        ADD     HL,DE\r
-       JR      NZ,?0019\r
+       JR      NZ,?0021\r
+?0025:\r
 ?0023:\r
-?0021:\r
        PUSH    IY\r
        POP     BC\r
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-?0020:\r
+?0022:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0447:\r
+?0457:\r
        LD      A,BYTE3 malloc\r
        LD      HL,LWRD malloc\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
@@ -756,7 +853,7 @@ stringwidth:
        PUSH    DE\r
        LD      IX,0\r
        LD      IY,0\r
-?0025:\r
+?0027:\r
        PUSH    IY\r
        LD      HL,2\r
        ADD     HL,SP\r
@@ -767,8 +864,8 @@ stringwidth:
        ADD     HL,BC\r
        LD      A,(HL)\r
        OR      A\r
-       JR      Z,?0024\r
-?0026:\r
+       JR      Z,?0026\r
+?0028:\r
        PUSH    IY\r
        POP     HL\r
        ADD     HL,BC\r
@@ -785,34 +882,34 @@ stringwidth:
        DEFB    107\r
        DEFB    108\r
        DEFB    114\r
-       DEFW    ?0032\r
-       DEFW    ?0031\r
-       DEFW    ?0029\r
+       DEFW    ?0034\r
+       DEFW    ?0033\r
        DEFW    ?0031\r
-       DEFW    ?0031\r
-       DEFW    ?0028\r
-       DEFW    ?0028\r
+       DEFW    ?0033\r
+       DEFW    ?0033\r
        DEFW    ?0030\r
        DEFW    ?0030\r
+       DEFW    ?0032\r
+       DEFW    ?0032\r
+       DEFW    ?0032\r
        DEFW    ?0030\r
-       DEFW    ?0028\r
-?0028:\r
+?0030:\r
        LD      BC,2\r
-       JR      ?0331\r
-?0029:\r
+       JR      ?0341\r
+?0031:\r
        LD      BC,3\r
-       JR      ?0331\r
-?0030:\r
+       JR      ?0341\r
+?0032:\r
        LD      BC,4\r
-       JR      ?0331\r
-?0031:\r
+       JR      ?0341\r
+?0033:\r
        LD      BC,5\r
-       JR      ?0331\r
-?0032:\r
+       JR      ?0341\r
+?0034:\r
        LD      BC,6\r
-?0331:\r
+?0341:\r
        ADD     IX,BC\r
-?0027:\r
+?0029:\r
        LD      HL,2\r
        ADD     HL,SP\r
        LD      C,(HL)\r
@@ -820,8 +917,8 @@ stringwidth:
        LD      B,(HL)\r
        ADD     IX,BC\r
        INC     IY\r
-       JR      ?0025\r
-?0024:\r
+       JR      ?0027\r
+?0026:\r
        PUSH    IX\r
        POP     HL\r
        POP     AF\r
@@ -833,30 +930,30 @@ stringheight:
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        LD      A,E\r
        CP      128\r
-       JR      NC,?0034\r
-?0033:\r
+       JR      NC,?0036\r
+?0035:\r
        LD      HL,7\r
        ADD     HL,BC\r
-       JR      ?0036\r
-?0034:\r
+       JR      ?0038\r
+?0036:\r
        CP      204\r
-       JR      C,?0036\r
+       JR      C,?0038\r
        LD      A,223\r
        CP      E\r
-       JR      C,?0036\r
-?0038:\r
+       JR      C,?0038\r
+?0040:\r
+?0039:\r
 ?0037:\r
-?0035:\r
        LD      L,C\r
        LD      H,B\r
        INC     HL\r
-?0036:\r
-?0039:\r
+?0038:\r
+?0041:\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 stringheight01:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        LD      BC,0\r
-?0415:\r
+?0419:\r
        LD      A,(DE)\r
        LD      E,A\r
        LD      A,BYTE3 stringheight\r
@@ -866,11 +963,11 @@ stringheight01:
 stringheight2:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        LD      BC,5\r
-       JP      LWRD ?0415\r
+       JP      LWRD ?0419\r
 stringwidth0:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        LD      BC,0\r
-?0416:\r
+?0420:\r
        LD      A,BYTE3 stringwidth\r
        LD      HL,LWRD stringwidth\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
@@ -878,17 +975,17 @@ stringwidth0:
 stringwidth1:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        LD      BC,2\r
-       JP      LWRD ?0416\r
+       JP      LWRD ?0420\r
 stringwidth2:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        LD      BC,3\r
-       JP      LWRD ?0416\r
+       JP      LWRD ?0420\r
 Component_new:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    0\r
        PUSH    IY\r
        LD      DE,40\r
-       CALL    LWRD ?0447\r
+       CALL    LWRD ?0457\r
        LD      HL,(global)\r
        LD      E,(HL)\r
        INC     HL\r
@@ -947,7 +1044,7 @@ Component_new:
        LD      (IY+33),A\r
        LD      (IY+34),A\r
        LD      (IY+35),A\r
-?0418:\r
+?0422:\r
        PUSH    IY\r
        POP     HL\r
        POP     IY\r
@@ -961,13 +1058,13 @@ Component_setlabel:
        PUSH    HL\r
        POP     IY\r
        LD      DE,0\r
-?0041:\r
+?0043:\r
        LD      L,(IX+4)\r
        LD      H,(IX+5)\r
        ADD     HL,DE\r
        LD      A,(HL)\r
        OR      A\r
-       JR      Z,?0040\r
+       JR      Z,?0042\r
        LD      BC,32788\r
        LD      L,E\r
        LD      H,D\r
@@ -975,10 +1072,10 @@ Component_setlabel:
        XOR     H\r
        LD      H,A\r
        SBC     HL,BC\r
-       JR      NC,?0040\r
+       JR      NC,?0042\r
+?0046:\r
+?0045:\r
 ?0044:\r
-?0043:\r
-?0042:\r
        LD      L,(IY+32)\r
        LD      H,(IY+33)\r
        ADD     HL,DE\r
@@ -990,8 +1087,8 @@ Component_setlabel:
        POP     HL\r
        LD      (HL),B\r
        INC     DE\r
-       JR      ?0041\r
-?0040:\r
+       JR      ?0043\r
+?0042:\r
        LD      L,(IY+32)\r
        LD      H,(IY+33)\r
        ADD     HL,DE\r
@@ -1019,35 +1116,35 @@ Component_add:
        LD      A,(HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      NZ,?0046\r
-?0045:\r
+       JR      NZ,?0048\r
+?0047:\r
        LD      HL,21\r
        ADD     HL,BC\r
        LD      (HL),E\r
        INC     HL\r
        LD      (HL),D\r
-       JR      ?0335\r
-?0046:\r
-?0049:\r
+       JR      ?0345\r
+?0048:\r
+?0051:\r
        LD      A,(IY+19)\r
        OR      (IY+20)\r
-       JR      Z,?0048\r
-?0050:\r
+       JR      Z,?0050\r
+?0052:\r
        LD      L,(IY+19)\r
        LD      H,(IY+20)\r
        PUSH    HL\r
        POP     IY\r
-       JR      ?0046\r
-?0048:\r
+       JR      ?0048\r
+?0050:\r
        LD      (IY+19),E\r
        LD      (IY+20),D\r
-?0335:\r
+?0345:\r
        LD      HL,19\r
        ADD     HL,DE\r
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-?0047:\r
+?0049:\r
        LD      HL,17\r
        ADD     HL,DE\r
        LD      C,(IX+2)\r
@@ -1069,14 +1166,14 @@ Component_paint:
        LD      L,B\r
        PUSH    HL\r
        POP     IX\r
-       CALL    LWRD ?0477\r
-?0052:\r
+       CALL    LWRD ?0486\r
+?0054:\r
        PUSH    IX\r
        POP     HL\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0051\r
-?0053:\r
+       JR      Z,?0053\r
+?0055:\r
        PUSH    IX\r
        POP     DE\r
        LD      A,(IX+28)\r
@@ -1087,14 +1184,14 @@ Component_paint:
        LD      H,(IX+20)\r
        PUSH    HL\r
        POP     IX\r
-       JR      ?0052\r
-?0051:\r
+       JR      ?0054\r
+?0053:\r
        LD      E,1\r
-       CALL    LWRD ?0478\r
-       JP      LWRD ?0411\r
-?0477:\r
+       CALL    LWRD ?0487\r
+       JP      LWRD ?0415\r
+?0486:\r
        LD      E,0\r
-?0478:\r
+?0487:\r
        LD      A,BYTE3 EnableScreen\r
        LD      HL,LWRD EnableScreen\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
@@ -1106,7 +1203,7 @@ Component_findXY:
        LD      H,(IX+3)\r
        PUSH    HL\r
        POP     IY\r
-?0056:\r
+?0058:\r
        LD      L,(IX+4)\r
        LD      H,(IX+5)\r
        LD      A,(HL)\r
@@ -1131,8 +1228,8 @@ Component_findXY:
        POP     IY\r
        LD      A,L\r
        OR      H\r
-       JR      NZ,?0056\r
-?0054:\r
+       JR      NZ,?0058\r
+?0056:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 Component_find:\r
@@ -1142,17 +1239,17 @@ Component_find:
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
        ADD     HL,BC\r
-?0336:\r
+?0346:\r
        LD      B,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
        EX      DE,HL\r
-?0058:\r
+?0060:\r
        LD      A,E\r
        OR      D\r
-       JR      Z,?0057\r
-?0059:\r
+       JR      Z,?0059\r
+?0061:\r
        LD      HL,16\r
        ADD     HL,DE\r
        LD      C,(HL)\r
@@ -1161,18 +1258,18 @@ Component_find:
        LD      H,(IX+5)\r
        AND     A\r
        SBC     HL,BC\r
-       JR      NZ,?0061\r
-?0060:\r
+       JR      NZ,?0063\r
+?0062:\r
        EX      DE,HL\r
-       JR      ?0062\r
-?0061:\r
+       JR      ?0064\r
+?0063:\r
        LD      HL,19\r
        ADD     HL,DE\r
-       JR      ?0336\r
-?0057:\r
+       JR      ?0346\r
+?0059:\r
        LD      L,A\r
        LD      H,A\r
-?0062:\r
+?0064:\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 Component_delete:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
@@ -1190,24 +1287,24 @@ Component_delete:
        POP     HL\r
        LD      A,L\r
        OR      H\r
-       JP      Z,?0064\r
-?0063:\r
-?0066:\r
+       JP      Z,?0066\r
+?0065:\r
+?0068:\r
        LD      A,(IX-8)\r
        OR      (IX-7)\r
-       JR      Z,?0065\r
-?0067:\r
+       JR      Z,?0067\r
+?0069:\r
        LD      E,(IX-8)\r
        LD      D,(IX-7)\r
-       CALL    LWRD ?0453\r
+       CALL    LWRD ?0467\r
        LD      (IX-8),L\r
        LD      (IX-7),H\r
-       JR      ?0063\r
-?0065:\r
+       JR      ?0065\r
+?0067:\r
        LD      A,(IY+17)\r
        OR      (IY+18)\r
-       JP      Z,?0079\r
-?0068:\r
+       JP      Z,?0081\r
+?0070:\r
        LD      L,(IY+17)\r
        LD      H,(IY+18)\r
        LD      BC,21\r
@@ -1224,21 +1321,21 @@ Component_delete:
        LD      H,(IY+18)\r
        LD      BC,21\r
        ADD     HL,BC\r
-       JR      NZ,?0071\r
-?0070:\r
+       JR      NZ,?0073\r
+?0072:\r
        PUSH    HL\r
        LD      L,(IY+17)\r
        LD      H,(IY+18)\r
-       JR      ?0339\r
-?0071:\r
+       JR      ?0349\r
+?0073:\r
        LD      B,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-?0338:\r
+?0348:\r
        LD      (IX-8),L\r
        LD      (IX-7),H\r
-?0074:\r
+?0076:\r
        LD      HL,19\r
        LD      C,(IX-8)\r
        LD      B,(IX-7)\r
@@ -1251,7 +1348,7 @@ Component_delete:
        POP     BC\r
        AND     A\r
        SBC     HL,BC\r
-       JR      Z,?0073\r
+       JR      Z,?0075\r
        LD      HL,19\r
        LD      C,(IX-8)\r
        LD      B,(IX-7)\r
@@ -1259,18 +1356,18 @@ Component_delete:
        LD      A,(HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      Z,?0073\r
+       JR      Z,?0075\r
+?0079:\r
+?0078:\r
 ?0077:\r
-?0076:\r
-?0075:\r
        LD      HL,19\r
        ADD     HL,BC\r
        LD      D,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,D\r
-       JR      ?0338\r
-?0073:\r
+       JR      ?0348\r
+?0075:\r
        LD      HL,19\r
        LD      C,(IX-8)\r
        LD      B,(IX-7)\r
@@ -1278,13 +1375,13 @@ Component_delete:
        LD      A,(HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      Z,?0079\r
-?0078:\r
+       JR      Z,?0081\r
+?0080:\r
        LD      HL,19\r
        ADD     HL,BC\r
        PUSH    HL\r
        LD      HL,19\r
-?0339:\r
+?0349:\r
        ADD     HL,BC\r
        LD      B,(HL)\r
        INC     HL\r
@@ -1299,9 +1396,9 @@ Component_delete:
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-?0079:\r
-?0072:\r
-?0069:\r
+?0081:\r
+?0074:\r
+?0071:\r
        LD      L,(IY+19)\r
        LD      (IX-8),L\r
        LD      H,(IY+20)\r
@@ -1309,8 +1406,8 @@ Component_delete:
        LD      A,4\r
        XOR     (IY+36)\r
        OR      (IY+37)\r
-       JP      NZ,?0088\r
-?0080:\r
+       JP      NZ,?0090\r
+?0082:\r
        LD      L,(IY+17)\r
        LD      (IX-4),L\r
        LD      H,(IY+18)\r
@@ -1319,16 +1416,16 @@ Component_delete:
        LD      (IX-2),L\r
        LD      H,(IY+39)\r
        LD      (IX-1),H\r
-       CALL    LWRD ?0451\r
+       CALL    LWRD ?0464\r
        LD      L,(IX-2)\r
        LD      H,(IX-1)\r
        INC     HL\r
        INC     HL\r
-       CALL    LWRD ?0451\r
-?0083:\r
+       CALL    LWRD ?0464\r
+?0085:\r
        LD      A,(IX-4)\r
        OR      (IX-3)\r
-       JR      Z,?0082\r
+       JR      Z,?0084\r
        LD      HL,36\r
        LD      C,(IX-4)\r
        LD      B,(IX-3)\r
@@ -1337,10 +1434,10 @@ Component_delete:
        XOR     (HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      Z,?0082\r
+       JR      Z,?0084\r
+?0088:\r
+?0087:\r
 ?0086:\r
-?0085:\r
-?0084:\r
        LD      HL,17\r
        ADD     HL,BC\r
        LD      D,(HL)\r
@@ -1348,12 +1445,12 @@ Component_delete:
        INC     HL\r
        LD      H,(HL)\r
        LD      (IX-3),H\r
-       JR      ?0083\r
-?0082:\r
+       JR      ?0085\r
+?0084:\r
        LD      A,(IX-4)\r
        OR      (IX-3)\r
-       JR      Z,?0088\r
-?0087:\r
+       JR      Z,?0090\r
+?0089:\r
        LD      HL,38\r
        LD      C,(IX-4)\r
        LD      B,(IX-3)\r
@@ -1363,7 +1460,7 @@ Component_delete:
        INC     HL\r
        LD      H,(HL)\r
        LD      (IX-1),H\r
-       LD      HL,6\r
+       LD      HL,10\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        PUSH    HL\r
@@ -1376,7 +1473,7 @@ Component_delete:
        LD      (HL),E\r
        INC     HL\r
        LD      (HL),D\r
-       LD      HL,8\r
+       LD      HL,12\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        PUSH    HL\r
@@ -1393,47 +1490,47 @@ Component_delete:
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-?0088:\r
-?0081:\r
+?0090:\r
+?0083:\r
        LD      C,(IY+36)\r
        LD      B,(IY+37)\r
        LD      HL,0\r
        CALL    LWRD ?SS_CMP_L02\r
-       JR      NC,?0090\r
-?0089:\r
+       JR      NC,?0092\r
+?0091:\r
        LD      E,(IY+38)\r
        LD      D,(IY+39)\r
-       CALL    LWRD ?0452\r
-?0090:\r
+       CALL    LWRD ?0465\r
+?0092:\r
        BIT     6,(IY+11)\r
-       JR      NZ,?0092\r
+       JR      NZ,?0094\r
        LD      A,(IY+32)\r
        OR      (IY+33)\r
-       JR      Z,?0092\r
-?0094:\r
+       JR      Z,?0094\r
+?0096:\r
+?0095:\r
 ?0093:\r
-?0091:\r
        LD      E,(IY+32)\r
        LD      D,(IY+33)\r
-       CALL    LWRD ?0452\r
-?0092:\r
+       CALL    LWRD ?0465\r
+?0094:\r
        PUSH    IY\r
        POP     DE\r
-       CALL    LWRD ?0452\r
-?0064:\r
+       CALL    LWRD ?0465\r
+?0066:\r
        LD      L,(IX-8)\r
        LD      H,(IX-7)\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0451:\r
+?0464:\r
        LD      E,(HL)\r
        INC     HL\r
        LD      D,(HL)\r
-?0452:\r
+?0465:\r
        LD      A,BYTE3 free\r
        LD      HL,LWRD free\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0453:\r
+?0467:\r
        LD      A,BYTE3 Component_delete\r
        LD      HL,LWRD Component_delete\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
@@ -1447,20 +1544,20 @@ Component_delete_children:
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-?0341:\r
+?0351:\r
        PUSH    HL\r
        POP     IX\r
-?0096:\r
+?0098:\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0095\r
-?0097:\r
+       JR      Z,?0097\r
+?0099:\r
        PUSH    IX\r
        POP     DE\r
-       CALL    LWRD ?0453\r
-       JR      ?0341\r
-?0095:\r
-       JP      LWRD ?0411\r
+       CALL    LWRD ?0467\r
+       JR      ?0351\r
+?0097:\r
+       JP      LWRD ?0415\r
 Component_changestate_children:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    0\r
@@ -1469,18 +1566,18 @@ Component_changestate_children:
        LD      E,(IX+2)\r
        LD      D,(IX+3)\r
        ADD     HL,DE\r
-?0342:\r
+?0352:\r
        LD      D,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,D\r
        PUSH    HL\r
        POP     IY\r
-?0099:\r
+?0101:\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0098\r
-?0100:\r
+       JR      Z,?0100\r
+?0102:\r
        LD      HL,10\r
        PUSH    IY\r
        POP     BC\r
@@ -1519,8 +1616,8 @@ Component_changestate_children:
        LD      (HL),A\r
        LD      HL,19\r
        ADD     HL,BC\r
-       JR      ?0342\r
-?0098:\r
+       JR      ?0352\r
+?0100:\r
        LD      DE,stdout\r
        LD      A,BYTE3 fflush\r
        LD      HL,LWRD fflush\r
@@ -1552,20 +1649,20 @@ Component_linkstringtable:
        XOR     H\r
        LD      H,A\r
        SBC     HL,BC\r
-       JR      NC,?0102\r
+       JR      NC,?0104\r
        LD      C,(IX+32)\r
        LD      B,(IX+33)\r
        LD      HL,0\r
        CALL    LWRD ?SS_CMP_L02\r
-       JR      NC,?0102\r
-?0104:\r
+       JR      NC,?0104\r
+?0106:\r
+?0105:\r
 ?0103:\r
-?0101:\r
        LD      L,(IX+32)\r
        LD      H,(IX+33)\r
        ADD     HL,HL\r
        PUSH    HL\r
-       LD      HL,8\r
+       LD      HL,12\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      C,(HL)\r
@@ -1580,7 +1677,7 @@ Component_linkstringtable:
        INC     HL\r
        LD      H,(HL)\r
        LD      (IX+33),H\r
-?0102:\r
+?0104:\r
        LD      L,(IX+34)\r
        LD      H,(IX+35)\r
        LD      BC,36864\r
@@ -1588,20 +1685,20 @@ Component_linkstringtable:
        XOR     H\r
        LD      H,A\r
        SBC     HL,BC\r
-       JR      NC,?0106\r
+       JR      NC,?0108\r
        LD      C,(IX+34)\r
        LD      B,(IX+35)\r
        LD      HL,0\r
        CALL    LWRD ?SS_CMP_L02\r
-       JR      NC,?0106\r
-?0108:\r
+       JR      NC,?0108\r
+?0110:\r
+?0109:\r
 ?0107:\r
-?0105:\r
        LD      L,(IX+34)\r
        LD      H,(IX+35)\r
        ADD     HL,HL\r
        PUSH    HL\r
-       LD      HL,8\r
+       LD      HL,12\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      C,(HL)\r
@@ -1616,14 +1713,14 @@ Component_linkstringtable:
        INC     HL\r
        LD      H,(HL)\r
        LD      (IX+35),H\r
-?0106:\r
-?0110:\r
+?0108:\r
+?0112:\r
        PUSH    IY\r
        POP     HL\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0109\r
-?0111:\r
+       JR      Z,?0111\r
+?0113:\r
        PUSH    IY\r
        POP     DE\r
        LD      A,BYTE3 Component_linkstringtable\r
@@ -1633,9 +1730,9 @@ Component_linkstringtable:
        LD      H,(IY+20)\r
        PUSH    HL\r
        POP     IY\r
-       JR      ?0106\r
-?0109:\r
-       JP      LWRD ?0411\r
+       JR      ?0108\r
+?0111:\r
+       JP      LWRD ?0415\r
 Window_handler:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    65488\r
@@ -1656,17 +1753,17 @@ Window_handler:
        DEFW    259\r
        DEFW    260\r
        DEFW    261\r
-       DEFW    1025\r
-       DEFW    ?0159\r
-       DEFW    ?0153\r
+       DEFW    1281\r
+       DEFW    ?0161\r
+       DEFW    ?0155\r
+       DEFW    ?0146\r
+       DEFW    ?0147\r
        DEFW    ?0144\r
        DEFW    ?0145\r
-       DEFW    ?0142\r
-       DEFW    ?0143\r
-       DEFW    ?0131\r
-       DEFW    ?0119\r
-       DEFW    ?0113\r
-?0113:\r
+       DEFW    ?0133\r
+       DEFW    ?0121\r
+       DEFW    ?0115\r
+?0115:\r
        LD      HL,21\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -1675,29 +1772,29 @@ Window_handler:
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-?0344:\r
+?0354:\r
        PUSH    HL\r
        POP     IY\r
-?0115:\r
+?0117:\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0114\r
-?0116:\r
+       JR      Z,?0116\r
+?0118:\r
        BIT     0,(IY+10)\r
-       JR      Z,?0118\r
-?0117:\r
+       JR      Z,?0120\r
+?0119:\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0462\r
+       CALL    LWRD ?0475\r
        POP     HL\r
-?0118:\r
+?0120:\r
        LD      L,(IY+19)\r
        LD      H,(IY+20)\r
-       JR      ?0344\r
-?0114:\r
-       JP      LWRD ?0159\r
-?0119:\r
+       JR      ?0354\r
+?0116:\r
+       JP      LWRD ?0161\r
+?0121:\r
        LD      HL,21\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -1706,27 +1803,27 @@ Window_handler:
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-?0348:\r
+?0358:\r
        PUSH    HL\r
        POP     IY\r
-?0121:\r
+?0123:\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0120\r
-?0122:\r
+       JR      Z,?0122\r
+?0124:\r
        BIT     0,(IY+10)\r
-       JR      Z,?0126\r
-?0123:\r
+       JR      Z,?0128\r
+?0125:\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0462\r
+       CALL    LWRD ?0475\r
        POP     HL\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
        LD      BC,3\r
-       CALL    LWRD ?0463\r
+       CALL    LWRD ?0476\r
        POP     HL\r
        LD      A,(IY+10)\r
        AND     34\r
@@ -1734,32 +1831,32 @@ Window_handler:
        LD      H,0\r
        LD      A,34\r
        XOR     L\r
-       JR      NZ,?0126\r
+       JR      NZ,?0128\r
        LD      C,(IY+16)\r
        LD      B,H\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        SBC     HL,BC\r
-       JR      NZ,?0126\r
-?0128:\r
+       JR      NZ,?0128\r
+?0130:\r
+?0129:\r
 ?0127:\r
-?0125:\r
        LD      IY,0\r
+?0128:\r
 ?0126:\r
-?0124:\r
        PUSH    IY\r
        POP     HL\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0121\r
-?0129:\r
+       JR      Z,?0123\r
+?0131:\r
        LD      L,(IY+19)\r
        LD      H,(IY+20)\r
-       JR      ?0348\r
-?0130:\r
-?0120:\r
-       JP      LWRD ?0159\r
-?0131:\r
+       JR      ?0358\r
+?0132:\r
+?0122:\r
+       JP      LWRD ?0161\r
+?0133:\r
        LD      L,(IX+2)\r
        LD      H,(IX+3)\r
        PUSH    HL\r
@@ -1769,41 +1866,41 @@ Window_handler:
        LD      B,(IX+3)\r
        ADD     HL,BC\r
        BIT     0,(HL)\r
-       JR      Z,?0139\r
-?0132:\r
+       JR      Z,?0141\r
+?0134:\r
        BIT     5,(IY+10)\r
-       JR      Z,?0139\r
+       JR      Z,?0141\r
        LD      C,(IY+16)\r
        LD      B,A\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        AND     A\r
        SBC     HL,BC\r
-       JR      NZ,?0139\r
-?0137:\r
+       JR      NZ,?0141\r
+?0139:\r
+?0138:\r
 ?0136:\r
-?0134:\r
        LD      L,(IY+38)\r
        LD      H,(IY+39)\r
        PUSH    IY\r
        POP     DE\r
-       CALL    LWRD ?0474\r
-?0138:\r
-?0139:\r
-?0135:\r
-?0133:\r
+       CALL    LWRD ?0450\r
 ?0140:\r
 ?0141:\r
-       JP      LWRD ?0159\r
+?0137:\r
+?0135:\r
 ?0142:\r
+?0143:\r
+       JP      LWRD ?0161\r
+?0144:\r
        LD      E,(IX+2)\r
        LD      C,E\r
        LD      D,(IX+3)\r
        LD      B,D\r
        LD      HL,26\r
-       CALL    LWRD ?0475\r
-       JP      LWRD ?0159\r
-?0143:\r
+       CALL    LWRD ?0451\r
+       JP      LWRD ?0161\r
+?0145:\r
        LD      HL,10\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -1820,7 +1917,7 @@ Window_handler:
        LD      B,H\r
        LD      E,(IX+2)\r
        LD      D,(IX+3)\r
-       CALL    LWRD ?0466\r
+       CALL    LWRD ?0477\r
        POP     HL\r
        LD      HL,8\r
        LD      C,(IX+2)\r
@@ -1842,7 +1939,7 @@ Window_handler:
        LD      C,(IX-6)\r
        LD      B,(IX-5)\r
        LD      DE,0\r
-       CALL    LWRD ?0471\r
+       CALL    LWRD ?0484\r
        POP     HL\r
        POP     HL\r
        POP     HL\r
@@ -1873,8 +1970,8 @@ Window_handler:
        LD      L,C\r
        LD      H,B\r
        LD      BC,259\r
-       JR      ?0347\r
-?0144:\r
+       JR      ?0357\r
+?0146:\r
        LD      HL,17\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -1887,7 +1984,7 @@ Window_handler:
        POP     IY\r
        LD      E,C\r
        LD      D,B\r
-       CALL    LWRD ?0453\r
+       CALL    LWRD ?0467\r
        LD      HL,0\r
        PUSH    HL\r
        LD      BC,259\r
@@ -1896,9 +1993,9 @@ Window_handler:
        LD      A,(IY+25)\r
        LD      L,(IY+23)\r
        LD      H,(IY+24)\r
-?0347:\r
-       JP      LWRD ?0346\r
-?0145:\r
+?0357:\r
+       JP      LWRD ?0356\r
+?0147:\r
        LD      HL,21\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -1907,38 +2004,38 @@ Window_handler:
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-?0345:\r
+?0355:\r
        PUSH    HL\r
        POP     IY\r
-?0147:\r
+?0149:\r
        LD      A,L\r
        OR      H\r
-       JR      Z,?0146\r
-?0148:\r
+       JR      Z,?0148\r
+?0150:\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    IY\r
        POP     BC\r
        SBC     HL,BC\r
-       JR      Z,?0150\r
+       JR      Z,?0152\r
        BIT     3,(IY+10)\r
-       JR      Z,?0150\r
-?0152:\r
+       JR      Z,?0152\r
+?0154:\r
+?0153:\r
 ?0151:\r
-?0149:\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
        LD      BC,515\r
-       CALL    LWRD ?0463\r
+       CALL    LWRD ?0476\r
        POP     HL\r
-?0150:\r
+?0152:\r
        LD      L,(IY+19)\r
        LD      H,(IY+20)\r
-       JR      ?0345\r
-?0146:\r
-       JP      LWRD ?0159\r
-?0153:\r
+       JR      ?0355\r
+?0148:\r
+       JP      LWRD ?0161\r
+?0155:\r
        LD      HL,17\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -1946,22 +2043,22 @@ Window_handler:
        LD      A,(HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      NZ,?0155\r
-?0154:\r
-       LD      HL,4\r
+       JR      NZ,?0157\r
+?0156:\r
+       LD      HL,8\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      (HL),1\r
        INC     HL\r
        LD      (HL),A\r
-       JR      ?0159\r
-?0155:\r
+       JR      ?0161\r
+?0157:\r
        LD      HL,10\r
        ADD     HL,BC\r
        INC     HL\r
        BIT     5,(HL)\r
-       JR      NZ,?0158\r
-?0157:\r
+       JR      NZ,?0160\r
+?0159:\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
@@ -1987,9 +2084,9 @@ Window_handler:
        LD      A,(HL)\r
        LD      L,C\r
        LD      H,B\r
-       LD      BC,1025\r
-       JR      ?0346\r
-?0158:\r
+       LD      BC,1281\r
+       JR      ?0356\r
+?0160:\r
        LD      HL,17\r
        ADD     HL,BC\r
        LD      D,(HL)\r
@@ -2033,61 +2130,67 @@ Window_handler:
        LD      L,C\r
        LD      H,B\r
        LD      BC,261\r
-?0346:\r
+?0356:\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     HL\r
-?0159:\r
-?0156:\r
-?0112:\r
+?0161:\r
+?0158:\r
+?0114:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0462:\r
+?0451:\r
+       ADD     HL,BC\r
+?0450:\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      A,(HL)\r
+       LD      L,C\r
+       LD      H,B\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0475:\r
        LD      C,(IX+4)\r
        LD      B,(IX+5)\r
-?0463:\r
+?0476:\r
        PUSH    IY\r
        POP     DE\r
        LD      A,(IY+25)\r
        LD      L,(IY+23)\r
        LD      H,(IY+24)\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0467:\r
+?0478:\r
        INC     HL\r
        INC     HL\r
-?0468:\r
+?0479:\r
        LD      C,L\r
        LD      B,H\r
        PUSH    IX\r
        POP     DE\r
-?0466:\r
+?0477:\r
        LD      A,BYTE3 Component_findXY\r
        LD      HL,LWRD Component_findXY\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0475:\r
-       ADD     HL,BC\r
-?0474:\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       INC     HL\r
-       LD      A,(HL)\r
-       LD      L,C\r
-       LD      H,B\r
-       JP      LWRD ?BANK_CALL_DIRECT_L08\r
 Window_paint:\r
-       CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-       DEFW    -4\r
-       PUSH    IY\r
-       LD      L,(IX+2)\r
-       LD      H,(IX+3)\r
-       PUSH    HL\r
-       POP     IY\r
+       PUSH    BC\r
+       PUSH    IX\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    DE\r
+       POP     IX\r
+       LD      HL,2\r
+       ADD     HL,SP\r
        XOR     A\r
-       LD      (IX-2),A\r
-       LD      (IX-1),A\r
-       LD      (IX-4),A\r
-       LD      (IX-3),A\r
-       LD      HL,10\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      (HL),A\r
+       DEC     HL\r
+       DEC     HL\r
+       DEC     HL\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      (HL),A\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
@@ -2098,79 +2201,81 @@ Window_paint:
        INC     HL\r
        LD      H,(HL)\r
        LD      L,B\r
-       LD      C,(IY+14)\r
-       LD      B,(IY+15)\r
+       PUSH    HL\r
+       LD      HL,14\r
+       ADD     HL,DE\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       POP     HL\r
        AND     A\r
        SBC     HL,BC\r
-       JR      Z,?0161\r
-?0160:\r
-       LD      E,(IY+14)\r
-       LD      D,(IY+15)\r
-       CALL    LWRD ?0472\r
-?0161:\r
-       BIT     0,(IY+10)\r
-       JP      Z,?0163\r
+       JR      Z,?0163\r
 ?0162:\r
-       LD      HL,2\r
+       CALL    LWRD ?0449\r
+?0163:\r
+       BIT     0,(IX+10)\r
+       JP      Z,?0165\r
+?0164:\r
+       LD      HL,0\r
        ADD     HL,SP\r
        PUSH    HL\r
-       INC     HL\r
-       INC     HL\r
-       LD      C,L\r
-       LD      B,H\r
-       PUSH    IY\r
-       POP     DE\r
-       CALL    LWRD ?0466\r
+       CALL    LWRD ?0478\r
        POP     HL\r
-       CALL    LWRD ?0477\r
-       LD      C,(IX-4)\r
-       LD      B,(IX-3)\r
-       LD      E,(IX-2)\r
-       LD      D,(IX-1)\r
-       LD      A,BYTE3 Move\r
-       LD      HL,LWRD Move\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      C,(IY+8)\r
-       LD      B,(IY+9)\r
-       LD      E,(IY+6)\r
-       LD      D,(IY+7)\r
-       LD      A,BYTE3 ClearRect\r
-       LD      HL,LWRD ClearRect\r
+       CALL    LWRD ?0486\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       CALL    LWRD ?0472\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      L,(IY+8)\r
-       LD      H,(IY+9)\r
-       PUSH    HL\r
-       LD      L,(IY+6)\r
-       LD      H,(IY+7)\r
+       LD      L,(IX+8)\r
+       LD      H,(IX+9)\r
        PUSH    HL\r
-       LD      L,(IX-4)\r
-       LD      H,(IX-3)\r
+       LD      L,(IX+6)\r
+       LD      H,(IX+7)\r
        PUSH    HL\r
-       LD      C,(IX-2)\r
-       LD      B,(IX-1)\r
-       LD      DE,0\r
-       CALL    LWRD ?0471\r
-       POP     HL\r
-       POP     HL\r
-       POP     HL\r
-       LD      E,(IY+32)\r
-       LD      D,(IY+33)\r
-       LD      HL,10\r
-       LD      BC,(global)\r
-       ADD     HL,BC\r
-       LD      A,(HL)\r
+       LD      HL,4\r
+       ADD     HL,SP\r
+       LD      C,(HL)\r
        INC     HL\r
-       LD      H,(HL)\r
-       LD      L,A\r
-       CALL    LWRD ?0455\r
-       LD      C,(IX-4)\r
-       LD      B,(IX-3)\r
+       LD      B,(HL)\r
+       PUSH    BC\r
+       INC     HL\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       LD      DE,0\r
+       CALL    LWRD ?0484\r
+       POP     HL\r
+       POP     HL\r
+       POP     HL\r
+       LD      E,(IX+32)\r
+       LD      D,(IX+33)\r
+       CALL    LWRD ?0461\r
+       PUSH    HL\r
+       LD      HL,2\r
+       ADD     HL,SP\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       POP     HL\r
+       ADD     HL,BC\r
+       LD      BC,4\r
        ADD     HL,BC\r
-       LD      DE,4\r
-       ADD     HL,DE\r
        LD      C,L\r
        LD      B,H\r
-       CALL    LWRD ?0459\r
+       LD      HL,2\r
+       ADD     HL,SP\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 Move\r
+       LD      HL,LWRD Move\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IX+32)\r
+       LD      D,(IX+33)\r
+       LD      HL,18\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
        LD      A,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
@@ -2184,55 +2289,90 @@ Window_paint:
        LD      A,(HL)\r
        LD      L,C\r
        LD      H,B\r
-       CALL    LWRD ?0444\r
+       CALL    LWRD ?0459\r
+       LD      L,(IX+8)\r
+       LD      H,(IX+9)\r
+       AND     A\r
+       SBC     HL,BC\r
        LD      BC,65532\r
        ADD     HL,BC\r
        LD      C,L\r
        LD      B,H\r
-       LD      E,(IY+6)\r
-       LD      D,(IY+7)\r
+       LD      E,(IX+6)\r
+       LD      D,(IX+7)\r
        LD      A,BYTE3 DrawRectNC\r
        LD      HL,LWRD DrawRectNC\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      C,(IX-4)\r
-       LD      B,(IX-3)\r
-       CALL    LWRD ?0459\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       LD      C,(HL)\r
+       INC     HL\r
        LD      B,(HL)\r
        INC     HL\r
-       LD      H,(HL)\r
-       LD      L,B\r
-       CALL    LWRD ?0455\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 Move\r
+       LD      HL,LWRD Move\r
+       CALL    LWRD ?0470\r
+       CALL    LWRD ?0462\r
        LD      BC,5\r
        ADD     HL,BC\r
        LD      C,L\r
        LD      B,H\r
-       LD      E,(IY+6)\r
-       LD      D,(IY+7)\r
+       LD      E,(IX+6)\r
+       LD      D,(IX+7)\r
        LD      A,BYTE3 FillRect\r
        LD      HL,LWRD FillRect\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      HL,14\r
-       LD      C,(IX-4)\r
-       LD      B,(IX-3)\r
-       ADD     HL,BC\r
-       LD      C,L\r
-       LD      B,H\r
-       LD      E,(IX-2)\r
-       LD      D,(IX-1)\r
+       LD      HL,0\r
+       ADD     HL,SP\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     BC\r
+       INC     BC\r
+       INC     HL\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
        INC     DE\r
        INC     DE\r
        LD      A,BYTE3 Move\r
        LD      HL,LWRD Move\r
-       CALL    LWRD ?0460\r
-       PUSH    IY\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      E,(IX+32)\r
+       LD      D,(IX+33)\r
+       CALL    LWRD ?0452\r
+       PUSH    IX\r
        POP     DE\r
        LD      A,BYTE3 Component_paint\r
        LD      HL,LWRD Component_paint\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0163:\r
-       POP     IY\r
-       JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0455:\r
+?0165:\r
+       POP     HL\r
+       POP     HL\r
+       POP     IX\r
+       POP     BC\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
+?0449:\r
+       LD      E,(IX+14)\r
+       LD      D,(IX+15)\r
+       LD      A,BYTE3 setCurrentFont\r
+       LD      HL,LWRD setCurrentFont\r
+       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+?0463:\r
+       LD      E,(IY+32)\r
+       LD      D,(IY+33)\r
+?0461:\r
+       LD      HL,18\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+?0462:\r
        LD      BC,5\r
        ADD     HL,BC\r
        LD      C,(HL)\r
@@ -2243,37 +2383,41 @@ Window_paint:
        LD      L,C\r
        LD      H,B\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0459:\r
-       LD      E,(IX-2)\r
-       LD      D,(IX-1)\r
-       LD      A,BYTE3 Move\r
-       LD      HL,LWRD Move\r
+?0470:\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      E,(IY+32)\r
-       LD      D,(IY+33)\r
-       LD      HL,10\r
+       LD      E,(IX+32)\r
+       LD      D,(IX+33)\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
        RET\r
-?0460:\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      E,(IY+32)\r
-       LD      D,(IY+33)\r
-       LD      A,BYTE3 Text\r
-       LD      HL,LWRD Text\r
+?0472:\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+?0473:\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 Move\r
+       LD      HL,LWRD Move\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       LD      C,(IX+8)\r
+       LD      B,(IX+9)\r
+       LD      E,(IX+6)\r
+       LD      D,(IX+7)\r
+       LD      A,BYTE3 ClearRect\r
+       LD      HL,LWRD ClearRect\r
        RET\r
-?0473:\r
-       LD      E,(IX+14)\r
-       LD      D,(IX+15)\r
-?0472:\r
-       LD      A,BYTE3 setCurrentFont\r
-       LD      HL,LWRD setCurrentFont\r
-       JP      LWRD ?BANK_CALL_DIRECT_L08\r
 Root_paint:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
-       CALL    LWRD ?0477\r
-       CALL    LWRD ?0461\r
+       CALL    LWRD ?0486\r
+       CALL    LWRD ?0474\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      BC,128\r
        LD      E,B\r
@@ -2286,7 +2430,7 @@ Root_paint:
        LD      L,H\r
        PUSH    HL\r
        PUSH    HL\r
-       CALL    LWRD ?0470\r
+       CALL    LWRD ?0483\r
        POP     HL\r
        POP     HL\r
        POP     HL\r
@@ -2312,7 +2456,11 @@ Window_new:
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0438\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       LD      A,BYTE3 Component_new\r
+       LD      HL,LWRD Component_new\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
        PUSH    HL\r
@@ -2330,13 +2478,7 @@ Window_new:
        LD      (IY+29),LOW(Window_add)\r
        LD      (IY+30),HIGH(Window_add)\r
        LD      (IY+31),BYTE3 Window_add\r
-       JP      LWRD ?0418\r
-?0438:\r
-       LD      E,(IX+2)\r
-       LD      D,(IX+3)\r
-       LD      A,BYTE3 Component_new\r
-       LD      HL,LWRD Component_new\r
-       JP      LWRD ?BANK_CALL_DIRECT_L08\r
+       JP      LWRD ?0422\r
 Button_handler:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        PUSH    IY\r
@@ -2352,19 +2494,19 @@ Button_handler:
        LD      A,3\r
        XOR     (IX+4)\r
        OR      (IX+5)\r
-       JR      NZ,?0169\r
+       JR      NZ,?0171\r
        LD      C,(IY+16)\r
        LD      B,A\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        SBC     HL,BC\r
-       JR      NZ,?0169\r
+       JR      NZ,?0171\r
        LD      A,(IY+10)\r
        AND     3\r
-       JR      Z,?0169\r
-?0167:\r
+       JR      Z,?0171\r
+?0169:\r
+?0168:\r
 ?0166:\r
-?0164:\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
@@ -2373,40 +2515,40 @@ Button_handler:
        LD      L,(IY+17)\r
        LD      H,(IY+18)\r
        LD      C,23\r
-       CALL    LWRD ?0464\r
+       CALL    LWRD ?0480\r
        POP     HL\r
        BIT     4,(IY+10)\r
-       JR      Z,?0169\r
-?0168:\r
+       JR      Z,?0171\r
+?0170:\r
        LD      C,(IY+16)\r
        LD      B,0\r
        PUSH    BC\r
-       CALL    LWRD ?0469\r
+       CALL    LWRD ?0482\r
        POP     HL\r
-?0169:\r
-?0165:\r
+?0171:\r
+?0167:\r
        LD      HL,513\r
        LD      C,(IX+4)\r
        LD      B,(IX+5)\r
        AND     A\r
        SBC     HL,BC\r
-       JR      NZ,?0171\r
-?0170:\r
+       JR      NZ,?0173\r
+?0172:\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0465\r
+       CALL    LWRD ?0481\r
        POP     HL\r
-?0171:\r
+?0173:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0465:\r
+?0481:\r
        LD      E,(IY+17)\r
        LD      D,(IY+18)\r
        LD      L,(IY+17)\r
        LD      H,(IY+18)\r
        LD      BC,23\r
-?0464:\r
+?0480:\r
        ADD     HL,BC\r
        LD      C,(HL)\r
        INC     HL\r
@@ -2417,7 +2559,7 @@ Button_handler:
        LD      H,B\r
        LD      BC,513\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0469:\r
+?0482:\r
        LD      E,(IY+17)\r
        LD      D,(IY+18)\r
        LD      L,(IY+17)\r
@@ -2441,96 +2583,75 @@ Button_drawtext:
        LD      HL,10\r
        ADD     HL,DE\r
        BIT     6,(HL)\r
+       JR      Z,?0175\r
+?0174:\r
+       LD      E,(IY+8)\r
+       LD      D,(IY+9)\r
+       LD      BC,2\r
+       CALL    LWRD ?SS_DIV_L02\r
+       LD      L,(IX+10)\r
+       LD      H,(IX+11)\r
+       ADD     HL,DE\r
+       PUSH    HL\r
        LD      E,(IY+32)\r
        LD      D,(IY+33)\r
-       LD      HL,10\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
        INC     HL\r
        LD      H,(HL)\r
        LD      L,A\r
-       LD      BC,5\r
-       ADD     HL,BC\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       INC     HL\r
-       LD      A,(HL)\r
-       LD      L,C\r
-       LD      H,B\r
-       JR      Z,?0173\r
-?0172:\r
+       CALL    LWRD ?0453\r
+       POP     BC\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       ADD     HL,HL\r
-       LD      C,L\r
-       LD      B,H\r
-       LD      L,(IY+8)\r
-       LD      H,(IY+9)\r
-       AND     A\r
-       SBC     HL,BC\r
-       CALL    LWRD ?0480\r
-       LD      C,12\r
-       ADD     HL,BC\r
-       PUSH    HL\r
        LD      E,(IY+32)\r
        LD      D,(IY+33)\r
-       LD      HL,10\r
-       LD      BC,(global)\r
-       ADD     HL,BC\r
-       LD      A,(HL)\r
-       INC     HL\r
-       LD      H,(HL)\r
-       LD      L,A\r
-       CALL    LWRD ?0442\r
-       POP     BC\r
-       CALL    LWRD ?0460\r
-       LD      E,(IY+8)\r
-       LD      D,(IY+9)\r
-       CALL    LWRD ?0481\r
-       LD      C,10\r
-       ADD     HL,BC\r
-       PUSH    HL\r
+       CALL    LWRD ?0452\r
+       CALL    LWRD ?0463\r
+       ADD     HL,HL\r
+       CALL    LWRD ?0489\r
+       PUSH    BC\r
        LD      E,(IY+34)\r
        LD      D,(IY+35)\r
-       LD      L,C\r
-       LD      H,B\r
-       CALL    LWRD ?0443\r
+       CALL    LWRD ?0454\r
        POP     BC\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      E,(IY+34)\r
        LD      D,(IY+35)\r
-       JR      ?0350\r
-?0173:\r
-       CALL    LWRD ?0444\r
-       CALL    LWRD ?0480\r
-       LD      C,13\r
-       ADD     HL,BC\r
-       PUSH    HL\r
+       JR      ?0360\r
+?0175:\r
+       CALL    LWRD ?0463\r
+       CALL    LWRD ?0489\r
+       PUSH    BC\r
        LD      E,(IY+32)\r
        LD      D,(IY+33)\r
-       LD      HL,10\r
-       CALL    LWRD ?0443\r
+       CALL    LWRD ?0454\r
        POP     BC\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      E,(IY+32)\r
        LD      D,(IY+33)\r
-?0350:\r
+?0360:\r
        LD      A,BYTE3 Text\r
        LD      HL,LWRD Text\r
-?0424:\r
+?0431:\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0174:\r
+?0176:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0480:\r
+?0489:\r
+       LD      C,(IY+8)\r
+       LD      B,(IY+9)\r
+       ADD     HL,BC\r
        EX      DE,HL\r
-?0481:\r
        LD      BC,2\r
        CALL    LWRD ?SS_DIV_L02\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        ADD     HL,DE\r
+       LD      C,L\r
+       LD      B,H\r
+       INC     BC\r
        RET\r
 Button_paint:\r
        PUSH    BC\r
@@ -2551,7 +2672,7 @@ Button_paint:
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,10\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
@@ -2571,21 +2692,21 @@ Button_paint:
        POP     HL\r
        AND     A\r
        SBC     HL,BC\r
-       JR      Z,?0176\r
-?0175:\r
-       CALL    LWRD ?0473\r
-?0176:\r
-       BIT     0,(IX+10)\r
-       JP      Z,?0178\r
+       JR      Z,?0178\r
 ?0177:\r
+       CALL    LWRD ?0449\r
+?0178:\r
+       BIT     0,(IX+10)\r
+       JP      Z,?0180\r
+?0179:\r
        LD      HL,0\r
        ADD     HL,SP\r
        PUSH    HL\r
-       CALL    LWRD ?0467\r
+       CALL    LWRD ?0478\r
        POP     HL\r
        LD      HL,0\r
        ADD     HL,SP\r
-       CALL    LWRD ?0457\r
+       CALL    LWRD ?0472\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      L,(IX+8)\r
        LD      H,(IX+9)\r
@@ -2604,44 +2725,44 @@ Button_paint:
        INC     HL\r
        LD      B,(HL)\r
        BIT     1,(IX+10)\r
-       JR      Z,?0180\r
+       JR      Z,?0182\r
        LD      E,(IX+16)\r
        LD      D,0\r
-       JR      ?0181\r
-?0180:\r
+       JR      ?0183\r
+?0182:\r
        LD      DE,0\r
-?0181:\r
-       CALL    LWRD ?0471\r
+?0183:\r
+       CALL    LWRD ?0484\r
        POP     HL\r
        POP     HL\r
        POP     HL\r
        LD      A,(IX+10)\r
        AND     130\r
-       JR      Z,?0183\r
+       JR      Z,?0185\r
        LD      A,(IX+10)\r
        AND     130\r
        XOR     130\r
-       JR      Z,?0183\r
-?0185:\r
+       JR      Z,?0185\r
+?0187:\r
+?0186:\r
 ?0184:\r
-?0182:\r
        LD      C,(IX+8)\r
        LD      B,(IX+9)\r
        LD      E,(IX+6)\r
        LD      D,(IX+7)\r
        LD      A,BYTE3 FillRectNC\r
        LD      HL,LWRD FillRectNC\r
-       JR      ?0353\r
-?0183:\r
+       JR      ?0363\r
+?0185:\r
        LD      C,(IX+8)\r
        LD      B,(IX+9)\r
        LD      E,(IX+6)\r
        LD      D,(IX+7)\r
        LD      A,BYTE3 DrawRectNC\r
        LD      HL,LWRD DrawRectNC\r
-?0353:\r
+?0363:\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0186:\r
+?0188:\r
        LD      HL,0\r
        ADD     HL,SP\r
        LD      C,(HL)\r
@@ -2658,31 +2779,8 @@ Button_paint:
        LD      HL,LWRD Button_drawtext\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     HL\r
-?0178:\r
-       POP     HL\r
-       POP     HL\r
-       POP     IX\r
-       POP     BC\r
-       JP      LWRD ?BANK_FAST_LEAVE_L08\r
-?0457:\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       INC     HL\r
-?0458:\r
-       LD      E,(HL)\r
-       INC     HL\r
-       LD      D,(HL)\r
-       LD      A,BYTE3 Move\r
-       LD      HL,LWRD Move\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      C,(IX+8)\r
-       LD      B,(IX+9)\r
-       LD      E,(IX+6)\r
-       LD      D,(IX+7)\r
-       LD      A,BYTE3 ClearRect\r
-       LD      HL,LWRD ClearRect\r
-       RET\r
+?0180:\r
+       JP      LWRD ?0165\r
 Button_add:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
@@ -2696,7 +2794,11 @@ Button_new:
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0438\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       LD      A,BYTE3 Component_new\r
+       LD      HL,LWRD Component_new\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
        PUSH    HL\r
@@ -2717,7 +2819,7 @@ Button_new:
        LD      (IY+29),LOW(Button_add)\r
        LD      (IY+30),HIGH(Button_add)\r
        LD      (IY+31),BYTE3 Button_add\r
-       JP      LWRD ?0418\r
+       JP      LWRD ?0422\r
 ToggleButton_handler:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        PUSH    IY\r
@@ -2733,19 +2835,19 @@ ToggleButton_handler:
        LD      A,3\r
        XOR     (IX+4)\r
        OR      (IX+5)\r
-       JR      NZ,?0192\r
+       JR      NZ,?0194\r
        LD      C,(IY+16)\r
        LD      B,A\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        SBC     HL,BC\r
-       JR      NZ,?0192\r
+       JR      NZ,?0194\r
        LD      A,(IY+10)\r
        AND     3\r
-       JR      Z,?0192\r
-?0190:\r
+       JR      Z,?0194\r
+?0192:\r
+?0191:\r
 ?0189:\r
-?0187:\r
        LD      A,(IY+10)\r
        XOR     4\r
        LD      (IY+10),A\r
@@ -2771,31 +2873,31 @@ ToggleButton_handler:
        LD      HL,0\r
        PUSH    HL\r
        LD      BC,259\r
-       CALL    LWRD ?0463\r
+       CALL    LWRD ?0476\r
        POP     HL\r
        BIT     4,(IY+10)\r
-       JR      Z,?0192\r
-?0191:\r
+       JR      Z,?0194\r
+?0193:\r
        LD      C,(IY+16)\r
        LD      B,0\r
        PUSH    BC\r
-       CALL    LWRD ?0469\r
+       CALL    LWRD ?0482\r
        POP     HL\r
-?0192:\r
-?0188:\r
+?0194:\r
+?0190:\r
        LD      HL,513\r
        LD      C,(IX+4)\r
        LD      B,(IX+5)\r
        AND     A\r
        SBC     HL,BC\r
-       JR      NZ,?0194\r
-?0193:\r
+       JR      NZ,?0196\r
+?0195:\r
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0465\r
+       CALL    LWRD ?0481\r
        POP     HL\r
-?0194:\r
+?0196:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 ToggleButton_paint:\r
@@ -2817,7 +2919,7 @@ ToggleButton_paint:
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,10\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
@@ -2837,29 +2939,29 @@ ToggleButton_paint:
        POP     HL\r
        AND     A\r
        SBC     HL,BC\r
-       JR      Z,?0196\r
-?0195:\r
-       CALL    LWRD ?0473\r
-?0196:\r
-       BIT     0,(IX+10)\r
-       JP      Z,?0198\r
+       JR      Z,?0198\r
 ?0197:\r
+       CALL    LWRD ?0449\r
+?0198:\r
+       BIT     0,(IX+10)\r
+       JP      Z,?0200\r
+?0199:\r
        LD      HL,0\r
        ADD     HL,SP\r
        PUSH    HL\r
-       CALL    LWRD ?0467\r
+       CALL    LWRD ?0478\r
        POP     HL\r
        LD      HL,0\r
        ADD     HL,SP\r
-       CALL    LWRD ?0457\r
+       CALL    LWRD ?0472\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        BIT     1,(IX+10)\r
-       JR      Z,?0200\r
+       JR      Z,?0202\r
        BIT     2,(IX+10)\r
-       JR      Z,?0200\r
-?0202:\r
+       JR      Z,?0202\r
+?0204:\r
+?0203:\r
 ?0201:\r
-?0199:\r
        LD      C,(IX+8)\r
        LD      B,(IX+9)\r
        LD      E,(IX+6)\r
@@ -2883,8 +2985,8 @@ ToggleButton_paint:
        LD      C,(HL)\r
        INC     HL\r
        LD      B,(HL)\r
-       JR      ?0357\r
-?0200:\r
+       JR      ?0367\r
+?0202:\r
        LD      C,(IX+8)\r
        LD      B,(IX+9)\r
        LD      E,(IX+6)\r
@@ -2909,19 +3011,19 @@ ToggleButton_paint:
        INC     HL\r
        LD      B,(HL)\r
        BIT     1,(IX+10)\r
-       JR      Z,?0205\r
-?0357:\r
+       JR      Z,?0207\r
+?0367:\r
        LD      E,(IX+16)\r
        LD      D,0\r
-       JR      ?0206\r
-?0205:\r
+       JR      ?0208\r
+?0207:\r
        LD      DE,0\r
-?0206:\r
-       CALL    LWRD ?0471\r
+?0208:\r
+       CALL    LWRD ?0484\r
        POP     HL\r
        POP     HL\r
        POP     HL\r
-?0203:\r
+?0205:\r
        LD      HL,0\r
        ADD     HL,SP\r
        LD      C,(HL)\r
@@ -2938,8 +3040,8 @@ ToggleButton_paint:
        LD      HL,LWRD Button_drawtext\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     HL\r
-?0198:\r
-       JP      LWRD ?0178\r
+?0200:\r
+       JP      LWRD ?0165\r
 ToggleButton_new:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    0\r
@@ -2950,7 +3052,11 @@ ToggleButton_new:
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0438\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       LD      A,BYTE3 Component_new\r
+       LD      HL,LWRD Component_new\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
        PUSH    HL\r
@@ -2971,7 +3077,7 @@ ToggleButton_new:
        LD      (IY+29),LOW(Button_add)\r
        LD      (IY+30),HIGH(Button_add)\r
        LD      (IY+31),BYTE3 Button_add\r
-       JP      LWRD ?0418\r
+       JP      LWRD ?0422\r
 Dialog_handler:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        PUSH    IY\r
@@ -2989,26 +3095,26 @@ Dialog_handler:
        LD      B,(IX+5)\r
        AND     A\r
        SBC     HL,BC\r
-       JR      NZ,?0208\r
+       JR      NZ,?0210\r
        LD      A,255\r
        XOR     (IX+10)\r
        OR      (IX+11)\r
-       JR      NZ,?0208\r
-?0210:\r
+       JR      NZ,?0210\r
+?0212:\r
+?0211:\r
 ?0209:\r
-?0207:\r
        BIT     4,(IY+11)\r
        PUSH    HL\r
-       JR      Z,?0212\r
-?0211:\r
+       JR      Z,?0214\r
+?0213:\r
        LD      BC,261\r
-       JR      ?0358\r
-?0212:\r
+       JR      ?0368\r
+?0214:\r
        LD      BC,258\r
-?0358:\r
-       CALL    LWRD ?0463\r
+?0368:\r
+       CALL    LWRD ?0476\r
        POP     HL\r
-?0213:\r
+?0215:\r
        LD      C,(IY+16)\r
        LD      B,0\r
        PUSH    BC\r
@@ -3028,32 +3134,32 @@ Dialog_handler:
        LD      BC,769\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     HL\r
-?0208:\r
+?0210:\r
        LD      HL,513\r
        LD      C,(IX+4)\r
        LD      B,(IX+5)\r
        AND     A\r
        SBC     HL,BC\r
-       JR      NZ,?0215\r
+       JR      NZ,?0217\r
        LD      A,254\r
        XOR     (IX+10)\r
        OR      (IX+11)\r
-       JR      NZ,?0215\r
-?0217:\r
+       JR      NZ,?0217\r
+?0219:\r
+?0218:\r
 ?0216:\r
-?0214:\r
        BIT     4,(IY+11)\r
        PUSH    HL\r
-       JR      Z,?0219\r
-?0218:\r
+       JR      Z,?0221\r
+?0220:\r
        LD      BC,261\r
-       JR      ?0359\r
-?0219:\r
+       JR      ?0369\r
+?0221:\r
        LD      BC,258\r
-?0359:\r
-       CALL    LWRD ?0463\r
+?0369:\r
+       CALL    LWRD ?0476\r
        POP     HL\r
-?0220:\r
+?0222:\r
        LD      C,(IY+16)\r
        LD      B,0\r
        PUSH    BC\r
@@ -3073,7 +3179,7 @@ Dialog_handler:
        LD      BC,770\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     HL\r
-?0215:\r
+?0217:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
 Dialog_new:\r
@@ -3086,7 +3192,11 @@ Dialog_new:
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0438\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       LD      A,BYTE3 Component_new\r
+       LD      HL,LWRD Component_new\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
        PUSH    HL\r
@@ -3112,7 +3222,19 @@ Dialog_new:
        LD      L,40\r
        PUSH    HL\r
        LD      HL,65508\r
-       CALL    LWRD ?0439\r
+       LD      C,(IX+12)\r
+       LD      B,(IX+13)\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,65488\r
+       LD      E,(IX+10)\r
+       LD      D,(IX+11)\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 Button_new\r
+       LD      HL,LWRD Button_new\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
        POP     AF\r
@@ -3122,13 +3244,13 @@ Dialog_new:
        ADD     HL,BC\r
        PUSH    HL\r
        LD      DE,3\r
-       CALL    LWRD ?0450\r
+       CALL    LWRD ?0460\r
        POP     HL\r
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-       LD      BC,?0221\r
-       CALL    LWRD ?0456\r
+       LD      BC,?0223\r
+       CALL    LWRD ?0471\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      HL,254\r
        PUSH    HL\r
@@ -3137,7 +3259,19 @@ Dialog_new:
        LD      L,40\r
        PUSH    HL\r
        LD      HL,65480\r
-       CALL    LWRD ?0439\r
+       LD      C,(IX+12)\r
+       LD      B,(IX+13)\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,65488\r
+       LD      E,(IX+10)\r
+       LD      D,(IX+11)\r
+       ADD     HL,DE\r
+       EX      DE,HL\r
+       LD      A,BYTE3 Button_new\r
+       LD      HL,LWRD Button_new\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
        POP     AF\r
@@ -3147,31 +3281,16 @@ Dialog_new:
        ADD     HL,BC\r
        PUSH    HL\r
        LD      DE,7\r
-       CALL    LWRD ?0450\r
+       CALL    LWRD ?0460\r
        POP     HL\r
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-       LD      BC,?0222\r
-       CALL    LWRD ?0456\r
+       LD      BC,?0224\r
+       CALL    LWRD ?0471\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       JP      LWRD ?0418\r
-?0439:\r
-       LD      C,(IX+12)\r
-       LD      B,(IX+13)\r
-       ADD     HL,BC\r
-       LD      C,L\r
-       LD      B,H\r
-       LD      HL,65488\r
-       LD      E,(IX+10)\r
-       LD      D,(IX+11)\r
-       ADD     HL,DE\r
-       EX      DE,HL\r
-?0440:\r
-       LD      A,BYTE3 Button_new\r
-       LD      HL,LWRD Button_new\r
-       JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0456:\r
+       JP      LWRD ?0422\r
+?0471:\r
        LD      E,(IX-2)\r
        LD      D,(IX-1)\r
        LD      A,BYTE3 Component_setlabel\r
@@ -3202,12 +3321,12 @@ Display_handler:
        LD      B,(IX+5)\r
        AND     A\r
        SBC     HL,BC\r
-       JR      NZ,?0224\r
+       JR      NZ,?0226\r
        BIT     3,(IY+10)\r
-       JR      Z,?0224\r
-?0226:\r
+       JR      Z,?0226\r
+?0228:\r
+?0227:\r
 ?0225:\r
-?0223:\r
        LD      A,8\r
        XOR     (IX+10)\r
        OR      (IX+11)\r
@@ -3215,38 +3334,38 @@ Display_handler:
        LD      D,(IY+33)\r
        LD      A,BYTE3 strlen\r
        LD      HL,LWRD strlen\r
-       JR      NZ,?0228\r
-?0227:\r
-       CALL    LWRD ?0448\r
-       JR      Z,?0231\r
+       JR      NZ,?0230\r
 ?0229:\r
-       CALL    LWRD ?0445\r
+       CALL    LWRD ?0458\r
+       JR      Z,?0233\r
+?0231:\r
+       CALL    LWRD ?0455\r
        DEC     HL\r
        LD      (HL),0\r
+?0232:\r
+       JR      ?0233\r
 ?0230:\r
-       JR      ?0231\r
-?0228:\r
-       CALL    LWRD ?0446\r
+       CALL    LWRD ?0456\r
        INC     HL\r
        LD      (HL),0\r
-       CALL    LWRD ?0445\r
+       CALL    LWRD ?0455\r
        LD      B,(IX+10)\r
        LD      (HL),B\r
-?0231:\r
+?0233:\r
        LD      HL,0\r
        PUSH    HL\r
        LD      BC,259\r
-       CALL    LWRD ?0463\r
+       CALL    LWRD ?0476\r
        POP     HL\r
-?0224:\r
+?0226:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0445:\r
+?0455:\r
        LD      E,(IY+32)\r
        LD      D,(IY+33)\r
        LD      A,BYTE3 strlen\r
        LD      HL,LWRD strlen\r
-?0446:\r
+?0456:\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      C,(IY+32)\r
        LD      B,(IY+33)\r
@@ -3269,7 +3388,7 @@ Display_paint:
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,10\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
@@ -3289,19 +3408,19 @@ Display_paint:
        POP     HL\r
        AND     A\r
        SBC     HL,BC\r
-       JR      Z,?0233\r
-?0232:\r
-       CALL    LWRD ?0473\r
-?0233:\r
-       BIT     0,(IX+10)\r
-       JP      Z,?0248\r
+       JR      Z,?0235\r
 ?0234:\r
+       CALL    LWRD ?0449\r
+?0235:\r
+       BIT     0,(IX+10)\r
+       JP      Z,?0250\r
+?0236:\r
        LD      HL,2\r
        ADD     HL,SP\r
        PUSH    HL\r
        DEC     HL\r
        DEC     HL\r
-       CALL    LWRD ?0468\r
+       CALL    LWRD ?0479\r
        POP     HL\r
        LD      HL,2\r
        ADD     HL,SP\r
@@ -3311,7 +3430,7 @@ Display_paint:
        DEC     HL\r
        DEC     HL\r
        DEC     HL\r
-       CALL    LWRD ?0458\r
+       CALL    LWRD ?0473\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      L,(IX+8)\r
        LD      H,(IX+9)\r
@@ -3332,14 +3451,14 @@ Display_paint:
        INC     HL\r
        LD      B,(HL)\r
        BIT     1,(IX+10)\r
-       JR      Z,?0237\r
+       JR      Z,?0239\r
        LD      E,(IX+16)\r
        LD      D,0\r
-       JR      ?0238\r
-?0237:\r
+       JR      ?0240\r
+?0239:\r
        LD      DE,0\r
-?0238:\r
-       CALL    LWRD ?0471\r
+?0240:\r
+       CALL    LWRD ?0484\r
        POP     HL\r
        POP     HL\r
        POP     HL\r
@@ -3348,40 +3467,21 @@ Display_paint:
        LD      B,(IX+9)\r
        LD      E,(IX+6)\r
        LD      D,(IX+7)\r
-       JR      NZ,?0240\r
-?0239:\r
+       JR      NZ,?0242\r
+?0241:\r
        LD      A,BYTE3 FillRectNC\r
        LD      HL,LWRD FillRectNC\r
-       JR      ?0364\r
-?0240:\r
+       JR      ?0374\r
+?0242:\r
        LD      A,BYTE3 DrawRectNC\r
        LD      HL,LWRD DrawRectNC\r
-?0364:\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0241:\r
-       LD      E,(IX+32)\r
-       LD      D,(IX+33)\r
-       LD      HL,10\r
-       LD      BC,(global)\r
-       ADD     HL,BC\r
-       LD      B,(HL)\r
-       INC     HL\r
-       LD      H,(HL)\r
-       LD      L,B\r
-       LD      BC,5\r
+?0374:\r
+       CALL    LWRD ?0470\r
+?0243:\r
+       CALL    LWRD ?0462\r
+       LD      C,(IX+8)\r
+       LD      B,(IX+9)\r
        ADD     HL,BC\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       INC     HL\r
-       LD      A,(HL)\r
-       LD      L,C\r
-       LD      H,B\r
-       CALL    LWRD ?0449\r
-       LD      L,(IX+8)\r
-       LD      H,(IX+9)\r
-       AND     A\r
-       SBC     HL,BC\r
        EX      DE,HL\r
        LD      BC,2\r
        CALL    LWRD ?SS_DIV_L02\r
@@ -3393,8 +3493,6 @@ Display_paint:
        LD      H,(HL)\r
        LD      L,B\r
        ADD     HL,DE\r
-       LD      BC,7\r
-       ADD     HL,BC\r
        LD      C,L\r
        LD      B,H\r
        LD      HL,0\r
@@ -3408,30 +3506,30 @@ Display_paint:
        LD      HL,LWRD Move\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        BIT     0,(IX+11)\r
-       JR      Z,?0243\r
-?0242:\r
+       JR      Z,?0245\r
+?0244:\r
        LD      IY,0\r
-?0245:\r
+?0247:\r
        LD      E,(IX+32)\r
        LD      D,(IX+33)\r
        LD      A,BYTE3 strlen\r
        LD      HL,LWRD strlen\r
-       CALL    LWRD ?0449\r
+       CALL    LWRD ?0459\r
        PUSH    IY\r
        POP     HL\r
        AND     A\r
        SBC     HL,BC\r
        LD      HL,6\r
-       JR      NC,?0244\r
-?0246:\r
+       JR      NC,?0246\r
+?0248:\r
        ADD     HL,SP\r
        PUSH    IY\r
        POP     BC\r
        ADD     HL,BC\r
        LD      (HL),42\r
        INC     IY\r
-       JR      ?0245\r
-?0244:\r
+       JR      ?0247\r
+?0246:\r
        ADD     HL,SP\r
        PUSH    IY\r
        POP     BC\r
@@ -3440,20 +3538,18 @@ Display_paint:
        LD      HL,6\r
        ADD     HL,SP\r
        EX      DE,HL\r
-       JR      ?0365\r
-?0243:\r
+       JR      ?0375\r
+?0245:\r
        LD      E,(IX+32)\r
        LD      D,(IX+33)\r
-?0365:\r
-       LD      A,BYTE3 Text\r
-       LD      HL,LWRD Text\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0248:\r
-?0235:\r
+?0375:\r
+       CALL    LWRD ?0452\r
+?0250:\r
+?0237:\r
        LD      HL,72\r
        ADD     HL,SP\r
        LD      SP,HL\r
-       JP      LWRD ?0411\r
+       JP      LWRD ?0415\r
 Display_new:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    0\r
@@ -3469,7 +3565,9 @@ Display_new:
        PUSH    HL\r
        LD      E,(IX+2)\r
        LD      D,(IX+3)\r
-       CALL    LWRD ?0440\r
+       LD      A,BYTE3 Button_new\r
+       LD      HL,LWRD Button_new\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
        POP     AF\r
@@ -3478,7 +3576,7 @@ Display_new:
        LD      BC,10\r
        ADD     HL,BC\r
        SET     3,(HL)\r
-       LD      BC,?0249\r
+       LD      BC,?0251\r
        PUSH    IY\r
        POP     DE\r
        LD      A,BYTE3 Component_setlabel\r
@@ -3490,7 +3588,7 @@ Display_new:
        LD      (IY+23),LOW(Display_handler)\r
        LD      (IY+24),HIGH(Display_handler)\r
        LD      (IY+25),BYTE3 Display_handler\r
-       JP      LWRD ?0418\r
+       JP      LWRD ?0422\r
 Label_handler:\r
        CALL    LWRD ?ENT_PARM_DIRECT_L09\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
@@ -3513,7 +3611,7 @@ Label_paint:
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,10\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
@@ -3533,17 +3631,17 @@ Label_paint:
        POP     HL\r
        AND     A\r
        SBC     HL,BC\r
-       JR      Z,?0251\r
-?0250:\r
-       CALL    LWRD ?0473\r
-?0251:\r
-       BIT     0,(IX+10)\r
        JR      Z,?0253\r
 ?0252:\r
+       CALL    LWRD ?0449\r
+?0253:\r
+       BIT     0,(IX+10)\r
+       JR      Z,?0255\r
+?0254:\r
        LD      HL,0\r
        ADD     HL,SP\r
        PUSH    HL\r
-       CALL    LWRD ?0467\r
+       CALL    LWRD ?0478\r
        POP     HL\r
        LD      HL,0\r
        ADD     HL,SP\r
@@ -3561,8 +3659,8 @@ Label_paint:
        LD      HL,LWRD Button_drawtext\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     HL\r
-?0253:\r
-       JP      LWRD ?0178\r
+?0255:\r
+       JP      LWRD ?0165\r
 Label_new:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    0\r
@@ -3573,7 +3671,11 @@ Label_new:
        LD      L,(IX+10)\r
        LD      H,(IX+11)\r
        PUSH    HL\r
-       CALL    LWRD ?0438\r
+       LD      E,(IX+2)\r
+       LD      D,(IX+3)\r
+       LD      A,BYTE3 Component_new\r
+       LD      HL,LWRD Component_new\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
        PUSH    HL\r
@@ -3596,7 +3698,7 @@ Label_new:
        LD      (IY+29),LOW(Button_add)\r
        LD      (IY+30),HIGH(Button_add)\r
        LD      (IY+31),BYTE3 Button_add\r
-       JP      LWRD ?0418\r
+       JP      LWRD ?0422\r
 rootWindow_handler:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
        DEFW    0\r
@@ -3618,23 +3720,21 @@ screenbuilder:
        LD      HL,0\r
        PUSH    HL\r
        PUSH    BC\r
-       LD      A,BYTE3 open\r
-       LD      HL,LWRD open\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       CALL    LWRD ?0444\r
        POP     AF\r
        POP     AF\r
        LD      (IX-44),L\r
        LD      (IX-43),H\r
-       LD      (IX-16),43\r
+       LD      (IX-16),6\r
        LD      (IX-15),0\r
-       LD      (IX-14),26\r
+       LD      (IX-14),5\r
        LD      (IX-13),0\r
-?0256:\r
+?0258:\r
        LD      (IX-12),0\r
        LD      A,(IX-40)\r
        CP      115\r
-       JR      NZ,?0258\r
-?0257:\r
+       JR      NZ,?0260\r
+?0259:\r
        LD      L,(IX-39)\r
        LD      H,(IX-38)\r
        LD      (IX-16),L\r
@@ -3643,36 +3743,43 @@ screenbuilder:
        LD      H,(IX-36)\r
        LD      (IX-14),L\r
        LD      (IX-13),H\r
-?0258:\r
+?0260:\r
        LD      A,(IX-40)\r
        CP      66\r
-       JR      Z,?0261\r
+       JR      Z,?0263\r
        LD      A,(IX-40)\r
        CP      77\r
-       JR      NZ,?0260\r
+       JR      NZ,?0262\r
+?0263:\r
+?0264:\r
 ?0261:\r
-?0262:\r
-?0259:\r
        LD      C,(IX-35)\r
        LD      B,0\r
        PUSH    BC\r
-       CALL    LWRD ?0482\r
+       CALL    LWRD ?0490\r
        PUSH    DE\r
-       LD      C,(IX-37)\r
-       LD      E,(IX-16)\r
-       LD      D,(IX-15)\r
-       CALL    LWRD ?0483\r
+       CALL    LWRD ?0491\r
        PUSH    DE\r
-       LD      C,(IX-38)\r
-       LD      E,(IX-14)\r
-       LD      D,(IX-13)\r
-       CALL    LWRD ?S_MUL_L02\r
+       LD      L,(IX-37)\r
+       LD      H,0\r
+       LD      B,H\r
+       LD      C,(IX-39)\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      DE,259\r
+       CALL    LWRD ?0492\r
+       EX      DE,HL\r
+       POP     DE\r
+       AND     A\r
+       SBC     HL,DE\r
+       DEC     HL\r
+       DEC     HL\r
+       DEC     HL\r
+       PUSH    HL\r
+       CALL    LWRD ?0493\r
        PUSH    DE\r
-       LD      E,(IX-39)\r
-       LD      D,B\r
-       LD      C,(IX-16)\r
-       LD      B,(IX-15)\r
-       CALL    LWRD ?S_MUL_L02\r
+       CALL    LWRD ?0491\r
        LD      A,BYTE3 Button_new\r
        LD      HL,LWRD Button_new\r
        POP     BC\r
@@ -3684,36 +3791,43 @@ screenbuilder:
        POP     IY\r
        LD      A,(IX-40)\r
        CP      77\r
-       JR      NZ,?0264\r
-?0263:\r
+       JR      NZ,?0266\r
+?0265:\r
        SET     6,(IY+10)\r
-?0264:\r
+?0266:\r
        LD      (IX-12),1\r
-?0260:\r
+?0262:\r
        LD      A,(IX-40)\r
        CP      84\r
-       JR      NZ,?0266\r
-?0265:\r
+       JR      NZ,?0268\r
+?0267:\r
        LD      C,(IX-35)\r
        LD      B,0\r
        PUSH    BC\r
-       CALL    LWRD ?0482\r
+       CALL    LWRD ?0490\r
        PUSH    DE\r
-       LD      C,(IX-37)\r
-       LD      E,(IX-16)\r
-       LD      D,(IX-15)\r
-       CALL    LWRD ?0483\r
+       CALL    LWRD ?0491\r
        PUSH    DE\r
-       LD      C,(IX-38)\r
-       LD      E,(IX-14)\r
-       LD      D,(IX-13)\r
-       CALL    LWRD ?S_MUL_L02\r
+       LD      L,(IX-37)\r
+       LD      H,0\r
+       LD      B,H\r
+       LD      C,(IX-39)\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      DE,259\r
+       CALL    LWRD ?0492\r
+       EX      DE,HL\r
+       POP     DE\r
+       AND     A\r
+       SBC     HL,DE\r
+       DEC     HL\r
+       DEC     HL\r
+       DEC     HL\r
+       PUSH    HL\r
+       CALL    LWRD ?0493\r
        PUSH    DE\r
-       LD      E,(IX-39)\r
-       LD      D,B\r
-       LD      C,(IX-16)\r
-       LD      B,(IX-15)\r
-       CALL    LWRD ?S_MUL_L02\r
+       CALL    LWRD ?0491\r
        LD      A,BYTE3 ToggleButton_new\r
        LD      HL,LWRD ToggleButton_new\r
        POP     BC\r
@@ -3724,31 +3838,38 @@ screenbuilder:
        PUSH    HL\r
        POP     IY\r
        LD      (IX-12),1\r
-?0266:\r
+?0268:\r
        LD      A,(IX-40)\r
        CP      68\r
-       JR      NZ,?0268\r
-?0267:\r
+       JR      NZ,?0270\r
+?0269:\r
        LD      C,(IX-35)\r
        LD      B,0\r
        PUSH    BC\r
-       CALL    LWRD ?0482\r
+       CALL    LWRD ?0490\r
        PUSH    DE\r
-       LD      C,(IX-37)\r
-       LD      E,(IX-16)\r
-       LD      D,(IX-15)\r
-       CALL    LWRD ?0483\r
+       CALL    LWRD ?0491\r
        PUSH    DE\r
-       LD      C,(IX-38)\r
-       LD      E,(IX-14)\r
-       LD      D,(IX-13)\r
-       CALL    LWRD ?S_MUL_L02\r
+       LD      L,(IX-37)\r
+       LD      H,0\r
+       LD      B,H\r
+       LD      C,(IX-39)\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      DE,259\r
+       CALL    LWRD ?0492\r
+       EX      DE,HL\r
+       POP     DE\r
+       AND     A\r
+       SBC     HL,DE\r
+       DEC     HL\r
+       DEC     HL\r
+       DEC     HL\r
+       PUSH    HL\r
+       CALL    LWRD ?0493\r
        PUSH    DE\r
-       LD      E,(IX-39)\r
-       LD      D,B\r
-       LD      C,(IX-16)\r
-       LD      B,(IX-15)\r
-       CALL    LWRD ?S_MUL_L02\r
+       CALL    LWRD ?0491\r
        LD      A,BYTE3 Display_new\r
        LD      HL,LWRD Display_new\r
        POP     BC\r
@@ -3759,33 +3880,40 @@ screenbuilder:
        PUSH    HL\r
        POP     IY\r
        LD      (IX-12),1\r
-?0268:\r
+?0270:\r
        LD      A,(IX-40)\r
        CP      76\r
-       JR      NZ,?0270\r
-?0269:\r
+       JR      NZ,?0272\r
+?0271:\r
        LD      HL,12\r
        ADD     HL,SP\r
        LD      BC,18\r
        ADD     HL,BC\r
        PUSH    HL\r
-       CALL    LWRD ?0482\r
+       CALL    LWRD ?0490\r
        PUSH    DE\r
-       LD      C,(IX-37)\r
-       LD      E,(IX-16)\r
-       LD      D,(IX-15)\r
-       CALL    LWRD ?0483\r
+       CALL    LWRD ?0491\r
        PUSH    DE\r
-       LD      C,(IX-38)\r
-       LD      E,(IX-14)\r
-       LD      D,(IX-13)\r
-       CALL    LWRD ?S_MUL_L02\r
+       LD      L,(IX-37)\r
+       LD      H,0\r
+       LD      B,H\r
+       LD      C,(IX-39)\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      DE,259\r
+       CALL    LWRD ?0492\r
+       EX      DE,HL\r
+       POP     DE\r
+       AND     A\r
+       SBC     HL,DE\r
+       DEC     HL\r
+       DEC     HL\r
+       DEC     HL\r
+       PUSH    HL\r
+       CALL    LWRD ?0493\r
        PUSH    DE\r
-       LD      E,(IX-39)\r
-       LD      D,B\r
-       LD      C,(IX-16)\r
-       LD      B,(IX-15)\r
-       CALL    LWRD ?S_MUL_L02\r
+       CALL    LWRD ?0491\r
        LD      A,BYTE3 Label_new\r
        LD      HL,LWRD Label_new\r
        POP     BC\r
@@ -3796,11 +3924,11 @@ screenbuilder:
        PUSH    HL\r
        POP     IY\r
        LD      (IX-12),1\r
-?0270:\r
+?0272:\r
        LD      A,(IX-40)\r
        CP      65\r
-       JR      NZ,?0272\r
-?0271:\r
+       JR      NZ,?0274\r
+?0273:\r
        LD      HL,38\r
        LD      C,(IX+2)\r
        LD      B,(IX+3)\r
@@ -3839,11 +3967,11 @@ screenbuilder:
        LD      A,BYTE3 root_actionhandler\r
        LD      HL,LWRD root_actionhandler\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0272:\r
+?0274:\r
        LD      A,(IX-40)\r
        CP      83\r
-       JR      NZ,?0274\r
-?0273:\r
+       JR      NZ,?0276\r
+?0275:\r
        LD      HL,12\r
        ADD     HL,SP\r
        LD      C,L\r
@@ -3859,7 +3987,7 @@ screenbuilder:
        ADD     HL,BC\r
        PUSH    HL\r
        LD      DE,4\r
-       CALL    LWRD ?0454\r
+       CALL    LWRD ?0466\r
        EX      DE,HL\r
        POP     HL\r
        LD      (HL),E\r
@@ -3882,7 +4010,7 @@ screenbuilder:
        INC     HL\r
        INC     HL\r
        PUSH    HL\r
-       LD      HL,8\r
+       LD      HL,12\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      E,(HL)\r
@@ -3892,7 +4020,7 @@ screenbuilder:
        LD      (HL),E\r
        INC     HL\r
        LD      (HL),D\r
-       LD      HL,6\r
+       LD      HL,10\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      B,(HL)\r
@@ -3907,20 +4035,20 @@ screenbuilder:
        INC     HL\r
        LD      (HL),B\r
        LD      (IX-12),0\r
-?0274:\r
+?0276:\r
        XOR     A\r
        OR      (IX-12)\r
-       JP      Z,?0276\r
-?0275:\r
+       JP      Z,?0278\r
+?0277:\r
        LD      A,(IX-34)\r
        OR      (IX-33)\r
-       JR      Z,?0278\r
-?0277:\r
+       JR      Z,?0280\r
+?0279:\r
        SET     5,(IY+10)\r
        LD      (IY+36),11\r
        LD      (IY+37),0\r
        LD      DE,11\r
-       CALL    LWRD ?0454\r
+       CALL    LWRD ?0466\r
        LD      (IY+38),L\r
        LD      (IY+39),H\r
        LD      L,(IY+38)\r
@@ -3971,16 +4099,16 @@ screenbuilder:
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-?0278:\r
+?0280:\r
        LD      A,(IX-26)\r
        OR      (IX-25)\r
-       JR      Z,?0280\r
-?0279:\r
+       JR      Z,?0282\r
+?0281:\r
        LD      L,(IX-26)\r
        LD      (IY+10),L\r
        LD      H,(IX-25)\r
        LD      (IY+11),H\r
-?0280:\r
+?0282:\r
        LD      L,(IX-24)\r
        LD      (IY+14),L\r
        LD      H,(IX-23)\r
@@ -3992,19 +4120,19 @@ screenbuilder:
        LD      (IY+33),A\r
        LD      A,(IY+32)\r
        OR      (IY+33)\r
-       JR      NZ,?0282\r
-?0281:\r
+       JR      NZ,?0284\r
+?0283:\r
        LD      DE,20\r
-       CALL    LWRD ?0454\r
+       CALL    LWRD ?0466\r
        LD      (IY+32),L\r
        LD      (IY+33),H\r
        LD      L,(IY+32)\r
        LD      H,(IY+33)\r
        LD      (HL),0\r
-       JR      ?0283\r
-?0282:\r
+       JR      ?0285\r
+?0284:\r
        SET     6,(IY+11)\r
-?0283:\r
+?0285:\r
        LD      A,(IX-21)\r
        LD      L,0\r
        LD      C,L\r
@@ -4012,8 +4140,8 @@ screenbuilder:
        LD      B,A\r
        LD      H,16\r
        SBC     HL,BC\r
-       JR      NC,?0285\r
-?0284:\r
+       JR      NC,?0287\r
+?0286:\r
        LD      L,(IX-22)\r
        LD      A,(IX-21)\r
        AND     15\r
@@ -4021,7 +4149,7 @@ screenbuilder:
        INC     HL\r
        LD      (IY+34),L\r
        LD      (IY+35),H\r
-?0285:\r
+?0287:\r
        PUSH    IY\r
        LD      E,(IX+2)\r
        LD      C,E\r
@@ -4038,7 +4166,7 @@ screenbuilder:
        LD      H,B\r
        POP     BC\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0276:\r
+?0278:\r
        LD      HL,20\r
        PUSH    HL\r
        LD      L,14\r
@@ -4047,18 +4175,18 @@ screenbuilder:
        LD      B,H\r
        LD      E,(IX-44)\r
        LD      D,(IX-43)\r
-       CALL    LWRD ?0441\r
+       LD      A,BYTE3 _read\r
+       LD      HL,LWRD _read\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        LD      A,20\r
        XOR     L\r
        OR      H\r
-       JP      Z,?0256\r
-?0254:\r
+       JP      Z,?0258\r
+?0256:\r
        LD      E,(IX-44)\r
        LD      D,(IX-43)\r
-       LD      A,BYTE3 close\r
-       LD      HL,LWRD close\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       CALL    LWRD ?0469\r
        LD      E,(IX+2)\r
        LD      D,(IX+3)\r
        LD      A,BYTE3 Component_linkstringtable\r
@@ -4077,43 +4205,51 @@ screenbuilder:
        LD      A,(HL)\r
        LD      L,C\r
        LD      H,B\r
-       JP      LWRD ?0424\r
-?0441:\r
-       LD      A,BYTE3 _read\r
-       LD      HL,LWRD _read\r
-       JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0454:\r
+       JP      LWRD ?0431\r
+?0466:\r
        LD      A,BYTE3 malloc\r
        LD      HL,LWRD malloc\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
-?0482:\r
+?0490:\r
        LD      C,(IX-36)\r
-       LD      E,(IX-14)\r
-       LD      D,(IX-13)\r
-?0483:\r
+       LD      DE,131\r
        CALL    LWRD ?S_MUL_L02\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       CALL    LWRD ?SS_DIV_L02\r
        DEC     DE\r
        DEC     DE\r
        DEC     DE\r
        RET\r
+?0491:\r
+       LD      E,(IX-39)\r
+       LD      D,0\r
+       LD      BC,259\r
+?0492:\r
+       CALL    LWRD ?S_MUL_L02\r
+       LD      C,(IX-16)\r
+       LD      B,(IX-15)\r
+       JP      LWRD ?SS_DIV_L02\r
+?0493:\r
+       LD      E,(IX-38)\r
+       LD      D,0\r
+       LD      BC,131\r
+       CALL    LWRD ?S_MUL_L02\r
+       LD      C,(IX-14)\r
+       LD      B,(IX-13)\r
+       JP      LWRD ?SS_DIV_L02\r
 root_actionhandler:\r
        CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-       DEFW    65514\r
+       DEFW    65528\r
        PUSH    IY\r
        LD      L,(IX+2)\r
        LD      H,(IX+3)\r
        PUSH    HL\r
        POP     IY\r
-       LD      HL,6\r
-       ADD     HL,SP\r
-       EX      DE,HL\r
-       LD      HL,?0286\r
-       LD      BC,14\r
-       LDIR\r
        LD      L,(IY+38)\r
-       LD      (IX-22),L\r
+       LD      (IX-8),L\r
        LD      H,(IY+39)\r
-       LD      (IX-21),H\r
+       LD      (IX-7),H\r
        INC     HL\r
        INC     HL\r
        INC     HL\r
@@ -4121,15 +4257,17 @@ root_actionhandler:
        XOR     (HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      NZ,?0288\r
-?0287:\r
-       PUSH    BC\r
-       LD      BC,1025\r
-       CALL    LWRD ?0463\r
-       POP     HL\r
+       JR      NZ,?0289\r
 ?0288:\r
-       LD      L,(IX-22)\r
-       LD      H,(IX-21)\r
+       LD      L,A\r
+       LD      H,A\r
+       PUSH    HL\r
+       LD      BC,1281\r
+       CALL    LWRD ?0476\r
+       POP     HL\r
+?0289:\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
        INC     HL\r
        INC     HL\r
        INC     HL\r
@@ -4141,10 +4279,36 @@ root_actionhandler:
        LD      A,2\r
        XOR     L\r
        OR      H\r
-       JP      NZ,?0290\r
-?0289:\r
-       LD      L,A\r
+       JP      NZ,?0291\r
+?0290:\r
+       LD      HL,5\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      A,(HL)\r
+       LD      L,D\r
+       AND     15\r
        LD      H,A\r
+       ADD     HL,HL\r
+       PUSH    HL\r
+       LD      HL,12\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       POP     HL\r
+       ADD     HL,DE\r
+       DEC     HL\r
+       DEC     HL\r
+       LD      D,(HL)\r
+       LD      (IX-4),D\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      (IX-3),H\r
+       LD      HL,0\r
        PUSH    HL\r
        PUSH    HL\r
        LD      BC,1\r
@@ -4179,32 +4343,32 @@ root_actionhandler:
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        POP     AF\r
-       LD      (IX-20),L\r
-       LD      (IX-19),H\r
+       LD      (IX-6),L\r
+       LD      (IX-5),H\r
        LD      BC,10\r
        ADD     HL,BC\r
        LD      (HL),3\r
        INC     HL\r
        LD      (HL),B\r
-       LD      L,(IX-22)\r
-       LD      H,(IX-21)\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
        INC     HL\r
        INC     HL\r
        INC     HL\r
        BIT     0,(HL)\r
-       JR      Z,?0292\r
-?0291:\r
+       JR      Z,?0293\r
+?0292:\r
        LD      L,C\r
        LD      H,B\r
-       LD      C,(IX-20)\r
-       LD      B,(IX-19)\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
        ADD     HL,BC\r
        INC     HL\r
        SET     5,(HL)\r
-?0292:\r
+?0293:\r
        LD      HL,23\r
-       LD      C,(IX-20)\r
-       LD      B,(IX-19)\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
        ADD     HL,BC\r
        LD      (HL),LOW(rootWindow_handler)\r
        INC     HL\r
@@ -4218,69 +4382,15 @@ root_actionhandler:
        LD      (HL),HIGH(Root_paint)\r
        INC     HL\r
        LD      (HL),BYTE3 Root_paint\r
-       LD      HL,7\r
-       LD      E,(IX-22)\r
-       LD      D,(IX-21)\r
-       ADD     HL,DE\r
-       LD      E,(HL)\r
-       EX      DE,HL\r
-       LD      (IX-13),L\r
-       LD      HL,7\r
-       LD      C,(IX-22)\r
-       LD      B,(IX-21)\r
-       ADD     HL,BC\r
-       LD      E,(HL)\r
-       INC     HL\r
-       LD      D,(HL)\r
-       INC     HL\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       EX      DE,HL\r
-       LD      A,8\r
-       CALL    LWRD ?SL_RSH_L03\r
-       LD      (IX-12),L\r
-       LD      HL,7\r
-       LD      C,(IX-22)\r
-       LD      B,(IX-21)\r
-       ADD     HL,BC\r
-       LD      E,(HL)\r
-       INC     HL\r
-       LD      D,(HL)\r
-       INC     HL\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       EX      DE,HL\r
-       LD      A,16\r
-       CALL    LWRD ?SL_RSH_L03\r
-       LD      (IX-11),L\r
-       LD      HL,7\r
-       LD      C,(IX-22)\r
-       LD      B,(IX-21)\r
-       ADD     HL,BC\r
-       LD      E,(HL)\r
-       INC     HL\r
-       LD      D,(HL)\r
-       INC     HL\r
-       LD      C,(HL)\r
-       INC     HL\r
-       LD      B,(HL)\r
-       EX      DE,HL\r
-       LD      A,24\r
-       CALL    LWRD ?SL_RSH_L03\r
-       LD      (IX-10),L\r
-       LD      HL,6\r
-       ADD     HL,SP\r
-       LD      C,L\r
-       LD      B,H\r
-       LD      E,(IX-20)\r
-       LD      D,(IX-19)\r
+       LD      C,(IX-4)\r
+       LD      B,(IX-3)\r
+       LD      E,(IX-6)\r
+       LD      D,(IX-5)\r
        LD      A,BYTE3 screenbuilder\r
        LD      HL,LWRD screenbuilder\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       LD      C,(IX-20)\r
-       LD      B,(IX-19)\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
        PUSH    BC\r
        LD      E,(IY+17)\r
        LD      D,(IY+18)\r
@@ -4297,9 +4407,9 @@ root_actionhandler:
        LD      H,B\r
        POP     BC\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0290:\r
-       LD      L,(IX-22)\r
-       LD      H,(IX-21)\r
+?0291:\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
        INC     HL\r
        INC     HL\r
        INC     HL\r
@@ -4307,8 +4417,8 @@ root_actionhandler:
        XOR     (HL)\r
        INC     HL\r
        OR      (HL)\r
-       JP      NZ,?0294\r
-?0293:\r
+       JP      NZ,?0295\r
+?0294:\r
        LD      HL,1\r
        PUSH    HL\r
        LD      L,(IY+17)\r
@@ -4342,16 +4452,16 @@ root_actionhandler:
        POP     AF\r
        POP     AF\r
        POP     AF\r
-       LD      (IX-20),L\r
-       LD      (IX-19),H\r
+       LD      (IX-6),L\r
+       LD      (IX-5),H\r
        LD      BC,10\r
        ADD     HL,BC\r
        LD      (HL),3\r
        INC     HL\r
        LD      (HL),16\r
        LD      HL,14\r
-       LD      C,(IX-20)\r
-       LD      B,(IX-19)\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
        ADD     HL,BC\r
        LD      (HL),48\r
        INC     HL\r
@@ -4359,10 +4469,10 @@ root_actionhandler:
        XOR     A\r
        LD      (IX-2),A\r
        LD      (IX-1),A\r
-?0296:\r
+?0297:\r
        LD      HL,5\r
-       LD      C,(IX-22)\r
-       LD      B,(IX-21)\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
        ADD     HL,BC\r
        LD      E,(HL)\r
        INC     HL\r
@@ -4374,18 +4484,18 @@ root_actionhandler:
        LD      L,(IX-2)\r
        LD      H,(IX-1)\r
        CALL    LWRD ?SS_CMP_L02\r
-       JR      NC,?0367\r
+       JR      NC,?0377\r
        LD      A,1\r
-       JR      ?0368\r
-?0367:\r
+       JR      ?0378\r
+?0377:\r
        XOR     A\r
-?0368:\r
+?0378:\r
        AND     15\r
-       JP      Z,?0295\r
-?0297:\r
+       JP      Z,?0296\r
+?0298:\r
        LD      HL,5\r
-       LD      C,(IX-22)\r
-       LD      B,(IX-21)\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
        ADD     HL,BC\r
        LD      B,(HL)\r
        INC     HL\r
@@ -4398,7 +4508,7 @@ root_actionhandler:
        ADD     HL,BC\r
        ADD     HL,HL\r
        PUSH    HL\r
-       LD      HL,8\r
+       LD      HL,12\r
        LD      DE,(global)\r
        ADD     HL,DE\r
        LD      E,(HL)\r
@@ -4415,8 +4525,8 @@ root_actionhandler:
        LD      HL,16\r
        PUSH    HL\r
        LD      L,6\r
-       LD      E,(IX-20)\r
-       LD      D,(IX-19)\r
+       LD      E,(IX-6)\r
+       LD      D,(IX-5)\r
        ADD     HL,DE\r
        LD      L,(HL)\r
        LD      H,0\r
@@ -4452,9 +4562,9 @@ root_actionhandler:
        LD      C,(IX-4)\r
        LD      B,(IX-3)\r
        PUSH    BC\r
-       LD      E,(IX-20)\r
+       LD      E,(IX-6)\r
        LD      C,E\r
-       LD      D,(IX-19)\r
+       LD      D,(IX-5)\r
        LD      B,D\r
        LD      HL,29\r
        ADD     HL,BC\r
@@ -4468,30 +4578,30 @@ root_actionhandler:
        POP     BC\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        INC     (IX-2)\r
-       JR      NZ,?0369\r
+       JR      NZ,?0379\r
        INC     (IX-1)\r
-?0369:\r
-       JP      LWRD ?0296\r
-?0295:\r
-       LD      BC,?0299\r
-       LD      E,(IX-20)\r
-       LD      D,(IX-19)\r
+?0379:\r
+       JP      LWRD ?0297\r
+?0296:\r
+       LD      BC,?0300\r
+       LD      E,(IX-6)\r
+       LD      D,(IX-5)\r
        LD      A,BYTE3 Component_setlabel\r
        LD      HL,LWRD Component_setlabel\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        LD      BC,255\r
-       CALL    LWRD ?0476\r
+       CALL    LWRD ?0485\r
        LD      BC,14\r
        ADD     HL,BC\r
        LD      (HL),48\r
        INC     HL\r
        LD      (HL),B\r
        LD      C,254\r
-       CALL    LWRD ?0476\r
+       CALL    LWRD ?0485\r
        EX      DE,HL\r
-       CALL    LWRD ?0453\r
-       LD      C,(IX-20)\r
-       LD      B,(IX-19)\r
+       CALL    LWRD ?0467\r
+       LD      C,(IX-6)\r
+       LD      B,(IX-5)\r
        PUSH    BC\r
        LD      E,(IY+17)\r
        LD      D,(IY+18)\r
@@ -4526,8 +4636,61 @@ root_actionhandler:
        LD      BC,259\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     HL\r
-?0294:\r
-       LD      HL,16\r
+?0295:\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       INC     HL\r
+       INC     HL\r
+       INC     HL\r
+       LD      A,5\r
+       XOR     (HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       JR      NZ,?0302\r
+?0301:\r
+       LD      HL,5\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       LD      HL,7\r
+       ADD     HL,BC\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,(global)\r
+       INC     HL\r
+       INC     HL\r
+       CALL    LWRD ?0445\r
+       POP     AF\r
+?0302:\r
+       LD      L,(IX-8)\r
+       LD      H,(IX-7)\r
+       INC     HL\r
+       INC     HL\r
+       INC     HL\r
+       LD      A,6\r
+       XOR     (HL)\r
+       INC     HL\r
+       OR      (HL)\r
+       JR      NZ,?0304\r
+?0303:\r
+       LD      HL,5\r
+       LD      C,(IX-8)\r
+       LD      B,(IX-7)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       LD      HL,7\r
+       ADD     HL,BC\r
+       CALL    LWRD ?0446\r
+       POP     AF\r
+?0304:\r
+       LD      HL,24\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
@@ -4535,19 +4698,19 @@ root_actionhandler:
        OR      (HL)\r
        INC     HL\r
        OR      (HL)\r
-       JR      Z,?0301\r
-?0300:\r
+       JR      Z,?0306\r
+?0305:\r
        PUSH    IY\r
        POP     DE\r
-       LD      HL,16\r
+       LD      HL,24\r
        LD      BC,(global)\r
-       CALL    LWRD ?0475\r
-?0301:\r
+       CALL    LWRD ?0451\r
+?0306:\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0476:\r
-       LD      E,(IX-20)\r
-       LD      D,(IX-19)\r
+?0485:\r
+       LD      E,(IX-6)\r
+       LD      D,(IX-5)\r
        LD      A,BYTE3 Component_find\r
        LD      HL,LWRD Component_find\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
@@ -4573,35 +4736,37 @@ read_stringtable:
        LD      H,A\r
        ADD     HL,HL\r
        EX      DE,HL\r
-       CALL    LWRD ?0454\r
+       CALL    LWRD ?0466\r
        LD      (IX-6),L\r
        LD      (IX-5),H\r
        LD      E,C\r
        LD      D,B\r
-       CALL    LWRD ?0447\r
+       CALL    LWRD ?0457\r
        PUSH    BC\r
        LD      C,L\r
        LD      B,H\r
        LD      E,(IX+2)\r
        LD      D,(IX+3)\r
-       CALL    LWRD ?0441\r
+       LD      A,BYTE3 _read\r
+       LD      HL,LWRD _read\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        LD      DE,0\r
        XOR     A\r
        LD      (IX-8),A\r
        LD      (IX-7),A\r
-?0303:\r
+?0308:\r
        LD      C,(IX-4)\r
        LD      B,(IX-3)\r
        LD      L,E\r
        LD      H,D\r
        CALL    LWRD ?SS_CMP_L02\r
-       JR      NC,?0302\r
-       CALL    LWRD ?0479\r
-       JR      NC,?0302\r
-?0306:\r
-?0305:\r
-?0304:\r
+       JR      NC,?0307\r
+       CALL    LWRD ?0488\r
+       JR      NC,?0307\r
+?0311:\r
+?0310:\r
+?0309:\r
        INC     HL\r
        LD      (IX-8),L\r
        LD      (IX-7),H\r
@@ -4620,17 +4785,17 @@ read_stringtable:
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-?0308:\r
+?0313:\r
        PUSH    IY\r
        POP     HL\r
        ADD     HL,DE\r
        LD      A,(HL)\r
        OR      A\r
-       JR      Z,?0307\r
-?0309:\r
+       JR      Z,?0312\r
+?0314:\r
        INC     DE\r
-       JR      ?0308\r
-?0307:\r
+       JR      ?0313\r
+?0312:\r
        LD      L,E\r
        LD      H,D\r
        INC     DE\r
@@ -4638,11 +4803,11 @@ read_stringtable:
        POP     BC\r
        ADD     HL,BC\r
        LD      (HL),A\r
-       JR      ?0303\r
-?0302:\r
-       CALL    LWRD ?0479\r
-       JR      NC,?0311\r
-?0310:\r
+       JR      ?0308\r
+?0307:\r
+       CALL    LWRD ?0488\r
+       JR      NC,?0316\r
+?0315:\r
        ADD     HL,HL\r
        LD      C,(IX-6)\r
        LD      B,(IX-5)\r
@@ -4657,8 +4822,8 @@ read_stringtable:
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-?0311:\r
-       LD      HL,6\r
+?0316:\r
+       LD      HL,10\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        PUSH    IY\r
@@ -4666,7 +4831,7 @@ read_stringtable:
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-       LD      HL,8\r
+       LD      HL,12\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      C,(IX-6)\r
@@ -4676,7 +4841,7 @@ read_stringtable:
        LD      (HL),B\r
        POP     IY\r
        JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
-?0479:\r
+?0488:\r
        LD      C,(IX-2)\r
        LD      B,(IX-1)\r
        LD      L,(IX-8)\r
@@ -4688,44 +4853,44 @@ gui_globals:
 GUIinit:\r
        PUSH    BC\r
        PUSH    DE\r
-       LD      DE,19\r
-       CALL    LWRD ?0454\r
+       LD      DE,27\r
+       CALL    LWRD ?0466\r
        LD      (global),HL\r
        XOR     A\r
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,4\r
+       LD      HL,8\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,10\r
+       LD      HL,18\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,12\r
+       LD      HL,20\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,8\r
+       LD      HL,12\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,6\r
+       LD      HL,10\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      (HL),A\r
        INC     HL\r
        LD      (HL),A\r
-       LD      HL,16\r
+       LD      HL,24\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      (HL),A\r
@@ -4748,7 +4913,7 @@ GUIinit:
        LD      HL,LWRD stringwidth0\r
        PUSH    HL\r
        LD      DE,48\r
-       CALL    LWRD ?0484\r
+       CALL    LWRD ?0494\r
        LD      HL,12\r
        ADD     HL,SP\r
        LD      SP,HL\r
@@ -4764,7 +4929,7 @@ GUIinit:
        LD      HL,LWRD stringwidth1\r
        PUSH    HL\r
        LD      DE,49\r
-       CALL    LWRD ?0484\r
+       CALL    LWRD ?0494\r
        LD      HL,12\r
        ADD     HL,SP\r
        LD      SP,HL\r
@@ -4780,11 +4945,11 @@ GUIinit:
        LD      HL,LWRD stringwidth2\r
        PUSH    HL\r
        LD      DE,50\r
-       CALL    LWRD ?0484\r
+       CALL    LWRD ?0494\r
        LD      HL,12\r
        ADD     HL,SP\r
        LD      SP,HL\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        PUSH    HL\r
@@ -4805,7 +4970,7 @@ GUIinit:
        LD      (HL),C\r
        INC     HL\r
        LD      (HL),B\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      D,(HL)\r
@@ -4817,7 +4982,7 @@ GUIinit:
        LD      (HL),1\r
        INC     HL\r
        LD      (HL),D\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      D,(HL)\r
@@ -4831,7 +4996,7 @@ GUIinit:
        LD      (HL),HIGH(rootWindow_handler)\r
        INC     HL\r
        LD      (HL),BYTE3 rootWindow_handler\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      B,(HL)\r
@@ -4848,20 +5013,20 @@ GUIinit:
        POP     DE\r
        POP     BC\r
        JP      LWRD ?BANK_FAST_LEAVE_L08\r
-?0484:\r
+?0494:\r
        LD      A,BYTE3 loadFont\r
        LD      HL,LWRD loadFont\r
        JP      LWRD ?BANK_CALL_DIRECT_L08\r
 GUIunit:\r
        PUSH    BC\r
        PUSH    DE\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      E,(HL)\r
        INC     HL\r
        LD      D,(HL)\r
-       CALL    LWRD ?0453\r
+       CALL    LWRD ?0467\r
        LD      A,BYTE3 ClearScreen\r
        LD      HL,LWRD ClearScreen\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
@@ -4872,11 +5037,16 @@ GUIunit:
        POP     BC\r
        JP      LWRD ?BANK_FAST_LEAVE_L08\r
 GUIgo:\r
-       CALL    LWRD ?ENT_AUTO_DIRECT_L09\r
-       DEFW    65534\r
-       LD      C,(IX+2)\r
-       LD      B,(IX+3)\r
-       LD      HL,14\r
+       PUSH    BC\r
+       PUSH    IX\r
+       PUSH    DE\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    AF\r
+       PUSH    AF\r
+       LD      C,E\r
+       LD      B,D\r
+       LD      HL,22\r
        LD      DE,(global)\r
        ADD     HL,DE\r
        LD      E,(HL)\r
@@ -4885,57 +5055,124 @@ GUIgo:
        LD      A,BYTE3 screenbuilder\r
        LD      HL,LWRD screenbuilder\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-?0313:\r
-       LD      HL,4\r
+       LD      HL,14\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      DE,16\r
+       CALL    LWRD ?0466\r
+       EX      DE,HL\r
+       POP     HL\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      HL,14\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       LD      A,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,A\r
+       LD      (HL),0\r
+       LD      HL,16\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      DE,0\r
+       PUSH    DE\r
+       LD      DE,?0317\r
+       PUSH    DE\r
+       CALL    LWRD ?0444\r
+       POP     AF\r
+       POP     AF\r
+       EX      DE,HL\r
+       POP     HL\r
+       LD      (HL),E\r
+       INC     HL\r
+       LD      (HL),D\r
+       LD      HL,2\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      HL,0\r
+       PUSH    HL\r
+       LD      L,16\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       PUSH    DE\r
+       CALL    LWRD ?0443\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      HL,6\r
+       ADD     HL,SP\r
+       LD      (HL),96\r
+       INC     HL\r
+       LD      (HL),0\r
+       LD      HL,2\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       LD      HL,1\r
+       PUSH    HL\r
+       LD      L,16\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       PUSH    BC\r
+       CALL    LWRD ?0443\r
+       POP     AF\r
+       POP     AF\r
+       POP     AF\r
+       LD      IX,0\r
+?0319:\r
+       LD      HL,8\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      A,(HL)\r
        INC     HL\r
        OR      (HL)\r
-       JP      NZ,?0312\r
-?0314:\r
+       JP      NZ,?0318\r
+?0320:\r
        LD      HL,1\r
        PUSH    HL\r
        INC     HL\r
        ADD     HL,SP\r
        LD      C,L\r
        LD      B,H\r
-       LD      HL,(global)\r
-       INC     HL\r
-       INC     HL\r
+       LD      HL,6\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
        LD      E,(HL)\r
        INC     HL\r
        LD      D,(HL)\r
-       CALL    LWRD ?0441\r
+       LD      A,BYTE3 _read\r
+       LD      HL,LWRD _read\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     AF\r
        LD      A,1\r
        XOR     L\r
        OR      H\r
-       JR      NZ,?0313\r
-?0315:\r
-       LD      C,(IX-2)\r
-       LD      B,A\r
-       PUSH    BC\r
-       LD      HL,?0317\r
-       PUSH    HL\r
-       LD      A,BYTE3 printf\r
-       LD      HL,LWRD printf\r
-       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
-       POP     AF\r
-       POP     AF\r
-       XOR     A\r
-       OR      (IX-2)\r
-       JR      Z,?0319\r
-?0318:\r
+       JR      NZ,?0322\r
+?0321:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       OR      (HL)\r
+       JR      Z,?0324\r
+?0323:\r
        LD      C,A\r
+       LD      B,0\r
        PUSH    BC\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      DE,(global)\r
        ADD     HL,DE\r
        LD      E,(HL)\r
        INC     HL\r
        LD      D,(HL)\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      B,(HL)\r
@@ -4952,17 +5189,19 @@ GUIgo:
        LD      L,C\r
        LD      H,B\r
        LD      BC,1\r
-       JR      ?0370\r
-?0319:\r
-       LD      C,(IX-1)\r
+       JR      ?0381\r
+?0324:\r
+       INC     HL\r
+       LD      C,(HL)\r
+       LD      B,A\r
        PUSH    BC\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      DE,(global)\r
        ADD     HL,DE\r
        LD      E,(HL)\r
        INC     HL\r
        LD      D,(HL)\r
-       LD      HL,14\r
+       LD      HL,22\r
        LD      BC,(global)\r
        ADD     HL,BC\r
        LD      B,(HL)\r
@@ -4979,69 +5218,173 @@ GUIgo:
        LD      L,C\r
        LD      H,B\r
        LD      BC,2\r
-?0370:\r
+?0381:\r
        CALL    LWRD ?BANK_CALL_DIRECT_L08\r
        POP     HL\r
-?0320:\r
-       LD      B,(IX-2)\r
-       LD      (IX-1),B\r
-?0316:\r
-       JP      LWRD ?0313\r
-?0312:\r
-       JP      LWRD ?BANK_LEAVE_DIRECT_L08\r
+?0325:\r
+       LD      HL,1\r
+       ADD     HL,SP\r
+       PUSH    HL\r
+       DEC     HL\r
+       LD      B,(HL)\r
+       POP     HL\r
+       LD      (HL),B\r
+?0322:\r
+       LD      HL,1\r
+       PUSH    HL\r
+       INC     HL\r
+       ADD     HL,SP\r
+       LD      C,L\r
+       LD      B,H\r
+       LD      HL,16\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      A,BYTE3 _read\r
+       LD      HL,LWRD _read\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     AF\r
+       LD      A,1\r
+       XOR     L\r
+       OR      H\r
+       JR      NZ,?0330\r
+?0326:\r
+       LD      L,A\r
+       LD      H,A\r
+       ADD     HL,SP\r
+       LD      A,16\r
+       CP      (HL)\r
+       LD      HL,14\r
+       LD      BC,(global)\r
+       JR      NC,?0329\r
+?0328:\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       PUSH    IX\r
+       POP     BC\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      HL,2\r
+       ADD     HL,SP\r
+       LD      B,(HL)\r
+       POP     HL\r
+       LD      (HL),B\r
+       INC     IX\r
+       JR      ?0330\r
+?0329:\r
+       ADD     HL,BC\r
+       LD      D,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,D\r
+       PUSH    IX\r
+       POP     DE\r
+       ADD     HL,DE\r
+       LD      (HL),0\r
+       LD      HL,14\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       PUSH    HL\r
+       LD      HL,22\r
+       LD      DE,(global)\r
+       ADD     HL,DE\r
+       LD      E,(HL)\r
+       INC     HL\r
+       LD      D,(HL)\r
+       LD      HL,22\r
+       LD      BC,(global)\r
+       ADD     HL,BC\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      H,(HL)\r
+       LD      L,B\r
+       LD      BC,23\r
+       ADD     HL,BC\r
+       LD      C,(HL)\r
+       INC     HL\r
+       LD      B,(HL)\r
+       INC     HL\r
+       LD      A,(HL)\r
+       LD      L,C\r
+       LD      H,B\r
+       LD      BC,1025\r
+       CALL    LWRD ?BANK_CALL_DIRECT_L08\r
+       POP     HL\r
+       LD      IX,0\r
+?0330:\r
+?0327:\r
+       JP      LWRD ?0319\r
+?0318:\r
+       LD      HL,10\r
+       ADD     HL,SP\r
+       LD      SP,HL\r
+       POP     IX\r
+       POP     BC\r
+       JP      LWRD ?BANK_FAST_LEAVE_L08\r
        RSEG    CSTR\r
 ?0001:\r
        DEFB    '/dev/lcd0'\r
        DEFB    0\r
-?0221:\r
+?0002:\r
+       DEFB    '/dev/lcd1'\r
+       DEFB    0\r
+?0003:\r
+       DEFB    'HYTECH 1000'\r
+       DEFB    0\r
+?0223:\r
        DEFB    'OK'\r
        DEFB    0\r
-?0222:\r
+?0224:\r
        DEFB    'Cancel'\r
        DEFB    0\r
-?0249:\r
+?0251:\r
        DEFB    0\r
-?0299:\r
+?0300:\r
        DEFB    'Message Box'\r
        DEFB    0\r
 ?0317:\r
-       DEFB    '0x%02x'\r
-       DEFB    10,0\r
+       DEFB    '/dev/barcode'\r
+       DEFB    0\r
        RSEG    CONST\r
 ?0000:\r
        DEFB    27\r
        DEFB    'K'\r
-?0002:\r
+?0004:\r
        DEFB    27\r
        DEFB    'S'\r
        DEFB    0\r
        DEFB    0\r
-?0003:\r
+?0005:\r
        DEFB    27\r
        DEFB    'C'\r
        DEFB    0\r
        DEFB    0\r
-?0004:\r
+?0006:\r
        DEFB    27\r
        DEFB    'N'\r
        DEFB    0\r
        DEFB    0\r
-?0005:\r
+?0007:\r
        DEFB    27\r
        DEFB    'R'\r
        DEFB    0\r
        DEFB    0\r
-?0006:\r
+?0008:\r
        DEFB    27\r
        DEFB    'F'\r
        DEFB    0\r
        DEFB    0\r
-?0007:\r
+?0009:\r
        DEFB    27\r
        DEFB    'h'\r
        DEFB    0\r
        DEFB    0\r
-?0008:\r
+?0010:\r
        DEFB    27\r
        DEFB    'Z'\r
        DEFB    0\r
@@ -5049,28 +5392,13 @@ GUIgo:
        DEFB    0\r
        DEFB    0\r
        DEFB    0\r
-?0009:\r
+?0011:\r
        DEFB    27\r
        DEFB    'E'\r
        DEFB    0\r
-?0010:\r
+?0012:\r
        DEFB    27\r
        DEFB    0\r
-?0286:\r
-       DEFB    '/'\r
-       DEFB    'w'\r
-       DEFB    'n'\r
-       DEFB    'd'\r
-       DEFB    '/'\r
-       DEFB    '0'\r
-       DEFB    '0'\r
-       DEFB    '0'\r
-       DEFB    '0'\r
-       DEFB    '.'\r
-       DEFB    's'\r
-       DEFB    'c'\r
-       DEFB    'r'\r
-       DEFB    0\r
        RSEG    UDATA0\r
 global:\r
        DEFS    2\r
diff --git a/src/gui/wnd.xls b/src/gui/wnd.xls
deleted file mode 100644 (file)
index c3438ce..0000000
Binary files a/src/gui/wnd.xls and /dev/null differ
diff --git a/src/gui/wnd.zip b/src/gui/wnd.zip
deleted file mode 100644 (file)
index 205d545..0000000
Binary files a/src/gui/wnd.zip and /dev/null differ
diff --git a/src/kernel/build.ban.save b/src/kernel/build.ban.save
deleted file mode 100644 (file)
index a230af3..0000000
+++ /dev/null
@@ -1,312 +0,0 @@
-rem build cmx\r
-\r
-copy ..\cmx\io64180.inc\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cmx_init\r
-@if errorlevel 1 goto failure\r
-del cmx_init.r01\r
-as-z80 -l -o cmx_init.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cxver5\r
-@if errorlevel 1 goto failure\r
-del cxver5.r01\r
-as-z80 -l -o cxver5.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cmxio3\r
-@if errorlevel 1 goto failure\r
-del cmxio3.r01\r
-as-z80 -l -o cmxio3.s01\r
-@if errorlevel 1 goto failure\r
-\r
-rem iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cmxbug\r
-rem @if errorlevel 1 goto failure\r
-rem del cmxbug.r01\r
-rem as-z80 -l -o cmxbug.s01\r
-rem @if errorlevel 1 goto failure\r
-\r
-rem iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cmxtrack\r
-rem @if errorlevel 1 goto failure\r
-rem del cmxtrack.r01\r
-rem as-z80 -l -o cmxtrack.s01\r
-rem @if errorlevel 1 goto failure\r
-\r
-rem copy ..\cmx\bstartup.asm bstartup.s01\r
-rem as-z80 -l -o bstartup.s01\r
-rem @if errorlevel 1 goto failure\r
-\r
-copy ..\cmx\cxskv5b.asm cxskv5b.s01\r
-as-z80 -l -o cxskv5b.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\cmx\cmxintb.asm cmxintb.s01\r
-as-z80 -l -o cmxintb.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\cmx\asci.asm asci.s01\r
-as-z80 -l -o asci.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\cmx\escc.asm escc.s01\r
-as-z80 -l -o escc.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\cmx\apibus.asm apibus.s01\r
-as-z80 -l -o apibus.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\cmx\copyr.asm copyr.s01\r
-as-z80 -l -o copyr.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\cmx\diag.asm diag.s01\r
-as-z80 -l -o diag.s01\r
-@if errorlevel 1 goto failure\r
-\r
-rem build uzi\r
-\r
-copy ..\uzi\asmdef.inc\r
-copy ..\uzi\z180.inc\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\main\r
-@if errorlevel 1 goto failure\r
-del main.r01\r
-as-z80 -l -o main.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\data\r
-@if errorlevel 1 goto failure\r
-del data.r01\r
-as-z80 -l -o data.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devflop\r
-@if errorlevel 1 goto failure\r
-del devflop.r01\r
-as-z80 -l -o devflop.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devhd\r
-@if errorlevel 1 goto failure\r
-del devhd.r01\r
-as-z80 -l -o devhd.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devio\r
-@if errorlevel 1 goto failure\r
-del devio.r01\r
-as-z80 -l -o devio.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devmisc\r
-@if errorlevel 1 goto failure\r
-del devmisc.r01\r
-as-z80 -l -o devmisc.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devtty\r
-@if errorlevel 1 goto failure\r
-del devtty.r01\r
-as-z80 -l -o devtty.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\filesys\r
-@if errorlevel 1 goto failure\r
-del filesys.r01\r
-as-z80 -l -o filesys.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\machdep\r
-@if errorlevel 1 goto failure\r
-del machdep.r01\r
-as-z80 -l -o machdep.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\process\r
-@if errorlevel 1 goto failure\r
-del process.r01\r
-as-z80 -l -o process.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\scall1\r
-@if errorlevel 1 goto failure\r
-del scall1.r01\r
-as-z80 -l -o scall1.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\scall2\r
-@if errorlevel 1 goto failure\r
-del scall2.r01\r
-as-z80 -l -o scall2.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\scall3\r
-@if errorlevel 1 goto failure\r
-del scall3.r01\r
-as-z80 -l -o scall3.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\systrace\r
-@if errorlevel 1 goto failure\r
-del systrace.r01\r
-as-z80 -l -o systrace.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\xip\r
-@if errorlevel 1 goto failure\r
-del xip.r01\r
-as-z80 -l -o xip.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\uzi\flopasm.asm flopasm.s01\r
-as-z80 -l -o flopasm.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\uzi\machasm.asm machasm.s01\r
-as-z80 -l -o machasm.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\uzi\procasm.asm procasm.s01\r
-as-z80 -l -o procasm.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\uzi\utils.asm utils.s01\r
-as-z80 -l -o utils.s01\r
-@if errorlevel 1 goto failure\r
-\r
-rem build libc\r
-\r
-copy ..\libc\c0k.asm c0k.s01\r
-as-z80 -l -o c0k.s01\r
-@if errorlevel 1 goto failure\r
-\r
-copy ..\libc\_exit.asm _exit.s01\r
-as-z80 -l -o _exit.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\dprintf\r
-@if errorlevel 1 goto failure\r
-del dprintf.r01\r
-as-z80 -l -o dprintf.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\kprintf\r
-@if errorlevel 1 goto failure\r
-del kprintf.r01\r
-as-z80 -l -o kprintf.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\vfprintf\r
-@if errorlevel 1 goto failure\r
-del vfprintf.r01\r
-as-z80 -l -o vfprintf.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\itoa\r
-@if errorlevel 1 goto failure\r
-del itoa.r01\r
-as-z80 -l -o itoa.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\ltoa\r
-@if errorlevel 1 goto failure\r
-del ltoa.r01\r
-as-z80 -l -o ltoa.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\ultoa\r
-@if errorlevel 1 goto failure\r
-del ultoa.r01\r
-as-z80 -l -o ultoa.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\strlen\r
-@if errorlevel 1 goto failure\r
-del strlen.r01\r
-as-z80 -l -o strlen.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\strcat\r
-@if errorlevel 1 goto failure\r
-del strcat.r01\r
-as-z80 -l -o strcat.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\strcpy\r
-@if errorlevel 1 goto failure\r
-del strcpy.r01\r
-as-z80 -l -o strcpy.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\strncmp\r
-@if errorlevel 1 goto failure\r
-del strncmp.r01\r
-as-z80 -l -o strncmp.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\memcpy\r
-@if errorlevel 1 goto failure\r
-del memcpy.r01\r
-as-z80 -l -o memcpy.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\abort\r
-@if errorlevel 1 goto failure\r
-del abort.r01\r
-as-z80 -l -o abort.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\exit\r
-@if errorlevel 1 goto failure\r
-del exit.r01\r
-as-z80 -l -o exit.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\testsystem\r
-@if errorlevel 1 goto failure\r
-del testsystem.r01\r
-as-z80 -l -o testsystem.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\touchscreen\r
-@if errorlevel 1 goto failure\r
-del touchscreen.r01\r
-as-z80 -l -o touchscreen.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 -DVAX ..\uzi\xfs\r
-@if errorlevel 1 goto failure\r
-del xfs.r01\r
-as-z80 -l -o xfs.s01\r
-@if errorlevel 1 goto failure\r
-\r
-iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DVAX -DUTIL -DDEBUG=1 -c ..\uzi\utils.c\r
-@if errorlevel 1 goto failure\r
-del utils.r01\r
-as-z80 -l -o utils.s01\r
-@if errorlevel 1 goto failure\r
-\r
-rem link everything\r
-rem link everything\r
-rem link everything\r
-\r
-link-z80 -i -f kernel\r
-@if errorlevel 1 goto failure\r
-ihex2bin -l kernel.i86 ..\..\..\bin\kernel.bin\r
-@if errorlevel 1 goto failure\r
-\r
-rem copy ..\..\..\bin\kernel.bin \nlddl\r
-rem set country=NLD\r
-rem crc\r
-rem copy \nlddl\checksum ..\..\..\bin\r
-\r
-rem copy \nlddl\checksum \\darkstar\public\dos622\nlddl\r
-rem copy \nlddl\kernel.bin \\darkstar\public\dos622\nlddl\r
-\r
-@echo SUCCESS\r
-@goto done\r
-:failure\r
-@echo FAILURE\r
-:done\r
-\r
diff --git a/src/kernel/cmx/escc.asm% b/src/kernel/cmx/escc.asm%
deleted file mode 100644 (file)
index abfbac4..0000000
+++ /dev/null
@@ -1,980 +0,0 @@
-; escc.asm\r
-; Interrupt driven serial driver for built in Z180 ports (Hytech CMX)\r
-\r
-; -----------------------------------------------------------------------------\r
-\r
-$ io64180.inc\r
-\r
-       extern  _sdevs\r
-       extern  _K_OS_Intrp_Entry\r
-       extern  _K_OS_Intrp_Exit\r
-       extern  ?BANK_CALL_DIRECT_L08\r
-       extern  ?BANK_FAST_LEAVE_L08\r
-       extern  abyte\r
-\r
-XMIT_SIZE equ  256     ; must match cxfuncs.h, size of transmitter buffer\r
-RECV_SIZE equ  256     ; must match cxfuncs.h, size of reciever buffer\r
-\r
-; must match cxfuncs.h, fields in SDEV structure:  ** ASSUMES 3 BYTE CODE PTRS!\r
-sxmit  equ     0                       ; offset of embedded CMX XMIT structure\r
-srecv  equ     13                      ; offset of embedded CMX RECV structure\r
-sport  equ     13+13\r
-stxvec equ     13+13+1                 ; called by interrupt, returns l=chr\r
-srxvec equ     13+13+4                 ; called by interrupt, passed c=chr\r
-smsvec equ     13+13+7                 ; called by interrupt, passed c=bits\r
-sesvec equ     13+13+10                ; called by interrupt, passed c=bits\r
-stevec equ     13+13+13                ; vector to start asci/escc transmitter\r
-stdvec equ     13+13+16                ; vector to stop asci/escc transmitter\r
-sstat  equ     13+13+19                ; address to read status (8530 02xxh)\r
-stxdr  equ     13+13+20                ; address to write tx data (8530 02xxh)\r
-srxdr  equ     13+13+21                ; address to read rx data (8530 02xxh)\r
-swr1   equ     13+13+22                ; wr1 contents (interrupt enable bits)\r
-swr5   equ     13+13+23                ; wr5 contents (modem control outputs)\r
-swr15  equ     13+13+24                ; wr15 contents (modem control int ena)\r
-sinint equ     13+13+25                ; says whether wr1 really reflects wr1!\r
-sdvlen equ     13+13+26                ; byte size of block per serial port\r
-\r
-; -----------------------------------------------------------------------------\r
-\r
-       rseg    CODE\r
-\r
-       public  _escc0_setup\r
-\r
-_escc0_setup::\r
-       push    bc\r
-       push    de\r
-\r
-       ld      iy,_sdevs+2*sdvlen\r
-       ld      (iy+sstat),.low.AC8530\r
-       ld      (iy+stxdr),.low.AD8530\r
-       ld      (iy+srxdr),.low.AD8530\r
-       ld      (iy+stevec),.low._escc_tx_enable\r
-       ld      (iy+stevec+1),.high._escc_tx_enable\r
-       ld      (iy+stevec+2),BYTE3 _escc_tx_enable\r
-\r
-       ld      bc,AC8530\r
-       di                              ; so int doesn't corrupt address reg\r
-       in      (c) ;f,(c)              ; reset pointer bits\r
-\r
-       ld      d,9\r
-       out     (c),d                   ; address WR9\r
-       ld      a,00000010b\r
-       out     (c),a                   ; mie off, status lo, no vector\r
-\r
-       nop                             ; ld d,9\r
-       out     (c),d                   ; address WR9\r
-       ld      a,10000010b\r
-       out     (c),a                   ; channel reset A, status lo, no vector\r
-\r
-       ; allow at least 4 clock cycles for reset\r
-\r
-       ld      d,5\r
-       out     (c),d                   ; address WR5\r
-       ld      a,11101010b\r
-       out     (c),a                   ; dtr on, 8 data, tx enable, rts on\r
-       ld      (iy+swr5),a             ; set up shadow for swr5sb, swr5rb\r
-\r
-       ld      d,2\r
-       out     (c),d                   ; address WR2\r
-       sub     a\r
-       out     (c),a                   ; redundantly set up interrupt vector\r
-\r
-       ld      d,4\r
-       out     (c),d                   ; address WR4\r
-       ld      a,01000100b             ; *16 with 1 stop bit, no parity\r
-       out     (c),a\r
-\r
-       ld      d,3\r
-       out     (c),d                   ; address WR3\r
-       ld      a,11000001b\r
-       out     (c),a                   ; 8 data, auto disable, rx enable\r
-\r
-       ld      d,15\r
-       out     (c),d                   ; address WR15\r
-       sub     a\r
-       out     (c),a                   ; modem status interrupts disabled\r
-       ld      (iy+swr15),a            ; set up shadow for swr15s, swr15r\r
-\r
-       dec     d                       ; ld d,14\r
-       out     (c),d                   ; address WR14\r
-       sub     a\r
-       out     (c),a                   ; disable baud rate generator\r
-\r
-       ld      d,12\r
-       out     (c),d                   ; address WR12\r
-       ld      a,10 ; 10=38400 6=57600 4=76800 2=115200\r
-       out     (c),a                   ; divisor 0002h indicates 115200 bps\r
-       inc     d                       ; ld d,13\r
-       out     (c),d                   ; address WR13\r
-       sub     a\r
-       out     (c),a                   ; divisor 0002h indicates 115200 bps\r
-       inc     d                       ; ld d,14\r
-       out     (c),d                   ; address WR14\r
-       ld      a,00000010b\r
-       out     (c),a                   ; set pclk input\r
-       nop                             ; ld d,14\r
-       out     (c),d                   ; address WR14\r
-       or      1\r
-       out     (c),a                   ; enable baud rate generator\r
-       ld      d,11\r
-       out     (c),d                   ; address WR11\r
-       ld      a,01010010b             ; use baud rate generator\r
-       out     (c),a\r
-\r
-       ld      d,1\r
-       out     (c),d                   ; address WR1\r
-       ld      a,00010001b\r
-       out     (c),a                   ; rx int on all, no tx int, ext int\r
-       ld      (iy+swr1),a             ; set up shadow for swr1sb, swr1rb\r
-\r
-       ld      a,00010000b             ; reset ext status ints\r
-       out     (c),a\r
-\r
-       ld      d,9\r
-       out     (c),d                   ; address WR9\r
-       ld      a,00001010b             ; mie on, status lo, no vector\r
-       out     (c),a\r
-\r
-; not yet... this will be done by the escc1 setup routine when both ports ok\r
-;      in0     a,(ITC)\r
-;      or      INT2SW\r
-;      out0    (ITC),a\r
-\r
-       ei\r
-\r
-       pop     de\r
-       pop     bc\r
-       jp      ?BANK_FAST_LEAVE_L08\r
-\r
-       public  _escc1_setup\r
-\r
-_escc1_setup::\r
-       push    bc\r
-       push    de\r
-\r
-       ld      iy,_sdevs+3*sdvlen\r
-       ld      (iy+sstat),.low.BC8530\r
-       ld      (iy+stxdr),.low.BD8530\r
-       ld      (iy+srxdr),.low.BD8530\r
-       ld      (iy+stevec),.low._escc_tx_enable\r
-       ld      (iy+stevec+1),.high._escc_tx_enable\r
-       ld      (iy+stevec+2),BYTE3 _escc_tx_enable\r
-\r
-       ld      bc,BC8530\r
-       di                              ; so int doesn't corrupt address reg\r
-       in      (c) ;f,(c)              ; reset pointer bits\r
-\r
-       ld      d,9\r
-       out     (c),d                   ; address WR9\r
-       ld      a,00000010b\r
-       out     (c),a                   ; mie off, status lo, no vector\r
-\r
-       nop                             ; ld d,9\r
-       out     (c),d                   ; address WR9\r
-       ld      a,01000010b\r
-       out     (c),a                   ; channel reset B, status lo, no vector\r
-\r
-       ; allow at least 4 clock cycles for reset\r
-\r
-       ld      d,5\r
-       out     (c),d                   ; address WR5\r
-       ld      a,11101010b\r
-       out     (c),a                   ; dtr on, 8 data, tx enable, rts on\r
-       ld      (iy+swr5),a             ; set up shadow for swr5sb, swr5rb\r
-\r
-       ld      d,2\r
-       out     (c),d                   ; address WR2\r
-       sub     a\r
-       out     (c),a                   ; redundantly set up interrupt vector\r
-\r
-       ld      d,4\r
-       out     (c),d                   ; address WR4\r
-       ld      a,01000100b             ; *16 with 1 stop bit, no parity\r
-       out     (c),a\r
-\r
-       ld      d,3\r
-       out     (c),d                   ; address WR3\r
-       ld      a,11000001b\r
-       out     (c),a                   ; 8 data, auto disable, rx enable\r
-\r
-       ld      d,15\r
-       out     (c),d                   ; address WR15\r
-       sub     a\r
-       out     (c),a                   ; modem status interrupts disabled\r
-       ld      (iy+swr15),a            ; set up shadow for swr15s, swr15r\r
-\r
-       dec     d                       ; ld d,14\r
-       out     (c),d                   ; address WR14\r
-       sub     a\r
-       out     (c),a                   ; disable baud rate generator\r
-\r
-       ld      d,12\r
-       out     (c),d                   ; address WR12\r
-       ld      a,6 ; 10=38400 6=57600 4=76800 2=115200\r
-       out     (c),a                   ; divisor 0002h indicates 115200 bps\r
-       inc     d                       ; ld d,13\r
-       out     (c),d                   ; address WR13\r
-       sub     a\r
-       out     (c),a                   ; divisor 0002h indicates 115200 bps\r
-       inc     d                       ; ld d,14\r
-       out     (c),d                   ; address WR14\r
-       ld      a,00000010b\r
-       out     (c),a                   ; set pclk input\r
-       nop                             ; ld d,14\r
-       out     (c),d                   ; address WR14\r
-       inc     a                       ; or 1\r
-       out     (c),a                   ; enable baud rate generator\r
-       ld      d,11\r
-       out     (c),d                   ; address WR11\r
-       ld      a,01010010b             ; use baud rate generator\r
-       out     (c),a\r
-\r
-       ld      d,1\r
-       out     (c),d                   ; address WR1\r
-       ld      a,00010001b\r
-       out     (c),a                   ; rx int on all, no tx int, ext int\r
-       ld      (iy+swr1),a             ; set up shadow for swr1sb, swr1rb\r
-\r
-; this is only done for S3DEV, and is intended to disconnect LAN optocoupler\r
-       ld      d,5\r
-       out     (c),d                   ; address WR5\r
-       ld      a,11101000b\r
-       out     (c),a                   ; dtr on, 8 data, tx enable, rts off\r
-       ld      (iy+swr5),a             ; update our knowledge of wr5 contents\r
-\r
-       ld      a,00010000b             ; reset ext status ints\r
-       out     (c),a\r
-\r
-       ld      d,9\r
-       out     (c),d                   ; address WR9\r
-       ld      a,00001010b             ; mie on, status lo, no vector\r
-       out     (c),a\r
-\r
-       in0     a,(ITC)\r
-       or      INT2SW\r
-       out0    (ITC),a\r
-\r
-       ei\r
-\r
-       pop     de\r
-       pop     bc\r
-       jp      ?BANK_FAST_LEAVE_L08\r
-\r
-; -----------------------------------------------------------------------------\r
-\r
-       public  _escc_tx_enable\r
-\r
-_escc_tx_enable::\r
-       push    bc\r
-       push    de\r
-\r
-;      ld      iy,_sdevs+0*sdvlen\r
-       push    de\r
-       pop     iy\r
-       di\r
- .if 1\r
-       ld      hl,LWRD swr1te\r
-       ld      a,BYTE3 swr1te\r
-       call    ?BANK_CALL_DIRECT_L08\r
- .else\r
-       call    swr1te\r
- .endif\r
-       ei\r
-\r
-       pop     de\r
-       pop     bc\r
-;      ret\r
-       jp      ?BANK_FAST_LEAVE_L08\r
-\r
-       public  _escc_tx_disable\r
-\r
-_escc_tx_disable::\r
-       push    bc\r
-       push    de\r
-\r
-;      ld      iy,_sdevs+0*sdvlen\r
-       push    de\r
-       pop     iy\r
-       di\r
- .if 1\r
-       ld      hl,LWRD swr1td\r
-       ld      a,BYTE3 swr1td\r
-       call    ?BANK_CALL_DIRECT_L08\r
- .else\r
-       call    swr1td\r
- .endif\r
-       ei\r
-\r
-       pop     de\r
-       pop     bc\r
-;      ret\r
-       jp      ?BANK_FAST_LEAVE_L08\r
-\r
-; -----------------------------------------------------------------------------\r
-\r
-       rseg    RCODE\r
-\r
-       public  _int2_vector\r
-\r
-_int2_vector::\r
- .if 1\r
- ;ld a,'.'\r
- ;out0 (TDR1),a\r
-       call    _K_OS_Intrp_Entry\r
- .else\r
-       push    af\r
-       push    bc\r
-       push    de\r
-       push    hl\r
-       push    iy\r
- .endif\r
-\r
- .if 1\r
-       ld      bc,AC8530\r
-       in      (c) ;f,(c)              ; reset pointer bits\r
-\r
-       ld      d,9\r
-       out     (c),d                   ; address WR9\r
-       ld      a,00000010b\r
-       out     (c),a                   ; mie off, status lo, no vector\r
-       ei                              ; allow other interrupts to occur\r
- .endif\r
-\r
- .if 1\r
- .if 1 ; prevent overrun by polling the ports after each interrupt\r
-       ld      hl,LWRD si23iv\r
-       ld      a,BYTE3 si23iv\r
-       call    ?BANK_CALL_DIRECT_L08\r
-\r
-       ; routine to allow arbitrary tests for rx char (prevents overrun)\r
-       ld      bc,AC8530               ; enter with interrupts disabled!!\r
-       in      a,(c)                   ; read rr0 (channel a = s2dev)\r
-       rra                             ; test bit 0 = rx char available\r
-\r
-       ld      hl,LWRD si2rx\r
-       ld      a,BYTE3 si2rx\r
-       call    c,?BANK_CALL_DIRECT_L08 ; something ready, use the normal si2rx\r
-                                       ; (this clobbers bc if char received)\r
-       ld      bc,BC8530\r
-       in      a,(c)                   ; read rr0\r
-       rra                             ; test bit 0 = rx char available\r
-\r
-       ld      hl,LWRD si3rx\r
-       ld      a,BYTE3 si3rx\r
-       call    c,?BANK_CALL_DIRECT_L08 ; something ready, use the normal si2rx\r
-                                       ; (this clobbers bc if char received)\r
- .else\r
-       ld      hl,LWRD si23\r
-       ld      a,BYTE3 si23\r
-       call    ?BANK_CALL_DIRECT_L08\r
- .endif\r
- .else\r
-       call    si23\r
- .endif\r
-\r
- .if 1\r
-       ld      bc,AC8530\r
-       di                              ; prevent ints occurring immediately\r
-       in      (c) ;f,(c)              ; reset pointer bits\r
-\r
-       ld      d,9\r
-       out     (c),d                   ; address WR9\r
-       ld      a,00001010b\r
-       out     (c),a                   ; mie on, status lo, no vector\r
- .endif\r
-\r
- .if 1\r
-       call    _K_OS_Intrp_Exit\r
- .else\r
-       pop     iy\r
-       pop     hl\r
-       pop     de\r
-       pop     bc\r
-       pop     af\r
-       ei\r
-       ret\r
- .endif\r
-\r
-; -----------------------------------------------------------------------------\r
-\r
-       rseg    CODE\r
-\r
- .if 0 ; 17sep02 routine to allow arbitrary tests for rx char (prevents overrun)\r
- .if 1 ; 17sep02 enhancement for extra safety against overruns (esp. @ 6.144 mhz)\r
-public si23\r
-\r
-si23:\r
- .if 1\r
-       ld      hl,LWRD si23iv\r
-       ld      a,BYTE3 si23iv\r
-       call    ?BANK_CALL_DIRECT_L08\r
- .else\r
-       call    LWRD si23iv             ; first process interrupt via vector\r
- .endif\r
-       ; fall into si23rx routine (it could also be useful during other ints!)\r
- .endif\r
-\r
-public si23rx\r
-\r
-si23rx:        ; routine to allow arbitrary tests for rx char (prevents overrun)\r
-       ld      bc,AC8530               ; enter with interrupts disabled!!\r
-       in      a,(c)                   ; read rr0 (channel a = s2dev)\r
-       rra                             ; test bit 0 = rx char available\r
- .if 1\r
-       ld      hl,LWRD si2rx\r
-       ld      a,BYTE3 si2rx\r
-       call    c,?BANK_CALL_DIRECT_L08 ; something ready, use the normal si2rx\r
- .else\r
-       call    c,LWRD si2rx            ; something ready, use the normal si2rx\r
- .endif\r
-                                       ; (this clobbers bc if char received)\r
-       ld      bc,BC8530\r
-       in      a,(c)                   ; read rr0\r
-       rra                             ; test bit 0 = rx char available\r
- .if 1\r
-       jp      nc,?BANK_FAST_LEAVE_L08 ; nothing ready, no-op (ints disabled)\r
- .else\r
-       ret     nc                      ; nothing ready, no-op (ints disabled)\r
- .endif\r
-       ; fall into the same si3rx routine as used by the interrupt system\r
-       jp      LWRD si3rx\r
- .endif\r
-\r
- .if 0\r
-silly: ; enter with special receive condition status byte in e\r
- ld a,e\r
- rrca\r
- rrca\r
- rrca\r
- rrca\r
- and 7\r
- add a,'0'\r
- rst 18h ;call abyte\r
- ret\r
- .endif\r
-\r
- .if 0\r
-sillyx: ; enter with modem control input status byte in e\r
- ld a,e\r
- and 28h\r
- rrca ; 14h\r
- rrca ; 0ah\r
- rrca ; 05h\r
- add a,'0'\r
- rst 18h ;call abyte\r
- ret\r
- .endif\r
-\r
-si3tx:\r
- .if 1\r
-       ld      iy,_sdevs+3*sdvlen\r
- .endif\r
-\r
- .if 1\r
-       ld      de,_sdevs+3*sdvlen      ; de = 1st parameter (word16)\r
-\r
-       ld      hl,(_sdevs+3*sdvlen+stxvec)\r
-       ld      a,(_sdevs+3*sdvlen+stxvec+2)\r
-       call    ?BANK_CALL_DIRECT_L08\r
-\r
-       inc     h                       ; hl = 0ffffh indicates no char for tx\r
-       jp      z,LWRD swr1td\r
-\r
-       ; client has provided character for tx, send it\r
-       ld      bc,BD8530\r
-       out     (c),l                   ; send char on behalf of client\r
- .else\r
-       ld      bc,(_sdevs+3*sdvlen+stxvec)\r
-       call    0eb53h                  ; winved\r
- di ;;!! 24may02 for no good reason\r
-       jp      c,swr1td ;jr c,si3td\r
-\r
-       ; client has provided character for tx, send it\r
-       ld      bc,BD8530\r
-       out     (c),e                   ; send char on behalf of client\r
- .endif\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret ;jr si23                    ; check for further interrupts pending\r
- .endif\r
-\r
-;si3td:        call    swr1td                  ; serial write register 1 tx disable\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-\r
- .if 1 ; 16dec01 so that swint can be a regular modem status handler\r
-si3ms:\r
- .if 0\r
-       ld      iy,_sdevs+3*sdvlen\r
- .endif\r
-       in      e,(c)                   ; read modem status inputs for client\r
-\r
- .if 0\r
- call sillyx\r
- .endif\r
-\r
-       ld      a,00010000b             ; reset ext status interrupts\r
-       out     (c),a\r
-\r
- .if 1\r
-       ld      c,e                     ; c = 2nd parameter (byte)\r
-       ld      de,_sdevs+3*sdvlen      ; de = 1st parameter (word16)\r
-\r
-       ld      hl,(_sdevs+3*sdvlen+smsvec)\r
-       ld      a,(_sdevs+3*sdvlen+smsvec+2)\r
- .if 1\r
-       jp      LWRD ?BANK_JMP_DIRECT_L08\r
- .else\r
-       jp      ?BANK_CALL_DIRECT_L08\r
- .endif\r
- .else\r
-       ld      bc,(_sdevs+3*sdvlen+smsvec)\r
-;      call    0eb53h                  ; winved, ignore the cf return for now\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-       jp      0eb53h                  ; winved, ignore the cf return for now\r
- .endif\r
- .else\r
-si3ms: ; bc is already set up to read channel b modem status\r
-;      call    swint\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-       jp      swint\r
- .endif\r
-\r
-si3rx:\r
- .if 0\r
-       ld      iy,_sdevs+3*sdvlen\r
- .endif\r
-\r
-       ld      c,low BD8530\r
- .if 1\r
-       in      c,(c)                   ; c = 2nd parameter (byte)\r
-       ld      de,_sdevs+3*sdvlen      ; de = 1st parameter (word16)\r
-\r
-       ld      hl,(_sdevs+3*sdvlen+srxvec)\r
-       ld      a,(_sdevs+3*sdvlen+srxvec+2)\r
- .if 1\r
-       jp      LWRD ?BANK_JMP_DIRECT_L08\r
- .else\r
-       jp      ?BANK_CALL_DIRECT_L08\r
- .endif\r
- .else\r
-       in      e,(c)                   ; read character for client\r
-\r
-       ld      bc,(_sdevs+3*sdvlen+srxvec)\r
-;      call    0eb53h                  ; winved, ignore the cf return for now\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-       jp      0eb53h                  ; winved, ignore the cf return for now\r
- .endif\r
-\r
-si3es: dec     d                       ; ld d,1\r
-       out     (c),d                   ; select rr1\r
- .if 0\r
-       ld      iy,_sdevs+3*sdvlen\r
- .else\r
-       nop\r
- .endif\r
-       in      e,(c)                   ; read special receive condition status\r
-\r
- .if 0\r
- call silly\r
- .endif\r
-\r
- .if 0 ; 16dec01 when nothing pending, go to clkint via s3dev error status\r
- .if 1 ; 16oct02 make sure we don't depend on ckimsr when the hardware is new\r
-       ld      a,(hwtype)\r
-       or      a\r
-       jr      nz,skpclk\r
- .endif\r
-       ld      a,e\r
-       and     01110000b               ; bit 6=framing, 5=overrun, 4=parity\r
-       ;jp     z,int2c                 ; in ser.mac for no good reason\r
-       jr      z,int2c                 ; 14jun02 now here, & proper ret logic\r
- .if 1 ; 16oct02 make sure we don't depend on ckimsr when the hardware is new\r
-skpclk:\r
- .endif\r
- .endif\r
-\r
- .if 0\r
- ld a,'%'\r
- rst 18h ;call abyte\r
- .endif\r
-\r
-       ld      a,00110000b             ; error reset\r
-       out     (c),a\r
-\r
- .if 1\r
-       ld      c,e                     ; c = 2nd parameter (byte)\r
-       ld      de,_sdevs+3*sdvlen      ; de = 1st parameter (word16)\r
-\r
-       ld      hl,(_sdevs+3*sdvlen+sesvec)\r
-       ld      a,(_sdevs+3*sdvlen+sesvec+2)\r
- .if 1\r
-       jp      LWRD ?BANK_JMP_DIRECT_L08\r
- .else\r
-       jp      ?BANK_CALL_DIRECT_L08\r
- .endif\r
- .else\r
-       ld      bc,(_sdevs+3*sdvlen+sesvec)\r
-;      call    0eb53h                  ; winved, ignore the cf return for now\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-       jp      0eb53h                  ; winved, ignore the cf return for now\r
- .endif\r
-\r
- .if 0 ; 14jun02 this is now moved to ser.inc as it was misleading\r
-int2c:\r
- .if noints\r
-       ld      bc,ckimsr\r
-       in      a,(c)                   ; reset irq\r
-       ret ;jr si23\r
- .else\r
-       wjpd    clkint                  ; clock is interrupting\r
-       ; clkint should be modified,\r
-       ; as it no longer needs to preserve de/hl/iy\r
- .endif\r
- .endif\r
-\r
-; -----------------------------------------------------------------------------\r
-\r
- .if 1 ; 17sep02 enhancement for extra safety against overruns (esp. 6.144 MHz)\r
-si23iv: ; routine to perform interrupt vectoring... not the main int. handler!\r
- .else\r
-public si23\r
-\r
-si23:  ; without the enhancement, this routine is also the main int. handler!\r
- .endif\r
- .if 0 ; 20may02 hope this works (it does, but see below)\r
- ld a,'.'\r
- call abyte\r
- .endif\r
-       ld      bc,BC8530\r
-       ld      d,2\r
-       out     (c),d                   ; select rr2\r
-       ld      hl,LWRD si23jt-200h     ; we'll also rely on d=2 later\r
-       in      e,(c)                   ; read interrupt vector with status\r
- .if 0;xyz1    ; 15dec01 diagnostic interrupt vector output, requires abfast\r
- ld a,e\r
- rrca\r
- add a,10h\r
- ;bit 1,e ; 0 indicates tx/rx int, 1 indicates modem/error int\r
- ;call nz,abyte\r
- out0 (TDR1),a\r
- .endif\r
-       add     hl,de\r
-       jp      (hl)\r
-\r
-si23jt:        jr      si3tx\r
-       jr      si3ms\r
-       jr      si3rx\r
-       jr      si3es\r
-       jr      si2tx\r
-       jr      si2ms\r
-       jr      si2rx\r
-       jr      si2es\r
-\r
-; -----------------------------------------------------------------------------\r
-\r
-si2tx:\r
- .if 1\r
-       ld      iy,_sdevs+2*sdvlen\r
- .endif\r
-\r
- .if 1\r
-       ld      de,_sdevs+2*sdvlen      ; de = 1st parameter (word16)\r
-\r
-       ld      hl,(_sdevs+2*sdvlen+stxvec)\r
-       ld      a,(_sdevs+2*sdvlen+stxvec+2)\r
-       call    ?BANK_CALL_DIRECT_L08\r
-\r
-       inc     h                       ; hl = 0ffffh indicates no char for tx\r
-       jp      z,LWRD swr1td\r
-\r
-       ; client has provided character for tx, send it\r
-       ld      bc,AD8530\r
-       out     (c),l                   ; send char on behalf of client\r
- .else\r
-       ld      bc,(_sdevs+2*sdvlen+stxvec)\r
-       call    0eb53h                  ; winved\r
- di ;;!! 24may02 for no good reason\r
-       jp      c,swr1td ;jr c,si2td\r
-\r
-       ; client has provided character for tx, send it\r
-       ld      bc,AD8530\r
-       out     (c),e                   ; send char on behalf of client\r
- .endif\r
-; ld a,e\r
-; jp abyte\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret ;jr si23                    ; check for further interrupts pending\r
- .endif\r
-\r
-;si2td:        call    swr1td                  ; serial write register 1 tx disable\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-\r
-si2ms:\r
- .if 0\r
-       ld      iy,_sdevs+2*sdvlen\r
- .endif\r
-\r
-       inc     c                       ; ld c,low AC8530\r
-       in      e,(c)                   ; read modem status inputs for client\r
-\r
-       ld      a,00010000b             ; reset ext status interrupts\r
-       out     (c),a\r
-\r
- .if 1\r
-       ld      c,e                     ; c = 2nd parameter (byte)\r
-       ld      de,_sdevs+2*sdvlen      ; de = 1st parameter (word16)\r
-\r
-       ld      hl,(_sdevs+2*sdvlen+smsvec)\r
-       ld      a,(_sdevs+2*sdvlen+smsvec+2)\r
- .if 1\r
-       jp      LWRD ?BANK_JMP_DIRECT_L08\r
- .else\r
-       jp      ?BANK_CALL_DIRECT_L08\r
- .endif\r
- .else\r
-       ld      bc,(_sdevs+2*sdvlen+smsvec)\r
-;      call    0eb53h                  ; winved, ignore the cf return for now\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-       jp      0eb53h                  ; winved, ignore the cf return for now\r
- .endif\r
-\r
-si2rx:\r
- .if 0\r
-       ld      iy,_sdevs+2*sdvlen\r
- .endif\r
-\r
-       ld      c,low AD8530\r
- .if 1\r
-       in      c,(c)                   ; c = 2nd parameter (byte)\r
-       ld      de,_sdevs+2*sdvlen      ; de = 1st parameter (word16)\r
-\r
-       ld      hl,(_sdevs+2*sdvlen+srxvec)\r
-       ld      a,(_sdevs+2*sdvlen+srxvec+2)\r
- .if 1\r
-       jp      LWRD ?BANK_JMP_DIRECT_L08\r
- .else\r
-       jp      ?BANK_CALL_DIRECT_L08\r
- .endif\r
- .else\r
-       in      e,(c)                   ; read character for client\r
-\r
-       ld      bc,(_sdevs+2*sdvlen+srxvec)\r
-;      call    0eb53h                  ; winved, ignore the cf return for now\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-       jp      0eb53h                  ; winved, ignore the cf return for now\r
- .endif\r
-\r
-si2es: inc     c                       ; ld c,low AC8530\r
-       dec     d                       ; ld d,1\r
-       out     (c),d                   ; select rr1\r
- .if 0\r
-       ld      iy,_sdevs+2*sdvlen\r
- .else\r
-       nop\r
- .endif\r
-       in      e,(c)                   ; read special receive condition status\r
-\r
-       ld      a,00110000b             ; error reset\r
-       out     (c),a\r
-\r
- .if 1\r
-       ld      c,e                     ; c = 2nd parameter (byte)\r
-       ld      de,_sdevs+2*sdvlen      ; de = 1st parameter (word16)\r
-\r
-       ld      hl,(_sdevs+2*sdvlen+sesvec)\r
-       ld      a,(_sdevs+2*sdvlen+sesvec+2)\r
- .if 1\r
-       jp      LWRD ?BANK_JMP_DIRECT_L08\r
- .else\r
-       jp      ?BANK_CALL_DIRECT_L08\r
- .endif\r
- .else\r
-       ld      bc,(_sdevs+2*sdvlen+sesvec)\r
-;      call    0eb53h                  ; winved, ignore the cf return for now\r
-;      ret ;jr si23                    ; check for further interrupts pending\r
-       jp      0eb53h                  ; winved, ignore the cf return for now\r
- .endif\r
-\r
-; rather silly routine provided to save code space in the handlers above:\r
-\r
-?BANK_JMP_DIRECT_L08:\r
-       call    ?BANK_CALL_DIRECT_L08\r
-       jp      ?BANK_FAST_LEAVE_L08\r
-\r
-; -----------------------------------------------------------------------------\r
-; utility subroutines for use by our clients - 8530 ports (serial 2/3)\r
-\r
-swr1te:        ; serial write register 1 transmit enable - enter with di\r
- ;ld a,(iy+sdev)\r
- ;cp s2dev\r
- ;ld a,'e'\r
- ;call z,abyte\r
-\r
-; ld a,(iy+sdev)\r
-; cp s2dev\r
-; jr nz,twatx\r
-; call twatx\r
-; jp abyte\r
-;twatx:\r
-       bit     1,(iy+swr1)\r
-; ld a,'a'\r
- .if 1\r
-       jp      nz,?BANK_FAST_LEAVE_L08 ; transmit interrupt already enabled\r
- .else\r
-       ret     nz                      ; transmit interrupt already enabled\r
- .endif\r
-\r
- .if 1\r
-       push    iy\r
-       pop     de                      ; de = 1st parameter (word16)\r
-\r
-       ld      l,(iy+stxvec)\r
-       ld      h,(iy+stxvec+1)\r
-       ld      a,(iy+stxvec+2)\r
-       call    ?BANK_CALL_DIRECT_L08\r
-\r
-       inc     h                       ; hl = 0ffffh indicates no char for tx\r
-; ld a,'b'\r
- .if 1\r
-       jp      z,?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret     z\r
- .endif\r
- .else\r
-       ld      c,(iy+stxvec)\r
-       ld      b,(iy+stxvec+1)\r
-       call    0eb53h                  ; winved\r
-; ld a,'b'\r
-       ret     c                       ; there was really nothing to transmit\r
-       ld      l,e\r
- .endif\r
-\r
-       ld      e,2\r
- .if 1\r
- push hl ; oops !\r
-       ld      hl,LWRD swr1sb\r
-       ld      a,BYTE3 swr1sb\r
-       call    ?BANK_CALL_DIRECT_L08   ; explicitly enable transmit interrupt\r
- pop hl ; oops !\r
- .else\r
-       call    LWRD swr1sb             ; explicitly enable transmit interrupt\r
- .endif\r
-\r
-       ld      c,(iy+stxdr)\r
-       out     (c),l                   ; send char on behalf of client\r
-; ld a,(iy+sdev)\r
-; cp s2dev\r
-; ret nz\r
-; ld a,55h\r
-; call abyte\r
-; ld a,l\r
-; jp abyte\r
-; ld a,'c'\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret\r
- .endif\r
-\r
-swr1sb:        ; serial write register 1 set bits - enter with di\r
-       ld      c,(iy+sstat)\r
-       ld      b,2 ;(iy+sbase)\r
-       ld      d,1\r
-       out     (c),d\r
-       ld      a,e\r
-       or      (iy+swr1)\r
-       out     (c),a\r
-       ld      (iy+swr1),a\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret\r
- .endif\r
-\r
-swr1td:        ; serial write register 1 transmit disable - enter with di\r
- ;ld a,(iy+sdev)\r
- ;cp s2dev\r
- ;ld a,'d'\r
- ;call z,abyte\r
-       ld      e,0fdh\r
-swr1rb:        ; serial write register 1 reset bits - enter with di\r
-       ld      c,(iy+sstat)\r
-       ld      b,2 ;(iy+sbase)\r
-       ld      d,1\r
-       out     (c),d\r
-       ld      a,e\r
-       and     (iy+swr1)\r
-       out     (c),a\r
-       ld      (iy+swr1),a\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret\r
- .endif\r
-\r
-swr5sb:        ; serial write register 5 set bits - enter with di\r
-       ld      c,(iy+sstat)\r
-       ld      b,2 ;(iy+sbase)\r
-       ld      d,5\r
-       out     (c),d\r
-       ld      a,e\r
-       or      (iy+swr5)\r
-       out     (c),a\r
-       ld      (iy+swr5),a\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret\r
- .endif\r
-\r
-swr5rb:        ; serial write register 5 reset bits - enter with di\r
-       ld      c,(iy+sstat)\r
-       ld      b,2 ;(iy+sbase)\r
-       ld      d,5\r
-       out     (c),d\r
-       ld      a,e\r
-       and     (iy+swr5)\r
-       out     (c),a\r
-       ld      (iy+swr5),a\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret\r
- .endif\r
-\r
-swr15s:        ; serial write register 15 set bits - enter with di\r
-       ld      c,(iy+sstat)\r
-       ld      b,2 ;(iy+sbase)\r
-       ld      d,15\r
-       out     (c),d\r
-       ld      a,e\r
-       or      (iy+swr15)\r
-       out     (c),a\r
-       ld      (iy+swr15),a\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret\r
- .endif\r
-\r
-swr15r:        ; serial write register 15 reset bits - enter with di\r
-       ld      c,(iy+sstat)\r
-       ld      b,2 ;(iy+sbase)\r
-       ld      d,15\r
-       out     (c),d\r
-       ld      a,e\r
-       and     (iy+swr15)\r
-       out     (c),a\r
-       ld      (iy+swr15),a\r
- .if 1\r
-       jp      ?BANK_FAST_LEAVE_L08\r
- .else\r
-       ret\r
- .endif\r
-\r
-; -----------------------------------------------------------------------------\r
-\r
-       END\r
diff --git a/src/kernel/kernel.lnk% b/src/kernel/kernel.lnk%
deleted file mode 100644 (file)
index 04f57e3..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
--k ..\..\..\lib\r
--l libsysb.lib\r
--l libc.lib\r
--l libiar.lib\r
--m\r
--u\r
--i\r
--o kernel\r
--bl RCODE=0\r
--bl ICODE=0x8100\r
--bl CODE=0x804000,0x10000\r
--bc CODE=0x4000\r
-c0k\r
-cmx_init\r
-cxver5\r
-cmxio3\r
-cxskv5b\r
-cmxintb\r
-asci\r
-escc\r
-apibus\r
-copyr\r
-diag\r
-main\r
-data\r
-machasm\r
-machdep\r
-filesys\r
-process\r
-procasm\r
-scall1\r
-scall2\r
-scall3\r
-devtty\r
-devio\r
-devhd\r
-devmisc\r
-devflop\r
-flopasm\r
-utils\r
-systrace\r
-xip\r
-dprintf\r
-kprintf\r
-vfprintf\r
-itoa\r
-ltoa\r
-ultoa\r
-strlen\r
-strcat\r
-strcpy\r
-strncmp\r
-memcpy\r
-abort\r
-exit\r
-_exit\r
-testsystem\r
-touchscreen\r
diff --git a/src/kernel/n.bat.org b/src/kernel/n.bat.org
deleted file mode 100644 (file)
index 723a746..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-md build\r
-cd build\r
-copy ..\kernel.lnk\r
-copy ..\build.ban n.bat\r
-call n\r
-cd ..\r
index c1d827f..5575bda 100644 (file)
@@ -193,7 +193,10 @@ void testsystem_init(void)
        char p;\r
 \r
        /* Configures which devices get the testsystem hook installed */\r
+#if 0 /* Serial 1 causes interrupt (re-entrance?) problems!! */\r
        wsdevs[_2SDEV(DEV_S1)].tsyshook = 1;\r
+#endif\r
+       wsdevs[_2SDEV(DEV_S1)].tsyshook = 0;\r
        wsdevs[_2SDEV(DEV_LC)].tsyshook = 0;\r
        wsdevs[_2SDEV(DEV_TS)].tsyshook = 1;\r
        wsdevs[_2SDEV(DEV_CD)].tsyshook = 1;\r
diff --git a/src/mkfont/apibus.hfm b/src/mkfont/apibus.hfm
deleted file mode 100644 (file)
index bb9647a..0000000
Binary files a/src/mkfont/apibus.hfm and /dev/null differ
diff --git a/src/mkfont/apibus.txt b/src/mkfont/apibus.txt
deleted file mode 100644 (file)
index 07a312a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# apibus.txt\r
-\r
-# bmp2txt infile.bmp [outfile.txt]\r
-bmp2txt set01.bmp\r
-bmp2txt set02.bmp\r
-bmp2txt set03.bmp\r
-bmp2txt set04.bmp\r
-bmp2txt set05.bmp\r
-bmp2txt set06.bmp\r
-\r
-# txt2chs infile.txt [outfile.chs] x_space y_space\r
-txt2chs set01.txt 1 3\r
-txt2chs set02.txt 1 3\r
-txt2chs set03.txt 1 4\r
-txt2chs set04.txt 2 5\r
-txt2chs set05.txt 2 7\r
-txt2chs set06.txt 1 3\r
-\r
-# chs2cmd infile.chs [outfile.cmd] slot\r
-chs2cmd set01.chs lcd0.cmd 1\r
-chs2cmd set02.chs lcd0.cmd 2\r
-chs2cmd set03.chs lcd0.cmd 3\r
-chs2cmd set04.chs lcd0.cmd 4\r
-chs2cmd set05.chs lcd0.cmd 5\r
-chs2cmd set06.chs lcd0.cmd 6\r
-chs2cmd set01.chs lcd1.cmd 1\r
-chs2cmd set02.chs lcd1.cmd 2\r
-chs2cmd set03.chs lcd1.cmd 3\r
-chs2cmd set04.chs lcd1.cmd 4\r
-chs2cmd set05.chs lcd1.cmd 5\r
-\r
-# chs2hfm infile.chs device slot family style\r
-chs2hfm set01.chs 0 1 sans regular\r
-chs2hfm set02.chs 0 2 sans bold\r
-chs2hfm set03.chs 0 3 sans regular\r
-chs2hfm set04.chs 0 4 sans regular\r
-chs2hfm set05.chs 0 5 sans regular\r
-chs2hfm set06.chs 0 6 sans condensed\r
-chs2hfm set01.chs 1 1 sans regular\r
-chs2hfm set02.chs 1 2 sans bold\r
-chs2hfm set03.chs 1 3 sans regular\r
-chs2hfm set04.chs 1 4 sans regular\r
-chs2hfm set05.chs 1 5 sans regular\r
-\r
index 0b1ec45..017ab57 100644 (file)
Binary files a/src/mkfont/bmp2txt.exe and b/src/mkfont/bmp2txt.exe differ
diff --git a/src/mkfont/bmp2txt.obj b/src/mkfont/bmp2txt.obj
new file mode 100644 (file)
index 0000000..65c611b
Binary files /dev/null and b/src/mkfont/bmp2txt.obj differ
index c2d1b24..8185fe6 100644 (file)
Binary files a/src/mkfont/chs2cmd.exe and b/src/mkfont/chs2cmd.exe differ
diff --git a/src/mkfont/chs2cmd.obj b/src/mkfont/chs2cmd.obj
new file mode 100644 (file)
index 0000000..84d7125
Binary files /dev/null and b/src/mkfont/chs2cmd.obj differ
index 366ccf9..0931428 100644 (file)
Binary files a/src/mkfont/hfmdump.exe and b/src/mkfont/hfmdump.exe differ
diff --git a/src/mkfont/hfmdump.obj b/src/mkfont/hfmdump.obj
new file mode 100644 (file)
index 0000000..73ffffb
Binary files /dev/null and b/src/mkfont/hfmdump.obj differ
diff --git a/src/mkfont/hfmlib.obj b/src/mkfont/hfmlib.obj
new file mode 100644 (file)
index 0000000..57a08e4
Binary files /dev/null and b/src/mkfont/hfmlib.obj differ
index 45b87f5..eeb09e3 100644 (file)
Binary files a/src/mkfont/hfmtool.exe and b/src/mkfont/hfmtool.exe differ
diff --git a/src/mkfont/hfmtool.obj b/src/mkfont/hfmtool.obj
new file mode 100644 (file)
index 0000000..3f6959c
Binary files /dev/null and b/src/mkfont/hfmtool.obj differ
index 188e183..13de2cb 100644 (file)
Binary files a/src/mkfont/hfmwidth.exe and b/src/mkfont/hfmwidth.exe differ
diff --git a/src/mkfont/hfmwidth.obj b/src/mkfont/hfmwidth.obj
new file mode 100644 (file)
index 0000000..52834ee
Binary files /dev/null and b/src/mkfont/hfmwidth.obj differ
diff --git a/src/mkfont/hycache.obj b/src/mkfont/hycache.obj
new file mode 100644 (file)
index 0000000..1976fa2
Binary files /dev/null and b/src/mkfont/hycache.obj differ
diff --git a/src/mkfont/hyfile.obj b/src/mkfont/hyfile.obj
new file mode 100644 (file)
index 0000000..8f5cfdc
Binary files /dev/null and b/src/mkfont/hyfile.obj differ
diff --git a/src/mkfont/hyfs.obj b/src/mkfont/hyfs.obj
new file mode 100644 (file)
index 0000000..840b097
Binary files /dev/null and b/src/mkfont/hyfs.obj differ
diff --git a/src/mkfont/hyimage.obj b/src/mkfont/hyimage.obj
new file mode 100644 (file)
index 0000000..270ec88
Binary files /dev/null and b/src/mkfont/hyimage.obj differ
diff --git a/src/mkfont/hylist.obj b/src/mkfont/hylist.obj
new file mode 100644 (file)
index 0000000..cb779f0
Binary files /dev/null and b/src/mkfont/hylist.obj differ
diff --git a/src/mkfont/hymb.obj b/src/mkfont/hymb.obj
new file mode 100644 (file)
index 0000000..c4b92fb
Binary files /dev/null and b/src/mkfont/hymb.obj differ
diff --git a/src/mkfont/hystring.obj b/src/mkfont/hystring.obj
new file mode 100644 (file)
index 0000000..f30ca48
Binary files /dev/null and b/src/mkfont/hystring.obj differ
index 7e9dad9..e16cb84 100644 (file)
@@ -6,8 +6,6 @@ cl -Zi -I. -DDEBUG=0 -Tp hfmwidth.c hfmlib.obj
 @if errorlevel 1 goto failure\r
 copy hfmwidth.exe ..\bin\r
 \r
-goto success\r
-\r
 cl -Zi -I. -DDEBUG=0 hfmtool.cpp hfmlib.obj bmp2txt.cpp txt2chs.cpp chs2cmd.cpp hystring.cpp hycache.cpp hylist.cpp hyimage.cpp hyfile.cpp hyfs.cpp hymb.cpp\r
 @if errorlevel 1 goto failure\r
 copy hfmtool.exe ..\bin\r
index d9c8a89..7de09b4 100644 (file)
Binary files a/src/mkfont/txt2chs.exe and b/src/mkfont/txt2chs.exe differ
diff --git a/src/mkfont/txt2chs.obj b/src/mkfont/txt2chs.obj
new file mode 100644 (file)
index 0000000..07a6a14
Binary files /dev/null and b/src/mkfont/txt2chs.obj differ
diff --git a/src/mkutil/make-3.80/ABOUT-NLS b/src/mkutil/make-3.80/ABOUT-NLS
new file mode 100644 (file)
index 0000000..d528f9c
--- /dev/null
@@ -0,0 +1,435 @@
+Notes on the Free Translation Project
+*************************************
+
+   Free software is going international!  The Free Translation Project
+is a way to get maintainers of free software, translators, and users all
+together, so that will gradually become able to speak many languages.
+A few packages already provide translations for their messages.
+
+   If you found this `ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU `gettext' internally,
+itself available at your nearest GNU archive site.  But you do _not_
+need to install GNU `gettext' prior to configuring, installing or using
+this package with messages translated.
+
+   Installers will find here some useful hints.  These notes also
+explain how users should proceed for getting the programs to use the
+available translations.  They tell how people wanting to contribute and
+work at translations should contact the appropriate team.
+
+   When reporting bugs in the `intl/' directory or bugs which may be
+related to internationalization, you should tell about the version of
+`gettext' which is used.  The information can be found in the
+`intl/VERSION' file, in internationalized packages.
+
+Quick configuration advice
+==========================
+
+   If you want to exploit the full power of internationalization, you
+should configure it using
+
+     ./configure --with-included-gettext
+
+to force usage of internationalizing routines provided within this
+package, despite the existence of internationalizing capabilities in the
+operating system where this package is being installed.  So far, only
+the `gettext' implementation in the GNU C library version 2 provides as
+many features (such as locale alias, message inheritance, automatic
+charset conversion or plural form handling) as the implementation here.
+It is also not possible to offer this additional functionality on top
+of a `catgets' implementation.  Future versions of GNU `gettext' will
+very likely convey even more functionality.  So it might be a good idea
+to change to GNU `gettext' as soon as possible.
+
+   So you need _not_ provide this option if you are using GNU libc 2 or
+you have installed a recent copy of the GNU gettext package with the
+included `libintl'.
+
+INSTALL Matters
+===============
+
+   Some packages are "localizable" when properly installed; the
+programs they contain can be made to speak your own native language.
+Most such packages use GNU `gettext'.  Other packages have their own
+ways to internationalization, predating GNU `gettext'.
+
+   By default, this package will be installed to allow translation of
+messages.  It will automatically detect whether the system already
+provides the GNU `gettext' functions.  If not, the GNU `gettext' own
+library will be used.  This library is wholly contained within this
+package, usually in the `intl/' subdirectory, so prior installation of
+the GNU `gettext' package is _not_ required.  Installers may use
+special options at configuration time for changing the default
+behaviour.  The commands:
+
+     ./configure --with-included-gettext
+     ./configure --disable-nls
+
+will respectively bypass any pre-existing `gettext' to use the
+internationalizing routines provided within this package, or else,
+_totally_ disable translation of messages.
+
+   When you already have GNU `gettext' installed on your system and run
+configure without an option for your new package, `configure' will
+probably detect the previously built and installed `libintl.a' file and
+will decide to use this.  This might be not what is desirable.  You
+should use the more recent version of the GNU `gettext' library.  I.e.
+if the file `intl/VERSION' shows that the library which comes with this
+package is more recent, you should use
+
+     ./configure --with-included-gettext
+
+to prevent auto-detection.
+
+   The configuration process will not test for the `catgets' function
+and therefore it will not be used.  The reason is that even an
+emulation of `gettext' on top of `catgets' could not provide all the
+extensions of the GNU `gettext' library.
+
+   Internationalized packages have usually many `po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language.  Unless
+translations have been forbidden at `configure' time by using the
+`--disable-nls' switch, all available translations are installed
+together with the package.  However, the environment variable `LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+`LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+Using This Package
+==================
+
+   As a user, if your language has been installed for this package, you
+only have to set the `LANG' environment variable to the appropriate
+`LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code,
+and `CC' is an ISO 3166 two-letter country code.  For example, let's
+suppose that you speak German and live in Germany.  At the shell
+prompt, merely execute `setenv LANG de_DE' (in `csh'),
+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
+This can be done from your `.login' or `.profile' file, once and for
+all.
+
+   You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries.  For
+example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
+country code serves to distinguish the dialects.
+
+   The locale naming convention of `LL_CC', with `LL' denoting the
+language and `CC' denoting the country, is the one use on systems based
+on GNU libc.  On other systems, some variations of this scheme are
+used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
+locales supported by your system for your country by running the command
+`locale -a | grep '^LL''.
+
+   Not all programs have translations for all languages.  By default, an
+English message is shown in place of a nonexistent translation.  If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
+for the purpose of message handling, but you still need to have `LANG'
+set to the primary language; this is required by other parts of the
+system libraries.  For example, some Swedish users who would rather
+read translations in German than English for when Swedish is not
+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+
+   In the `LANGUAGE' environment variable, but not in the `LANG'
+environment variable, `LL_CC' combinations can be abbreviated as `LL'
+to denote the language's main dialect.  For example, `de' is equivalent
+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
+(Portuguese as spoken in Portugal) in this context.
+
+Translating Teams
+=================
+
+   For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list.  The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
+area.
+
+   If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+`-request' appended.  For example, speakers of Swedish can send a
+message to `sv-request@li.org', having this message body:
+
+     subscribe
+
+   Keep in mind that team members are expected to participate
+_actively_ in translations, or at solving translational difficulties,
+rather than merely lurking around.  If your team does not exist yet and
+you want to start one, or if you are unsure about what to do or how to
+get started, please write to `translation@iro.umontreal.ca' to reach the
+coordinator for all translator teams.
+
+   The English team is special.  It works at improving and uniformizing
+the terminology in use.  Proven linguistic skill are praised more than
+programming skill, here.
+
+Available Packages
+==================
+
+   Languages are not equally supported in all packages.  The following
+matrix shows the current state of internationalization, as of August
+2002.  The matrix shows, in regard of each package, for which languages
+PO files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+     Ready PO files    be bg ca cs da de el en eo es et fi fr
+                     +----------------------------------------+
+     a2ps            |             [] []             []    [] |
+     ap-utils        |                                        |
+     bash            |                []       [] []       [] |
+     bfd             |                            []       [] |
+     binutils        |                            []       [] |
+     bison           |                []          [] []    [] |
+     clisp           |                                        |
+     clisp           |                []    []    []       [] |
+     clisplow        |                                        |
+     cpio            |             [] []          []       [] |
+     darkstat        |             ()                         |
+     diffutils       |          [] [] []       [] []       [] |
+     enscript        |                []                   [] |
+     error           |                []          []       [] |
+     fetchmail       |       [] () [] []          []       () |
+     fileutils       |             [] []          [] []    [] |
+     findutils       |             [] []       [] [] []    [] |
+     flex            |       []    [] []          []       [] |
+     gas             |                            []       [] |
+     gawk            |                []          []       [] |
+     gcal            |       []                            [] |
+     gcc             |                            []       [] |
+     gettext         |       []    [] []          []       [] |
+     gnupg           |       []       [] []    [] [] []    [] |
+     gprof           |                            []       [] |
+     gpsdrive        |             () ()    ()    ()       () |
+     grep            |    [] []       [] []       [] [] [] [] |
+     gretl           |                            []          |
+     gthumb          |                ()          ()       () |
+     hello           |       []    [] [] []    [] [] [] [] [] |
+     id-utils        |             [] []                   [] |
+     indent          |       []       []       []    []    [] |
+     jpilot          |          () [] []                   [] |
+     jwhois          |                            []       [] |
+     kbd             |                []          []       [] |
+     ld              |                            []       [] |
+     libc            |       [] [] [] [] []       []    [] [] |
+     libiconv        |       []       []       [] []          |
+     lifelines       |                ()                   () |
+     lilypond        |             []                      [] |
+     lingoteach      |                         []          [] |
+     lingoteach_lessons|                ()          ()          |
+     lynx            |       [] [] [] []             []       |
+     m4              |          [] [] [] []                [] |
+     make            |             [] []          []       [] |
+     man-db          |       [] () () []          ()       () |
+     mysecretdiary   |                []          []       [] |
+     nano            |       [] () [] []          []       [] |
+     nano_1_0        |       [] () [] []          []       [] |
+     opcodes         |             []             []       [] |
+     parted          |       []    [] []          []       [] |
+     ptx             |             [] []       [] [] [] [] [] |
+     python          |                                        |
+     recode          |             [] [] []    [] []       [] |
+     sed             |       [] [] [] [] []    [] [] [] [] [] |
+     sh-utils        |                []          [] []    [] |
+     sharutils       |          [] [] [] []       [] []    [] |
+     sketch          |                ()          []       () |
+     soundtracker    |                []          []       [] |
+     sp              |                []                      |
+     tar             |          [] [] []          [] []    [] |
+     texinfo         |          [] [] []       []          [] |
+     textutils       |       []    [] []          []       [] |
+     util-linux      |          [] [] []          [] []    [] |
+     vorbis-tools    |                                     [] |
+     wastesedge      |                                        |
+     wdiff           |       []    [] []          [] []    [] |
+     wget            |    [] [] [] [] [] []       [] [] [] [] |
+                     +----------------------------------------+
+                       be bg ca cs da de el en eo es et fi fr
+                        0  2 19 10 30 44  9  1 12 44 17  6 53
+     
+                       gl he hr hu id it ja ko lv nb nl nn
+                     +-------------------------------------+
+     a2ps            |                ()    ()       []    |
+     ap-utils        |                                     |
+     bash            |          []                         |
+     bfd             |                   []                |
+     binutils        |                   []                |
+     bison           |       []       [] []          []    |
+     clisp           |                                     |
+     clisp           |                               []    |
+     clisplow        |                                     |
+     cpio            | []       []          []       []    |
+     darkstat        |                                     |
+     diffutils       | [] []    [] []    []                |
+     enscript        |       []                      []    |
+     error           |          []                         |
+     fetchmail       |                   []                |
+     fileutils       |          []    [] []                |
+     findutils       | []    [] [] [] [] [] []       []    |
+     flex            |                      []             |
+     gas             |                                     |
+     gawk            |    []                               |
+     gcal            |                                     |
+     gcc             |                   []                |
+     gettext         |                   [] []             |
+     gnupg           | []          [] [] []                |
+     gprof           |             []                      |
+     gpsdrive        |          []    ()             ()    |
+     grep            | [] [] [] [] [] [] []                |
+     gretl           |                                     |
+     gthumb          |                () ()                |
+     hello           | [] [] [] [] [] [] [] [] [] [] [] [] |
+     id-utils        |          []                   []    |
+     indent          | []       []       []          []    |
+     jpilot          |                   ()          ()    |
+     jwhois          |          [] []                      |
+     kbd             |                                     |
+     ld              |                                     |
+     libc            | []                [] []    []       |
+     libiconv        | []    [] []                         |
+     lifelines       |                                     |
+     lilypond        |                               []    |
+     lingoteach      |          []                         |
+     lingoteach_lessons|                                     |
+     lynx            |          []    [] []          []    |
+     m4              | []          []    []          []    |
+     make            | [] [] []          [] []       []    |
+     man-db          |                () ()                |
+     mysecretdiary   |             []                      |
+     nano            | []          [] []             []    |
+     nano_1_0        | []          [] []          []    [] |
+     opcodes         |             []                []    |
+     parted          | []                []             [] |
+     ptx             | []       [] []             [] []    |
+     python          |                                     |
+     recode          | [] []          []                   |
+     sed             | [] [] []    [] [] [] []       []    |
+     sh-utils        |                [] []       []       |
+     sharutils       | []                []          []    |
+     sketch          |                ()                   |
+     soundtracker    | []    []                            |
+     sp              |                                     |
+     tar             | []    []    [] [] []       []       |
+     texinfo         |    [] []          []                |
+     textutils       | []                [] []    []       |
+     util-linux      |                () []                |
+     vorbis-tools    |          []                         |
+     wastesedge      |                                     |
+     wdiff           | []       [] []                      |
+     wget            | [] [] [] []       []          []    |
+                     +-------------------------------------+
+                       gl he hr hu id it ja ko lv nb nl nn
+                       23  9 12 19 16 13 26  9  1  7 19  3
+     
+                       no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW
+                     +----------------------------------------------+
+     a2ps            | () () ()  []   []    [] [] []                | 10
+     ap-utils        |                               ()             |  0
+     bash            |           []                                 |  6
+     bfd             |                         [] []                |  5
+     binutils        |                         [] []                |  5
+     bison           |           []   []       [] []                | 12
+     clisp           |                                              |  0
+     clisp           |                                              |  5
+     clisplow        |                                              |  0
+     cpio            |    []     []   []       []                   | 12
+     darkstat        |           []            []        ()    ()   |  2
+     diffutils       |    []     []   []       [] []           []   | 17
+     enscript        |           []   []       [] []                |  8
+     error           |                   []       []           []   |  7
+     fetchmail       |    ()     ()               []                |  6
+     fileutils       |                []    [] [] []     []    []   | 14
+     findutils       |    []     []   [] [] [] [] []                | 21
+     flex            |                []       [] []                |  9
+     gas             |                            []                |  3
+     gawk            |                         [] []                |  6
+     gcal            |                         [] []                |  4
+     gcc             |                            []                |  4
+     gettext         |                [] [] [] [] []           []   | 13
+     gnupg           |    []                   [] []                | 14
+     gprof           |                         [] []                |  5
+     gpsdrive        |                   []    []                   |  3
+     grep            |    []     []   []    []    []                | 20
+     gretl           |                                              |  1
+     gthumb          |           ()   ()       []                   |  1
+     hello           | [] []          [] []    [] [] []             | 28
+     id-utils        |           []   []       [] []                |  9
+     indent          |           []   [] []    [] []                | 14
+     jpilot          | ()                      () []           []   |  5
+     jwhois          |           []   ()       () []           []   |  7
+     kbd             |                         [] []                |  5
+     ld              |                         [] []                |  4
+     libc            | [] []     []      []    [] []                | 18
+     libiconv        |           []   [] []    [] []                | 12
+     lifelines       |                         []                   |  1
+     lilypond        |                         []                   |  4
+     lingoteach      |           []            []                   |  5
+     lingoteach_lessons|                                   ()         |  0
+     lynx            |           []   []       [] []                | 13
+     m4              |    []     []   []       []                   | 13
+     make            |    []     []   []       [] []                | 15
+     man-db          |                                              |  3
+     mysecretdiary   |           []            [] []                |  7
+     nano            |    []          []       []    []             | 13
+     nano_1_0        |    []          []       []    []             | 14
+     opcodes         |           []            [] []                |  8
+     parted          |       []  []            [] []                | 12
+     ptx             | [] [] []  []   []       [] []                | 19
+     python          |                                              |  0
+     recode          |    []     []   []    [] [] []                | 15
+     sed             |           []   [] [] [] [] []                | 24
+     sh-utils        |                []          []                |  9
+     sharutils       |                []       [] []           []   | 14
+     sketch          |           []   ()       []                   |  4
+     soundtracker    |                         []                   |  6
+     sp              |                                              |  1
+     tar             | [] []     []      [] [] [] []                | 19
+     texinfo         |                []       []                   | 10
+     textutils       |                []    [] [] []           []   | 14
+     util-linux      |           []            [] []                | 10
+     vorbis-tools    |                         []                   |  3
+     wastesedge      |                                              |  0
+     wdiff           |           []   [] []    [] []                | 14
+     wget            |    []          [] [] [] [] [] []        []   | 24
+                     +----------------------------------------------+
+       37 teams        no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW
+       68 domains       4 15  2  28   28 12 10 49 43  4   1     9    609
+
+   Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect.  This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+   For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and
+distributed as such by its maintainer.  There might be an observable
+lag between the mere existence a PO file and its wide availability in a
+distribution.
+
+   If August 2002 seems to be old, you may fetch a more recent copy of
+this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
+matrix with full percentage details can be found at
+`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
+
+Using `gettext' in new packages
+===============================
+
+   If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU `gettext' in your
+package.  Of course you have to respect the GNU Library General Public
+License which covers the use of the GNU `gettext' library.  This means
+in particular that even non-free programs can use `libintl' as a shared
+library, whereas only free software can use `libintl' as a static
+library or use modified versions of `libintl'.
+
+   Once the sources are changed appropriately and the setup can handle
+to use of `gettext' the only thing missing are the translations.  The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project.  Therefore the information given above
+applies also for every other Free Software Project.  Contact
+`translation@iro.umontreal.ca' to make the `.pot' files available to
+the translation teams.
+
diff --git a/src/mkutil/make-3.80/AUTHORS b/src/mkutil/make-3.80/AUTHORS
new file mode 100644 (file)
index 0000000..88d61c3
--- /dev/null
@@ -0,0 +1,57 @@
+-----------------------------------
+
+GNU make development up to version 3.75 by:
+    Roland McGrath <roland@gnu.org>
+
+
+Development starting with GNU make 3.76 by:
+    Paul D. Smith <psmith@gnu.org>
+
+
+GNU Make User's Manual
+  Written by:
+    Richard M. Stallman <rms@gnu.org>
+
+  Edited by:
+    Roland McGrath <roland@gnu.org>
+    Bob Chassell <bob@gnu.org>
+    Melissa Weisshaus <melissa@gnu.org>
+    Paul D. Smith <psmith@gnu.org>
+
+-----------------------------------
+GNU make porting efforts:
+
+  Port to VMS by:
+      Klaus Kaempf <kkaempf@progis.de>
+      Archive support/Bug fixes by:
+        John W. Eaton <jwe@bevo.che.wisc.edu>
+        Martin Zinser <zinser@decus.decus.de>
+
+  Port to Amiga by:
+      Aaron Digulla <digulla@fh-konstanz.de>
+
+
+  Port to MS-DOS (DJGPP) and MS-Windows 95/NT by:
+      DJ Delorie <dj@delorie.com>
+      Rob Tulloh <rob_tulloh@tivoli.com>
+      Eli Zaretskii <eliz@is.elta.co.il>
+
+-----------------------------------
+Other contributors:
+
+  Janet Carson <janet_carson@tivoli.com>
+  Howard Chu <hyc@highlandsun.com>
+  Paul Eggert <eggert@twinsun.com>
+  Klaus Heinz <kamar@ease.rhein-main.de>
+  Michael Joosten
+  Jim Kelton <jim_kelton@tivoli.com>
+  David Lubbren <uhay@rz.uni-karlsruhe.de>
+  Tim Magill <tim.magill@telops.gte.com>
+  Greg McGary <greg@mcgary.org>
+  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+  Carl Staelin (Princeton University)
+  Ian Stewartson (Data Logic Limited)
+
+With suggestions/comments/bug reports from a cast of ... well ...
+hundreds, anyway :)
diff --git a/src/mkutil/make-3.80/COPYING b/src/mkutil/make-3.80/COPYING
new file mode 100644 (file)
index 0000000..a3f6b12
--- /dev/null
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          59 Temple Place - Suite 330, Boston, MA
+                          02111-1307, USA.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+       Appendix: How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/src/mkutil/make-3.80/ChangeLog b/src/mkutil/make-3.80/ChangeLog
new file mode 100644 (file)
index 0000000..2ca872b
--- /dev/null
@@ -0,0 +1,857 @@
+2002-10-03  Paul D. Smith  <psmith@gnu.org>
+
+       Version 3.80 released.
+
+       * dir.c: Change hash functions to use K&R function definition style.
+       * function.c: Ditto.
+       * read.c: Ditto.
+       * variable.c: Ditto.
+
+       Update to automake 1.7.
+
+       * Makefile.am (AUTOMAKE_OPTIONS): Update to require 1.7.
+       (pdf): Remove this target as automake now provides one.
+
+       * configure.in: Change AM_CONFIG_HEADER to AC_CONFIG_HEADERS.
+
+2002-09-30  Martin P.J. Zinser  <zinser@decus.de>
+
+       * makefile.com: Updates for GNU make 3.80.
+       * makefile.vms: Ditto.
+
+2002-09-23  Paul D. Smith  <psmith@gnu.org>
+
+       * read.c (enum make_word_type): Remove w_comment.
+       (get_next_mword): Don't treat comment characters as special; where
+       this function is used we will never see a comment (it's stripped
+       before we get here) and treating comments specially means that
+       targets like "foo\#bar" aren't handled properly.
+
+2002-09-18  Paul D. Smith  <psmith@gnu.org>
+
+       * doc/make.texi (Bugs): Update with some info on Savannah, etc.
+
+       * read.c (eval): Expansion of arguments to export/unexport was
+       ignoring all arguments after the first one.  Change the algorithm
+       to expand the whole line once, then parse the results.
+
+2002-09-17  Paul D. Smith  <psmith@gnu.org>
+
+       Fix Bug #940 (plus another bug I found while looking at this):
+
+       * read.c (record_target_var): enter_file() will add a new entry if
+       it's a double-colon target: we don't want to do that in this
+       situation.  Invoke lookup_file() and only enter_file() if it does
+       not already exist.  If the file we get back is a double-colon then
+       add this variable to the "root" double-colon target.
+
+       * variable.c (initialize_file_variables): If this file is a
+       double-colon target but is not the "root" target, then initialize
+       the root and make the root's variable list the parent of our
+       variable list.
+
+2002-09-13  Paul D. Smith  <psmith@gnu.org>
+
+       * doc/make.texi (MAKE Variable): Add some indexing for "+".
+
+       * hash.c (round_up_2): Get rid of a warning.
+
+2002-09-12  Paul D. Smith  <psmith@gnu.org>
+
+       * Makefile.am (loadavg_SOURCES, loadavg.c): Tiptoe around automake
+       so it doesn't complain about getloadavg.c.
+
+       * commands.c (set_file_variables): Make sure we always alloca() at
+       least 1 character for the value of $? (for '\0').
+
+2002-09-11  Paul D. Smith  <psmith@gnu.org>
+
+       * hash.h (STRING_COMPARE, ISTRING_COMPARE, STRING_N_COMPARE): Fix
+       macro to use RESULT instead of the incorrect _RESULT_.
+
+       * make.h (HAVE_BROKEN_RESTART): Add prototypes for atomic_stat()
+       and atomic_readdir().  We need to #include dirent.h to get this to
+       work.
+       * misc.c (atomic_readdir): Fix typos.
+
+2002-09-10  Paul D. Smith  <psmith@gnu.org>
+
+       * read.c (eval): Expand variable lists given to export and
+       unexport, so that "export $(LIST_OF_VARIABLES)" (etc.) works.
+       (conditional_line): Ditto for "ifdef".  Fixes bug #103.
+
+       * doc/make.texi (Variables/Recursion): Document this.
+       (Conditional Syntax): And here.
+
+2002-09-09  Paul D. Smith  <psmith@gnu.org>
+
+       * configure.in: Check for memmove().
+
+2002-09-07  Paul D. Smith  <psmith@gnu.org>
+
+       * configure.in (HAVE_BROKEN_RESTART): Define this on PTX systems;
+       Michael Sterrett <msterret@coat.com> reports that while it has
+       SA_RESTART, it does not work properly.
+
+       * misc.c (atomic_stat): If HAVE_BROKEN_RESTART, create a function
+       that invokes stat() and loops to do it again if it returns EINTR.
+       (atomic_readdir): Ditto, with readdir().
+
+       * make.h (stat, readdir): If HAVE_BROKEN_RESTART, alias stat()
+       and readdir() to atomic_stat() and atomic_readdir().
+
+2002-09-04  Paul D. Smith  <psmith@gnu.org>
+
+       * implicit.c (pattern_search): Daniel <barkalow@reputation.com>
+       reports that GNU make sometimes doesn't recognize that targets can
+       be made, when directories can be created as prerequisites.  He
+       reports that changing the order of predicates in the DEP->changed
+       flag test so that lookup_file() is always performed, solves this
+       problem.
+
+2002-08-08  Paul D. Smith  <psmith@gnu.org>
+
+       * configure.in: Require a newer version of gettext.
+
+       * misc.c (perror_with_name): Translate the format string (for
+       right-to-left language support).
+       (pfatal_with_name): Ditto.
+
+       * main.c: Create a static array of strings to store the usage
+       text.  This is done to facilitate translations.
+       (struct command_switch): Remove argdesc and description fields.
+       (switches): Remove values for obsolete fields.
+       (print_usage): Print each element of the usage array.
+
+       * hash.c: Change function definitions to be K&R style.
+
+2002-08-02  Paul D. Smith  <psmith@gnu.org>
+
+       * NEWS: Remove the mention of .TARGETS; we aren't going to publish
+       this one because it's too hard to get right.  We'll look at it for
+       a future release.
+       * main.c (main): Don't create the .TARGETS variable.
+       * variable.c (handle_special_var): Don't handle .TARGETS.
+
+2002-08-01  Paul D. Smith  <psmith@gnu.org>
+
+       * main.c (switches): Add a new option, -B (--always-make).  If
+       specified, make will rebuild all targets that it encounters even
+       if they don't appear to be out of date.
+       (always_make_flag): New flag.
+       * make.h: Extern always_make_flag.
+       * remake.c (update_file_1): Check always_make_flag; if it's set we
+       will always rebuild any target we can, even if none of its
+       prerequisites are newer.
+       * NEWS: Mention it.
+
+       * doc/make.texi (Shell Function): Make it clear that make
+       variables marked as "export" are not passed to instances of the
+       shell function.
+
+       Add new introspection variable .VARIABLES and .TARGETS.
+
+       * variable.c (handle_special_var): New function.  If the variable
+       reference passed in is "special" (.VARIABLES or .TARGETS),
+       calculate the new value if necessary.  .VARIABLES is handled here:
+       walk through the hash of defined variables and construct a value
+       which is a list of the names.  .TARGETS is handled by
+       build_target_list().
+       (lookup_variable): Invoke handle_special_var().
+       * file.c (build_target_list): Walk through the hask of known files
+       and construct a list of the names of all the ones marked as
+       targets.
+       * main.c (main): Initialize them to empty (and as simple variables).
+       * doc/make.texi (Special Variables): Document them.
+       * NEWS: Mention them.
+
+       * variable.h (struct variable): Add a new flag "exportable" which
+       is true if the variable name is valid for export.
+       * variable.c (define_variable_in_set): Set "exportable" when a new
+       variable is defined.
+       (target_environment): Use the "exportable" flag instead of
+       re-checking the name here... an efficiency improvement.
+
+2002-07-31  Paul D. Smith  <psmith@gnu.org>
+
+       * config.h-vms.template: Updates to build on VMS.  Thanks to
+       Brian_Benning@aksteel.com for helping verify the build.
+       * makefile.com: Build the new hash.c file.
+       * hash.h: Use strcpmi(), not stricmp(), in the
+       HAVE_CASE_INSENSITIVE_FS case.
+
+2002-07-30  Paul D. Smith  <psmith@gnu.org>
+
+       * hash.h (ISTRING_COMPARE, return_ISTRING_COMPARE): Add missing
+       backslashes to the HAVE_CASE_INSENSITIVE_FS case.
+       Reported by <Brian_Benning@aksteel.com>.
+
+2002-07-10  Paul D. Smith  <psmith@gnu.org>
+
+       * variable.c (pop_variable_scope): Remove variable made unused by
+       new hash infrastructure.
+       * read.c (dep_hash_cmp): Rewrite this to handle ignore_mtime
+       comparisons as well as name comparisons.
+       * variable.h: Add a prototype for new hash_init_function_table().
+       * file.c (lookup_file): Remove variables made unused by new hash
+       infrastructure.
+       * dir.c (directory_contents_hash_2): Missing return of hash value.
+       (dir_contents_file_exists_p): Remove variables made unused by new
+       hash infrastructure.
+
+
+       Installed Greg McGary's integration of the hash functions from the
+       GNU id-utils package:
+
+2002-07-10  Greg McGary  <greg@mcgary.org>
+
+       * scripts/functions/filter-out: Add literals to to the
+       pattern space in order to add complexity, and trigger
+       use of an internal hash table.  Fix documentation strings.
+       * scripts/targets/INTERMEDIATE: Reverse order of files
+       passed to expected `rm' command.
+
+2002-07-10  Greg McGary  <greg@mcgary.org>
+
+       * Makefile.am (SRCS): Add hash.c (noinst_HEADERS): Add hash.h
+       * hash.c: New file, taken from id-utils.
+       * hash.h: New file, taken from id-utils.
+
+       * make.h (HASH, HASHI): Remove macros.
+       (find_char_unquote): Change arglist in decl.
+       (hash_init_directories): New function decl.
+       * variable.h (hash.h): New #include.
+       (MAKELEVEL_NAME, MAKELEVEL_LENGTH): New constants.
+       * filedef.h (hash.h): New #include.
+       (struct file) [next]: Remove member.
+       (file_hash_enter): Remove function decl.
+       (init_hash_files): New function decl.
+
+       * ar.c (ar_name): Delay call to strlen until needed.
+       * main.c (initialize_global_hash_tables): New function.
+       (main): Call it.  Use MAKELEVEL_NAME & MAKELEVEL_LENGTH.
+       * misc.c (remove_comments): Pass char constants to find_char_unquote.
+       * remake.c (notice_finished_file): Update last_mtime on `prev' chain.
+
+       * dir.c (hash.h): New #include.
+       (struct directory_contents) [next, files]: Remove members.
+       [ctime]: Add member for VMS.  [dirfiles]: Add hash-table member.
+       (directory_contents_hash_1, directory_contents_hash_2,
+       directory_contents_hash_cmp): New functions.
+       (directories_contents): Change type to `struct hash_table'.
+       (struct directory) [next]: Remove member.
+       (directory_hash_1, directory_hash_2, directory_hash_cmp): New funcs.
+       (directory): Change type to `struct hash_table'.
+       (struct dirfile) [next]: Remove member.
+       [length]: Add member.  [impossible]: widen type to fill alignment gap.
+       (dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp): New functions.
+       (find_directory): Use new hash table package.
+       (dir_contents_file_exists_p): Likewise.
+       (file_impossible): Likewise.
+       (file_impossible_p): Likewise.
+       (print_dir_data_base): Likewise.
+       (open_dirstream): Likewise.
+       (read_dirstream): Likewise.
+       (hash_init_directories): New function.
+
+       * file.c (hash.h): New #include.
+       (file_hash_1, file_hash_2, file_hash_cmp): New functions.
+       (files): Change type to `struct hash_table'.
+       (lookup_file): Use new hash table package.
+       (enter_file): Likewise.
+       (remove_intermediates): Likewise.
+       (snap_deps): Likewise.
+       (print_file_data_base): Likewise.
+
+       * function.c
+       (function_table_entry_hash_1, function_table_entry_hash_2,
+       function_table_entry_hash_cmp): New functions.
+       (lookup_function): Remove `table' argument.
+       Use new hash table package.
+       (struct a_word) [chain, length]: New members.
+       (a_word_hash_1, a_word_hash_2, a_word_hash_cmp): New functions.
+       (struct a_pattern): New struct.
+       (func_filter_filterout): Pass through patterns noting boundaries
+       and '%', if present.  Note a_word length.  Use a hash table if
+       arglists are large enough to justify cost.
+       (function_table_init): Renamed from function_table.
+       (function_table): Declare as `struct hash_table'.
+       (FUNCTION_TABLE_ENTRIES): New constant.
+       (hash_init_function_table): New function.
+
+       * read.c (hash.h): New #include.
+       (read_makefile): Pass char constants to find_char_unquote.
+       (dep_hash_1, dep_hash_2, dep_hash_cmp): New functions.
+       (uniquize_deps): Use hash table to efficiently identify duplicates.
+       (find_char_unquote): Accept two char-constant stop chars, rather
+       than a string constant, avoiding zillions of calls to strchr.
+       Tighten inner search loops to test only for desired delimiters.
+
+       * variable.c (variable_hash_1, variable_hash_2,
+       variable_hash_cmp): New functions.
+       (variable_table): Declare as `struct hash_table'.
+       (global_variable_set): Remove initialization.
+       (init_hash_global_variable_set): New function.
+       (define_variable_in_set): Use new hash table package.
+       (lookup_variable): Likewise.
+       (lookup_variable_in_set): Likewise.
+       (initialize_file_variables): Likewise.
+       (pop_variable_scope): Likewise.
+       (create_new_variable_set): Likewise.
+       (merge_variable_sets): Likewise.
+       (define_automatic_variables): Likewise.
+       (target_environment): Likewise.
+       (print_variable_set): Likewise.
+
+2002-07-10  Paul D. Smith  <psmith@gnu.org>
+
+       Implement the SysV make syntax $$@, $$(@D), and $$(@F) in the
+       prerequisite list.  A real SysV make will expand the entire
+       prerequisites list _twice_: we don't do that as it's a big
+       backward-compatibility problem.  We only replace those specific
+       variables.
+
+       * read.c (record_files): Replace any $@, $(@D), and $(@F) variable
+       references left in the list of prerequisites.  Check for .POSIX as
+       we record targets, so we can disable non-POSIX behavior while
+       reading makefiles as well as running them.
+       (eval): Check the prerequisite list to see if we have anything
+       that looks like a SysV prerequisite variable reference.
+
+2002-07-09  Paul D. Smith  <psmith@gnu.org>
+
+       * doc/make.texi (Prerequisite Types): Add a new section describing
+       order-only prerequisites.
+
+       * read.c (uniquize_deps): If we have the same file as both a
+       normal and order-only prereq, get rid of the order-only prereq,
+       since the normal one supersedes it.
+
+2002-07-08  Paul D. Smith  <psmith@gnu.org>
+
+       * AUTHORS: Added Greg McGary to the AUTHORS file.
+       * NEWS: Blurbed order-only prerequisites.
+       * file.c (print_file): Show order-only deps properly when printing
+       the database.
+
+       * maintMakefile: Add "update" targets for wget'ing the latest
+       versions of various external files.  Taken from Makefile.maint in
+       autoconf, etc.
+
+       * dosbuild.bat: Somehow we got _double_ ^M's.  Remove them.
+       Reported by Eli Zaretskii <eliz@is.elta.co.il>.
+
+2002-07-07  Paul D. Smith  <psmith@gnu.org>
+
+       * po/*.po: Remove.  We'll use wget to retrieve them at release
+       time.
+
+       * variable.c (do_variable_definition) [W32]: On W32 using cmd
+       rather than a shell you get an exception.  Make sure we look up
+       the variable.  Patch provided by Eli Zaretskii <eliz@is.elta.co.il>.
+
+       * remake.c (notice_finished_file): Fix handling of -t flag.
+       Patch provided by Henning Makholm <henning@makholm.net>.
+
+       * implicit.c (pattern_search): Some systems apparently run short
+       of stack space, and using alloca() in this function caused an
+       overrun.  I modified it to use xmalloc() on the two variables
+       which seemed like they might get large.  Fixes Bug #476.
+
+       * main.c (print_version): Update copyright notice to conform with
+       GNU standards.
+       (print_usage): Update help output.
+
+       * function.c (func_eval): Create a new make function, $(eval
+       ...).  Expand the arguments, put them into a buffer, then invoke
+       eval_buffer() on the resulting string.
+       (func_quote): Create a new function, $(quote VARNAME).  Inserts
+       the value of the variable VARNAME without expanding it any
+       further.
+
+       * read.c (struct ebuffer): Change the linebuffer structure to an
+       "eval buffer", which can be either a file or a buffer.
+       (eval_makefile): Move the code in the old read_makefile() which
+       located a makefile into here: create a struct ebuffer with that
+       information.  Have it invoke the new function eval() with that
+       ebuffer.
+       (eval_buffer): Create a new function that creates a struct ebuffer
+       that holds a string buffer instead of a file.  Have it invoke
+       eval() with that ebuffer.
+       (eval): New function that contains the guts of the old
+       read_makefile() function: this function parses makefiles.  Obtains
+       data to parse from the provided ebuffer.  Some modifications to
+       make the flow of the function cleaner and clearer.  Still could
+       use some work here...
+       (do_define): Takes a struct ebuffer instead of a FILE*.  Read the
+       contents of the define/endef variable from the ebuffer.
+       (readstring): Read the next line from a string-style ebuffer.
+       (readline): Read the next line from an ebuffer.  If it's a string
+       ebuffer, invoke readstring().  If it's a FILE* ebuffer, read it
+       from the file.
+
+       * dep.h (eval_buffer): Prototype eval_buffer();
+
+       * variable.c (do_variable_definition): Make sure that all
+       non-target-specific variables are registered in the global set.
+       If we're invoked from an $(eval ...) we might be inside a $(call
+       ...) or other function which has pushed a variable scope; we still
+       want to define our variables from evaluated makefile code in the
+       global scope.
+
+2002-07-03  Greg McGary  <greg@mcgary.org>
+
+       * dep.h (struct dep) [ignore_mtime]: New member.
+       [changed]: convert to a bitfield.
+       * implicit.c (pattern_search): Zero ignore_mtime.
+       * main.c (main, handle_non_switch_argument): Likewise.
+       * rule.c (convert_suffix_rule): Likewise.
+       * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise.
+       (read_makefile): Parse '|' in prerequisite list.
+        (uniquize_deps): Consider ignore_mtime when comparing deps.
+       * remake.c (update_file_1, check_dep): Don't force remake for
+       dependencies that have d->ignore_mtime.
+       * commands.c (FILE_LIST_SEPARATOR): New constant.
+        (set_file_variables): Don't include a
+       prerequisite in $+, $^ or $? if d->ignore_mtime.
+        Define $|.
+
+2002-06-18  Paul D. Smith  <psmith@gnu.org>
+
+       * make.texinfo: Updates for next revision.  New date/rev/etc.
+       Recreate all Info menus.  Change license on the manual to the GNU
+       Free Documentation License.  A number of typos.
+       (Variables Simplify): Don't use "-" before it's defined.
+       (Automatic Prerequisites): Rewrite the target example to work
+       properly if the compile fails.  Remove incorrect comments about
+       how "set -e" behaves.
+       (Text Functions): Move the "word", "wordlist", "words", and
+       "firstword" functions here, from "File Name Functions".
+       * make-stds.texi: Update from latest GNU version.
+       * fdl.texi: (created) Import the latest GNU version.
+
+2002-06-06  Paul D. Smith  <psmith@gnu.org>
+
+       * variable.c (do_variable_definition): New function: extract the
+       part of try_variable_definition() that actually sets the value
+       into a separate function.
+       (try_variable_definition): Call do_variable_definition() after
+       parsing the variable definition string.
+       (define_variable_in_set): Make the name argument const.
+
+       * variable.h (enum variable_flavor): Make public.
+       (do_variable_definition): Create prototype.
+
+       * read.c (read_all_makefiles): Create a new built-in variable,
+       MAKEFILE_LIST.
+       (read_makefile): Add each makefile read in to this variable value.
+
+2002-05-18  Eli Zaretskii  <eliz@is.elta.co.il>
+
+        * Makefile.DOS.template: Tweak according to changes in the
+        distribution.  Add back the dependencies of *.o files.
+
+        * configh.dos.template: Synchronize with config.h.in.
+
+2002-05-09  Paul D. Smith  <psmith@gnu.org>
+
+       * file.c (file_timestamp_now): Use K&R function declaration.
+
+       * getloadavg.c (getloadavg): Merge setlocale() fix from sh-utils
+       getloadavg.c.  Autoconf thinks QNX is SVR4-like, but it isn't, so
+       #undef it.  Remove predefined setup of NLIST_STRUCT.  Decide
+       whether to include nlist.h based on HAVE_NLIST_H.  Change obsolete
+       NLIST_NAME_UNION to new HAVE_STRUCT_NLIST_N_UN_N_NAME.
+       * configure.in (NLIST_STRUCT): Define this if we have nlist.h and
+       nlist.n_name is a pointer rather than an array.
+
+       * acinclude.m4 (make_FUNC_SETVBUF_REVERSED): Grab the latest
+       version of AC_FUNC_SETVBUF_REVERSED from autoconf CVS.
+       * configure.in: Use it instead of the old version.
+
+       * main.c (main): Prefer setvbuf() to setlinebuf().
+
+2002-05-08  Paul D. Smith  <psmith@gnu.org>
+
+       * Makefile.am (make_LDADD): Add GETLOADAVG_LIBS.
+       (loadavg_LDADD): Ditto.
+
+2002-04-29  Paul D. Smith  <psmith@gnu.org>
+
+       * expand.c (recursively_expand_for_file): Rename
+       recursively_expand() to recursively_expand_for_file() and provide
+       an extra argument, struct file.  If the argument is provided, set
+       the variable scope to that of the file before expanding.
+       * variable.h (recursively_expand): Make this a macro that invokes
+       recursively_expand_for_file() with a NULL file pointer.
+       * variable.c (target_environment): Call the renamed function and
+       provide the current file context.
+       Fixes Debian bug #144306.
+
+2002-04-28  Paul D. Smith  <psmith@gnu.org>
+
+       Allow $(call ...) user-defined variables to be self-referencing
+       without throwing an error.  Allows implementation of transitive
+       closures, among other possibly useful things.
+       Requested by: Philip Guenther <guenther@sendmail.com>
+
+       * variable.h (struct variable): Add a new field: exp_count, and
+       new macros to hold its size and maximum value.
+       (warn_undefined): Make this a macro.
+       * variable.c (define_variable_in_set): Initialize it.
+       * expand.c (recursively_expand): If we detect recursive expansion
+       of a variable, check the exp_count field.  If it's greater than 0
+       allow the recursion and decrement the count.
+       (warn_undefined): Remove this (now a macro in variable.h).
+       * function.c (func_call): Before we expand the user-defined
+       function, modify its exp_count field to contain the maximum
+       number of recursive calls we'll allow.  After the call, reset it
+       to 0.
+
+2002-04-21  Paul D. Smith  <psmith@gnu.org>
+
+       Modified to use latest autoconf (2.53), automake (1.6.1), and
+       gettext (0.11.1).  We're using gettext's new "external" support,
+       to avoid including libintl source with GNU make.
+
+       * README.cvs: New file.  Explain how to build GNU make from CVS.
+
+       * configure.in: Modify checking for the system glob library.
+       Use AC_EGREP_CPP instead of AC_TRY_CPP.  Remove the setting of
+       GLOBDIR (we will always put "glob" in SUBDIRS, so automake
+       etc. will manage it correctly).  Set an automake conditional
+       USE_LOCAL_GLOB to decide whether to compile the glob library.
+
+       * getloadavg.c (main): Include make.h in the "TEST" program to
+       avoid warnings.
+
+       * Makefile.am: Remove special rules for loadavg.  Replace them
+       with Automake capabilities for building extra programs.
+
+       * signame.c: This file does nothing if the system provide
+       strsignal().  If not, it implements strsignal().  If the system
+       doesn't define sys_siglist, then we make our own; otherwise we use
+       the system version.
+       * signame.h: Removed.
+
+       * main.c (main): No need to invoke signame_init().  Update copyright.
+
+       * ABOUT-NLS: Removed.
+       * gettext.c: Removed.
+       * gettext.h: Get a simplified copy from the gettext package.
+       * po/*: Created.
+       * i18n/*.po: Moved to po/.
+       * i18n/: Removed.
+
+       * config/*: Created.  Contains package configuration helper files.
+       * config.guess, config.sub: Moved to config directory.
+
+       * configure.in (AC_CONFIG_FILES): Add po/Makefile.in, config/Makefile.
+       Rework to use new-style autoconf features.  Use the "external"
+       mode for gettext.  Make the build.sh config file conditional on
+       whether build.sh.in exists, to avoid autoconf errors.
+       * acinclude.m4: Removed almost all macros as being obsolete.
+       Rewrote remaining macros to use AC_DEFINE.
+       * acconfig.h: Removed.
+
+       * Makefile.am (EXTRA_DIST): Add config/config.rpath.  Use a
+       conditional to handle customs support.  Remove special handling
+       for i18n features.
+
+2002-04-20  Paul D. Smith  <psmith@gnu.org>
+
+       * function.c (func_call): Don't mark the argument variables $1,
+       etc. as recursive.  They've already been fully expanded so
+       there's no need to do it again, and doing so strips escaped $'s.
+       Reported by Sebastian Glita <glseba@yahoo.com>.
+
+       * remake.c (notice_finished_file): Walk through double-colon
+       entries via the prev field, not the next field!
+       Reported by Greg McGary <greg@mcgary.org>.
+
+       * main.c (main): If the user specifies -q and asks for a specific
+       target which is a makefile, we got an assert.  In that case it
+       turns out we should continue normally instead.
+
+       * i18n/de.po, i18n/fr.po: Installed an updated translation.
+
+       * i18n/he.po: Installed a new translation.
+
+2002-01-07  Paul D. Smith  <psmith@gnu.org>
+
+       * i18n/es.po, i18n/ru.po: Installed an updated translation.
+
+2001-12-04  Paul D. Smith  <psmith@gnu.org>
+
+       * i18n/ja.po: Installed an updated translation.
+
+2001-09-04  Paul D. Smith  <psmith@gnu.org>
+
+       * i18n/da.po: Installed an updated translation.
+
+2001-08-03  Paul D. Smith  <psmith@gnu.org>
+
+       * i18n/fr.po: Installed an updated translation.
+       Resolves Debian bug #106720.
+
+2001-06-13  Paul D. Smith  <psmith@gnu.org>
+
+       * i18n/da.po, configure.in (ALL_LINGUAS): Installed a new
+       translation.
+
+2001-06-11  Paul D. Smith  <psmith@gnu.org>
+
+       * i18n/ko.po: Installed a new translation.
+
+2001-05-06  Paul D. Smith  <psmith@gnu.org>
+
+       Modify the EINTR handling.
+
+       * job.c (new_job): Reorganize the jobserver algorithm.  Reorder
+       the way in which we manage the file descriptor/signal handler race
+       trap to be more efficient.
+
+2001-05-06  Paul Eggert  <eggert@twinsun.com>
+
+       Restart almost all system calls that are interrupted, instead
+       of worrying about EINTR.  The lone exception is the read() for
+       job tokens.
+
+       * configure.in (HAVE_SA_RESTART): New macro.
+       (MAKE_JOBSERVER): Define to 1 only if HAVE_SA_RESTART.
+       * main.c (main): Use SA_RESTART instead of the old,
+       nonstandard SA_INTERRUPT.
+
+       * configure.in (AC_CHECK_FUNCS): Add bsd_signal.
+       * main.c (bsd_signal): New function or macro,
+       if the implementation doesn't supply it.
+       (The bsd_signal function will be in POSIX 1003.1-200x.)
+       (HANDLESIG): Remove.
+       (main, FATAL_SIG): Use bsd_signal instead of signal or HANDLESIG.
+
+       * make.h (EINTR_SET): Remove.
+       (SA_RESTART): New macro.
+
+       * arscan.c (ar_member_touch): Don't worry about EINTR.
+       * function.c (func_shell): Likewise.
+       * job.c (reap_children, free_child, new_job): Likewise.
+       * main.c (main): Likewise.
+       * remake.c (touch_file, name_mtime): Likewise.
+
+       * arscan.c (ar_member_touch): Fix bug uncovered by EINTR removal;
+       if fstat failed with errno!=EINTR, the error was ignored.
+
+       * job.c (set_child_handler_action_flags): New function.
+       (new_job): Use it to temporarily clear the SIGCHLD action flags
+       while reading the token.
+
+2001-05-02  Paul D. Smith  <psmith@gnu.org>
+
+       * job.c (start_job_command): Don't add define/endef per-line flags
+       to the top-level flags setting.
+
+2001-04-03  Paul D. Smith  <psmith@gnu.org>
+
+       * arscan.c (VMS_get_member_info,ar_scan) [VMS]: VMS sets the low
+       bit on error, so check for odd return values, not non-0 return
+       values.
+       (VMS_get_member_info): Calculate the timezone differences correctly.
+       Reported by John Fowler <jfowler@nyx.net>.
+
+
+2001-03-14  Paul D. Smith  <psmith@gnu.org>
+
+       * variable.c (lookup_variable) [VMS]: Null-terminate the variable
+       value before invoking define_variable().
+       Reported by John Fowler <jfowler@nyx.net>.
+
+2001-02-07  Paul D. Smith  <psmith@gnu.org>
+
+       * read.c (record_target_var): If we reset the variable due to a
+       command-line variable setting overriding it, turn off the "append"
+       flag.
+
+2001-01-17  Paul D. Smith  <psmith@gnu.org>
+
+       * variable.c (lookup_variable) [VMS]: When getting values from the
+       environment, allocate enough space for the _value_ plus escapes,
+       not enough space for the name plus escapes :-/.
+       Reported by John Fowler <jfowler@nyx.net>.
+
+       * remake.c (f_mtime): Removed the "***" prefix from the mod time
+       warnings that make generates, so it doesn't look like an error.
+       Reported by Karl Berry <karl@gnu.org>.
+
+
+       Fix for PR/2020:  Rework appended target-specific variables.  I'm
+       fairly confident this algorithm is finally correct.
+
+       * expand.c (allocated_variable_append): Rewrite.  Instead of
+       expanding each appended variable then adding all the expanded
+       strings together, we append all the unexpanded values going up
+       through the variable set contexts, then expand the final result.
+       This behaves just like non-target-specific appended variable
+       values, while the old way didn't in various corner cases.
+       (variable_append): New function: recursively append the unexpanded
+       value of a variable, walking from the outermost variable scope to
+       the innermost.
+       * variable.c (lookup_variable): Remove the code that looked up the
+       variable set list if the found variable was "append".  We don't
+       need this anymore.
+       (lookup_variable_in_set): Make this non-static so we can use it
+       elsewhere.
+       (try_variable_definition): Use lookup_variable_in_set() rather
+       than faking out current_variable_set_list by hand (cleanup).
+       * variable.h: Add a prototype for the now non-static
+       lookup_variable_in_set().
+
+2000-11-17  Paul D. Smith  <psmith@gnu.org>
+
+       * remake.c (f_mtime) [WINDOWS32]: On various advice, I changed the
+       WINDOWS32 port to assume timestamps can be up to 3 seconds away
+       before throwing a fit.
+
+2000-11-17  Paul D. Smith  <psmith@gnu.org>
+
+       * read.c (readline): CRLF calculations had a hole, if you hit the
+       buffer grow scenario just right.  Reworked the algorithm to avoid
+       the need for len or lastlen at all.  Problem description with
+       sample code chages provided by Chris Faylor <cgf@redhat.com>.
+
+2000-10-24  Paul D. Smith  <psmith@gnu.org>
+
+       * gettext.c (SWAP): Declare this with the prototype, otherwise
+       some systems don't work (non-32-bit?  Reported for Cray T3E).
+       Reported by Thorstein Thorsteinsson <thor@signe.teokem.lu.se>.
+
+2000-10-05  Paul D. Smith  <psmith@gnu.org>
+
+       * acinclude.m4 (AM_LC_MESSAGES): Remove undefined macro
+       AM_LC_MESSAGES; it doesn't seem to do anything anyway??
+
+       * i18n/gl.po, configure.in (ALL_LINGUAS): New Galician translation.
+
+2000-09-22  Paul D. Smith  <psmith@gnu.org>
+
+       * gettext.c: Don't #define _GETTEXT_H here; we only include some
+       parts of the real gettext.h here, and we expect to really include
+       the real gettext.h later.  If we keep this #define, it's ignored.
+
+2000-09-21  Paul D. Smith  <psmith@gnu.org>
+
+       * main.c (log_working_directory): Rework the text to use complete
+       sentences, to make life simpler for the translators.
+
+2000-08-29  Paul D. Smith  <psmith@gnu.org>
+
+       * file.c (remove_intermediates): Print a debug message before we
+       remove intermediate files, so the user (if she uses -d) knows
+       what's going on.
+
+2000-08-21  Paul D. Smith  <psmith@gnu.org>
+
+       * variable.c (try_variable_definition): Change how we handle
+       target-specific append variable defns: instead of just setting the
+       value, expand it as an append _but_ only within the current
+       target's context.  Otherwise we lose all but the last value if the
+       variable is appended more than once within the current target
+       context.  Fixes PR/1831.
+
+2000-08-16  Paul D. Smith  <psmith@gnu.org>
+
+       * function.c (func_shell): Nul-terminate the buffer before
+       printing an exec error message (just in case it's not!).
+       Fixes PR/1860, reported by Joey Hess <joey@valinux.com>.
+
+2000-07-25  Paul D. Smith  <psmith@gnu.org>
+
+       * job.c (construct_command_argv_internal): Add "~" to the list of
+       sh_chars[] which disallow optimizing out the shell call.
+
+2000-07-23  Paul Eggert  <eggert@twinsun.com>
+
+       * NEWS, make.texinfo: Document .LOW_RESOLUTION_TIME, which
+       supersedes --disable-nsec-timestamps.
+       * make.texinfo: Consistently use "time stamp" instead of "timestamp".
+       * README: Remove --disable-nsec-timestamps.
+
+       * filedef.h (struct file.low_resolution_time): New member.
+       * file.c (snap_deps): Add support for .LOW_RESOLUTION_TIME.
+       * remake.c (update_file_1):
+       Avoid spurious rebuilds due to low resolution time stamps,
+       generalizing the earlier code that applied only to archive members.
+       (f_mtime): Archive members always have low resolution time stamps.
+
+       * configure.in: Remove --disable-nsec-timestamps, as this has
+       been superseded by .LOW_RESOLUTION_TIME.
+
+2000-07-23  Paul Eggert  <eggert@twinsun.com>
+
+       * configure.in (enable_nsec_timestamps): Renamed from
+       make_cv_nsec_timestamps, since enable/disable options
+       shouldn't be cached.
+
+2000-07-23  Bruno Haible  <haible@clisp.cons.org>
+       and  Paul Eggert  <eggert@twinsun.com>
+
+       * file.c (file_timestamp_now):
+       Use preprocessor-time check for FILE_TIMESTAMP_HI_RES
+       so that clock_gettime is not linked unless needed.
+
+       * filedef.h (FILE_TIMESTAMP_HI_RES):
+       Remove definition; "configure" now does this.
+
+       * configure.in (jm_AC_TYPE_UINTMAX_T): Move up,
+       to before high resolution file timestamp check,
+       since that check now uses uintmax_t.
+       (FILE_TIMESTAMP_HI_RES): Define to nonzero if the code should use
+       high resolution file timestamps.
+       (HAVE_CLOCK_GETTIME): Do not define if !FILE_TIMESTAMP_HI_RES,
+       so that we don't link in clock_gettime unnecessarily.
+
+2000-07-17  Paul D. Smith  <psmith@gnu.org>
+
+       * i18n/ja.po: New version of the translation file.
+
+2000-07-07  Paul D. Smith  <psmith@gnu.org>
+
+       * remake.c (f_mtime): If NO_FLOAT is defined, don't bother with
+       the offset calculation.
+       (name_mtime): Replace EINTR test with EINTR_SET macro.
+
+2000-07-07  Paul Eggert  <eggert@twinsun.com>
+
+       Fix for PR/1811:
+
+       * remake.c (update_file_1):
+       Avoid spurious rebuilds of archive members due to their
+       timestamp resolution being only one second.
+       (f_mtime): Avoid spurious warnings of timestamps in the future due to
+       the clock's resolution being lower than file timestamps'.
+       When warning about future timestamps, report only the discrepancy,
+       not the absolute value of the timestamp and the current time.
+
+       * file.c (file_timestamp_now): New arg RESOLUTION.
+       * filedef.h (file_timestamp_now): Likewise.
+       (FILE_TIMESTAMP_NS): Now returns int.  All uses changed.
+
+2000-07-05  Paul D. Smith  <psmith@gnu.org>
+
+       * variable.c (lookup_variable) [VMS]: Remove vestigial references
+       to listp.  Fixes PR/1793.
+
+2000-06-26  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (MAINTAINERCLEANFILES): New macro, with stamp-pot in it.
+
+       * dir.c (vms_hash): Ensure ctype macro args are nonnegative.
+
+       * remake.c (f_mtime): Remove unused var memtime.
+
+2000-06-25  Martin Buchholz  <martin@xemacs.org>
+
+       * make.texinfo, NEWS, TODO.private: Minor spelling corrections.
+       Ran spell-check on make.texinfo.
+
+\f
+See ChangeLog.2 for earlier changes.
diff --git a/src/mkutil/make-3.80/INSTALL b/src/mkutil/make-3.80/INSTALL
new file mode 100644 (file)
index 0000000..bca44d0
--- /dev/null
@@ -0,0 +1,187 @@
+Basic Installation
+==================
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+   The file `configure.in' is used to create `configure' by a program
+called `autoconf'.  You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+     If you're building GNU make on a system which does not already have
+     a `make', you can use the build.sh shell script to compile.  Run
+     `sh ./build.sh'.  This should compile the program in the current
+     directory.  Then you will have a Make program that you can use for
+     `make install', or whatever else.
+
+  3. Optionally, type `./make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  You can give `configure'
+initial values for variables by setting them in the environment.  Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory.  After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+   By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on.  Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+     CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+   If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+     Use and save the results of the tests in FILE instead of
+     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
+     debugging `configure'.
+
+`--help'
+     Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`--version'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+
diff --git a/src/mkutil/make-3.80/Makefile.DOS b/src/mkutil/make-3.80/Makefile.DOS
new file mode 100644 (file)
index 0000000..1d9568a
--- /dev/null
@@ -0,0 +1,693 @@
+# -*-Makefile-*- template for DJGPP
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995-1998, 1999, 2002 Free Software Foundation, Inc.
+# This Makefile.DOS is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+
+SHELL = /bin/sh
+
+srcdir = .
+VPATH = $(srcdir)
+# $DJDIR is defined automatically by DJGPP to point
+# to the root of the DJGPP installation tree.
+prefix = /dev/env/DJDIR
+exec_prefix = ${prefix}
+
+bindir = /bin
+datadir = /share
+libdir = /lib
+infodir = /info
+mandir = /man
+includedir = /include
+oldincludedir = c:/djgpp/include
+
+DESTDIR = /dev/env/DJDIR
+
+pkgdatadir = $(datadir)/make
+pkglibdir = $(libdir)/make
+pkgincludedir = $(includedir)/make
+localedir = $(datadir)/locale
+
+INSTALL = ${exec_prefix}/bin/ginstall -c
+INSTALL_PROGRAM = ${exec_prefix}/bin/ginstall -c
+INSTALL_DATA = ${exec_prefix}/bin/ginstall -c -m 644
+INSTALL_SCRIPT = ${exec_prefix}/bin/ginstall -c
+transform = s,x,x,
+
+# This will fail even if they don't have a Unix-like shell (stock DOS
+# shell doesn't know about `false').  The only difference is that they
+# get "Error -1" instead of "Error 1".
+EXIT_FAIL = false
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+EXEEXT = .exe
+OBJEXT = o
+
+AR = ar
+AWK = gawk
+CC = gcc
+CPP = gcc -E
+LIBOBJS =
+MAKEINFO = ${exec_prefix}/bin/makeinfo
+PACKAGE = make
+PERL = perl
+RANLIB = ranlib
+REMOTE = stub
+VERSION = 3.80
+
+AUTOMAKE_OPTIONS = 1.2
+
+bin_PROGRAMS = make$(EXEEXT)
+
+make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c implicit.c job.c main.c misc.c read.c remake.c rule.c signame.c variable.c version.c vpath.c hash.c remote-$(REMOTE).c
+# This should include the glob/ prefix
+libglob_a_SOURCES =    glob/fnmatch.c glob/glob.c glob/fnmatch.h glob/glob.h
+make_LDADD =     glob/libglob.a
+
+info_TEXINFOS =        make.texinfo
+man_MANS =     make.1
+
+INCLUDES =     -I$(srcdir)/glob -DLIBDIR=\"c:/djgpp/lib\" -DINCLUDEDIR=\"c:/djgpp/include\" -DLOCALEDIR=\"$(localedir)\"
+
+BUILT_SOURCES =        README build.sh-in
+
+EXTRA_DIST =   $(BUILT_SOURCES) $(man_MANS) README.customs remote-cstms.c  make-stds.texi texinfo.tex SCOPTIONS SMakefile  Makefile.ami README.Amiga config.ami amiga.c amiga.h  NMakefile README.DOS configh.dos configure.bat makefile.com  README.W32 build_w32.bat config.h-W32 subproc.bat make.lnk  config.h-vms makefile.vms readme.vms vmsdir.h vmsfunctions.c  vmsify.c
+
+SUBDIRS =      glob
+mkinstalldirs = ${exec_prefix}/bin/gmkdir -p
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =  build.sh
+PROGRAMS =  $(bin_PROGRAMS)
+
+MAKE_HOST = i386-pc-msdosdjgpp
+
+
+DEFS =  -I. -I$(srcdir) -I.
+CPPFLAGS = -DHAVE_CONFIG_H
+LDFLAGS =
+LIBS =
+make_OBJECTS =  ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o variable.o version.o vpath.o hash.o remote-$(REMOTE).o
+make_DEPENDENCIES =    glob/libglob.a
+make_LDFLAGS =
+libglob_a_LIBADD =
+libglob_a_OBJECTS =  fnmatch.o glob.o
+noinst_LIBRARIES =     glob/libglob.a
+CFLAGS = -O2 -g
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+TEXI2DVI = texi2dvi
+TEXINFO_TEX = $(srcdir)/config/texinfo.tex
+INFO_DEPS = make.info
+DVIS = make.dvi
+TEXINFOS = make.texinfo
+man1dir = $(mandir)/man1
+MANS = $(man_MANS)
+
+NROFF = nroff
+DIST_COMMON =  README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am  Makefile.in NEWS acconfig.h aclocal.m4 alloca.c build.sh-in config.h-in  configure configure.in getloadavg.c
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP = --best
+SOURCES = $(make_SOURCES)
+OBJECTS = $(make_OBJECTS)
+HEADERS = $(wildcard $(srcdir)/*.h)
+
+default: all
+
+.SUFFIXES:
+.SUFFIXES: .c .dvi .info .o .obj .ps .texinfo .tex
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+       -rm -f config.h
+
+maintainer-clean-hdr:
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+       -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(DESTDIR)$(bindir)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do    if test -f $$p; then      echo "  $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`";       $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`;    else :; fi;  done
+
+uninstall-binPROGRAMS:
+       $(NORMAL_UNINSTALL)
+       list='$(bin_PROGRAMS)'; for p in $$list; do    rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`.exe;  done
+
+.c.o:
+       $(COMPILE) -c $<
+
+clean-noinstLIBRARIES:
+       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT) *$(EXEEXT) make.new core
+
+clean-compile:
+
+distclean-compile:
+       -rm -f *.tab.c *_tab.c
+
+maintainer-clean-compile:
+
+make$(EXEEXT): $(make_OBJECTS) $(make_DEPENDENCIES)
+       @command.com /c if exist make del make
+       @command.com /c if exist make.exe del make.exe
+       $(LINK) $(make_LDFLAGS) $(make_OBJECTS) $(make_LDADD) $(LIBS)
+
+make.info: make.texinfo
+make.dvi: make.texinfo
+
+
+DVIPS = dvips
+
+.texinfo.info:
+       @command.com /c if exist make.info* del make.info*
+       @command.com /c if exist make.i* del make.i*
+       $(MAKEINFO) -I$(srcdir) $< -o ./$@
+
+.texinfo:
+       @command.com /c if exist make.info* del make.info*
+       @command.com /c if exist make.i* del make.i*
+       $(MAKEINFO) -I$(srcdir) $< -o ./$@
+
+.texinfo.dvi:
+       TEXINPUTS="$(srcdir);$$TEXINPUTS"    MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+
+.dvi.ps:
+       $(DVIPS) $< -o $@
+
+install-info-am: $(INFO_DEPS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(DESTDIR)$(infodir)
+       @for file in $(INFO_DEPS) make.i; do    d=$(srcdir);    for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]`; do      if test -f $$d/$$ifile; then        echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi;    done;  done
+       @$(POST_INSTALL)
+       @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then    for file in $(INFO_DEPS); do      echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";     install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;   done;  else : ; fi
+
+uninstall-info:
+       $(PRE_UNINSTALL)
+       @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then    ii=yes;  else ii=; fi;  for file in $(INFO_DEPS); do    test -z $ii || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file;  done
+       $(NORMAL_UNINSTALL)
+       for file in $(INFO_DEPS) make.i; do    (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]);  done
+
+dist-info: $(INFO_DEPS)
+       for base in $(INFO_DEPS); do    d=$(srcdir);    for file in `cd $$d && eval echo $$base*`; do      test -f $(distdir)/$$file      || ln $$d/$$file $(distdir)/$$file 2> /dev/null      || cp -p $$d/$$file $(distdir)/$$file;    done;  done
+
+mostlyclean-aminfo:
+       -rm -f make.aux make.cp make.cps make.dvi make.fn make.fns make.ky \
+         make.kys make.ps make.log make.pg make.toc make.tp make.tps \
+         make.vr make.vrs make.op make.tr make.cv make.cn
+
+clean-aminfo:
+
+distclean-aminfo:
+
+maintainer-clean-aminfo:
+       for i in $(INFO_DEPS) make.i; do rm -f `eval echo $$i*`; done
+
+install-man1:
+       $(mkinstalldirs) $(DESTDIR)$(man1dir)
+       @list='$(man1_MANS)'; \
+       l2='$(man_MANS)'; for i in $$l2; do \
+         case "$$i" in \
+           *.1*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+         else file=$$i; fi; \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
+         $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
+       done
+
+uninstall-man1:
+       @list='$(man1_MANS)'; \
+       l2='$(man_MANS)'; for i in $$l2; do \
+         case "$$i" in \
+           *.1*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
+         rm -f $(DESTDIR)$(man1dir)/$$inst; \
+       done
+install-man: $(MANS)
+       @$(NORMAL_INSTALL)
+       $(MAKE) install-man1
+uninstall-man:
+       @$(NORMAL_UNINSTALL)
+       $(MAKE) uninstall-man1
+
+# Assume that the only thing to do in glob is to build libglob.a,
+# but do a sanity check: if $SUBDIRS will ever have more than
+# a single directory, yell bloody murder.
+all-recursive:
+ifeq ($(words $(SUBDIRS)), 1)
+       @command.com /c if not exist glob\\nul md glob
+       @echo Making all in $(SUBDIRS)
+       $(MAKE) -C $(SUBDIRS) -f ../Makefile INCLUDES='-I$(srcdir) -I$(srcdir)/glob' DEFS='-I.. -I$(srcdir)' VPATH=$(srcdir)/glob libglob.a
+else
+       @echo FATAL: There is more than one directory in "($(SUBDIRS))"
+       @$(EXIT_FAIL)
+endif
+
+$(SUBDIRS):
+       command.com /c md $@
+
+libglob.a: $(libglob_a_OBJECTS)
+       command.com /c if exist libglob.a del libglob.a
+       $(AR) cru libglob.a $(libglob_a_OBJECTS) $(libglob_a_LIBADD)
+       $(RANLIB) libglob.a
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive check-recursive:
+ifeq ($(words $(SUBDIRS)), 1)
+       @echo Making $(shell echo $@ | sed s/-recursive//) in $(SUBDIRS)
+       $(MAKE) -C $(SUBDIRS) -f ../Makefile $(shell echo $@ | sed s/-recursive//)-am
+else
+       @echo FATAL: There is more than one directory in "($(SUBDIRS))"
+       @$(EXIT_FAIL)
+endif
+
+tags-in-glob: $(libglob_a_SOURCES)
+       etags $(addprefix $(srcdir)/,$^) -o ./glob/TAGS
+
+tags-recursive:
+ifeq ($(words $(SUBDIRS)), 1)
+       $(MAKE) tags-in-glob
+else
+       @echo FATAL: There is more than one directory in "($(SUBDIRS))"
+       @$(EXIT_FAIL)
+endif
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       mkid $(srcdir)/$(SOURCES) $(srcdir)/$(libglob_a_SOURCES) ./config.h $(HEADERS)
+
+TAGS: tags-recursive $(HEADERS) $(srcdir)/$(SOURCES) config.h $(TAGS_DEPENDENCIES)
+       etags -i ./glob/TAGS $(ETAGS_ARGS) $(srcdir)/$(SOURCES) ./config.h $(HEADERS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       rm -rf $(distdir)
+       GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+       mkdir $(distdir)/=build
+       mkdir $(distdir)/=inst
+       dc_install_base=`cd $(distdir)/=inst && pwd`;  cd $(distdir)/=build    && ../configure --srcdir=.. --prefix=$$dc_install_base    && $(MAKE)    && $(MAKE) dvi    && $(MAKE) check    && $(MAKE) install    && $(MAKE) installcheck    && $(MAKE) dist
+       rm -rf $(distdir)
+       @echo "========================";  echo "$(distdir).tar.gz is ready for distribution";  echo "========================"
+dist: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+dist-all: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+distdir: $(DISTFILES)
+       rm -rf $(distdir)
+       mkdir $(distdir)
+       -chmod 777 $(distdir)
+       @for file in $(DISTFILES); do d=$(srcdir); test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; for subdir in $(SUBDIRS); do test -d $(distdir)/$$subdir || mkdir $(distdir)/$$subdir || exit 1; chmod 777 $(distdir)/$$subdir; (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir)/$$subdir distdir=../$(distdir)/$$subdir distdir) || exit 1; done
+       $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
+       $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
+
+info: $(INFO_DEPS) info-recursive
+dvi: $(DVIS) dvi-recursive
+check: all-am check-recursive check-local
+       @:
+installcheck: installcheck-recursive
+all-recursive-am: config.h
+       $(MAKE) all-recursive
+
+all-am: Makefile $(INFO_DEPS) $(PROGRAMS) config.h
+
+install-exec-am: install-binPROGRAMS
+
+install-data-am: install-info-am
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info
+
+install-exec: install-exec-recursive install-exec-am
+       @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive install-data-am
+       @$(NORMAL_INSTALL)
+
+install-recursive uninstall-recursive:
+       @:
+
+install: install-recursive install-exec-am install-data-am
+       @:
+
+uninstall: uninstall-recursive uninstall-am
+
+all: all-recursive-am all-am
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+       $(mkinstalldirs)  $(bindir) $(infodir)
+
+
+mostlyclean-generic:
+       -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       -rm -f Makefile $(DISTCLEANFILES)
+       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am:  mostlyclean-hdr mostlyclean-binPROGRAMS  mostlyclean-compile mostlyclean-aminfo mostlyclean-tags  mostlyclean-generic
+
+clean-am:  clean-hdr clean-binPROGRAMS clean-compile clean-aminfo  clean-tags clean-generic mostlyclean-am
+
+distclean-am:  distclean-hdr distclean-binPROGRAMS distclean-compile  distclean-aminfo distclean-tags distclean-generic  clean-am
+
+maintainer-clean-am:  maintainer-clean-hdr maintainer-clean-binPROGRAMS  maintainer-clean-compile maintainer-clean-aminfo  maintainer-clean-tags maintainer-clean-generic  distclean-am
+
+mostlyclean:  mostlyclean-recursive mostlyclean-am
+
+clean: clean-noinstLIBRARIES clean-recursive clean-am
+
+distclean:  distclean-recursive distclean-am
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f config.status
+
+.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \
+maintainer-clean-hdr mostlyclean-binPROGRAMS distclean-binPROGRAMS \
+clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
+install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile install-info-am uninstall-info \
+mostlyclean-aminfo distclean-aminfo clean-aminfo \
+maintainer-clean-aminfo install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive check-am \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info dvi check-local installcheck \
+all-recursive-am all-am install-exec-am install-data-am uninstall-am \
+install-exec install-data install uninstall all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# --------------- Local DIST Section
+
+# Install the w32 subdirectory
+#
+dist-hook:
+       (cd $(srcdir); \
+        w32=`find w32 -follow \( -name CVS -prune \) -o -type f -print`; \
+        tar chf - $$w32) \
+       | (cd $(distdir); tar xfBp -)
+
+# --------------- Local CHECK Section
+
+# Note: check-loadavg is NOT a prerequisite of check-local, since
+# there's no uptime utility, and the test it does doesn't make sense
+# on MSDOS anyway.
+check-local: check-shell check-regression
+       @banner=" Regression PASSED: GNU Make $(VERSION) ($(MAKE_HOST)) built with $(CC) "; \
+       dashes=`echo "$$banner" | sed s/./=/g`; \
+       echo; \
+       echo "$$dashes"; \
+       echo "$$banner"; \
+       echo "$$dashes"; \
+       echo
+
+.PHONY: check-loadavg check-shell check-regression
+
+# > check-shell
+#
+# check-shell is designed to fail if they don't have a Unixy shell
+# installed.  The test suite requires such a shell.
+check-shell:
+       @echo If Make says Error -1, you do not have Unix-style shell installed
+       @foo=bar.exe :
+
+# > check-loadavg
+#
+loadavg: loadavg.c config.h
+       @rm -f loadavg
+       $(LINK) -DTEST $(make_LDFLAGS) loadavg.c $(LIBS)
+# We copy getloadavg.c into a different file rather than compiling it
+# directly because some compilers clobber getloadavg.o in the process.
+loadavg.c: getloadavg.c
+       ln $(srcdir)/getloadavg.c loadavg.c || \
+       cp $(srcdir)/getloadavg.c loadavg.c
+check-loadavg: loadavg
+       @echo The system uptime program believes the load average to be:
+       -uptime
+       @echo The GNU load average checking code believes:
+       -./loadavg
+
+# > check-regression
+#
+# Look for the make test suite, and run it if found.  Look in MAKE_TEST if
+# specified, or else in the srcdir or the distdir, their parents, and _their_
+# parents.
+#
+check-regression:
+       @if test -f "$(srcdir)/tests/run_make_tests"; then \
+         if $(PERL) -v >/dev/null 2>&1; then \
+           case `cd $(srcdir); pwd` in `pwd`) : ;; \
+             *) test -d tests || mkdir tests; \
+                for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \
+                  rm -rf tests/$$f; cp -pr $(srcdir)/tests/$$f tests; \
+                done ;; \
+           esac; \
+           echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make.exe $(MAKETESTFLAGS)"; \
+           cd tests && $(PERL) ./run_make_tests.pl -make ../make.exe $(MAKETESTFLAGS); \
+         else \
+           echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \
+         fi; \
+        else \
+         echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \
+        fi
+
+# --------------- Maintainer's Section
+
+# Note this requires GNU make.  Not to worry, since it will only be included
+# in the Makefile if we're in the maintainer's environment.
+#include $(srcdir)/maintMakefile
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
+
+# --------------- DEPENDENCIES
+ar.o: ar.c make.h config.h gettext.h filedef.h dep.h glob/fnmatch.h
+arscan.o: arscan.c make.h config.h gettext.h
+commands.o: commands.c make.h config.h gettext.h dep.h filedef.h \
+       variable.h job.h commands.h
+default.o: default.c make.h config.h gettext.h rule.h dep.h filedef.h \
+       job.h commands.h variable.h
+dir.o: dir.c make.h config.h gettext.h glob/glob.h
+expand.o: expand.c make.h config.h gettext.h filedef.h job.h commands.h \
+       variable.h rule.h
+file.o: file.c make.h config.h gettext.h dep.h filedef.h job.h \
+       commands.h variable.h debug.h
+function.o: function.c make.h config.h gettext.h filedef.h variable.h \
+       dep.h job.h commands.h debug.h
+getopt.o: getopt.c config.h gettext.h getopt.h
+getopt1.o: getopt1.c config.h getopt.h
+implicit.o: implicit.c make.h config.h gettext.h rule.h dep.h filedef.h \
+       debug.h
+job.o: job.c make.h config.h gettext.h job.h debug.h filedef.h \
+       commands.h variable.h
+main.o: main.c make.h config.h gettext.h dep.h filedef.h variable.h \
+       job.h commands.h rule.h debug.h getopt.h
+misc.o: misc.c make.h config.h gettext.h dep.h debug.h
+read.o: read.c make.h config.h gettext.h glob/glob.h dep.h filedef.h \
+       job.h commands.h variable.h rule.h debug.h
+remake.o: remake.c make.h config.h gettext.h filedef.h job.h commands.h \
+       dep.h variable.h debug.h
+remote-stub.o: remote-stub.c make.h config.h gettext.h filedef.h job.h \
+       commands.h
+rule.o: rule.c make.h config.h gettext.h dep.h filedef.h job.h \
+       commands.h variable.h rule.h
+signame.o: signame.c make.h config.h gettext.h
+variable.o: variable.c make.h config.h gettext.h dep.h filedef.h job.h \
+       commands.h variable.h rule.h
+version.o: version.c config.h
+vpath.o: vpath.c make.h config.h gettext.h filedef.h variable.h
+
+# --------------- DEPENDENCIES
+#
+# dummy
+# dummy
+ar.o : \
+ ar.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h dep.h
+arscan.o : \
+ arscan.c make.h config.h \
+ getopt.h \
+ gettext.h \
+
+commands.o : \
+ commands.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h variable.h job.h commands.h
+default.o : \
+ default.c make.h config.h \
+ getopt.h \
+ gettext.h rule.h \
+ dep.h filedef.h hash.h job.h commands.h variable.h
+dir.o : \
+ dir.c make.h config.h \
+ getopt.h \
+ gettext.h hash.h \
+
+expand.o : \
+ expand.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ filedef.h hash.h job.h commands.h variable.h \
+ rule.h
+file.o : \
+ file.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ dep.h filedef.h hash.h job.h commands.h \
+ variable.h debug.h
+function.o : \
+ function.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h variable.h dep.h job.h commands.h debug.h
+getopt.o : \
+ getopt.c config.h \
+
+getopt1.o : \
+ getopt1.c config.h getopt.h \
+
+hash.o : \
+ hash.c make.h config.h \
+ getopt.h \
+ gettext.h hash.h
+implicit.o : \
+ implicit.c make.h config.h \
+ getopt.h \
+ gettext.h rule.h \
+ dep.h filedef.h hash.h debug.h
+job.o : \
+ job.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ job.h debug.h filedef.h hash.h commands.h \
+ variable.h \
+
+loadavg-loadavg.o : \
+ loadavg.c config.h \
+ make.h \
+ getopt.h \
+ gettext.h \
+
+main.o : \
+ main.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h variable.h job.h commands.h rule.h debug.h \
+
+misc.o : \
+ misc.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ debug.h
+read.o : \
+ read.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ dep.h filedef.h hash.h \
+ job.h commands.h variable.h rule.h debug.h
+remake.o : \
+ remake.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h job.h commands.h dep.h variable.h debug.h \
+
+# dummy
+remote-stub.o : \
+ remote-stub.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h job.h commands.h
+rule.o : \
+ rule.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h job.h commands.h variable.h rule.h
+signame.o : \
+ signame.c make.h config.h \
+ getopt.h \
+ gettext.h
+variable.o : \
+ variable.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h job.h commands.h variable.h rule.h
+version.o : \
+ version.c config.h
+vpath.o : \
+ vpath.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h variable.h
diff --git a/src/mkutil/make-3.80/Makefile.am b/src/mkutil/make-3.80/Makefile.am
new file mode 100644 (file)
index 0000000..33b498b
--- /dev/null
@@ -0,0 +1,162 @@
+# This is a -*-Makefile-*-, or close enough
+
+AUTOMAKE_OPTIONS = 1.7 dist-bzip2 check-news
+ACLOCAL_AMFLAGS        =  -I config
+
+SUBDIRS =      glob config po doc
+
+bin_PROGRAMS = make
+
+if USE_CUSTOMS
+  remote =     remote-cstms.c
+else
+  remote =     remote-stub.c
+endif
+
+make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
+               function.c getopt.c getopt1.c implicit.c job.c main.c \
+               misc.c read.c remake.c $(remote) rule.c signame.c \
+               variable.c version.c vpath.c hash.c
+
+EXTRA_make_SOURCES = remote-stub.c remote-cstms.c
+
+noinst_HEADERS = commands.h dep.h filedef.h job.h make.h rule.h variable.h \
+               debug.h getopt.h gettext.h hash.h
+
+make_LDADD =   @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@
+
+man_MANS =     make.1
+
+DEFS =         -DLOCALEDIR=\"$(localedir)\" -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\" @DEFS@
+
+AM_CPPFLAGS =  $(GLOBINC)
+
+
+# Extra stuff to include in the distribution.
+# Note we need all the glob stuff here, rather than in glob/Makefile.am,
+# because often that directory isn't built on the systems used by the
+# maintainers.
+
+EXTRA_DIST =   README build.sh.in $(man_MANS)\
+               README.customs\
+               SCOPTIONS SMakefile\
+               README.Amiga Makefile.ami config.ami make.lnk amiga.c amiga.h\
+               README.DOS Makefile.DOS configure.bat dosbuild.bat configh.dos\
+               README.W32 NMakefile config.h.W32 build_w32.bat subproc.bat\
+               readme.vms makefile.vms makefile.com config.h-vms \
+               vmsdir.h vmsfunctions.c vmsify.c
+
+MAKE_HOST =    @MAKE_HOST@
+
+
+# Forward targets
+
+html:
+       cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
+
+.PHONY: html
+
+# --------------- Internationalization Section
+
+localedir =    $(datadir)/locale
+
+# --------------- Local INSTALL Section
+
+# If necessary, change the gid of the app and turn on the setgid flag.
+#
+
+# Whether or not make needs to be installed setgid.
+# The value should be either `true' or `false'.
+# On many systems, the getloadavg function (used to implement the `-l'
+# switch) will not work unless make is installed setgid kmem.
+#
+inst_setgid = @NEED_SETGID@
+
+# Install make setgid to this group so it can get the load average.
+#
+inst_group = @KMEM_GROUP@
+
+install-exec-local:
+       @if $(inst_setgid); then \
+          app=$(DESTDIR)$(bindir)/`echo $(bin_PROGRAMS)|sed '$(transform)'`; \
+          if chgrp $(inst_group) $$app && chmod g+s $$app; then \
+            echo "chgrp $(inst_group) $$app && chmod g+s $$app"; \
+          else \
+            echo "$$app needs to be owned by group $(inst_group) and setgid;"; \
+            echo "otherwise the \`-l' option will probably not work."; \
+            echo "You may need special privileges to complete the installation"; \
+            echo "of $$app."; \
+          fi; \
+        else true; fi
+
+# --------------- Local DIST Section
+
+# Install the w32 and tests subdirectories
+#
+dist-hook:
+       (cd $(srcdir); \
+        sub=`find w32 tests -follow \( -name CVS -prune -o -name .cvsignore -o -name work -prune \) -o \( -name \*.orig -o -name \*.rej -o -name \*~ -prune \) -o -type f -print`; \
+        tar chf - $$sub) \
+       | (cd $(distdir); tar xfBp -)
+
+
+# --------------- Local CHECK Section
+
+check-local: check-regression check-loadavg
+       @banner=" Regression PASSED: GNU Make $(VERSION) ($(MAKE_HOST)) built with $(CC) "; \
+       dashes=`echo "$$banner" | sed s/./=/g`; \
+       echo; \
+       echo "$$dashes"; \
+       echo "$$banner"; \
+       echo "$$dashes"; \
+       echo
+
+.PHONY: check-loadavg check-regression
+
+check-loadavg: loadavg
+       @echo The system uptime program believes the load average to be:
+       -uptime
+       @echo The GNU load average checking code thinks:
+       -./loadavg
+
+# The loadavg function is invoked during "make check" to test getloadavg.
+noinst_PROGRAMS = loadavg
+loadavg_SOURCES = loadavg.c
+loadavg_CFLAGS = -DTEST
+loadavg_LDADD = @GETLOADAVG_LIBS@
+
+loadavg.c: $(srcdir)/getloadavg.c
+       cp $(srcdir)/getloadavg.c loadavg.c
+
+# > check-regression
+#
+# Look for the make test suite, and run it if found and we can find perl.
+# If we're building outside the tree, we use symlinks to make a local copy of
+# the test suite.  Unfortunately the test suite itself isn't localizable yet.
+#
+MAKETESTFLAGS =
+
+check-regression:
+       @if test -f "$(srcdir)/tests/run_make_tests"; then \
+         if $(PERL) -v >/dev/null 2>&1; then \
+           case `cd $(srcdir); pwd` in `pwd`) : ;; \
+             *) test -d tests || mkdir tests; \
+                rm -f srctests; \
+                if ln -s "$(srcdir)/tests" srctests; then \
+                  for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \
+                    rm -f tests/$$f; ln -s ../srctests/$$f tests; \
+                  done; fi ;; \
+           esac; \
+           echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make $(MAKETESTFLAGS)"; \
+           cd tests && $(PERL) ./run_make_tests.pl -make ../make $(MAKETESTFLAGS); \
+         else \
+           echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \
+         fi; \
+        else \
+         echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \
+        fi
+
+
+# --------------- Maintainer's Section
+
+@MAINT_MAKEFILE@
diff --git a/src/mkutil/make-3.80/Makefile.ami b/src/mkutil/make-3.80/Makefile.ami
new file mode 100644 (file)
index 0000000..8a71d69
--- /dev/null
@@ -0,0 +1,305 @@
+# NOTE: If you have no `make' program at all to process this makefile, run
+# `build.sh' instead.
+#
+# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
+# This file is part of GNU Make.
+#
+# GNU Make is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Make is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Make; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+#
+#      Makefile for GNU Make
+#
+
+CC = sc
+RM = delete
+
+CFLAGS =
+CPPFLAGS =
+LDFLAGS =
+
+# Define these for your system as follows:
+#      -DNO_ARCHIVES           To disable `ar' archive support.
+#      -DNO_FLOAT              To avoid using floating-point numbers.
+#      -DENUM_BITFIELDS        If the compiler isn't GCC but groks enum foo:2.
+#                              Some compilers apparently accept this
+#                              without complaint but produce losing code,
+#                              so beware.
+# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
+# See also `config.h'.
+defines =
+
+# Which flavor of remote job execution support to use.
+# The code is found in `remote-$(REMOTE).c'.
+REMOTE = stub
+
+# If you are using the GNU C library, or have the GNU getopt functions in
+# your C library, you can comment these out.
+GETOPT = getopt.o getopt1.o
+GETOPT_SRC = $(srcdir)getopt.c $(srcdir)getopt1.c $(srcdir)getopt.h
+
+# If you are using the GNU C library, or have the GNU glob functions in
+# your C library, you can comment this out.  GNU make uses special hooks
+# into the glob functions to be more efficient (by using make's directory
+# cache for globbing), so you must use the GNU functions even if your
+# system's C library has the 1003.2 glob functions already.  Also, the glob
+# functions in the AIX and HPUX C libraries are said to be buggy.
+GLOB = glob/glob.lib
+
+# If your system doesn't have alloca, or the one provided is bad, define this.
+ALLOCA = alloca.o
+ALLOCA_SRC = $(srcdir)alloca.c
+
+# If your system needs extra libraries loaded in, define them here.
+# System V probably need -lPW for alloca.  HP-UX 7.0's alloca in
+# libPW.a is broken on HP9000s300 and HP9000s400 machines.  Use
+# alloca.c instead on those machines.
+LOADLIBES =
+
+# Any extra object files your system needs.
+extras = amiga.o
+
+# Common prefix for machine-independent installed files.
+prefix =
+# Common prefix for machine-dependent installed files.
+exec_prefix =
+
+# Directory to install `make' in.
+bindir = sc:c
+# Directory to find libraries in for `-lXXX'.
+libdir = lib:
+# Directory to search by default for included makefiles.
+includedir = include:
+# Directory to install the Info files in.
+infodir = doc:
+# Directory to install the man page in.
+mandir = t:
+# Number to put on the man page filename.
+manext = 1
+# Prefix to put on installed `make' binary file name.
+binprefix =
+# Prefix to put on installed `make' man page file name.
+manprefix = $(binprefix)
+
+# Whether or not make needs to be installed setgid.
+# The value should be either `true' or `false'.
+# On many systems, the getloadavg function (used to implement the `-l'
+# switch) will not work unless make is installed setgid kmem.
+install_setgid = false
+# Install make setgid to this group so it can read /dev/kmem.
+group = sys
+
+# Program to install `make'.
+INSTALL_PROGRAM = copy
+# Program to install the man page.
+INSTALL_DATA = copy
+# Generic install program.
+INSTALL = copy
+
+# Program to format Texinfo source into Info files.
+MAKEINFO = makeinfo
+# Program to format Texinfo source into DVI files.
+TEXI2DVI = texi2dvi
+
+# Programs to make tags files.
+ETAGS = etags -w
+CTAGS = ctags -w
+
+objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o     \
+       rule.o implicit.o default.o variable.o expand.o function.o      \
+       vpath.o version.o ar.o arscan.o signame.o remote-$(REMOTE).o     \
+       $(GETOPT) $(ALLOCA) $(extras)
+srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c             \
+       $(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c         \
+       $(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c             \
+       $(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c        \
+       $(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c     \
+       $(srcdir)vpath.c $(srcdir)version.c                            \
+       $(srcdir)remote-$(REMOTE).c                                     \
+       $(srcdir)ar.c $(srcdir)arscan.c                                \
+       $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC)            \
+       $(srcdir)commands.h $(srcdir)dep.h $(srcdir)filedep.h            \
+       $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h                \
+       $(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in
+
+
+.SUFFIXES:
+.SUFFIXES: .o .c .h .ps .dvi .info .texinfo
+
+all: make
+info: make.info
+dvi: make.dvi
+# Some makes apparently use .PHONY as the default goal if it is before `all'.
+.PHONY: all check info dvi
+
+make.info: make.texinfo
+       $(MAKEINFO) -I$(srcdir) $(srcdir)make.texinfo -o make.info
+
+make.dvi: make.texinfo
+       $(TEXI2DVI) $(srcdir)make.texinfo
+
+make.ps: make.dvi
+       dvi2ps make.dvi > make.ps
+
+make: $(objs) $(GLOB)
+       $(CC) Link $(LDFLAGS) $(objs) Lib $(GLOB) $(LOADLIBES) To make.new
+       -delete make
+       rename make.new make
+
+TMPFILE = t:Make$$
+
+$(GLOB):
+       cd glob @@\
+       $(MAKE) -$(MAKEFLAGS) -f Makefile
+
+# -I. is needed to find config.h in the build directory.
+OUTPUT_OPTION =
+.c.o:
+       $(CC) $(defines) IDir "" IDir glob \
+             $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION)
+
+# For some losing Unix makes.
+SHELL = /bin/sh
+#@SET_MAKE@
+
+glob/libglob.a: FORCE config.h
+       cd glob; $(MAKE) libglob.a
+FORCE:
+
+tagsrcs = $(srcs) $(srcdir)remote-*.c
+
+.PHONY: install installdirs
+install: installdirs \
+        $(bindir)$(binprefix)make $(infodir)make.info \
+        $(mandir)$(manprefix)make.$(manext)
+
+installdirs:
+       $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(mandir)
+
+$(bindir)$(binprefix)make: make
+       $(INSTALL_PROGRAM) make $@.new
+       @if $(install_setgid); then \
+          if chgrp $(group) $@.new && chmod g+s $@.new; then \
+            echo "chgrp $(group) $@.new && chmod g+s $@.new"; \
+          else \
+            echo "$@ needs to be owned by group $(group) and setgid;"; \
+            echo "otherwise the \`-l' option will probably not work."; \
+            echo "You may need special privileges to install $@."; \
+          fi; \
+        else true; fi
+# Some systems can't deal with renaming onto a running binary.
+       -$(RM) $@.old
+       -mv $@ $@.old
+       mv $@.new $@
+
+$(infodir)make.info: make.info
+       if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \
+       for file in $${dir}/make.info*; do \
+         name="`basename $$file`"; \
+         $(INSTALL_DATA) $$file \
+           `echo $@ | sed "s,make.info\$$,$$name,"`; \
+       done
+# Run install-info only if it exists.
+# Use `if' instead of just prepending `-' to the
+# line so we notice real errors from install-info.
+# We use `$(SHELL) -c' because some shells do not
+# fail gracefully when there is an unknown command.
+       if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
+         if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \
+         install-info --infodir=$(infodir) $$dir/make.info; \
+       else true; fi
+
+$(mandir)$(manprefix)make.$(manext): make.man
+       $(INSTALL_DATA) $(srcdir)make.man $@
+
+
+loadavg: loadavg.c config.h
+       $(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \
+             loadavg.c $(LOADLIBES) -o $@
+# We copy getloadavg.c into a different file rather than compiling it
+# directly because some compilers clobber getloadavg.o in the process.
+loadavg.c: getloadavg.c
+       ln $(srcdir)getloadavg.c loadavg.c || \
+       cp $(srcdir)getloadavg.c loadavg.c
+check-loadavg: loadavg
+       @echo The system uptime program believes the load average to be:
+       -uptime
+       @echo The GNU load average checking code believes:
+       ./loadavg
+check: check-loadavg
+
+
+.PHONY: clean realclean distclean mostlyclean
+clean: glob-clean
+       -$(RM) make loadavg "#?.o" core make.dvi
+
+distclean: clean glob-realclean
+       -$(RM) Makefile config.h config.status build.sh
+       -$(RM) config.log config.cache
+       -$(RM) TAGS tags
+       -$(RM) make.?? make.??s make.log make.toc make.*aux
+       -$(RM) loadavg.c
+
+realclean: distclean
+       -$(RM) make.info*
+mostlyclean: clean
+
+.PHONY: glob-clean glob-realclean
+glob-clean glob-realclean:
+       cd glob @@\
+       $(MAKE) $@
+
+# This tells versions [3.59,3.63) of GNU make not to export all variables.
+.NOEXPORT:
+
+# The automatically generated dependencies below may omit config.h
+# because it is included with ``#include <config.h>'' rather than
+# ``#include "config.h"''.  So we add the explicit dependency to make sure.
+$(objs): config.h
+
+# Automatically generated dependencies will be put at the end of the file.
+
+# Automatically generated dependencies.
+commands.o: commands.c make.h dep.h filedef.h variable.h job.h \
+ commands.h
+job.o: job.c make.h job.h filedef.h commands.h variable.h
+dir.o: dir.c make.h
+file.o: file.c make.h dep.h filedef.h job.h commands.h variable.h
+misc.o: misc.c make.h dep.h
+main.o: main.c make.h dep.h filedef.h variable.h job.h commands.h \
+ getopt.h
+read.o: read.c make.h dep.h filedef.h job.h commands.h variable.h \
+ glob/glob.h
+remake.o: remake.c make.h filedef.h job.h commands.h dep.h
+rule.o: rule.c make.h dep.h filedef.h job.h commands.h variable.h \
+ rule.h
+implicit.o: implicit.c make.h rule.h dep.h filedef.h
+default.o: default.c make.h rule.h dep.h filedef.h job.h commands.h \
+ variable.h
+variable.o: variable.c make.h dep.h filedef.h job.h commands.h \
+ variable.h
+expand.o: expand.c make.h filedef.h job.h commands.h variable.h
+function.o: function.c make.h filedef.h variable.h dep.h job.h \
+ commands.h amiga.h
+vpath.o: vpath.c make.h filedef.h variable.h
+version.o: version.c
+ar.o: ar.c make.h filedef.h dep.h
+arscan.o: arscan.c make.h
+signame.o: signame.c signame.h
+remote-stub.o: remote-stub.c make.h filedef.h job.h commands.h
+getopt.o: getopt.c
+getopt1.o : getopt1.c getopt.h
+getloadavg.o: getloadavg.c
+amiga.o: amiga.c make.h variable.h amiga.h
diff --git a/src/mkutil/make-3.80/Makefile.in b/src/mkutil/make-3.80/Makefile.in
new file mode 100644 (file)
index 0000000..29b4ab5
--- /dev/null
@@ -0,0 +1,925 @@
+# Makefile.in generated by automake 1.7 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# This is a -*-Makefile-*-, or close enough
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+
+DEFS = -DLOCALEDIR=\"$(localedir)\" -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\" @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
+GLOBINC = @GLOBINC@
+GLOBLIB = @GLOBLIB@
+GMSGFMT = @GMSGFMT@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+KMEM_GROUP = @KMEM_GROUP@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBS = @LIBS@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+
+MAKE_HOST = @MAKE_HOST@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGMERGE = @MSGMERGE@
+NEED_SETGID = @NEED_SETGID@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_CUSTOMS_FALSE = @USE_CUSTOMS_FALSE@
+USE_CUSTOMS_TRUE = @USE_CUSTOMS_TRUE@
+USE_LOCAL_GLOB_FALSE = @USE_LOCAL_GLOB_FALSE@
+USE_LOCAL_GLOB_TRUE = @USE_LOCAL_GLOB_TRUE@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+
+AUTOMAKE_OPTIONS = 1.7 dist-bzip2 check-news
+ACLOCAL_AMFLAGS = -I config
+
+SUBDIRS = glob config po doc
+
+bin_PROGRAMS = make
+
+@USE_CUSTOMS_TRUE@remote = remote-cstms.c
+@USE_CUSTOMS_FALSE@remote = remote-stub.c
+
+make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
+               function.c getopt.c getopt1.c implicit.c job.c main.c \
+               misc.c read.c remake.c $(remote) rule.c signame.c \
+               variable.c version.c vpath.c hash.c
+
+
+EXTRA_make_SOURCES = remote-stub.c remote-cstms.c
+
+noinst_HEADERS = commands.h dep.h filedef.h job.h make.h rule.h variable.h \
+               debug.h getopt.h gettext.h hash.h
+
+
+make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@
+
+man_MANS = make.1
+
+AM_CPPFLAGS = $(GLOBINC)
+
+
+# Extra stuff to include in the distribution.
+# Note we need all the glob stuff here, rather than in glob/Makefile.am,
+# because often that directory isn't built on the systems used by the
+# maintainers.
+EXTRA_DIST = README build.sh.in $(man_MANS)\
+               README.customs\
+               SCOPTIONS SMakefile\
+               README.Amiga Makefile.ami config.ami make.lnk amiga.c amiga.h\
+               README.DOS Makefile.DOS configure.bat dosbuild.bat configh.dos\
+               README.W32 NMakefile config.h.W32 build_w32.bat subproc.bat\
+               readme.vms makefile.vms makefile.com config.h-vms \
+               vmsdir.h vmsfunctions.c vmsify.c
+
+
+
+# --------------- Internationalization Section
+localedir = $(datadir)/locale
+
+# --------------- Local INSTALL Section
+
+# If necessary, change the gid of the app and turn on the setgid flag.
+#
+
+# Whether or not make needs to be installed setgid.
+# The value should be either `true' or `false'.
+# On many systems, the getloadavg function (used to implement the `-l'
+# switch) will not work unless make is installed setgid kmem.
+#
+inst_setgid = @NEED_SETGID@
+
+# Install make setgid to this group so it can get the load average.
+#
+inst_group = @KMEM_GROUP@
+
+# The loadavg function is invoked during "make check" to test getloadavg.
+noinst_PROGRAMS = loadavg
+loadavg_SOURCES = loadavg.c
+loadavg_CFLAGS = -DTEST
+loadavg_LDADD = @GETLOADAVG_LIBS@
+
+# > check-regression
+#
+# Look for the make test suite, and run it if found and we can find perl.
+# If we're building outside the tree, we use symlinks to make a local copy of
+# the test suite.  Unfortunately the test suite itself isn't localizable yet.
+#
+MAKETESTFLAGS = 
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = build.sh
+bin_PROGRAMS = make$(EXEEXT)
+noinst_PROGRAMS = loadavg$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
+
+am_loadavg_OBJECTS = loadavg-loadavg.$(OBJEXT)
+loadavg_OBJECTS = $(am_loadavg_OBJECTS)
+loadavg_DEPENDENCIES =
+loadavg_LDFLAGS =
+@USE_CUSTOMS_TRUE@am__objects_1 = remote-cstms.$(OBJEXT)
+@USE_CUSTOMS_FALSE@am__objects_1 = remote-stub.$(OBJEXT)
+am_make_OBJECTS = ar.$(OBJEXT) arscan.$(OBJEXT) commands.$(OBJEXT) \
+       default.$(OBJEXT) dir.$(OBJEXT) expand.$(OBJEXT) file.$(OBJEXT) \
+       function.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \
+       implicit.$(OBJEXT) job.$(OBJEXT) main.$(OBJEXT) misc.$(OBJEXT) \
+       read.$(OBJEXT) remake.$(OBJEXT) $(am__objects_1) rule.$(OBJEXT) \
+       signame.$(OBJEXT) variable.$(OBJEXT) version.$(OBJEXT) \
+       vpath.$(OBJEXT) hash.$(OBJEXT)
+make_OBJECTS = $(am_make_OBJECTS)
+make_DEPENDENCIES = @LIBOBJS@ @ALLOCA@
+make_LDFLAGS =
+
+DEFAULT_INCLUDES =  -I. -I$(srcdir) -I.
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/alloca.Po $(DEPDIR)/getloadavg.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/ar.Po ./$(DEPDIR)/arscan.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/commands.Po ./$(DEPDIR)/default.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/dir.Po ./$(DEPDIR)/expand.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/file.Po ./$(DEPDIR)/function.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/getopt.Po ./$(DEPDIR)/getopt1.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/hash.Po ./$(DEPDIR)/implicit.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/job.Po ./$(DEPDIR)/loadavg-loadavg.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/main.Po ./$(DEPDIR)/misc.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/read.Po ./$(DEPDIR)/remake.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/remote-cstms.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/remote-stub.Po ./$(DEPDIR)/rule.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/signame.Po ./$(DEPDIR)/variable.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/version.Po ./$(DEPDIR)/vpath.Po
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(loadavg_SOURCES) $(make_SOURCES) $(EXTRA_make_SOURCES)
+
+NROFF = nroff
+MANS = $(man_MANS)
+HEADERS = $(noinst_HEADERS)
+
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+       ps-recursive install-info-recursive uninstall-info-recursive \
+       all-recursive install-data-recursive install-exec-recursive \
+       installdirs-recursive install-recursive uninstall-recursive \
+       check-recursive installcheck-recursive
+DIST_COMMON = README $(noinst_HEADERS) ABOUT-NLS AUTHORS COPYING \
+       ChangeLog INSTALL Makefile.am Makefile.in NEWS acinclude.m4 \
+       aclocal.m4 alloca.c build.sh.in config.h.in configure \
+       configure.in getloadavg.c
+DIST_SUBDIRS = $(SUBDIRS)
+SOURCES = $(loadavg_SOURCES) $(make_SOURCES) $(EXTRA_make_SOURCES)
+
+all: config.h
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --gnu  Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
+
+$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       $(SHELL) ./config.status --recheck
+$(srcdir)/configure:  $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+       cd $(srcdir) && $(AUTOCONF)
+
+$(ACLOCAL_M4):  configure.in acinclude.m4 config/codeset.m4 config/gettext.m4 config/glibc21.m4 config/iconv.m4 config/intdiv0.m4 config/inttypes-pri.m4 config/inttypes.m4 config/inttypes_h.m4 config/isc-posix.m4 config/lcmessage.m4 config/lib-ld.m4 config/lib-link.m4 config/lib-prefix.m4 config/progtest.m4 config/stdint_h.m4 config/uintmax_t.m4 config/ulonglong.m4
+       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+       @if test ! -f $@; then \
+         rm -f stamp-h1; \
+         $(MAKE) stamp-h1; \
+       else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+       @rm -f stamp-h1
+       cd $(top_builddir) && $(SHELL) ./config.status config.h
+
+$(srcdir)/config.h.in:  $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOHEADER)
+       touch $(srcdir)/config.h.in
+
+distclean-hdr:
+       -rm -f config.h stamp-h1
+build.sh: $(top_builddir)/config.status build.sh.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+install-binPROGRAMS: $(bin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(DESTDIR)$(bindir)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+         if test -f $$p \
+         ; then \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
+         else :; fi; \
+       done
+
+uninstall-binPROGRAMS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
+         rm -f $(DESTDIR)$(bindir)/$$f; \
+       done
+
+clean-binPROGRAMS:
+       -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+clean-noinstPROGRAMS:
+       -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+loadavg-loadavg.$(OBJEXT): loadavg.c
+loadavg$(EXEEXT): $(loadavg_OBJECTS) $(loadavg_DEPENDENCIES) 
+       @rm -f loadavg$(EXEEXT)
+       $(LINK) $(loadavg_LDFLAGS) $(loadavg_OBJECTS) $(loadavg_LDADD) $(LIBS)
+make$(EXEEXT): $(make_OBJECTS) $(make_DEPENDENCIES) 
+       @rm -f make$(EXEEXT)
+       $(LINK) $(make_LDFLAGS) $(make_OBJECTS) $(make_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getloadavg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arscan.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commands.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/default.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expand.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/function.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/implicit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/job.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadavg-loadavg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remake.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-cstms.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-stub.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rule.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signame.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/variable.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vpath.Po@am__quote@
+
+distclean-depend:
+       -rm -rf $(DEPDIR) ./$(DEPDIR)
+
+.c.o:
+@am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCC_TRUE@     -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCC_TRUE@   then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCC_TRUE@   else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@   fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+
+.c.obj:
+@am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCC_TRUE@     -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`; \
+@am__fastdepCC_TRUE@   then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCC_TRUE@   else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@   fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`
+
+loadavg-loadavg.o: loadavg.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(loadavg_CFLAGS) $(CFLAGS) -MT loadavg-loadavg.o -MD -MP -MF "$(DEPDIR)/loadavg-loadavg.Tpo" \
+@am__fastdepCC_TRUE@     -c -o loadavg-loadavg.o `test -f 'loadavg.c' || echo '$(srcdir)/'`loadavg.c; \
+@am__fastdepCC_TRUE@   then mv "$(DEPDIR)/loadavg-loadavg.Tpo" "$(DEPDIR)/loadavg-loadavg.Po"; \
+@am__fastdepCC_TRUE@   else rm -f "$(DEPDIR)/loadavg-loadavg.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@   fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='loadavg.c' object='loadavg-loadavg.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/loadavg-loadavg.Po' tmpdepfile='$(DEPDIR)/loadavg-loadavg.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(loadavg_CFLAGS) $(CFLAGS) -c -o loadavg-loadavg.o `test -f 'loadavg.c' || echo '$(srcdir)/'`loadavg.c
+
+loadavg-loadavg.obj: loadavg.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(loadavg_CFLAGS) $(CFLAGS) -MT loadavg-loadavg.obj -MD -MP -MF "$(DEPDIR)/loadavg-loadavg.Tpo" \
+@am__fastdepCC_TRUE@     -c -o loadavg-loadavg.obj `if test -f 'loadavg.c'; then $(CYGPATH_W) 'loadavg.c'; else $(CYGPATH_W) '$(srcdir)/loadavg.c'`; \
+@am__fastdepCC_TRUE@   then mv "$(DEPDIR)/loadavg-loadavg.Tpo" "$(DEPDIR)/loadavg-loadavg.Po"; \
+@am__fastdepCC_TRUE@   else rm -f "$(DEPDIR)/loadavg-loadavg.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@   fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='loadavg.c' object='loadavg-loadavg.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/loadavg-loadavg.Po' tmpdepfile='$(DEPDIR)/loadavg-loadavg.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(loadavg_CFLAGS) $(CFLAGS) -c -o loadavg-loadavg.obj `if test -f 'loadavg.c'; then $(CYGPATH_W) 'loadavg.c'; else $(CYGPATH_W) '$(srcdir)/loadavg.c'`
+uninstall-info-am:
+
+man1dir = $(mandir)/man1
+install-man1: $(man1_MANS) $(man_MANS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(DESTDIR)$(man1dir)
+       @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+       l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+       for i in $$l2; do \
+         case "$$i" in \
+           *.1*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+         else file=$$i; fi; \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           1*) ;; \
+           *) ext='1' ;; \
+         esac; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed -e 's/^.*\///'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
+         $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
+       done
+uninstall-man1:
+       @$(NORMAL_UNINSTALL)
+       @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+       l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+       for i in $$l2; do \
+         case "$$i" in \
+           *.1*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed -e 's/^.*\///'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
+         rm -f $(DESTDIR)$(man1dir)/$$inst; \
+       done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+       @set fnord $$MAKEFLAGS; amf=$$2; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @set fnord $$MAKEFLAGS; amf=$$2; \
+       dot_seen=no; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       rev=''; for subdir in $$list; do \
+         if test "$$subdir" = "."; then :; else \
+           rev="$$subdir $$rev"; \
+         fi; \
+       done; \
+       rev="$$rev ."; \
+       target=`echo $@ | sed s/-recursive//`; \
+       for subdir in $$rev; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+       done
+ctags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+       done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       mkid -fID $$unique
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
+
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = .
+distdir = $(PACKAGE)-$(VERSION)
+
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+
+distdir: $(DISTFILES)
+       @case `sed 15q $(srcdir)/NEWS` in \
+       *"$(VERSION)"*) : ;; \
+       *) \
+         echo "NEWS not updated; not releasing" 1>&2; \
+         exit 1;; \
+       esac
+       $(am__remove_distdir)
+       mkdir $(distdir)
+       $(mkinstalldirs) $(distdir)/. $(distdir)/po
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+         esac; \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
+         if test -d $$d/$$file; then \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test -d $(distdir)/$$subdir \
+           || mkdir $(distdir)/$$subdir \
+           || exit 1; \
+           (cd $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$(top_distdir)" \
+               distdir=../$(distdir)/$$subdir \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+       $(MAKE) $(AM_MAKEFLAGS) \
+         top_distdir="$(top_distdir)" distdir="$(distdir)" \
+         dist-hook
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+dist-gzip: distdir
+       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(am__remove_distdir)
+
+dist-bzip2: distdir
+       $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+dist dist-all: distdir
+       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       $(am__remove_distdir)
+       GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
+       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       mkdir $(distdir)/=build
+       mkdir $(distdir)/=inst
+       chmod a-w $(distdir)
+       dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
+         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+         && $(mkinstalldirs) $$dc_destdir \
+         && cd $(distdir)/=build \
+         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+           --with-included-gettext \
+           $(DISTCHECK_CONFIGURE_FLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) check \
+         && $(MAKE) $(AM_MAKEFLAGS) install \
+         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+               distuninstallcheck \
+         && chmod -R a-w "$$dc_install_base" \
+         && ({   $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+             } || { rm -rf "$$dc_destdir"; exit 1; }) \
+         && rm -rf "$$dc_destdir" \
+         && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
+         && rm -f $(distdir).tar.gz \
+         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+       $(am__remove_distdir)
+       @echo "$(distdir).tar.gz is ready for distribution" | \
+         sed 'h;s/./=/g;p;x;p;x'
+distuninstallcheck:
+       cd $(distuninstallcheck_dir) \
+       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+          || { echo "ERROR: files left after uninstall:" ; \
+               if test -n "$(DESTDIR)"; then \
+                 echo "  (check DESTDIR support)"; \
+               fi ; \
+               $(distuninstallcheck_listfiles) ; \
+               exit 1; } >&2
+distcleancheck: distclean
+       if test '$(srcdir)' = . ; then \
+         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+         exit 1 ; \
+       fi
+       test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+         || { echo "ERROR: files left in build directory after distclean:" ; \
+              $(distcleancheck_listfiles) ; \
+              exit 1; } >&2
+check-am: all-am
+       $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-recursive
+all-am: Makefile $(PROGRAMS) $(MANS) $(HEADERS) config.h
+installdirs: installdirs-recursive
+installdirs-am:
+       $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
+
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+distclean-am: clean-am distclean-compile distclean-depend \
+       distclean-generic distclean-hdr distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am: install-binPROGRAMS install-exec-local
+
+install-info: install-info-recursive
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf autom4te.cache
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man
+
+uninstall-info: uninstall-info-recursive
+
+uninstall-man: uninstall-man1
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+       check-local clean clean-binPROGRAMS clean-generic \
+       clean-noinstPROGRAMS clean-recursive ctags ctags-recursive dist \
+       dist-all dist-bzip2 dist-gzip distcheck distclean \
+       distclean-compile distclean-depend distclean-generic \
+       distclean-hdr distclean-recursive distclean-tags distcleancheck \
+       distdir distuninstallcheck dvi dvi-am dvi-recursive info \
+       info-am info-recursive install install-am install-binPROGRAMS \
+       install-data install-data-am install-data-recursive \
+       install-exec install-exec-am install-exec-local \
+       install-exec-recursive install-info install-info-am \
+       install-info-recursive install-man install-man1 \
+       install-recursive install-strip installcheck installcheck-am \
+       installdirs installdirs-am installdirs-recursive \
+       maintainer-clean maintainer-clean-generic \
+       maintainer-clean-recursive mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-recursive pdf pdf-am \
+       pdf-recursive ps ps-am ps-recursive tags tags-recursive \
+       uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am \
+       uninstall-info-recursive uninstall-man uninstall-man1 \
+       uninstall-recursive
+
+
+# Forward targets
+
+html:
+       cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
+
+.PHONY: html
+
+install-exec-local:
+       @if $(inst_setgid); then \
+          app=$(DESTDIR)$(bindir)/`echo $(bin_PROGRAMS)|sed '$(transform)'`; \
+          if chgrp $(inst_group) $$app && chmod g+s $$app; then \
+            echo "chgrp $(inst_group) $$app && chmod g+s $$app"; \
+          else \
+            echo "$$app needs to be owned by group $(inst_group) and setgid;"; \
+            echo "otherwise the \`-l' option will probably not work."; \
+            echo "You may need special privileges to complete the installation"; \
+            echo "of $$app."; \
+          fi; \
+        else true; fi
+
+# --------------- Local DIST Section
+
+# Install the w32 and tests subdirectories
+#
+dist-hook:
+       (cd $(srcdir); \
+        sub=`find w32 tests -follow \( -name CVS -prune -o -name .cvsignore -o -name work -prune \) -o \( -name \*.orig -o -name \*.rej -o -name \*~ -prune \) -o -type f -print`; \
+        tar chf - $$sub) \
+       | (cd $(distdir); tar xfBp -)
+
+# --------------- Local CHECK Section
+
+check-local: check-regression check-loadavg
+       @banner=" Regression PASSED: GNU Make $(VERSION) ($(MAKE_HOST)) built with $(CC) "; \
+       dashes=`echo "$$banner" | sed s/./=/g`; \
+       echo; \
+       echo "$$dashes"; \
+       echo "$$banner"; \
+       echo "$$dashes"; \
+       echo
+
+.PHONY: check-loadavg check-regression
+
+check-loadavg: loadavg
+       @echo The system uptime program believes the load average to be:
+       -uptime
+       @echo The GNU load average checking code thinks:
+       -./loadavg
+
+loadavg.c: $(srcdir)/getloadavg.c
+       cp $(srcdir)/getloadavg.c loadavg.c
+
+check-regression:
+       @if test -f "$(srcdir)/tests/run_make_tests"; then \
+         if $(PERL) -v >/dev/null 2>&1; then \
+           case `cd $(srcdir); pwd` in `pwd`) : ;; \
+             *) test -d tests || mkdir tests; \
+                rm -f srctests; \
+                if ln -s "$(srcdir)/tests" srctests; then \
+                  for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \
+                    rm -f tests/$$f; ln -s ../srctests/$$f tests; \
+                  done; fi ;; \
+           esac; \
+           echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make $(MAKETESTFLAGS)"; \
+           cd tests && $(PERL) ./run_make_tests.pl -make ../make $(MAKETESTFLAGS); \
+         else \
+           echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \
+         fi; \
+        else \
+         echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \
+        fi
+
+# --------------- Maintainer's Section
+
+@MAINT_MAKEFILE@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/mkutil/make-3.80/NEWS b/src/mkutil/make-3.80/NEWS
new file mode 100644 (file)
index 0000000..8a200f5
--- /dev/null
@@ -0,0 +1,859 @@
+GNU make NEWS                                               -*-indented-text-*-
+  History of user-visible changes.
+  03 October 2002
+
+Copyright (C) 2002  Free Software Foundation, Inc.
+See the end for copying conditions.
+
+All changes mentioned here are more fully described in the GNU make
+manual, which is contained in this distribution as the file make.texinfo.
+
+Please send GNU make bug reports to <bug-make@gnu.org>.
+See the README file and the GNU make manual for details on sending bug
+reports.
+\f
+Version 3.80
+
+* A new feature exists: order-only prerequisites.  These prerequisites
+  affect the order in which targets are built, but they do not impact
+  the rebuild/no-rebuild decision of their dependents.  That is to say,
+  they allow you to require target B be built before target A, without
+  requiring that target A will always be rebuilt if target B is updated.
+  Patch for this feature provided by Greg McGary <greg@mcgary.org>.
+
+* For compatibility with SysV make, GNU make now supports the peculiar
+  syntax $$@, $$(@D), and $$(@F) in the prerequisites list of a rule.
+  This syntax is only valid within explicit and static pattern rules: it
+  cannot be used in implicit (suffix or pattern) rules.  Edouard G. Parmelan
+  <egp@free.fr> provided a patch implementing this feature; however, I
+  decided to implement it in a different way.
+
+* The argument to the "ifdef" conditional is now expanded before it's
+  tested, so it can be a constructed variable name.
+
+  Similarly, the arguments to "export" (when not used in a variable
+  definition context) and "unexport" are also now expanded.
+
+* A new function is defined: $(value ...).  The argument to this
+  function is the _name_ of a variable.  The result of the function is
+  the value of the variable, without having been expanded.
+
+* A new function is defined: $(eval ...).  The arguments to this
+  function should expand to makefile commands, which will then be
+  evaluated as if they had appeared in the makefile.  In combination
+  with define/endef multiline variable definitions this is an extremely
+  powerful capability.  The $(value ...) function is also sometimes
+  useful here.
+
+* A new built-in variable is defined, $(MAKEFILE_LIST).  It contains a
+  list of each makefile GNU make has read, or started to read, in the
+  order in which they were encountered.  So, the last filename in the
+  list when a makefile is just being read (before any includes) is the
+  name of the current makefile.
+
+* A new built-in variable is defined: $(.VARIABLES).  When it is
+  expanded it returns a complete list of variable names defined by all
+  makefiles at that moment.
+
+* A new command-line option is defined, -B or --always-make.  If
+  specified GNU make will consider all targets out-of-date even if they
+  would otherwise not be.
+
+* The arguments to $(call ...) functions were being stored in $1, $2,
+  etc. as recursive variables, even though they are fully expanded
+  before assignment.  This means that escaped dollar signs ($$ etc.)
+  were not behaving properly.  Now the arguments are stored as simple
+  variables.  This may mean that if you added extra escaping to your
+  $(call ...) function arguments you will need to undo it now.
+
+* The variable invoked by $(call ...) can now be recursive: unlike other
+  variables it can reference itself and this will not produce an error
+  when it is used as the first argument to $(call ...) (but only then).
+
+* New pseudo-target .LOW_RESOLUTION_TIME, superseding the configure
+  option --disable-nsec-timestamps.  You might need this if your build
+  process depends on tools like "cp -p" preserving time stamps, since
+  "cp -p" (right now) doesn't preserve the subsecond portion of a time
+  stamp.
+
+* Updated translations for French, Galician, German, Japanese, Korean,
+  and Russian.  New translations for Croatian, Danish, Hebrew, and
+  Turkish.
+
+* Updated internationalization support to Gettext 0.11.5.
+  GNU make now uses Gettext's "external" feature, and does not include
+  any internationalization code itself.  Configure will search your
+  system for an existing implementation of GNU Gettext (only GNU Gettext
+  is acceptable) and use it if it exists.  If not, NLS will be disabled.
+  See ABOUT-NLS for more information.
+
+* Updated to autoconf 2.54 and automake 1.7.  Users should not be impacted.
+\f
+Version 3.79.1
+
+* .SECONDARY with no prerequisites now prevents any target from being
+  removed because make thinks it's an intermediate file, not just those
+  listed in the makefile.
+
+* New configure option --disable-nsec-timestamps, but this was
+  superseded in later versions by the .LOW_RESOLUTION_TIME pseudo-target.
+\f
+Version 3.79
+
+* GNU make optionally supports internationalization and locales via the
+  GNU gettext (or local gettext if suitable) package.  See the ABOUT-NLS
+  file for more information on configuring GNU make for NLS.
+
+* Previously, GNU make quoted variables such as MAKEFLAGS and
+  MAKEOVERRIDES for proper parsing by the shell.  This allowed them to
+  be used within make build scripts.  However, using them there is not
+  proper behavior: they are meant to be passed to subshells via the
+  environment.  Unfortunately the values were not quoted properly to be
+  passed through the environment.  This meant that make didn't properly
+  pass some types of command line values to submakes.
+
+  With this version we change that behavior: now these variables are
+  quoted properly for passing through the environment, which is the
+  correct way to do it.  If you previously used these variables
+  explicitly within a make rule you may need to re-examine your use for
+  correctness given this change.
+
+* A new pseudo-target .NOTPARALLEL is available.  If defined, the
+  current makefile is run serially regardless of the value of -j.
+  However, submakes are still eligible for parallel execution.
+
+* The --debug option has changed: it now allows optional flags
+  controlling the amount and type of debugging output.  By default only
+  a minimal amount information is generated, displaying the names of
+  "normal" targets (not makefiles) that were deemed out of date and in
+  need of being rebuilt.
+
+  Note that the -d option behaves as before: it takes no arguments and
+  all debugging information is generated.
+
+* The `-p' (print database) output now includes filename and linenumber
+  information for variable definitions, to aid debugging.
+
+* The wordlist function no longer reverses its arguments if the "start"
+  value is greater than the "end" value.  If that's true, nothing is
+  returned.
+
+* Hartmut Becker provided many updates for the VMS port of GNU make.
+  See the readme.vms file for more details.
+\f
+Version 3.78
+
+* Two new functions, $(error ...) and $(warning ...) are available.  The
+  former will cause make to fail and exit immediately upon expansion of
+  the function, with the text provided as the error message.  The latter
+  causes the text provided to be printed as a warning message, but make
+  proceeds normally.
+
+* A new function $(call ...) is available.  This allows users to create
+  their own parameterized macros and invoke them later.  Original
+  implementation of this function was provided by Han-Wen Nienhuys
+  <hanwen@cs.uu.nl>.
+
+* A new function $(if ...) is available.  It provides if-then-else
+  capabilities in a builtin function.  Original implementation of this
+  function was provided by Han-Wen Nienhuys <hanwen@cs.uu.nl>.
+
+* Make defines a new variable, .LIBPATTERNS.  This variable controls how
+  library dependency expansion (dependencies like ``-lfoo'') is performed.
+
+* Make accepts CRLF sequences as well as traditional LF, for
+  compatibility with makefiles created on other operating systems.
+
+* Make accepts a new option: -R, or --no-builtin-variables.  This option
+  disables the definition of the rule-specific builtin variables (CC,
+  LD, AR, etc.).  Specifying this option forces -r (--no-builtin-rules)
+  as well.
+
+* A "job server" feature, suggested by Howard Chu <hyc@highlandsun.com>.
+
+  On systems that support POSIX pipe(2) semantics, GNU make can now pass
+  -jN options to submakes rather than forcing them all to use -j1.  The
+  top make and all its sub-make processes use a pipe to communicate with
+  each other to ensure that no more than N jobs are started across all
+  makes.  To get the old behavior of -j back, you can configure make
+  with the --disable-job-server option.
+
+* The confusing term "dependency" has been replaced by the more accurate
+  and standard term "prerequisite", both in the manual and in all GNU make
+  output.
+
+* GNU make supports the "big archive" library format introduced in AIX 4.3.
+
+* GNU make supports large files on AIX, HP-UX, and IRIX.  These changes
+  were provided by Paul Eggert <eggert@twinsun.com>.  (Large file
+  support for Solaris and Linux was introduced in 3.77, but the
+  configuration had issues: these have also been resolved).
+
+* The Windows 95/98/NT (W32) version of GNU make now has native support
+  for the Cygnus Cygwin release B20.1 shell (bash).
+
+* The GNU make regression test suite, long available separately "under
+  the table", has been integrated into the release.  You can invoke it
+  by running "make check" in the distribution.  Note that it requires
+  Perl (either Perl 4 or Perl 5) to run.
+\f
+Version 3.77
+
+* Implement BSD make's "?=" variable assignment operator.  The variable
+  is assigned the specified value only if that variable is not already
+  defined.
+
+* Make defines a new variable, "CURDIR", to contain the current working
+  directory (after the -C option, if any, has been processed).
+  Modifying this variable has no effect on the operation of make.
+
+* Make defines a new default RCS rule, for new-style master file
+  storage: ``% :: RCS/%'' (note no ``,v'' suffix).
+
+  Make defines new default rules for DOS-style C++ file naming
+  conventions, with ``.cpp'' suffixes.  All the same rules as for
+  ``.cc'' and ``.C'' suffixes are provided, along with LINK.cpp and
+  COMPILE.cpp macros (which default to the same value as LINK.cc and
+  COMPILE.cc).  Note CPPFLAGS is still C preprocessor flags!  You should
+  use CXXFLAGS to change C++ compiler flags.
+
+* A new feature, "target-specific variable values", has been added.
+  This is a large change so please see the appropriate sections of the
+  manual for full details.  Briefly, syntax like this:
+
+    TARGET: VARIABLE = VALUE
+
+  defines VARIABLE as VALUE within the context of TARGET.  This is
+  similar to SunOS make's "TARGET := VARIABLE = VALUE" feature.  Note
+  that the assignment may be of any type, not just recursive, and that
+  the override keyword is available.
+
+  COMPATIBILITY: This new syntax means that if you have any rules where
+  the first or second dependency has an equal sign (=) in its name,
+  you'll have to escape them with a backslash: "foo : bar\=baz".
+  Further, if you have any dependencies which already contain "\=",
+  you'll have to escape both of them: "foo : bar\\\=baz".
+
+* A new appendix listing the most common error and warning messages
+  generated by GNU make, with some explanation, has been added to the
+  GNU make User's Manual.
+
+* Updates to the GNU make Customs library support (see README.customs).
+
+* Updates to the Windows 95/NT port from Rob Tulloh (see README.W32),
+  and to the DOS port from Eli Zaretski (see README.DOS).
+\f
+Version 3.76.1
+
+* Small (but serious) bug fix.  Quick rollout to get into the GNU source CD.
+\f
+Version 3.76
+
+* GNU make now uses automake to control Makefile.in generation.  This
+  should make it more consistent with the GNU standards.
+
+* VPATH functionality has been changed to incorporate the VPATH+ patch,
+  previously maintained by Paul Smith <psmith@baynetworks.com>.  See the
+  manual.
+
+* Make defines a new variable, `MAKECMDGOALS', to contain the goals that
+  were specified on the command line, if any.  Modifying this variable
+  has no effect on the operation of make.
+
+* A new function, `$(wordlist S,E,TEXT)', is available: it returns a
+  list of words from number S to number E (inclusive) of TEXT.
+
+* Instead of an error, detection of future modification times gives a
+  warning and continues.  The warning is repeated just before GNU make
+  exits, so it is less likely to be lost.
+
+* Fix the $(basename) and $(suffix) functions so they only operate on
+  the last filename, not the entire string:
+
+      Command              Old Result             New Result
+      -------              ----------             ----------
+    $(basename a.b)        a                      a
+    $(basename a.b/c)      a                      a.b/c
+    $(suffix a.b)          b                      b
+    $(suffix a.b/c)        b/c                    <empty>
+
+* The $(strip) function now removes newlines as well as TABs and spaces.
+
+* The $(shell) function now changes CRLF (\r\n) pairs to a space as well
+  as newlines (\n).
+
+* Updates to the Windows 95/NT port from Rob Tulloh (see README.W32).
+
+* Eli Zaretskii has updated the port to 32-bit protected mode on MSDOS
+  and MS-Windows, building with the DJGPP v2 port of GNU C/C++ compiler
+  and utilities.  See README.DOS for details, and direct all questions
+  concerning this port to Eli Zaretskii <eliz@is.elta.co.il> or DJ
+  Delorie <dj@delorie.com>.
+
+* John W. Eaton has updated the VMS port to support libraries and VPATH.
+\f
+Version 3.75
+
+* The directory messages printed by `-w' and implicitly in sub-makes,
+  are now omitted if Make runs no commands and has no other messages to print.
+
+* Make now detects files that for whatever reason have modification times
+  in the future and gives an error.  Files with such impossible timestamps
+  can result from unsynchronized clocks, or archived distributions
+  containing bogus timestamps; they confuse Make's dependency engine
+  thoroughly.
+
+* The new directive `sinclude' is now recognized as another name for
+  `-include', for compatibility with some other Makes.
+
+* Aaron Digulla has contributed a port to AmigaDOS.  See README.Amiga for
+  details, and direct all Amiga-related questions to <digulla@fh-konstanz.de>.
+
+* Rob Tulloh of Tivoli Systems has contributed a port to Windows NT or 95.
+  See README.W32 for details, and direct all Windows-related questions to
+  <rob_tulloh@tivoli.com>.
+\f
+Version 3.73
+
+* Converted to use Autoconf version 2, so `configure' has some new options.
+  See INSTALL for details.
+
+* You can now send a SIGUSR1 signal to Make to toggle printing of debugging
+  output enabled by -d, at any time during the run.
+\f
+Version 3.72
+
+* DJ Delorie has ported Make to MS-DOS using the GO32 extender.
+  He is maintaining the DOS port, not the GNU Make maintainer;
+  please direct bugs and questions for DOS to <djgpp@sun.soe.clarkson.edu>.
+  MS-DOS binaries are available for FTP from ftp.simtel.net in
+  /pub/simtelnet/gnu/djgpp/.
+
+* The `MAKEFLAGS' variable (in the environment or in a makefile) can now
+  contain variable definitions itself; these are treated just like
+  command-line variable definitions.  Make will automatically insert any
+  variable definitions from the environment value of `MAKEFLAGS' or from
+  the command line, into the `MAKEFLAGS' value exported to children.  The
+  `MAKEOVERRIDES' variable previously included in the value of `$(MAKE)'
+  for sub-makes is now included in `MAKEFLAGS' instead.  As before, you can
+  reset `MAKEOVERRIDES' in your makefile to avoid putting all the variables
+  in the environment when its size is limited.
+
+* If `.DELETE_ON_ERROR' appears as a target, Make will delete the target of
+  a rule if it has changed when its commands exit with a nonzero status,
+  just as when the commands get a signal.
+
+* The automatic variable `$+' is new.  It lists all the dependencies like
+  `$^', but preserves duplicates listed in the makefile.  This is useful
+  for linking rules, where library files sometimes need to be listed twice
+  in the link order.
+
+* You can now specify the `.IGNORE' and `.SILENT' special targets with
+  dependencies to limit their effects to those files.  If a file appears as
+  a dependency of `.IGNORE', then errors will be ignored while running the
+  commands to update that file.  Likewise if a file appears as a dependency
+  of `.SILENT', then the commands to update that file will not be printed
+  before they are run.  (This change was made to conform to POSIX.2.)
+\f
+Version 3.71
+
+* The automatic variables `$(@D)', `$(%D)', `$(*D)', `$(<D)', `$(?D)', and
+  `$(^D)' now omit the trailing slash from the directory name.  (This change
+  was made to comply with POSIX.2.)
+
+* The source distribution now includes the Info files for the Make manual.
+  There is no longer a separate distribution containing Info and DVI files.
+
+* You can now set the variables `binprefix' and/or `manprefix' in
+  Makefile.in (or on the command line when installing) to install GNU make
+  under a name other than `make' (i.e., ``make binprefix=g install''
+  installs GNU make as `gmake').
+
+* The built-in Texinfo rules use the new variables `TEXI2DVI_FLAGS' for
+  flags to the `texi2dvi' script, and `MAKEINFO_FLAGS' for flags to the
+  Makeinfo program.
+
+* The exit status of Make when it runs into errors is now 2 instead of 1.
+  The exit status is 1 only when using -q and some target is not up to date.
+  (This change was made to comply with POSIX.2.)
+\f
+Version 3.70
+
+* It is no longer a fatal error to have a NUL character in a makefile.
+  You should never put a NUL in a makefile because it can have strange
+  results, but otherwise empty lines full of NULs (such as produced by
+  the `xmkmf' program) will always work fine.
+
+* The error messages for nonexistent included makefiles now refer to the
+  makefile name and line number where the `include' appeared, so Emacs's
+  C-x ` command takes you there (in case it's a typo you need to fix).
+\f
+Version 3.69
+
+* Implicit rule search for archive member references is now done in the
+  opposite order from previous versions: the whole target name `LIB(MEM)'
+  first, and just the member name and parentheses `(MEM)' second.
+
+* Make now gives an error for an unterminated variable or function reference.
+  For example, `$(foo' with no matching `)' or `${bar' with no matching `}'.
+
+* The new default variable `MAKE_VERSION' gives the version number of
+  Make, and a string describing the remote job support compiled in (if any).
+  Thus the value (in this release) is something like `3.69' or `3.69-Customs'.
+
+* Commands in an invocation of the `shell' function are no longer run with
+  a modified environment like target commands are.  As in versions before
+  3.68, they now run with the environment that `make' started with.  We
+  have reversed the change made in version 3.68 because it turned out to
+  cause a paradoxical situation in cases like:
+
+       export variable = $(shell echo value)
+
+  When Make attempted to put this variable in the environment for a target
+  command, it would try expand the value by running the shell command
+  `echo value'.  In version 3.68, because it constructed an environment
+  for that shell command in the same way, Make would begin to go into an
+  infinite loop and then get a fatal error when it detected the loop.
+
+* The commands given for `.DEFAULT' are now used for phony targets with no
+  commands.
+\f
+Version 3.68
+
+* You can list several archive member names inside parenthesis:
+  `lib(mem1 mem2 mem3)' is equivalent to `lib(mem1) lib(mem2) lib(mem3)'.
+
+* You can use wildcards inside archive member references.  For example,
+  `lib(*.o)' expands to all existing members of `lib' whose names end in
+  `.o' (e.g. `lib(a.o) lib(b.o)'); `*.a(*.o)' expands to all such members
+  of all existing files whose names end in `.a' (e.g. `foo.a(a.o)
+  foo.a(b.o) bar.a(c.o) bar.a(d.o)'.
+
+* A suffix rule `.X.a' now produces two pattern rules:
+       (%.o): %.X      # Previous versions produced only this.
+       %.a: %.X        # Now produces this as well, just like other suffixes.
+
+* The new flag `--warn-undefined-variables' says to issue a warning message
+  whenever Make expands a reference to an undefined variable.
+
+* The new `-include' directive is just like `include' except that there is
+  no error (not even a warning) for a nonexistent makefile.
+
+* Commands in an invocation of the `shell' function are now run with a
+  modified environment like target commands are, so you can use `export' et
+  al to set up variables for them.  They used to run with the environment
+  that `make' started with.
+\f
+Version 3.66
+
+* `make --version' (or `make -v') now exits immediately after printing
+  the version number.
+\f
+Version 3.65
+
+* Make now supports long-named members in `ar' archive files.
+\f
+Version 3.64
+
+* Make now supports the `+=' syntax for a variable definition which appends
+  to the variable's previous value.  See the section `Appending More Text
+  to Variables' in the manual for full details.
+
+* The new option `--no-print-directory' inhibits the `-w' or
+  `--print-directory' feature.  Make turns on `--print-directory'
+  automatically if you use `-C' or `--directory', and in sub-makes; some
+  users have found this behavior undesirable.
+
+* The built-in implicit rules now support the alternative extension
+  `.txinfo' for Texinfo files, just like `.texinfo' and `.texi'.
+\f
+Version 3.63
+
+* Make now uses a standard GNU `configure' script.  See the new file
+  INSTALL for the new (and much simpler) installation procedure.
+
+* There is now a shell script to build Make the first time, if you have no
+  other `make' program.  `build.sh' is created by `configure'; see README.
+
+* GNU Make now completely conforms to the POSIX.2 specification for `make'.
+
+* Elements of the `$^' and `$?' automatic variables that are archive
+  member references now list only the member name, as in Unix and POSIX.2.
+
+* You should no longer ever need to specify the `-w' switch, which prints
+  the current directory before and after Make runs.  The `-C' switch to
+  change directory, and recursive use of Make, now set `-w' automatically.
+
+* Multiple double-colon rules for the same target will no longer have their
+  commands run simultaneously under -j, as this could result in the two
+  commands trying to change the file at the same time and interfering with
+  one another.
+
+* The `SHELL' variable is now never taken from the environment.
+  Each makefile that wants a shell other than the default (/bin/sh) must
+  set SHELL itself.  SHELL is always exported to child processes.
+  This change was made for compatibility with POSIX.2.
+
+* Make now accepts long options.  There is now an informative usage message
+  that tells you what all the options are and what they do.  Try `make --help'.
+
+* There are two new directives: `export' and `unexport'.  All variables are
+  no longer automatically put into the environments of the commands that
+  Make runs.  Instead, only variables specified on the command line or in
+  the environment are exported by default.  To export others, use:
+       export VARIABLE
+  or you can define variables with:
+       export VARIABLE = VALUE
+  or:
+       export VARIABLE := VALUE
+  You can use just:
+       export
+  or:
+       .EXPORT_ALL_VARIABLES:
+  to get the old behavior.  See the node `Variables/Recursion' in the manual
+  for a full description.
+
+* The commands from the `.DEFAULT' special target are only applied to
+  targets which have no rules at all, not all targets with no commands.
+  This change was made for compatibility with Unix make.
+
+* All fatal error messages now contain `***', so they are easy to find in
+  compilation logs.
+
+* Dependency file names like `-lNAME' are now replaced with the actual file
+  name found, as with files found by normal directory search (VPATH).
+  The library file `libNAME.a' may now be found in the current directory,
+  which is checked before VPATH; the standard set of directories (/lib,
+  /usr/lib, /usr/local/lib) is now checked last.
+  See the node `Libraries/Search' in the manual for full details.
+
+* A single `include' directive can now specify more than one makefile to
+  include, like this:
+       include file1 file2
+  You can also use shell file name patterns in an `include' directive:
+       include *.mk
+
+* The default directories to search for included makefiles, and for
+  libraries specified with `-lNAME', are now set by configuration.
+
+* You can now use blanks as well as colons to separate the directories in a
+  search path for the `vpath' directive or the `VPATH' variable.
+
+* You can now use variables and functions in the left hand side of a
+  variable assignment, as in "$(foo)bar = value".
+
+* The `MAKE' variable is always defined as `$(MAKE_COMMAND) $(MAKEOVERRIDES)'.
+  The `MAKE_COMMAND' variable is now defined to the name with which make
+  was invoked.
+
+* The built-in rules for C++ compilation now use the variables `$(CXX)' and
+  `$(CXXFLAGS)' instead of `$(C++)' and `$(C++FLAGS)'.  The old names had
+  problems with shells that cannot have `+' in environment variable names.
+
+* The value of a recursively expanded variable is now expanded when putting
+  it into the environment for child processes.  This change was made for
+  compatibility with Unix make.
+
+* A rule with no targets before the `:' is now accepted and ignored.
+  This change was made for compatibility with SunOS 4 make.
+  We do not recommend that you write your makefiles to take advantage of this.
+
+* The `-I' switch can now be used in MAKEFLAGS, and are put there
+  automatically just like other switches.
+\f
+Version 3.61
+
+* Built-in rules for C++ source files with the `.C' suffix.
+  We still recommend that you use `.cc' instead.
+
+* If commands are given too many times for a single target,
+  the last set given is used, and a warning message is printed.
+
+* Error messages about makefiles are in standard GNU error format,
+  so C-x ` in Emacs works on them.
+
+* Dependencies of pattern rules which contain no % need not actually exist
+  if they can be created (just like dependencies which do have a %).
+\f
+Version 3.60
+
+* A message is always printed when Make decides there is nothing to be done.
+  It used to be that no message was printed for top-level phony targets
+  (because "`phony' is up to date" isn't quite right).  Now a different
+  message "Nothing to be done for `phony'" is printed in that case.
+
+* Archives on AIX now supposedly work.
+
+* When the commands specified for .DEFAULT are used to update a target,
+  the $< automatic variable is given the same value as $@ for that target.
+  This is how Unix make behaves, and this behavior is mandated by POSIX.2.
+\f
+Version 3.59
+
+* The -n, -q, and -t options are not put in the `MAKEFLAGS' and `MFLAG'
+  variables while remaking makefiles, so recursive makes done while remaking
+  makefiles will behave properly.
+
+* If the special target `.NOEXPORT' is specified in a makefile,
+  only variables that came from the environment and variables
+  defined on the command line are exported.
+\f
+Version 3.58
+
+* Suffix rules may have dependencies (which are ignored).
+\f
+Version 3.57
+
+* Dependencies of the form `-lLIB' are searched for as /usr/local/lib/libLIB.a
+  as well as libLIB.a in /usr/lib, /lib, the current directory, and VPATH.
+\f
+Version 3.55
+
+* There is now a Unix man page for GNU Make.  It is certainly not a replacement
+for the Texinfo manual, but it documents the basic functionality and the
+switches.  For full documentation, you should still read the Texinfo manual.
+Thanks to Dennis Morse of Stanford University for contributing the initial
+version of this.
+
+* Variables which are defined by default (e.g., `CC') will no longer be put
+into the environment for child processes.  (If these variables are reset by the
+environment, makefiles, or the command line, they will still go into the
+environment.)
+
+* Makefiles which have commands but no dependencies (and thus are always
+  considered out of date and in need of remaking), will not be remade (if they
+  were being remade only because they were makefiles).  This means that GNU
+  Make will no longer go into an infinite loop when fed the makefiles that
+  `imake' (necessary to build X Windows) produces.
+
+* There is no longer a warning for using the `vpath' directive with an explicit
+pathname (instead of a `%' pattern).
+\f
+Version 3.51
+
+* When removing intermediate files, only one `rm' command line is printed,
+listing all file names.
+
+* There are now automatic variables `$(^D)', `$(^F)', `$(?D)', and `$(?F)'.
+These are the directory-only and file-only versions of `$^' and `$?'.
+
+* Library dependencies given as `-lNAME' will use "libNAME.a" in the current
+directory if it exists.
+
+* The automatic variable `$($/)' is no longer defined.
+
+* Leading `+' characters on a command line make that line be executed even
+under -n, -t, or -q (as if the line contained `$(MAKE)').
+
+* For command lines containing `$(MAKE)', `${MAKE}', or leading `+' characters,
+only those lines are executed, not their entire rules.
+(This is how Unix make behaves for lines containing `$(MAKE)' or `${MAKE}'.)
+\f
+Version 3.50
+
+* Filenames in rules will now have ~ and ~USER expanded.
+
+* The `-p' output has been changed so it can be used as a makefile.
+(All information that isn't specified by makefiles is prefaced with comment
+characters.)
+\f
+Version 3.49
+
+* The % character can be quoted with backslash in implicit pattern rules,
+static pattern rules, `vpath' directives, and `patsubst', `filter', and
+`filter-out' functions.  A warning is issued if a `vpath' directive's
+pattern contains no %.
+
+* The `wildcard' variable expansion function now expands ~ and ~USER.
+
+* Messages indicating failed commands now contain the target name:
+       make: *** [target] Error 1
+
+* The `-p' output format has been changed somewhat to look more like
+makefile rules and to give all information that Make has about files.
+\f
+Version 3.48
+\f
+Version 3.47
+
+* The `-l' switch with no argument removes any previous load-average limit.
+
+* When the `-w' switch is in effect, and Make has updated makefiles,
+it will write a `Leaving directory' messagfe before re-executing itself.
+This makes the `directory change tracking' changes to Emacs's compilation
+commands work properly.
+\f
+Version 3.46
+
+* The automatic variable `$*' is now defined for explicit rules,
+as it is in Unix make.
+\f
+Version 3.45
+
+* The `-j' switch is now put in the MAKEFLAGS and MFLAGS variables when
+specified without an argument (indicating infinite jobs).
+The `-l' switch is not always put in the MAKEFLAGS and MFLAGS variables.
+
+* Make no longer checks hashed directories after running commands.
+The behavior implemented in 3.41 caused too much slowdown.
+\f
+Version 3.44
+
+* A dependency is NOT considered newer than its dependent if
+they have the same modification time.  The behavior implemented
+in 3.43 conflicts with RCS.
+\f
+Version 3.43
+
+* Dependency loops are no longer fatal errors.
+
+* A dependency is considered newer than its dependent if
+they have the same modification time.
+\f
+Version 3.42
+
+* The variables F77 and F77FLAGS are now set by default to $(FC) and
+$(FFLAGS).  Makefiles designed for System V make may use these variables in
+explicit rules and expect them to be set.  Unfortunately, there is no way to
+make setting these affect the Fortran implicit rules unless FC and FFLAGS
+are not used (and these are used by BSD make).
+\f
+Version 3.41
+
+* Make now checks to see if its hashed directories are changed by commands.
+Other makes that hash directories (Sun, 4.3 BSD) don't do this.
+\f
+Version 3.39
+
+* The `shell' function no longer captures standard error output.
+\f
+Version 3.32
+
+* A file beginning with a dot can be the default target if it also contains
+a slash (e.g., `../bin/foo').  (Unix make allows this as well.)
+\f
+Version 3.31
+
+* Archive member names are truncated to 15 characters.
+
+* Yet more USG stuff.
+
+* Minimal support for Microport System V (a 16-bit machine and a
+brain-damaged compiler).  This has even lower priority than other USG
+support, so if it gets beyond trivial, I will take it out completely.
+
+* Revamped default implicit rules (not much visible change).
+
+* The -d and -p options can come from the environment.
+\f
+Version 3.30
+
+* Improved support for USG and HPUX (hopefully).
+
+* A variable reference like `$(foo:a=b)', if `a' contains a `%', is
+equivalent to `$(patsubst a,b,$(foo))'.
+
+* Defining .DEFAULT with no deps or commands clears its commands.
+
+* New default implicit rules for .S (cpp, then as), and .sh (copy and make
+executable).  All default implicit rules that use cpp (even indirectly), use
+$(CPPFLAGS).
+\f
+Version 3.29
+
+* Giving the -j option with no arguments gives you infinite jobs.
+\f
+Version 3.28
+
+* New option: "-l LOAD" says not to start any new jobs while others are
+running if the load average is not below LOAD (a floating-point number).
+
+* There is support in place for implementations of remote command execution
+in Make.  See the file remote.c.
+\f
+Version 3.26
+
+* No more than 10 directories will be kept open at once.
+(This number can be changed by redefining MAX_OPEN_DIRECTORIES in dir.c.)
+\f
+Version 3.25
+
+* Archive files will have their modification times recorded before doing
+anything that might change their modification times by updating an archive
+member.
+\f
+Version 3.20
+
+* The `MAKELEVEL' variable is defined for use by makefiles.
+\f
+Version 3.19
+
+* The recursion level indications in error messages are much shorter than
+they were in version 3.14.
+\f
+Version 3.18
+
+* Leading spaces before directives are ignored (as documented).
+
+* Included makefiles can determine the default goal target.
+(System V Make does it this way, so we are being compatible).
+\f
+Version 3.14.
+
+* Variables that are defaults built into Make will not be put in the
+environment for children.  This just saves some environment space and,
+except under -e, will be transparent to sub-makes.
+
+* Error messages from sub-makes will indicate the level of recursion.
+
+* Hopefully some speed-up for large directories due to a change in the
+directory hashing scheme.
+
+* One child will always get a standard input that is usable.
+
+* Default makefiles that don't exist will be remade and read in.
+\f
+Version 3.13.
+
+* Count parentheses inside expansion function calls so you can
+have nested calls: `$(sort $(foreach x,a b,$(x)))'.
+\f
+Version 3.12.
+
+* Several bug fixes, including USG and Sun386i support.
+
+* `shell' function to expand shell commands a la `
+
+* If the `-d' flag is given, version information will be printed.
+
+* The `-c' option has been renamed to `-C' for compatibility with tar.
+
+* The `-p' option no longer inhibits other normal operation.
+
+* Makefiles will be updated and re-read if necessary.
+
+* Can now run several commands at once (parallelism), -j option.
+
+* Error messages will contain the level of Make recursion, if any.
+
+* The `MAKEFLAGS' and `MFLAGS' variables will be scanned for options after
+makefiles are read.
+
+* A double-colon rule with no dependencies will always have its commands run.
+(This is how both the BSD and System V versions of Make do it.)
+\f
+Version 3.05
+
+(Changes from versions 1 through 3.05 were never recorded.  Sorry.)
+\f
+----------------------------------------------------------------------
+Copyright information:
+
+   Permission is granted to anyone to make or distribute verbatim copies
+   of this document as received, in any medium, provided that the
+   copyright notice and this permission notice are preserved, thus
+   giving the recipient permission to redistribute in turn.
+
+   Permission is granted to distribute modified versions of this
+   document, or of portions of it, under the above conditions, provided
+   also that they carry prominent notices stating who last changed them.
diff --git a/src/mkutil/make-3.80/NMakefile b/src/mkutil/make-3.80/NMakefile
new file mode 100644 (file)
index 0000000..aea2784
--- /dev/null
@@ -0,0 +1,250 @@
+# NOTE: If you have no `make' program at all to process this makefile, run\r
+# `build_w32.bat' instead.\r
+#\r
+# Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc.\r
+# This file is part of GNU Make.\r
+#\r
+# GNU Make is free software; you can redistribute it and/or modify\r
+# it under the terms of the GNU General Public License as published by\r
+# the Free Software Foundation; either version 2, or (at your option)\r
+# any later version.\r
+#\r
+# GNU Make is distributed in the hope that it will be useful,\r
+# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+# GNU General Public License for more details.\r
+#\r
+# You should have received a copy of the GNU General Public License\r
+# along with GNU Make; see the file COPYING.  If not, write to\r
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
+# Boston, MA 02111-1307, USA.\r
+\r
+#\r
+#       NMakefile for GNU Make\r
+#\r
+\r
+LINK = link\r
+CC = cl\r
+\r
+OUTDIR=.\r
+MAKEFILE=NMakefile\r
+SUBPROC_MAKEFILE=NMakefile\r
+\r
+CFLAGS_any = /nologo /MT /W3 /GX /Zi /YX /I . /I glob /I w32/include /D WIN32 /D WINDOWS32 /D _CONSOLE /D HAVE_CONFIG_H\r
+CFLAGS_debug = $(CFLAGS_any) /Od /D DEBUG /D _DEBUG /FR.\WinDebug/ /Fp.\WinDebug/make.pch /Fo.\WinDebug/ /Fd.\WinDebug/make.pdb\r
+CFLAGS_release = $(CFLAGS_any) /O2 /D NDEBUG /FR.\WinRel/ /Fp.\WinRel/make.pch /Fo.\WinRel/\r
+\r
+LDFLAGS_debug = w32\subproc\WinDebug\subproc.lib /NOLOGO /SUBSYSTEM:console\\r
+       /INCREMENTAL:no /PDB:WinDebug/make.pdb /MACHINE:I386 \\r
+       /OUT:WinDebug/make.exe /DEBUG\r
+LDFLAGS_release = w32\subproc\WinRel\subproc.lib /NOLOGO /SUBSYSTEM:console\\r
+       /INCREMENTAL:no /MACHINE:I386 /OUT:WinRel/make.exe\r
+\r
+all: config.h subproc Release Debug\r
+\r
+#\r
+# Make sure we build the subproc library first. It has it's own\r
+# makefile. To be portable to Windows 95, we put the instructions\r
+# on how to build the library into a batch file. On NT, we could\r
+# simply have done foo && bar && dog, but this doesn't port.\r
+#\r
+subproc: w32/subproc/WinDebug/subproc.lib w32/subproc/WinRel/subproc.lib\r
+\r
+w32/subproc/WinDebug/subproc.lib w32/subproc/WinRel/subproc.lib: w32/subproc/misc.c w32/subproc/sub_proc.c w32/subproc/w32err.c\r
+       subproc.bat $(SUBPROC_MAKEFILE) $(MAKE)\r
+       if exist WinDebug\make.exe erase WinDebug\make.exe\r
+       if exist WinRel\make.exe erase WinRel\make.exe\r
+\r
+config.h: config.h.W32\r
+       copy $? $@\r
+\r
+Release:\r
+       $(MAKE) /f $(MAKEFILE) LDFLAGS="$(LDFLAGS_release)" CFLAGS="$(CFLAGS_release)" OUTDIR=WinRel WinRel/make.exe\r
+Debug:\r
+       $(MAKE) /f $(MAKEFILE) LDFLAGS="$(LDFLAGS_debug)" CFLAGS="$(CFLAGS_debug)" OUTDIR=WinDebug WinDebug/make.exe\r
+\r
+clean:\r
+       if exist WinDebug\nul rmdir /s /q WinDebug\r
+       if exist WinRel\nul rmdir /s /q WinRel\r
+       if exist w32\subproc\WinDebug\nul rmdir /s /q w32\subproc\WinDebug\r
+       if exist w32\subproc\WinRel\nul rmdir /s /q w32\subproc\WinRel\r
+       if exist config.h erase config.h\r
+       erase *.pdb\r
+\r
+$(OUTDIR):\r
+       if not exist .\$@\nul mkdir .\$@\r
+\r
+LIBS = kernel32.lib user32.lib advapi32.lib\r
+\r
+# Nick has added "hash.obj" to the list below:\r
+OBJS = \\r
+       $(OUTDIR)/ar.obj \\r
+       $(OUTDIR)/arscan.obj \\r
+       $(OUTDIR)/commands.obj \\r
+       $(OUTDIR)/default.obj \\r
+       $(OUTDIR)/dir.obj \\r
+       $(OUTDIR)/expand.obj \\r
+       $(OUTDIR)/file.obj \\r
+       $(OUTDIR)/function.obj \\r
+       $(OUTDIR)/getloadavg.obj \\r
+       $(OUTDIR)/getopt.obj \\r
+       $(OUTDIR)/getopt1.obj \\r
+       $(OUTDIR)/hash.obj \\r
+       $(OUTDIR)/implicit.obj \\r
+       $(OUTDIR)/job.obj \\r
+       $(OUTDIR)/main.obj \\r
+       $(OUTDIR)/misc.obj \\r
+       $(OUTDIR)/read.obj \\r
+       $(OUTDIR)/remake.obj \\r
+       $(OUTDIR)/remote-stub.obj \\r
+       $(OUTDIR)/rule.obj \\r
+       $(OUTDIR)/signame.obj \\r
+       $(OUTDIR)/variable.obj \\r
+       $(OUTDIR)/version.obj \\r
+       $(OUTDIR)/vpath.obj \\r
+       $(OUTDIR)/glob.obj \\r
+       $(OUTDIR)/fnmatch.obj \\r
+       $(OUTDIR)/dirent.obj \\r
+       $(OUTDIR)/pathstuff.obj\r
+\r
+$(OUTDIR)/make.exe: $(OUTDIR) $(OBJS)\r
+       $(LINK) @<<\r
+               $(LDFLAGS) $(LIBS) $(OBJS)\r
+<<\r
+\r
+.c{$(OUTDIR)}.obj:\r
+       $(CC) $(CFLAGS) /c $<\r
+\r
+$(OUTDIR)/glob.obj : glob/glob.c\r
+       $(CC) $(CFLAGS) /c $?\r
+$(OUTDIR)/fnmatch.obj : glob/fnmatch.c\r
+       $(CC) $(CFLAGS) /c $?\r
+$(OUTDIR)/dirent.obj : w32/compat/dirent.c\r
+       $(CC) $(CFLAGS) /c $?\r
+$(OUTDIR)/pathstuff.obj : w32/pathstuff.c\r
+       $(CC) $(CFLAGS) /c $?\r
+\r
+# --------------- DEPENDENCIES\r
+#\r
+# dummy\r
+# dummy\r
+ar.o : \\r
+ ar.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h filedef.h \\r
+ hash.h dep.h\r
+arscan.o : \\r
+ arscan.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h \\r
+\r
+commands.o : \\r
+ commands.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h dep.h \\r
+ filedef.h hash.h variable.h job.h commands.h\r
+default.o : \\r
+ default.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h rule.h \\r
+ dep.h filedef.h hash.h job.h commands.h variable.h\r
+dir.o : \\r
+ dir.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h hash.h \\r
+\r
+expand.o : \\r
+ expand.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h \\r
+ filedef.h hash.h job.h commands.h variable.h \\r
+ rule.h\r
+file.o : \\r
+ file.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h \\r
+ dep.h filedef.h hash.h job.h commands.h \\r
+ variable.h debug.h\r
+function.o : \\r
+ function.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h filedef.h \\r
+ hash.h variable.h dep.h job.h commands.h debug.h\r
+getopt.o : \\r
+ getopt.c config.h \\r
+\r
+getopt1.o : \\r
+ getopt1.c config.h getopt.h \\r
+\r
+hash.o : \\r
+ hash.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h hash.h\r
+implicit.o : \\r
+ implicit.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h rule.h \\r
+ dep.h filedef.h hash.h debug.h\r
+job.o : \\r
+ job.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h \\r
+ job.h debug.h filedef.h hash.h commands.h \\r
+ variable.h \\r
+\r
+loadavg-loadavg.o : \\r
+ loadavg.c config.h \\r
+ make.h \\r
+ getopt.h \\r
+ gettext.h \\r
+\r
+main.o : \\r
+ main.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h dep.h \\r
+ filedef.h hash.h variable.h job.h commands.h rule.h debug.h \\r
+\r
+misc.o : \\r
+ misc.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h dep.h \\r
+ debug.h\r
+read.o : \\r
+ read.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h \\r
+ dep.h filedef.h hash.h \\r
+ job.h commands.h variable.h rule.h debug.h\r
+remake.o : \\r
+ remake.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h filedef.h \\r
+ hash.h job.h commands.h dep.h variable.h debug.h \\r
+\r
+# dummy\r
+remote-stub.o : \\r
+ remote-stub.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h filedef.h \\r
+ hash.h job.h commands.h\r
+rule.o : \\r
+ rule.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h dep.h \\r
+ filedef.h hash.h job.h commands.h variable.h rule.h\r
+signame.o : \\r
+ signame.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h\r
+variable.o : \\r
+ variable.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h dep.h \\r
+ filedef.h hash.h job.h commands.h variable.h rule.h\r
+version.o : \\r
+ version.c config.h\r
+vpath.o : \\r
+ vpath.c make.h config.h \\r
+ getopt.h \\r
+ gettext.h filedef.h \\r
+ hash.h variable.h\r
diff --git a/src/mkutil/make-3.80/NMakefile$ b/src/mkutil/make-3.80/NMakefile$
new file mode 100644 (file)
index 0000000..b21894d
--- /dev/null
@@ -0,0 +1,248 @@
+# NOTE: If you have no `make' program at all to process this makefile, run
+# `build_w32.bat' instead.
+#
+# Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc.
+# This file is part of GNU Make.
+#
+# GNU Make is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Make is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Make; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+#
+#       NMakefile for GNU Make
+#
+
+LINK = link
+CC = cl
+
+OUTDIR=.
+MAKEFILE=NMakefile
+SUBPROC_MAKEFILE=NMakefile
+
+CFLAGS_any = /nologo /MT /W3 /GX /Zi /YX /I . /I glob /I w32/include /D WIN32 /D WINDOWS32 /D _CONSOLE /D HAVE_CONFIG_H
+CFLAGS_debug = $(CFLAGS_any) /Od /D DEBUG /D _DEBUG /FR.\WinDebug/ /Fp.\WinDebug/make.pch /Fo.\WinDebug/ /Fd.\WinDebug/make.pdb
+CFLAGS_release = $(CFLAGS_any) /O2 /D NDEBUG /FR.\WinRel/ /Fp.\WinRel/make.pch /Fo.\WinRel/
+
+LDFLAGS_debug = w32\subproc\WinDebug\subproc.lib /NOLOGO /SUBSYSTEM:console\
+       /INCREMENTAL:no /PDB:WinDebug/make.pdb /MACHINE:I386 \
+       /OUT:WinDebug/make.exe /DEBUG
+LDFLAGS_release = w32\subproc\WinRel\subproc.lib /NOLOGO /SUBSYSTEM:console\
+       /INCREMENTAL:no /MACHINE:I386 /OUT:WinRel/make.exe
+
+all: config.h subproc Release Debug
+
+#
+# Make sure we build the subproc library first. It has it's own
+# makefile. To be portable to Windows 95, we put the instructions
+# on how to build the library into a batch file. On NT, we could
+# simply have done foo && bar && dog, but this doesn't port.
+#
+subproc: w32/subproc/WinDebug/subproc.lib w32/subproc/WinRel/subproc.lib
+
+w32/subproc/WinDebug/subproc.lib w32/subproc/WinRel/subproc.lib: w32/subproc/misc.c w32/subproc/sub_proc.c w32/subproc/w32err.c
+       subproc.bat $(SUBPROC_MAKEFILE) $(MAKE)
+       if exist WinDebug\make.exe erase WinDebug\make.exe
+       if exist WinRel\make.exe erase WinRel\make.exe
+
+config.h: config.h.W32
+       copy $? $@
+
+Release:
+       $(MAKE) /f $(MAKEFILE) LDFLAGS="$(LDFLAGS_release)" CFLAGS="$(CFLAGS_release)" OUTDIR=WinRel WinRel/make.exe
+Debug:
+       $(MAKE) /f $(MAKEFILE) LDFLAGS="$(LDFLAGS_debug)" CFLAGS="$(CFLAGS_debug)" OUTDIR=WinDebug WinDebug/make.exe
+
+clean:
+       if exist WinDebug\nul rmdir /s /q WinDebug
+       if exist WinRel\nul rmdir /s /q WinRel
+       if exist w32\subproc\WinDebug\nul rmdir /s /q w32\subproc\WinDebug
+       if exist w32\subproc\WinRel\nul rmdir /s /q w32\subproc\WinRel
+       if exist config.h erase config.h
+       erase *.pdb
+
+$(OUTDIR):
+       if not exist .\$@\nul mkdir .\$@
+
+LIBS = kernel32.lib user32.lib advapi32.lib
+
+OBJS = \
+       $(OUTDIR)/ar.obj \
+       $(OUTDIR)/arscan.obj \
+       $(OUTDIR)/commands.obj \
+       $(OUTDIR)/default.obj \
+       $(OUTDIR)/dir.obj \
+       $(OUTDIR)/expand.obj \
+       $(OUTDIR)/file.obj \
+       $(OUTDIR)/function.obj \
+       $(OUTDIR)/getloadavg.obj \
+       $(OUTDIR)/getopt.obj \
+       $(OUTDIR)/getopt1.obj \
+       $(OUTDIR)/implicit.obj \
+       $(OUTDIR)/job.obj \
+       $(OUTDIR)/main.obj \
+       $(OUTDIR)/misc.obj \
+       $(OUTDIR)/read.obj \
+       $(OUTDIR)/remake.obj \
+       $(OUTDIR)/remote-stub.obj \
+       $(OUTDIR)/rule.obj \
+       $(OUTDIR)/signame.obj \
+       $(OUTDIR)/variable.obj \
+       $(OUTDIR)/version.obj \
+       $(OUTDIR)/vpath.obj \
+       $(OUTDIR)/glob.obj \
+       $(OUTDIR)/fnmatch.obj \
+       $(OUTDIR)/dirent.obj \
+       $(OUTDIR)/pathstuff.obj
+
+$(OUTDIR)/make.exe: $(OUTDIR) $(OBJS)
+       $(LINK) @<<
+               $(LDFLAGS) $(LIBS) $(OBJS)
+<<
+
+.c{$(OUTDIR)}.obj:
+       $(CC) $(CFLAGS) /c $<
+
+$(OUTDIR)/glob.obj : glob/glob.c
+       $(CC) $(CFLAGS) /c $?
+$(OUTDIR)/fnmatch.obj : glob/fnmatch.c
+       $(CC) $(CFLAGS) /c $?
+$(OUTDIR)/dirent.obj : w32/compat/dirent.c
+       $(CC) $(CFLAGS) /c $?
+$(OUTDIR)/pathstuff.obj : w32/pathstuff.c
+       $(CC) $(CFLAGS) /c $?
+
+# --------------- DEPENDENCIES
+#
+# dummy
+# dummy
+ar.o : \
+ ar.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h dep.h
+arscan.o : \
+ arscan.c make.h config.h \
+ getopt.h \
+ gettext.h \
+
+commands.o : \
+ commands.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h variable.h job.h commands.h
+default.o : \
+ default.c make.h config.h \
+ getopt.h \
+ gettext.h rule.h \
+ dep.h filedef.h hash.h job.h commands.h variable.h
+dir.o : \
+ dir.c make.h config.h \
+ getopt.h \
+ gettext.h hash.h \
+
+expand.o : \
+ expand.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ filedef.h hash.h job.h commands.h variable.h \
+ rule.h
+file.o : \
+ file.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ dep.h filedef.h hash.h job.h commands.h \
+ variable.h debug.h
+function.o : \
+ function.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h variable.h dep.h job.h commands.h debug.h
+getopt.o : \
+ getopt.c config.h \
+
+getopt1.o : \
+ getopt1.c config.h getopt.h \
+
+hash.o : \
+ hash.c make.h config.h \
+ getopt.h \
+ gettext.h hash.h
+implicit.o : \
+ implicit.c make.h config.h \
+ getopt.h \
+ gettext.h rule.h \
+ dep.h filedef.h hash.h debug.h
+job.o : \
+ job.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ job.h debug.h filedef.h hash.h commands.h \
+ variable.h \
+
+loadavg-loadavg.o : \
+ loadavg.c config.h \
+ make.h \
+ getopt.h \
+ gettext.h \
+
+main.o : \
+ main.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h variable.h job.h commands.h rule.h debug.h \
+
+misc.o : \
+ misc.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ debug.h
+read.o : \
+ read.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ dep.h filedef.h hash.h \
+ job.h commands.h variable.h rule.h debug.h
+remake.o : \
+ remake.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h job.h commands.h dep.h variable.h debug.h \
+
+# dummy
+remote-stub.o : \
+ remote-stub.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h job.h commands.h
+rule.o : \
+ rule.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h job.h commands.h variable.h rule.h
+signame.o : \
+ signame.c make.h config.h \
+ getopt.h \
+ gettext.h
+variable.o : \
+ variable.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h job.h commands.h variable.h rule.h
+version.o : \
+ version.c config.h
+vpath.o : \
+ vpath.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h variable.h
diff --git a/src/mkutil/make-3.80/README b/src/mkutil/make-3.80/README
new file mode 100644 (file)
index 0000000..2de333b
--- /dev/null
@@ -0,0 +1,164 @@
+This directory contains the 3.80 release of GNU Make.
+
+See the file NEWS for the user-visible changes from previous releases.
+In addition, there have been bugs fixed.
+
+Please check the system-specific notes below for any caveats related to
+your operating system.
+
+For general building and installation instructions, see the file INSTALL.
+
+If you need to build GNU Make and have no other `make' program to use,
+you can use the shell script `build.sh' instead.  To do this, first run
+`configure' as described in INSTALL.  Then, instead of typing `make' to
+build the program, type `sh build.sh'.  This should compile the program
+in the current directory.  Then you will have a Make program that you can
+use for `./make install', or whatever else.
+
+Some systems' Make programs are broken and cannot process the Makefile for
+GNU Make.  If you get errors from your system's Make when building GNU
+Make, try using `build.sh' instead.
+
+
+GNU Make is free software.  See the file COPYING for copying conditions.
+
+
+Downloading
+-----------
+
+GNU Make can be obtained in many different ways.  See a description here:
+
+  http://www.gnu.org/software/software.html
+
+
+Documentation
+-------------
+
+GNU make is fully documented in the GNU Make manual, which is contained
+in this distribution as the file make.texinfo.  You can also find
+on-line and preformatted (PostScript and DVI) versions at the FSF's web
+site.  There is information there about ordering hardcopy documentation.
+
+  http://www.gnu.org/
+  http://www.gnu.org/doc/doc.html
+  http://www.gnu.org/manual/manual.html
+
+
+Development
+-----------
+
+GNU Make development is hosted by Savannah, the FSF's online development
+management tool.  Savannah is here:
+
+  http://savannah.gnu.org
+
+And the GNU Make development page is here:
+
+  http://savannah.gnu.org/projects/make/
+
+You can find most information concerning the development of GNU Make at
+this site.
+
+
+Bug Reporting
+-------------
+
+You can send GNU make bug reports to <bug-make@gnu.org>.  Please see the
+section of the GNU make manual entitled `Problems and Bugs' for
+information on submitting useful and complete bug reports.
+
+You can also use the online bug tracking system in the Savannah GNU Make
+project to submit new problem reports or search for existing ones:
+
+  http://savannah.gnu.org/bugs/?group_id=71
+
+If you need help using GNU make, try these forums:
+
+  help-make@gnu.org
+  help-utils@gnu.org
+  news:gnu.utils.help
+  news:gnu.utils.bug
+
+  http://savannah.gnu.org/support/?group_id=71
+
+You may also find interesting patches to GNU Make available here:
+
+  http://savannah.gnu.org/patch/?group_id=71
+
+Note these patches are provided by our users as a service and we make no
+statements regarding their correctness.  Please contact the authors
+directly if you have a problem or suggestion for a patch available on
+this page.
+
+
+CVS Access
+----------
+
+The GNU make source repository is available via anonymous CVS from the
+GNU Subversions CVS server; look here for details:
+
+  http://savannah.gnu.org/cvs/?group_id=71
+
+Please note: you won't be able to build GNU make from CVS without
+installing appropriate maintainer's tools, such as GNU m4, automake,
+autoconf, Perl, GNU make, and GCC.  See the README.cvs file for hints on
+how to build GNU make once these tools are available.  We make no
+guarantees about the contents or quality of the latest code in the CVS
+repository: it is not unheard of for code that is known to be broken to
+be checked in.  Use at your own risk.
+
+
+System-specific Notes
+---------------------
+
+It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such
+that if you compile make with `cc -O' on AIX 3.2, it will not work correctly.
+It is said that using `cc' without `-O' does work.
+
+One area that is often a problem in configuration and porting is the code
+to check the system's current load average.  To make it easier to test and
+debug this code, you can do `make check-loadavg' to see if it works
+properly on your system.  (You must run `configure' beforehand, but you
+need not build Make itself to run this test.)
+
+Another potential source of porting problems is the support for large
+files (LFS) in configure for those operating systems that provide it.
+Please report any bugs that you find in this area.  If you run into
+difficulties, then as a workaround you should be able to disable LFS by
+adding the `--disable-largefile' option to the `configure' script.
+
+On systems that support micro- and nano-second timestamp values and
+where stat(2) provides this information, GNU make will use it when
+comparing timestamps to get the most accurate possible result.  However,
+note that many current implementations of tools that *set* timestamps do
+not preserve micro- or nano-second granularity.  This means that "cp -p"
+and other similar tools (tar, etc.) may not exactly duplicate timestamps
+with micro- and nano-second granularity on some systems.  If your build
+system contains rules that depend on proper behavior of tools like "cp
+-p", you should consider using the .LOW_RESOLUTION_TIME pseudo-target to
+force make to treat them properly.  See the manual for details.
+
+
+Ports
+-----
+
+  - See README.customs for details on integrating GNU make with the
+    Customs distributed build environment from the Pmake distribution.
+
+  - See readme.vms for details about GNU Make on OpenVMS.
+
+  - See README.Amiga for details about GNU Make on AmigaDOS.
+
+  - See README.W32 for details about GNU Make on Windows NT, 95, or 98.
+
+  - See README.DOS for compilation instructions on MS-DOS and MS-Windows
+    using DJGPP tools.
+
+    A precompiled binary of the MSDOS port of GNU Make is available as part
+    of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more
+    information.
+
+Please note there are two _separate_ ports of GNU make for Microsoft
+systems: a native Windows tool built with (for example) MSVC or Cygwin,
+and a DOS-based tool built with DJGPP.  Please be sure you are looking
+at the right README!
diff --git a/src/mkutil/make-3.80/README.Amiga b/src/mkutil/make-3.80/README.Amiga
new file mode 100644 (file)
index 0000000..6f08dd8
--- /dev/null
@@ -0,0 +1,61 @@
+Short: Port of GNU make with SAS/C (no ixemul.library required)
+Author: GNU, Amiga port by Aaron "Optimizer" Digulla
+Uploader: Aaron "Optimizer" Digulla (digulla@fh-konstanz.de)
+Type: dev/c
+
+This is a pure Amiga port of GNU make. It needs no extra libraries or
+anything. It has the following features (in addition to any features of
+GNU make):
+
+- Runs Amiga-Commands with SystemTags() (Execute)
+- Can run multi-line statements
+- Allows to use Device-Names in targets:
+
+       c:make : make.o
+
+    is ok. To distinguish between device-names and target : or ::, MAKE
+    looks for spaces. If there are any around :, it's taken as a target
+    delimiter, if there are none, it's taken as the name of a device. Note
+    that "make:make.o" tries to create "make.o" on the device "make:".
+- Replaces @@ by a newline in any command line:
+
+       if exists make @@\
+           delete make.bak quiet @@\
+           rename make make.bak @@\
+       endif @@\
+       $(CC) Link Make.o To make
+
+    works. Note that the @@ must stand alone (ie. "make@@\" is illegal).
+    Also be carefull that there is a space after the "\" (ie, at the
+    beginning of the next line).
+- Can be made resident to save space and time
+- Amiga specific wildcards can be used in $(wildcard ...)
+
+BUGS:
+- The line
+
+    dummy.h : src/*.c
+
+tries to make dummy.h from "src/*.c" (ie. no wildcard-expansion takes
+place). You have to use "$(wildcard src/*.c)" instead.
+
+COMPILING FROM SCRATCH
+----------------------
+
+To recompile, you need SAS/C 6.51. make itself is not neccessary, there
+is an smakefile.
+
+1. Copy config.ami to config.h
+2. If you use make to compie, copy Makefile.ami to Makefile and
+    glob/Makefile.ami to glob/Makefile. Copy make into the current
+    directory.
+
+3. Run smake/make
+
+INSTALLATION
+
+Copy make somewhere in your search path (eg. sc:c or sc:bin).
+If you plan to use recursive makes, install make resident:
+
+    Resident make Add
+
diff --git a/src/mkutil/make-3.80/README.DOS b/src/mkutil/make-3.80/README.DOS
new file mode 100644 (file)
index 0000000..b41eced
--- /dev/null
@@ -0,0 +1,323 @@
+Port of GNU Make to 32-bit protected mode on MSDOS and MS-Windows.
+
+Builds with DJGPP v2 port of GNU C/C++ compiler and utilities.
+
+
+New (since 3.74) DOS-specific features:
+
+   1. Supports long filenames when run from DOS box on Windows 9x.
+
+   2. Supports both stock DOS COMMAND.COM and Unix-style shells
+      (details in ``Notes'' below).
+
+   3. Supports DOS drive letters in dependencies and pattern rules.
+
+   4. Better support for DOS-style backslashes in pathnames (but see
+      ``Notes'' below).
+
+   5. The $(shell) built-in can run arbitrary complex commands,
+      including pipes and redirection, even when COMMAND.COM is your
+      shell.
+
+   6. Can be built without floating-point code (see below).
+
+   7. Supports signals in child programs and restores the original
+      directory if the child was interrupted.
+
+   8. Can be built without (a previous version of) Make.
+
+   9. The build process requires only standard tools.  (Optional
+      targets like "install:" and "clean:" still need additional
+      programs, though, see below.)
+
+  10. Beginning with v3.78, the test suite works in the DJGPP
+      environment (requires Perl and auxiliary tools; see below).
+
+
+To install a binary distribution:
+
+   Simply unzip the makNNNb.zip file (where NNN is the version number)
+   preserving the directory structure (-d switch if you use PKUNZIP).
+   If you are installing Make on Windows 9X or Windows 2000, use an
+   unzip program that supports long filenames in zip files.  After
+   unzipping, make sure the directory with make.exe is on your PATH,
+   and that's all you need to use Make.
+
+
+To build from sources:
+
+   1. Unzip the archive, preserving the directory structure (-d switch
+      if you use PKUNZIP).  If you build Make on Windows 9X or Windows
+      2000, use an unzip program that supports long filenames in zip
+      files.
+
+      If you are unpacking an official GNU source distribution, use
+      either DJTAR (which is part of the DJGPP development
+      environment), or the DJGPP port of GNU Tar.
+
+   2. Invoke the `configure.bat' batch file.
+
+      If you are building Make in-place, i.e. in the same directory
+      where its sources are kept, just type "configure.bat" and press
+      [Enter].  Otherwise, you need to supply the path to the source
+      directory as an argument to the batch file, like this:
+
+       c:\djgpp\gnu\make-3.80\configure.bat c:/djgpp/gnu/make-3.80
+
+      Note the forward slashes in the source path argument: you MUST
+      use them here.
+
+   3. If configure.bat doesn't find a working Make, it will suggest to
+      use the `dosbuild.bat' batch file to build Make.  Either do as it
+      suggests or install another Make program (a pre-compiled binary
+      should be available from the usual DJGPP sites) and rerun
+      configure.bat.
+
+   4. If you will need to run Make on machines without an FPU, you
+      might consider building a version of Make which doesn't issue
+      floating-point instructions (they don't help much on MSDOS
+      anyway).  To this end, edit the Makefile created by
+      configure.bat and add -DNO_FLOAT to the value of CPPFLAGS.
+
+   5. Invoke Make.
+
+      If you are building from outside of the source directory, you
+      need to tell Make where the sources are, like this:
+
+               make srcdir=c:/djgpp/gnu/make-3.80
+
+      (configure.bat will tell you this when it finishes).  You MUST
+      use a full, not relative, name of the source directory here, or
+      else Make might fail.
+
+   6. After Make finishes, if you have a Unix-style shell installed,
+      you can use the `install' target to install the package.  You
+      will also need GNU Fileutils and GNU Sed for this (they should
+      be available from the DJGPP sites).
+
+      By default, GNU make will install into your DJGPP installation
+      area.  If you wish to use a different directory, override the
+      DESTDIR variable when invoking "make install", like this:
+
+               make install DESTDIR=c:/other/dir
+
+      This causes the make executable to be placed in c:/other/dir/bin,
+      the man pages in c:/other/dir/man, etc.
+
+      Without a Unix-style shell, you will have to install programs
+      and the docs manually.  Copy make.exe to a directory on your
+      PATH, make.i* info files to your Info directory, and update the
+      file `dir' in your Info directory by adding the following item
+      to the main menu:
+
+       * Make: (make.info).           The GNU make utility.
+
+      If you have the `install-info' program (from the GNU Texinfo
+      package), it will do that for you if you invoke it like this:
+
+       install-info --info-dir=c:/djgpp/info c:/djgpp/info/make.info
+
+      (If your Info directory is other than C:\DJGPP\INFO, change this
+      command accordingly.)
+
+   7. The `clean' targets also require Unix-style shell, and GNU Sed
+      and `rm' programs (the latter from Fileutils).
+
+   8. To run the test suite, type "make check".  This requires a Unix
+      shell (I used the DJGPP port of Bash 2.03), Perl, Sed, Fileutils
+      and Sh-utils.
+
+
+Notes:
+-----
+
+   1. The shell issue.
+
+      This is probably the most significant improvement, first
+      introduced in the port of GNU Make 3.75.
+
+      The original behavior of GNU Make is to invoke commands
+      directly, as long as they don't include characters special to
+      the shell or internal shell commands, because that is faster.
+      When shell features like redirection or filename wildcards are
+      involved, Make calls the shell.
+
+      This port supports both DOS shells (the stock COMMAND.COM and its
+      4DOS/NDOS replacements), and Unix-style shells (tested with the
+      venerable Stewartson's `ms_sh' 2.3 and the DJGPP port of `bash' by
+      Daisuke Aoyama <jack@st.rim.or.jp>).
+
+      When the $SHELL variable points to a Unix-style shell, Make
+      works just like you'd expect on Unix, calling the shell for any
+      command that involves characters special to the shell or
+      internal shell commands.  The only difference is that, since
+      there is no standard way to pass command lines longer than the
+      infamous DOS 126-character limit, this port of Make writes the
+      command line to a temporary disk file and then invokes the shell
+      on that file.
+
+      If $SHELL points to a DOS-style shell, however, Make will not
+      call it automatically, as it does with Unix shells.  Stock
+      COMMAND.COM is too dumb and would unnecessarily limit the
+      functionality of Make.  For example, you would not be able to
+      use long command lines in commands that use redirection or
+      pipes.  Therefore, when presented with a DOS shell, this port of
+      Make will emulate most of the shell functionality, like
+      redirection and pipes, and shall only call the shell when a
+      batch file or a command internal to the shell is invoked.  (Even
+      when a command is an internal shell command, Make will first
+      search the $PATH for it, so that if a Makefile calls `mkdir',
+      you can install, say, a port of GNU `mkdir' and have it called
+      in that case.)
+
+      The key to all this is the extended functionality of `spawn' and
+      `system' functions from the DJGPP library; this port just calls
+      `system' where it would invoke the shell on Unix.  The most
+      important aspect of these functions is that they use a special
+      mechanism to pass long (up to 16KB) command lines to DJGPP
+      programs.  In addition, `system' emulates some internal
+      commands, like `cd' (so that you can now use forward slashes
+      with it, and can also change the drive if the directory is on
+      another drive).  Another aspect worth mentioning is that you can
+      call Unix shell scripts directly, provided that the shell whose
+      name is mentioned on the first line of the script is installed
+      anywhere along the $PATH.  It is impossible to tell here
+      everything about these functions; refer to the DJGPP library
+      reference for more details.
+
+      The $(shell) built-in is implemented in this port by calling
+      `popen'.  Since `popen' calls `system', the above considerations
+      are valid for $(shell) as well.  In particular, you can put
+      arbitrary complex commands, including pipes and redirection,
+      inside $(shell), which is in many cases a valid substitute for
+      the Unix-style command substitution (`command`) feature.
+
+
+   2. "SHELL=/bin/sh" -- or is it?
+
+      Many Unix Makefiles include a line which sets the SHELL, for
+      those versions of Make which don't have this as the default.
+      Since many DOS systems don't have `sh' installed (in fact, most
+      of them don't even have a `/bin' directory), this port takes
+      such directives with a grain of salt.  It will only honor such a
+      directive if the basename of the shell name (like `sh' in the
+      above example) can indeed be found in the directory that is
+      mentioned in the SHELL= line (`/bin' in the above example), or
+      in the current working directory, or anywhere on the $PATH (in
+      that order).  If the basename doesn't include a filename
+      extension, Make will look for any known extension that indicates
+      an executable file (.exe, .com, .bat, .btm, .sh, and even .sed
+      and .pl).  If any such file is found, then $SHELL will be
+      defined to the exact pathname of that file, and that shell will
+      hence be used for the rest of processing.  But if the named
+      shell is *not* found, the line which sets it will be effectively
+      ignored, leaving the value of $SHELL as it was before.  Since a
+      lot of decisions that this port makes depend on the gender of
+      the shell, I feel it doesn't make any sense to tailor Make's
+      behavior to a shell which is nowhere to be found.
+
+      Note that the above special handling of "SHELL=" only happens
+      for Makefiles; if you set $SHELL in the environment or on the
+      Make command line, you are expected to give the complete
+      pathname of the shell, including the filename extension.
+
+      The default value of $SHELL is computed as on Unix (see the Make
+      manual for details), except that if $SHELL is not defined in the
+      environment, $COMSPEC is used.  Also, if an environment variable
+      named $MAKESHELL is defined, it takes precedence over both
+      $COMSPEC and $SHELL.  Note that, unlike Unix, $SHELL in the
+      environment *is* used to set the shell (since on MSDOS, it's
+      unlikely that the interactive shell will not be suitable for
+      Makefile processing).
+
+      The bottom line is that you can now write Makefiles where some
+      of the targets require a real (i.e. Unix-like) shell, which will
+      nevertheless work when such shell is not available (provided, of
+      course, that the commands which should always work, don't
+      require such a shell).  More important, you can convert Unix
+      Makefiles to MSDOS and leave the line which sets the shell
+      intact, so that people who do have Unixy shell could use it for
+      targets which aren't converted to DOS (like `install' and
+      `uninstall', for example).
+
+
+   3. Default directories.
+
+      GNU Make knows about standard directories where it searches for
+      library and include files mentioned in the Makefile.  Since
+      MSDOS machines don't have standard places for these, this port
+      will search ${DJDIR}/lib and ${DJDIR}/include respectively.
+      $DJDIR is defined automatically by the DJGPP startup code as the
+      root of the DJGPP installation tree (unless you've tampered with
+      the DJGPP.ENV file).  This should provide reasonable default
+      values, unless you moved parts of DJGPP to other directories.
+
+
+   4. Letter-case in filenames.
+
+      If you run Make on Windows 9x, you should be aware of the
+      letter-case issue.  Make is internally case-sensitive, but all
+      file operations are case-insensitive on Windows 9x, so
+      e.g. files `FAQ', `faq' and `Faq' all refer to the same file, as
+      far as Windows is concerned.  The underlying DJGPP C library
+      functions honor the letter-case of the filenames they get from
+      the OS, except that by default, they down-case 8+3 DOS filenames
+      which are stored in upper case in the directory and would break
+      many Makefiles otherwise.  (The details of which filenames are
+      converted to lower case are explained in the DJGPP libc docs,
+      under the `_preserve_fncase' and `_lfn_gen_short_fname'
+      functions, but as a thumb rule, any filename that is stored in
+      upper case in the directory, is a valid DOS 8+3 filename and
+      doesn't include characters invalid on MSDOS FAT filesystems,
+      will be automatically down-cased.)  User reports that I have
+      indicate that this default behavior is generally what you'd
+      expect; however, your input is most welcome.
+
+      In any case, if you hit a situation where you must force Make to
+      get the 8+3 DOS filenames in upper case, set FNCASE=y in the
+      environment or in the Makefile.
+
+
+   5. DOS-style pathnames.
+
+      There are a lot of places throughout the program sources which
+      make implicit assumptions about the pathname syntax.  In
+      particular, the directories are assumed to be separated by `/',
+      and any pathname which doesn't begin with a `/' is assumed to be
+      relative to the current directory.  This port attempts to
+      support DOS-style pathnames which might include the drive letter
+      and use backslashes instead of forward slashes.  However, this
+      support is not complete; I feel that pursuing this support too
+      far might break some more important features, particularly if
+      you use a Unix-style shell (where a backslash is a quote
+      character).  I only consider support of backslashes desirable
+      because some Makefiles invoke non-DJGPP programs which don't
+      understand forward slashes.  A notable example of such programs
+      is the standard programs which come with MSDOS.  Otherwise, you
+      are advised to stay away from backslashes whenever possible.  In
+      particular, filename globbing won't work on pathnames with
+      backslashes, because the GNU `glob' library doesn't support them
+      (backslash is special in filename wildcards, and I didn't want
+      to break that).
+
+      One feature which *does* work with backslashes is the filename-
+      related built-in functions such as $(dir), $(notdir), etc.
+      Drive letters in pathnames are also fully supported.
+
+
+
+Bug reports:
+-----------
+
+   Bugs that are clearly related to the MSDOS/DJGPP port should be
+   reported first on the comp.os.msdos.djgpp news group (if you cannot
+   post to Usenet groups, write to the DJGPP mailing list,
+   <djgpp@delorie.com>, which is an email gateway into the above news
+   group).  For other bugs, please follow the procedure explained in
+   the "Bugs" chapter of the Info docs.  If you don't have an Info
+   reader, look up that chapter in the `make.i1' file with any text
+   browser/editor.
+
+
+   Enjoy,
+                       Eli Zaretskii <eliz@is.elta.co.il>
diff --git a/src/mkutil/make-3.80/README.W32 b/src/mkutil/make-3.80/README.W32
new file mode 100644 (file)
index 0000000..e605c0b
--- /dev/null
@@ -0,0 +1,241 @@
+Port of GNU make to Windows NT and Windows 95
+Builds natively with MSVC 2.x or MSVC 4.x compilers.
+Should also build fine with MSVC 5.x and 6.x (though not confirmed).
+
+This Windows 32-bit port of GNU make is maintained primarily by Rob
+Tulloh, who is also the author of this README.
+
+To build with nmake on Windows NT, Windows 95, or Windows 98:
+
+       1. Make sure cl.exe is in your %Path%. Example:
+
+               set Path=%Path%;c:/msdev/bin
+
+       2. Make sure %include% is set to msvc include directory. Example:
+
+               set include=c:/msdev/include
+
+       3. Make sure %lib% is set to msvc lib directory. Example:
+
+               set lib=c:/msdev/lib
+
+       4. nmake /f NMakefile
+
+
+    A short cut to steps 1, 2, and 3 is to run VCVARS32.bat before
+    invoking namke. For example:
+
+        c:
+        cd \msdev\bin
+        VCVARS32.bat
+       cd \path\to\make-3.80
+       nmake /f NMakefile
+
+There is a bat file (build_w32.bat) for folks who have fear of nmake.
+
+Outputs:
+
+       WinDebug/make.exe
+       WinRel/make.exe
+
+
+-- Notes/Caveats --
+
+GNU make on Windows 32-bit platforms:
+
+       This version of make is ported natively to Windows32 platforms
+       (Windows NT 3.51, Windows NT 4.0, Windows 95, and Windows 98). It
+       does not rely on any 3rd party software or add-on packages for
+       building. The only thing needed is a version of Visual C++,
+       which is the predominant compiler used on Windows32 platforms.
+
+       Do not confuse this port of GNU make with other Windows32 projects
+       which provide a GNU make binary. These are separate projects
+       and are not connected to this port effort.
+
+GNU make and sh.exe:
+
+       This port prefers you have a working sh.exe somewhere on your
+       system. If you don't have sh.exe, the port falls back to
+       MSDOS mode for launching programs (via a batch file).
+       The MSDOS mode style execution has not been tested that
+       carefully though (The author uses GNU bash as sh.exe).
+
+       There are very few true ports of Bourne shell for NT right now.
+       There is a version of GNU bash available from Cygnus "Cygwin"
+       porting effort (http://sourceware.cygnus.com/cygwin).
+       Other possibilities are the MKS version of sh.exe, or building
+        your own with a package like NutCracker (DataFocus) or Portage
+        (Consensys).
+
+GNU make and brain-dead shells (BATCH_MODE_ONLY_SHELL):
+
+       Some versions of Bourne shell does not behave well when invoked
+       as 'sh -c' from CreateProcess().  The main problem is they seem
+       to have a hard time handling quoted strings correctly. This can
+       be circumvented by writing commands to be executed to a batch
+       file and then executing the command by calling 'sh file'.
+
+       To work around this difficulty, this version of make supports
+       a batch mode.  When BATCH_MODE_ONLY_SHELL is defined at compile
+       time, make forces all command lines to be executed via script
+       files instead of by command line.
+
+       A native Windows32 system with no Bourne shell will also run
+       in batch mode.  All command lines will be put into batch files
+       and executed via $(COMSPEC) (%COMSPEC%).
+
+GNU make and Cygnus GNU Windows32 tools:
+
+       Good news! Make now has native support for Cygwin sh. To enable,
+       define the HAVE_CYGWIN_SHELL in config.h and rebuild make
+       from scratch. This version of make tested with B20.1 of Cygwin.
+       Do not define BATCH_MODE_ONLY_SHELL if you use HAVE_CYGWIN_SHELL.
+
+GNU make and the MKS shell:
+
+       There is now semi-official support for the MKS shell. To turn this
+       support on, define HAVE_MKS_SHELL in the config.h.W32 before you
+       build make.  Do not define BATCH_MODE_ONLY_SHELL if you turn
+       on HAVE_MKS_SHELL.
+
+GNU make handling of drive letters in pathnames (PATH, vpath, VPATH):
+
+       There is a caveat that should be noted with respect to handling
+       single character pathnames on Windows systems.  When colon is
+       used in PATH variables, make tries to be smart about knowing when
+       you are using colon as a separator versus colon as a drive
+       letter.  Unfortunately, something as simple as the string 'x:/'
+       could be interpreted 2 ways: (x and /) or (x:/).
+
+       Make chooses to interpret a letter plus colon (e.g. x:/) as a
+       drive letter pathname.  If it is necessary to use single
+       character directories in paths (VPATH, vpath, Path, PATH), the
+       user must do one of two things:
+
+        a. Use semicolon as the separator to disambiguate colon. For
+           example use 'x;/' if you want to say 'x' and '/' are
+           separate components.
+
+        b. Qualify the directory name so that there is more than
+           one character in the path(s) used. For example, none
+           of these settings are ambiguous:
+
+             ./x:./y
+             /some/path/x:/some/path/y
+             x:/some/path/x:x:/some/path/y
+
+       Please note that you are free to mix colon and semi-colon in the
+       specification of paths.  Make is able to figure out the intended
+       result and convert the paths internally to the format needed
+       when interacting with the operating system.
+
+       You are encouraged to use colon as the separator character.
+       This should ease the pain of deciding how to handle various path
+       problems which exist between platforms.  If colon is used on
+       both Unix and Windows systems, then no ifdef'ing will be
+       necessary in the makefile source.
+
+GNU make test suite:
+
+       I verified all functionality with a slightly modified version
+       of make-test-3.80 (modifications to get test suite to run
+       on Windows NT). All tests pass in an environment that includes
+       sh.exe.  Tests were performed on both Windows NT and Windows 95.
+
+Building GNU make on Windows NT and Windows 95/98 with Microsoft Visual C:
+
+       I did not provide a Visual C project file with this port as
+       the project file would not be considered freely distributable
+       (or so I think). It is easy enough to create one, though, if
+       you know how to use Visual C.
+
+       I build the program statically to avoid problems locating DLL's
+       on machines that may not have MSVC runtime installed. If you
+       prefer, you can change make to build with shared libraries by
+       changing /MT to /MD in the NMakefile (or in build_w32.bat).
+
+       The program has not been built for non-Intel architectures (yet).
+
+       I have not tried to build with any other compilers than MSVC. I
+       have heard that this is possible though so don't be afraid to
+       notify me of your successes!
+
+Pathnames and white space:
+
+       Unlike Unix, Windows 95/NT systems encourage pathnames which
+       contain white space (e.g. C:\Program Files\). These sorts of pathnames
+       are legal under Unix too, but are never encouraged. There is
+       at least one place in make (VPATH/vpath handling) where paths
+       containing white space will simply not work. There may be others
+       too. I chose to not try and port make in such a way so that
+       these sorts of paths could be handled. I offer these suggestions
+       as workarounds:
+
+               1. Use 8.3 notation
+               2. Rename the directory so it does not contain white space.
+
+       If you are unhappy with this choice, this is free software
+       and you are free to take a crack at making this work. The code
+       in w32/pathstuff.c and vpath.c would be the places to start.
+
+Pathnames and Case insensitivity:
+
+       Unlike Unix, Windows 95/NT systems are case insensitive but case
+       preserving.  For example if you tell the file system to create a
+       file named "Target", it will preserve the case.  Subsequent access to
+       the file with other case permutations will succeed (i.e. opening a
+       file named "target" or "TARGET" will open the file "Target").
+
+       By default, GNU make retains its case sensitivity when comparing
+       target names and existing files or directories.  It can be
+       configured, however, into a case preserving and case insensitive
+       mode by adding a define for HAVE_CASE_INSENSITIVE_FS to
+       config.h.W32.
+
+       For example, the following makefile will create a file named
+       Target in the directory subdir which will subsequently be used
+       to satisfy the dependency of SUBDIR/DepTarget on SubDir/TARGET.
+       Without HAVE_CASE_INSENSITIVE_FS configured, the dependency link
+       will not be made:
+
+       subdir/Target:
+               touch $@
+
+       SUBDIR/DepTarget: SubDir/TARGET
+               cp $^ $@
+
+       Reliance on this behavior also eliminates the ability of GNU make
+       to use case in comparison of matching rules.  For example, it is
+       not possible to set up a C++ rule using %.C that is different
+       than a C rule using %.c.  GNU make will consider these to be the
+       same rule and will issue a warning.
+
+SAMBA/NTFS/VFAT:
+
+       I have not had any success building the debug version of this
+       package using SAMBA as my file server. The reason seems to be
+       related to the way VC++ 4.0 changes the case name of the pdb
+       filename it is passed on the command line. It seems to change
+       the name always to to lower case. I contend that
+       the VC++ compiler should not change the casename of files that
+       are passed as arguments on the command line. I don't think this
+       was a problem in MSVC 2.x, but I know it is a problem in MSVC 4.x.
+
+       The package builds fine on VFAT and NTFS filesystems.
+
+       Most all of the development I have done to date has been using
+       NTFS and long file names. I have not done any considerable work
+       under VFAT. VFAT users may wish to be aware that this port
+       of make does respect case sensitivity.
+
+FAT:
+
+       Version 3.76 added support for FAT filesystems. Make
+       works around some difficulties with stat'ing of
+       files and caching of filenames and directories internally.
+
+Bug reports:
+
+       Please submit bugs via the normal bug reporting mechanism which
+       is described in the GNU make manual and the base README.
diff --git a/src/mkutil/make-3.80/README.customs b/src/mkutil/make-3.80/README.customs
new file mode 100644 (file)
index 0000000..1976943
--- /dev/null
@@ -0,0 +1,95 @@
+                                                            -*-indented-text-*-
+
+GNU make can utilize the Customs library, distributed with Pmake, to
+provide builds distributed across multiple hosts.
+
+In order to utilize this capability, you must first download and build
+the Customs library.  It is contained in the Pmake distribution, which
+can be obtained at:
+
+  ftp://ftp.icsi.berkeley.edu/pub/ai/stolcke/software/
+
+This integration was tested (superficially) with Pmake 2.1.33.
+
+
+BUILDING CUSTOMS
+----------------
+
+First, build pmake and Customs.  You need to build pmake first, because
+Customs require pmake to build.  Unfortunately, this is not trivial;
+please see the pmake and Customs documentation for details.  The best
+place to look for instructions is in the pmake-2.1.33/INSTALL file.
+
+Note that the 2.1.33 Pmake distribution comes with a set of patches to
+GNU make, distributed in the pmake-2.1.33/etc/gnumake/ directory.  These
+patches are based on GNU make 3.75 (there are patches for earlier
+versions of GNU make, also).  The parts of this patchfile which relate
+directly to Customs support have already been incorporated into this
+version of GNU make, so you should _NOT_ apply the patch file.
+
+However, there are a few non-Customs specific (as far as I could tell)
+changes here which are not incorporated (for example, the modification
+to try expanding -lfoo to libfoo.so).  If you rely on these changes
+you'll need to re-apply them by hand.
+
+Install the Customs library and header files according to the
+documentation.  You should also install the man pages (contrary to
+comments in the documentation, they weren't installed automatically for
+me; I had to cd to the ``pmake-2.1.33/doc'' directory and run ``pmake
+install'' there directly).
+
+
+BUILDING GNU MAKE
+-----------------
+
+Once you've installed Customs, you can build GNU make to use it.  When
+configuring GNU make, merely use the ``--with-customs=DIR'' option.
+Provide the directory containing the ``lib'' and ``include/customs''
+subdirectories as DIR.  For example, if you installed the customs
+library in /usr/local/lib and the headers in /usr/local/include/customs,
+then you'd pass ``--with-customs=/usr/local'' as an option to configure.
+
+Run make (or use build.sh) normally to build GNU make as described in
+the INSTALL file.
+
+See the documentation for Customs for information on starting and
+configuring Customs.
+
+
+INVOKING CUSTOMS-IZED GNU MAKE
+-----------------------------
+
+One thing you should be aware of is that the default build environment
+for Customs requires root permissions.  Practically, this means that GNU
+make must be installed setuid root to use Customs.
+
+If you don't want to do this, you can build Customs such that root
+permissions are not necessary.  Andreas Stolcke <stolcke@speech.sri.com>
+writes:
+
+ > pmake, gnumake or any other customs client program is not required to
+ > be suid root if customs was compiled WITHOUT the USE_RESERVED_PORTS
+ > option in customs/config.h.  Make sure the "customs" service in
+ > /etc/services is defined accordingly (port 8231 instead of 1001).
+
+ > Not using USE_RESERVED_PORTS means that a user with programming
+ > skills could impersonate another user by writing a fake customs
+ > client that pretends to be someone other than himself.  See the
+ > discussion in etc/SECURITY.
+
+
+PROBLEMS
+--------
+
+SunOS 4.1.x:
+  The customs/sprite.h header file #includes the <malloc.h> header
+  files; this conflicts with GNU make's configuration so you'll get a
+  compile error if you use GCC (or any other ANSI-capable C compiler).
+
+  I commented out the #include in sprite.h:107:
+
+    #if defined(sun) || defined(ultrix) || defined(hpux) || defined(sgi)
+    /* #include <malloc.h> */
+    #else
+
+  YMMV.
diff --git a/src/mkutil/make-3.80/SCOPTIONS b/src/mkutil/make-3.80/SCOPTIONS
new file mode 100644 (file)
index 0000000..f89daae
--- /dev/null
@@ -0,0 +1,13 @@
+ERRORREXX
+OPTIMIZE
+NOVERSION
+OPTIMIZERTIME
+OPTIMIZERALIAS
+DEFINE INCLUDEDIR="include:"
+DEFINE LIBDIR="lib:"
+DEFINE NO_ALLOCA
+DEFINE NO_FLOAT
+DEFINE NO_ARCHIVES
+IGNORE=161
+IGNORE=100
+STARTUP=cres
diff --git a/src/mkutil/make-3.80/SMakefile b/src/mkutil/make-3.80/SMakefile
new file mode 100644 (file)
index 0000000..ea4c503
--- /dev/null
@@ -0,0 +1,338 @@
+# NOTE: If you have no `make' program at all to process this makefile, run
+# `build.sh' instead.
+#
+# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
+# This file is part of GNU Make.
+#
+# GNU Make is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Make is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Make; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+#
+#      Makefile for GNU Make
+#
+
+# Ultrix 2.2 make doesn't expand the value of VPATH.
+VPATH = /make-3.80/
+# This must repeat the value, because configure will remove `VPATH = .'.
+srcdir = /make-3.80/
+
+CC = sc
+RM = delete
+MAKE = smake
+
+CFLAGS =
+CPPFLAGS =
+LDFLAGS =
+
+# Define these for your system as follows:
+#      -DNO_ARCHIVES           To disable `ar' archive support.
+#      -DNO_FLOAT              To avoid using floating-point numbers.
+#      -DENUM_BITFIELDS        If the compiler isn't GCC but groks enum foo:2.
+#                              Some compilers apparently accept this
+#                              without complaint but produce losing code,
+#                              so beware.
+# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
+# See also `config.h'.
+defines =
+
+# Which flavor of remote job execution support to use.
+# The code is found in `remote-$(REMOTE).c'.
+REMOTE = stub
+
+# If you are using the GNU C library, or have the GNU getopt functions in
+# your C library, you can comment these out.
+GETOPT = getopt.o getopt1.o
+GETOPT_SRC = $(srcdir)getopt.c $(srcdir)getopt1.c $(srcdir)getopt.h
+
+# If you are using the GNU C library, or have the GNU glob functions in
+# your C library, you can comment this out.  GNU make uses special hooks
+# into the glob functions to be more efficient (by using make's directory
+# cache for globbing), so you must use the GNU functions even if your
+# system's C library has the 1003.2 glob functions already.  Also, the glob
+# functions in the AIX and HPUX C libraries are said to be buggy.
+GLOB = Lib glob/glob.lib
+
+# If your system doesn't have alloca, or the one provided is bad, define this.
+ALLOCA = alloca.o
+ALLOCA_SRC = $(srcdir)alloca.c
+
+# If your system needs extra libraries loaded in, define them here.
+# System V probably need -lPW for alloca.  HP-UX 7.0's alloca in
+# libPW.a is broken on HP9000s300 and HP9000s400 machines.  Use
+# alloca.c instead on those machines.
+LOADLIBES =
+
+# Any extra object files your system needs.
+extras = amiga.o
+
+# Common prefix for machine-independent installed files.
+prefix =
+# Common prefix for machine-dependent installed files.
+exec_prefix =
+
+# Directory to install `make' in.
+bindir = sc:c
+# Directory to find libraries in for `-lXXX'.
+libdir = lib:
+# Directory to search by default for included makefiles.
+includedir = include:
+# Directory to install the Info files in.
+infodir = doc:
+# Directory to install the man page in.
+mandir = t:
+# Number to put on the man page filename.
+manext = 1
+# Prefix to put on installed `make' binary file name.
+binprefix =
+# Prefix to put on installed `make' man page file name.
+manprefix = $(binprefix)
+
+# Whether or not make needs to be installed setgid.
+# The value should be either `true' or `false'.
+# On many systems, the getloadavg function (used to implement the `-l'
+# switch) will not work unless make is installed setgid kmem.
+install_setgid = false
+# Install make setgid to this group so it can read /dev/kmem.
+group = sys
+
+# Program to install `make'.
+INSTALL_PROGRAM = copy
+# Program to install the man page.
+INSTALL_DATA = copy
+# Generic install program.
+INSTALL = copy
+
+# Program to format Texinfo source into Info files.
+MAKEINFO = makeinfo
+# Program to format Texinfo source into DVI files.
+TEXI2DVI = texi2dvi
+
+# Programs to make tags files.
+ETAGS = etags -w
+CTAGS = ctags -w
+
+objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o     \
+       rule.o implicit.o default.o variable.o expand.o function.o      \
+       vpath.o version.o ar.o arscan.o signame.o remote-$(REMOTE).o     \
+       $(GLOB) $(GETOPT) $(ALLOCA) $(extras)
+srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c             \
+       $(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c         \
+       $(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c             \
+       $(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c        \
+       $(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c     \
+       $(srcdir)vpath.c $(srcdir)version.c                            \
+       $(srcdir)remote-$(REMOTE).c                                     \
+       $(srcdir)ar.c $(srcdir)arscan.c                                \
+       $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC)            \
+       $(srcdir)commands.h $(srcdir)dep.h $(srcdir)file.h            \
+       $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h                \
+       $(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in
+
+
+.SUFFIXES:
+.SUFFIXES: .o .c .h .ps .dvi .info .texinfo
+
+all: make
+info: make.info
+dvi: make.dvi
+# Some makes apparently use .PHONY as the default goal if it is before `all'.
+.PHONY: all check info dvi
+
+make.info: make.texinfo
+       $(MAKEINFO) -I$(srcdir) $(srcdir)make.texinfo -o make.info
+
+make.dvi: make.texinfo
+       $(TEXI2DVI) $(srcdir)make.texinfo
+
+make.ps: make.dvi
+       dvi2ps make.dvi > make.ps
+
+make: $(objs) glob/glob.lib
+       $(CC) Link $(LDFLAGS) $(objs) $(LOADLIBES) To make.new
+       -delete quiet make
+       rename make.new make
+
+# -I. is needed to find config.h in the build directory.
+.c.o:
+       $(CC) $(defines) IDir "" IDir $(srcdir)glob \
+             $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION)
+
+glob/glob.lib:
+       execute <<
+           cd glob
+           smake
+<
+
+tagsrcs = $(srcs) $(srcdir)remote-*.c
+TAGS: $(tagsrcs)
+       $(ETAGS) $(tagsrcs)
+tags: $(tagsrcs)
+       $(CTAGS) $(tagsrcs)
+
+.PHONY: install installdirs
+install:
+       copy make sc:c
+
+loadavg: loadavg.c config.h
+       $(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \
+             loadavg.c $(LOADLIBES) -o $@
+
+clean: glob-clean
+       -$(RM) -f make loadavg *.o core make.dvi
+
+distclean: clean glob-realclean
+       -$(RM) -f Makefile config.h config.status build.sh
+       -$(RM) -f config.log config.cache
+       -$(RM) -f TAGS tags
+       -$(RM) -f make.?? make.??s make.log make.toc make.*aux
+       -$(RM) -f loadavg.c
+
+realclean: distclean
+       -$(RM) -f make.info*
+
+mostlyclean: clean
+
+.PHONY: glob-clean glob-realclean
+
+glob-clean glob-realclean:
+       execute <<
+       cd glob
+       smake $@
+<
+
+# --------------- DEPENDENCIES
+#
+# dummy
+# dummy
+ar.o : \
+ ar.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h dep.h
+arscan.o : \
+ arscan.c make.h config.h \
+ getopt.h \
+ gettext.h \
+
+commands.o : \
+ commands.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h variable.h job.h commands.h
+default.o : \
+ default.c make.h config.h \
+ getopt.h \
+ gettext.h rule.h \
+ dep.h filedef.h hash.h job.h commands.h variable.h
+dir.o : \
+ dir.c make.h config.h \
+ getopt.h \
+ gettext.h hash.h \
+
+expand.o : \
+ expand.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ filedef.h hash.h job.h commands.h variable.h \
+ rule.h
+file.o : \
+ file.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ dep.h filedef.h hash.h job.h commands.h \
+ variable.h debug.h
+function.o : \
+ function.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h variable.h dep.h job.h commands.h debug.h
+getopt.o : \
+ getopt.c config.h \
+
+getopt1.o : \
+ getopt1.c config.h getopt.h \
+
+hash.o : \
+ hash.c make.h config.h \
+ getopt.h \
+ gettext.h hash.h
+implicit.o : \
+ implicit.c make.h config.h \
+ getopt.h \
+ gettext.h rule.h \
+ dep.h filedef.h hash.h debug.h
+job.o : \
+ job.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ job.h debug.h filedef.h hash.h commands.h \
+ variable.h \
+
+loadavg-loadavg.o : \
+ loadavg.c config.h \
+ make.h \
+ getopt.h \
+ gettext.h \
+
+main.o : \
+ main.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h variable.h job.h commands.h rule.h debug.h \
+
+misc.o : \
+ misc.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ debug.h
+read.o : \
+ read.c make.h config.h \
+ getopt.h \
+ gettext.h \
+ dep.h filedef.h hash.h \
+ job.h commands.h variable.h rule.h debug.h
+remake.o : \
+ remake.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h job.h commands.h dep.h variable.h debug.h \
+
+# dummy
+remote-stub.o : \
+ remote-stub.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h job.h commands.h
+rule.o : \
+ rule.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h job.h commands.h variable.h rule.h
+signame.o : \
+ signame.c make.h config.h \
+ getopt.h \
+ gettext.h
+variable.o : \
+ variable.c make.h config.h \
+ getopt.h \
+ gettext.h dep.h \
+ filedef.h hash.h job.h commands.h variable.h rule.h
+version.o : \
+ version.c config.h
+vpath.o : \
+ vpath.c make.h config.h \
+ getopt.h \
+ gettext.h filedef.h \
+ hash.h variable.h
diff --git a/src/mkutil/make-3.80/acinclude.m4 b/src/mkutil/make-3.80/acinclude.m4
new file mode 100644 (file)
index 0000000..cd2b903
--- /dev/null
@@ -0,0 +1,164 @@
+dnl acinclude.m4 -- Extra macros needed for GNU make.
+dnl
+dnl Automake will incorporate this into its generated aclocal.m4.
+
+dnl ---------------------------------------------------------------------------
+dnl Got this from the lynx 2.8 distribution.
+dnl by T.E.Dickey <dickey@clark.net>
+dnl and Jim Spath <jspath@mail.bcpl.lib.md.us>
+dnl and Philippe De Muyter <phdm@macqel.be>
+dnl
+dnl Created: 1997/1/28
+dnl Updated: 1997/12/23
+dnl ---------------------------------------------------------------------------
+dnl After checking for functions in the default $LIBS, make a further check
+dnl for the functions that are netlib-related (these aren't always in the
+dnl libc, etc., and have to be handled specially because there are conflicting
+dnl and broken implementations.
+dnl Common library requirements (in order):
+dnl    -lresolv -lsocket -lnsl
+dnl    -lnsl -lsocket
+dnl    -lsocket
+dnl    -lbsd
+AC_DEFUN([CF_NETLIBS],[
+cf_test_netlibs=no
+AC_MSG_CHECKING(for network libraries)
+AC_CACHE_VAL(cf_cv_netlibs,[
+AC_MSG_RESULT(working...)
+cf_cv_netlibs=""
+cf_test_netlibs=yes
+AC_CHECK_FUNCS(gethostname,,[
+       CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[
+               CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])])
+#
+# FIXME:  sequent needs this library (i.e., -lsocket -linet -lnsl), but
+# I don't know the entrypoints - 97/7/22 TD
+AC_CHECK_LIB(inet,main,cf_cv_netlibs="-linet $cf_cv_netlibs")
+#
+if test "$ac_cv_func_lsocket" != no ; then
+AC_CHECK_FUNCS(socket,,[
+       CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[
+               CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])])
+fi
+#
+AC_CHECK_FUNCS(gethostbyname,,[
+       CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)])
+#
+AC_CHECK_FUNCS(strcasecmp,,[
+       CF_RECHECK_FUNC(strcasecmp,resolv,cf_cv_netlibs)])
+])
+LIBS="$LIBS $cf_cv_netlibs"
+test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Re-check on a function to see if we can pick it up by adding a library.
+dnl    $1 = function to check
+dnl    $2 = library to check in
+dnl    $3 = environment to update (e.g., $LIBS)
+dnl    $4 = what to do if this fails
+dnl
+dnl This uses 'unset' if the shell happens to support it, but leaves the
+dnl configuration variable set to 'unknown' if not.  This is a little better
+dnl than the normal autoconf test, which gives misleading results if a test
+dnl for the function is made (e.g., with AC_CHECK_FUNC) after this macro is
+dnl used (autoconf does not distinguish between a null token and one that is
+dnl set to 'no').
+AC_DEFUN([CF_RECHECK_FUNC],[
+AC_CHECK_LIB($2,$1,[
+       CF_UPPER(cf_tr_func,$1)
+       AC_DEFINE_UNQUOTED(HAVE_$cf_tr_func,1,[Define if you have function $1])
+       ac_cv_func_$1=yes
+       $3="-l$2 [$]$3"],[
+       ac_cv_func_$1=unknown
+       unset ac_cv_func_$1 2>/dev/null
+       $4],
+       [[$]$3])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Make an uppercase version of a variable
+dnl $1=uppercase($2)
+AC_DEFUN([CF_UPPER],
+[
+changequote(,)dnl
+$1=`echo $2 | tr '[a-z]' '[A-Z]'`
+changequote([,])dnl
+])dnl
+
+
+dnl ---------------------------------------------------------------------------
+dnl From Paul Eggert <eggert@twinsun.com>
+
+AC_DEFUN(AC_STRUCT_ST_MTIM_NSEC,
+ [AC_CACHE_CHECK([for nanoseconds field of struct stat.st_mtim],
+   ac_cv_struct_st_mtim_nsec,
+   [ac_save_CPPFLAGS="$CPPFLAGS"
+    ac_cv_struct_st_mtim_nsec=no
+    # tv_nsec -- the usual case
+    # _tv_nsec -- Solaris 2.6, if
+    #  (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
+    #   && !defined __EXTENSIONS__)
+    # st__tim.tv_nsec -- UnixWare 2.1.2
+    for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
+      CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
+      AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
+        [ac_cv_struct_st_mtim_nsec=$ac_val; break])
+    done
+    CPPFLAGS="$ac_save_CPPFLAGS"])
+
+  if test $ac_cv_struct_st_mtim_nsec != no; then
+    AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec, [Define if 'struct stat' contains a nanoseconds field])
+  fi
+ ]
+)
+
+
+dnl ---------------------------------------------------------------------------
+dnl This will be in the next version of autoconf; take this out then!
+
+# make_FUNC_SETVBUF_REVERSED
+# ------------------------
+AC_DEFUN([make_FUNC_SETVBUF_REVERSED],
+[AC_REQUIRE([AC_C_PROTOTYPES])dnl
+AC_CACHE_CHECK(whether setvbuf arguments are reversed,
+  ac_cv_func_setvbuf_reversed,
+  [ac_cv_func_setvbuf_reversed=no
+   AC_LINK_IFELSE(
+     [AC_LANG_PROGRAM(
+       [[#include <stdio.h>
+#        if PROTOTYPES
+          int (setvbuf) (FILE *, int, char *, size_t);
+#        endif]],
+       [[char buf; return setvbuf (stdout, _IOLBF, &buf, 1);]])],
+     [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdio.h>
+#           if PROTOTYPES
+             int (setvbuf) (FILE *, int, char *, size_t);
+#           endif]],
+          [[char buf; return setvbuf (stdout, &buf, _IOLBF, 1);]])],
+       [# It compiles and links either way, so it must not be declared
+        # with a prototype and most likely this is a K&R C compiler.
+        # Try running it.
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+             [[#include <stdio.h>]],
+             [[/* This call has the arguments reversed.
+                  A reversed system may check and see that the address of buf
+                  is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
+               char buf;
+               if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
+                 exit (1);
+               putchar ('\r');
+               exit (0); /* Non-reversed systems SEGV here.  */]])],
+          ac_cv_func_setvbuf_reversed=yes,
+          rm -f core core.* *.core,
+          [[: # Assume setvbuf is not reversed when cross-compiling.]])]
+       ac_cv_func_setvbuf_reversed=yes)])])
+if test $ac_cv_func_setvbuf_reversed = yes; then
+  AC_DEFINE(SETVBUF_REVERSED, 1,
+            [Define to 1 if the `setvbuf' function takes the buffering type as
+             its second argument and the buffer pointer as the third, as on
+             System V before release 3.])
+fi
+])# make_FUNC_SETVBUF_REVERSED
diff --git a/src/mkutil/make-3.80/aclocal.m4 b/src/mkutil/make-3.80/aclocal.m4
new file mode 100644 (file)
index 0000000..45c431a
--- /dev/null
@@ -0,0 +1,3053 @@
+# generated automatically by aclocal 1.7 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+dnl acinclude.m4 -- Extra macros needed for GNU make.
+dnl
+dnl Automake will incorporate this into its generated aclocal.m4.
+
+dnl ---------------------------------------------------------------------------
+dnl Got this from the lynx 2.8 distribution.
+dnl by T.E.Dickey <dickey@clark.net>
+dnl and Jim Spath <jspath@mail.bcpl.lib.md.us>
+dnl and Philippe De Muyter <phdm@macqel.be>
+dnl
+dnl Created: 1997/1/28
+dnl Updated: 1997/12/23
+dnl ---------------------------------------------------------------------------
+dnl After checking for functions in the default $LIBS, make a further check
+dnl for the functions that are netlib-related (these aren't always in the
+dnl libc, etc., and have to be handled specially because there are conflicting
+dnl and broken implementations.
+dnl Common library requirements (in order):
+dnl    -lresolv -lsocket -lnsl
+dnl    -lnsl -lsocket
+dnl    -lsocket
+dnl    -lbsd
+AC_DEFUN([CF_NETLIBS],[
+cf_test_netlibs=no
+AC_MSG_CHECKING(for network libraries)
+AC_CACHE_VAL(cf_cv_netlibs,[
+AC_MSG_RESULT(working...)
+cf_cv_netlibs=""
+cf_test_netlibs=yes
+AC_CHECK_FUNCS(gethostname,,[
+       CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[
+               CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])])
+#
+# FIXME:  sequent needs this library (i.e., -lsocket -linet -lnsl), but
+# I don't know the entrypoints - 97/7/22 TD
+AC_CHECK_LIB(inet,main,cf_cv_netlibs="-linet $cf_cv_netlibs")
+#
+if test "$ac_cv_func_lsocket" != no ; then
+AC_CHECK_FUNCS(socket,,[
+       CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[
+               CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])])
+fi
+#
+AC_CHECK_FUNCS(gethostbyname,,[
+       CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)])
+#
+AC_CHECK_FUNCS(strcasecmp,,[
+       CF_RECHECK_FUNC(strcasecmp,resolv,cf_cv_netlibs)])
+])
+LIBS="$LIBS $cf_cv_netlibs"
+test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Re-check on a function to see if we can pick it up by adding a library.
+dnl    $1 = function to check
+dnl    $2 = library to check in
+dnl    $3 = environment to update (e.g., $LIBS)
+dnl    $4 = what to do if this fails
+dnl
+dnl This uses 'unset' if the shell happens to support it, but leaves the
+dnl configuration variable set to 'unknown' if not.  This is a little better
+dnl than the normal autoconf test, which gives misleading results if a test
+dnl for the function is made (e.g., with AC_CHECK_FUNC) after this macro is
+dnl used (autoconf does not distinguish between a null token and one that is
+dnl set to 'no').
+AC_DEFUN([CF_RECHECK_FUNC],[
+AC_CHECK_LIB($2,$1,[
+       CF_UPPER(cf_tr_func,$1)
+       AC_DEFINE_UNQUOTED(HAVE_$cf_tr_func,1,[Define if you have function $1])
+       ac_cv_func_$1=yes
+       $3="-l$2 [$]$3"],[
+       ac_cv_func_$1=unknown
+       unset ac_cv_func_$1 2>/dev/null
+       $4],
+       [[$]$3])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Make an uppercase version of a variable
+dnl $1=uppercase($2)
+AC_DEFUN([CF_UPPER],
+[
+changequote(,)dnl
+$1=`echo $2 | tr '[a-z]' '[A-Z]'`
+changequote([,])dnl
+])dnl
+
+
+dnl ---------------------------------------------------------------------------
+dnl From Paul Eggert <eggert@twinsun.com>
+
+AC_DEFUN(AC_STRUCT_ST_MTIM_NSEC,
+ [AC_CACHE_CHECK([for nanoseconds field of struct stat.st_mtim],
+   ac_cv_struct_st_mtim_nsec,
+   [ac_save_CPPFLAGS="$CPPFLAGS"
+    ac_cv_struct_st_mtim_nsec=no
+    # tv_nsec -- the usual case
+    # _tv_nsec -- Solaris 2.6, if
+    #  (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
+    #   && !defined __EXTENSIONS__)
+    # st__tim.tv_nsec -- UnixWare 2.1.2
+    for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
+      CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
+      AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
+        [ac_cv_struct_st_mtim_nsec=$ac_val; break])
+    done
+    CPPFLAGS="$ac_save_CPPFLAGS"])
+
+  if test $ac_cv_struct_st_mtim_nsec != no; then
+    AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec, [Define if 'struct stat' contains a nanoseconds field])
+  fi
+ ]
+)
+
+
+dnl ---------------------------------------------------------------------------
+dnl This will be in the next version of autoconf; take this out then!
+
+# make_FUNC_SETVBUF_REVERSED
+# ------------------------
+AC_DEFUN([make_FUNC_SETVBUF_REVERSED],
+[AC_REQUIRE([AC_C_PROTOTYPES])dnl
+AC_CACHE_CHECK(whether setvbuf arguments are reversed,
+  ac_cv_func_setvbuf_reversed,
+  [ac_cv_func_setvbuf_reversed=no
+   AC_LINK_IFELSE(
+     [AC_LANG_PROGRAM(
+       [[#include <stdio.h>
+#        if PROTOTYPES
+          int (setvbuf) (FILE *, int, char *, size_t);
+#        endif]],
+       [[char buf; return setvbuf (stdout, _IOLBF, &buf, 1);]])],
+     [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdio.h>
+#           if PROTOTYPES
+             int (setvbuf) (FILE *, int, char *, size_t);
+#           endif]],
+          [[char buf; return setvbuf (stdout, &buf, _IOLBF, 1);]])],
+       [# It compiles and links either way, so it must not be declared
+        # with a prototype and most likely this is a K&R C compiler.
+        # Try running it.
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+             [[#include <stdio.h>]],
+             [[/* This call has the arguments reversed.
+                  A reversed system may check and see that the address of buf
+                  is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
+               char buf;
+               if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
+                 exit (1);
+               putchar ('\r');
+               exit (0); /* Non-reversed systems SEGV here.  */]])],
+          ac_cv_func_setvbuf_reversed=yes,
+          rm -f core core.* *.core,
+          [[: # Assume setvbuf is not reversed when cross-compiling.]])]
+       ac_cv_func_setvbuf_reversed=yes)])])
+if test $ac_cv_func_setvbuf_reversed = yes; then
+  AC_DEFINE(SETVBUF_REVERSED, 1,
+            [Define to 1 if the `setvbuf' function takes the buffering type as
+             its second argument and the buffer pointer as the third, as on
+             System V before release 3.])
+fi
+])# make_FUNC_SETVBUF_REVERSED
+
+# Do all the work for Automake.                            -*- Autoconf -*-
+
+# This macro actually does too much some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+AC_PREREQ([2.54])
+
+# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
+# the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
+ AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG(AMTAR, tar)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[_am_stamp_count=`expr ${_am_stamp_count-0} + 1`
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright 2002  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+        [AM_AUTOMAKE_VERSION([1.7])])
+
+# Helper functions for option handling.                    -*- Autoconf -*-
+
+# Copyright 2001, 2002  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+#  -*- Autoconf -*-
+
+
+# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# AM_AUX_DIR_EXPAND
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+# Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_AUX_DIR_EXPAND], [
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# AM_PROG_INSTALL_STRIP
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# serial 4                                             -*- Autoconf -*-
+
+# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    echo '#include "conftest.h"' > conftest.c
+    echo 'int i;' > conftest.h
+    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=conftest.c object=conftest.o \
+       depfile=conftest.Po tmpdepfile=conftest.TPo \
+       $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
+       grep conftest.h conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      am_cv_$1_dependencies_compiler_type=$depmode
+      break
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[rm -f .deps 2>/dev/null
+mkdir .deps 2>/dev/null
+if test -d .deps; then
+  DEPDIR=.deps
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  DEPDIR=_deps
+fi
+rmdir .deps 2>/dev/null
+AC_SUBST([DEPDIR])
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking Speeds up one-time builds
+  --enable-dependency-tracking  Do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking.   -*- Autoconf -*-
+
+# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+#serial 2
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
+  # Extract the definition of DEP_FILES from the Makefile without
+  # running `make'.
+  DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n -e '/^U = / s///p' < "$mf"`
+  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+  # We invoke sed twice because it is the simplest approach to
+  # changing $(DEPDIR) to its actual value in the expansion.
+  for file in `sed -n -e '
+    /^DEP_FILES = .*\\\\$/ {
+      s/^DEP_FILES = //
+      :loop
+       s/\\\\$//
+       p
+       n
+       /\\\\$/ b loop
+      p
+    }
+    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Check to see how 'make' treats includes.     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+doit:
+       @echo done
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST(am__include)
+AC_SUBST(am__quote)
+AC_MSG_RESULT($_am_result)
+rm -f confinc confmf
+])
+
+# AM_CONDITIONAL                                              -*- Autoconf -*-
+
+# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 5
+
+AC_PREREQ(2.52)
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+        [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.])
+fi])])
+
+# isc-posix.m4 serial 2 (gettext-0.11.2)
+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+# This file is not needed with autoconf-2.53 and newer.  Remove it in 2005.
+
+# This test replaces the one in autoconf.
+# Currently this macro should have the same name as the autoconf macro
+# because gettext's gettext.m4 (distributed in the automake package)
+# still uses it.  Otherwise, the use in gettext.m4 makes autoheader
+# give these diagnostics:
+#   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
+#   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
+
+undefine([AC_ISC_POSIX])
+
+AC_DEFUN([AC_ISC_POSIX],
+  [
+    dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
+    AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
+  ]
+)
+
+# gettext.m4 serial 17 (gettext-0.11.5)
+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2002.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl    default (if it is not specified or empty) is 'no-libtool'.
+dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl    depending on --{enable,disable}-{shared,static} and on the presence of
+dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl    $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl    implementations (in libc or libintl) without the ngettext() function
+dnl    will be ignored.  If NEEDSYMBOL is specified and is
+dnl    'need-formatstring-macros', then GNU gettext implementations that don't
+dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries.  If empty,
+dnl    the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl    and used.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl    Catalog format: none
+dnl    Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+  dnl Argument checking.
+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+  define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
+  define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
+
+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
+  ifelse(gt_included_intl, yes, [
+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
+  ])
+
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Sometimes libintl requires libiconv, so first search for libiconv.
+  dnl Ideally we would do this search only after the
+  dnl      if test "$USE_NLS" = "yes"; then
+  dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+  dnl the configure script would need to contain the same shell code
+  dnl again, outside any 'if'. There are two solutions:
+  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+  dnl documented, we avoid it.
+  ifelse(gt_included_intl, yes, , [
+    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+  ])
+
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT($USE_NLS)
+  AC_SUBST(USE_NLS)
+
+  ifelse(gt_included_intl, yes, [
+    BUILD_INCLUDED_LIBINTL=no
+    USE_INCLUDED_LIBINTL=no
+  ])
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+  dnl If we use NLS figure out what method
+  if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+    ifelse(gt_included_intl, yes, [
+      AC_MSG_CHECKING([whether included gettext is requested])
+      AC_ARG_WITH(included-gettext,
+        [  --with-included-gettext use the GNU gettext library included here],
+        nls_cv_force_use_gnu_gettext=$withval,
+        nls_cv_force_use_gnu_gettext=no)
+      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+    ])
+        dnl User does not insist on using GNU NLS library.  Figure out what
+        dnl to use.  If GNU gettext is available we use this.  Else we have
+        dnl to fall back to GNU NLS library.
+
+        dnl Add a version number to the cache macros.
+        define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
+        define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
+        define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
+
+        AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
+         [AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
+            [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
+            gt_cv_func_gnugettext_libc=yes,
+            gt_cv_func_gnugettext_libc=no)])
+
+        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+          dnl Sometimes libintl requires libiconv, so first search for libiconv.
+          ifelse(gt_included_intl, yes, , [
+            AM_ICONV_LINK
+          ])
+          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+          dnl even if libiconv doesn't exist.
+          AC_LIB_LINKFLAGS_BODY([intl])
+          AC_CACHE_CHECK([for GNU gettext in libintl],
+            gt_cv_func_gnugettext_libintl,
+           [gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+            dnl Now see whether libintl exists and does not depend on libiconv.
+            AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();],
+              [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
+              gt_cv_func_gnugettext_libintl=yes,
+              gt_cv_func_gnugettext_libintl=no)
+            dnl Now see whether libintl exists and depends on libiconv.
+            if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();],
+                [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
+               [LIBINTL="$LIBINTL $LIBICONV"
+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                gt_cv_func_gnugettext_libintl=yes
+               ])
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"])
+        fi
+
+        dnl If an already present or preinstalled GNU gettext() is found,
+        dnl use it.  But if this macro is used in GNU gettext, and GNU
+        dnl gettext is already preinstalled in libintl, we update this
+        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
+        if test "$gt_cv_func_gnugettext_libc" = "yes" \
+           || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+                && test "$PACKAGE" != gettext; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+          dnl Reset the values set by searching for libintl.
+          LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+    ifelse(gt_included_intl, yes, [
+        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+          dnl GNU gettext is not found in the C library.
+          dnl Fall back on included GNU gettext library.
+          nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        INTLOBJS="\$(GETTOBJS)"
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
+        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+      fi
+
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions to use GNU gettext tools.
+        CATOBJEXT=.gmo
+      fi
+    ])
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+      AC_DEFINE(ENABLE_NLS, 1,
+        [Define to 1 if translation of program messages to the user's native language
+   is requested.])
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+        AC_MSG_CHECKING([how to link with libintl])
+        AC_MSG_RESULT([$LIBINTL])
+        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+      fi
+
+      dnl For backward compatibility. Some packages may be using this.
+      AC_DEFINE(HAVE_GETTEXT, 1,
+       [Define if the GNU gettext() function is already present or preinstalled.])
+      AC_DEFINE(HAVE_DCGETTEXT, 1,
+       [Define if the GNU dcgettext() function is already present or preinstalled.])
+    fi
+
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
+
+  ifelse(gt_included_intl, yes, [
+    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+    dnl to 'yes' because some of the testsuite requires it.
+    if test "$PACKAGE" = gettext; then
+      BUILD_INCLUDED_LIBINTL=yes
+    fi
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST(BUILD_INCLUDED_LIBINTL)
+    AC_SUBST(USE_INCLUDED_LIBINTL)
+    AC_SUBST(CATOBJEXT)
+    AC_SUBST(INTLOBJS)
+
+    dnl For backward compatibility. Some configure.ins may be using this.
+    nls_cv_header_intl=
+    nls_cv_header_libgt=
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    DATADIRNAME=share
+    AC_SUBST(DATADIRNAME)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INSTOBJEXT=.mo
+    AC_SUBST(INSTOBJEXT)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    GENCAT=gencat
+    AC_SUBST(GENCAT)
+
+    dnl Enable libtool support if the surrounding package wishes it.
+    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+  ])
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  INTLLIBS="$LIBINTL"
+  AC_SUBST(INTLLIBS)
+
+  dnl Make all documented variables known to autoconf.
+  AC_SUBST(LIBINTL)
+  AC_SUBST(LTLIBINTL)
+  AC_SUBST(POSUB)
+])
+
+
+dnl Checks for all prerequisites of the po subdirectory,
+dnl except for USE_NLS.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+  dnl The second test excludes FreeBSD msgfmt.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+  dnl Search for GNU xgettext 0.11 or newer in the PATH.
+  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+  dnl The second test excludes FreeBSD xgettext.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  dnl Remove leftover from FreeBSD xgettext call.
+  rm -f messages.po
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
+
+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+  dnl Test whether we really found GNU msgfmt.
+  if test "$GMSGFMT" != ":"; then
+    dnl If it is no GNU msgfmt we define it as : so that the
+    dnl Makefiles still can work.
+    if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+      AC_MSG_RESULT(
+        [found $GMSGFMT program is not GNU msgfmt; ignore it])
+      GMSGFMT=":"
+    fi
+  fi
+
+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+  dnl Test whether we really found GNU xgettext.
+  if test "$XGETTEXT" != ":"; then
+    dnl If it is no GNU xgettext we define it as : so that the
+    dnl Makefiles still can work.
+    if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
+       (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      AC_MSG_RESULT(
+        [found xgettext program is not GNU xgettext; ignore it])
+      XGETTEXT=":"
+    fi
+    dnl Remove leftover from FreeBSD xgettext call.
+    rm -f messages.po
+  fi
+
+  AC_OUTPUT_COMMANDS([
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assigment from automake.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+          fi
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          GMOFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done],
+   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
+    # from automake.
+    eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+
+dnl Checks for all prerequisites of the intl subdirectory,
+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
+dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
+AC_DEFUN([AM_INTL_SUBDIR],
+[
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+  AC_REQUIRE([AC_PROG_CC])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST])dnl
+  AC_REQUIRE([AC_PROG_RANLIB])dnl
+  AC_REQUIRE([AC_ISC_POSIX])dnl
+  AC_REQUIRE([AC_HEADER_STDC])dnl
+  AC_REQUIRE([AC_C_CONST])dnl
+  AC_REQUIRE([AC_C_INLINE])dnl
+  AC_REQUIRE([AC_TYPE_OFF_T])dnl
+  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+  AC_REQUIRE([AC_FUNC_MMAP])dnl
+  AC_REQUIRE([jm_GLIBC21])dnl
+  AC_REQUIRE([gt_INTDIV0])dnl
+  AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
+  AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
+  AC_REQUIRE([gt_INTTYPES_PRI])dnl
+
+  AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+  AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
+geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
+strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
+
+  AM_ICONV
+  AM_LANGINFO_CODESET
+  if test $ac_cv_header_locale_h = yes; then
+    AM_LC_MESSAGES
+  fi
+
+  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+  dnl because plural.y uses bison specific features. It requires at least
+  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+  dnl compile.
+  dnl bison is only needed for the maintainer (who touches plural.y). But in
+  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+  dnl the rule in general Makefile. Now, some people carelessly touch the
+  dnl files or have a broken "make" program, hence the plural.c rule will
+  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+  dnl present or too old.
+  AC_CHECK_PROGS([INTLBISON], [bison])
+  if test -z "$INTLBISON"; then
+    ac_verc_fail=yes
+  else
+    dnl Found it, now check the version.
+    AC_MSG_CHECKING([version of bison])
+changequote(<<,>>)dnl
+    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+    case $ac_prog_version in
+      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+changequote([,])dnl
+         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+    esac
+    AC_MSG_RESULT([$ac_prog_version])
+  fi
+  if test $ac_verc_fail = yes; then
+    INTLBISON=:
+  fi
+])
+
+
+AC_DEFUN([AM_MKINSTALLDIRS],
+[
+  dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+  dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
+  dnl Try to locate is.
+  MKINSTALLDIRS=
+  if test -n "$ac_aux_dir"; then
+    MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+  fi
+  if test -z "$MKINSTALLDIRS"; then
+    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+  fi
+  AC_SUBST(MKINSTALLDIRS)
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+
+# lib-prefix.m4 serial 1 (gettext-0.11)
+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_ARG_WITH([lib-prefix],
+[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+])
+  if test $use_additional = yes; then
+    dnl Potentially add $additional_includedir to $CPPFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/include,
+    dnl   2. if it's already present in $CPPFLAGS,
+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_includedir" != "X/usr/include"; then
+      haveit=
+      for x in $CPPFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-I$additional_includedir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_includedir" = "X/usr/local/include"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_includedir"; then
+            dnl Really add $additional_includedir to $CPPFLAGS.
+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+          fi
+        fi
+      fi
+    fi
+    dnl Potentially add $additional_libdir to $LDFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/lib,
+    dnl   2. if it's already present in $LDFLAGS,
+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_libdir" != "X/usr/lib"; then
+      haveit=
+      for x in $LDFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-L$additional_libdir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_libdir" = "X/usr/local/lib"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_libdir"; then
+            dnl Really add $additional_libdir to $LDFLAGS.
+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+          fi
+        fi
+      fi
+    fi
+  fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+  dnl Unfortunately, prefix and exec_prefix get only finally determined
+  dnl at the end of configure.
+  if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  $1
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+])
+
+# lib-link.m4 serial 3 (gettext-0.11.3)
+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  define([Name],[translit([$1],[./-], [___])])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+    AC_LIB_LINKFLAGS_BODY([$1], [$2])
+    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+  ])
+  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+  dnl results of this search when this library appears as a dependency.
+  HAVE_LIB[]NAME=yes
+  undefine([Name])
+  undefine([NAME])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. If found, it
+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  define([Name],[translit([$1],[./-], [___])])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+
+  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed lib[]Name and not disabled its use
+  dnl via --without-lib[]Name-prefix, he wants to use it.
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+    ac_save_LIBS="$LIBS"
+    LIBS="$LIBS $LIB[]NAME"
+    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+    LIBS="$ac_save_LIBS"
+  ])
+  if test "$ac_cv_lib[]Name" = yes; then
+    HAVE_LIB[]NAME=yes
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+    AC_MSG_CHECKING([how to link with lib[]$1])
+    AC_MSG_RESULT([$LIB[]NAME])
+  else
+    HAVE_LIB[]NAME=no
+    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+    dnl $INC[]NAME either.
+    CPPFLAGS="$ac_save_CPPFLAGS"
+    LIB[]NAME=
+    LTLIB[]NAME=
+  fi
+  AC_SUBST([HAVE_LIB]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  undefine([Name])
+  undefine([NAME])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
+dnl hardcode_direct, hardcode_minus_L,
+dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
+AC_DEFUN([AC_LIB_RPATH],
+[
+  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
+  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
+  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
+  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+  ])
+  wl="$acl_cv_wl"
+  libext="$acl_cv_libext"
+  shlibext="$acl_cv_shlibext"
+  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  hardcode_direct="$acl_cv_hardcode_direct"
+  hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
+  sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
+  dnl Determine whether the user wants rpath handling at all.
+  AC_ARG_ENABLE(rpath,
+    [  --disable-rpath         do not hardcode runtime library paths],
+    :, enable_rpath=yes)
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_ARG_WITH([lib$1-prefix],
+[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
+  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+])
+  dnl Search the library and its dependencies in $additional_libdir and
+  dnl $LDFLAGS. Using breadth-first-seach.
+  LIB[]NAME=
+  LTLIB[]NAME=
+  INC[]NAME=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='$1 $2'
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+        dnl or AC_LIB_HAVE_LINKFLAGS call.
+        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+          else
+            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+            dnl that this library doesn't exist. So just drop it.
+            :
+          fi
+        else
+          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+          dnl and the already constructed $LIBNAME/$LTLIBNAME.
+          found_dir=
+          found_la=
+          found_so=
+          found_a=
+          if test $use_additional = yes; then
+            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+              found_dir="$additional_libdir"
+              found_so="$additional_libdir/lib$name.$shlibext"
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
+              fi
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIB[]NAME; do
+              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+                    found_dir="$dir"
+                    found_so="$dir/lib$name.$shlibext"
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
+                    fi
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+            dnl Found the library.
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+              dnl Linking with a shared library. We attempt to hardcode its
+              dnl directory into the executable's runpath, unless it's the
+              dnl standard /usr/lib.
+              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+                dnl No hardcoding is needed.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+              else
+                dnl Use an explicit option to hardcode DIR into the resulting
+                dnl binary.
+                dnl Potentially add DIR to ltrpathdirs.
+                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                dnl The hardcoding into $LIBNAME is system dependent.
+                if test "$hardcode_direct" = yes; then
+                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+                  dnl resulting binary.
+                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                else
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                    dnl Use an explicit option to hardcode DIR into the resulting
+                    dnl binary.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    dnl Potentially add DIR to rpathdirs.
+                    dnl The rpathdirs will be appended to $LIBNAME at the end.
+                    haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                    dnl Rely on "-L$found_dir".
+                    dnl But don't add it if it's already contained in the LDFLAGS
+                    dnl or the already constructed $LIBNAME
+                    haveit=
+                    for x in $LDFLAGS $LIB[]NAME; do
+                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+                    fi
+                    if test "$hardcode_minus_L" != no; then
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    else
+                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+                      dnl here, because this doesn't fit in flags passed to the
+                      dnl compiler. So give up. No hardcoding. This affects only
+                      dnl very old systems.
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                dnl Linking with a static library.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+              else
+                dnl We shouldn't come here, but anyway it's good to have a
+                dnl fallback.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+              fi
+            fi
+            dnl Assume the include files are nearby.
+            additional_includedir=
+            case "$found_dir" in
+              */lib | */lib/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+              dnl Potentially add $additional_includedir to $INCNAME.
+              dnl But don't add it
+              dnl   1. if it's the standard /usr/include,
+              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
+              dnl   3. if it's already present in $CPPFLAGS or the already
+              dnl      constructed $INCNAME,
+              dnl   4. if it doesn't exist as a directory.
+              if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux*) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INC[]NAME; do
+                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                      dnl Really add $additional_includedir to $INCNAME.
+                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+            dnl Look for dependencies.
+            if test -n "$found_la"; then
+              dnl Read the .la file. It defines the variables
+              dnl dlname, library_names, old_library, dependency_libs, current,
+              dnl age, revision, installed, dlopen, dlpreopen, libdir.
+              save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+              dnl We use only dependency_libs.
+              for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+                    dnl But don't add it
+                    dnl   1. if it's the standard /usr/lib,
+                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
+                    dnl   3. if it's already present in $LDFLAGS or the already
+                    dnl      constructed $LIBNAME,
+                    dnl   4. if it doesn't exist as a directory.
+                    if test "X$additional_libdir" != "X/usr/lib"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux*) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LIBNAME.
+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LTLIBNAME.
+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                      dnl Potentially add DIR to rpathdirs.
+                      dnl The rpathdirs will be appended to $LIBNAME at the end.
+                      haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                      dnl Potentially add DIR to ltrpathdirs.
+                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                      haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                    dnl Handle this in the next round.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                    dnl Handle this in the next round. Throw away the .la's
+                    dnl directory; it is already contained in a preceding -L
+                    dnl option.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                    dnl Most likely an immediate library name.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+            dnl Didn't find the library; assume it is in the system directories
+            dnl known to the linker and runtime loader. (All the system
+            dnl directories known to the linker should also be known to the
+            dnl runtime loader, otherwise the system is severely misconfigured.)
+            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$hardcode_libdir_separator"; then
+      dnl Weird platform: only the last -rpath option counts, the user must
+      dnl pass all path elements in one option. We can arrange that for a
+      dnl single library, but not when more than one $LIBNAMEs are used.
+      alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+      done
+      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+      acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+    else
+      dnl The -rpath options are cumulative.
+      for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+    dnl When using libtool, the option that works for both libraries and
+    dnl executables is -R. The -R options are cumulative.
+    for found_dir in $ltrpathdirs; do
+      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+    done
+  fi
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+  for element in [$2]; do
+    haveit=
+    for x in $[$1]; do
+      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      [$1]="${[$1]}${[$1]:+ }$element"
+    fi
+  done
+])
+
+# lib-ld.m4 serial 1 (gettext-0.11)
+dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
+dnl with libtool.m4.
+
+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+  acl_cv_prog_gnu_ld=yes
+else
+  acl_cv_prog_gnu_ld=no
+fi])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-1.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by GCC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]* | [A-Za-z]:[\\/]*)]
+      [re_direlt='/[^/][^/]*/\.\./']
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(acl_cv_path_LD,
+[if test -z "$LD"; then
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+       test "$with_gnu_ld" != no && break
+      else
+       test "$with_gnu_ld" != yes && break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
+
+# iconv.m4 serial AM4 (gettext-0.11.3)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+      [iconv_t cd = iconv_open("","");
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);],
+      am_cv_func_iconv=yes)
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+        [iconv_t cd = iconv_open("","");
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);],
+        am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes)
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST(LIBICONV)
+  AC_SUBST(LTLIBICONV)
+])
+
+AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL(am_cv_proto_iconv, [
+      AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([$]{ac_t:-
+         }[$]am_cv_proto_iconv)
+    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+      [Define as const if the declaration of iconv() needs const.])
+  fi
+])
+
+# progtest.m4 serial 2 (gettext-0.10.40)
+dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  /*)
+  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in ifelse([$5], , $PATH, [$5]); do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if [$3]; then
+       ac_cv_path_$1="$ac_dir/$ac_word"
+       break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+  ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+# Test for the GNU C Library, version 2.1 or newer.
+# From Bruno Haible.
+
+AC_DEFUN([jm_GLIBC21],
+  [
+    AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
+      ac_cv_gnu_library_2_1,
+      [AC_EGREP_CPP([Lucky GNU user],
+       [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+  Lucky GNU user
+ #endif
+#endif
+       ],
+       ac_cv_gnu_library_2_1=yes,
+       ac_cv_gnu_library_2_1=no)
+      ]
+    )
+    AC_SUBST(GLIBC21)
+    GLIBC21="$ac_cv_gnu_library_2_1"
+  ]
+)
+
+# intdiv0.m4 serial 1 (gettext-0.11.3)
+dnl Copyright (C) 2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([gt_INTDIV0],
+[
+  AC_REQUIRE([AC_PROG_CC])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+  AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
+    gt_cv_int_divbyzero_sigfpe,
+    [
+      AC_TRY_RUN([
+#include <stdlib.h>
+#include <signal.h>
+
+static void
+#ifdef __cplusplus
+sigfpe_handler (int sig)
+#else
+sigfpe_handler (sig) int sig;
+#endif
+{
+  /* Exit with code 0 if SIGFPE, with code 1 if any other signal.  */
+  exit (sig != SIGFPE);
+}
+
+int x = 1;
+int y = 0;
+int z;
+int nan;
+
+int main ()
+{
+  signal (SIGFPE, sigfpe_handler);
+/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP.  */
+#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
+  signal (SIGTRAP, sigfpe_handler);
+#endif
+/* Linux/SPARC yields signal SIGILL.  */
+#if defined (__sparc__) && defined (__linux__)
+  signal (SIGILL, sigfpe_handler);
+#endif
+
+  z = x / y;
+  nan = y / y;
+  exit (1);
+}
+], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
+        [
+          # Guess based on the CPU.
+          case "$host_cpu" in
+            alpha* | i[34567]86 | m68k | s390*)
+              gt_cv_int_divbyzero_sigfpe="guessing yes";;
+            *)
+              gt_cv_int_divbyzero_sigfpe="guessing no";;
+          esac
+        ])
+    ])
+  case "$gt_cv_int_divbyzero_sigfpe" in
+    *yes) value=1;;
+    *) value=0;;
+  esac
+  AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
+    [Define if integer division by zero raises signal SIGFPE.])
+])
+
+# uintmax_t.m4 serial 6 (gettext-0.11)
+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Paul Eggert.
+
+AC_PREREQ(2.13)
+
+# Define uintmax_t to `unsigned long' or `unsigned long long'
+# if <inttypes.h> does not exist.
+
+AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
+[
+  AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
+  AC_REQUIRE([jm_AC_HEADER_STDINT_H])
+  if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
+    AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
+    test $ac_cv_type_unsigned_long_long = yes \
+      && ac_type='unsigned long long' \
+      || ac_type='unsigned long'
+    AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
+  [Define to unsigned long or unsigned long long
+   if <inttypes.h> and <stdint.h> don't define.])
+  fi
+])
+
+# inttypes_h.m4 serial 4 (gettext-0.11.4)
+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Paul Eggert.
+
+# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
+# doesn't clash with <sys/types.h>, and declares uintmax_t.
+
+AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
+[
+  AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
+  [AC_TRY_COMPILE(
+    [#include <sys/types.h>
+#include <inttypes.h>],
+    [uintmax_t i = (uintmax_t) -1;],
+    jm_ac_cv_header_inttypes_h=yes,
+    jm_ac_cv_header_inttypes_h=no)])
+  if test $jm_ac_cv_header_inttypes_h = yes; then
+    AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
+[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
+   and declares uintmax_t. ])
+  fi
+])
+
+# stdint_h.m4 serial 2 (gettext-0.11.4)
+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Paul Eggert.
+
+# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
+# doesn't clash with <sys/types.h>, and declares uintmax_t.
+
+AC_DEFUN([jm_AC_HEADER_STDINT_H],
+[
+  AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
+  [AC_TRY_COMPILE(
+    [#include <sys/types.h>
+#include <stdint.h>],
+    [uintmax_t i = (uintmax_t) -1;],
+    jm_ac_cv_header_stdint_h=yes,
+    jm_ac_cv_header_stdint_h=no)])
+  if test $jm_ac_cv_header_stdint_h = yes; then
+    AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
+[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
+   and declares uintmax_t. ])
+  fi
+])
+
+# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
+dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Paul Eggert.
+
+AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
+[
+  AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
+  [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
+    [unsigned long long ullmax = (unsigned long long) -1;
+     return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
+    ac_cv_type_unsigned_long_long=yes,
+    ac_cv_type_unsigned_long_long=no)])
+  if test $ac_cv_type_unsigned_long_long = yes; then
+    AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
+      [Define if you have the unsigned long long type.])
+  fi
+])
+
+# inttypes.m4 serial 1 (gettext-0.11.4)
+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Paul Eggert.
+
+# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
+# <sys/types.h>.
+
+AC_DEFUN([gt_HEADER_INTTYPES_H],
+[
+  AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
+  [
+    AC_TRY_COMPILE(
+      [#include <sys/types.h>
+#include <inttypes.h>],
+      [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
+  ])
+  if test $gt_cv_header_inttypes_h = yes; then
+    AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
+      [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
+  fi
+])
+
+# inttypes-pri.m4 serial 1 (gettext-0.11.4)
+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
+# macros to non-string values.  This is the case on AIX 4.3.3.
+
+AC_DEFUN([gt_INTTYPES_PRI],
+[
+  AC_REQUIRE([gt_HEADER_INTTYPES_H])
+  if test $gt_cv_header_inttypes_h = yes; then
+    AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
+      gt_cv_inttypes_pri_broken,
+      [
+        AC_TRY_COMPILE([#include <inttypes.h>
+#ifdef PRId32
+char *p = PRId32;
+#endif
+], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
+      ])
+  fi
+  if test "$gt_cv_inttypes_pri_broken" = yes; then
+    AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
+      [Define if <inttypes.h> exists and defines unusable PRI* macros.])
+  fi
+])
+
+# codeset.m4 serial AM1 (gettext-0.10.40)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+  AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
+    [AC_TRY_LINK([#include <langinfo.h>],
+      [char* cs = nl_langinfo(CODESET);],
+      am_cv_langinfo_codeset=yes,
+      am_cv_langinfo_codeset=no)
+    ])
+  if test $am_cv_langinfo_codeset = yes; then
+    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+  fi
+])
+
+# lcmessage.m4 serial 3 (gettext-0.11.3)
+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+
+AC_DEFUN([AM_LC_MESSAGES],
+[
+  AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+    [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+  if test $am_cv_val_LC_MESSAGES = yes; then
+    AC_DEFINE(HAVE_LC_MESSAGES, 1,
+      [Define if your <locale.h> file defines LC_MESSAGES.])
+  fi
+])
+
+# serial 2
+
+# AM_PROG_CC_C_O
+# --------------
+# Like AC_PROG_CC_C_O, but changed for automake.
+
+# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+AC_DEFUN([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+])
+
+
+# Copyright 1996, 1997, 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# @defmac AC_PROG_CC_STDC
+# @maindex PROG_CC_STDC
+# @ovindex CC
+# If the C compiler in not in ANSI C mode by default, try to add an option
+# to output variable @code{CC} to make it so.  This macro tries various
+# options that select ANSI C on some system or another.  It considers the
+# compiler to be in ANSI C mode if it handles function prototypes correctly.
+#
+# If you use this macro, you should check after calling it whether the C
+# compiler has been set to accept ANSI C; if not, the shell variable
+# @code{am_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source
+# code in ANSI C, you can make an un-ANSIfied copy of it by using the
+# program @code{ansi2knr}, which comes with Ghostscript.
+# @end defmac
+
+AC_DEFUN([AM_PROG_CC_STDC],
+[AC_REQUIRE([AC_PROG_CC])
+AC_BEFORE([$0], [AC_C_INLINE])
+AC_BEFORE([$0], [AC_C_CONST])
+dnl Force this before AC_PROG_CPP.  Some cpp's, eg on HPUX, require
+dnl a magic option to avoid problems with ANSI preprocessor commands
+dnl like #elif.
+dnl FIXME: can't do this because then AC_AIX won't work due to a
+dnl circular dependency.
+dnl AC_BEFORE([$0], [AC_PROG_CPP])
+AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
+AC_CACHE_VAL(am_cv_prog_cc_stdc,
+[am_cv_prog_cc_stdc=no
+ac_save_CC="$CC"
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX                  -qlanglvl=ansi
+# Ultrix and OSF/1     -std1
+# HP-UX 10.20 and later        -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4                 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  AC_TRY_COMPILE(
+[#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+], [
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+],
+[am_cv_prog_cc_stdc="$ac_arg"; break])
+done
+CC="$ac_save_CC"
+])
+if test -z "$am_cv_prog_cc_stdc"; then
+  AC_MSG_RESULT([none needed])
+else
+  AC_MSG_RESULT([$am_cv_prog_cc_stdc])
+fi
+case "x$am_cv_prog_cc_stdc" in
+  x|xno) ;;
+  *) CC="$CC $am_cv_prog_cc_stdc" ;;
+esac
+])
+
+AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC])
+
+
+# Copyright 1996, 1998, 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+AC_DEFUN([AM_WITH_DMALLOC],
+[AC_MSG_CHECKING([if malloc debugging is wanted])
+AC_ARG_WITH(dmalloc,
+[  --with-dmalloc          use dmalloc, as in
+                          http://www.dmalloc.com/dmalloc.tar.gz],
+[if test "$withval" = yes; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(WITH_DMALLOC,1,
+            [Define if using the dmalloc debugging malloc package])
+  LIBS="$LIBS -ldmalloc"
+  LDFLAGS="$LDFLAGS -g"
+else
+  AC_MSG_RESULT(no)
+fi], [AC_MSG_RESULT(no)])
+])
+
+AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
+
diff --git a/src/mkutil/make-3.80/alloca.c b/src/mkutil/make-3.80/alloca.c
new file mode 100644 (file)
index 0000000..8f98b73
--- /dev/null
@@ -0,0 +1,504 @@
+/* alloca.c -- allocate automatically reclaimed memory
+   (Mostly) portable public-domain implementation -- D A Gwyn
+
+   This implementation of the PWB library alloca function,
+   which is used to allocate space off the run-time stack so
+   that it is automatically reclaimed upon procedure exit,
+   was inspired by discussions with J. Q. Johnson of Cornell.
+   J.Otto Tennant <jot@cray.com> contributed the Cray support.
+
+   There are some preprocessor constants that can
+   be defined when compiling for your specific system, for
+   improved efficiency; however, the defaults should be okay.
+
+   The general concept of this implementation is to keep
+   track of all alloca-allocated blocks, and reclaim any
+   that are found to be deeper in the stack than the current
+   invocation.  This heuristic does not reclaim storage as
+   soon as it becomes invalid, but it will do so eventually.
+
+   As a special case, alloca(0) reclaims storage without
+   allocating any.  It is a good idea to use alloca(0) in
+   your main control loop, etc. to force garbage collection.  */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef emacs
+#include "blockinput.h"
+#endif
+
+/* If compiling with GCC 2, this file's not needed.  */
+#if !defined (__GNUC__) || __GNUC__ < 2
+
+/* If someone has defined alloca as a macro,
+   there must be some other way alloca is supposed to work.  */
+#ifndef alloca
+
+#ifdef emacs
+#ifdef static
+/* actually, only want this if static is defined as ""
+   -- this is for usg, in which emacs must undefine static
+   in order to make unexec workable
+   */
+#ifndef STACK_DIRECTION
+you
+lose
+-- must know STACK_DIRECTION at compile-time
+#endif /* STACK_DIRECTION undefined */
+#endif /* static */
+#endif /* emacs */
+
+/* If your stack is a linked list of frames, you have to
+   provide an "address metric" ADDRESS_FUNCTION macro.  */
+
+#if defined (CRAY) && defined (CRAY_STACKSEG_END)
+long i00afunc ();
+#define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg))
+#else
+#define ADDRESS_FUNCTION(arg) &(arg)
+#endif
+
+#if __STDC__
+typedef void *pointer;
+#else
+typedef char *pointer;
+#endif
+
+#ifndef NULL
+#define        NULL    0
+#endif
+
+/* Different portions of Emacs need to call different versions of
+   malloc.  The Emacs executable needs alloca to call xmalloc, because
+   ordinary malloc isn't protected from input signals.  On the other
+   hand, the utilities in lib-src need alloca to call malloc; some of
+   them are very simple, and don't have an xmalloc routine.
+
+   Non-Emacs programs expect this to call use xmalloc.
+
+   Callers below should use malloc.  */
+
+#ifndef emacs
+#define malloc xmalloc
+#endif
+extern pointer malloc ();
+
+/* Define STACK_DIRECTION if you know the direction of stack
+   growth for your system; otherwise it will be automatically
+   deduced at run-time.
+
+   STACK_DIRECTION > 0 => grows toward higher addresses
+   STACK_DIRECTION < 0 => grows toward lower addresses
+   STACK_DIRECTION = 0 => direction of growth unknown  */
+
+#ifndef STACK_DIRECTION
+#define        STACK_DIRECTION 0       /* Direction unknown.  */
+#endif
+
+#if STACK_DIRECTION != 0
+
+#define        STACK_DIR       STACK_DIRECTION /* Known at compile-time.  */
+
+#else /* STACK_DIRECTION == 0; need run-time code.  */
+
+static int stack_dir;          /* 1 or -1 once known.  */
+#define        STACK_DIR       stack_dir
+
+static void
+find_stack_direction ()
+{
+  static char *addr = NULL;    /* Address of first `dummy', once known.  */
+  auto char dummy;             /* To get stack address.  */
+
+  if (addr == NULL)
+    {                          /* Initial entry.  */
+      addr = ADDRESS_FUNCTION (dummy);
+
+      find_stack_direction (); /* Recurse once.  */
+    }
+  else
+    {
+      /* Second entry.  */
+      if (ADDRESS_FUNCTION (dummy) > addr)
+       stack_dir = 1;          /* Stack grew upward.  */
+      else
+       stack_dir = -1;         /* Stack grew downward.  */
+    }
+}
+
+#endif /* STACK_DIRECTION == 0 */
+
+/* An "alloca header" is used to:
+   (a) chain together all alloca'ed blocks;
+   (b) keep track of stack depth.
+
+   It is very important that sizeof(header) agree with malloc
+   alignment chunk size.  The following default should work okay.  */
+
+#ifndef        ALIGN_SIZE
+#define        ALIGN_SIZE      sizeof(double)
+#endif
+
+typedef union hdr
+{
+  char align[ALIGN_SIZE];      /* To force sizeof(header).  */
+  struct
+    {
+      union hdr *next;         /* For chaining headers.  */
+      char *deep;              /* For stack depth measure.  */
+    } h;
+} header;
+
+static header *last_alloca_header = NULL;      /* -> last alloca header.  */
+
+/* Return a pointer to at least SIZE bytes of storage,
+   which will be automatically reclaimed upon exit from
+   the procedure that called alloca.  Originally, this space
+   was supposed to be taken from the current stack frame of the
+   caller, but that method cannot be made to work for some
+   implementations of C, for example under Gould's UTX/32.  */
+
+pointer
+alloca (size)
+     unsigned size;
+{
+  auto char probe;             /* Probes stack depth: */
+  register char *depth = ADDRESS_FUNCTION (probe);
+
+#if STACK_DIRECTION == 0
+  if (STACK_DIR == 0)          /* Unknown growth direction.  */
+    find_stack_direction ();
+#endif
+
+  /* Reclaim garbage, defined as all alloca'd storage that
+     was allocated from deeper in the stack than currently.  */
+
+  {
+    register header *hp;       /* Traverses linked list.  */
+
+#ifdef emacs
+    BLOCK_INPUT;
+#endif
+
+    for (hp = last_alloca_header; hp != NULL;)
+      if ((STACK_DIR > 0 && hp->h.deep > depth)
+         || (STACK_DIR < 0 && hp->h.deep < depth))
+       {
+         register header *np = hp->h.next;
+
+         free ((pointer) hp);  /* Collect garbage.  */
+
+         hp = np;              /* -> next header.  */
+       }
+      else
+       break;                  /* Rest are not deeper.  */
+
+    last_alloca_header = hp;   /* -> last valid storage.  */
+
+#ifdef emacs
+    UNBLOCK_INPUT;
+#endif
+  }
+
+  if (size == 0)
+    return NULL;               /* No allocation required.  */
+
+  /* Allocate combined header + user data storage.  */
+
+  {
+    register pointer new = malloc (sizeof (header) + size);
+    /* Address of header.  */
+
+    if (new == 0)
+      abort();
+
+    ((header *) new)->h.next = last_alloca_header;
+    ((header *) new)->h.deep = depth;
+
+    last_alloca_header = (header *) new;
+
+    /* User storage begins just after header.  */
+
+    return (pointer) ((char *) new + sizeof (header));
+  }
+}
+
+#if defined (CRAY) && defined (CRAY_STACKSEG_END)
+
+#ifdef DEBUG_I00AFUNC
+#include <stdio.h>
+#endif
+
+#ifndef CRAY_STACK
+#define CRAY_STACK
+#ifndef CRAY2
+/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */
+struct stack_control_header
+  {
+    long shgrow:32;            /* Number of times stack has grown.  */
+    long shaseg:32;            /* Size of increments to stack.  */
+    long shhwm:32;             /* High water mark of stack.  */
+    long shsize:32;            /* Current size of stack (all segments).  */
+  };
+
+/* The stack segment linkage control information occurs at
+   the high-address end of a stack segment.  (The stack
+   grows from low addresses to high addresses.)  The initial
+   part of the stack segment linkage control information is
+   0200 (octal) words.  This provides for register storage
+   for the routine which overflows the stack.  */
+
+struct stack_segment_linkage
+  {
+    long ss[0200];             /* 0200 overflow words.  */
+    long sssize:32;            /* Number of words in this segment.  */
+    long ssbase:32;            /* Offset to stack base.  */
+    long:32;
+    long sspseg:32;            /* Offset to linkage control of previous
+                                  segment of stack.  */
+    long:32;
+    long sstcpt:32;            /* Pointer to task common address block.  */
+    long sscsnm;               /* Private control structure number for
+                                  microtasking.  */
+    long ssusr1;               /* Reserved for user.  */
+    long ssusr2;               /* Reserved for user.  */
+    long sstpid;               /* Process ID for pid based multi-tasking.  */
+    long ssgvup;               /* Pointer to multitasking thread giveup.  */
+    long sscray[7];            /* Reserved for Cray Research.  */
+    long ssa0;
+    long ssa1;
+    long ssa2;
+    long ssa3;
+    long ssa4;
+    long ssa5;
+    long ssa6;
+    long ssa7;
+    long sss0;
+    long sss1;
+    long sss2;
+    long sss3;
+    long sss4;
+    long sss5;
+    long sss6;
+    long sss7;
+  };
+
+#else /* CRAY2 */
+/* The following structure defines the vector of words
+   returned by the STKSTAT library routine.  */
+struct stk_stat
+  {
+    long now;                  /* Current total stack size.  */
+    long maxc;                 /* Amount of contiguous space which would
+                                  be required to satisfy the maximum
+                                  stack demand to date.  */
+    long high_water;           /* Stack high-water mark.  */
+    long overflows;            /* Number of stack overflow ($STKOFEN) calls.  */
+    long hits;                 /* Number of internal buffer hits.  */
+    long extends;              /* Number of block extensions.  */
+    long stko_mallocs;         /* Block allocations by $STKOFEN.  */
+    long underflows;           /* Number of stack underflow calls ($STKRETN).  */
+    long stko_free;            /* Number of deallocations by $STKRETN.  */
+    long stkm_free;            /* Number of deallocations by $STKMRET.  */
+    long segments;             /* Current number of stack segments.  */
+    long maxs;                 /* Maximum number of stack segments so far.  */
+    long pad_size;             /* Stack pad size.  */
+    long current_address;      /* Current stack segment address.  */
+    long current_size;         /* Current stack segment size.  This
+                                  number is actually corrupted by STKSTAT to
+                                  include the fifteen word trailer area.  */
+    long initial_address;      /* Address of initial segment.  */
+    long initial_size;         /* Size of initial segment.  */
+  };
+
+/* The following structure describes the data structure which trails
+   any stack segment.  I think that the description in 'asdef' is
+   out of date.  I only describe the parts that I am sure about.  */
+
+struct stk_trailer
+  {
+    long this_address;         /* Address of this block.  */
+    long this_size;            /* Size of this block (does not include
+                                  this trailer).  */
+    long unknown2;
+    long unknown3;
+    long link;                 /* Address of trailer block of previous
+                                  segment.  */
+    long unknown5;
+    long unknown6;
+    long unknown7;
+    long unknown8;
+    long unknown9;
+    long unknown10;
+    long unknown11;
+    long unknown12;
+    long unknown13;
+    long unknown14;
+  };
+
+#endif /* CRAY2 */
+#endif /* not CRAY_STACK */
+
+#ifdef CRAY2
+/* Determine a "stack measure" for an arbitrary ADDRESS.
+   I doubt that "lint" will like this much.  */
+
+static long
+i00afunc (long *address)
+{
+  struct stk_stat status;
+  struct stk_trailer *trailer;
+  long *block, size;
+  long result = 0;
+
+  /* We want to iterate through all of the segments.  The first
+     step is to get the stack status structure.  We could do this
+     more quickly and more directly, perhaps, by referencing the
+     $LM00 common block, but I know that this works.  */
+
+  STKSTAT (&status);
+
+  /* Set up the iteration.  */
+
+  trailer = (struct stk_trailer *) (status.current_address
+                                   + status.current_size
+                                   - 15);
+
+  /* There must be at least one stack segment.  Therefore it is
+     a fatal error if "trailer" is null.  */
+
+  if (trailer == 0)
+    abort ();
+
+  /* Discard segments that do not contain our argument address.  */
+
+  while (trailer != 0)
+    {
+      block = (long *) trailer->this_address;
+      size = trailer->this_size;
+      if (block == 0 || size == 0)
+       abort ();
+      trailer = (struct stk_trailer *) trailer->link;
+      if ((block <= address) && (address < (block + size)))
+       break;
+    }
+
+  /* Set the result to the offset in this segment and add the sizes
+     of all predecessor segments.  */
+
+  result = address - block;
+
+  if (trailer == 0)
+    {
+      return result;
+    }
+
+  do
+    {
+      if (trailer->this_size <= 0)
+       abort ();
+      result += trailer->this_size;
+      trailer = (struct stk_trailer *) trailer->link;
+    }
+  while (trailer != 0);
+
+  /* We are done.  Note that if you present a bogus address (one
+     not in any segment), you will get a different number back, formed
+     from subtracting the address of the first block.  This is probably
+     not what you want.  */
+
+  return (result);
+}
+
+#else /* not CRAY2 */
+/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP.
+   Determine the number of the cell within the stack,
+   given the address of the cell.  The purpose of this
+   routine is to linearize, in some sense, stack addresses
+   for alloca.  */
+
+static long
+i00afunc (long address)
+{
+  long stkl = 0;
+
+  long size, pseg, this_segment, stack;
+  long result = 0;
+
+  struct stack_segment_linkage *ssptr;
+
+  /* Register B67 contains the address of the end of the
+     current stack segment.  If you (as a subprogram) store
+     your registers on the stack and find that you are past
+     the contents of B67, you have overflowed the segment.
+
+     B67 also points to the stack segment linkage control
+     area, which is what we are really interested in.  */
+
+  stkl = CRAY_STACKSEG_END ();
+  ssptr = (struct stack_segment_linkage *) stkl;
+
+  /* If one subtracts 'size' from the end of the segment,
+     one has the address of the first word of the segment.
+
+     If this is not the first segment, 'pseg' will be
+     nonzero.  */
+
+  pseg = ssptr->sspseg;
+  size = ssptr->sssize;
+
+  this_segment = stkl - size;
+
+  /* It is possible that calling this routine itself caused
+     a stack overflow.  Discard stack segments which do not
+     contain the target address.  */
+
+  while (!(this_segment <= address && address <= stkl))
+    {
+#ifdef DEBUG_I00AFUNC
+      fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl);
+#endif
+      if (pseg == 0)
+       break;
+      stkl = stkl - pseg;
+      ssptr = (struct stack_segment_linkage *) stkl;
+      size = ssptr->sssize;
+      pseg = ssptr->sspseg;
+      this_segment = stkl - size;
+    }
+
+  result = address - this_segment;
+
+  /* If you subtract pseg from the current end of the stack,
+     you get the address of the previous stack segment's end.
+     This seems a little convoluted to me, but I'll bet you save
+     a cycle somewhere.  */
+
+  while (pseg != 0)
+    {
+#ifdef DEBUG_I00AFUNC
+      fprintf (stderr, "%011o %011o\n", pseg, size);
+#endif
+      stkl = stkl - pseg;
+      ssptr = (struct stack_segment_linkage *) stkl;
+      size = ssptr->sssize;
+      pseg = ssptr->sspseg;
+      result += size;
+    }
+  return (result);
+}
+
+#endif /* not CRAY2 */
+#endif /* CRAY */
+
+#endif /* no alloca */
+#endif /* not GCC version 2 */
diff --git a/src/mkutil/make-3.80/amiga.c b/src/mkutil/make-3.80/amiga.c
new file mode 100644 (file)
index 0000000..db8ef0d
--- /dev/null
@@ -0,0 +1,123 @@
+/* Running commands on Amiga
+Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "variable.h"
+#include "amiga.h"
+#include <assert.h>
+#include <exec/memory.h>
+#include <dos/dostags.h>
+#include <proto/exec.h>
+#include <proto/dos.h>
+
+static const char Amiga_version[] = "$VER: Make 3.74.3 (12.05.96) \n"
+                   "Amiga Port by A. Digulla (digulla@home.lake.de)";
+
+int
+MyExecute (argv)
+char ** argv;
+{
+    char * buffer, * ptr;
+    char ** aptr;
+    int len = 0;
+    int status;
+
+    for (aptr=argv; *aptr; aptr++)
+    {
+       len += strlen (*aptr) + 4;
+    }
+
+    buffer = AllocMem (len, MEMF_ANY);
+
+    if (!buffer)
+      fatal (NILF, "MyExecute: Cannot allocate space for calling a command");
+
+    ptr = buffer;
+
+    for (aptr=argv; *aptr; aptr++)
+    {
+       if (((*aptr)[0] == ';' && !(*aptr)[1]))
+       {
+           *ptr ++ = '"';
+           strcpy (ptr, *aptr);
+           ptr += strlen (ptr);
+           *ptr ++ = '"';
+       }
+       else if ((*aptr)[0] == '@' && (*aptr)[1] == '@' && !(*aptr)[2])
+       {
+           *ptr ++ = '\n';
+           continue;
+       }
+       else
+       {
+           strcpy (ptr, *aptr);
+           ptr += strlen (ptr);
+       }
+       *ptr ++ = ' ';
+       *ptr = 0;
+    }
+
+    ptr[-1] = '\n';
+
+    status = SystemTags (buffer,
+       SYS_UserShell, TRUE,
+       TAG_END);
+
+    FreeMem (buffer, len);
+
+    if (SetSignal(0L,0L) & SIGBREAKF_CTRL_C)
+       status = 20;
+
+    /* Warnings don't count */
+    if (status == 5)
+       status = 0;
+
+    return status;
+}
+
+char *
+wildcard_expansion (wc, o)
+char * wc, * o;
+{
+#   define PATH_SIZE   1024
+    struct AnchorPath * apath;
+
+    if ( (apath = AllocMem (sizeof (struct AnchorPath) + PATH_SIZE,
+           MEMF_CLEAR))
+       )
+    {
+       apath->ap_Strlen = PATH_SIZE;
+
+       if (MatchFirst (wc, apath) == 0)
+       {
+           do
+           {
+               o = variable_buffer_output (o, apath->ap_Buf,
+                       strlen (apath->ap_Buf));
+               o = variable_buffer_output (o, " ",1);
+           } while (MatchNext (apath) == 0);
+       }
+
+       MatchEnd (apath);
+       FreeMem (apath, sizeof (struct AnchorPath) + PATH_SIZE);
+    }
+
+    return o;
+}
+
diff --git a/src/mkutil/make-3.80/amiga.h b/src/mkutil/make-3.80/amiga.h
new file mode 100644 (file)
index 0000000..99a1c59
--- /dev/null
@@ -0,0 +1,22 @@
+/* Definitions for amiga specific things
+Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA.  */
+
+extern int MyExecute PARAMS ((char ** argv));
+extern char * wildcard_expansion PARAMS ((char * wc, char * o));
+
diff --git a/src/mkutil/make-3.80/ar.c b/src/mkutil/make-3.80/ar.c
new file mode 100644 (file)
index 0000000..286be55
--- /dev/null
@@ -0,0 +1,329 @@
+/* Interface to `ar' archives for GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1997,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+
+#ifndef        NO_ARCHIVES
+
+#include "filedef.h"
+#include "dep.h"
+#include <fnmatch.h>
+
+/* Defined in arscan.c.  */
+extern long int ar_scan PARAMS ((char *archive, long int (*function) (), long int arg));
+extern int ar_name_equal PARAMS ((char *name, char *mem, int truncated));
+#ifndef VMS
+extern int ar_member_touch PARAMS ((char *arname, char *memname));
+#endif
+
+/* Return nonzero if NAME is an archive-member reference, zero if not.
+   An archive-member reference is a name like `lib(member)'.
+   If a name like `lib((entry))' is used, a fatal error is signaled at
+   the attempt to use this unsupported feature.  */
+
+int
+ar_name (name)
+     char *name;
+{
+  char *p = strchr (name, '(');
+  char *end;
+
+  if (p == 0 || p == name)
+    return 0;
+
+  end = p + strlen (p) - 1;
+  if (*end != ')')
+    return 0;
+
+  if (p[1] == '(' && end[-1] == ')')
+    fatal (NILF, _("attempt to use unsupported feature: `%s'"), name);
+
+  return 1;
+}
+
+
+/* Parse the archive-member reference NAME into the archive and member names.
+   Put the malloc'd archive name in *ARNAME_P if ARNAME_P is non-nil;
+   put the malloc'd member name in *MEMNAME_P if MEMNAME_P is non-nil.  */
+
+void
+ar_parse_name (name, arname_p, memname_p)
+     char *name, **arname_p, **memname_p;
+{
+  char *p = strchr (name, '('), *end = name + strlen (name) - 1;
+
+  if (arname_p != 0)
+    *arname_p = savestring (name, p - name);
+
+  if (memname_p != 0)
+    *memname_p = savestring (p + 1, end - (p + 1));
+}
+\f
+static long int ar_member_date_1 PARAMS ((int desc, char *mem, int truncated, long int hdrpos,
+       long int datapos, long int size, long int date, int uid, int gid, int mode, char *name));
+
+/* Return the modtime of NAME.  */
+
+time_t
+ar_member_date (name)
+     char *name;
+{
+  char *arname;
+  int arname_used = 0;
+  char *memname;
+  long int val;
+
+  ar_parse_name (name, &arname, &memname);
+
+  /* Make sure we know the modtime of the archive itself because we are
+     likely to be called just before commands to remake a member are run,
+     and they will change the archive itself.
+
+     But we must be careful not to enter_file the archive itself if it does
+     not exist, because pattern_search assumes that files found in the data
+     base exist or can be made.  */
+  {
+    struct file *arfile;
+    arfile = lookup_file (arname);
+    if (arfile == 0 && file_exists_p (arname))
+      {
+       arfile = enter_file (arname);
+       arname_used = 1;
+      }
+
+    if (arfile != 0)
+      (void) f_mtime (arfile, 0);
+  }
+
+  val = ar_scan (arname, ar_member_date_1, (long int) memname);
+
+  if (!arname_used)
+    free (arname);
+  free (memname);
+
+  return (val <= 0 ? (time_t) -1 : (time_t) val);
+}
+
+/* This function is called by `ar_scan' to find which member to look at.  */
+
+/* ARGSUSED */
+static long int
+ar_member_date_1 (desc, mem, truncated,
+                 hdrpos, datapos, size, date, uid, gid, mode, name)
+     int desc;
+     char *mem;
+     int truncated;
+     long int hdrpos, datapos, size, date;
+     int uid, gid, mode;
+     char *name;
+{
+  return ar_name_equal (name, mem, truncated) ? date : 0;
+}
+\f
+/* Set the archive-member NAME's modtime to now.  */
+
+#ifdef VMS
+int
+ar_touch (name)
+     char *name;
+{
+  error (NILF, _("touch archive member is not available on VMS"));
+  return -1;
+}
+#else
+int
+ar_touch (name)
+     char *name;
+{
+  char *arname, *memname;
+  int arname_used = 0;
+  register int val;
+
+  ar_parse_name (name, &arname, &memname);
+
+  /* Make sure we know the modtime of the archive itself before we
+     touch the member, since this will change the archive itself.  */
+  {
+    struct file *arfile;
+    arfile = lookup_file (arname);
+    if (arfile == 0)
+      {
+       arfile = enter_file (arname);
+       arname_used = 1;
+      }
+
+    (void) f_mtime (arfile, 0);
+  }
+
+  val = 1;
+  switch (ar_member_touch (arname, memname))
+    {
+    case -1:
+      error (NILF, _("touch: Archive `%s' does not exist"), arname);
+      break;
+    case -2:
+      error (NILF, _("touch: `%s' is not a valid archive"), arname);
+      break;
+    case -3:
+      perror_with_name ("touch: ", arname);
+      break;
+    case 1:
+      error (NILF,
+             _("touch: Member `%s' does not exist in `%s'"), memname, arname);
+      break;
+    case 0:
+      val = 0;
+      break;
+    default:
+      error (NILF,
+             _("touch: Bad return code from ar_member_touch on `%s'"), name);
+    }
+
+  if (!arname_used)
+    free (arname);
+  free (memname);
+
+  return val;
+}
+#endif /* !VMS */
+\f
+/* State of an `ar_glob' run, passed to `ar_glob_match'.  */
+
+struct ar_glob_state
+  {
+    char *arname;
+    char *pattern;
+    unsigned int size;
+    struct nameseq *chain;
+    unsigned int n;
+  };
+
+/* This function is called by `ar_scan' to match one archive
+   element against the pattern in STATE.  */
+
+static long int
+ar_glob_match (desc, mem, truncated,
+              hdrpos, datapos, size, date, uid, gid, mode,
+              state)
+     int desc;
+     char *mem;
+     int truncated;
+     long int hdrpos, datapos, size, date;
+     int uid, gid, mode;
+     struct ar_glob_state *state;
+{
+  if (fnmatch (state->pattern, mem, FNM_PATHNAME|FNM_PERIOD) == 0)
+    {
+      /* We have a match.  Add it to the chain.  */
+      struct nameseq *new = (struct nameseq *) xmalloc (state->size);
+      new->name = concat (state->arname, mem, ")");
+      new->next = state->chain;
+      state->chain = new;
+      ++state->n;
+    }
+
+  return 0L;
+}
+
+/* Return nonzero if PATTERN contains any metacharacters.
+   Metacharacters can be quoted with backslashes if QUOTE is nonzero.  */
+static int
+glob_pattern_p (pattern, quote)
+     const char *pattern;
+     const int quote;
+{
+  register const char *p;
+  int open = 0;
+
+  for (p = pattern; *p != '\0'; ++p)
+    switch (*p)
+      {
+      case '?':
+      case '*':
+       return 1;
+
+      case '\\':
+       if (quote)
+         ++p;
+       break;
+
+      case '[':
+       open = 1;
+       break;
+
+      case ']':
+       if (open)
+         return 1;
+       break;
+      }
+
+  return 0;
+}
+
+/* Glob for MEMBER_PATTERN in archive ARNAME.
+   Return a malloc'd chain of matching elements (or nil if none).  */
+
+struct nameseq *
+ar_glob (arname, member_pattern, size)
+     char *arname, *member_pattern;
+     unsigned int size;
+{
+  struct ar_glob_state state;
+  char **names;
+  struct nameseq *n;
+  unsigned int i;
+
+  if (! glob_pattern_p (member_pattern, 1))
+    return 0;
+
+  /* Scan the archive for matches.
+     ar_glob_match will accumulate them in STATE.chain.  */
+  i = strlen (arname);
+  state.arname = (char *) alloca (i + 2);
+  bcopy (arname, state.arname, i);
+  state.arname[i] = '(';
+  state.arname[i + 1] = '\0';
+  state.pattern = member_pattern;
+  state.size = size;
+  state.chain = 0;
+  state.n = 0;
+  (void) ar_scan (arname, ar_glob_match, (long int) &state);
+
+  if (state.chain == 0)
+    return 0;
+
+  /* Now put the names into a vector for sorting.  */
+  names = (char **) alloca (state.n * sizeof (char *));
+  i = 0;
+  for (n = state.chain; n != 0; n = n->next)
+    names[i++] = n->name;
+
+  /* Sort them alphabetically.  */
+  qsort ((char *) names, i, sizeof (*names), alpha_compare);
+
+  /* Put them back into the chain in the sorted order.  */
+  i = 0;
+  for (n = state.chain; n != 0; n = n->next)
+    n->name = names[i++];
+
+  return state.chain;
+}
+
+#endif /* Not NO_ARCHIVES.  */
diff --git a/src/mkutil/make-3.80/arscan.c b/src/mkutil/make-3.80/arscan.c
new file mode 100644 (file)
index 0000000..fc003e9
--- /dev/null
@@ -0,0 +1,861 @@
+/* Library function for scanning an archive file.
+Copyright (C) 1987,89,91,92,93,94,95,97 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+USA.  */
+
+#include "make.h"
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#else
+#include <sys/file.h>
+#endif
+
+#ifndef        NO_ARCHIVES
+\f
+#ifdef VMS
+#include <lbrdef.h>
+#include <mhddef.h>
+#include <credef.h>
+#include <descrip.h>
+#include <ctype.h>
+#if __DECC
+#include <unixlib.h>
+#include <lbr$routines.h>
+#endif
+
+static void *VMS_lib_idx;
+
+static char *VMS_saved_memname;
+
+static time_t VMS_member_date;
+
+static long int (*VMS_function) ();
+
+static int
+VMS_get_member_info (module, rfa)
+     struct dsc$descriptor_s *module;
+     unsigned long *rfa;
+{
+  int status, i;
+  long int fnval;
+
+  time_t val;
+
+  static struct dsc$descriptor_s bufdesc =
+    { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };
+
+  struct mhddef *mhd;
+  char filename[128];
+
+  bufdesc.dsc$a_pointer = filename;
+  bufdesc.dsc$w_length = sizeof (filename);
+
+  status = lbr$set_module (&VMS_lib_idx, rfa, &bufdesc,
+                          &bufdesc.dsc$w_length, 0);
+  if (! (status & 1))
+    {
+      error (NILF, _("lbr$set_module failed to extract module info, status = %d"),
+            status);
+
+      lbr$close (&VMS_lib_idx);
+
+      return 0;
+    }
+
+  mhd = (struct mhddef *) filename;
+
+#ifdef __DECC
+  /* John Fowler <jfowler@nyx.net> writes this is needed in his environment,
+   * but that decc$fix_time() isn't documented to work this way.  Let me
+   * know if this causes problems in other VMS environments.
+   */
+  val = decc$fix_time (&mhd->mhd$l_datim) + timezone - daylight*3600;
+#endif
+
+  for (i = 0; i < module->dsc$w_length; i++)
+    filename[i] = _tolower ((unsigned char)module->dsc$a_pointer[i]);
+
+  filename[i] = '\0';
+
+  VMS_member_date = (time_t) -1;
+
+  fnval =
+    (*VMS_function) (-1, filename, 0, 0, 0, 0, val, 0, 0, 0,
+                    VMS_saved_memname);
+
+  if (fnval)
+    {
+      VMS_member_date = fnval;
+      return 0;
+    }
+  else
+    return 1;
+}
+
+/* Takes three arguments ARCHIVE, FUNCTION and ARG.
+
+   Open the archive named ARCHIVE, find its members one by one,
+   and for each one call FUNCTION with the following arguments:
+     archive file descriptor for reading the data,
+     member name,
+     member name might be truncated flag,
+     member header position in file,
+     member data position in file,
+     member data size,
+     member date,
+     member uid,
+     member gid,
+     member protection mode,
+     ARG.
+
+   NOTE: on VMS systems, only name, date, and arg are meaningful!
+
+   The descriptor is poised to read the data of the member
+   when FUNCTION is called.  It does not matter how much
+   data FUNCTION reads.
+
+   If FUNCTION returns nonzero, we immediately return
+   what FUNCTION returned.
+
+   Returns -1 if archive does not exist,
+   Returns -2 if archive has invalid format.
+   Returns 0 if have scanned successfully.  */
+
+long int
+ar_scan (archive, function, arg)
+     char *archive;
+     long int (*function) ();
+     long int arg;
+{
+  char *p;
+
+  static struct dsc$descriptor_s libdesc =
+    { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };
+
+  unsigned long func = LBR$C_READ;
+  unsigned long type = LBR$C_TYP_UNK;
+  unsigned long index = 1;
+
+  int status;
+
+  status = lbr$ini_control (&VMS_lib_idx, &func, &type, 0);
+
+  if (! (status & 1))
+    {
+      error (NILF, _("lbr$ini_control failed with status = %d"),status);
+      return -2;
+    }
+
+  libdesc.dsc$a_pointer = archive;
+  libdesc.dsc$w_length = strlen (archive);
+
+  status = lbr$open (&VMS_lib_idx, &libdesc, 0, 0, 0, 0, 0);
+
+  if (! (status & 1))
+    {
+      error (NILF, _("unable to open library `%s' to lookup member `%s'"),
+            archive, (char *)arg);
+      return -1;
+    }
+
+  VMS_saved_memname = (char *)arg;
+
+  /* For comparison, delete .obj from arg name.  */
+
+  p = strrchr (VMS_saved_memname, '.');
+  if (p)
+    *p = '\0';
+
+  VMS_function = function;
+
+  VMS_member_date = (time_t) -1;
+  lbr$get_index (&VMS_lib_idx, &index, VMS_get_member_info, 0);
+
+  /* Undo the damage.  */
+  if (p)
+    *p = '.';
+
+  lbr$close (&VMS_lib_idx);
+
+  return VMS_member_date > 0 ? VMS_member_date : 0;
+}
+
+#else /* !VMS */
+
+/* SCO Unix's compiler defines both of these.  */
+#ifdef M_UNIX
+#undef M_XENIX
+#endif
+
+/* On the sun386i and in System V rel 3, ar.h defines two different archive
+   formats depending upon whether you have defined PORTAR (normal) or PORT5AR
+   (System V Release 1).  There is no default, one or the other must be defined
+   to have a nonzero value.  */
+
+#if (!defined (PORTAR) || PORTAR == 0) && (!defined (PORT5AR) || PORT5AR == 0)
+#undef PORTAR
+#ifdef M_XENIX
+/* According to Jim Sievert <jas1@rsvl.unisys.com>, for SCO XENIX defining
+   PORTAR to 1 gets the wrong archive format, and defining it to 0 gets the
+   right one.  */
+#define PORTAR 0
+#else
+#define PORTAR 1
+#endif
+#endif
+
+/* On AIX, define these symbols to be sure to get both archive formats.
+   AIX 4.3 introduced the "big" archive format to support 64-bit object
+   files, so on AIX 4.3 systems we need to support both the "normal" and
+   "big" archive formats.  An archive's format is indicated in the
+   "fl_magic" field of the "FL_HDR" structure.  For a normal archive,
+   this field will be the string defined by the AIAMAG symbol.  For a
+   "big" archive, it will be the string defined by the AIAMAGBIG symbol
+   (at least on AIX it works this way).
+
+   Note: we'll define these symbols regardless of which AIX version
+   we're compiling on, but this is okay since we'll use the new symbols
+   only if they're present.  */
+#ifdef _AIX
+# define __AR_SMALL__
+# define __AR_BIG__
+#endif
+
+#ifndef WINDOWS32
+# ifndef __BEOS__
+#  include <ar.h>
+# else
+   /* BeOS 5 doesn't have <ar.h> but has archives in the same format
+    * as many other Unices.  This was taken from GNU binutils for BeOS.
+    */
+#  define ARMAG        "!<arch>\n"     /* String that begins an archive file.  */
+#  define SARMAG 8             /* Size of that string.  */
+#  define ARFMAG "`\n"         /* String in ar_fmag at end of each header.  */
+struct ar_hdr
+  {
+    char ar_name[16];          /* Member file name, sometimes / terminated. */
+    char ar_date[12];          /* File date, decimal seconds since Epoch.  */
+    char ar_uid[6], ar_gid[6]; /* User and group IDs, in ASCII decimal.  */
+    char ar_mode[8];           /* File mode, in ASCII octal.  */
+    char ar_size[10];          /* File size, in ASCII decimal.  */
+    char ar_fmag[2];           /* Always contains ARFMAG.  */
+  };
+# endif
+#else
+/* These should allow us to read Windows (VC++) libraries (according to Frank
+ * Libbrecht <frankl@abzx.belgium.hp.com>)
+ */
+# include <windows.h>
+# include <windef.h>
+# include <io.h>
+# define ARMAG      IMAGE_ARCHIVE_START
+# define SARMAG     IMAGE_ARCHIVE_START_SIZE
+# define ar_hdr     _IMAGE_ARCHIVE_MEMBER_HEADER
+# define ar_name    Name
+# define ar_mode    Mode
+# define ar_size    Size
+# define ar_date    Date
+# define ar_uid     UserID
+# define ar_gid     GroupID
+#endif
+
+/* Cray's <ar.h> apparently defines this.  */
+#ifndef        AR_HDR_SIZE
+# define   AR_HDR_SIZE (sizeof (struct ar_hdr))
+#endif
+\f
+/* Takes three arguments ARCHIVE, FUNCTION and ARG.
+
+   Open the archive named ARCHIVE, find its members one by one,
+   and for each one call FUNCTION with the following arguments:
+     archive file descriptor for reading the data,
+     member name,
+     member name might be truncated flag,
+     member header position in file,
+     member data position in file,
+     member data size,
+     member date,
+     member uid,
+     member gid,
+     member protection mode,
+     ARG.
+
+   The descriptor is poised to read the data of the member
+   when FUNCTION is called.  It does not matter how much
+   data FUNCTION reads.
+
+   If FUNCTION returns nonzero, we immediately return
+   what FUNCTION returned.
+
+   Returns -1 if archive does not exist,
+   Returns -2 if archive has invalid format.
+   Returns 0 if have scanned successfully.  */
+
+long int
+ar_scan (archive, function, arg)
+     char *archive;
+     long int (*function) ();
+     long int arg;
+{
+#ifdef AIAMAG
+  FL_HDR fl_header;
+#ifdef AIAMAGBIG
+  int big_archive = 0;
+  FL_HDR_BIG fl_header_big;
+#endif
+#else
+  int long_name = 0;
+#endif
+  char *namemap = 0;
+  register int desc = open (archive, O_RDONLY, 0);
+  if (desc < 0)
+    return -1;
+#ifdef SARMAG
+  {
+    char buf[SARMAG];
+    register int nread = read (desc, buf, SARMAG);
+    if (nread != SARMAG || bcmp (buf, ARMAG, SARMAG))
+      {
+       (void) close (desc);
+       return -2;
+      }
+  }
+#else
+#ifdef AIAMAG
+  {
+    register int nread = read (desc, (char *) &fl_header, FL_HSZ);
+
+    if (nread != FL_HSZ)
+      {
+       (void) close (desc);
+       return -2;
+      }
+#ifdef AIAMAGBIG
+    /* If this is a "big" archive, then set the flag and
+       re-read the header into the "big" structure. */
+    if (!bcmp (fl_header.fl_magic, AIAMAGBIG, SAIAMAG))
+      {
+       big_archive = 1;
+
+       /* seek back to beginning of archive */
+       if (lseek (desc, 0, 0) < 0)
+         {
+           (void) close (desc);
+           return -2;
+         }
+
+       /* re-read the header into the "big" structure */
+       nread = read (desc, (char *) &fl_header_big, FL_HSZ_BIG);
+       if (nread != FL_HSZ_BIG)
+         {
+           (void) close (desc);
+           return -2;
+         }
+      }
+    else
+#endif
+       /* Check to make sure this is a "normal" archive. */
+      if (bcmp (fl_header.fl_magic, AIAMAG, SAIAMAG))
+       {
+          (void) close (desc);
+          return -2;
+       }
+  }
+#else
+  {
+#ifndef M_XENIX
+    int buf;
+#else
+    unsigned short int buf;
+#endif
+    register int nread = read(desc, &buf, sizeof (buf));
+    if (nread != sizeof (buf) || buf != ARMAG)
+      {
+       (void) close (desc);
+       return -2;
+      }
+  }
+#endif
+#endif
+
+  /* Now find the members one by one.  */
+  {
+#ifdef SARMAG
+    register long int member_offset = SARMAG;
+#else
+#ifdef AIAMAG
+    long int member_offset;
+    long int last_member_offset;
+
+#ifdef AIAMAGBIG
+    if ( big_archive )
+      {
+       sscanf (fl_header_big.fl_fstmoff, "%20ld", &member_offset);
+       sscanf (fl_header_big.fl_lstmoff, "%20ld", &last_member_offset);
+      }
+    else
+#endif
+      {
+       sscanf (fl_header.fl_fstmoff, "%12ld", &member_offset);
+       sscanf (fl_header.fl_lstmoff, "%12ld", &last_member_offset);
+      }
+
+    if (member_offset == 0)
+      {
+       /* Empty archive.  */
+       close (desc);
+       return 0;
+      }
+#else
+#ifndef        M_XENIX
+    register long int member_offset = sizeof (int);
+#else  /* Xenix.  */
+    register long int member_offset = sizeof (unsigned short int);
+#endif /* Not Xenix.  */
+#endif
+#endif
+
+    while (1)
+      {
+       register int nread;
+       struct ar_hdr member_header;
+#ifdef AIAMAGBIG
+       struct ar_hdr_big member_header_big;
+#endif
+#ifdef AIAMAG
+       char name[256];
+       int name_len;
+       long int dateval;
+       int uidval, gidval;
+       long int data_offset;
+#else
+       char namebuf[sizeof member_header.ar_name + 1];
+       char *name;
+       int is_namemap;         /* Nonzero if this entry maps long names.  */
+#endif
+       long int eltsize;
+       int eltmode;
+       long int fnval;
+
+       if (lseek (desc, member_offset, 0) < 0)
+         {
+           (void) close (desc);
+           return -2;
+         }
+
+#ifdef AIAMAG
+#define       AR_MEMHDR_SZ(x) (sizeof(x) - sizeof (x._ar_name))
+
+#ifdef AIAMAGBIG
+       if (big_archive)
+         {
+           nread = read (desc, (char *) &member_header_big,
+                         AR_MEMHDR_SZ(member_header_big) );
+
+           if (nread != AR_MEMHDR_SZ(member_header_big))
+             {
+               (void) close (desc);
+               return -2;
+             }
+
+           sscanf (member_header_big.ar_namlen, "%4d", &name_len);
+           nread = read (desc, name, name_len);
+
+           if (nread != name_len)
+             {
+               (void) close (desc);
+               return -2;
+             }
+
+           name[name_len] = 0;
+
+           sscanf (member_header_big.ar_date, "%12ld", &dateval);
+           sscanf (member_header_big.ar_uid, "%12d", &uidval);
+           sscanf (member_header_big.ar_gid, "%12d", &gidval);
+           sscanf (member_header_big.ar_mode, "%12o", &eltmode);
+           sscanf (member_header_big.ar_size, "%20ld", &eltsize);
+
+           data_offset = (member_offset + AR_MEMHDR_SZ(member_header_big)
+                          + name_len + 2);
+         }
+       else
+#endif
+         {
+           nread = read (desc, (char *) &member_header,
+                         AR_MEMHDR_SZ(member_header) );
+
+           if (nread != AR_MEMHDR_SZ(member_header))
+             {
+               (void) close (desc);
+               return -2;
+             }
+
+           sscanf (member_header.ar_namlen, "%4d", &name_len);
+           nread = read (desc, name, name_len);
+
+           if (nread != name_len)
+             {
+               (void) close (desc);
+               return -2;
+             }
+
+           name[name_len] = 0;
+
+           sscanf (member_header.ar_date, "%12ld", &dateval);
+           sscanf (member_header.ar_uid, "%12d", &uidval);
+           sscanf (member_header.ar_gid, "%12d", &gidval);
+           sscanf (member_header.ar_mode, "%12o", &eltmode);
+           sscanf (member_header.ar_size, "%12ld", &eltsize);
+
+           data_offset = (member_offset + AR_MEMHDR_SZ(member_header)
+                          + name_len + 2);
+         }
+       data_offset += data_offset % 2;
+
+       fnval =
+         (*function) (desc, name, 0,
+                      member_offset, data_offset, eltsize,
+                      dateval, uidval, gidval,
+                      eltmode, arg);
+
+#else  /* Not AIAMAG.  */
+       nread = read (desc, (char *) &member_header, AR_HDR_SIZE);
+       if (nread == 0)
+         /* No data left means end of file; that is OK.  */
+         break;
+
+       if (nread != AR_HDR_SIZE
+#if defined(ARFMAG) || defined(ARFZMAG)
+           || (
+# ifdef ARFMAG
+                bcmp (member_header.ar_fmag, ARFMAG, 2)
+# else
+                1
+# endif
+                &&
+# ifdef ARFZMAG
+                bcmp (member_header.ar_fmag, ARFZMAG, 2)
+# else
+                1
+# endif
+               )
+#endif
+           )
+         {
+           (void) close (desc);
+           return -2;
+         }
+
+       name = namebuf;
+       bcopy (member_header.ar_name, name, sizeof member_header.ar_name);
+       {
+         register char *p = name + sizeof member_header.ar_name;
+         do
+           *p = '\0';
+         while (p > name && *--p == ' ');
+
+#ifndef AIAMAG
+         /* If the member name is "//" or "ARFILENAMES/" this may be
+            a list of file name mappings.  The maximum file name
+            length supported by the standard archive format is 14
+            characters.  This member will actually always be the
+            first or second entry in the archive, but we don't check
+            that.  */
+         is_namemap = (!strcmp (name, "//")
+                       || !strcmp (name, "ARFILENAMES/"));
+#endif /* Not AIAMAG. */
+         /* On some systems, there is a slash after each member name.  */
+         if (*p == '/')
+           *p = '\0';
+
+#ifndef AIAMAG
+         /* If the member name starts with a space or a slash, this
+            is an index into the file name mappings (used by GNU ar).
+            Otherwise if the member name looks like #1/NUMBER the
+            real member name appears in the element data (used by
+            4.4BSD).  */
+         if (! is_namemap
+             && (name[0] == ' ' || name[0] == '/')
+             && namemap != 0)
+           {
+             name = namemap + atoi (name + 1);
+             long_name = 1;
+           }
+         else if (name[0] == '#'
+                  && name[1] == '1'
+                  && name[2] == '/')
+           {
+             int namesize = atoi (name + 3);
+
+             name = (char *) alloca (namesize + 1);
+             nread = read (desc, name, namesize);
+             if (nread != namesize)
+               {
+                 close (desc);
+                 return -2;
+               }
+             name[namesize] = '\0';
+
+             long_name = 1;
+           }
+#endif /* Not AIAMAG. */
+       }
+
+#ifndef        M_XENIX
+       sscanf (member_header.ar_mode, "%o", &eltmode);
+       eltsize = atol (member_header.ar_size);
+#else  /* Xenix.  */
+       eltmode = (unsigned short int) member_header.ar_mode;
+       eltsize = member_header.ar_size;
+#endif /* Not Xenix.  */
+
+       fnval =
+         (*function) (desc, name, ! long_name, member_offset,
+                      member_offset + AR_HDR_SIZE, eltsize,
+#ifndef        M_XENIX
+                      atol (member_header.ar_date),
+                      atoi (member_header.ar_uid),
+                      atoi (member_header.ar_gid),
+#else  /* Xenix.  */
+                      member_header.ar_date,
+                      member_header.ar_uid,
+                      member_header.ar_gid,
+#endif /* Not Xenix.  */
+                      eltmode, arg);
+
+#endif  /* AIAMAG.  */
+
+       if (fnval)
+         {
+           (void) close (desc);
+           return fnval;
+         }
+
+#ifdef AIAMAG
+       if (member_offset == last_member_offset)
+         /* End of the chain.  */
+         break;
+
+#ifdef AIAMAGBIG
+       if (big_archive)
+          sscanf (member_header_big.ar_nxtmem, "%20ld", &member_offset);
+       else
+#endif
+         sscanf (member_header.ar_nxtmem, "%12ld", &member_offset);
+
+       if (lseek (desc, member_offset, 0) != member_offset)
+         {
+           (void) close (desc);
+           return -2;
+         }
+#else
+
+       /* If this member maps archive names, we must read it in.  The
+          name map will always precede any members whose names must
+          be mapped.  */
+       if (is_namemap)
+         {
+           char *clear;
+           char *limit;
+
+           namemap = (char *) alloca (eltsize);
+           nread = read (desc, namemap, eltsize);
+           if (nread != eltsize)
+             {
+               (void) close (desc);
+               return -2;
+             }
+
+           /* The names are separated by newlines.  Some formats have
+              a trailing slash.  Null terminate the strings for
+              convenience.  */
+           limit = namemap + eltsize;
+           for (clear = namemap; clear < limit; clear++)
+             {
+               if (*clear == '\n')
+                 {
+                   *clear = '\0';
+                   if (clear[-1] == '/')
+                     clear[-1] = '\0';
+                 }
+             }
+
+           is_namemap = 0;
+         }
+
+       member_offset += AR_HDR_SIZE + eltsize;
+       if (member_offset % 2 != 0)
+         member_offset++;
+#endif
+      }
+  }
+
+  close (desc);
+  return 0;
+}
+#endif /* !VMS */
+\f
+/* Return nonzero iff NAME matches MEM.
+   If TRUNCATED is nonzero, MEM may be truncated to
+   sizeof (struct ar_hdr.ar_name) - 1.  */
+
+int
+ar_name_equal (name, mem, truncated)
+     char *name, *mem;
+     int truncated;
+{
+  char *p;
+
+  p = strrchr (name, '/');
+  if (p != 0)
+    name = p + 1;
+
+#ifndef VMS
+  if (truncated)
+    {
+#ifdef AIAMAG
+      /* TRUNCATED should never be set on this system.  */
+      abort ();
+#else
+      struct ar_hdr hdr;
+#if !defined (__hpux) && !defined (cray)
+      return strneq (name, mem, sizeof(hdr.ar_name) - 1);
+#else
+      return strneq (name, mem, sizeof(hdr.ar_name) - 2);
+#endif /* !__hpux && !cray */
+#endif /* !AIAMAG */
+    }
+#endif /* !VMS */
+
+  return !strcmp (name, mem);
+}
+\f
+#ifndef VMS
+/* ARGSUSED */
+static long int
+ar_member_pos (desc, mem, truncated,
+              hdrpos, datapos, size, date, uid, gid, mode, name)
+     int desc;
+     char *mem;
+     int truncated;
+     long int hdrpos, datapos, size, date;
+     int uid, gid, mode;
+     char *name;
+{
+  if (!ar_name_equal (name, mem, truncated))
+    return 0;
+  return hdrpos;
+}
+
+/* Set date of member MEMNAME in archive ARNAME to current time.
+   Returns 0 if successful,
+   -1 if file ARNAME does not exist,
+   -2 if not a valid archive,
+   -3 if other random system call error (including file read-only),
+   1 if valid but member MEMNAME does not exist.  */
+
+int
+ar_member_touch (arname, memname)
+     char *arname, *memname;
+{
+  register long int pos = ar_scan (arname, ar_member_pos, (long int) memname);
+  register int fd;
+  struct ar_hdr ar_hdr;
+  register int i;
+  struct stat statbuf;
+
+  if (pos < 0)
+    return (int) pos;
+  if (!pos)
+    return 1;
+
+  fd = open (arname, O_RDWR, 0666);
+  if (fd < 0)
+    return -3;
+  /* Read in this member's header */
+  if (lseek (fd, pos, 0) < 0)
+    goto lose;
+  if (AR_HDR_SIZE != read (fd, (char *) &ar_hdr, AR_HDR_SIZE))
+    goto lose;
+  /* Write back the header, thus touching the archive file.  */
+  if (lseek (fd, pos, 0) < 0)
+    goto lose;
+  if (AR_HDR_SIZE != write (fd, (char *) &ar_hdr, AR_HDR_SIZE))
+    goto lose;
+  /* The file's mtime is the time we we want.  */
+  if (fstat (fd, &statbuf) < 0)
+    goto lose;
+#if defined(ARFMAG) || defined(ARFZMAG) || defined(AIAMAG) || defined(WINDOWS32)
+  /* Advance member's time to that time */
+  for (i = 0; i < sizeof ar_hdr.ar_date; i++)
+    ar_hdr.ar_date[i] = ' ';
+  sprintf (ar_hdr.ar_date, "%ld", (long int) statbuf.st_mtime);
+#ifdef AIAMAG
+  ar_hdr.ar_date[strlen(ar_hdr.ar_date)] = ' ';
+#endif
+#else
+  ar_hdr.ar_date = statbuf.st_mtime;
+#endif
+  /* Write back this member's header */
+  if (lseek (fd, pos, 0) < 0)
+    goto lose;
+  if (AR_HDR_SIZE != write (fd, (char *) &ar_hdr, AR_HDR_SIZE))
+    goto lose;
+  close (fd);
+  return 0;
+
+ lose:
+  i = errno;
+  close (fd);
+  errno = i;
+  return -3;
+}
+#endif
+\f
+#ifdef TEST
+
+long int
+describe_member (desc, name, truncated,
+                hdrpos, datapos, size, date, uid, gid, mode)
+     int desc;
+     char *name;
+     int truncated;
+     long int hdrpos, datapos, size, date;
+     int uid, gid, mode;
+{
+  extern char *ctime ();
+
+  printf (_("Member `%s'%s: %ld bytes at %ld (%ld).\n"),
+         name, truncated ? _(" (name might be truncated)") : "",
+         size, hdrpos, datapos);
+  printf (_("  Date %s"), ctime (&date));
+  printf (_("  uid = %d, gid = %d, mode = 0%o.\n"), uid, gid, mode);
+
+  return 0;
+}
+
+main (argc, argv)
+     int argc;
+     char **argv;
+{
+  ar_scan (argv[1], describe_member);
+  return 0;
+}
+
+#endif /* TEST.  */
+\f
+#endif /* NO_ARCHIVES.  */
diff --git a/src/mkutil/make-3.80/build.sh.in b/src/mkutil/make-3.80/build.sh.in
new file mode 100644 (file)
index 0000000..b8a925f
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+# Shell script to build GNU Make in the absence of any `make' program.
+# @configure_input@
+
+# Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc.
+# This file is part of GNU Make.
+#
+# GNU Make is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Make is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Make; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# See Makefile.in for comments describing these variables.
+
+srcdir='@srcdir@'
+CC='@CC@'
+CFLAGS='@CFLAGS@'
+CPPFLAGS='@CPPFLAGS@'
+LDFLAGS='@LDFLAGS@'
+ALLOCA='@ALLOCA@'
+LOADLIBES='@LIBS@'
+extras='@LIBOBJS@'
+REMOTE='@REMOTE@'
+GLOBLIB='@GLOBLIB@'
+
+# Common prefix for machine-independent installed files.
+prefix='@prefix@'
+# Common prefix for machine-dependent installed files.
+exec_prefix=`eval echo @exec_prefix@`
+# Directory to find libraries in for `-lXXX'.
+libdir=${exec_prefix}/lib
+# Directory to search by default for included makefiles.
+includedir=${prefix}/include
+
+localedir=${prefix}/share/locale
+aliaspath=${localedir}:.
+
+defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@'
+
+# Exit as soon as any command fails.
+set -e
+
+# These are all the objects we need to link together.
+objs="ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o variable.o version.o vpath.o hash.o remote-${REMOTE}.o ${extras} ${ALLOCA}"
+
+if [ x"$GLOBLIB" != x ]; then
+  objs="$objs glob/fnmatch.o glob/glob.o"
+  globinc=-I${srcdir}/glob
+fi
+
+# Compile the source files into those objects.
+for file in `echo ${objs} | sed 's/\.o/.c/g'`; do
+  echo compiling ${file}...
+  $CC $defines $CPPFLAGS $CFLAGS \
+      -c -I. -I${srcdir} ${globinc} ${srcdir}/$file
+done
+
+# The object files were actually all put in the current directory.
+# Remove the source directory names from the list.
+srcobjs="$objs"
+objs=
+for obj in $srcobjs; do
+  objs="$objs `basename $obj`"
+done
+
+# Link all the objects together.
+echo linking make...
+$CC $LDFLAGS $objs $LOADLIBES -o make.new
+echo done
+mv -f make.new make
diff --git a/src/mkutil/make-3.80/build_w32.bat b/src/mkutil/make-3.80/build_w32.bat
new file mode 100644 (file)
index 0000000..559fe8d
--- /dev/null
@@ -0,0 +1,138 @@
+set make=gnumake\r
++if not exist config.h copy config.h.W32 config.h\r
+cd w32\subproc\r
+echo "Creating the subproc library"\r
+%ComSpec% /c build.bat\r
+cd ..\..\r
+del link.dbg link.rel\r
+del config.h\r
+copy config.h.W32 config.h\r
+echo off\r
+echo "Creating GNU make for Windows 95/NT"\r
+echo on\r
+if not exist .\WinDebug\nul mkdir .\WinDebug\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D TIVOLI /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c variable.c\r
+echo WinDebug\variable.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c rule.c\r
+echo WinDebug\rule.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remote-stub.c\r
+echo WinDebug\remote-stub.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c commands.c\r
+echo WinDebug\commands.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c file.c\r
+echo WinDebug\file.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getloadavg.c\r
+echo WinDebug\getloadavg.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c default.c\r
+echo WinDebug\default.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c signame.c\r
+echo WinDebug\signame.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c expand.c\r
+echo WinDebug\expand.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c dir.c\r
+echo WinDebug\dir.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c main.c\r
+echo WinDebug\main.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getopt1.c\r
+echo WinDebug\getopt1.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c job.c\r
+echo WinDebug\job.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c read.c\r
+echo WinDebug\read.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c version.c\r
+echo WinDebug\version.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getopt.c\r
+echo WinDebug\getopt.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c arscan.c\r
+echo WinDebug\arscan.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remake.c\r
+echo WinDebug\remake.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c misc.c\r
+echo WinDebug\misc.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c ar.c\r
+echo WinDebug\ar.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c function.c\r
+echo WinDebug\function.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c vpath.c\r
+echo WinDebug\vpath.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c implicit.c\r
+echo WinDebug\implicit.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c  .\w32\compat\dirent.c\r
+echo WinDebug\dirent.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c  .\glob\glob.c\r
+echo WinDebug\glob.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c  .\glob\fnmatch.c\r
+echo WinDebug\fnmatch.obj >>link.dbg\r
+cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c  .\w32\pathstuff.c\r
+echo WinDebug\pathstuff.obj >>link.dbg\r
+echo off\r
+echo "Linking WinDebug/%make%.exe"\r
+rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /MACHINE:I386 /OUT:.\WinDebug/%make%.exe .\WinDebug/variable.obj  .\WinDebug/rule.obj  .\WinDebug/remote-stub.obj  .\WinDebug/commands.obj  .\WinDebug/file.obj  .\WinDebug/getloadavg.obj  .\WinDebug/default.obj  .\WinDebug/signame.obj  .\WinDebug/expand.obj  .\WinDebug/dir.obj  .\WinDebug/main.obj  .\WinDebug/getopt1.obj  .\WinDebug/job.obj  .\WinDebug/read.obj  .\WinDebug/version.obj  .\WinDebug/getopt.obj  .\WinDebug/arscan.obj  .\WinDebug/remake.obj  .\WinDebug/misc.obj  .\WinDebug/ar.obj  .\WinDebug/function.obj  .\WinDebug/vpath.obj  .\WinDebug/implicit.obj  .\WinDebug/dirent.obj  .\WinDebug/glob.obj  .\WinDebug/fnmatch.obj  .\WinDebug/pathstuff.obj\r
+echo kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib >>link.dbg\r
+link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /MACHINE:I386 /OUT:.\WinDebug/%make%.exe @link.dbg\r
+if not exist .\WinDebug/%make%.exe echo "WinDebug build failed"\r
+if exist .\WinDebug/%make%.exe echo "WinDebug build succeeded!"\r
+if not exist .\WinRel\nul mkdir .\WinRel\r
+echo on\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /D TIVOLI /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c variable.c\r
+echo WinRel\variable.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c rule.c\r
+echo WinRel\rule.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c remote-stub.c\r
+echo WinRel\remote-stub.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c commands.c\r
+echo WinRel\commands.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c file.c\r
+echo WinRel\file.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getloadavg.c\r
+echo WinRel\getloadavg.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c default.c\r
+echo WinRel\default.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c signame.c\r
+echo WinRel\signame.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c expand.c\r
+echo WinRel\expand.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c dir.c\r
+echo WinRel\dir.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c main.c\r
+echo WinRel\main.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getopt1.c\r
+echo WinRel\getopt1.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c job.c\r
+echo WinRel\job.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c read.c\r
+echo WinRel\read.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c version.c\r
+echo WinRel\version.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getopt.c\r
+echo WinRel\getopt.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c arscan.c\r
+echo WinRel\arscan.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c remake.c\r
+echo WinRel\remake.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c misc.c\r
+echo WinRel\misc.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c ar.c\r
+echo WinRel\ar.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c function.c\r
+echo WinRel\function.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c vpath.c\r
+echo WinRel\vpath.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c implicit.c\r
+echo WinRel\implicit.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c  .\w32\compat\dirent.c\r
+echo WinRel\dirent.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c  .\glob\glob.c\r
+echo WinRel\glob.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c  .\glob\fnmatch.c\r
+echo WinRel\fnmatch.obj >>link.rel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c  .\w32\pathstuff.c\r
+echo WinRel\pathstuff.obj >>link.rel\r
+echo off\r
+echo "Linking WinRel/%make%.exe"\r
+rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /MACHINE:I386 /OUT:.\WinRel/%make%.exe .\WinRel/variable.obj  .\WinRel/rule.obj  .\WinRel/remote-stub.obj  .\WinRel/commands.obj  .\WinRel/file.obj  .\WinRel/getloadavg.obj  .\WinRel/default.obj  .\WinRel/signame.obj  .\WinRel/expand.obj  .\WinRel/dir.obj  .\WinRel/main.obj  .\WinRel/getopt1.obj  .\WinRel/job.obj  .\WinRel/read.obj  .\WinRel/version.obj  .\WinRel/getopt.obj  .\WinRel/arscan.obj  .\WinRel/remake.obj  .\WinRel/misc.obj  .\WinRel/ar.obj  .\WinRel/function.obj  .\WinRel/vpath.obj  .\WinRel/implicit.obj  .\WinRel/dirent.obj  .\WinRel/glob.obj  .\WinRel/fnmatch.obj  .\WinRel/pathstuff.obj\r
+echo kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib >>link.rel\r
+link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /MACHINE:I386 /OUT:.\WinRel/%make%.exe @link.rel\r
+if not exist .\WinRel/%make%.exe echo "WinRel build failed"\r
+if exist .\WinRel/%make%.exe echo "WinRel build succeeded!"\r
+echo on\r
diff --git a/src/mkutil/make-3.80/commands.c b/src/mkutil/make-3.80/commands.c
new file mode 100644 (file)
index 0000000..84b58de
--- /dev/null
@@ -0,0 +1,584 @@
+/* Command processing for GNU Make.
+Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "dep.h"
+#include "filedef.h"
+#include "variable.h"
+#include "job.h"
+#include "commands.h"
+
+#if VMS
+# define FILE_LIST_SEPARATOR ','
+#else
+# define FILE_LIST_SEPARATOR ' '
+#endif
+
+extern int remote_kill PARAMS ((int id, int sig));
+
+#ifndef        HAVE_UNISTD_H
+extern int getpid ();
+#endif
+\f
+/* Set FILE's automatic variables up.  */
+
+static void
+set_file_variables (file)
+     register struct file *file;
+{
+  char *at, *percent, *star, *less;
+
+#ifndef        NO_ARCHIVES
+  /* If the target is an archive member `lib(member)',
+     then $@ is `lib' and $% is `member'.  */
+
+  if (ar_name (file->name))
+    {
+      unsigned int len;
+      char *p;
+
+      p = strchr (file->name, '(');
+      at = (char *) alloca (p - file->name + 1);
+      bcopy (file->name, at, p - file->name);
+      at[p - file->name] = '\0';
+      len = strlen (p + 1);
+      percent = (char *) alloca (len);
+      bcopy (p + 1, percent, len - 1);
+      percent[len - 1] = '\0';
+    }
+  else
+#endif /* NO_ARCHIVES.  */
+    {
+      at = file->name;
+      percent = "";
+    }
+
+  /* $* is the stem from an implicit or static pattern rule.  */
+  if (file->stem == 0)
+    {
+      /* In Unix make, $* is set to the target name with
+        any suffix in the .SUFFIXES list stripped off for
+        explicit rules.  We store this in the `stem' member.  */
+      register struct dep *d;
+      char *name;
+      unsigned int len;
+
+#ifndef        NO_ARCHIVES
+      if (ar_name (file->name))
+       {
+         name = strchr (file->name, '(') + 1;
+         len = strlen (name) - 1;
+       }
+      else
+#endif
+       {
+         name = file->name;
+         len = strlen (name);
+       }
+
+      for (d = enter_file (".SUFFIXES")->deps; d != 0; d = d->next)
+       {
+         unsigned int slen = strlen (dep_name (d));
+         if (len > slen && strneq (dep_name (d), name + (len - slen), slen))
+           {
+             file->stem = savestring (name, len - slen);
+             break;
+           }
+       }
+      if (d == 0)
+       file->stem = "";
+    }
+  star = file->stem;
+
+  /* $< is the first dependency.  */
+  less = file->deps != 0 ? dep_name (file->deps) : "";
+
+  if (file->cmds == default_file->cmds)
+    /* This file got its commands from .DEFAULT.
+       In this case $< is the same as $@.  */
+    less = at;
+
+#define        DEFINE_VARIABLE(name, len, value) \
+  (void) define_variable_for_file (name,len,value,o_automatic,0,file)
+
+  /* Define the variables.  */
+
+  DEFINE_VARIABLE ("<", 1, less);
+  DEFINE_VARIABLE ("*", 1, star);
+  DEFINE_VARIABLE ("@", 1, at);
+  DEFINE_VARIABLE ("%", 1, percent);
+
+  /* Compute the values for $^, $+, $?, and $|.  */
+
+  {
+    unsigned int qmark_len, plus_len, bar_len;
+    char *caret_value, *plus_value;
+    char *cp;
+    char *qmark_value;
+    char *bar_value;
+    char *qp;
+    char *bp;
+    struct dep *d;
+    unsigned int len;
+
+    /* Compute first the value for $+, which is supposed to contain
+       duplicate dependencies as they were listed in the makefile.  */
+
+    plus_len = 0;
+    for (d = file->deps; d != 0; d = d->next)
+      if (! d->ignore_mtime)
+       plus_len += strlen (dep_name (d)) + 1;
+    if (plus_len == 0)
+      plus_len++;
+
+    cp = plus_value = (char *) alloca (plus_len);
+
+    qmark_len = plus_len + 1;  /* Will be this or less.  */
+    for (d = file->deps; d != 0; d = d->next)
+      if (! d->ignore_mtime)
+        {
+          char *c = dep_name (d);
+
+#ifndef        NO_ARCHIVES
+          if (ar_name (c))
+            {
+              c = strchr (c, '(') + 1;
+              len = strlen (c) - 1;
+            }
+          else
+#endif
+            len = strlen (c);
+
+          bcopy (c, cp, len);
+          cp += len;
+          *cp++ = FILE_LIST_SEPARATOR;
+          if (! d->changed)
+            qmark_len -= len + 1;      /* Don't space in $? for this one.  */
+        }
+
+    /* Kill the last space and define the variable.  */
+
+    cp[cp > plus_value ? -1 : 0] = '\0';
+    DEFINE_VARIABLE ("+", 1, plus_value);
+
+    /* Make sure that no dependencies are repeated.  This does not
+       really matter for the purpose of updating targets, but it
+       might make some names be listed twice for $^ and $?.  */
+
+    uniquize_deps (file->deps);
+
+    bar_len = 0;
+    for (d = file->deps; d != 0; d = d->next)
+      if (d->ignore_mtime)
+       bar_len += strlen (dep_name (d)) + 1;
+    if (bar_len == 0)
+      bar_len++;
+
+    /* Compute the values for $^, $?, and $|.  */
+
+    cp = caret_value = plus_value; /* Reuse the buffer; it's big enough.  */
+    qp = qmark_value = (char *) alloca (qmark_len);
+    bp = bar_value = (char *) alloca (bar_len);
+
+    for (d = file->deps; d != 0; d = d->next)
+      {
+       char *c = dep_name (d);
+
+#ifndef        NO_ARCHIVES
+       if (ar_name (c))
+         {
+           c = strchr (c, '(') + 1;
+           len = strlen (c) - 1;
+         }
+       else
+#endif
+         len = strlen (c);
+
+        if (d->ignore_mtime)
+          {
+           bcopy (c, bp, len);
+           bp += len;
+           *bp++ = FILE_LIST_SEPARATOR;
+         }
+       else
+         {
+            bcopy (c, cp, len);
+            cp += len;
+            *cp++ = FILE_LIST_SEPARATOR;
+            if (d->changed)
+              {
+                bcopy (c, qp, len);
+                qp += len;
+                *qp++ = FILE_LIST_SEPARATOR;
+              }
+          }
+      }
+
+    /* Kill the last spaces and define the variables.  */
+
+    cp[cp > caret_value ? -1 : 0] = '\0';
+    DEFINE_VARIABLE ("^", 1, caret_value);
+
+    qp[qp > qmark_value ? -1 : 0] = '\0';
+    DEFINE_VARIABLE ("?", 1, qmark_value);
+
+    bp[bp > bar_value ? -1 : 0] = '\0';
+    DEFINE_VARIABLE ("|", 1, bar_value);
+  }
+
+#undef DEFINE_VARIABLE
+}
+\f
+/* Chop CMDS up into individual command lines if necessary.
+   Also set the `lines_flags' and `any_recurse' members.  */
+
+void
+chop_commands (cmds)
+     register struct commands *cmds;
+{
+  register char *p;
+  unsigned int nlines, idx;
+  char **lines;
+
+  /* If we don't have any commands,
+     or we already parsed them, never mind.  */
+
+  if (!cmds || cmds->command_lines != 0)
+    return;
+
+  /* Chop CMDS->commands up into lines in CMDS->command_lines.
+        Also set the corresponding CMDS->lines_flags elements,
+        and the CMDS->any_recurse flag.  */
+
+  nlines = 5;
+  lines = (char **) xmalloc (5 * sizeof (char *));
+  idx = 0;
+  p = cmds->commands;
+  while (*p != '\0')
+    {
+      char *end = p;
+    find_end:;
+      end = strchr (end, '\n');
+      if (end == 0)
+        end = p + strlen (p);
+      else if (end > p && end[-1] == '\\')
+        {
+          int backslash = 1;
+          register char *b;
+          for (b = end - 2; b >= p && *b == '\\'; --b)
+            backslash = !backslash;
+          if (backslash)
+            {
+              ++end;
+              goto find_end;
+            }
+        }
+
+      if (idx == nlines)
+        {
+          nlines += 2;
+          lines = (char **) xrealloc ((char *) lines,
+                                      nlines * sizeof (char *));
+        }
+      lines[idx++] = savestring (p, end - p);
+      p = end;
+      if (*p != '\0')
+        ++p;
+    }
+
+  if (idx != nlines)
+    {
+      nlines = idx;
+      lines = (char **) xrealloc ((char *) lines,
+                                  nlines * sizeof (char *));
+    }
+
+  cmds->ncommand_lines = nlines;
+  cmds->command_lines = lines;
+
+  cmds->any_recurse = 0;
+  cmds->lines_flags = (char *) xmalloc (nlines);
+  for (idx = 0; idx < nlines; ++idx)
+    {
+      int flags = 0;
+
+      for (p = lines[idx];
+           isblank ((unsigned char)*p) || *p == '-' || *p == '@' || *p == '+';
+           ++p)
+        switch (*p)
+          {
+          case '+':
+            flags |= COMMANDS_RECURSE;
+            break;
+          case '@':
+            flags |= COMMANDS_SILENT;
+            break;
+          case '-':
+            flags |= COMMANDS_NOERROR;
+            break;
+          }
+      if (!(flags & COMMANDS_RECURSE))
+        {
+          unsigned int len = strlen (p);
+          if (sindex (p, len, "$(MAKE)", 7) != 0
+              || sindex (p, len, "${MAKE}", 7) != 0)
+            flags |= COMMANDS_RECURSE;
+        }
+
+      cmds->lines_flags[idx] = flags;
+      cmds->any_recurse |= flags & COMMANDS_RECURSE;
+    }
+}
+\f
+/* Execute the commands to remake FILE.  If they are currently executing,
+   return or have already finished executing, just return.  Otherwise,
+   fork off a child process to run the first command line in the sequence.  */
+
+void
+execute_file_commands (file)
+     struct file *file;
+{
+  register char *p;
+
+  /* Don't go through all the preparations if
+     the commands are nothing but whitespace.  */
+
+  for (p = file->cmds->commands; *p != '\0'; ++p)
+    if (!isspace ((unsigned char)*p) && *p != '-' && *p != '@')
+      break;
+  if (*p == '\0')
+    {
+      /* If there are no commands, assume everything worked.  */
+      set_command_state (file, cs_running);
+      file->update_status = 0;
+      notice_finished_file (file);
+      return;
+    }
+
+  /* First set the automatic variables according to this file.  */
+
+  initialize_file_variables (file, 0);
+
+  set_file_variables (file);
+
+  /* Start the commands running.  */
+  new_job (file);
+}
+\f
+/* This is set while we are inside fatal_error_signal,
+   so things can avoid nonreentrant operations.  */
+
+int handling_fatal_signal = 0;
+
+/* Handle fatal signals.  */
+
+RETSIGTYPE
+fatal_error_signal (sig)
+     int sig;
+{
+#ifdef __MSDOS__
+  extern int dos_status, dos_command_running;
+
+  if (dos_command_running)
+    {
+      /* That was the child who got the signal, not us.  */
+      dos_status |= (sig << 8);
+      return;
+    }
+  remove_intermediates (1);
+  exit (EXIT_FAILURE);
+#else /* not __MSDOS__ */
+#ifdef _AMIGA
+  remove_intermediates (1);
+  if (sig == SIGINT)
+     fputs (_("*** Break.\n"), stderr);
+
+  exit (10);
+#else /* not Amiga */
+  handling_fatal_signal = 1;
+
+  /* Set the handling for this signal to the default.
+     It is blocked now while we run this handler.  */
+  signal (sig, SIG_DFL);
+
+  /* A termination signal won't be sent to the entire
+     process group, but it means we want to kill the children.  */
+
+  if (sig == SIGTERM)
+    {
+      register struct child *c;
+      for (c = children; c != 0; c = c->next)
+       if (!c->remote)
+         (void) kill (c->pid, SIGTERM);
+    }
+
+  /* If we got a signal that means the user
+     wanted to kill make, remove pending targets.  */
+
+  if (sig == SIGTERM || sig == SIGINT
+#ifdef SIGHUP
+    || sig == SIGHUP
+#endif
+#ifdef SIGQUIT
+    || sig == SIGQUIT
+#endif
+    )
+    {
+      register struct child *c;
+
+      /* Remote children won't automatically get signals sent
+        to the process group, so we must send them.  */
+      for (c = children; c != 0; c = c->next)
+       if (c->remote)
+         (void) remote_kill (c->pid, sig);
+
+      for (c = children; c != 0; c = c->next)
+       delete_child_targets (c);
+
+      /* Clean up the children.  We don't just use the call below because
+        we don't want to print the "Waiting for children" message.  */
+      while (job_slots_used > 0)
+       reap_children (1, 0);
+    }
+  else
+    /* Wait for our children to die.  */
+    while (job_slots_used > 0)
+      reap_children (1, 1);
+
+  /* Delete any non-precious intermediate files that were made.  */
+
+  remove_intermediates (1);
+
+#ifdef SIGQUIT
+  if (sig == SIGQUIT)
+    /* We don't want to send ourselves SIGQUIT, because it will
+       cause a core dump.  Just exit instead.  */
+    exit (EXIT_FAILURE);
+#endif
+
+  /* Signal the same code; this time it will really be fatal.  The signal
+     will be unblocked when we return and arrive then to kill us.  */
+  if (kill (getpid (), sig) < 0)
+    pfatal_with_name ("kill");
+#endif /* not Amiga */
+#endif /* not __MSDOS__  */
+}
+\f
+/* Delete FILE unless it's precious or not actually a file (phony),
+   and it has changed on disk since we last stat'd it.  */
+
+static void
+delete_target (file, on_behalf_of)
+     struct file *file;
+     char *on_behalf_of;
+{
+  struct stat st;
+
+  if (file->precious || file->phony)
+    return;
+
+#ifndef NO_ARCHIVES
+  if (ar_name (file->name))
+    {
+      time_t file_date = (file->last_mtime == NONEXISTENT_MTIME
+                         ? (time_t) -1
+                         : (time_t) FILE_TIMESTAMP_S (file->last_mtime));
+      if (ar_member_date (file->name) != file_date)
+       {
+         if (on_behalf_of)
+           error (NILF, _("*** [%s] Archive member `%s' may be bogus; not deleted"),
+                  on_behalf_of, file->name);
+         else
+           error (NILF, _("*** Archive member `%s' may be bogus; not deleted"),
+                  file->name);
+       }
+      return;
+    }
+#endif
+
+  if (stat (file->name, &st) == 0
+      && S_ISREG (st.st_mode)
+      && FILE_TIMESTAMP_STAT_MODTIME (file->name, st) != file->last_mtime)
+    {
+      if (on_behalf_of)
+       error (NILF, _("*** [%s] Deleting file `%s'"), on_behalf_of, file->name);
+      else
+       error (NILF, _("*** Deleting file `%s'"), file->name);
+      if (unlink (file->name) < 0
+         && errno != ENOENT)   /* It disappeared; so what.  */
+       perror_with_name ("unlink: ", file->name);
+    }
+}
+
+
+/* Delete all non-precious targets of CHILD unless they were already deleted.
+   Set the flag in CHILD to say they've been deleted.  */
+
+void
+delete_child_targets (child)
+     struct child *child;
+{
+  struct dep *d;
+
+  if (child->deleted)
+    return;
+
+  /* Delete the target file if it changed.  */
+  delete_target (child->file, (char *) 0);
+
+  /* Also remove any non-precious targets listed in the `also_make' member.  */
+  for (d = child->file->also_make; d != 0; d = d->next)
+    delete_target (d->file, child->file->name);
+
+  child->deleted = 1;
+}
+\f
+/* Print out the commands in CMDS.  */
+
+void
+print_commands (cmds)
+     register struct commands *cmds;
+{
+  register char *s;
+
+  fputs (_("#  commands to execute"), stdout);
+
+  if (cmds->fileinfo.filenm == 0)
+    puts (_(" (built-in):"));
+  else
+    printf (_(" (from `%s', line %lu):\n"),
+            cmds->fileinfo.filenm, cmds->fileinfo.lineno);
+
+  s = cmds->commands;
+  while (*s != '\0')
+    {
+      char *end;
+
+      while (isspace ((unsigned char)*s))
+       ++s;
+
+      end = strchr (s, '\n');
+      if (end == 0)
+       end = s + strlen (s);
+
+      printf ("\t%.*s\n", (int) (end - s), s);
+
+      s = end;
+    }
+}
diff --git a/src/mkutil/make-3.80/commands.h b/src/mkutil/make-3.80/commands.h
new file mode 100644 (file)
index 0000000..edec910
--- /dev/null
@@ -0,0 +1,42 @@
+/* Definition of data structures describing shell commands for GNU Make.
+Copyright (C) 1988, 1989, 1991, 1993 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* Structure that gives the commands to make a file
+   and information about where these commands came from.  */
+
+struct commands
+  {
+    struct floc fileinfo;      /* Where commands were defined.  */
+    char *commands;            /* Commands text.  */
+    unsigned int ncommand_lines;/* Number of command lines.  */
+    char **command_lines;      /* Commands chopped up into lines.  */
+    char *lines_flags;         /* One set of flag bits for each line.  */
+    int any_recurse;           /* Nonzero if any `lines_recurse' elt has */
+                               /* the COMMANDS_RECURSE bit set.  */
+  };
+
+/* Bits in `lines_flags'.  */
+#define        COMMANDS_RECURSE        1 /* Recurses: + or $(MAKE).  */
+#define        COMMANDS_SILENT         2 /* Silent: @.  */
+#define        COMMANDS_NOERROR        4 /* No errors: -.  */
+
+extern void execute_file_commands PARAMS ((struct file *file));
+extern void print_commands PARAMS ((struct commands *cmds));
+extern void delete_child_targets PARAMS ((struct child *child));
+extern void chop_commands PARAMS ((struct commands *cmds));
diff --git a/src/mkutil/make-3.80/config.ami b/src/mkutil/make-3.80/config.ami
new file mode 100644 (file)
index 0000000..3431794
--- /dev/null
@@ -0,0 +1,317 @@
+/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message. */
+#ifndef _ALL_SOURCE
+/* #undef _ALL_SOURCE */
+#endif
+
+/* Define if using alloca.c.  */
+#define C_ALLOCA
+
+/* Define if the closedir function returns void instead of int.  */
+/* #undef CLOSEDIR_VOID */
+
+/* Define to empty if the keyword does not work.  */
+/* #undef const */
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+   This function is required for alloca.c support on those systems.  */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define for DGUX with <sys/dg_sys_info.h>.  */
+/* #undef DGUX */
+
+/* Define if the `getloadavg' function needs to be run setuid or setgid.  */
+/* #undef GETLOADAVG_PRIVILEGED */
+
+/* Define to `unsigned long' or `unsigned long long'
+   if <inttypes.h> doesn't define.  */
+#define uintmax_t unsigned long
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#define gid_t int
+
+/* Define if you have alloca, as a function or macro.  */
+/* #undef HAVE_ALLOCA */
+
+/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define if you don't have vprintf but do have _doprnt.  */
+/* #undef HAVE_DOPRNT */
+
+/* Define if your system has a working fnmatch function.  */
+/* #undef HAVE_FNMATCH */
+
+/* Define if your system has its own `getloadavg' function.  */
+/* #undef HAVE_GETLOADAVG */
+
+/* Define if you have the getmntent function.  */
+/* #undef HAVE_GETMNTENT */
+
+/* Define if the `long double' type works.  */
+/* #undef HAVE_LONG_DOUBLE */
+
+/* Define if you support file names longer than 14 characters. */
+#define HAVE_LONG_FILE_NAMES 1
+
+/* Define if you have a working `mmap' system call.  */
+/* #undef HAVE_MMAP */
+
+/* Define if system calls automatically restart after interruption
+   by a signal.  */
+/* #undef HAVE_RESTARTABLE_SYSCALLS */
+
+/* Define if your struct stat has st_blksize.  */
+/* #undef HAVE_ST_BLKSIZE */
+
+/* Define if your struct stat has st_blocks.  */
+/* #undef HAVE_ST_BLOCKS */
+
+/* Define if you have the strcoll function and it is properly defined. */
+#define HAVE_STRCOLL 1
+
+/* Define if your struct stat has st_rdev.  */
+#define HAVE_ST_RDEV 1
+
+/* Define if you have the strftime function.  */
+#define HAVE_STRFTIME 1
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if your struct tm has tm_zone.  */
+/* #undef HAVE_TM_ZONE */
+
+/* Define if you don't have tm_zone but do have the external array
+   tzname.  */
+#define HAVE_TZNAME 1
+
+/* Define if you have <unistd.h>.  */
+#define HAVE_UNISTD_H 1
+
+/* Define if utime(file, NULL) sets file's timestamp to the present.  */
+/* #undef HAVE_UTIME_NULL */
+
+/* Define if you have <vfork.h>.  */
+/* #undef HAVE_VFORK_H */
+
+/* Define if you have the vprintf function.  */
+#define HAVE_VPRINTF 1
+
+/* Define if you have the wait3 system call.  */
+/* #undef HAVE_WAIT3 */
+
+/* Define if on MINIX. */
+/* #undef _MINIX */
+
+/* Define if your struct nlist has an n_un member.  */
+/* #undef NLIST_NAME_UNION */
+
+/* Define if you have <nlist.h>.  */
+/* #undef NLIST_STRUCT */
+
+/* Define if your C compiler doesn't accept -c and -o together.  */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#define pid_t int
+
+/* Define if the system does not provide POSIX.1 features except
+   with this defined.  */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define if you need to in order for stat and other things to work.  */
+/* #undef _POSIX_SOURCE */
+
+/* Define as the return type of signal handlers (int or void).  */
+#define RETSIGTYPE void
+
+/* Define if the setvbuf function takes the buffering type as its second
+   argument and the buffer pointer as the third, as on System V
+   before release 3.  */
+/* #undef SETVBUF_REVERSED */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown
+ */
+#define STACK_DIRECTION -1
+
+/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS
+
+/* Define on System V Release 4.  */
+/* #undef SVR4 */
+
+/* Define if `sys_siglist' is declared by <signal.h>.  */
+/* #undef SYS_SIGLIST_DECLARED */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#define uid_t int
+
+/* Define for Encore UMAX.  */
+/* #undef UMAX */
+
+/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
+   instead of <sys/cpustats.h>.  */
+/* #undef UMAX4_3 */
+
+/* Define vfork as fork if vfork does not work.  */
+/* #undef vfork */
+
+/* Name of this package (needed by automake) */
+#define PACKAGE "make"
+
+/* Version of this package (needed by automake) */
+#define VERSION "3.80"
+
+/* Define to the name of the SCCS `get' command.  */
+#define SCCS_GET "get"
+
+/* Define this if the SCCS `get' command understands the `-G<file>' option.  */
+/* #undef SCCS_GET_MINUS_G */
+
+/* Define this to enable job server support in GNU make.  */
+/* #undef MAKE_JOBSERVER */
+
+/* Define to be the nanoseconds member of struct stat's st_mtim,
+   if it exists.  */
+/* #undef ST_MTIM_NSEC */
+
+/* Define this if the C library defines the variable `sys_siglist'.  */
+/* #undef HAVE_SYS_SIGLIST */
+
+/* Define this if the C library defines the variable `_sys_siglist'.  */
+/* #undef HAVE__SYS_SIGLIST */
+
+/* Define this if you have the `union wait' type in <sys/wait.h>.  */
+/* #undef HAVE_UNION_WAIT */
+
+/* Define if you have the dup2 function.  */
+/* #undef HAVE_DUP2 */
+
+/* Define if you have the getcwd function.  */
+#define HAVE_GETCWD 1
+
+/* Define if you have the getgroups function.  */
+/* #undef HAVE_GETGROUPS */
+
+/* Define if you have the gethostbyname function.  */
+/* #undef HAVE_GETHOSTBYNAME */
+
+/* Define if you have the gethostname function.  */
+/* #undef HAVE_GETHOSTNAME */
+
+/* Define if you have the memmove function.  */
+#define HAVE_MEMMOVE 1
+
+/* Define if you have the mktemp function.  */
+#define HAVE_MKTEMP 1
+
+/* Define if you have the psignal function.  */
+/* #undef HAVE_PSIGNAL */
+
+/* Define if you have the pstat_getdynamic function.  */
+/* #undef HAVE_PSTAT_GETDYNAMIC */
+
+/* Define if you have the setegid function.  */
+/* #undef HAVE_SETEGID */
+
+/* Define if you have the seteuid function.  */
+/* #undef HAVE_SETEUID */
+
+/* Define if you have the setlinebuf function. */
+/* #undef HAVE_SETLINEBUF */
+
+/* Define if you have the setregid function.  */
+/* #undef HAVE_SETREGID */
+
+/* Define if you have the setreuid function.  */
+/* #undef HAVE_SETREUID */
+
+/* Define if you have the sigsetmask function. */
+/* #undef HAVE_SIGSETMASK */
+
+/* Define if you have the socket function.  */
+/* #undef HAVE_SOCKET */
+
+/* Define if you have the strcasecmp function.  */
+/* #undef HAVE_STRCASECMP */
+
+/* Define if you have the strerror function.  */
+#define HAVE_STRERROR 1
+
+/* Define if you have the strsignal function.  */
+/* #undef HAVE_STRSIGNAL */
+
+/* Define if you have the wait3 function.  */
+/* #undef HAVE_WAIT3 */
+
+/* Define if you have the waitpid function.  */
+/* #undef HAVE_WAITPID */
+
+/* Define if you have the <dirent.h> header file.  */
+#define HAVE_DIRENT_H 1
+
+/* Define if you have the <fcntl.h> header file.  */
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the <limits.h> header file.  */
+#define HAVE_LIMITS_H 1
+
+/* Define if you have the <mach/mach.h> header file.  */
+/* #undef HAVE_MACH_MACH_H */
+
+/* Define if you have the <memory.h> header file.  */
+/* #undef HAVE_MEMORY_H */
+
+/* Define if you have the <ndir.h> header file.  */
+/* #undef HAVE_NDIR_H */
+
+/* Define if you have the <stdlib.h> header file.  */
+/* #undef HAVE_STDLIB_H */
+
+/* Define if you have the <string.h> header file.  */
+#define HAVE_STRING_H 1
+
+/* Define if you have the <sys/dir.h> header file.  */
+#define HAVE_SYS_DIR_H 1
+
+/* Define if you have the <sys/ndir.h> header file.  */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define if you have the <sys/param.h> header file.  */
+/* #undef HAVE_SYS_PARAM_H */
+
+/* Define if you have the <sys/timeb.h> header file.  */
+/* #undef HAVE_SYS_TIMEB_H */
+
+/* Define if you have the <sys/wait.h> header file.  */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if you have the <unistd.h> header file.  */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have the dgc library (-ldgc).  */
+/* #undef HAVE_LIBDGC */
+
+/* Define if you have the kstat library (-lkstat).  */
+/* #undef HAVE_LIBKSTAT */
+
+/* Define if you have the sun library (-lsun).  */
+/* #undef HAVE_LIBSUN */
+
+/* Define for Case Insensitve behavior */
+#define HAVE_CASE_INSENSITIVE_FS
+
+/* Build host information. */
+#define MAKE_HOST "Amiga"
diff --git a/src/mkutil/make-3.80/config.h b/src/mkutil/make-3.80/config.h
new file mode 100644 (file)
index 0000000..1ba9b87
--- /dev/null
@@ -0,0 +1,399 @@
+/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+/* #undef _ALL_SOURCE */
+#endif
+
+/* Define if using alloca.c.  */
+/* #undef C_ALLOCA */
+
+/* Define if the closedir function returns void instead of int.  */
+/* #undef CLOSEDIR_VOID */
+
+/* Define to empty if the keyword does not work.  */
+/* #undef const */
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+   This function is required for alloca.c support on those systems.  */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define for DGUX with <sys/dg_sys_info.h>.  */
+/* #undef DGUX */
+
+/* Define if the `getloadavg' function needs to be run setuid or setgid.  */
+/* #undef GETLOADAVG_PRIVILEGED */
+
+/* Define to `unsigned long' or `unsigned long long'
+   if <inttypes.h> doesn't define.  */
+#define uintmax_t unsigned long
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#undef gid_t
+#define gid_t int
+
+/* Define if you have alloca, as a function or macro.  */
+#undef HAVE_ALLOCA
+#define HAVE_ALLOCA 1
+
+/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define if you don't have vprintf but do have _doprnt.  */
+/* #undef HAVE_DOPRNT */
+
+/* Define if your system has a working fnmatch function.  */
+/* #undef HAVE_FNMATCH */
+
+/* Define if your system has its own `getloadavg' function.  */
+/* #undef HAVE_GETLOADAVG */
+
+/* Define if you have the getmntent function.  */
+/* #undef HAVE_GETMNTENT */
+
+/* Define if the `long double' type works.  */
+/* #undef HAVE_LONG_DOUBLE */
+
+/* Define if you support file names longer than 14 characters.  */
+#undef HAVE_LONG_FILE_NAMES
+#define HAVE_LONG_FILE_NAMES 1
+
+/* Define if you have a working `mmap' system call.  */
+/* #undef HAVE_MMAP */
+
+/* Define if system calls automatically restart after interruption
+   by a signal.  */
+/* #undef HAVE_RESTARTABLE_SYSCALLS */
+
+/* Define if your struct stat has st_blksize.  */
+/* #undef HAVE_ST_BLKSIZE */
+
+/* Define if your struct stat has st_blocks.  */
+/* #undef HAVE_ST_BLOCKS */
+
+/* Define if you have the strcoll function and it is properly defined.  */
+#undef HAVE_STRCOLL
+#define HAVE_STRCOLL 1
+
+/* Define if your struct stat has st_rdev.  */
+#undef HAVE_ST_RDEV
+#define HAVE_ST_RDEV 1
+
+/* Define if you have the strftime function.  */
+#undef HAVE_STRFTIME
+#define HAVE_STRFTIME 1
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if your struct tm has tm_zone.  */
+/* #undef HAVE_TM_ZONE */
+
+/* Define if you don't have tm_zone but do have the external array
+   tzname.  */
+#undef HAVE_TZNAME
+#define HAVE_TZNAME 1
+
+/* Define if you have <unistd.h>.  */
+/* #undef HAVE_UNISTD_H */
+
+/* Define if utime(file, NULL) sets file's timestamp to the present.  */
+#undef HAVE_UTIME_NULL
+#define HAVE_UTIME_NULL 1
+
+/* Define if you have <vfork.h>.  */
+/* #undef HAVE_VFORK_H */
+
+/* Define if you have the vprintf function.  */
+#undef HAVE_VPRINTF
+#define HAVE_VPRINTF 1
+
+/* Define if you have the wait3 system call.  */
+/* #undef HAVE_WAIT3 */
+
+/* Define if on MINIX.  */
+/* #undef _MINIX */
+
+/* Define if your struct nlist has an n_un member.  */
+/* #undef NLIST_NAME_UNION */
+
+/* Define if you have <nlist.h>.  */
+/* #undef NLIST_STRUCT */
+
+/* Define if your C compiler doesn't accept -c and -o together.  */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#undef pid_t
+#define pid_t int
+
+/* Define if the system does not provide POSIX.1 features except
+   with this defined.  */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define if you need to in order for stat and other things to work.  */
+#undef _POSIX_SOURCE
+#define _POSIX_SOURCE 1
+
+/* Define as the return type of signal handlers (int or void).  */
+#undef RETSIGTYPE
+#define RETSIGTYPE void
+
+/* Define if the setvbuf function takes the buffering type as its second
+   argument and the buffer pointer as the third, as on System V
+   before release 3.  */
+/* #undef SETVBUF_REVERSED */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown
+ */
+/* #undef STACK_DIRECTION */
+
+/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define if you have the ANSI C header files.  */
+#undef STDC_HEADERS
+#define STDC_HEADERS 1
+
+/* Define on System V Release 4.  */
+/* #undef SVR4 */
+
+/* Define if `sys_siglist' is declared by <signal.h>.  */
+/* #undef SYS_SIGLIST_DECLARED */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#undef uid_t
+#define uid_t int
+
+/* Define for Encore UMAX.  */
+/* #undef UMAX */
+
+/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
+   instead of <sys/cpustats.h>.  */
+/* #undef UMAX4_3 */
+
+/* Define vfork as fork if vfork does not work.  */
+/* #undef vfork */
+
+/* Name of this package (needed by automake) */
+#define PACKAGE "make"
+
+/* Version of this package (needed by automake) */
+#define VERSION "3.80"
+
+/* Define to the name of the SCCS `get' command.  */
+#undef SCCS_GET
+#define SCCS_GET "echo no sccs get"
+
+/* Define to 1 if NLS is requested.  */
+/* #undef ENABLE_NLS */
+
+/* Define as 1 if you have dcgettext.  */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define as 1 if you have gettext and don't want to use GNU gettext.  */
+/* #undef HAVE_GETTEXT */
+
+/* Define if your locale.h file contains LC_MESSAGES.  */
+/* #undef HAVE_LC_MESSAGES */
+
+/* Define to the installation directory for locales.  */
+#define LOCALEDIR ""
+
+/* Define this if the SCCS `get' command understands the `-G<file>' option.  */
+/* #undef SCCS_GET_MINUS_G */
+
+/* Define this to enable job server support in GNU make.  */
+/* #undef MAKE_JOBSERVER */
+
+/* Define to be the nanoseconds member of struct stat's st_mtim,
+   if it exists.  */
+/* #undef ST_MTIM_NSEC */
+
+/* Define this if the C library defines the variable `sys_siglist'.  */
+/* #undef HAVE_SYS_SIGLIST */
+
+/* Define this if the C library defines the variable `_sys_siglist'.  */
+/* #undef HAVE__SYS_SIGLIST */
+
+/* Define this if you have the `union wait' type in <sys/wait.h>.  */
+/* #undef HAVE_UNION_WAIT */
+
+/* Define if you have the dup2 function.  */
+#undef HAVE_DUP2
+#define HAVE_DUP2 1
+
+/* Define if you have the getcwd function.  */
+#undef HAVE_GETCWD
+#define HAVE_GETCWD 1
+
+/* Define if you have the getgroups function.  */
+/* #undef HAVE_GETGROUPS */
+
+/* Define if you have the gethostbyname function.  */
+/* #undef HAVE_GETHOSTBYNAME */
+
+/* Define if you have the gethostname function.  */
+/* #undef HAVE_GETHOSTNAME */
+
+/* Define if you have the getloadavg function.  */
+/* #undef HAVE_GETLOADAVG */
+
+/* Define if you have the memmove function.  */
+#undef HAVE_MEMMOVE
+#define HAVE_MEMMOVE 1
+
+/* Define if you have the mktemp function.  */
+#undef HAVE_MKTEMP
+#define HAVE_MKTEMP 1
+
+/* Define if you have the psignal function.  */
+/* #undef HAVE_PSIGNAL */
+
+/* Define if you have the pstat_getdynamic function.  */
+/* #undef HAVE_PSTAT_GETDYNAMIC */
+
+/* Define if you have the setegid function.  */
+/* #undef HAVE_SETEGID */
+
+/* Define if you have the seteuid function.  */
+/* #undef HAVE_SETEUID */
+
+/* Define if you have the setlinebuf function.  */
+/* #undef HAVE_SETLINEBUF */
+
+/* Define if you have the setregid function.  */
+/* #undef HAVE_SETREGID */
+
+/* Define if you have the setreuid function.  */
+/* #undef HAVE_SETREUID */
+
+/* Define if you have the sigsetmask function.  */
+/* #undef HAVE_SIGSETMASK */
+
+/* Define if you have the socket function.  */
+/* #undef HAVE_SOCKET */
+
+/* Define if you have the strcasecmp function.  */
+/* #undef HAVE_STRCASECMP */
+
+/* Define if you have the strerror function.  */
+#undef HAVE_STRERROR
+#define HAVE_STRERROR 1
+
+/* Define if you have the strsignal function.  */
+/* #undef HAVE_STRSIGNAL */
+
+/* Define if you have the wait3 function.  */
+/* #undef HAVE_WAIT3 */
+
+/* Define if you have the waitpid function.  */
+/* #undef HAVE_WAITPID */
+
+/* Define if you have the <dirent.h> header file.  */
+#undef HAVE_DIRENT_H
+#define HAVE_DIRENT_H 1
+
+/* Define if you have the <fcntl.h> header file.  */
+#undef HAVE_FCNTL_H
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the <limits.h> header file.  */
+#undef HAVE_LIMITS_H
+#define HAVE_LIMITS_H 1
+
+/* Define if you have the <mach/mach.h> header file.  */
+/* #undef HAVE_MACH_MACH_H */
+
+/* Define if you have the <memory.h> header file.  */
+#undef HAVE_MEMORY_H
+#define HAVE_MEMORY_H 1
+
+/* Define if you have the <ndir.h> header file.  */
+/* #undef HAVE_NDIR_H */
+
+/* Define if you have the <string.h> header file.  */
+#undef HAVE_STRING_H
+#define HAVE_STRING_H 1
+
+/* Define if you have the <sys/dir.h> header file.  */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define if you have the <sys/ndir.h> header file.  */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define if you have the <sys/param.h> header file.  */
+/* #undef HAVE_SYS_PARAM_H */
+
+/* Define if you have the <sys/timeb.h> header file.  */
+#undef HAVE_SYS_TIMEB_H
+#define HAVE_SYS_TIMEB_H 1
+
+/* Define if you have the <sys/wait.h> header file.  */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if you have the <unistd.h> header file.  */
+/* #undef HAVE_UNISTD_H */
+
+/* Define if you have the dgc library (-ldgc).  */
+/* #undef HAVE_LIBDGC */
+
+/* Define if you have the kstat library (-lkstat).  */
+/* #undef HAVE_LIBKSTAT */
+
+/* Define if you have the sun library (-lsun).  */
+/* #undef HAVE_LIBSUN */
+
+/* Use high resolution file timestamps if nonzero. */
+#define FILE_TIMESTAMP_HI_RES 0
+
+/* Build host information. */
+#define MAKE_HOST "Windows32"
+
+/* Grok DOS paths (drive specs and backslash path element separators) */
+#define HAVE_DOS_PATHS
+
+/*
+ * Refer to README.W32 for info on the following settings
+ */
+
+/*
+ * If you have a shell that does not grok 'sh -c quoted-command-line'
+ * correctly, you need this setting. Please see below for specific
+ * shell support.
+ */
+#undef BATCH_MODE_ONLY_SHELL
+#define BATCH_MODE_ONLY_SHELL 1
+
+/*
+ * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set.
+ * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL
+ */
+#undef HAVE_CYGWIN_SHELL
+
+/*
+ * Define if you have the MKS tool set or shell. Do NOT define
+ * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL
+ */
+#undef HAVE_MKS_SHELL
+
+/*
+ * Enforce the mutual exclusivity restriction.
+ */
+#ifdef HAVE_MKS_SHELL
+#undef BATCH_MODE_ONLY_SHELL
+#endif
+
+#ifdef HAVE_CYGWIN_SHELL
+#undef BATCH_MODE_ONLY_SHELL
+#endif
+
+/* Define if you prefer Case Insensitive behavior */
+#undef HAVE_CASE_INSENSITIVE_FS
diff --git a/src/mkutil/make-3.80/config.h-vms b/src/mkutil/make-3.80/config.h-vms
new file mode 100644 (file)
index 0000000..19f8076
--- /dev/null
@@ -0,0 +1,403 @@
+/* config.h-vms. Generated by hand by Klaus Kämpf <kkaempf@rmi.de> */
+/* config.h.  Generated automatically by configure.  */
+/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+/* #undef _ALL_SOURCE */
+#endif
+
+/* Define to 1 if NLS is requested.  */
+/* #undef ENABLE_NLS */
+
+/* Define as 1 if you have dcgettext.  */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define as 1 if you have gettext and don't want to use GNU gettext.  */
+/* #undef HAVE_GETTEXT */
+
+/* Define if your locale.h file contains LC_MESSAGES.  */
+/* #undef HAVE_LC_MESSAGES */
+
+/* Define to the installation directory for locales.  */
+#define LOCALEDIR ""
+
+/* Define as 1 if you have the stpcpy function.  */
+/* #undef HAVE_STPCPY */
+
+/* Define if the closedir function returns void instead of int.  */
+/* #undef CLOSEDIR_VOID */
+
+/* Define to empty if the keyword does not work.  */
+/* #undef const */
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+   This function is required for alloca.c support on those systems.  */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define for DGUX with <sys/dg_sys_info.h>.  */
+/* #undef DGUX */
+
+/* Define if the `getloadavg' function needs to be run setuid or setgid.  */
+/* #undef GETLOADAVG_PRIVILEGED */
+
+/* Define to `unsigned long' or `unsigned long long'
+   if <inttypes.h> doesn't define.  */
+#define uintmax_t unsigned long
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef gid_t */
+
+/* Define if you have alloca, as a function or macro.  */
+#define HAVE_ALLOCA 1
+
+/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define if you don't have vprintf but do have _doprnt.  */
+/* #undef HAVE_DOPRNT */
+
+/* Define if your system has a working fnmatch function.  */
+/* #undef HAVE_FNMATCH */
+
+/* Define if your system has its own `getloadavg' function.  */
+/* #undef HAVE_GETLOADAVG */
+
+/* Define if you have the getmntent function.  */
+/* #undef HAVE_GETMNTENT */
+
+/* Define if the `long double' type works.  */
+/* #undef HAVE_LONG_DOUBLE */
+
+/* Define if you support file names longer than 14 characters.  */
+#define HAVE_LONG_FILE_NAMES 1
+
+/* Define if you have a working `mmap' system call.  */
+/* #undef HAVE_MMAP */
+
+/* Define if system calls automatically restart after interruption
+   by a signal.  */
+/* #undef HAVE_RESTARTABLE_SYSCALLS */
+
+/* Define if your struct stat has st_blksize.  */
+/* #undef HAVE_ST_BLKSIZE */
+
+/* Define if your struct stat has st_blocks.  */
+/* #undef HAVE_ST_BLOCKS */
+
+/* Define if you have the strcoll function and it is properly defined.  */
+/* #undef HAVE_STRCOLL */
+
+/* Define if your struct stat has st_rdev.  */
+/* #undef HAVE_ST_RDEV */
+
+/* Define if you have the strftime function.  */
+/* #undef HAVE_STRFTIME */
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if your struct tm has tm_zone.  */
+/* #undef HAVE_TM_ZONE */
+
+/* Define if you don't have tm_zone but do have the external array
+   tzname.  */
+/* #undef HAVE_TZNAME */
+
+/* Define if you have <unistd.h>.  */
+#ifdef __DECC
+#define HAVE_UNISTD_H 1
+#endif
+
+/* Define if utime(file, NULL) sets file's timestamp to the present.  */
+/* #undef HAVE_UTIME_NULL */
+
+/* Define if you have <vfork.h>.  */
+/* #undef HAVE_VFORK_H */
+
+/* Define if you have the vprintf function.  */
+#define HAVE_VPRINTF 1
+
+/* Define if you have the wait3 system call.  */
+/* #undef HAVE_WAIT3 */
+
+/* Define if on MINIX.  */
+/* #undef _MINIX */
+
+/* Define if your struct nlist has an n_un member.  */
+/* #undef NLIST_NAME_UNION */
+
+/* Define if you have <nlist.h>.  */
+/* #undef NLIST_STRUCT */
+
+/* Define if your C compiler doesn't accept -c and -o together.  */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* I assume types.h is available for all 5.0 cc/cxx compilers */
+#if __DECC_VER < 50090000
+#define pid_t int
+#endif
+
+/* Define if the system does not provide POSIX.1 features except
+   with this defined.  */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define if you need to in order for stat and other things to work.  */
+/* #undef _POSIX_SOURCE */
+
+/* Define as the return type of signal handlers (int or void).  */
+#define RETSIGTYPE void
+
+/* Define if the setvbuf function takes the buffering type as its second
+   argument and the buffer pointer as the third, as on System V
+   before release 3.  */
+/* #undef SETVBUF_REVERSED */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown
+ */
+/* #undef STACK_DIRECTION */
+
+/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define if you have the ANSI C header files.  */
+/* #undef STDC_HEADERS */
+
+/* Define on System V Release 4.  */
+/* #undef SVR4 */
+
+/* Define if `sys_siglist' is declared by <signal.h>.  */
+/* #undef SYS_SIGLIST_DECLARED */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#if __DECC_VER < 50090000
+#define uid_t int
+#endif
+
+/* Define for Encore UMAX.  */
+/* #undef UMAX */
+
+/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
+   instead of <sys/cpustats.h>.  */
+/* #undef UMAX4_3 */
+
+/* Define vfork as fork if vfork does not work.  */
+/* #undef vfork */
+
+/* Name of this package (needed by automake) */
+#define PACKAGE "make"
+
+/* Version of this package (needed by automake) */
+#define VERSION "3.80"
+
+/* Define to the name of the SCCS `get' command.  */
+/* #undef SCCS_GET */
+
+/* Define this if the SCCS `get' command understands the `-G<file>' option.  */
+/* #undef SCCS_GET_MINUS_G */
+
+/* Define this to enable job server support in GNU make.  */
+/* #undef MAKE_JOBSERVER */
+
+/* Define to be the nanoseconds member of struct stat's st_mtim,
+   if it exists.  */
+/* #undef ST_MTIM_NSEC */
+
+/* Define this if the C library defines the variable `sys_siglist'.  */
+/* #undefine HAVE_SYS_SIGLIST */
+
+/* Define this if the C library defines the variable `_sys_siglist'.  */
+/* #undef HAVE__SYS_SIGLIST */
+
+/* Define this if you have the `union wait' type in <sys/wait.h>.  */
+/* #undef HAVE_UNION_WAIT */
+
+/* Define if you have the dup2 function.  */
+#define HAVE_DUP2 1
+
+/* Define if you have the getcwd function.  */
+#define HAVE_GETCWD 1
+
+/* Define if you have the getgroups function.  */
+/* #undef HAVE_GETGROUPS */
+
+/* Define if you have the gethostbyname function.  */
+/* #undef HAVE_GETHOSTBYNAME */
+
+/* Define if you have the gethostname function.  */
+/* #undef HAVE_GETHOSTNAME */
+
+/* Define if you have the getloadavg function.  */
+/* #undef HAVE_GETLOADAVG */
+
+/* Define if you have the memmove function.  */
+#define HAVE_MEMMOVE 1
+
+/* Define if you have the mktemp function.  */
+#define HAVE_MKTEMP 1
+
+/* Define if you have the psignal function.  */
+/* #undef HAVE_PSIGNAL */
+
+/* Define if you have the pstat_getdynamic function.  */
+/* #undef HAVE_PSTAT_GETDYNAMIC */
+
+/* Define if you have the setegid function.  */
+/* #undef HAVE_SETEGID */
+
+/* Define if you have the seteuid function.  */
+/* #undef HAVE_SETEUID */
+
+/* Define if you have the setlinebuf function.  */
+/* #undef HAVE_SETLINEBUF */
+
+/* Define if you have the setregid function.  */
+/* #undefine HAVE_SETREGID */
+
+/* Define if you have the setreuid function.  */
+/* #define HAVE_SETREUID */
+
+/* Define if you have the sigsetmask function.  */
+#define HAVE_SIGSETMASK 1
+
+/* Define if you have the socket function.  */
+/* #undef HAVE_SOCKET */
+
+/* Define if you have the strcasecmp function.  */
+/* #undef HAVE_STRCASECMP */
+
+/* Define if you have the strerror function.  */
+#define HAVE_STRERROR 1
+
+/* Define if you have the strsignal function.  */
+/* #undef HAVE_STRSIGNAL */
+
+/* Define if you have the wait3 function.  */
+/* #undef HAVE_WAIT3 */
+
+/* Define if you have the waitpid function.  */
+/* #undef HAVE_WAITPID */
+
+/* Define if you have the <dirent.h> header file.  */
+#define HAVE_DIRENT_H 1
+
+/* Define if you have the <fcntl.h> header file.  */
+#ifdef __DECC
+#define HAVE_FCNTL_H 1
+#endif
+
+/* Define if you have the <limits.h> header file.  */
+#define HAVE_LIMITS_H 1
+
+/* Define if you have the <mach/mach.h> header file.  */
+/* #undef HAVE_MACH_MACH_H */
+
+/* Define if you have the <memory.h> header file.  */
+/* #undef HAVE_MEMORY_H */
+
+/* Define if you have the <ndir.h> header file.  */
+/* #undef HAVE_NDIR_H */
+
+/* Define if you have the <stdlib.h> header file.  */
+#define HAVE_STDLIB_H 1
+
+/* Define if you have the <string.h> header file.  */
+#define HAVE_STRING_H 1
+
+/* Define if you have the <sys/dir.h> header file.  */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define if you have the <sys/ndir.h> header file.  */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define if you have the <sys/param.h> header file.  */
+/* #undef HAVE_SYS_PARAM_H */
+
+/* Define if you have the <sys/timeb.h> header file.  */
+#ifndef __GNUC__
+#define HAVE_SYS_TIMEB_H 1
+#endif
+
+/* Define if you have the <sys/wait.h> header file.  */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if you have the dgc library (-ldgc).  */
+/* #undef HAVE_LIBDGC */
+
+/* Define if you have the kstat library (-lkstat).  */
+/* #undef HAVE_LIBKSTAT *
+
+/* Define if you have the sun library (-lsun).  */
+/* #undef HAVE_LIBSUN */
+
+/* Use high resolution file timestamps if nonzero. */
+#define FILE_TIMESTAMP_HI_RES 0
+
+/* Define for case insensitve filenames */
+#define HAVE_CASE_INSENSITIVE_FS 1
+
+/* VMS specific, define it if you want to use case sensitve targets */
+/* #undef WANT_CASE_SENSITIVE_TARGETS */
+
+/* VMS specific, V7.0 has opendir() and friends, so it's undefined */
+/* If you want to use non-VMS code for opendir() etc. on V7.0 and greater
+   define the first or both macros AND change the compile command to get the
+   non-VMS versions linked: (prefix=(all,except=(opendir,...  */
+/* #undef HAVE_VMSDIR_H */
+/* #undef _DIRENT_HAVE_D_NAMLEN */
+
+/* On older systems without 7.0 backport of CRTL the first one is defined */
+#ifdef __CRTL_VER
+# if __CRTL_VER < 70000000
+#  define HAVE_VMSDIR_H 1
+# endif
+#else
+# if __VMS_VER < 70000000
+#  define HAVE_VMSDIR_H 1
+# endif
+#endif
+
+#if defined(HAVE_VMSDIR_H) && defined(HAVE_DIRENT_H)
+#undef HAVE_DIRENT_H
+#endif
+
+#define HAVE_STDLIB_H 1
+#define INCLUDEDIR "sys$sysroot:[syslib]"
+#define LIBDIR "sys$sysroot:[syslib]"
+
+/* Don't use RTL functions of OpenVMS */
+#ifdef __DECC
+#include <stdio.h>
+#include <unistd.h>
+#define getopt gnu_getopt
+#define optarg gnu_optarg
+#define optopt gnu_optopt
+#define optind gnu_optind
+#define opterr gnu_opterr
+#endif
+
+#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
+#undef  PARAMS
+#define PARAMS(protos)  protos
+#else /* Not C++ or ANSI C.  */
+#undef  PARAMS
+#define PARAMS(protos)  ()
+#endif /* C++ or ANSI C.  */
+
+/* Define if using alloca.c.  */
+/* #undef C_ALLOCA */
+/* maybe this should be placed into make.h */
+#if    defined(__VAX) && defined(__DECC)
+#define alloca(n)      __ALLOCA(n)
+#endif
+
+/* Build host information. */
+#define MAKE_HOST "VMS"
diff --git a/src/mkutil/make-3.80/config.h.W32 b/src/mkutil/make-3.80/config.h.W32
new file mode 100644 (file)
index 0000000..1ba9b87
--- /dev/null
@@ -0,0 +1,399 @@
+/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+/* #undef _ALL_SOURCE */
+#endif
+
+/* Define if using alloca.c.  */
+/* #undef C_ALLOCA */
+
+/* Define if the closedir function returns void instead of int.  */
+/* #undef CLOSEDIR_VOID */
+
+/* Define to empty if the keyword does not work.  */
+/* #undef const */
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+   This function is required for alloca.c support on those systems.  */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define for DGUX with <sys/dg_sys_info.h>.  */
+/* #undef DGUX */
+
+/* Define if the `getloadavg' function needs to be run setuid or setgid.  */
+/* #undef GETLOADAVG_PRIVILEGED */
+
+/* Define to `unsigned long' or `unsigned long long'
+   if <inttypes.h> doesn't define.  */
+#define uintmax_t unsigned long
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#undef gid_t
+#define gid_t int
+
+/* Define if you have alloca, as a function or macro.  */
+#undef HAVE_ALLOCA
+#define HAVE_ALLOCA 1
+
+/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define if you don't have vprintf but do have _doprnt.  */
+/* #undef HAVE_DOPRNT */
+
+/* Define if your system has a working fnmatch function.  */
+/* #undef HAVE_FNMATCH */
+
+/* Define if your system has its own `getloadavg' function.  */
+/* #undef HAVE_GETLOADAVG */
+
+/* Define if you have the getmntent function.  */
+/* #undef HAVE_GETMNTENT */
+
+/* Define if the `long double' type works.  */
+/* #undef HAVE_LONG_DOUBLE */
+
+/* Define if you support file names longer than 14 characters.  */
+#undef HAVE_LONG_FILE_NAMES
+#define HAVE_LONG_FILE_NAMES 1
+
+/* Define if you have a working `mmap' system call.  */
+/* #undef HAVE_MMAP */
+
+/* Define if system calls automatically restart after interruption
+   by a signal.  */
+/* #undef HAVE_RESTARTABLE_SYSCALLS */
+
+/* Define if your struct stat has st_blksize.  */
+/* #undef HAVE_ST_BLKSIZE */
+
+/* Define if your struct stat has st_blocks.  */
+/* #undef HAVE_ST_BLOCKS */
+
+/* Define if you have the strcoll function and it is properly defined.  */
+#undef HAVE_STRCOLL
+#define HAVE_STRCOLL 1
+
+/* Define if your struct stat has st_rdev.  */
+#undef HAVE_ST_RDEV
+#define HAVE_ST_RDEV 1
+
+/* Define if you have the strftime function.  */
+#undef HAVE_STRFTIME
+#define HAVE_STRFTIME 1
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if your struct tm has tm_zone.  */
+/* #undef HAVE_TM_ZONE */
+
+/* Define if you don't have tm_zone but do have the external array
+   tzname.  */
+#undef HAVE_TZNAME
+#define HAVE_TZNAME 1
+
+/* Define if you have <unistd.h>.  */
+/* #undef HAVE_UNISTD_H */
+
+/* Define if utime(file, NULL) sets file's timestamp to the present.  */
+#undef HAVE_UTIME_NULL
+#define HAVE_UTIME_NULL 1
+
+/* Define if you have <vfork.h>.  */
+/* #undef HAVE_VFORK_H */
+
+/* Define if you have the vprintf function.  */
+#undef HAVE_VPRINTF
+#define HAVE_VPRINTF 1
+
+/* Define if you have the wait3 system call.  */
+/* #undef HAVE_WAIT3 */
+
+/* Define if on MINIX.  */
+/* #undef _MINIX */
+
+/* Define if your struct nlist has an n_un member.  */
+/* #undef NLIST_NAME_UNION */
+
+/* Define if you have <nlist.h>.  */
+/* #undef NLIST_STRUCT */
+
+/* Define if your C compiler doesn't accept -c and -o together.  */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#undef pid_t
+#define pid_t int
+
+/* Define if the system does not provide POSIX.1 features except
+   with this defined.  */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define if you need to in order for stat and other things to work.  */
+#undef _POSIX_SOURCE
+#define _POSIX_SOURCE 1
+
+/* Define as the return type of signal handlers (int or void).  */
+#undef RETSIGTYPE
+#define RETSIGTYPE void
+
+/* Define if the setvbuf function takes the buffering type as its second
+   argument and the buffer pointer as the third, as on System V
+   before release 3.  */
+/* #undef SETVBUF_REVERSED */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown
+ */
+/* #undef STACK_DIRECTION */
+
+/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define if you have the ANSI C header files.  */
+#undef STDC_HEADERS
+#define STDC_HEADERS 1
+
+/* Define on System V Release 4.  */
+/* #undef SVR4 */
+
+/* Define if `sys_siglist' is declared by <signal.h>.  */
+/* #undef SYS_SIGLIST_DECLARED */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+#undef uid_t
+#define uid_t int
+
+/* Define for Encore UMAX.  */
+/* #undef UMAX */
+
+/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
+   instead of <sys/cpustats.h>.  */
+/* #undef UMAX4_3 */
+
+/* Define vfork as fork if vfork does not work.  */
+/* #undef vfork */
+
+/* Name of this package (needed by automake) */
+#define PACKAGE "make"
+
+/* Version of this package (needed by automake) */
+#define VERSION "3.80"
+
+/* Define to the name of the SCCS `get' command.  */
+#undef SCCS_GET
+#define SCCS_GET "echo no sccs get"
+
+/* Define to 1 if NLS is requested.  */
+/* #undef ENABLE_NLS */
+
+/* Define as 1 if you have dcgettext.  */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define as 1 if you have gettext and don't want to use GNU gettext.  */
+/* #undef HAVE_GETTEXT */
+
+/* Define if your locale.h file contains LC_MESSAGES.  */
+/* #undef HAVE_LC_MESSAGES */
+
+/* Define to the installation directory for locales.  */
+#define LOCALEDIR ""
+
+/* Define this if the SCCS `get' command understands the `-G<file>' option.  */
+/* #undef SCCS_GET_MINUS_G */
+
+/* Define this to enable job server support in GNU make.  */
+/* #undef MAKE_JOBSERVER */
+
+/* Define to be the nanoseconds member of struct stat's st_mtim,
+   if it exists.  */
+/* #undef ST_MTIM_NSEC */
+
+/* Define this if the C library defines the variable `sys_siglist'.  */
+/* #undef HAVE_SYS_SIGLIST */
+
+/* Define this if the C library defines the variable `_sys_siglist'.  */
+/* #undef HAVE__SYS_SIGLIST */
+
+/* Define this if you have the `union wait' type in <sys/wait.h>.  */
+/* #undef HAVE_UNION_WAIT */
+
+/* Define if you have the dup2 function.  */
+#undef HAVE_DUP2
+#define HAVE_DUP2 1
+
+/* Define if you have the getcwd function.  */
+#undef HAVE_GETCWD
+#define HAVE_GETCWD 1
+
+/* Define if you have the getgroups function.  */
+/* #undef HAVE_GETGROUPS */
+
+/* Define if you have the gethostbyname function.  */
+/* #undef HAVE_GETHOSTBYNAME */
+
+/* Define if you have the gethostname function.  */
+/* #undef HAVE_GETHOSTNAME */
+
+/* Define if you have the getloadavg function.  */
+/* #undef HAVE_GETLOADAVG */
+
+/* Define if you have the memmove function.  */
+#undef HAVE_MEMMOVE
+#define HAVE_MEMMOVE 1
+
+/* Define if you have the mktemp function.  */
+#undef HAVE_MKTEMP
+#define HAVE_MKTEMP 1
+
+/* Define if you have the psignal function.  */
+/* #undef HAVE_PSIGNAL */
+
+/* Define if you have the pstat_getdynamic function.  */
+/* #undef HAVE_PSTAT_GETDYNAMIC */
+
+/* Define if you have the setegid function.  */
+/* #undef HAVE_SETEGID */
+
+/* Define if you have the seteuid function.  */
+/* #undef HAVE_SETEUID */
+
+/* Define if you have the setlinebuf function.  */
+/* #undef HAVE_SETLINEBUF */
+
+/* Define if you have the setregid function.  */
+/* #undef HAVE_SETREGID */
+
+/* Define if you have the setreuid function.  */
+/* #undef HAVE_SETREUID */
+
+/* Define if you have the sigsetmask function.  */
+/* #undef HAVE_SIGSETMASK */
+
+/* Define if you have the socket function.  */
+/* #undef HAVE_SOCKET */
+
+/* Define if you have the strcasecmp function.  */
+/* #undef HAVE_STRCASECMP */
+
+/* Define if you have the strerror function.  */
+#undef HAVE_STRERROR
+#define HAVE_STRERROR 1
+
+/* Define if you have the strsignal function.  */
+/* #undef HAVE_STRSIGNAL */
+
+/* Define if you have the wait3 function.  */
+/* #undef HAVE_WAIT3 */
+
+/* Define if you have the waitpid function.  */
+/* #undef HAVE_WAITPID */
+
+/* Define if you have the <dirent.h> header file.  */
+#undef HAVE_DIRENT_H
+#define HAVE_DIRENT_H 1
+
+/* Define if you have the <fcntl.h> header file.  */
+#undef HAVE_FCNTL_H
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the <limits.h> header file.  */
+#undef HAVE_LIMITS_H
+#define HAVE_LIMITS_H 1
+
+/* Define if you have the <mach/mach.h> header file.  */
+/* #undef HAVE_MACH_MACH_H */
+
+/* Define if you have the <memory.h> header file.  */
+#undef HAVE_MEMORY_H
+#define HAVE_MEMORY_H 1
+
+/* Define if you have the <ndir.h> header file.  */
+/* #undef HAVE_NDIR_H */
+
+/* Define if you have the <string.h> header file.  */
+#undef HAVE_STRING_H
+#define HAVE_STRING_H 1
+
+/* Define if you have the <sys/dir.h> header file.  */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define if you have the <sys/ndir.h> header file.  */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define if you have the <sys/param.h> header file.  */
+/* #undef HAVE_SYS_PARAM_H */
+
+/* Define if you have the <sys/timeb.h> header file.  */
+#undef HAVE_SYS_TIMEB_H
+#define HAVE_SYS_TIMEB_H 1
+
+/* Define if you have the <sys/wait.h> header file.  */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if you have the <unistd.h> header file.  */
+/* #undef HAVE_UNISTD_H */
+
+/* Define if you have the dgc library (-ldgc).  */
+/* #undef HAVE_LIBDGC */
+
+/* Define if you have the kstat library (-lkstat).  */
+/* #undef HAVE_LIBKSTAT */
+
+/* Define if you have the sun library (-lsun).  */
+/* #undef HAVE_LIBSUN */
+
+/* Use high resolution file timestamps if nonzero. */
+#define FILE_TIMESTAMP_HI_RES 0
+
+/* Build host information. */
+#define MAKE_HOST "Windows32"
+
+/* Grok DOS paths (drive specs and backslash path element separators) */
+#define HAVE_DOS_PATHS
+
+/*
+ * Refer to README.W32 for info on the following settings
+ */
+
+/*
+ * If you have a shell that does not grok 'sh -c quoted-command-line'
+ * correctly, you need this setting. Please see below for specific
+ * shell support.
+ */
+#undef BATCH_MODE_ONLY_SHELL
+#define BATCH_MODE_ONLY_SHELL 1
+
+/*
+ * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set.
+ * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL
+ */
+#undef HAVE_CYGWIN_SHELL
+
+/*
+ * Define if you have the MKS tool set or shell. Do NOT define
+ * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL
+ */
+#undef HAVE_MKS_SHELL
+
+/*
+ * Enforce the mutual exclusivity restriction.
+ */
+#ifdef HAVE_MKS_SHELL
+#undef BATCH_MODE_ONLY_SHELL
+#endif
+
+#ifdef HAVE_CYGWIN_SHELL
+#undef BATCH_MODE_ONLY_SHELL
+#endif
+
+/* Define if you prefer Case Insensitive behavior */
+#undef HAVE_CASE_INSENSITIVE_FS
diff --git a/src/mkutil/make-3.80/config.h.in b/src/mkutil/make-3.80/config.h.in
new file mode 100644 (file)
index 0000000..d33b8d3
--- /dev/null
@@ -0,0 +1,391 @@
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Define to 1 if the `closedir' function returns void instead of `int'. */
+#undef CLOSEDIR_VOID
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to 1 if using `getloadavg.c'. */
+#undef C_GETLOADAVG
+
+/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
+#undef DGUX
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#undef ENABLE_NLS
+
+/* Use high resolution file timestamps if nonzero. */
+#undef FILE_TIMESTAMP_HI_RES
+
+/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid.
+   */
+#undef GETLOADAVG_PRIVILEGED
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* This system has SA_RESTART, but it doesn't work properly. */
+#undef HAVE_BROKEN_RESTART
+
+/* Define to 1 if you have the `bsd_signal' function. */
+#undef HAVE_BSD_SIGNAL
+
+/* Define if you have the clock_gettime function. */
+#undef HAVE_CLOCK_GETTIME
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+#undef HAVE_DCGETTEXT
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+#undef HAVE_DOPRNT
+
+/* Define to 1 if you have the `dup2' function. */
+#undef HAVE_DUP2
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `fdopen' function. */
+#undef HAVE_FDOPEN
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the `getcwd' function. */
+#undef HAVE_GETCWD
+
+/* Define to 1 if you have the `getgroups' function. */
+#undef HAVE_GETGROUPS
+
+/* Define to 1 if you have the `gethostbyname' function. */
+#undef HAVE_GETHOSTBYNAME
+
+/* Define to 1 if you have the `gethostname' function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define to 1 if you have the `getloadavg' function. */
+#undef HAVE_GETLOADAVG
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define if you have a standard gettimeofday function */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define if you have the iconv() function. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `dgc' library (-ldgc). */
+#undef HAVE_LIBDGC
+
+/* Define to 1 if you have the `kstat' library (-lkstat). */
+#undef HAVE_LIBKSTAT
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if you have the <mach/mach.h> header file. */
+#undef HAVE_MACH_MACH_H
+
+/* Define to 1 if you have the `memcpy' function. */
+#undef HAVE_MEMCPY
+
+/* Define to 1 if you have the `memmove' function. */
+#undef HAVE_MEMMOVE
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mkstemp' function. */
+#undef HAVE_MKSTEMP
+
+/* Define to 1 if you have the `mktemp' function. */
+#undef HAVE_MKTEMP
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the <nlist.h> header file. */
+#undef HAVE_NLIST_H
+
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
+
+/* Define to 1 if you have the `pstat_getdynamic' function. */
+#undef HAVE_PSTAT_GETDYNAMIC
+
+/* Define if <signal.h> defines the SA_RESTART constant. */
+#undef HAVE_SA_RESTART
+
+/* Define to 1 if you have the `setegid' function. */
+#undef HAVE_SETEGID
+
+/* Define to 1 if you have the `seteuid' function. */
+#undef HAVE_SETEUID
+
+/* Define to 1 if you have the `setlinebuf' function. */
+#undef HAVE_SETLINEBUF
+
+/* Define to 1 if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
+/* Define to 1 if you have the `setregid' function. */
+#undef HAVE_SETREGID
+
+/* Define to 1 if you have the `setreuid' function. */
+#undef HAVE_SETREUID
+
+/* Define to 1 if you have the `setvbuf' function. */
+#undef HAVE_SETVBUF
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the `sigsetmask' function. */
+#undef HAVE_SIGSETMASK
+
+/* Define to 1 if you have the `socket' function. */
+#undef HAVE_SOCKET
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strcasecmp' function. */
+#undef HAVE_STRCASECMP
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the `strcoll' function and it is properly defined.
+   */
+#undef HAVE_STRCOLL
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strsignal' function. */
+#undef HAVE_STRSIGNAL
+
+/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
+#undef HAVE_STRUCT_NLIST_N_UN_N_NAME
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/timeb.h> header file. */
+#undef HAVE_SYS_TIMEB_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/wait.h> header file. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define this if you have the `union wait' type in <sys/wait.h>. */
+#undef HAVE_UNION_WAIT
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
+
+/* Define to 1 if you have the `vprintf' function. */
+#undef HAVE_VPRINTF
+
+/* Define to 1 if you have the `wait3' function. */
+#undef HAVE_WAIT3
+
+/* Define to 1 if you have the `waitpid' function. */
+#undef HAVE_WAITPID
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Build host information. */
+#undef MAKE_HOST
+
+/* Define this to enable job server support in GNU make. */
+#undef MAKE_JOBSERVER
+
+/* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend
+   on `HAVE_STRUCT_NLIST_N_UN_N_NAME */
+#undef NLIST_NAME_UNION
+
+/* Define if struct nlist.n_name is a pointer rather than an array. */
+#undef NLIST_STRUCT
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if the C compiler supports function prototypes. */
+#undef PROTOTYPES
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to the name of the SCCS 'get' command. */
+#undef SCCS_GET
+
+/* Define this if the SCCS 'get' command understands the '-G<file>' option. */
+#undef SCCS_GET_MINUS_G
+
+/* Define to 1 if the `setvbuf' function takes the buffering type as its
+   second argument and the buffer pointer as the third, as on System V before
+   release 3. */
+#undef SETVBUF_REVERSED
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+        STACK_DIRECTION > 0 => grows toward higher addresses
+        STACK_DIRECTION < 0 => grows toward lower addresses
+        STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+#undef STAT_MACROS_BROKEN
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if 'struct stat' contains a nanoseconds field */
+#undef ST_MTIM_NSEC
+
+/* Define to 1 on System V Release 4. */
+#undef SVR4
+
+/* Define to 1 if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
+#undef SYS_SIGLIST_DECLARED
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define to 1 for Encore UMAX. */
+#undef UMAX
+
+/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
+   <sys/cpustats.h>. */
+#undef UMAX4_3
+
+/* Version number of package */
+#undef VERSION
+
+/* Define if using the dmalloc debugging malloc package */
+#undef WITH_DMALLOC
+
+/* Define to 1 if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define like PROTOTYPES; this can be used by system headers. */
+#undef __PROTOTYPES
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef gid_t
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef uid_t
+
+/* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */
+#undef uintmax_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork
diff --git a/src/mkutil/make-3.80/configh.dos b/src/mkutil/make-3.80/configh.dos
new file mode 100644 (file)
index 0000000..c8184af
--- /dev/null
@@ -0,0 +1,94 @@
+
+/* Many things are defined already by a system header.  */
+#include <sys/config.h>
+
+#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 1
+
+/* Define if `sys_siglist' is declared by <signal.h>.  */
+# define SYS_SIGLIST_DECLARED 1
+
+/* Define this if the C library defines the variable `_sys_siglist'.  */
+# define HAVE_SYS_SIGLIST 1
+
+#else
+
+/* Define NSIG.  */
+# define NSIG SIGMAX
+
+#endif
+
+/* Use high resolution file timestamps if nonzero. */
+#define FILE_TIMESTAMP_HI_RES 0
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#define HAVE_ALLOCA 1
+
+/* Define if you have the fdopen function.  */
+#define HAVE_FDOPEN 1
+
+/* Define to 1 if you have the `getgroups' function. */
+#define HAVE_GETGROUPS 1
+
+/* Define if you have the <memory.h> header file.  */
+#define HAVE_MEMORY_H 1
+
+/* Define if you have the mkstemp function.  */
+#define HAVE_MKSTEMP 1
+
+/* Define to 1 if you have the `mktemp' function. */
+#define HAVE_MKTEMP 1
+
+/* Define to 1 if you have the `setlinebuf' function. */
+#define HAVE_SETLINEBUF 1
+
+/* Define to 1 if you have the `setvbuf' function. */
+#define HAVE_SETVBUF 1
+
+#define SCCS_GET "get"
+
+/* Define to `unsigned long' or `unsigned long long'
+   if <inttypes.h> doesn't define.  */
+#define uintmax_t unsigned long long
+
+/* Define the type of the first arg to select().  */
+#define fd_set_size_t int
+
+/* Define if you have the select function.  */
+#define HAVE_SELECT 1
+
+/* Define if you have the vprintf library function.  */
+#undef HAVE_VPRINTF
+#define HAVE_VPRINTF 1
+
+/* Name of the package */
+#define PACKAGE "make"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "bug-make@gnu.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU make"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "GNU make 3.80"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "make"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "3.80"
+
+/* Define to 1 if the C compiler supports function prototypes. */
+#define PROTOTYPES 1
+
+/* Define to 1 if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
+#define SYS_SIGLIST_DECLARED 1
+
+/* Version number of package */
+#define VERSION "3.80"
+
+/* Build host information. */
+#define MAKE_HOST "i386-pc-msdosdjgpp"
+
+/* Grok DOS paths (drive specs and backslash path element separators) */
+#define HAVE_DOS_PATHS
diff --git a/src/mkutil/make-3.80/configure b/src/mkutil/make-3.80/configure
new file mode 100644 (file)
index 0000000..e233298
--- /dev/null
@@ -0,0 +1,12603 @@
+#! /bin/sh
+# From configure.in Id: configure.in,v 1.114 2002/10/03 05:46:12 psmith Exp .
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.54 for GNU make 3.80.
+#
+# Report bugs to <bug-make@gnu.org>.
+#
+# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
+do
+  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)$' \| \
+        .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+         /^X\/\(\/\/\)$/{ s//\1/; q; }
+         /^X\/\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conftest.sh
+  echo  "exit 0"   >>conftest.sh
+  chmod +x conftest.sh
+  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conftest.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+        case $as_dir in
+        /*)
+          if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+            CONFIG_SHELL=$as_dir/$as_base
+            export CONFIG_SHELL
+            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+          fi;;
+        esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='     ' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS="  $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='GNU make'
+PACKAGE_TARNAME='make'
+PACKAGE_VERSION='3.80'
+PACKAGE_STRING='GNU make 3.80'
+PACKAGE_BUGREPORT='bug-make@gnu.org'
+
+ac_unique_file="vpath.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB CPP AR PERL build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE USE_NLS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB ALLOCA LIBOBJS NEED_SETGID KMEM_GROUP GETLOADAVG_LIBS USE_CUSTOMS_TRUE USE_CUSTOMS_FALSE GLOBINC GLOBLIB USE_LOCAL_GLOB_TRUE USE_LOCAL_GLOB_FALSE MAKE_HOST LTLIBOBJS'
+ac_subst_files='MAINT_MAKEFILE'
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_option in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_$ac_feature='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_$ac_package='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+              localstatedir libdir includedir oldincludedir infodir mandir
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$0" : 'X\(//\)[^/]' \| \
+         X"$0" : 'X\(//\)$' \| \
+         X"$0" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+  fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures GNU make 3.80 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of GNU make 3.80:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --disable-dependency-tracking Speeds up one-time builds
+  --enable-dependency-tracking  Do not reject slow dependency extractors
+  --disable-rpath         do not hardcode runtime library paths
+  --disable-nls           do not use Native Language Support
+  --disable-largefile     omit support for large files
+  --disable-job-server    disallow recursive make communication during -jN
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-gnu-ld           assume the C compiler uses GNU ld default=no
+  --with-libiconv-prefix=DIR  search for libiconv in DIR/include and DIR/lib
+  --without-libiconv-prefix     don't search for libiconv in includedir and libdir
+  --with-libintl-prefix=DIR  search for libintl in DIR/include and DIR/lib
+  --without-libintl-prefix     don't search for libintl in includedir and libdir
+  --with-customs=DIR      enable remote jobs via Customs--see README.customs
+  --with-dmalloc          use dmalloc, as in
+                          http://www.dmalloc.com/dmalloc.tar.gz
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+              headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <bug-make@gnu.org>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+           test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd $ac_popdir
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+GNU make configure 3.80
+generated by GNU Autoconf 2.54
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
+Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by GNU make $as_me 3.80, which was
+generated by GNU Autoconf 2.54.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell meta-characters.
+ac_configure_args=
+ac_sep=
+for ac_arg
+do
+  case $ac_arg in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n ) continue ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    continue ;;
+  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+    ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+  esac
+  ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+  # Get rid of the leading space.
+  ac_sep=" "
+done
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+       eval ac_val=$`echo $ac_var`
+        echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core core.* *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+        ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Autoconf setup
+ac_aux_dir=
+for ac_dir in config $srcdir/config; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+
+          ac_config_headers="$ac_config_headers config.h"
+
+
+# Automake setup
+am__api_version="1.7"
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+          if test $ac_prog = install &&
+            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+            # AIX install.  It has an incompatible calling convention.
+            :
+          elif test $ac_prog = install &&
+            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+            # program-specific install script used by HP pwplus--don't use.
+            :
+          else
+            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+            break 3
+          fi
+        fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+       @echo 'ac_maketemp="${MAKE}"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+ # test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=make
+ VERSION=3.80
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+
+
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+       @echo 'ac_maketemp="${MAKE}"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+# Checks for programs.
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CC" && break
+done
+
+  CC=$ac_ct_CC
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:$LINENO: checking for C compiler default output" >&5
+echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+  (eval $ac_link_default) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Find the output, starting from the most likely.  This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    a.out ) # We found the default executable, but exeext='' is most
+            # certainly right.
+            break;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+          # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
+          export ac_cv_exeext
+          break;;
+    * ) break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+check \`config.log' for details." >&5
+echo "$as_me: error: C compiler cannot create executables
+check \`config.log' for details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+       cross_compiling=yes
+    else
+       { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+          export ac_cv_exeext
+          break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_compiler_gnu=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX                  -qlanglvl=ansi
+# Ultrix and OSF/1     -std1
+# HP-UX 10.20 and later        -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4                 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+# Some people use a C++ compiler to compile C.  Since we use `exit',
+# in C++ we need to declare it.  In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+  choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  for ac_declaration in \
+   ''\
+   '#include <stdlib.h>' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+continue
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+rm -f .deps 2>/dev/null
+mkdir .deps 2>/dev/null
+if test -d .deps; then
+  DEPDIR=.deps
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  DEPDIR=_deps
+fi
+rmdir .deps 2>/dev/null
+
+
+          ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+doit:
+       @echo done
+END
+# If we don't find an include directive, just comment out the code.
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+
+
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+  enableval="$enable_dependency_tracking"
+
+fi;
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+
+depcc="$CC"   am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    echo '#include "conftest.h"' > conftest.c
+    echo 'int i;' > conftest.h
+    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=conftest.c object=conftest.o \
+       depfile=conftest.Po tmpdepfile=conftest.TPo \
+       $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
+       grep conftest.h conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      am_cv_CC_dependencies_compiler_type=$depmode
+      break
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+          if test $ac_prog = install &&
+            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+            # AIX install.  It has an incompatible calling convention.
+            :
+          elif test $ac_prog = install &&
+            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+            # program-specific install script used by HP pwplus--don't use.
+            :
+          else
+            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+            break 3
+          fi
+        fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  RANLIB=$ac_ct_RANLIB
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <assert.h>
+                     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <assert.h>
+                     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+# Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+# Perl is needed for the test suite (only)
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_PERL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$PERL"; then
+  ac_cv_prog_PERL="$PERL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_PERL="perl"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="perl"
+fi
+fi
+PERL=$ac_cv_prog_PERL
+if test -n "$PERL"; then
+  echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
+# Specialized system macros
+# Make sure we can run config.sub.
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_build_alias=$build_alias
+test -z "$ac_cv_build_alias" &&
+  ac_cv_build_alias=`$ac_config_guess`
+test -z "$ac_cv_build_alias" &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6
+build=$ac_cv_build
+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_host_alias=$host_alias
+test -z "$ac_cv_host_alias" &&
+  ac_cv_host_alias=$ac_cv_build_alias
+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6
+host=$ac_cv_host
+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+
+echo "$as_me:$LINENO: checking for AIX" >&5
+echo $ECHO_N "checking for AIX... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#ifdef _AIX
+  yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+cat >>confdefs.h <<\_ACEOF
+#define _ALL_SOURCE 1
+_ACEOF
+
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+rm -f conftest*
+
+
+
+        echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5
+echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6
+if test "${ac_cv_lib_cposix_strerror+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcposix  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char strerror ();
+int
+main ()
+{
+strerror ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_cposix_strerror=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_cposix_strerror=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
+echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6
+if test $ac_cv_lib_cposix_strerror = yes; then
+  LIBS="$LIBS -lcposix"
+fi
+
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
+                     || ('j' <= (c) && (c) <= 'r') \
+                     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+        || toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+if test "${ac_cv_header_minix_config_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for minix/config.h" >&5
+echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6
+if test "${ac_cv_header_minix_config_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking minix/config.h usability" >&5
+echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <minix/config.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking minix/config.h presence" >&5
+echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <minix/config.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for minix/config.h" >&5
+echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6
+if test "${ac_cv_header_minix_config_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_minix_config_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6
+
+fi
+if test $ac_cv_header_minix_config_h = yes; then
+  MINIX=yes
+else
+  MINIX=
+fi
+
+
+if test "$MINIX" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define _POSIX_SOURCE 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define _POSIX_1_SOURCE 2
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define _MINIX 1
+_ACEOF
+
+fi
+
+
+# Enable gettext, in "external" mode.
+
+
+
+        MKINSTALLDIRS=
+  if test -n "$ac_aux_dir"; then
+    MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+  fi
+  if test -z "$MKINSTALLDIRS"; then
+    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+  fi
+
+
+
+
+
+        # Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_MSGFMT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case "$MSGFMT" in
+  /*)
+  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+       ac_cv_path_MSGFMT="$ac_dir/$ac_word"
+       break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+  ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+  echo "$as_me:$LINENO: result: $MSGFMT" >&5
+echo "${ECHO_T}$MSGFMT" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_GMSGFMT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $GMSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+
+if test -n "$GMSGFMT"; then
+  echo "$as_me:$LINENO: result: $GMSGFMT" >&5
+echo "${ECHO_T}$GMSGFMT" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
+        # Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XGETTEXT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case "$XGETTEXT" in
+  /*)
+  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+       ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
+       break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+  ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+  echo "$as_me:$LINENO: result: $XGETTEXT" >&5
+echo "${ECHO_T}$XGETTEXT" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    rm -f messages.po
+
+    # Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_MSGMERGE+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case "$MSGMERGE" in
+  /*)
+  ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
+       ac_cv_path_MSGMERGE="$ac_dir/$ac_word"
+       break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+  ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+  echo "$as_me:$LINENO: result: $MSGMERGE" >&5
+echo "${ECHO_T}$MSGMERGE" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
+      if test "$GMSGFMT" != ":"; then
+            if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+      echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
+echo "${ECHO_T}found $GMSGFMT program is not GNU msgfmt; ignore it" >&6
+      GMSGFMT=":"
+    fi
+  fi
+
+      if test "$XGETTEXT" != ":"; then
+            if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
+       (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5
+echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6
+      XGETTEXT=":"
+    fi
+        rm -f messages.po
+  fi
+
+            ac_config_commands="$ac_config_commands default-1"
+
+
+
+      if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
+echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | [A-Za-z]:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+fi
+if test "${acl_cv_path_LD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$LD"; then
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+       test "$with_gnu_ld" != no && break
+      else
+       test "$with_gnu_ld" != yes && break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${acl_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+  acl_cv_prog_gnu_ld=yes
+else
+  acl_cv_prog_gnu_ld=no
+fi
+fi
+echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+                                                echo "$as_me:$LINENO: checking for shared library run path origin" >&5
+echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6
+if test "${acl_cv_rpath+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+
+fi
+echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
+echo "${ECHO_T}$acl_cv_rpath" >&6
+  wl="$acl_cv_wl"
+  libext="$acl_cv_libext"
+  shlibext="$acl_cv_shlibext"
+  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  hardcode_direct="$acl_cv_hardcode_direct"
+  hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
+  sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
+    # Check whether --enable-rpath or --disable-rpath was given.
+if test "${enable_rpath+set}" = set; then
+  enableval="$enable_rpath"
+  :
+else
+  enable_rpath=yes
+fi;
+
+
+
+
+
+
+
+    use_additional=yes
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+
+# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then
+  withval="$with_libiconv_prefix"
+
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+
+fi;
+      LIBICONV=
+  LTLIBICONV=
+  INCICONV=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='iconv '
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          if test $use_additional = yes; then
+            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+              found_dir="$additional_libdir"
+              found_so="$additional_libdir/lib$name.$shlibext"
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
+              fi
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+                    found_dir="$dir"
+                    found_so="$dir/lib$name.$shlibext"
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
+                    fi
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$hardcode_direct" = yes; then
+                                                      LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                else
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+                    fi
+                    if test "$hardcode_minus_L" != no; then
+                                                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+              else
+                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */lib | */lib/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux*) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/lib"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux*) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+                    LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+            LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+    done
+  fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  echo "$as_me:$LINENO: checking whether NLS is requested" >&5
+echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6
+    # Check whether --enable-nls or --disable-nls was given.
+if test "${enable_nls+set}" = set; then
+  enableval="$enable_nls"
+  USE_NLS=$enableval
+else
+  USE_NLS=yes
+fi;
+  echo "$as_me:$LINENO: result: $USE_NLS" >&5
+echo "${ECHO_T}$USE_NLS" >&6
+
+
+
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+    if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+
+
+
+
+
+
+        echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5
+echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6
+if test "${gt_cv_func_gnugettext1_libc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gt_cv_func_gnugettext1_libc=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+gt_cv_func_gnugettext1_libc=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5
+echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6
+
+        if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
+
+
+
+
+
+          am_save_CPPFLAGS="$CPPFLAGS"
+
+  for element in $INCICONV; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+
+  echo "$as_me:$LINENO: checking for iconv" >&5
+echo $ECHO_N "checking for iconv... $ECHO_C" >&6
+if test "${am_cv_func_iconv+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  am_cv_func_iconv=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+      LIBS="$am_save_LIBS"
+    fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
+echo "${ECHO_T}$am_cv_func_iconv" >&6
+  if test "$am_cv_func_iconv" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ICONV 1
+_ACEOF
+
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    echo "$as_me:$LINENO: checking how to link with libiconv" >&5
+echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6
+    echo "$as_me:$LINENO: result: $LIBICONV" >&5
+echo "${ECHO_T}$LIBICONV" >&6
+  else
+            CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+
+
+
+
+
+
+    use_additional=yes
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+
+# Check whether --with-libintl-prefix or --without-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then
+  withval="$with_libintl_prefix"
+
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+
+fi;
+      LIBINTL=
+  LTLIBINTL=
+  INCINTL=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='intl '
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          if test $use_additional = yes; then
+            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+              found_dir="$additional_libdir"
+              found_so="$additional_libdir/lib$name.$shlibext"
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
+              fi
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+                    found_dir="$dir"
+                    found_so="$dir/lib$name.$shlibext"
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
+                    fi
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$hardcode_direct" = yes; then
+                                                      LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                else
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+                    fi
+                    if test "$hardcode_minus_L" != no; then
+                                                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+              else
+                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */lib | */lib/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux*) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/lib"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux*) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+                    LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+            LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+    done
+  fi
+
+          echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5
+echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6
+if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+                        cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gt_cv_func_gnugettext1_libintl=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+gt_cv_func_gnugettext1_libintl=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+                        if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  LIBINTL="$LIBINTL $LIBICONV"
+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                gt_cv_func_gnugettext1_libintl=yes
+
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"
+fi
+echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libintl" >&5
+echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6
+        fi
+
+                                        if test "$gt_cv_func_gnugettext1_libc" = "yes" \
+           || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
+                && test "$PACKAGE" != gettext; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+                    LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_NLS 1
+_ACEOF
+
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+        echo "$as_me:$LINENO: checking how to link with libintl" >&5
+echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6
+        echo "$as_me:$LINENO: result: $LIBINTL" >&5
+echo "${ECHO_T}$LIBINTL" >&6
+
+  for element in $INCINTL; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+      fi
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETTEXT 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DCGETTEXT 1
+_ACEOF
+
+    fi
+
+        POSUB=po
+  fi
+
+
+
+    INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+# This test must come as early as possible after the compiler configuration
+# tests, because the choice of the file model can (in principle) affect
+# whether functions and headers are available, whether they work, etc.
+# Check whether --enable-largefile or --disable-largefile was given.
+if test "${enable_largefile+set}" = set; then
+  enableval="$enable_largefile"
+
+fi;
+if test "$enable_largefile" != no; then
+
+  echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
+echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
+if test "${ac_cv_sys_largefile_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+        # IRIX 6.2 and later do not support large files by default,
+        # so use the C compiler's -n32 option if that helps.
+         cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                      && LARGE_OFF_T % 2147483647 == 1)
+                     ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+        rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext
+        CC="$CC -n32"
+        rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_sys_largefile_CC=' -n32'; break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext
+         break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
+echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  while :; do
+  ac_cv_sys_file_offset_bits=no
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                      && LARGE_OFF_T % 2147483647 == 1)
+                     ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                      && LARGE_OFF_T % 2147483647 == 1)
+                     ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_sys_file_offset_bits=64; break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+  break
+done
+fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
+echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
+if test "$ac_cv_sys_file_offset_bits" != no; then
+
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+
+fi
+rm -f conftest*
+  echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
+echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
+if test "${ac_cv_sys_large_files+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  while :; do
+  ac_cv_sys_large_files=no
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                      && LARGE_OFF_T % 2147483647 == 1)
+                     ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                      && LARGE_OFF_T % 2147483647 == 1)
+                     ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_sys_large_files=1; break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+  break
+done
+fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
+echo "${ECHO_T}$ac_cv_sys_large_files" >&6
+if test "$ac_cv_sys_large_files" != no; then
+
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+
+fi
+rm -f conftest*
+fi
+
+
+# Checks for libraries.
+echo "$as_me:$LINENO: checking for library containing getpwnam" >&5
+echo $ECHO_N "checking for library containing getpwnam... $ECHO_C" >&6
+if test "${ac_cv_search_getpwnam+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+ac_cv_search_getpwnam=no
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char getpwnam ();
+int
+main ()
+{
+getpwnam ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_getpwnam="none required"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+if test "$ac_cv_search_getpwnam" = no; then
+  for ac_lib in sun; do
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char getpwnam ();
+int
+main ()
+{
+getpwnam ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_getpwnam="-l$ac_lib"
+break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+  done
+fi
+LIBS=$ac_func_search_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_search_getpwnam" >&5
+echo "${ECHO_T}$ac_cv_search_getpwnam" >&6
+if test "$ac_cv_search_getpwnam" != no; then
+  test "$ac_cv_search_getpwnam" = "none required" || LIBS="$ac_cv_search_getpwnam $LIBS"
+
+fi
+
+
+# Checks for header files.
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
+                     || ('j' <= (c) && (c) <= 'r') \
+                     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+        || toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+  as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+  echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
+if test "${ac_cv_search_opendir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+ac_cv_search_opendir=no
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir ();
+int
+main ()
+{
+opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir="none required"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+if test "$ac_cv_search_opendir" = no; then
+  for ac_lib in dir; do
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir ();
+int
+main ()
+{
+opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir="-l$ac_lib"
+break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+  done
+fi
+LIBS=$ac_func_search_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6
+if test "$ac_cv_search_opendir" != no; then
+  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
+
+fi
+
+else
+  echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
+if test "${ac_cv_search_opendir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+ac_cv_search_opendir=no
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir ();
+int
+main ()
+{
+opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir="none required"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+if test "$ac_cv_search_opendir" = no; then
+  for ac_lib in x; do
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir ();
+int
+main ()
+{
+opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir="-l$ac_lib"
+break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+  done
+fi
+LIBS=$ac_func_search_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6
+if test "$ac_cv_search_opendir" != no; then
+  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
+
+fi
+
+fi
+
+echo "$as_me:$LINENO: checking whether stat file-mode macros are broken" >&5
+echo $ECHO_N "checking whether stat file-mode macros are broken... $ECHO_C" >&6
+if test "${ac_cv_header_stat_broken+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#if defined(S_ISBLK) && defined(S_IFDIR)
+# if S_ISBLK (S_IFDIR)
+You lose.
+# endif
+#endif
+
+#if defined(S_ISBLK) && defined(S_IFCHR)
+# if S_ISBLK (S_IFCHR)
+You lose.
+# endif
+#endif
+
+#if defined(S_ISLNK) && defined(S_IFREG)
+# if S_ISLNK (S_IFREG)
+You lose.
+# endif
+#endif
+
+#if defined(S_ISSOCK) && defined(S_IFREG)
+# if S_ISSOCK (S_IFREG)
+You lose.
+# endif
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "You lose" >/dev/null 2>&1; then
+  ac_cv_header_stat_broken=yes
+else
+  ac_cv_header_stat_broken=no
+fi
+rm -f conftest*
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5
+echo "${ECHO_T}$ac_cv_header_stat_broken" >&6
+if test $ac_cv_header_stat_broken = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STAT_MACROS_BROKEN 1
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+if test "${ac_cv_header_time+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_time=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_header_time=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+echo "${ECHO_T}$ac_cv_header_time" >&6
+if test $ac_cv_header_time = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define TIME_WITH_SYS_TIME 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+for ac_header in stdlib.h locale.h unistd.h limits.h fcntl.h string.h \
+                memory.h sys/param.h sys/time.h sys/timeb.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+if test "x$CC" != xcc; then
+  echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
+echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5
+echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6
+fi
+set dummy $CC; ac_cc=`echo $2 |
+                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest.$ac_objext >&5'
+if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+   test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); };
+then
+  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+  if test "x$CC" != xcc; then
+    # Test first that cc exists at all.
+    if { ac_try='cc -c conftest.$ac_ext >&5'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+      ac_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&5'
+      if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); };
+      then
+        # cc works too.
+        :
+      else
+        # cc exists but doesn't like -o.
+        eval ac_cv_prog_cc_${ac_cc}_c_o=no
+      fi
+    fi
+  fi
+else
+  eval ac_cv_prog_cc_${ac_cc}_c_o=no
+fi
+rm -f conftest*
+
+fi
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define NO_MINUS_C_MINUS_O 1
+_ACEOF
+
+fi
+
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+
+
+
+
+echo "$as_me:$LINENO: checking for ${CC-cc} option to accept ANSI C" >&5
+echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6
+if test "${am_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  am_cv_prog_cc_stdc=no
+ac_save_CC="$CC"
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX                  -qlanglvl=ansi
+# Ultrix and OSF/1     -std1
+# HP-UX 10.20 and later        -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4                 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+
+int
+main ()
+{
+
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  am_cv_prog_cc_stdc="$ac_arg"; break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
+CC="$ac_save_CC"
+
+fi
+
+if test -z "$am_cv_prog_cc_stdc"; then
+  echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6
+else
+  echo "$as_me:$LINENO: result: $am_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$am_cv_prog_cc_stdc" >&6
+fi
+case "x$am_cv_prog_cc_stdc" in
+  x|xno) ;;
+  *) CC="$CC $am_cv_prog_cc_stdc" ;;
+esac
+
+echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+if test "${ac_cv_c_const+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset x;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *ccp;
+  char **p;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  ccp = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++ccp;
+  p = (char**) ccp;
+  ccp = (char const *const *) p;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+  }
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_const=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_c_const=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+echo "${ECHO_T}$ac_cv_c_const" >&6
+if test $ac_cv_c_const = no; then
+
+cat >>confdefs.h <<\_ACEOF
+#define const
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+if test "${ac_cv_type_signal+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+# undef signal
+#endif
+#ifdef __cplusplus
+extern "C" void (*signal (int, void (*)(int)))(int);
+#else
+void (*signal ()) ();
+#endif
+
+int
+main ()
+{
+int i;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_signal=void
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_type_signal=int
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+echo "${ECHO_T}$ac_cv_type_signal" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define RETSIGTYPE $ac_cv_type_signal
+_ACEOF
+
+
+echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
+echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6
+if test "${ac_cv_type_uid_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "uid_t" >/dev/null 2>&1; then
+  ac_cv_type_uid_t=yes
+else
+  ac_cv_type_uid_t=no
+fi
+rm -f conftest*
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
+echo "${ECHO_T}$ac_cv_type_uid_t" >&6
+if test $ac_cv_type_uid_t = no; then
+
+cat >>confdefs.h <<\_ACEOF
+#define uid_t int
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define gid_t int
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking for pid_t" >&5
+echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+if test "${ac_cv_type_pid_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+int
+main ()
+{
+if ((pid_t *) 0)
+  return 0;
+if (sizeof (pid_t))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_pid_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_type_pid_t=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+if test $ac_cv_type_pid_t = yes; then
+  :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
+
+fi
+
+
+# Find some definition for uintmax_t
+
+echo "$as_me:$LINENO: checking for uintmax_t" >&5
+echo $ECHO_N "checking for uintmax_t... $ECHO_C" >&6
+if test "${ac_cv_type_uintmax_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+int
+main ()
+{
+if ((uintmax_t *) 0)
+  return 0;
+if (sizeof (uintmax_t))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_uintmax_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_type_uintmax_t=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_uintmax_t" >&5
+echo "${ECHO_T}$ac_cv_type_uintmax_t" >&6
+if test $ac_cv_type_uintmax_t = yes; then
+  :
+else
+
+  uintmax_t="unsigned long"
+  echo "$as_me:$LINENO: checking for unsigned long long" >&5
+echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6
+if test "${ac_cv_type_unsigned_long_long+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+int
+main ()
+{
+if ((unsigned long long *) 0)
+  return 0;
+if (sizeof (unsigned long long))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_unsigned_long_long=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_type_unsigned_long_long=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5
+echo "${ECHO_T}$ac_cv_type_unsigned_long_long" >&6
+if test $ac_cv_type_unsigned_long_long = yes; then
+  uintmax_t="unsigned long long"
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define uintmax_t $uintmax_t
+_ACEOF
+
+fi
+
+
+# Find out whether our struct stat returns nanosecond resolution timestamps.
+
+echo "$as_me:$LINENO: checking for nanoseconds field of struct stat.st_mtim" >&5
+echo $ECHO_N "checking for nanoseconds field of struct stat.st_mtim... $ECHO_C" >&6
+if test "${ac_cv_struct_st_mtim_nsec+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_save_CPPFLAGS="$CPPFLAGS"
+    ac_cv_struct_st_mtim_nsec=no
+    # tv_nsec -- the usual case
+    # _tv_nsec -- Solaris 2.6, if
+    #  (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
+    #   && !defined __EXTENSIONS__)
+    # st__tim.tv_nsec -- UnixWare 2.1.2
+    for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
+      CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
+      cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+int
+main ()
+{
+struct stat s; s.st_mtim.ST_MTIM_NSEC;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_struct_st_mtim_nsec=$ac_val; break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+    done
+    CPPFLAGS="$ac_save_CPPFLAGS"
+fi
+echo "$as_me:$LINENO: result: $ac_cv_struct_st_mtim_nsec" >&5
+echo "${ECHO_T}$ac_cv_struct_st_mtim_nsec" >&6
+
+  if test $ac_cv_struct_st_mtim_nsec != no; then
+
+cat >>confdefs.h <<_ACEOF
+#define ST_MTIM_NSEC $ac_cv_struct_st_mtim_nsec
+_ACEOF
+
+  fi
+
+
+echo "$as_me:$LINENO: checking whether to use high resolution file timestamps" >&5
+echo $ECHO_N "checking whether to use high resolution file timestamps... $ECHO_C" >&6
+if test "${make_cv_file_timestamp_hi_res+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+  make_cv_file_timestamp_hi_res=no
+  if test "$ac_cv_struct_st_mtim_nsec" != no; then
+    cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#      if HAVE_INTTYPES_H
+#       include <inttypes.h>
+#      endif
+int
+main ()
+{
+char a[0x7fffffff < (uintmax_t) -1 >> 30 ? 1 : -1];
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  make_cv_file_timestamp_hi_res=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+  fi
+fi
+
+echo "$as_me:$LINENO: result: $make_cv_file_timestamp_hi_res" >&5
+echo "${ECHO_T}$make_cv_file_timestamp_hi_res" >&6
+if test "$make_cv_file_timestamp_hi_res" = yes; then
+  val=1
+else
+  val=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define FILE_TIMESTAMP_HI_RES $val
+_ACEOF
+
+
+if test "$make_cv_file_timestamp_hi_res" = yes; then
+  # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
+  # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
+  echo "$as_me:$LINENO: checking for library containing clock_gettime" >&5
+echo $ECHO_N "checking for library containing clock_gettime... $ECHO_C" >&6
+if test "${ac_cv_search_clock_gettime+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+ac_cv_search_clock_gettime=no
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char clock_gettime ();
+int
+main ()
+{
+clock_gettime ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_clock_gettime="none required"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+if test "$ac_cv_search_clock_gettime" = no; then
+  for ac_lib in rt posix4; do
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char clock_gettime ();
+int
+main ()
+{
+clock_gettime ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_clock_gettime="-l$ac_lib"
+break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+  done
+fi
+LIBS=$ac_func_search_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_search_clock_gettime" >&5
+echo "${ECHO_T}$ac_cv_search_clock_gettime" >&6
+if test "$ac_cv_search_clock_gettime" != no; then
+  test "$ac_cv_search_clock_gettime" = "none required" || LIBS="$ac_cv_search_clock_gettime $LIBS"
+
+fi
+
+  if test "$ac_cv_search_clock_gettime" != no; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CLOCK_GETTIME 1
+_ACEOF
+
+  fi
+fi
+
+
+# See if we have a standard version of gettimeofday().  Since actual
+# implementations can differ, just make sure we have the most common
+# one.
+echo "$as_me:$LINENO: checking for standard gettimeofday" >&5
+echo $ECHO_N "checking for standard gettimeofday... $ECHO_C" >&6
+if test "${ac_cv_func_gettimeofday+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_func_gettimeofday=no
+   if test "$cross_compiling" = yes; then
+  ac_cv_func_gettimeofday="no (cross-compiling)"
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/time.h>
+              int main ()
+              {
+                struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
+                exit (gettimeofday (&t, 0) != 0
+                      || t.tv_sec < 0 || t.tv_usec < 0);
+              }
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_gettimeofday=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+ac_cv_func_gettimeofday=no
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_gettimeofday" >&5
+echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
+if test "$ac_cv_func_gettimeofday" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETTIMEOFDAY 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in memcpy memmove strchr strdup mkstemp mktemp fdopen \
+               bsd_signal dup2 getcwd sigsetmask sigaction getgroups \
+               seteuid setegid setlinebuf setreuid setregid setvbuf pipe \
+               strerror strsignal
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+echo "$as_me:$LINENO: checking for function prototypes" >&5
+echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6
+if test "$ac_cv_prog_cc_stdc" != no; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define PROTOTYPES 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define __PROTOTYPES 1
+_ACEOF
+
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
+echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
+if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_func_setvbuf_reversed=no
+   cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdio.h>
+#        if PROTOTYPES
+          int (setvbuf) (FILE *, int, char *, size_t);
+#        endif
+int
+main ()
+{
+char buf; return setvbuf (stdout, _IOLBF, &buf, 1);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdio.h>
+#           if PROTOTYPES
+             int (setvbuf) (FILE *, int, char *, size_t);
+#           endif
+int
+main ()
+{
+char buf; return setvbuf (stdout, &buf, _IOLBF, 1);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  # It compiles and links either way, so it must not be declared
+        # with a prototype and most likely this is a K&R C compiler.
+        # Try running it.
+        if test "$cross_compiling" = yes; then
+  : # Assume setvbuf is not reversed when cross-compiling.
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int
+main ()
+{
+/* This call has the arguments reversed.
+                  A reversed system may check and see that the address of buf
+                  is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
+               char buf;
+               if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
+                 exit (1);
+               putchar ('\r');
+               exit (0); /* Non-reversed systems SEGV here.  */
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_setvbuf_reversed=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+rm -f core core.* *.core
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+       ac_cv_func_setvbuf_reversed=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
+echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
+if test $ac_cv_func_setvbuf_reversed = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SETVBUF_REVERSED 1
+_ACEOF
+
+fi
+
+
+# strcoll() is used by the GNU glob library
+echo "$as_me:$LINENO: checking for working strcoll" >&5
+echo $ECHO_N "checking for working strcoll... $ECHO_C" >&6
+if test "${ac_cv_func_strcoll_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_strcoll_works=no
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+int
+main ()
+{
+exit (strcoll ("abc", "def") >= 0 ||
+        strcoll ("ABC", "DEF") >= 0 ||
+        strcoll ("123", "456") >= 0)
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_strcoll_works=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+ac_cv_func_strcoll_works=no
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_strcoll_works" >&5
+echo "${ECHO_T}$ac_cv_func_strcoll_works" >&6
+if test $ac_cv_func_strcoll_works = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRCOLL 1
+_ACEOF
+
+fi
+
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments.  Useless!
+echo "$as_me:$LINENO: checking for working alloca.h" >&5
+echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6
+if test "${ac_cv_working_alloca_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_working_alloca_h=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_working_alloca_h=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
+echo "${ECHO_T}$ac_cv_working_alloca_h" >&6
+if test $ac_cv_working_alloca_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ALLOCA_H 1
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking for alloca" >&5
+echo $ECHO_N "checking for alloca... $ECHO_C" >&6
+if test "${ac_cv_func_alloca_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# else
+#  if HAVE_ALLOCA_H
+#   include <alloca.h>
+#  else
+#   ifdef _AIX
+ #pragma alloca
+#   else
+#    ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_alloca_works=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_alloca_works=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
+echo "${ECHO_T}$ac_cv_func_alloca_works" >&6
+
+if test $ac_cv_func_alloca_works = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ALLOCA 1
+_ACEOF
+
+else
+  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble.  Some versions do not even contain alloca or
+# contain a buggy version.  If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=alloca.$ac_objext
+
+cat >>confdefs.h <<\_ACEOF
+#define C_ALLOCA 1
+_ACEOF
+
+
+echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
+echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6
+if test "${ac_cv_os_cray+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#if defined(CRAY) && ! defined(CRAY2)
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "webecray" >/dev/null 2>&1; then
+  ac_cv_os_cray=yes
+else
+  ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
+echo "${ECHO_T}$ac_cv_os_cray" >&6
+if test $ac_cv_os_cray = yes; then
+  for ac_func in _getb67 GETB67 getb67; do
+    as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+    break
+fi
+
+  done
+fi
+
+echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
+echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6
+if test "${ac_cv_c_stack_direction+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_c_stack_direction=0
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+int
+find_stack_direction ()
+{
+  static char *addr = 0;
+  auto char dummy;
+  if (addr == 0)
+    {
+      addr = &dummy;
+      return find_stack_direction ();
+    }
+  else
+    return (&dummy > addr) ? 1 : -1;
+}
+
+int
+main ()
+{
+  exit (find_stack_direction () < 0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_stack_direction=1
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+ac_cv_c_stack_direction=-1
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
+echo "${ECHO_T}$ac_cv_c_stack_direction" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+
+
+for ac_header in unistd.h vfork.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_func in fork vfork
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+if test "x$ac_cv_func_fork" = xyes; then
+  echo "$as_me:$LINENO: checking for working fork" >&5
+echo $ECHO_N "checking for working fork... $ECHO_C" >&6
+if test "${ac_cv_func_fork_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_fork_works=cross
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* By Ruediger Kuhlmann. */
+      #include <sys/types.h>
+      #if HAVE_UNISTD_H
+      # include <unistd.h>
+      #endif
+      /* Some systems only have a dummy stub for fork() */
+      int main ()
+      {
+        if (fork() < 0)
+          exit (1);
+        exit (0);
+      }
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_fork_works=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+ac_cv_func_fork_works=no
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5
+echo "${ECHO_T}$ac_cv_func_fork_works" >&6
+
+else
+  ac_cv_func_fork_works=$ac_cv_func_fork
+fi
+if test "x$ac_cv_func_fork_works" = xcross; then
+  case $host in
+    *-*-amigaos* | *-*-msdosdjgpp*)
+      # Override, as these systems have only a dummy fork() stub
+      ac_cv_func_fork_works=no
+      ;;
+    *)
+      ac_cv_func_fork_works=yes
+      ;;
+  esac
+  { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
+echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
+fi
+ac_cv_func_vfork_works=$ac_cv_func_vfork
+if test "x$ac_cv_func_vfork" = xyes; then
+  echo "$as_me:$LINENO: checking for working vfork" >&5
+echo $ECHO_N "checking for working vfork... $ECHO_C" >&6
+if test "${ac_cv_func_vfork_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_vfork_works=cross
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* Thanks to Paul Eggert for this test.  */
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#if HAVE_VFORK_H
+# include <vfork.h>
+#endif
+/* On some sparc systems, changes by the child to local and incoming
+   argument registers are propagated back to the parent.  The compiler
+   is told about this with #include <vfork.h>, but some compilers
+   (e.g. gcc -O) don't grok <vfork.h>.  Test for this by using a
+   static variable whose address is put into a register that is
+   clobbered by the vfork.  */
+static
+#ifdef __cplusplus
+sparc_address_test (int arg)
+# else
+sparc_address_test (arg) int arg;
+#endif
+{
+  static pid_t child;
+  if (!child) {
+    child = vfork ();
+    if (child < 0) {
+      perror ("vfork");
+      _exit(2);
+    }
+    if (!child) {
+      arg = getpid();
+      write(-1, "", 0);
+      _exit (arg);
+    }
+  }
+}
+
+int
+main ()
+{
+  pid_t parent = getpid ();
+  pid_t child;
+
+  sparc_address_test ();
+
+  child = vfork ();
+
+  if (child == 0) {
+    /* Here is another test for sparc vfork register problems.  This
+       test uses lots of local variables, at least as many local
+       variables as main has allocated so far including compiler
+       temporaries.  4 locals are enough for gcc 1.40.3 on a Solaris
+       4.1.3 sparc, but we use 8 to be safe.  A buggy compiler should
+       reuse the register of parent for one of the local variables,
+       since it will think that parent can't possibly be used any more
+       in this routine.  Assigning to the local variable will thus
+       munge parent in the parent process.  */
+    pid_t
+      p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
+      p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
+    /* Convince the compiler that p..p7 are live; otherwise, it might
+       use the same hardware register for all 8 local variables.  */
+    if (p != p1 || p != p2 || p != p3 || p != p4
+       || p != p5 || p != p6 || p != p7)
+      _exit(1);
+
+    /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
+       from child file descriptors.  If the child closes a descriptor
+       before it execs or exits, this munges the parent's descriptor
+       as well.  Test for this by closing stdout in the child.  */
+    _exit(close(fileno(stdout)) != 0);
+  } else {
+    int status;
+    struct stat st;
+
+    while (wait(&status) != child)
+      ;
+    exit(
+        /* Was there some problem with vforking?  */
+        child < 0
+
+        /* Did the child fail?  (This shouldn't happen.)  */
+        || status
+
+        /* Did the vfork/compiler bug occur?  */
+        || parent != getpid()
+
+        /* Did the file descriptor bug occur?  */
+        || fstat(fileno(stdout), &st) != 0
+        );
+  }
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_vfork_works=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+ac_cv_func_vfork_works=no
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5
+echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
+
+fi;
+if test "x$ac_cv_func_fork_works" = xcross; then
+  ac_cv_func_vfork_works=ac_cv_func_vfork
+  { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
+echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
+fi
+
+if test "x$ac_cv_func_vfork_works" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WORKING_VFORK 1
+_ACEOF
+
+else
+
+cat >>confdefs.h <<\_ACEOF
+#define vfork fork
+_ACEOF
+
+fi
+if test "x$ac_cv_func_fork_works" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WORKING_FORK 1
+_ACEOF
+
+fi
+
+
+for ac_func in vprintf
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+echo "$as_me:$LINENO: checking for _doprnt" >&5
+echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6
+if test "${ac_cv_func__doprnt+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char _doprnt (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char _doprnt ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub__doprnt) || defined (__stub____doprnt)
+choke me
+#else
+f = _doprnt;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func__doprnt=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func__doprnt=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
+echo "${ECHO_T}$ac_cv_func__doprnt" >&6
+if test $ac_cv_func__doprnt = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DOPRNT 1
+_ACEOF
+
+fi
+
+fi
+done
+
+
+echo "$as_me:$LINENO: checking whether closedir returns void" >&5
+echo $ECHO_N "checking whether closedir returns void... $ECHO_C" >&6
+if test "${ac_cv_func_closedir_void+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_closedir_void=yes
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <$ac_header_dirent>
+#ifndef __cplusplus
+int closedir ();
+#endif
+
+int
+main ()
+{
+exit (closedir (opendir (".")) != 0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_closedir_void=no
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+( exit $ac_status )
+ac_cv_func_closedir_void=yes
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5
+echo "${ECHO_T}$ac_cv_func_closedir_void" >&6
+if test $ac_cv_func_closedir_void = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define CLOSEDIR_VOID 1
+_ACEOF
+
+fi
+
+
+ac_have_func=no # yes means we've found a way to get the load average.
+
+# Make sure getloadavg.c is where it belongs, at configure-time.
+test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" ||
+  { { echo "$as_me:$LINENO: error: $srcdir/$ac_config_libobj_dir/getloadavg.c is missing" >&5
+echo "$as_me: error: $srcdir/$ac_config_libobj_dir/getloadavg.c is missing" >&2;}
+   { (exit 1); exit 1; }; }
+
+ac_save_LIBS=$LIBS
+
+# Check for getloadavg, but be sure not to touch the cache variable.
+(echo "$as_me:$LINENO: checking for getloadavg" >&5
+echo $ECHO_N "checking for getloadavg... $ECHO_C" >&6
+if test "${ac_cv_func_getloadavg+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char getloadavg (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char getloadavg ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_getloadavg) || defined (__stub___getloadavg)
+choke me
+#else
+f = getloadavg;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_getloadavg=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_getloadavg=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_getloadavg" >&5
+echo "${ECHO_T}$ac_cv_func_getloadavg" >&6
+if test $ac_cv_func_getloadavg = yes; then
+  exit 0
+else
+  exit 1
+fi
+) && ac_have_func=yes
+
+# On HPUX9, an unprivileged user can get load averages through this function.
+
+for ac_func in pstat_getdynamic
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+# Solaris has libkstat which does not require root.
+
+echo "$as_me:$LINENO: checking for kstat_open in -lkstat" >&5
+echo $ECHO_N "checking for kstat_open in -lkstat... $ECHO_C" >&6
+if test "${ac_cv_lib_kstat_kstat_open+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lkstat  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char kstat_open ();
+int
+main ()
+{
+kstat_open ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_kstat_kstat_open=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_kstat_kstat_open=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_kstat_kstat_open" >&5
+echo "${ECHO_T}$ac_cv_lib_kstat_kstat_open" >&6
+if test $ac_cv_lib_kstat_kstat_open = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBKSTAT 1
+_ACEOF
+
+  LIBS="-lkstat $LIBS"
+
+fi
+
+test $ac_cv_lib_kstat_kstat_open = yes && ac_have_func=yes
+
+# Some systems with -lutil have (and need) -lkvm as well, some do not.
+# On Solaris, -lkvm requires nlist from -lelf, so check that first
+# to get the right answer into the cache.
+# For kstat on solaris, we need libelf to force the definition of SVR4 below.
+if test $ac_have_func = no; then
+  echo "$as_me:$LINENO: checking for elf_begin in -lelf" >&5
+echo $ECHO_N "checking for elf_begin in -lelf... $ECHO_C" >&6
+if test "${ac_cv_lib_elf_elf_begin+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lelf  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char elf_begin ();
+int
+main ()
+{
+elf_begin ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_elf_elf_begin=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_elf_elf_begin=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_elf_elf_begin" >&5
+echo "${ECHO_T}$ac_cv_lib_elf_elf_begin" >&6
+if test $ac_cv_lib_elf_elf_begin = yes; then
+  LIBS="-lelf $LIBS"
+fi
+
+fi
+if test $ac_have_func = no; then
+  echo "$as_me:$LINENO: checking for kvm_open in -lkvm" >&5
+echo $ECHO_N "checking for kvm_open in -lkvm... $ECHO_C" >&6
+if test "${ac_cv_lib_kvm_kvm_open+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lkvm  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char kvm_open ();
+int
+main ()
+{
+kvm_open ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_kvm_kvm_open=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_kvm_kvm_open=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_kvm_kvm_open" >&5
+echo "${ECHO_T}$ac_cv_lib_kvm_kvm_open" >&6
+if test $ac_cv_lib_kvm_kvm_open = yes; then
+  LIBS="-lkvm $LIBS"
+fi
+
+  # Check for the 4.4BSD definition of getloadavg.
+  echo "$as_me:$LINENO: checking for getloadavg in -lutil" >&5
+echo $ECHO_N "checking for getloadavg in -lutil... $ECHO_C" >&6
+if test "${ac_cv_lib_util_getloadavg+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lutil  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char getloadavg ();
+int
+main ()
+{
+getloadavg ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_util_getloadavg=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_util_getloadavg=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_util_getloadavg" >&5
+echo "${ECHO_T}$ac_cv_lib_util_getloadavg" >&6
+if test $ac_cv_lib_util_getloadavg = yes; then
+  LIBS="-lutil $LIBS" ac_have_func=yes ac_cv_func_getloadavg_setgid=yes
+fi
+
+fi
+
+if test $ac_have_func = no; then
+  # There is a commonly available library for RS/6000 AIX.
+  # Since it is not a standard part of AIX, it might be installed locally.
+  ac_getloadavg_LIBS=$LIBS
+  LIBS="-L/usr/local/lib $LIBS"
+  echo "$as_me:$LINENO: checking for getloadavg in -lgetloadavg" >&5
+echo $ECHO_N "checking for getloadavg in -lgetloadavg... $ECHO_C" >&6
+if test "${ac_cv_lib_getloadavg_getloadavg+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgetloadavg  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char getloadavg ();
+int
+main ()
+{
+getloadavg ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_getloadavg_getloadavg=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_getloadavg_getloadavg=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_getloadavg_getloadavg" >&5
+echo "${ECHO_T}$ac_cv_lib_getloadavg_getloadavg" >&6
+if test $ac_cv_lib_getloadavg_getloadavg = yes; then
+  LIBS="-lgetloadavg $LIBS"
+else
+  LIBS=$ac_getloadavg_LIBS
+fi
+
+fi
+
+# Make sure it is really in the library, if we think we found it,
+# otherwise set up the replacement function.
+
+for ac_func in getloadavg
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+  LIBOBJS="$LIBOBJS getloadavg.$ac_objext"
+
+cat >>confdefs.h <<\_ACEOF
+#define C_GETLOADAVG 1
+_ACEOF
+
+# Figure out what our getloadavg.c needs.
+ac_have_func=no
+if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for sys/dg_sys_info.h" >&5
+echo $ECHO_N "checking for sys/dg_sys_info.h... $ECHO_C" >&6
+if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_sys_dg_sys_info_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_dg_sys_info_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking sys/dg_sys_info.h usability" >&5
+echo $ECHO_N "checking sys/dg_sys_info.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <sys/dg_sys_info.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking sys/dg_sys_info.h presence" >&5
+echo $ECHO_N "checking sys/dg_sys_info.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/dg_sys_info.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: sys/dg_sys_info.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: sys/dg_sys_info.h: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: sys/dg_sys_info.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: sys/dg_sys_info.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: sys/dg_sys_info.h: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for sys/dg_sys_info.h" >&5
+echo $ECHO_N "checking for sys/dg_sys_info.h... $ECHO_C" >&6
+if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_sys_dg_sys_info_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_sys_dg_sys_info_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_dg_sys_info_h" >&6
+
+fi
+if test $ac_cv_header_sys_dg_sys_info_h = yes; then
+  ac_have_func=yes
+
+cat >>confdefs.h <<\_ACEOF
+#define DGUX 1
+_ACEOF
+
+
+echo "$as_me:$LINENO: checking for dg_sys_info in -ldgc" >&5
+echo $ECHO_N "checking for dg_sys_info in -ldgc... $ECHO_C" >&6
+if test "${ac_cv_lib_dgc_dg_sys_info+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldgc  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dg_sys_info ();
+int
+main ()
+{
+dg_sys_info ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dgc_dg_sys_info=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_dgc_dg_sys_info=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dgc_dg_sys_info" >&5
+echo "${ECHO_T}$ac_cv_lib_dgc_dg_sys_info" >&6
+if test $ac_cv_lib_dgc_dg_sys_info = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBDGC 1
+_ACEOF
+
+  LIBS="-ldgc $LIBS"
+
+fi
+
+fi
+
+
+
+if test "${ac_cv_header_locale_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for locale.h" >&5
+echo $ECHO_N "checking for locale.h... $ECHO_C" >&6
+if test "${ac_cv_header_locale_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_locale_h" >&5
+echo "${ECHO_T}$ac_cv_header_locale_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking locale.h usability" >&5
+echo $ECHO_N "checking locale.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <locale.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking locale.h presence" >&5
+echo $ECHO_N "checking locale.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <locale.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: locale.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: locale.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: locale.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: locale.h: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: locale.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: locale.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: locale.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: locale.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: locale.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: locale.h: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for locale.h" >&5
+echo $ECHO_N "checking for locale.h... $ECHO_C" >&6
+if test "${ac_cv_header_locale_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_locale_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_locale_h" >&5
+echo "${ECHO_T}$ac_cv_header_locale_h" >&6
+
+fi
+
+
+
+for ac_func in setlocale
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+# We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it
+# uses stabs), but it is still SVR4.  We cannot check for <elf.h> because
+# Irix 4.0.5F has the header but not the library.
+if test $ac_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes; then
+  ac_have_func=yes
+
+cat >>confdefs.h <<\_ACEOF
+#define SVR4 1
+_ACEOF
+
+fi
+
+if test $ac_have_func = no; then
+  if test "${ac_cv_header_inq_stats_cpustats_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for inq_stats/cpustats.h" >&5
+echo $ECHO_N "checking for inq_stats/cpustats.h... $ECHO_C" >&6
+if test "${ac_cv_header_inq_stats_cpustats_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_inq_stats_cpustats_h" >&5
+echo "${ECHO_T}$ac_cv_header_inq_stats_cpustats_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking inq_stats/cpustats.h usability" >&5
+echo $ECHO_N "checking inq_stats/cpustats.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <inq_stats/cpustats.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking inq_stats/cpustats.h presence" >&5
+echo $ECHO_N "checking inq_stats/cpustats.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <inq_stats/cpustats.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: inq_stats/cpustats.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: inq_stats/cpustats.h: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: inq_stats/cpustats.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: inq_stats/cpustats.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: inq_stats/cpustats.h: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for inq_stats/cpustats.h" >&5
+echo $ECHO_N "checking for inq_stats/cpustats.h... $ECHO_C" >&6
+if test "${ac_cv_header_inq_stats_cpustats_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_inq_stats_cpustats_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_inq_stats_cpustats_h" >&5
+echo "${ECHO_T}$ac_cv_header_inq_stats_cpustats_h" >&6
+
+fi
+if test $ac_cv_header_inq_stats_cpustats_h = yes; then
+  ac_have_func=yes
+
+cat >>confdefs.h <<\_ACEOF
+#define UMAX 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define UMAX4_3 1
+_ACEOF
+
+fi
+
+
+fi
+
+if test $ac_have_func = no; then
+  if test "${ac_cv_header_sys_cpustats_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for sys/cpustats.h" >&5
+echo $ECHO_N "checking for sys/cpustats.h... $ECHO_C" >&6
+if test "${ac_cv_header_sys_cpustats_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_sys_cpustats_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_cpustats_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking sys/cpustats.h usability" >&5
+echo $ECHO_N "checking sys/cpustats.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <sys/cpustats.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking sys/cpustats.h presence" >&5
+echo $ECHO_N "checking sys/cpustats.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/cpustats.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: sys/cpustats.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: sys/cpustats.h: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: sys/cpustats.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: sys/cpustats.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: sys/cpustats.h: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for sys/cpustats.h" >&5
+echo $ECHO_N "checking for sys/cpustats.h... $ECHO_C" >&6
+if test "${ac_cv_header_sys_cpustats_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_sys_cpustats_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_sys_cpustats_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_cpustats_h" >&6
+
+fi
+if test $ac_cv_header_sys_cpustats_h = yes; then
+  ac_have_func=yes; cat >>confdefs.h <<\_ACEOF
+#define UMAX 1
+_ACEOF
+
+fi
+
+
+fi
+
+if test $ac_have_func = no; then
+
+for ac_header in mach/mach.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+fi
+
+
+for ac_header in nlist.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+ echo "$as_me:$LINENO: checking for struct nlist.n_un.n_name" >&5
+echo $ECHO_N "checking for struct nlist.n_un.n_name... $ECHO_C" >&6
+if test "${ac_cv_member_struct_nlist_n_un_n_name+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <nlist.h>
+
+int
+main ()
+{
+static struct nlist ac_aggr;
+if (ac_aggr.n_un.n_name)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_member_struct_nlist_n_un_n_name=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <nlist.h>
+
+int
+main ()
+{
+static struct nlist ac_aggr;
+if (sizeof ac_aggr.n_un.n_name)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_member_struct_nlist_n_un_n_name=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_member_struct_nlist_n_un_n_name=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_member_struct_nlist_n_un_n_name" >&5
+echo "${ECHO_T}$ac_cv_member_struct_nlist_n_un_n_name" >&6
+if test $ac_cv_member_struct_nlist_n_un_n_name = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_NLIST_N_UN_N_NAME 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define NLIST_NAME_UNION 1
+_ACEOF
+
+fi
+
+
+fi
+
+done
+
+fi
+done
+
+
+# Some definitions of getloadavg require that the program be installed setgid.
+echo "$as_me:$LINENO: checking whether getloadavg requires setgid" >&5
+echo $ECHO_N "checking whether getloadavg requires setgid... $ECHO_C" >&6
+if test "${ac_cv_func_getloadavg_setgid+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
+#ifdef LDAV_PRIVILEGED
+Yowza Am I SETGID yet
+#endif
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Yowza Am I SETGID yet" >/dev/null 2>&1; then
+  ac_cv_func_getloadavg_setgid=yes
+else
+  ac_cv_func_getloadavg_setgid=no
+fi
+rm -f conftest*
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_getloadavg_setgid" >&5
+echo "${ECHO_T}$ac_cv_func_getloadavg_setgid" >&6
+if test $ac_cv_func_getloadavg_setgid = yes; then
+  NEED_SETGID=true
+
+cat >>confdefs.h <<\_ACEOF
+#define GETLOADAVG_PRIVILEGED 1
+_ACEOF
+
+else
+  NEED_SETGID=false
+fi
+
+if test $ac_cv_func_getloadavg_setgid = yes; then
+  echo "$as_me:$LINENO: checking group of /dev/kmem" >&5
+echo $ECHO_N "checking group of /dev/kmem... $ECHO_C" >&6
+if test "${ac_cv_group_kmem+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+   # On Solaris, /dev/kmem is a symlink.  Get info on the real file.
+  ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null`
+  # If we got an error (system does not support symlinks), try without -L.
+  test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem`
+  ac_cv_group_kmem=`echo $ac_ls_output \
+    | sed -ne 's/[     ][      ]*/ /g;
+              s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\)  *.*/\1/;
+              / /s/.* //;p;'`
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_group_kmem" >&5
+echo "${ECHO_T}$ac_cv_group_kmem" >&6
+  KMEM_GROUP=$ac_cv_group_kmem
+fi
+if test "x$ac_save_LIBS" = x; then
+  GETLOADAVG_LIBS=$LIBS
+else
+  GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$ac_save_LIBS!!"`
+fi
+LIBS=$ac_save_LIBS
+
+
+
+# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it
+# doesn't.  So, we will.
+
+if test "$ac_cv_header_nlist_h" = yes; then
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <nlist.h>
+int
+main ()
+{
+struct nlist nl;
+       nl.n_name = "string";
+       return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  make_cv_nlist_struct=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+make_cv_nlist_struct=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+  if test "$make_cv_nlist_struct" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define NLIST_STRUCT 1
+_ACEOF
+
+  fi
+fi
+
+echo "$as_me:$LINENO: checking for sys_siglist declaration in signal.h or unistd.h" >&5
+echo $ECHO_N "checking for sys_siglist declaration in signal.h or unistd.h... $ECHO_C" >&6
+if test "${ac_cv_decl_sys_siglist+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h.  */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+int
+main ()
+{
+char *msg = *(sys_siglist + 1);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_decl_sys_siglist=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_decl_sys_siglist=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_decl_sys_siglist" >&5
+echo "${ECHO_T}$ac_cv_decl_sys_siglist" >&6
+if test $ac_cv_decl_sys_siglist = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SYS_SIGLIST_DECLARED 1
+_ACEOF
+
+fi
+
+
+# Check out the wait reality.
+
+for ac_header in sys/wait.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_func in waitpid wait3
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+echo "$as_me:$LINENO: checking for union wait" >&5
+echo $ECHO_N "checking for union wait... $ECHO_C" >&6
+if test "${make_cv_union_wait+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/wait.h>
+int
+main ()
+{
+union wait status; int pid; pid = wait (&status);
+#ifdef WEXITSTATUS
+/* Some POSIXoid systems have both the new-style macros and the old
+   union wait type, and they do not work together.  If union wait
+   conflicts with WEXITSTATUS et al, we don't want to use it at all.  */
+if (WEXITSTATUS (status) != 0) pid = -1;
+#ifdef WTERMSIG
+/* If we have WEXITSTATUS and WTERMSIG, just use them on ints.  */
+-- blow chunks here --
+#endif
+#endif
+#ifdef HAVE_WAITPID
+/* Make sure union wait works with waitpid.  */
+pid = waitpid (-1, &status, 0);
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  make_cv_union_wait=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+make_cv_union_wait=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+
+if test "$make_cv_union_wait" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_UNION_WAIT 1
+_ACEOF
+
+fi
+echo "$as_me:$LINENO: result: $make_cv_union_wait" >&5
+echo "${ECHO_T}$make_cv_union_wait" >&6
+
+
+# See if the user wants to use pmake's "customs" distributed build capability
+
+use_customs=false
+
+# Check whether --with-customs or --without-customs was given.
+if test "${with_customs+set}" = set; then
+  withval="$with_customs"
+  case $withval in
+    n|no) : ;;
+    *) make_cppflags="$CPPFLAGS"
+       case $withval in
+        y|ye|yes) : ;;
+        *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
+           make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
+       esac
+
+cf_test_netlibs=no
+echo "$as_me:$LINENO: checking for network libraries" >&5
+echo $ECHO_N "checking for network libraries... $ECHO_C" >&6
+if test "${cf_cv_netlibs+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+echo "$as_me:$LINENO: result: working..." >&5
+echo "${ECHO_T}working..." >&6
+cf_cv_netlibs=""
+cf_test_netlibs=yes
+
+for ac_func in gethostname
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+
+echo "$as_me:$LINENO: checking for gethostname in -lnsl" >&5
+echo $ECHO_N "checking for gethostname in -lnsl... $ECHO_C" >&6
+if test "${ac_cv_lib_nsl_gethostname+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl $cf_cv_netlibs $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gethostname ();
+int
+main ()
+{
+gethostname ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_nsl_gethostname=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_nsl_gethostname=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostname" >&5
+echo "${ECHO_T}$ac_cv_lib_nsl_gethostname" >&6
+if test $ac_cv_lib_nsl_gethostname = yes; then
+
+
+cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_$cf_tr_func 1
+_ACEOF
+
+       ac_cv_func_gethostname=yes
+       cf_cv_netlibs="-lnsl $cf_cv_netlibs"
+else
+
+       ac_cv_func_gethostname=unknown
+       unset ac_cv_func_gethostname 2>/dev/null
+
+
+echo "$as_me:$LINENO: checking for gethostname in -lsocket" >&5
+echo $ECHO_N "checking for gethostname in -lsocket... $ECHO_C" >&6
+if test "${ac_cv_lib_socket_gethostname+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $cf_cv_netlibs $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gethostname ();
+int
+main ()
+{
+gethostname ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_socket_gethostname=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_socket_gethostname=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_socket_gethostname" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_gethostname" >&6
+if test $ac_cv_lib_socket_gethostname = yes; then
+
+
+cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_$cf_tr_func 1
+_ACEOF
+
+       ac_cv_func_gethostname=yes
+       cf_cv_netlibs="-lsocket $cf_cv_netlibs"
+else
+
+       ac_cv_func_gethostname=unknown
+       unset ac_cv_func_gethostname 2>/dev/null
+
+fi
+
+
+fi
+
+
+fi
+done
+
+#
+# FIXME:  sequent needs this library (i.e., -lsocket -linet -lnsl), but
+# I don't know the entrypoints - 97/7/22 TD
+echo "$as_me:$LINENO: checking for main in -linet" >&5
+echo $ECHO_N "checking for main in -linet... $ECHO_C" >&6
+if test "${ac_cv_lib_inet_main+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-linet  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+
+int
+main ()
+{
+main ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_inet_main=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_inet_main=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_inet_main" >&5
+echo "${ECHO_T}$ac_cv_lib_inet_main" >&6
+if test $ac_cv_lib_inet_main = yes; then
+  cf_cv_netlibs="-linet $cf_cv_netlibs"
+fi
+
+#
+if test "$ac_cv_func_lsocket" != no ; then
+
+for ac_func in socket
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+
+echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
+echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
+if test "${ac_cv_lib_socket_socket+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $cf_cv_netlibs $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char socket ();
+int
+main ()
+{
+socket ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_socket_socket=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_socket_socket=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
+if test $ac_cv_lib_socket_socket = yes; then
+
+
+cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_$cf_tr_func 1
+_ACEOF
+
+       ac_cv_func_socket=yes
+       cf_cv_netlibs="-lsocket $cf_cv_netlibs"
+else
+
+       ac_cv_func_socket=unknown
+       unset ac_cv_func_socket 2>/dev/null
+
+
+echo "$as_me:$LINENO: checking for socket in -lbsd" >&5
+echo $ECHO_N "checking for socket in -lbsd... $ECHO_C" >&6
+if test "${ac_cv_lib_bsd_socket+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd $cf_cv_netlibs $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char socket ();
+int
+main ()
+{
+socket ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_bsd_socket=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_bsd_socket=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_socket" >&5
+echo "${ECHO_T}$ac_cv_lib_bsd_socket" >&6
+if test $ac_cv_lib_bsd_socket = yes; then
+
+
+cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_$cf_tr_func 1
+_ACEOF
+
+       ac_cv_func_socket=yes
+       cf_cv_netlibs="-lbsd $cf_cv_netlibs"
+else
+
+       ac_cv_func_socket=unknown
+       unset ac_cv_func_socket 2>/dev/null
+
+fi
+
+
+fi
+
+
+fi
+done
+
+fi
+#
+
+for ac_func in gethostbyname
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+
+echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
+echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl $cf_cv_netlibs $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gethostbyname ();
+int
+main ()
+{
+gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_nsl_gethostbyname=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
+echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+if test $ac_cv_lib_nsl_gethostbyname = yes; then
+
+
+cf_tr_func=`echo gethostbyname | tr '[a-z]' '[A-Z]'`
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_$cf_tr_func 1
+_ACEOF
+
+       ac_cv_func_gethostbyname=yes
+       cf_cv_netlibs="-lnsl $cf_cv_netlibs"
+else
+
+       ac_cv_func_gethostbyname=unknown
+       unset ac_cv_func_gethostbyname 2>/dev/null
+
+fi
+
+
+fi
+done
+
+#
+
+for ac_func in strcasecmp
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+
+echo "$as_me:$LINENO: checking for strcasecmp in -lresolv" >&5
+echo $ECHO_N "checking for strcasecmp in -lresolv... $ECHO_C" >&6
+if test "${ac_cv_lib_resolv_strcasecmp+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lresolv $cf_cv_netlibs $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char strcasecmp ();
+int
+main ()
+{
+strcasecmp ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_resolv_strcasecmp=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_resolv_strcasecmp=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_strcasecmp" >&5
+echo "${ECHO_T}$ac_cv_lib_resolv_strcasecmp" >&6
+if test $ac_cv_lib_resolv_strcasecmp = yes; then
+
+
+cf_tr_func=`echo strcasecmp | tr '[a-z]' '[A-Z]'`
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_$cf_tr_func 1
+_ACEOF
+
+       ac_cv_func_strcasecmp=yes
+       cf_cv_netlibs="-lresolv $cf_cv_netlibs"
+else
+
+       ac_cv_func_strcasecmp=unknown
+       unset ac_cv_func_strcasecmp 2>/dev/null
+
+fi
+
+
+fi
+done
+
+
+fi
+
+LIBS="$LIBS $cf_cv_netlibs"
+test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6
+
+       if test "${ac_cv_header_customs_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for customs.h" >&5
+echo $ECHO_N "checking for customs.h... $ECHO_C" >&6
+if test "${ac_cv_header_customs_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_customs_h" >&5
+echo "${ECHO_T}$ac_cv_header_customs_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking customs.h usability" >&5
+echo $ECHO_N "checking customs.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <customs.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking customs.h presence" >&5
+echo $ECHO_N "checking customs.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <customs.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: customs.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: customs.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: customs.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: customs.h: proceeding with the preprocessor's result" >&2;};;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: customs.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: customs.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: customs.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: customs.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: customs.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: customs.h: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for customs.h" >&5
+echo $ECHO_N "checking for customs.h... $ECHO_C" >&6
+if test "${ac_cv_header_customs_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_customs_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_customs_h" >&5
+echo "${ECHO_T}$ac_cv_header_customs_h" >&6
+
+fi
+if test $ac_cv_header_customs_h = yes; then
+  use_customs=true
+                        LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"
+else
+  with_customs=no
+                        CPPFLAGS="$make_cppflags" make_badcust=yes
+fi
+
+
+       ;;
+  esac
+fi;
+# Tell automake about this, so it can include the right .c files.
+
+
+if test "$use_customs" = true; then
+  USE_CUSTOMS_TRUE=
+  USE_CUSTOMS_FALSE='#'
+else
+  USE_CUSTOMS_TRUE='#'
+  USE_CUSTOMS_FALSE=
+fi
+
+
+# See if we can handle the job server feature, and if the user wants it.
+
+# Check whether --enable-job-server or --disable-job-server was given.
+if test "${enable_job_server+set}" = set; then
+  enableval="$enable_job_server"
+  make_cv_job_server="$enableval" user_job_server="$enableval"
+else
+  make_cv_job_server="yes"
+fi;
+
+has_wait_nohang=yes
+case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
+  no/no) has_wait_nohang=no ;;
+esac
+
+echo "$as_me:$LINENO: checking for SA_RESTART" >&5
+echo $ECHO_N "checking for SA_RESTART... $ECHO_C" >&6
+if test "${make_cv_sa_restart+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <signal.h>
+int
+main ()
+{
+return SA_RESTART;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  make_cv_sa_restart=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+make_cv_sa_restart=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $make_cv_sa_restart" >&5
+echo "${ECHO_T}$make_cv_sa_restart" >&6
+if test "$make_cv_sa_restart" != no; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SA_RESTART 1
+_ACEOF
+
+fi
+
+case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/$make_cv_job_server" in
+  yes/yes/yes/yes/yes)
+
+cat >>confdefs.h <<\_ACEOF
+#define MAKE_JOBSERVER 1
+_ACEOF
+;;
+esac
+
+# Find the SCCS commands, so we can include them in our default rules.
+
+echo "$as_me:$LINENO: checking for location of SCCS get command" >&5
+echo $ECHO_N "checking for location of SCCS get command... $ECHO_C" >&6
+if test "${make_cv_path_sccs_get+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+if test -f /usr/sccs/get; then
+  make_cv_path_sccs_get=/usr/sccs/get
+else
+  make_cv_path_sccs_get=get
+fi
+fi
+echo "$as_me:$LINENO: result: $make_cv_path_sccs_get" >&5
+echo "${ECHO_T}$make_cv_path_sccs_get" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define SCCS_GET "$make_cv_path_sccs_get"
+_ACEOF
+
+
+ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
+if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
+   test -f s.conftest; then
+  # We successfully created an SCCS file.
+  echo "$as_me:$LINENO: checking if SCCS get command understands -G" >&5
+echo $ECHO_N "checking if SCCS get command understands -G... $ECHO_C" >&6
+if test "${make_cv_sys_get_minus_G+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+    if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
+       test -f conftoast; then
+       make_cv_sys_get_minus_G=yes
+    else
+       make_cv_sys_get_minus_G=no
+    fi
+fi
+echo "$as_me:$LINENO: result: $make_cv_sys_get_minus_G" >&5
+echo "${ECHO_T}$make_cv_sys_get_minus_G" >&6
+  case "$make_cv_sys_get_minus_G" in
+    yes)
+cat >>confdefs.h <<\_ACEOF
+#define SCCS_GET_MINUS_G 1
+_ACEOF
+;;
+  esac
+fi
+rm -f s.conftest conftoast
+
+# Check the system to see if it provides GNU glob.  If not, use our
+# local version.
+
+echo "$as_me:$LINENO: checking if system libc has GNU glob" >&5
+echo $ECHO_N "checking if system libc has GNU glob... $ECHO_C" >&6
+if test "${make_cv_sys_gnu_glob+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#include <features.h>
+#include <glob.h>
+#include <fnmatch.h>
+
+#define GLOB_INTERFACE_VERSION 1
+#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+# include <gnu-versions.h>
+# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
+   gnu glob
+# endif
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "gnu glob" >/dev/null 2>&1; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+make_cv_sys_gnu_glob=yes
+else
+  echo "$as_me:$LINENO: result: no; using local copy" >&5
+echo "${ECHO_T}no; using local copy" >&6
+ GLOBINC='-I$(srcdir)/glob'
+ GLOBLIB=glob/libglob.a
+make_cv_sys_gnu_glob=no
+fi
+rm -f conftest*
+
+fi
+
+# Tell automake about this, so it can build the right .c files.
+
+
+if test "$make_cv_sys_gnu_glob" = no; then
+  USE_LOCAL_GLOB_TRUE=
+  USE_LOCAL_GLOB_FALSE='#'
+else
+  USE_LOCAL_GLOB_TRUE='#'
+  USE_LOCAL_GLOB_FALSE=
+fi
+
+
+# PTX systems have a broken implementation of SA_RESTART.  I know of
+# no way to test for this behavior, so I'll just test for PTX
+
+case "$host" in
+  i386-sequent-sysv4)
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BROKEN_RESTART 1
+_ACEOF
+
+    echo ""
+    echo "WARNING: The SA_RESTART sigaction() flag does not work on PTX."
+    echo "         This causes 'make -j' to fail at random times."
+    echo "         I am installing a workaround, which is mostly but not 100%"
+    echo "         effective.  If you see random failures during 'make -j'"
+    echo "         you should either contact the bug list, or not use -j."
+    echo "" ;;
+esac
+
+# Let the makefile know what our build host is
+
+
+cat >>confdefs.h <<_ACEOF
+#define MAKE_HOST "$host"
+_ACEOF
+
+MAKE_HOST="$host"
+
+
+# Include the Maintainer's Makefile section, if it's here.
+
+MAINT_MAKEFILE=/dev/null
+if test -r "$srcdir/maintMakefile"; then
+  MAINT_MAKEFILE="$srcdir/maintMakefile"
+fi
+
+
+# Allow building with dmalloc
+echo "$as_me:$LINENO: checking if malloc debugging is wanted" >&5
+echo $ECHO_N "checking if malloc debugging is wanted... $ECHO_C" >&6
+
+# Check whether --with-dmalloc or --without-dmalloc was given.
+if test "${with_dmalloc+set}" = set; then
+  withval="$with_dmalloc"
+  if test "$withval" = yes; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define WITH_DMALLOC 1
+_ACEOF
+
+  LIBS="$LIBS -ldmalloc"
+  LDFLAGS="$LDFLAGS -g"
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi;
+
+
+
+# Sanity check and inform the user of what we found
+
+case "$make_badcust" in
+  yes) echo
+       echo "WARNING: --with-customs specified but no customs.h could be found;"
+       echo "         disabling Customs support."
+       echo ;;
+esac
+
+case "$with_customs" in
+  ""|n|no|y|ye|yes) ;;
+  *) if test -f "$with_customs/lib/libcustoms.a"; then
+       :
+     else
+       echo
+       echo "WARNING: '$with_customs/lib' does not appear to contain the"
+       echo "         Customs library.  You must build and install Customs"
+       echo "         before compiling GNU make."
+       echo
+     fi ;;
+esac
+
+case "$has_wait_nohang" in
+  no) echo
+      echo "WARNING: Your system has neither waitpid() nor wait3()."
+      echo "         Without one of these, signal handling is unreliable."
+      echo "         You should be aware that running GNU make with -j"
+      echo "         could result in erratic behavior."
+      echo ;;
+esac
+
+case "$make_cv_job_server/$user_job_server" in
+  no/yes) echo
+         echo "WARNING: Make job server requires a POSIX-ish system that"
+         echo "         supports the pipe(), sigaction(), and either"
+          echo "         waitpid() or wait3() functions.  Your system doesn't"
+         echo "         appear to provide one or more of those."
+         echo "         Disabling job server support."
+          echo ;;
+esac
+
+
+# Specify what files are to be created.
+# We only generate the build.sh if we have a build.sh.in; we won't have
+# one before we've created a distribution.
+
+                                                  ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile"
+
+
+if test -f $srcdir/build.sh.in; then
+            ac_config_files="$ac_config_files build.sh"
+
+fi
+
+
+# OK, do it!
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+        "s/'/'\\\\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[        ]*VPATH[        ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[   ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[     ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_CUSTOMS_TRUE}" && test -z "${USE_CUSTOMS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_CUSTOMS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_CUSTOMS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_LOCAL_GLOB_TRUE}" && test -z "${USE_LOCAL_GLOB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_LOCAL_GLOB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_LOCAL_GLOB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
+do
+  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)$' \| \
+        .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+         /^X\/\(\/\/\)$/{ s//\1/; q; }
+         /^X\/\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conftest.sh
+  echo  "exit 0"   >>conftest.sh
+  chmod +x conftest.sh
+  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conftest.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+        case $as_dir in
+        /*)
+          if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+            CONFIG_SHELL=$as_dir/$as_base
+            export CONFIG_SHELL
+            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+          fi;;
+        esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='     ' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS="  $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by GNU make $as_me 3.80, which was
+generated by GNU Autoconf 2.54.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+GNU make config.status 3.80
+configured by $0, generated by GNU Autoconf 2.54,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+    exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
+    # from automake.
+    eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+
+
+_ACEOF
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "glob/Makefile" ) CONFIG_FILES="$CONFIG_FILES glob/Makefile" ;;
+  "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+  "config/Makefile" ) CONFIG_FILES="$CONFIG_FILES config/Makefile" ;;
+  "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+  "build.sh" ) CONFIG_FILES="$CONFIG_FILES build.sh" ;;
+  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+  "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=$TMPDIR/cs$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@DEPDIR@,$DEPDIR,;t t
+s,@am__include@,$am__include,;t t
+s,@am__quote@,$am__quote,;t t
+s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+s,@CCDEPMODE@,$CCDEPMODE,;t t
+s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
+s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s,@RANLIB@,$RANLIB,;t t
+s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
+s,@CPP@,$CPP,;t t
+s,@AR@,$AR,;t t
+s,@PERL@,$PERL,;t t
+s,@build@,$build,;t t
+s,@build_cpu@,$build_cpu,;t t
+s,@build_vendor@,$build_vendor,;t t
+s,@build_os@,$build_os,;t t
+s,@host@,$host,;t t
+s,@host_cpu@,$host_cpu,;t t
+s,@host_vendor@,$host_vendor,;t t
+s,@host_os@,$host_os,;t t
+s,@EGREP@,$EGREP,;t t
+s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t
+s,@MSGFMT@,$MSGFMT,;t t
+s,@GMSGFMT@,$GMSGFMT,;t t
+s,@XGETTEXT@,$XGETTEXT,;t t
+s,@MSGMERGE@,$MSGMERGE,;t t
+s,@USE_NLS@,$USE_NLS,;t t
+s,@LIBICONV@,$LIBICONV,;t t
+s,@LTLIBICONV@,$LTLIBICONV,;t t
+s,@INTLLIBS@,$INTLLIBS,;t t
+s,@LIBINTL@,$LIBINTL,;t t
+s,@LTLIBINTL@,$LTLIBINTL,;t t
+s,@POSUB@,$POSUB,;t t
+s,@ALLOCA@,$ALLOCA,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@NEED_SETGID@,$NEED_SETGID,;t t
+s,@KMEM_GROUP@,$KMEM_GROUP,;t t
+s,@GETLOADAVG_LIBS@,$GETLOADAVG_LIBS,;t t
+s,@USE_CUSTOMS_TRUE@,$USE_CUSTOMS_TRUE,;t t
+s,@USE_CUSTOMS_FALSE@,$USE_CUSTOMS_FALSE,;t t
+s,@GLOBINC@,$GLOBINC,;t t
+s,@GLOBLIB@,$GLOBLIB,;t t
+s,@USE_LOCAL_GLOB_TRUE@,$USE_LOCAL_GLOB_TRUE,;t t
+s,@USE_LOCAL_GLOB_FALSE@,$USE_LOCAL_GLOB_FALSE,;t t
+s,@MAKE_HOST@,$MAKE_HOST,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+/@MAINT_MAKEFILE@/r $MAINT_MAKEFILE
+s,@MAINT_MAKEFILE@,,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+        cat >$tmp/stdin
+        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$ac_file" : 'X\(//\)[^/]' \| \
+         X"$ac_file" : 'X\(//\)$' \| \
+         X"$ac_file" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$as_dir" : 'X\(//\)[^/]' \| \
+         X"$as_dir" : 'X\(//\)$' \| \
+         X"$as_dir" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  esac
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+                                     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+         # Absolute (can't be DOS-style, as IFS=:)
+         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         echo $f;;
+      *) # Relative
+         if test -f "$f"; then
+           # Build tree
+           echo $f
+         elif test -f "$srcdir/$f"; then
+           # Source tree
+           echo $srcdir/$f
+         else
+           # /dev/null tree
+           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([  ]*\)#\([        ]*define[       ][      ]*\)'
+ac_dB='[       ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+        cat >$tmp/stdin
+        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+         # Absolute (can't be DOS-style, as IFS=:)
+         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         echo $f;;
+      *) # Relative
+         if test -f "$f"; then
+           # Build tree
+           echo $f
+         elif test -f "$srcdir/$f"; then
+           # Source tree
+           echo $srcdir/$f
+         else
+           # /dev/null tree
+           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  # Remove the trailing spaces.
+  sed 's/[     ]*$//' $ac_file_inputs >$tmp/in
+
+_ACEOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h.  The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status.  Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\_ACEOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*\)\(([^)]*)\)[       ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+t end
+s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+_ACEOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless.  Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\_ACEOF
+s,^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+_ACEOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo '  if grep "^[    ]*#[    ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo '  :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+  # Write a limited-size here document to $tmp/defines.sed.
+  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#define' lines.
+  echo '/^[    ]*#[    ]*define/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/defines.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+  rm -f conftest.defines
+  mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo '  fi # grep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+  # Write a limited-size here document to $tmp/undefs.sed.
+  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#undef'
+  echo '/^[    ]*#[    ]*undef/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+  rm -f conftest.undefs
+  mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    echo "/* Generated by configure.  */" >$tmp/config.h
+  else
+    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
+  fi
+  cat $tmp/in >>$tmp/config.h
+  rm -f $tmp/in
+  if test x"$ac_file" != x-; then
+    if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$ac_file" : 'X\(//\)[^/]' \| \
+         X"$ac_file" : 'X\(//\)$' \| \
+         X"$ac_file" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$as_dir" : 'X\(//\)[^/]' \| \
+         X"$as_dir" : 'X\(//\)$' \| \
+         X"$as_dir" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+      rm -f $ac_file
+      mv $tmp/config.h $ac_file
+    fi
+  else
+    cat $tmp/config.h
+    rm -f $tmp/config.h
+  fi
+_am_stamp_count=`expr ${_am_stamp_count-0} + 1`
+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X$ac_file : 'X\(//\)[^/]' \| \
+         X$ac_file : 'X\(//\)$' \| \
+         X$ac_file : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X$ac_file |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`/stamp-h$_am_stamp_count
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$ac_dest" : 'X\(//\)[^/]' \| \
+         X"$ac_dest" : 'X\(//\)$' \| \
+         X"$ac_dest" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+
+  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+  case $ac_dest in
+    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`(dirname "$mf") 2>/dev/null ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$mf" : 'X\(//\)[^/]' \| \
+         X"$mf" : 'X\(//\)$' \| \
+         X"$mf" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+  else
+    continue
+  fi
+  grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
+  # Extract the definition of DEP_FILES from the Makefile without
+  # running `make'.
+  DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n -e '/^U = / s///p' < "$mf"`
+  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+  # We invoke sed twice because it is the simplest approach to
+  # changing $(DEPDIR) to its actual value in the expansion.
+  for file in `sed -n -e '
+    /^DEP_FILES = .*\\\\$/ {
+      s/^DEP_FILES = //
+      :loop
+       s/\\\\$//
+       p
+       n
+       /\\\\$/ b loop
+      p
+    }
+    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`(dirname "$file") 2>/dev/null ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$file" : 'X\(//\)[^/]' \| \
+         X"$file" : 'X\(//\)$' \| \
+         X"$file" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+    { if $as_mkdir_p; then
+    mkdir -p $dirpart/$fdir
+  else
+    as_dir=$dirpart/$fdir
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$as_dir" : 'X\(//\)[^/]' \| \
+         X"$as_dir" : 'X\(//\)$' \| \
+         X"$as_dir" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+ ;;
+    default-1 )
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assigment from automake.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+          fi
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          GMOFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done ;;
+  esac
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
+
diff --git a/src/mkutil/make-3.80/configure.bat b/src/mkutil/make-3.80/configure.bat
new file mode 100644 (file)
index 0000000..a357923
--- /dev/null
@@ -0,0 +1,44 @@
+@echo off\r
+echo Configuring MAKE for DJGPP\r
+\r
+rem The SmallEnv trick protects against too small environment block,\r
+rem in which case the values will be truncated and the whole thing\r
+rem goes awry.  COMMAND.COM will say "Out of environment space", but\r
+rem many people don't care, so we force them to care by refusing to go.\r
+\r
+rem Where is the srcdir?\r
+set XSRC=.\r
+if not "%XSRC%"=="." goto SmallEnv\r
+if "%1%"=="" goto SrcDone\r
+set XSRC=%1\r
+if not "%XSRC%"=="%1" goto SmallEnv\r
+\r
+:SrcDone\r
+\r
+update %XSRC%/configh.dos ./config.h\r
+\r
+rem Do they have Make?\r
+redir -o junk.$$$ -eo make -n -f NUL\r
+rem REDIR will return 1 if it cannot run Make.\r
+rem If it can run Make, it will usually return 2,\r
+rem but 0 is also OK with us.\r
+if errorlevel 2 goto MakeOk\r
+if not errorlevel 1 goto MakeOk\r
+if exist junk.$$$ del junk.$$$\r
+echo No Make program found--use DOSBUILD.BAT to build Make.\r
+goto End\r
+\r
+rem They do have Make. Generate the Makefile.\r
+\r
+:MakeOk\r
+del junk.$$$\r
+update %XSRC%/Makefile.DOS ./Makefile\r
+echo Done.\r
+if not "%XSRC%"=="." echo Invoke Make thus: "make srcdir=%XSRC%"\r
+goto End\r
+\r
+:SmallEnv\r
+echo Your environment is too small.  Please enlarge it and run me again.\r
+\r
+:End\r
+set XRSC=\r
diff --git a/src/mkutil/make-3.80/configure.in b/src/mkutil/make-3.80/configure.in
new file mode 100644 (file)
index 0000000..bca2bd3
--- /dev/null
@@ -0,0 +1,390 @@
+# Process this file with autoconf to produce a configure script.
+
+AC_INIT(GNU make,3.80,bug-make@gnu.org)
+
+AC_PREREQ(2.54)
+
+AC_REVISION([[$Id: configure.in,v 1.114 2002/10/03 05:46:12 psmith Exp $]])
+
+# Autoconf setup
+AC_CONFIG_AUX_DIR(config)
+AC_CONFIG_SRCDIR(vpath.c)
+AC_CONFIG_HEADERS(config.h)
+
+# Automake setup
+AM_INIT_AUTOMAKE
+AC_PROG_MAKE_SET
+
+# Checks for programs.
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+AC_PROG_CPP
+AC_CHECK_PROG(AR, ar, ar, ar)
+# Perl is needed for the test suite (only)
+AC_CHECK_PROG(PERL, perl, perl, perl)
+
+# Specialized system macros
+AC_CANONICAL_HOST
+AC_AIX
+AC_ISC_POSIX
+AC_MINIX
+
+# Enable gettext, in "external" mode.
+
+AM_GNU_GETTEXT_VERSION(0.11.5)
+AM_GNU_GETTEXT([external])
+
+# This test must come as early as possible after the compiler configuration
+# tests, because the choice of the file model can (in principle) affect
+# whether functions and headers are available, whether they work, etc.
+AC_SYS_LARGEFILE
+
+# Checks for libraries.
+AC_SEARCH_LIBS(getpwnam, [sun])
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_HEADER_DIRENT
+AC_HEADER_STAT
+AC_HEADER_TIME
+AC_CHECK_HEADERS(stdlib.h locale.h unistd.h limits.h fcntl.h string.h \
+                memory.h sys/param.h sys/time.h sys/timeb.h)
+
+AM_PROG_CC_C_O
+AM_PROG_CC_STDC
+AC_C_CONST
+AC_TYPE_SIGNAL
+AC_TYPE_UID_T
+AC_TYPE_PID_T
+
+# Find some definition for uintmax_t
+
+AC_CHECK_TYPE(uintmax_t,,[
+  uintmax_t="unsigned long"
+  AC_CHECK_TYPE(unsigned long long,[uintmax_t="unsigned long long"])
+  AC_DEFINE_UNQUOTED(uintmax_t,$uintmax_t,[Define uintmax_t if not defined in <stdint.h> or <inttypes.h>.])])
+
+# Find out whether our struct stat returns nanosecond resolution timestamps.
+
+AC_STRUCT_ST_MTIM_NSEC
+AC_MSG_CHECKING([whether to use high resolution file timestamps])
+AC_CACHE_VAL(make_cv_file_timestamp_hi_res, [
+  make_cv_file_timestamp_hi_res=no
+  if test "$ac_cv_struct_st_mtim_nsec" != no; then
+    AC_TRY_COMPILE([
+#      if HAVE_INTTYPES_H
+#       include <inttypes.h>
+#      endif],
+      [char a[0x7fffffff < (uintmax_t) -1 >> 30 ? 1 : -1];],
+      make_cv_file_timestamp_hi_res=yes)
+  fi])
+AC_MSG_RESULT($make_cv_file_timestamp_hi_res)
+if test "$make_cv_file_timestamp_hi_res" = yes; then
+  val=1
+else
+  val=0
+fi
+AC_DEFINE_UNQUOTED(FILE_TIMESTAMP_HI_RES, $val,
+                  [Use high resolution file timestamps if nonzero.])
+
+if test "$make_cv_file_timestamp_hi_res" = yes; then
+  # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
+  # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
+  AC_SEARCH_LIBS(clock_gettime, [rt posix4])
+  if test "$ac_cv_search_clock_gettime" != no; then
+    AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
+             [Define if you have the clock_gettime function.])
+  fi
+fi
+
+
+# See if we have a standard version of gettimeofday().  Since actual
+# implementations can differ, just make sure we have the most common
+# one.
+AC_CACHE_CHECK([for standard gettimeofday], ac_cv_func_gettimeofday,
+  [ac_cv_func_gettimeofday=no
+   AC_TRY_RUN([#include <sys/time.h>
+              int main ()
+              {
+                struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
+                exit (gettimeofday (&t, 0) != 0
+                      || t.tv_sec < 0 || t.tv_usec < 0);
+              }],
+             ac_cv_func_gettimeofday=yes,
+             ac_cv_func_gettimeofday=no,
+             ac_cv_func_gettimeofday="no (cross-compiling)")])
+if test "$ac_cv_func_gettimeofday" = yes; then
+  AC_DEFINE(HAVE_GETTIMEOFDAY, 1,
+           [Define if you have a standard gettimeofday function])
+fi
+
+AC_CHECK_FUNCS(        memcpy memmove strchr strdup mkstemp mktemp fdopen \
+               bsd_signal dup2 getcwd sigsetmask sigaction getgroups \
+               seteuid setegid setlinebuf setreuid setregid setvbuf pipe \
+               strerror strsignal)
+
+make_FUNC_SETVBUF_REVERSED
+
+# strcoll() is used by the GNU glob library
+AC_FUNC_STRCOLL
+
+AC_FUNC_ALLOCA
+AC_FUNC_VFORK
+AC_FUNC_VPRINTF
+AC_FUNC_CLOSEDIR_VOID
+
+AC_FUNC_GETLOADAVG
+
+# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it
+# doesn't.  So, we will.
+
+if test "$ac_cv_header_nlist_h" = yes; then
+  AC_TRY_COMPILE([#include <nlist.h>],
+      [struct nlist nl;
+       nl.n_name = "string";
+       return 0;],
+      make_cv_nlist_struct=yes,
+      make_cv_nlist_struct=no)
+  if test "$make_cv_nlist_struct" = yes; then
+    AC_DEFINE(NLIST_STRUCT, 1,
+       [Define if struct nlist.n_name is a pointer rather than an array.])
+  fi
+fi
+
+AC_DECL_SYS_SIGLIST
+
+# Check out the wait reality.
+AC_CHECK_HEADERS(sys/wait.h)
+AC_CHECK_FUNCS(waitpid wait3)
+AC_MSG_CHECKING(for union wait)
+AC_CACHE_VAL(make_cv_union_wait, [dnl
+AC_TRY_LINK([#include <sys/types.h>
+#include <sys/wait.h>],
+           [union wait status; int pid; pid = wait (&status);
+#ifdef WEXITSTATUS
+/* Some POSIXoid systems have both the new-style macros and the old
+   union wait type, and they do not work together.  If union wait
+   conflicts with WEXITSTATUS et al, we don't want to use it at all.  */
+if (WEXITSTATUS (status) != 0) pid = -1;
+#ifdef WTERMSIG
+/* If we have WEXITSTATUS and WTERMSIG, just use them on ints.  */
+-- blow chunks here --
+#endif
+#endif
+#ifdef HAVE_WAITPID
+/* Make sure union wait works with waitpid.  */
+pid = waitpid (-1, &status, 0);
+#endif
+],
+           [make_cv_union_wait=yes], [make_cv_union_wait=no])])
+if test "$make_cv_union_wait" = yes; then
+  AC_DEFINE(HAVE_UNION_WAIT, 1, [Define this if you have the \`union wait' type in <sys/wait.h>.])
+fi
+AC_MSG_RESULT($make_cv_union_wait)
+
+
+# See if the user wants to use pmake's "customs" distributed build capability
+
+use_customs=false
+AC_ARG_WITH(customs,
+  AC_HELP_STRING([--with-customs=DIR],
+                [enable remote jobs via Customs--see README.customs]),
+  [case $withval in
+    n|no) : ;;
+    *) make_cppflags="$CPPFLAGS"
+       case $withval in
+        y|ye|yes) : ;;
+        *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
+           make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
+       esac
+       CF_NETLIBS
+       AC_CHECK_HEADER(customs.h,
+                      [use_customs=true
+                        LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"],
+                      [with_customs=no
+                        CPPFLAGS="$make_cppflags" make_badcust=yes])
+       ;;
+  esac])
+# Tell automake about this, so it can include the right .c files.
+AM_CONDITIONAL(USE_CUSTOMS, test "$use_customs" = true)
+
+# See if we can handle the job server feature, and if the user wants it.
+
+AC_ARG_ENABLE(job-server,
+  AC_HELP_STRING([--disable-job-server],
+                 [disallow recursive make communication during -jN]),
+  [make_cv_job_server="$enableval" user_job_server="$enableval"],
+  [make_cv_job_server="yes"])
+
+has_wait_nohang=yes
+case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
+  no/no) has_wait_nohang=no ;;
+esac
+
+AC_CACHE_CHECK(for SA_RESTART, make_cv_sa_restart, [
+  AC_TRY_COMPILE([#include <signal.h>],
+      [return SA_RESTART;],
+      make_cv_sa_restart=yes,
+      make_cv_sa_restart=no)])
+if test "$make_cv_sa_restart" != no; then
+  AC_DEFINE(HAVE_SA_RESTART, 1,
+     [Define if <signal.h> defines the SA_RESTART constant.])
+fi
+
+case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/$make_cv_job_server" in
+  yes/yes/yes/yes/yes)
+    AC_DEFINE(MAKE_JOBSERVER, 1,
+              [Define this to enable job server support in GNU make.]);;
+esac
+
+# Find the SCCS commands, so we can include them in our default rules.
+
+AC_CACHE_CHECK(for location of SCCS get command, make_cv_path_sccs_get, [
+if test -f /usr/sccs/get; then
+  make_cv_path_sccs_get=/usr/sccs/get
+else
+  make_cv_path_sccs_get=get
+fi])
+AC_DEFINE_UNQUOTED(SCCS_GET, ["$make_cv_path_sccs_get"], [Define to the name of the SCCS 'get' command.])
+
+ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
+if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
+   test -f s.conftest; then
+  # We successfully created an SCCS file.
+  AC_CACHE_CHECK(if SCCS get command understands -G, make_cv_sys_get_minus_G, [
+    if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
+       test -f conftoast; then
+       make_cv_sys_get_minus_G=yes
+    else
+       make_cv_sys_get_minus_G=no
+    fi])
+  case "$make_cv_sys_get_minus_G" in
+    yes) AC_DEFINE(SCCS_GET_MINUS_G, 1,
+           [Define this if the SCCS 'get' command understands the '-G<file>' option.]);;
+  esac
+fi
+rm -f s.conftest conftoast
+
+# Check the system to see if it provides GNU glob.  If not, use our
+# local version.
+
+AC_MSG_CHECKING(if system libc has GNU glob)
+AC_CACHE_VAL(make_cv_sys_gnu_glob, [
+ AC_EGREP_CPP(gnu glob,[
+#include <features.h>
+#include <glob.h>
+#include <fnmatch.h>
+
+#define GLOB_INTERFACE_VERSION 1
+#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+# include <gnu-versions.h>
+# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
+   gnu glob
+# endif
+#endif
+ ], [AC_MSG_RESULT(yes)
+make_cv_sys_gnu_glob=yes], [AC_MSG_RESULT([no; using local copy])
+AC_SUBST(GLOBINC) GLOBINC='-I$(srcdir)/glob'
+AC_SUBST(GLOBLIB) GLOBLIB=glob/libglob.a
+make_cv_sys_gnu_glob=no])])
+# Tell automake about this, so it can build the right .c files.
+AM_CONDITIONAL(USE_LOCAL_GLOB, test "$make_cv_sys_gnu_glob" = no)
+
+# PTX systems have a broken implementation of SA_RESTART.  I know of
+# no way to test for this behavior, so I'll just test for PTX
+
+case "$host" in
+  i386-sequent-sysv4)
+    AC_DEFINE(HAVE_BROKEN_RESTART, 1, [This system has SA_RESTART, but it doesn't work properly.])
+    echo ""
+    echo "WARNING: The SA_RESTART sigaction() flag does not work on PTX."
+    echo "         This causes 'make -j' to fail at random times."
+    echo "         I am installing a workaround, which is mostly but not 100%"
+    echo "         effective.  If you see random failures during 'make -j'"
+    echo "         you should either contact the bug list, or not use -j."
+    echo "" ;;
+esac
+
+# Let the makefile know what our build host is
+
+AC_DEFINE_UNQUOTED(MAKE_HOST,"$host",[Build host information.])
+MAKE_HOST="$host"
+AC_SUBST(MAKE_HOST)
+
+# Include the Maintainer's Makefile section, if it's here.
+
+MAINT_MAKEFILE=/dev/null
+if test -r "$srcdir/maintMakefile"; then
+  MAINT_MAKEFILE="$srcdir/maintMakefile"
+fi
+AC_SUBST_FILE(MAINT_MAKEFILE)
+
+# Allow building with dmalloc
+AM_WITH_DMALLOC
+
+
+# Sanity check and inform the user of what we found
+
+case "$make_badcust" in
+  yes) echo
+       echo "WARNING: --with-customs specified but no customs.h could be found;"
+       echo "         disabling Customs support."
+       echo ;;
+esac
+
+case "$with_customs" in
+  ""|n|no|y|ye|yes) ;;
+  *) if test -f "$with_customs/lib/libcustoms.a"; then
+       :
+     else
+       echo
+       echo "WARNING: '$with_customs/lib' does not appear to contain the"
+       echo "         Customs library.  You must build and install Customs"
+       echo "         before compiling GNU make."
+       echo
+     fi ;;
+esac
+
+case "$has_wait_nohang" in
+  no) echo
+      echo "WARNING: Your system has neither waitpid() nor wait3()."
+      echo "         Without one of these, signal handling is unreliable."
+      echo "         You should be aware that running GNU make with -j"
+      echo "         could result in erratic behavior."
+      echo ;;
+esac
+
+case "$make_cv_job_server/$user_job_server" in
+  no/yes) echo
+         echo "WARNING: Make job server requires a POSIX-ish system that"
+         echo "         supports the pipe(), sigaction(), and either"
+          echo "         waitpid() or wait3() functions.  Your system doesn't"
+         echo "         appear to provide one or more of those."
+         echo "         Disabling job server support."
+          echo ;;
+esac
+
+
+# Specify what files are to be created.
+# We only generate the build.sh if we have a build.sh.in; we won't have
+# one before we've created a distribution.
+
+AC_CONFIG_FILES(Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile)
+
+if test -f $srcdir/build.sh.in; then
+  AC_CONFIG_FILES(build.sh)
+fi
+
+
+# OK, do it!
+
+AC_OUTPUT
+
+
+dnl Local Variables:
+dnl comment-start: "dnl "
+dnl comment-end: ""
+dnl comment-start-skip: "\\bdnl\\b\\s *"
+dnl compile-command: "make configure config.h.in"
+dnl End:
diff --git a/src/mkutil/make-3.80/debug.h b/src/mkutil/make-3.80/debug.h
new file mode 100644 (file)
index 0000000..30c2d62
--- /dev/null
@@ -0,0 +1,41 @@
+/* Debugging macros and interface.
+Copyright (C) 1999 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+
+#define DB_NONE         (0x000)
+#define DB_BASIC        (0x001)
+#define DB_VERBOSE      (0x002)
+#define DB_JOBS         (0x004)
+#define DB_IMPLICIT     (0x008)
+#define DB_MAKEFILES    (0x100)
+
+#define DB_ALL          (0xfff)
+
+extern int db_level;
+
+#define ISDB(_l)    ((_l)&db_level)
+
+#define DBS(_l,_x)  do{ if(ISDB(_l)) {print_spaces (depth); \
+                                      printf _x; fflush (stdout);} }while(0)
+
+#define DBF(_l,_x)  do{ if(ISDB(_l)) {print_spaces (depth); \
+                                      printf (_x, file->name); \
+                                      fflush (stdout);} }while(0)
+
+#define DB(_l,_x)   do{ if(ISDB(_l)) {printf _x; fflush (stdout);} }while(0)
diff --git a/src/mkutil/make-3.80/default.c b/src/mkutil/make-3.80/default.c
new file mode 100644 (file)
index 0000000..5d981b9
--- /dev/null
@@ -0,0 +1,585 @@
+/* Data base of default implicit rules for GNU Make.
+Copyright (C) 1988,89,90,91,92,93,94,95,96 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "rule.h"
+#include "dep.h"
+#include "filedef.h"
+#include "job.h"
+#include "commands.h"
+#include "variable.h"
+
+/* Define GCC_IS_NATIVE if gcc is the native development environment on
+   your system (gcc/bison/flex vs cc/yacc/lex).  */
+#ifdef __MSDOS__
+#define GCC_IS_NATIVE
+#endif
+
+
+/* This is the default list of suffixes for suffix rules.
+   `.s' must come last, so that a `.o' file will be made from
+   a `.c' or `.p' or ... file rather than from a .s file.  */
+
+static char default_suffixes[]
+#ifdef VMS
+  = ".exe .olb .ln .obj .c .cxx .cc .pas .p .for .f .r .y .l .mar \
+.s .ss .i .ii .mod .sym .def .h .info .dvi .tex .texinfo .texi .txinfo \
+.w .ch .cweb .web .com .sh .elc .el";
+#else
+  = ".out .a .ln .o .c .cc .C .cpp .p .f .F .r .y .l .s .S \
+.mod .sym .def .h .info .dvi .tex .texinfo .texi .txinfo \
+.w .ch .web .sh .elc .el";
+#endif
+
+static struct pspec default_pattern_rules[] =
+  {
+    { "(%)", "%",
+       "$(AR) $(ARFLAGS) $@ $<" },
+
+    /* The X.out rules are only in BSD's default set because
+       BSD Make has no null-suffix rules, so `foo.out' and
+       `foo' are the same thing.  */
+#ifdef VMS
+    { "%.exe", "%",
+        "copy $< $@" },
+#else
+    { "%.out", "%",
+       "@rm -f $@ \n cp $< $@" },
+#endif
+    /* Syntax is "ctangle foo.w foo.ch foo.c".  */
+    { "%.c", "%.w %.ch",
+       "$(CTANGLE) $^ $@" },
+    { "%.tex", "%.w %.ch",
+       "$(CWEAVE) $^ $@" },
+
+    { 0, 0, 0 }
+  };
+
+static struct pspec default_terminal_rules[] =
+  {
+#ifdef VMS
+    /* RCS.  */
+    { "%", "%$$5lv", /* Multinet style */
+        "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+    { "%", "[.$$rcs]%$$5lv", /* Multinet style */
+        "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+    { "%", "%_v", /* Normal style */
+        "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+    { "%", "[.rcs]%_v", /* Normal style */
+        "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+
+    /* SCCS.  */
+       /* ain't no SCCS on vms */
+#else
+    /* RCS.  */
+    { "%", "%,v",
+       "$(CHECKOUT,v)" },
+    { "%", "RCS/%,v",
+       "$(CHECKOUT,v)" },
+    { "%", "RCS/%",
+       "$(CHECKOUT,v)" },
+
+    /* SCCS.  */
+    { "%", "s.%",
+       "$(GET) $(GFLAGS) $(SCCS_OUTPUT_OPTION) $<" },
+    { "%", "SCCS/s.%",
+       "$(GET) $(GFLAGS) $(SCCS_OUTPUT_OPTION) $<" },
+#endif /* !VMS */
+    { 0, 0, 0 }
+  };
+
+static char *default_suffix_rules[] =
+  {
+#ifdef VMS
+    ".obj.exe",
+    "$(LINK.obj) $^ $(LOADLIBES) $(LDLIBS) $(CRT0) /exe=$@",
+    ".mar.exe",
+    "$(COMPILE.mar) $^ \n $(LINK.obj) $(subst .mar,.obj,$^) $(LOADLIBES) $(LDLIBS) $(CRT0) /exe=$@",
+    ".s.exe",
+    "$(COMPILE.s) $^ \n $(LINK.obj) $(subst .s,.obj,$^) $(LOADLIBES) $(LDLIBS) $(CRT0) /exe=$@",
+    ".c.exe",
+    "$(COMPILE.c) $^ \n $(LINK.obj) $(subst .c,.obj,$^) $(LOADLIBES) $(LDLIBS) $(CRT0) /exe=$@",
+    ".cc.exe",
+#ifdef GCC_IS_NATIVE
+    "$(COMPILE.cc) $^ \n $(LINK.obj) $(CXXSTARTUP),sys$$disk:[]$(subst .cc,.obj,$^) $(LOADLIBES) $(LXLIBS) $(LDLIBS) $(CXXRT0) /exe=$@",
+#else
+    "$(COMPILE.cc) $^ \n $(CXXLINK.obj) $(subst .cc,.obj,$^) $(LOADLIBES) $(LXLIBS) $(LDLIBS) $(CXXRT0) /exe=$@",
+    ".cxx.exe",
+    "$(COMPILE.cxx) $^ \n $(CXXLINK.obj) $(subst .cxx,.obj,$^) $(LOADLIBES) $(LXLIBS) $(LDLIBS) $(CXXRT0) /exe=$@",
+#endif
+    ".for.exe",
+    "$(COMPILE.for) $^ \n $(LINK.obj) $(subst .for,.obj,$^) $(LOADLIBES) $(LDLIBS) /exe=$@",
+    ".pas.exe",
+    "$(COMPILE.pas) $^ \n $(LINK.obj) $(subst .pas,.obj,$^) $(LOADLIBES) $(LDLIBS) /exe=$@",
+
+    ".com",
+    "copy $< >$@",
+
+    ".mar.obj",
+    "$(COMPILE.mar) /obj=$@ $<",
+    ".s.obj",
+    "$(COMPILE.s) /obj=$@ $<",
+    ".ss.obj",
+    "$(COMPILE.s) /obj=$@ $<",
+    ".c.i",
+    "$(COMPILE.c)/prep /list=$@ $<",
+    ".c.s",
+    "$(COMPILE.c)/noobj/machine /list=$@ $<",
+    ".i.s",
+    "$(COMPILE.c)/noprep/noobj/machine /list=$@ $<",
+    ".c.obj",
+    "$(COMPILE.c) /obj=$@ $<",
+    ".cc.ii",
+    "$(COMPILE.cc)/prep /list=$@ $<",
+    ".cc.ss",
+    "$(COMPILE.cc)/noobj/machine /list=$@ $<",
+    ".ii.ss",
+    "$(COMPILE.cc)/noprep/noobj/machine /list=$@ $<",
+    ".cc.obj",
+    "$(COMPILE.cc) /obj=$@ $<",
+    ".for.obj",
+    "$(COMPILE.for) /obj=$@ $<",
+    ".pas.obj",
+    "$(COMPILE.pas) /obj=$@ $<",
+
+    ".y.c",
+    "$(YACC.y) $< \n rename y_tab.c $@",
+    ".l.c",
+    "$(LEX.l) $< \n rename lexyy.c $@",
+
+    ".texinfo.info",
+    "$(MAKEINFO) $<",
+
+    ".tex.dvi",
+    "$(TEX) $<",
+
+#else /* ! VMS */
+
+    ".o",
+    "$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".s",
+    "$(LINK.s) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".S",
+    "$(LINK.S) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".c",
+    "$(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".cc",
+    "$(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".C",
+    "$(LINK.C) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".cpp",
+    "$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".f",
+    "$(LINK.f) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".p",
+    "$(LINK.p) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".F",
+    "$(LINK.F) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".r",
+    "$(LINK.r) $^ $(LOADLIBES) $(LDLIBS) -o $@",
+    ".mod",
+    "$(COMPILE.mod) -o $@ -e $@ $^",
+
+    ".def.sym",
+    "$(COMPILE.def) -o $@ $<",
+
+    ".sh",
+    "cat $< >$@ \n chmod a+x $@",
+
+    ".s.o",
+    "$(COMPILE.s) -o $@ $<",
+    ".S.o",
+    "$(COMPILE.S) -o $@ $<",
+    ".c.o",
+    "$(COMPILE.c) $(OUTPUT_OPTION) $<",
+    ".cc.o",
+    "$(COMPILE.cc) $(OUTPUT_OPTION) $<",
+    ".C.o",
+    "$(COMPILE.C) $(OUTPUT_OPTION) $<",
+    ".cpp.o",
+    "$(COMPILE.cpp) $(OUTPUT_OPTION) $<",
+    ".f.o",
+    "$(COMPILE.f) $(OUTPUT_OPTION) $<",
+    ".p.o",
+    "$(COMPILE.p) $(OUTPUT_OPTION) $<",
+    ".F.o",
+    "$(COMPILE.F) $(OUTPUT_OPTION) $<",
+    ".r.o",
+    "$(COMPILE.r) $(OUTPUT_OPTION) $<",
+    ".mod.o",
+    "$(COMPILE.mod) -o $@ $<",
+
+    ".c.ln",
+    "$(LINT.c) -C$* $<",
+    ".y.ln",
+#ifndef __MSDOS__
+    "$(YACC.y) $< \n $(LINT.c) -C$* y.tab.c \n $(RM) y.tab.c",
+#else
+    "$(YACC.y) $< \n $(LINT.c) -C$* y_tab.c \n $(RM) y_tab.c",
+#endif
+    ".l.ln",
+    "@$(RM) $*.c\n $(LEX.l) $< > $*.c\n$(LINT.c) -i $*.c -o $@\n $(RM) $*.c",
+
+    ".y.c",
+#ifndef __MSDOS__
+    "$(YACC.y) $< \n mv -f y.tab.c $@",
+#else
+    "$(YACC.y) $< \n mv -f y_tab.c $@",
+#endif
+    ".l.c",
+    "@$(RM) $@ \n $(LEX.l) $< > $@",
+
+    ".F.f",
+    "$(PREPROCESS.F) $(OUTPUT_OPTION) $<",
+    ".r.f",
+    "$(PREPROCESS.r) $(OUTPUT_OPTION) $<",
+
+    /* This might actually make lex.yy.c if there's no %R%
+       directive in $*.l, but in that case why were you
+       trying to make $*.r anyway?  */
+    ".l.r",
+    "$(LEX.l) $< > $@ \n mv -f lex.yy.r $@",
+
+    ".S.s",
+    "$(PREPROCESS.S) $< > $@",
+
+    ".texinfo.info",
+    "$(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@",
+
+    ".texi.info",
+    "$(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@",
+
+    ".txinfo.info",
+    "$(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@",
+
+    ".tex.dvi",
+    "$(TEX) $<",
+
+    ".texinfo.dvi",
+    "$(TEXI2DVI) $(TEXI2DVI_FLAGS) $<",
+
+    ".texi.dvi",
+    "$(TEXI2DVI) $(TEXI2DVI_FLAGS) $<",
+
+    ".txinfo.dvi",
+    "$(TEXI2DVI) $(TEXI2DVI_FLAGS) $<",
+
+    ".w.c",
+    "$(CTANGLE) $< - $@",      /* The `-' says there is no `.ch' file.  */
+
+    ".web.p",
+    "$(TANGLE) $<",
+
+    ".w.tex",
+    "$(CWEAVE) $< - $@",       /* The `-' says there is no `.ch' file.  */
+
+    ".web.tex",
+    "$(WEAVE) $<",
+
+#endif /* !VMS */
+
+    0, 0,
+  };
+
+static char *default_variables[] =
+  {
+#ifdef VMS
+#ifdef __ALPHA
+    "ARCH", "ALPHA",
+#else
+    "ARCH", "VAX",
+#endif
+    "AR", "library/obj",
+    "ARFLAGS", "/replace",
+    "AS", "macro",
+    "MACRO", "macro",
+#ifdef GCC_IS_NATIVE
+    "CC", "gcc",
+#else
+    "CC", "cc",
+#endif
+    "CD", "builtin_cd",
+    "MAKE", "make",
+    "ECHO", "write sys$$output \"",
+#ifdef GCC_IS_NATIVE
+    "C++", "gcc/plus",
+    "CXX", "gcc/plus",
+#else
+    "C++", "cxx",
+    "CXX", "cxx",
+    "CXXLD", "cxxlink",
+#endif
+    "CO", "co",
+    "CPP", "$(CC) /preprocess_only",
+    "FC", "fortran",
+    /* System V uses these, so explicit rules using them should work.
+       However, there is no way to make implicit rules use them and FC.  */
+    "F77", "$(FC)",
+    "F77FLAGS", "$(FFLAGS)",
+    "LD", "link",
+    "LEX", "lex",
+    "PC", "pascal",
+    "YACC", "bison/yacc",
+    "YFLAGS", "/Define/Verbose",
+    "BISON", "bison",
+    "MAKEINFO", "makeinfo",
+    "TEX", "tex",
+    "TEXINDEX", "texindex",
+
+    "RM", "delete/nolog",
+
+    "CSTARTUP", "",
+#ifdef GCC_IS_NATIVE
+    "CRT0", ",sys$$library:vaxcrtl.olb/lib,gnu_cc_library:crt0.obj",
+    "CXXSTARTUP", "gnu_cc_library:crtbegin.obj",
+    "CXXRT0", ",sys$$library:vaxcrtl.olb/lib,gnu_cc_library:crtend.obj,gnu_cc_library:gxx_main.obj",
+    "LXLIBS", ",gnu_cc_library:libstdcxx.olb/lib,gnu_cc_library:libgccplus.olb/lib",
+    "LDLIBS", ",gnu_cc_library:libgcc.olb/lib",
+#else
+    "CRT0", "",
+    "CXXSTARTUP", "",
+    "CXXRT0", "",
+    "LXLIBS", "",
+    "LDLIBS", "",
+#endif
+
+    "LINK.obj", "$(LD) $(LDFLAGS)",
+#ifndef GCC_IS_NATIVE
+    "CXXLINK.obj", "$(CXXLD) $(LDFLAGS)",
+    "COMPILE.cxx", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH)",
+#endif
+    "COMPILE.c", "$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH)",
+    "COMPILE.cc", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH)",
+    "YACC.y", "$(YACC) $(YFLAGS)",
+    "LEX.l", "$(LEX) $(LFLAGS)",
+    "COMPILE.for", "$(FC) $(FFLAGS) $(TARGET_ARCH)",
+    "COMPILE.pas", "$(PC) $(PFLAGS) $(CPPFLAGS) $(TARGET_ARCH)",
+    "COMPILE.mar", "$(MACRO) $(MACROFLAGS)",
+    "COMPILE.s", "$(AS) $(ASFLAGS) $(TARGET_MACH)",
+    "LINT.c", "$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH)",
+
+    "MV", "rename/new_version",
+    "CP", "copy",
+
+#else /* !VMS */
+
+    "AR", "ar",
+    "ARFLAGS", "rv",
+    "AS", "as",
+#ifdef GCC_IS_NATIVE
+    "CC", "gcc",
+# ifdef __MSDOS__
+    "CXX", "gpp",      /* g++ is an invalid name on MSDOS */
+# else
+    "CXX", "gcc",
+# endif /* __MSDOS__ */
+#else
+    "CC", "cc",
+    "CXX", "g++",
+#endif
+
+    /* This expands to $(CO) $(COFLAGS) $< $@ if $@ does not exist,
+       and to the empty string if $@ does exist.  */
+    "CHECKOUT,v", "+$(if $(wildcard $@),,$(CO) $(COFLAGS) $< $@)",
+    "CO", "co",
+    "COFLAGS", "",
+
+    "CPP", "$(CC) -E",
+#ifdef CRAY
+    "CF77PPFLAGS", "-P",
+    "CF77PP", "/lib/cpp",
+    "CFT", "cft77",
+    "CF", "cf77",
+    "FC", "$(CF)",
+#else  /* Not CRAY.  */
+#ifdef _IBMR2
+    "FC", "xlf",
+#else
+#ifdef __convex__
+    "FC", "fc",
+#else
+    "FC", "f77",
+#endif /* __convex__ */
+#endif /* _IBMR2 */
+    /* System V uses these, so explicit rules using them should work.
+       However, there is no way to make implicit rules use them and FC.  */
+    "F77", "$(FC)",
+    "F77FLAGS", "$(FFLAGS)",
+#endif /* Cray.  */
+    "GET", SCCS_GET,
+    "LD", "ld",
+#ifdef GCC_IS_NATIVE
+    "LEX", "flex",
+#else
+    "LEX", "lex",
+#endif
+    "LINT", "lint",
+    "M2C", "m2c",
+#ifdef pyr
+    "PC", "pascal",
+#else
+#ifdef CRAY
+    "PC", "PASCAL",
+    "SEGLDR", "segldr",
+#else
+    "PC", "pc",
+#endif /* CRAY.  */
+#endif /* pyr.  */
+#ifdef GCC_IS_NATIVE
+    "YACC", "bison -y",
+#else
+    "YACC", "yacc",    /* Or "bison -y"  */
+#endif
+    "MAKEINFO", "makeinfo",
+    "TEX", "tex",
+    "TEXI2DVI", "texi2dvi",
+    "WEAVE", "weave",
+    "CWEAVE", "cweave",
+    "TANGLE", "tangle",
+    "CTANGLE", "ctangle",
+
+    "RM", "rm -f",
+
+    "LINK.o", "$(CC) $(LDFLAGS) $(TARGET_ARCH)",
+    "COMPILE.c", "$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c",
+    "LINK.c", "$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
+    "COMPILE.cc", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c",
+    "COMPILE.C", "$(COMPILE.cc)",
+    "COMPILE.cpp", "$(COMPILE.cc)",
+    "LINK.cc", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
+    "LINK.C", "$(LINK.cc)",
+    "LINK.cpp", "$(LINK.cc)",
+    "YACC.y", "$(YACC) $(YFLAGS)",
+    "LEX.l", "$(LEX) $(LFLAGS) -t",
+    "COMPILE.f", "$(FC) $(FFLAGS) $(TARGET_ARCH) -c",
+    "LINK.f", "$(FC) $(FFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
+    "COMPILE.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c",
+    "LINK.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
+    "COMPILE.r", "$(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -c",
+    "LINK.r", "$(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
+    "COMPILE.def", "$(M2C) $(M2FLAGS) $(DEFFLAGS) $(TARGET_ARCH)",
+    "COMPILE.mod", "$(M2C) $(M2FLAGS) $(MODFLAGS) $(TARGET_ARCH)",
+    "COMPILE.p", "$(PC) $(PFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c",
+    "LINK.p", "$(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
+    "LINK.s", "$(CC) $(ASFLAGS) $(LDFLAGS) $(TARGET_MACH)",
+    "COMPILE.s", "$(AS) $(ASFLAGS) $(TARGET_MACH)",
+    "LINK.S", "$(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_MACH)",
+    "COMPILE.S", "$(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_MACH) -c",
+    "PREPROCESS.S", "$(CC) -E $(CPPFLAGS)",
+    "PREPROCESS.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -F",
+    "PREPROCESS.r", "$(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -F",
+    "LINT.c", "$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH)",
+
+#ifndef        NO_MINUS_C_MINUS_O
+    "OUTPUT_OPTION", "-o $@",
+#endif
+
+#ifdef SCCS_GET_MINUS_G
+    "SCCS_OUTPUT_OPTION", "-G$@",
+#endif
+
+#ifdef _AMIGA
+    ".LIBPATTERNS", "%.lib",
+#else
+#ifdef __MSDOS__
+    ".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
+#else
+    ".LIBPATTERNS", "lib%.so lib%.a",
+#endif
+#endif
+
+#endif /* !VMS */
+    0, 0
+  };
+\f
+/* Set up the default .SUFFIXES list.  */
+
+void
+set_default_suffixes ()
+{
+  suffix_file = enter_file (".SUFFIXES");
+
+  if (no_builtin_rules_flag)
+    (void) define_variable ("SUFFIXES", 8, "", o_default, 0);
+  else
+    {
+      char *p = default_suffixes;
+      suffix_file->deps = (struct dep *)
+       multi_glob (parse_file_seq (&p, '\0', sizeof (struct dep), 1),
+                   sizeof (struct dep));
+      (void) define_variable ("SUFFIXES", 8, default_suffixes, o_default, 0);
+    }
+}
+
+/* Enter the default suffix rules as file rules.  This used to be done in
+   install_default_implicit_rules, but that loses because we want the
+   suffix rules installed before reading makefiles, and thee pattern rules
+   installed after.  */
+
+void
+install_default_suffix_rules ()
+{
+  register char **s;
+
+  if (no_builtin_rules_flag)
+    return;
+
+ for (s = default_suffix_rules; *s != 0; s += 2)
+    {
+      register struct file *f = enter_file (s[0]);
+      /* Don't clobber cmds given in a makefile if there were any.  */
+      if (f->cmds == 0)
+       {
+         f->cmds = (struct commands *) xmalloc (sizeof (struct commands));
+         f->cmds->fileinfo.filenm = 0;
+         f->cmds->commands = s[1];
+         f->cmds->command_lines = 0;
+       }
+    }
+}
+
+
+/* Install the default pattern rules.  */
+
+void
+install_default_implicit_rules ()
+{
+  register struct pspec *p;
+
+  if (no_builtin_rules_flag)
+    return;
+
+  for (p = default_pattern_rules; p->target != 0; ++p)
+    install_pattern_rule (p, 0);
+
+  for (p = default_terminal_rules; p->target != 0; ++p)
+    install_pattern_rule (p, 1);
+}
+
+void
+define_default_variables ()
+{
+  register char **s;
+
+  if (no_builtin_variables_flag)
+    return;
+
+  for (s = default_variables; *s != 0; s += 2)
+    (void) define_variable (s[0], strlen (s[0]), s[1], o_default, 1);
+}
diff --git a/src/mkutil/make-3.80/dep.h b/src/mkutil/make-3.80/dep.h
new file mode 100644 (file)
index 0000000..7f4380b
--- /dev/null
@@ -0,0 +1,78 @@
+/* Definitions of dependency data structures for GNU Make.
+Copyright (C) 1988, 1989, 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* Flag bits for the second argument to `read_makefile'.
+   These flags are saved in the `changed' field of each
+   `struct dep' in the chain returned by `read_all_makefiles'.  */
+
+#define RM_NO_DEFAULT_GOAL     (1 << 0) /* Do not set default goal.  */
+#define RM_INCLUDED            (1 << 1) /* Search makefile search path.  */
+#define RM_DONTCARE            (1 << 2) /* No error if it doesn't exist.  */
+#define RM_NO_TILDE            (1 << 3) /* Don't expand ~ in file name.  */
+#define RM_NOFLAG              0
+
+/* Structure representing one dependency of a file.
+   Each struct file's `deps' points to a chain of these,
+   chained through the `next'.
+
+   Note that the first two words of this match a struct nameseq.  */
+
+struct dep
+  {
+    struct dep *next;
+    char *name;
+    struct file *file;
+    unsigned int changed : 8;
+    unsigned int ignore_mtime : 1;
+  };
+
+
+/* Structure used in chains of names, for parsing and globbing.  */
+
+struct nameseq
+  {
+    struct nameseq *next;
+    char *name;
+  };
+
+
+extern struct nameseq *multi_glob PARAMS ((struct nameseq *chain, unsigned int size));
+#ifdef VMS
+extern struct nameseq *parse_file_seq ();
+#else
+extern struct nameseq *parse_file_seq PARAMS ((char **stringp, int stopchar, unsigned int size, int strip));
+#endif
+extern char *tilde_expand PARAMS ((char *name));
+
+#ifndef NO_ARCHIVES
+extern struct nameseq *ar_glob PARAMS ((char *arname, char *member_pattern, unsigned int size));
+#endif
+
+#ifndef        iAPX286
+#define dep_name(d) ((d)->name == 0 ? (d)->file->name : (d)->name)
+#else
+/* Buggy compiler can't hack this.  */
+extern char *dep_name ();
+#endif
+
+extern struct dep *copy_dep_chain PARAMS ((struct dep *d));
+extern struct dep *read_all_makefiles PARAMS ((char **makefiles));
+extern int eval_buffer PARAMS ((char *buffer));
+extern int update_goal_chain PARAMS ((struct dep *goals, int makefiles));
+extern void uniquize_deps PARAMS ((struct dep *));
diff --git a/src/mkutil/make-3.80/dir.c b/src/mkutil/make-3.80/dir.c
new file mode 100644 (file)
index 0000000..e862b9d
--- /dev/null
@@ -0,0 +1,1212 @@
+/* Directory hashing for GNU Make.
+Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "hash.h"
+
+#ifdef HAVE_DIRENT_H
+# include <dirent.h>
+# define NAMLEN(dirent) strlen((dirent)->d_name)
+# ifdef VMS
+extern char *vmsify PARAMS ((char *name, int type));
+# endif
+#else
+# define dirent direct
+# define NAMLEN(dirent) (dirent)->d_namlen
+# ifdef HAVE_SYS_NDIR_H
+#  include <sys/ndir.h>
+# endif
+# ifdef HAVE_SYS_DIR_H
+#  include <sys/dir.h>
+# endif
+# ifdef HAVE_NDIR_H
+#  include <ndir.h>
+# endif
+# ifdef HAVE_VMSDIR_H
+#  include "vmsdir.h"
+# endif /* HAVE_VMSDIR_H */
+#endif
+
+/* In GNU systems, <dirent.h> defines this macro for us.  */
+#ifdef _D_NAMLEN
+# undef NAMLEN
+# define NAMLEN(d) _D_NAMLEN(d)
+#endif
+
+#if (defined (POSIX) || defined (VMS) || defined (WINDOWS32)) && !defined (__GNU_LIBRARY__)
+/* Posix does not require that the d_ino field be present, and some
+   systems do not provide it. */
+# define REAL_DIR_ENTRY(dp) 1
+# define FAKE_DIR_ENTRY(dp)
+#else
+# define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
+# define FAKE_DIR_ENTRY(dp) (dp->d_ino = 1)
+#endif /* POSIX */
+\f
+#ifdef __MSDOS__
+#include <ctype.h>
+#include <fcntl.h>
+
+/* If it's MSDOS that doesn't have _USE_LFN, disable LFN support.  */
+#ifndef _USE_LFN
+#define _USE_LFN 0
+#endif
+
+static char *
+dosify (filename)
+     char *filename;
+{
+  static char dos_filename[14];
+  char *df;
+  int i;
+
+  if (filename == 0 || _USE_LFN)
+    return filename;
+
+  /* FIXME: what about filenames which violate
+     8+3 constraints, like "config.h.in", or ".emacs"?  */
+  if (strpbrk (filename, "\"*+,;<=>?[\\]|") != 0)
+    return filename;
+
+  df = dos_filename;
+
+  /* First, transform the name part.  */
+  for (i = 0; *filename != '\0' && i < 8 && *filename != '.'; ++i)
+    *df++ = tolower ((unsigned char)*filename++);
+
+  /* Now skip to the next dot.  */
+  while (*filename != '\0' && *filename != '.')
+    ++filename;
+  if (*filename != '\0')
+    {
+      *df++ = *filename++;
+      for (i = 0; *filename != '\0' && i < 3 && *filename != '.'; ++i)
+       *df++ = tolower ((unsigned char)*filename++);
+    }
+
+  /* Look for more dots.  */
+  while (*filename != '\0' && *filename != '.')
+    ++filename;
+  if (*filename == '.')
+    return filename;
+  *df = 0;
+  return dos_filename;
+}
+#endif /* __MSDOS__ */
+
+#ifdef WINDOWS32
+#include "pathstuff.h"
+#endif
+
+#ifdef _AMIGA
+#include <ctype.h>
+#endif
+
+#ifdef HAVE_CASE_INSENSITIVE_FS
+static char *
+downcase (filename)
+     char *filename;
+{
+#ifdef _AMIGA
+  static char new_filename[136];
+#else
+  static char new_filename[PATH_MAX];
+#endif
+  char *df;
+  int i;
+
+  if (filename == 0)
+    return 0;
+
+  df = new_filename;
+
+  /* First, transform the name part.  */
+  for (i = 0; *filename != '\0'; ++i)
+  {
+    *df++ = tolower ((unsigned char)*filename);
+    ++filename;
+  }
+
+  *df = 0;
+
+  return new_filename;
+}
+#endif /* HAVE_CASE_INSENSITIVE_FS */
+
+#ifdef VMS
+
+static int
+vms_hash (name)
+    char *name;
+{
+  int h = 0;
+  int g;
+
+  while (*name)
+    {
+      unsigned char uc = *name;
+      h = (h << 4) + (isupper (uc) ? tolower (uc) : uc);
+      name++;
+      g = h & 0xf0000000;
+      if (g)
+       {
+         h = h ^ (g >> 24);
+         h = h ^ g;
+       }
+    }
+  return h;
+}
+
+/* fake stat entry for a directory */
+static int
+vmsstat_dir (name, st)
+    char *name;
+    struct stat *st;
+{
+  char *s;
+  int h;
+  DIR *dir;
+
+  dir = opendir (name);
+  if (dir == 0)
+    return -1;
+  closedir (dir);
+  s = strchr (name, ':');      /* find device */
+  if (s)
+    {
+      *s++ = 0;
+      st->st_dev = (char *)vms_hash (name);
+      h = vms_hash (s);
+      *(s-1) = ':';
+    }
+  else
+    {
+      st->st_dev = 0;
+      s = name;
+      h = vms_hash (s);
+    }
+
+  st->st_ino[0] = h & 0xff;
+  st->st_ino[1] = h & 0xff00;
+  st->st_ino[2] = h >> 16;
+
+  return 0;
+}
+#endif /* VMS */
+\f
+/* Hash table of directories.  */
+
+#ifndef        DIRECTORY_BUCKETS
+#define DIRECTORY_BUCKETS 199
+#endif
+
+struct directory_contents
+  {
+    dev_t dev;                 /* Device and inode numbers of this dir.  */
+#ifdef WINDOWS32
+    /*
+     * Inode means nothing on WINDOWS32. Even file key information is
+     * unreliable because it is random per file open and undefined
+     * for remote filesystems. The most unique attribute I can
+     * come up with is the fully qualified name of the directory. Beware
+     * though, this is also unreliable. I'm open to suggestion on a better
+     * way to emulate inode.
+     */
+    char *path_key;
+    int   ctime;
+    int   mtime;        /* controls check for stale directory cache */
+    int   fs_flags;     /* FS_FAT, FS_NTFS, ... */
+#define FS_FAT      0x1
+#define FS_NTFS     0x2
+#define FS_UNKNOWN  0x4
+#else
+#ifdef VMS
+    ino_t ino[3];
+#else
+    ino_t ino;
+#endif
+#endif /* WINDOWS32 */
+    struct hash_table dirfiles;        /* Files in this directory.  */
+    DIR *dirstream;            /* Stream reading this directory.  */
+  };
+
+static unsigned long
+directory_contents_hash_1 (key_0)
+    const void *key_0;
+{
+  struct directory_contents const *key = (struct directory_contents const *) key_0;
+  unsigned long hash;
+
+#ifdef WINDOWS32
+  ISTRING_HASH_1 (key->path_key, hash);
+  hash ^= ((unsigned int) key->dev << 4) ^ (unsigned int) key->ctime;
+#else
+# ifdef VMS
+  hash = (((unsigned int) key->dev << 4)
+         ^ ((unsigned int) key->ino[0]
+            + (unsigned int) key->ino[1]
+            + (unsigned int) key->ino[2]));
+# else
+  hash = ((unsigned int) key->dev << 4) ^ (unsigned int) key->ino;
+# endif
+#endif /* WINDOWS32 */
+  return hash;
+}
+
+static unsigned long
+directory_contents_hash_2 (key_0)
+    const void *key_0;
+{
+  struct directory_contents const *key = (struct directory_contents const *) key_0;
+  unsigned long hash;
+
+#ifdef WINDOWS32
+  ISTRING_HASH_2 (key->path_key, hash);
+  hash ^= ((unsigned int) key->dev << 4) ^ (unsigned int) ~key->ctime;
+#else
+# ifdef VMS
+  hash = (((unsigned int) key->dev << 4)
+         ^ ~((unsigned int) key->ino[0]
+             + (unsigned int) key->ino[1]
+             + (unsigned int) key->ino[2]));
+# else
+  hash = ((unsigned int) key->dev << 4) ^ (unsigned int) ~key->ino;
+# endif
+#endif /* WINDOWS32 */
+
+  return hash;
+}
+
+static int
+directory_contents_hash_cmp (xv, yv)
+    const void *xv;
+    const void *yv;
+{
+  struct directory_contents const *x = (struct directory_contents const *) xv;
+  struct directory_contents const *y = (struct directory_contents const *) yv;
+  int result;
+
+#ifdef WINDOWS32
+  ISTRING_COMPARE (x->path_key, y->path_key, result);
+  if (result)
+    return result;
+  result = x->ctime - y->ctime;
+  if (result)
+    return result;
+#else
+# ifdef VMS
+  result = x->ino[0] - y->ino[0];
+  if (result)
+    return result;
+  result = x->ino[1] - y->ino[1];
+  if (result)
+    return result;
+  result = x->ino[2] - y->ino[2];
+  if (result)
+    return result;
+# else
+  result = x->ino - y->ino;
+  if (result)
+    return result;
+# endif
+#endif /* WINDOWS32 */
+
+  return x->dev - y->dev;
+}
+
+/* Table of directory contents hashed by device and inode number.  */
+static struct hash_table directory_contents;
+
+struct directory
+  {
+    char *name;                        /* Name of the directory.  */
+
+    /* The directory's contents.  This data may be shared by several
+       entries in the hash table, which refer to the same directory
+       (identified uniquely by `dev' and `ino') under different names.  */
+    struct directory_contents *contents;
+  };
+
+static unsigned long
+directory_hash_1 (key)
+    const void *key;
+{
+  return_ISTRING_HASH_1 (((struct directory const *) key)->name);
+}
+
+static unsigned long
+directory_hash_2 (key)
+    const void *key;
+{
+  return_ISTRING_HASH_2 (((struct directory const *) key)->name);
+}
+
+static int
+directory_hash_cmp (x, y)
+    const void *x;
+    const void *y;
+{
+  return_ISTRING_COMPARE (((struct directory const *) x)->name,
+                         ((struct directory const *) y)->name);
+}
+
+/* Table of directories hashed by name.  */
+static struct hash_table directories;
+
+/* Never have more than this many directories open at once.  */
+
+#define MAX_OPEN_DIRECTORIES 10
+
+static unsigned int open_directories = 0;
+
+
+/* Hash table of files in each directory.  */
+
+struct dirfile
+  {
+    char *name;                        /* Name of the file.  */
+    short length;
+    short impossible;          /* This file is impossible.  */
+  };
+
+static unsigned long
+dirfile_hash_1 (key)
+    const void *key;
+{
+  return_ISTRING_HASH_1 (((struct dirfile const *) key)->name);
+}
+
+static unsigned long
+dirfile_hash_2 (key)
+    const void *key;
+{
+  return_ISTRING_HASH_2 (((struct dirfile const *) key)->name);
+}
+
+static int
+dirfile_hash_cmp (xv, yv)
+    const void *xv;
+    const void *yv;
+{
+  struct dirfile const *x = ((struct dirfile const *) xv);
+  struct dirfile const *y = ((struct dirfile const *) yv);
+  int result = x->length - y->length;
+  if (result)
+    return result;
+  return_ISTRING_COMPARE (x->name, y->name);
+}
+
+#ifndef        DIRFILE_BUCKETS
+#define DIRFILE_BUCKETS 107
+#endif
+\f
+static int dir_contents_file_exists_p PARAMS ((struct directory_contents *dir, char *filename));
+static struct directory *find_directory PARAMS ((char *name));
+
+/* Find the directory named NAME and return its `struct directory'.  */
+
+static struct directory *
+find_directory (name)
+     register char *name;
+{
+  register char *p;
+  register struct directory *dir;
+  register struct directory **dir_slot;
+  struct directory dir_key;
+  int r;
+#ifdef WINDOWS32
+  char* w32_path;
+  char  fs_label[BUFSIZ];
+  char  fs_type[BUFSIZ];
+  long  fs_serno;
+  long  fs_flags;
+  long  fs_len;
+#endif
+#ifdef VMS
+  if ((*name == '.') && (*(name+1) == 0))
+    name = "[]";
+  else
+    name = vmsify (name,1);
+#endif
+
+  dir_key.name = name;
+  dir_slot = (struct directory **) hash_find_slot (&directories, &dir_key);
+  dir = *dir_slot;
+
+  if (HASH_VACANT (dir))
+    {
+      struct stat st;
+
+      /* The directory was not found.  Create a new entry for it.  */
+
+      p = name + strlen (name);
+      dir = (struct directory *) xmalloc (sizeof (struct directory));
+      dir->name = savestring (name, p - name);
+      hash_insert_at (&directories, dir, dir_slot);
+      /* The directory is not in the name hash table.
+        Find its device and inode numbers, and look it up by them.  */
+
+#ifdef WINDOWS32
+      /* Remove any trailing '\'.  Windows32 stat fails even on valid
+         directories if they end in '\'. */
+      if (p[-1] == '\\')
+        p[-1] = '\0';
+#endif
+
+#ifdef VMS
+      r = vmsstat_dir (name, &st);
+#else
+      r = stat (name, &st);
+#endif
+
+#ifdef WINDOWS32
+      /* Put back the trailing '\'.  If we don't, we're permanently
+         truncating the value!  */
+      if (p[-1] == '\0')
+        p[-1] = '\\';
+#endif
+
+      if (r < 0)
+        {
+       /* Couldn't stat the directory.  Mark this by
+          setting the `contents' member to a nil pointer.  */
+         dir->contents = 0;
+       }
+      else
+       {
+         /* Search the contents hash table; device and inode are the key.  */
+
+         struct directory_contents *dc;
+         struct directory_contents **dc_slot;
+         struct directory_contents dc_key;
+
+         dc_key.dev = st.st_dev;
+#ifdef WINDOWS32
+         dc_key.path_key = w32_path = w32ify (name, 1);
+         dc_key.ctime = st.st_ctime;
+#else
+# ifdef VMS
+         dc_key.ino[0] = st.st_ino[0];
+         dc_key.ino[1] = st.st_ino[1];
+         dc_key.ino[2] = st.st_ino[2];
+# else
+         dc_key.ino = st.st_ino;
+# endif
+#endif
+         dc_slot = (struct directory_contents **) hash_find_slot (&directory_contents, &dc_key);
+         dc = *dc_slot;
+
+         if (HASH_VACANT (dc))
+           {
+             /* Nope; this really is a directory we haven't seen before.  */
+
+             dc = (struct directory_contents *)
+               xmalloc (sizeof (struct directory_contents));
+
+             /* Enter it in the contents hash table.  */
+             dc->dev = st.st_dev;
+#ifdef WINDOWS32
+              dc->path_key = xstrdup (w32_path);
+             dc->ctime = st.st_ctime;
+              dc->mtime = st.st_mtime;
+
+              /*
+               * NTFS is the only WINDOWS32 filesystem that bumps mtime
+               * on a directory when files are added/deleted from
+               * a directory.
+               */
+              w32_path[3] = '\0';
+              if (GetVolumeInformation(w32_path,
+                     fs_label, sizeof (fs_label),
+                     &fs_serno, &fs_len,
+                     &fs_flags, fs_type, sizeof (fs_type)) == FALSE)
+                dc->fs_flags = FS_UNKNOWN;
+              else if (!strcmp(fs_type, "FAT"))
+                dc->fs_flags = FS_FAT;
+              else if (!strcmp(fs_type, "NTFS"))
+                dc->fs_flags = FS_NTFS;
+              else
+                dc->fs_flags = FS_UNKNOWN;
+#else
+# ifdef VMS
+             dc->ino[0] = st.st_ino[0];
+             dc->ino[1] = st.st_ino[1];
+             dc->ino[2] = st.st_ino[2];
+# else
+             dc->ino = st.st_ino;
+# endif
+#endif /* WINDOWS32 */
+             hash_insert_at (&directory_contents, dc, dc_slot);
+             dc->dirstream = opendir (name);
+             if (dc->dirstream == 0)
+                /* Couldn't open the directory.  Mark this by
+                   setting the `files' member to a nil pointer.  */
+                dc->dirfiles.ht_vec = 0;
+             else
+               {
+                 hash_init (&dc->dirfiles, DIRFILE_BUCKETS,
+                            dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp);
+                 /* Keep track of how many directories are open.  */
+                 ++open_directories;
+                 if (open_directories == MAX_OPEN_DIRECTORIES)
+                   /* We have too many directories open already.
+                      Read the entire directory and then close it.  */
+                   (void) dir_contents_file_exists_p (dc, (char *) 0);
+               }
+           }
+
+         /* Point the name-hashed entry for DIR at its contents data.  */
+         dir->contents = dc;
+       }
+    }
+
+  return dir;
+}
+\f
+/* Return 1 if the name FILENAME is entered in DIR's hash table.
+   FILENAME must contain no slashes.  */
+
+static int
+dir_contents_file_exists_p (dir, filename)
+     register struct directory_contents *dir;
+     register char *filename;
+{
+  unsigned int hash;
+  struct dirfile *df;
+  struct dirent *d;
+#ifdef WINDOWS32
+  struct stat st;
+  int rehash = 0;
+#endif
+
+  if (dir == 0 || dir->dirfiles.ht_vec == 0)
+    {
+    /* The directory could not be stat'd or opened.  */
+      return 0;
+    }
+#ifdef __MSDOS__
+  filename = dosify (filename);
+#endif
+
+#ifdef HAVE_CASE_INSENSITIVE_FS
+  filename = downcase (filename);
+#endif
+
+#ifdef VMS
+  filename = vmsify (filename,0);
+#endif
+
+  hash = 0;
+  if (filename != 0)
+    {
+      struct dirfile dirfile_key;
+
+      if (*filename == '\0')
+       {
+         /* Checking if the directory exists.  */
+         return 1;
+       }
+      dirfile_key.name = filename;
+      dirfile_key.length = strlen (filename);
+      df = (struct dirfile *) hash_find_item (&dir->dirfiles, &dirfile_key);
+      if (df)
+       {
+         return !df->impossible;
+       }
+    }
+
+  /* The file was not found in the hashed list.
+     Try to read the directory further.  */
+
+  if (dir->dirstream == 0)
+    {
+#ifdef WINDOWS32
+      /*
+       * Check to see if directory has changed since last read. FAT
+       * filesystems force a rehash always as mtime does not change
+       * on directories (ugh!).
+       */
+      if (dir->path_key
+         && (dir->fs_flags & FS_FAT
+             || (stat(dir->path_key, &st) == 0
+                 && st.st_mtime > dir->mtime)))
+       {
+         /* reset date stamp to show most recent re-process */
+         dir->mtime = st.st_mtime;
+
+         /* make sure directory can still be opened */
+         dir->dirstream = opendir(dir->path_key);
+
+         if (dir->dirstream)
+           rehash = 1;
+         else
+           return 0; /* couldn't re-read - fail */
+       }
+      else
+#endif
+       /* The directory has been all read in.  */
+       return 0;
+    }
+
+  while ((d = readdir (dir->dirstream)) != 0)
+    {
+      /* Enter the file in the hash table.  */
+      unsigned int len;
+      struct dirfile dirfile_key;
+      struct dirfile **dirfile_slot;
+
+#if defined(VMS) && defined(HAVE_DIRENT_H)
+      /* In VMS we get file versions too, which have to be stripped off */
+      {
+        char *p = strrchr (d->d_name, ';');
+        if (p)
+          *p = '\0';
+      }
+#endif
+      if (!REAL_DIR_ENTRY (d))
+       continue;
+
+      len = NAMLEN (d);
+      dirfile_key.name = d->d_name;
+      dirfile_key.length = len;
+      dirfile_slot = (struct dirfile **) hash_find_slot (&dir->dirfiles, &dirfile_key);
+#ifdef WINDOWS32
+      /*
+       * If re-reading a directory, don't cache files that have
+       * already been discovered.
+       */
+      if (! rehash || HASH_VACANT (*dirfile_slot))
+#endif
+       {
+         df = (struct dirfile *) xmalloc (sizeof (struct dirfile));
+         df->name = savestring (d->d_name, len);
+         df->length = len;
+         df->impossible = 0;
+         hash_insert_at (&dir->dirfiles, df, dirfile_slot);
+       }
+      /* Check if the name matches the one we're searching for.  */
+      if (filename != 0 && strieq (d->d_name, filename))
+       {
+         return 1;
+       }
+    }
+
+  /* If the directory has been completely read in,
+     close the stream and reset the pointer to nil.  */
+  if (d == 0)
+    {
+      --open_directories;
+      closedir (dir->dirstream);
+      dir->dirstream = 0;
+    }
+  return 0;
+}
+
+/* Return 1 if the name FILENAME in directory DIRNAME
+   is entered in the dir hash table.
+   FILENAME must contain no slashes.  */
+
+int
+dir_file_exists_p (dirname, filename)
+     register char *dirname;
+     register char *filename;
+{
+  return dir_contents_file_exists_p (find_directory (dirname)->contents,
+                                    filename);
+}
+\f
+/* Return 1 if the file named NAME exists.  */
+
+int
+file_exists_p (name)
+     register char *name;
+{
+  char *dirend;
+  char *dirname;
+  char *slash;
+
+#ifndef        NO_ARCHIVES
+  if (ar_name (name))
+    return ar_member_date (name) != (time_t) -1;
+#endif
+
+#ifdef VMS
+  dirend = strrchr (name, ']');
+  if (dirend == 0)
+    dirend = strrchr (name, ':');
+  dirend++;
+  if (dirend == (char *)1)
+    return dir_file_exists_p ("[]", name);
+#else /* !VMS */
+  dirend = strrchr (name, '/');
+#ifdef HAVE_DOS_PATHS
+  /* Forward and backslashes might be mixed.  We need the rightmost one.  */
+  {
+    char *bslash = strrchr(name, '\\');
+    if (!dirend || bslash > dirend)
+      dirend = bslash;
+    /* The case of "d:file".  */
+    if (!dirend && name[0] && name[1] == ':')
+      dirend = name + 1;
+  }
+#endif /* HAVE_DOS_PATHS */
+  if (dirend == 0)
+#ifndef _AMIGA
+    return dir_file_exists_p (".", name);
+#else /* !VMS && !AMIGA */
+    return dir_file_exists_p ("", name);
+#endif /* AMIGA */
+#endif /* VMS */
+
+  slash = dirend;
+  if (dirend == name)
+    dirname = "/";
+  else
+    {
+#ifdef HAVE_DOS_PATHS
+  /* d:/ and d: are *very* different...  */
+      if (dirend < name + 3 && name[1] == ':' &&
+         (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
+       dirend++;
+#endif
+      dirname = (char *) alloca (dirend - name + 1);
+      bcopy (name, dirname, dirend - name);
+      dirname[dirend - name] = '\0';
+    }
+  return dir_file_exists_p (dirname, slash + 1);
+}
+\f
+/* Mark FILENAME as `impossible' for `file_impossible_p'.
+   This means an attempt has been made to search for FILENAME
+   as an intermediate file, and it has failed.  */
+
+void
+file_impossible (filename)
+     register char *filename;
+{
+  char *dirend;
+  register char *p = filename;
+  register struct directory *dir;
+  register struct dirfile *new;
+
+#ifdef VMS
+  dirend = strrchr (p, ']');
+  if (dirend == 0)
+    dirend = strrchr (p, ':');
+  dirend++;
+  if (dirend == (char *)1)
+    dir = find_directory ("[]");
+#else
+  dirend = strrchr (p, '/');
+# ifdef HAVE_DOS_PATHS
+  /* Forward and backslashes might be mixed.  We need the rightmost one.  */
+  {
+    char *bslash = strrchr(p, '\\');
+    if (!dirend || bslash > dirend)
+      dirend = bslash;
+    /* The case of "d:file".  */
+    if (!dirend && p[0] && p[1] == ':')
+      dirend = p + 1;
+  }
+# endif /* HAVE_DOS_PATHS */
+  if (dirend == 0)
+# ifdef _AMIGA
+    dir = find_directory ("");
+# else /* !VMS && !AMIGA */
+    dir = find_directory (".");
+# endif /* AMIGA */
+#endif /* VMS */
+  else
+    {
+      char *dirname;
+      char *slash = dirend;
+      if (dirend == p)
+       dirname = "/";
+      else
+       {
+#ifdef HAVE_DOS_PATHS
+         /* d:/ and d: are *very* different...  */
+         if (dirend < p + 3 && p[1] == ':' &&
+             (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
+           dirend++;
+#endif
+         dirname = (char *) alloca (dirend - p + 1);
+         bcopy (p, dirname, dirend - p);
+         dirname[dirend - p] = '\0';
+       }
+      dir = find_directory (dirname);
+      filename = p = slash + 1;
+    }
+
+  if (dir->contents == 0)
+    {
+      /* The directory could not be stat'd.  We allocate a contents
+        structure for it, but leave it out of the contents hash table.  */
+      dir->contents = (struct directory_contents *)
+       xmalloc (sizeof (struct directory_contents));
+      bzero ((char *) dir->contents, sizeof (struct directory_contents));
+    }
+
+  if (dir->contents->dirfiles.ht_vec == 0)
+    {
+      hash_init (&dir->contents->dirfiles, DIRFILE_BUCKETS,
+                dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp);
+    }
+
+  /* Make a new entry and put it in the table.  */
+
+  new = (struct dirfile *) xmalloc (sizeof (struct dirfile));
+  new->name = xstrdup (filename);
+  new->length = strlen (filename);
+  new->impossible = 1;
+  hash_insert (&dir->contents->dirfiles, new);
+}
+\f
+/* Return nonzero if FILENAME has been marked impossible.  */
+
+int
+file_impossible_p (filename)
+     char *filename;
+{
+  char *dirend;
+  register char *p = filename;
+  register struct directory_contents *dir;
+  register struct dirfile *dirfile;
+  struct dirfile dirfile_key;
+
+#ifdef VMS
+  dirend = strrchr (filename, ']');
+  if (dirend == 0)
+    dir = find_directory ("[]")->contents;
+#else
+  dirend = strrchr (filename, '/');
+#ifdef HAVE_DOS_PATHS
+  /* Forward and backslashes might be mixed.  We need the rightmost one.  */
+  {
+    char *bslash = strrchr(filename, '\\');
+    if (!dirend || bslash > dirend)
+      dirend = bslash;
+    /* The case of "d:file".  */
+    if (!dirend && filename[0] && filename[1] == ':')
+      dirend = filename + 1;
+  }
+#endif /* HAVE_DOS_PATHS */
+  if (dirend == 0)
+#ifdef _AMIGA
+    dir = find_directory ("")->contents;
+#else /* !VMS && !AMIGA */
+    dir = find_directory (".")->contents;
+#endif /* AMIGA */
+#endif /* VMS */
+  else
+    {
+      char *dirname;
+      char *slash = dirend;
+      if (dirend == filename)
+       dirname = "/";
+      else
+       {
+#ifdef HAVE_DOS_PATHS
+         /* d:/ and d: are *very* different...  */
+         if (dirend < filename + 3 && filename[1] == ':' &&
+             (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
+           dirend++;
+#endif
+         dirname = (char *) alloca (dirend - filename + 1);
+         bcopy (p, dirname, dirend - p);
+         dirname[dirend - p] = '\0';
+       }
+      dir = find_directory (dirname)->contents;
+      p = filename = slash + 1;
+    }
+
+  if (dir == 0 || dir->dirfiles.ht_vec == 0)
+    /* There are no files entered for this directory.  */
+    return 0;
+
+#ifdef __MSDOS__
+  filename = dosify (p);
+#endif
+#ifdef HAVE_CASE_INSENSITIVE_FS
+  filename = downcase (p);
+#endif
+#ifdef VMS
+  filename = vmsify (p, 1);
+#endif
+
+  dirfile_key.name = filename;
+  dirfile_key.length = strlen (filename);
+  dirfile = (struct dirfile *) hash_find_item (&dir->dirfiles, &dirfile_key);
+  if (dirfile)
+    return dirfile->impossible;
+
+  return 0;
+}
+\f
+/* Return the already allocated name in the
+   directory hash table that matches DIR.  */
+
+char *
+dir_name (dir)
+     char *dir;
+{
+  return find_directory (dir)->name;
+}
+\f
+/* Print the data base of directories.  */
+
+void
+print_dir_data_base ()
+{
+  register unsigned int files;
+  register unsigned int impossible;
+  register struct directory **dir_slot;
+  register struct directory **dir_end;
+
+  puts (_("\n# Directories\n"));
+
+  files = impossible = 0;
+
+  dir_slot = (struct directory **) directories.ht_vec;
+  dir_end = dir_slot + directories.ht_size;
+  for ( ; dir_slot < dir_end; dir_slot++)
+    {
+      register struct directory *dir = *dir_slot;
+      if (! HASH_VACANT (dir))
+       {
+         if (dir->contents == 0)
+           printf (_("# %s: could not be stat'd.\n"), dir->name);
+         else if (dir->contents->dirfiles.ht_vec == 0)
+           {
+#ifdef WINDOWS32
+             printf (_("# %s (key %s, mtime %d): could not be opened.\n"),
+                     dir->name, dir->contents->path_key,dir->contents->mtime);
+#else  /* WINDOWS32 */
+#ifdef VMS
+             printf (_("# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"),
+                     dir->name, dir->contents->dev,
+                     dir->contents->ino[0], dir->contents->ino[1],
+                     dir->contents->ino[2]);
+#else
+             printf (_("# %s (device %ld, inode %ld): could not be opened.\n"),
+                     dir->name, (long int) dir->contents->dev,
+                     (long int) dir->contents->ino);
+#endif
+#endif /* WINDOWS32 */
+           }
+         else
+           {
+             register unsigned int f = 0;
+             register unsigned int im = 0;
+             register struct dirfile **files_slot;
+             register struct dirfile **files_end;
+
+             files_slot = (struct dirfile **) dir->contents->dirfiles.ht_vec;
+             files_end = files_slot + dir->contents->dirfiles.ht_size;
+             for ( ; files_slot < files_end; files_slot++)
+               {
+                 register struct dirfile *df = *files_slot;
+                 if (! HASH_VACANT (df))
+                   {
+                     if (df->impossible)
+                       ++im;
+                     else
+                       ++f;
+                   }
+               }
+#ifdef WINDOWS32
+             printf (_("# %s (key %s, mtime %d): "),
+                     dir->name, dir->contents->path_key, dir->contents->mtime);
+#else  /* WINDOWS32 */
+#ifdef VMS
+             printf (_("# %s (device %d, inode [%d,%d,%d]): "),
+                     dir->name, dir->contents->dev,
+                     dir->contents->ino[0], dir->contents->ino[1],
+                     dir->contents->ino[2]);
+#else
+             printf (_("# %s (device %ld, inode %ld): "),
+                     dir->name,
+                     (long)dir->contents->dev, (long)dir->contents->ino);
+#endif
+#endif /* WINDOWS32 */
+             if (f == 0)
+               fputs (_("No"), stdout);
+             else
+               printf ("%u", f);
+             fputs (_(" files, "), stdout);
+             if (im == 0)
+               fputs (_("no"), stdout);
+             else
+               printf ("%u", im);
+             fputs (_(" impossibilities"), stdout);
+             if (dir->contents->dirstream == 0)
+               puts (".");
+             else
+               puts (_(" so far."));
+             files += f;
+             impossible += im;
+           }
+       }
+    }
+
+  fputs ("\n# ", stdout);
+  if (files == 0)
+    fputs (_("No"), stdout);
+  else
+    printf ("%u", files);
+  fputs (_(" files, "), stdout);
+  if (impossible == 0)
+    fputs (_("no"), stdout);
+  else
+    printf ("%u", impossible);
+  printf (_(" impossibilities in %lu directories.\n"), directories.ht_fill);
+}
+\f
+/* Hooks for globbing.  */
+
+#include <glob.h>
+
+/* Structure describing state of iterating through a directory hash table.  */
+
+struct dirstream
+  {
+    struct directory_contents *contents; /* The directory being read.  */
+    struct dirfile **dirfile_slot; /* Current slot in table.  */
+  };
+
+/* Forward declarations.  */
+static __ptr_t open_dirstream PARAMS ((const char *));
+static struct dirent *read_dirstream PARAMS ((__ptr_t));
+
+static __ptr_t
+open_dirstream (directory)
+     const char *directory;
+{
+  struct dirstream *new;
+  struct directory *dir = find_directory ((char *)directory);
+
+  if (dir->contents == 0 || dir->contents->dirfiles.ht_vec == 0)
+    /* DIR->contents is nil if the directory could not be stat'd.
+       DIR->contents->dirfiles is nil if it could not be opened.  */
+    return 0;
+
+  /* Read all the contents of the directory now.  There is no benefit
+     in being lazy, since glob will want to see every file anyway.  */
+
+  (void) dir_contents_file_exists_p (dir->contents, (char *) 0);
+
+  new = (struct dirstream *) xmalloc (sizeof (struct dirstream));
+  new->contents = dir->contents;
+  new->dirfile_slot = (struct dirfile **) new->contents->dirfiles.ht_vec;
+
+  return (__ptr_t) new;
+}
+
+static struct dirent *
+read_dirstream (stream)
+     __ptr_t stream;
+{
+  struct dirstream *const ds = (struct dirstream *) stream;
+  struct directory_contents *dc = ds->contents;
+  struct dirfile **dirfile_end = (struct dirfile **) dc->dirfiles.ht_vec + dc->dirfiles.ht_size;
+  static char *buf;
+  static unsigned int bufsz;
+
+  while (ds->dirfile_slot < dirfile_end)
+    {
+      register struct dirfile *df = *ds->dirfile_slot++;
+      if (! HASH_VACANT (df) && !df->impossible)
+       {
+         /* The glob interface wants a `struct dirent',
+            so mock one up.  */
+         struct dirent *d;
+         unsigned int len = df->length + 1;
+         if (sizeof *d - sizeof d->d_name + len > bufsz)
+           {
+             if (buf != 0)
+               free (buf);
+             bufsz *= 2;
+             if (sizeof *d - sizeof d->d_name + len > bufsz)
+               bufsz = sizeof *d - sizeof d->d_name + len;
+             buf = xmalloc (bufsz);
+           }
+         d = (struct dirent *) buf;
+         FAKE_DIR_ENTRY (d);
+#ifdef _DIRENT_HAVE_D_NAMLEN
+         d->d_namlen = len - 1;
+#endif
+#ifdef _DIRENT_HAVE_D_TYPE
+         d->d_type = DT_UNKNOWN;
+#endif
+         memcpy (d->d_name, df->name, len);
+         return d;
+       }
+    }
+
+  return 0;
+}
+
+static void
+ansi_free(p)
+  void *p;
+{
+    if (p)
+      free(p);
+}
+
+/* On 64 bit ReliantUNIX (5.44 and above) in LFS mode, stat() is actually a
+ * macro for stat64().  If stat is a macro, make a local wrapper function to
+ * invoke it.
+ */
+#ifndef stat
+# ifndef VMS
+extern int stat ();
+# endif
+# define local_stat stat
+#else
+static int local_stat (path, buf)
+    char *path;
+    struct stat *buf;
+{
+  return stat (path, buf);
+}
+#endif
+
+void
+dir_setup_glob (gl)
+     glob_t *gl;
+{
+  /* Bogus sunos4 compiler complains (!) about & before functions.  */
+  gl->gl_opendir = open_dirstream;
+  gl->gl_readdir = read_dirstream;
+  gl->gl_closedir = ansi_free;
+  gl->gl_stat = local_stat;
+  /* We don't bother setting gl_lstat, since glob never calls it.
+     The slot is only there for compatibility with 4.4 BSD.  */
+}
+
+void
+hash_init_directories ()
+{
+  hash_init (&directories, DIRECTORY_BUCKETS,
+            directory_hash_1, directory_hash_2, directory_hash_cmp);
+  hash_init (&directory_contents, DIRECTORY_BUCKETS,
+            directory_contents_hash_1, directory_contents_hash_2, directory_contents_hash_cmp);
+}
diff --git a/src/mkutil/make-3.80/dosbuild.bat b/src/mkutil/make-3.80/dosbuild.bat
new file mode 100644 (file)
index 0000000..ac1e6cd
--- /dev/null
@@ -0,0 +1,42 @@
+@echo Building Make for MSDOS\r
+@rem Echo ON so they will see what is going on.\r
+@echo on\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g commands.c -o commands.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g job.c -o job.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g dir.c -o dir.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g file.c -o file.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g misc.c -o misc.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g main.c -o main.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -DINCLUDEDIR=\"c:/djgpp/include\" -O2 -g read.c -o read.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -DLIBDIR=\"c:/djgpp/lib\" -O2 -g remake.c -o remake.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g rule.c -o rule.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g implicit.c -o implicit.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g default.c -o default.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g variable.c -o variable.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g expand.c -o expand.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g function.c -o function.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g vpath.c -o vpath.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g version.c -o version.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g ar.c -o ar.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g arscan.c -o arscan.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g signame.c -o signame.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g remote-stub.c -o remote-stub.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g getopt.c -o getopt.o\r
+gcc  -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g getopt1.c -o getopt1.o\r
+@cd glob\r
+@if exist libglob.a del libglob.a\r
+gcc -I. -c -DHAVE_CONFIG_H -I.. -O2 -g glob.c -o glob.o\r
+gcc -I. -c -DHAVE_CONFIG_H -I.. -O2 -g fnmatch.c -o fnmatch.o\r
+ar rv libglob.a glob.o fnmatch.o\r
+@echo off\r
+cd ..\r
+echo commands.o > respf.$$$\r
+for %%f in (job dir file misc main read remake rule implicit default variable) do echo %%f.o >> respf.$$$\r
+for %%f in (expand function vpath version ar arscan signame remote-stub getopt getopt1) do echo %%f.o >> respf.$$$\r
+echo glob/libglob.a >> respf.$$$\r
+@echo Linking...\r
+@echo on\r
+gcc -o make.new @respf.$$$\r
+@if exist make.exe echo Make.exe is now built!\r
+@if not exist make.exe echo Make.exe build failed...\r
+@if exist make.exe del respf.$$$\r
diff --git a/src/mkutil/make-3.80/expand.c b/src/mkutil/make-3.80/expand.c
new file mode 100644 (file)
index 0000000..6722e1b
--- /dev/null
@@ -0,0 +1,566 @@
+/* Variable expansion functions for GNU Make.
+Copyright (C) 1988, 89, 91, 92, 93, 95 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+
+#include <assert.h>
+
+#include "filedef.h"
+#include "job.h"
+#include "commands.h"
+#include "variable.h"
+#include "rule.h"
+
+/* The next two describe the variable output buffer.
+   This buffer is used to hold the variable-expansion of a line of the
+   makefile.  It is made bigger with realloc whenever it is too small.
+   variable_buffer_length is the size currently allocated.
+   variable_buffer is the address of the buffer.
+
+   For efficiency, it's guaranteed that the buffer will always have
+   VARIABLE_BUFFER_ZONE extra bytes allocated.  This allows you to add a few
+   extra chars without having to call a function.  Note you should never use
+   these bytes unless you're _sure_ you have room (you know when the buffer
+   length was last checked.  */
+
+#define VARIABLE_BUFFER_ZONE    5
+
+static unsigned int variable_buffer_length;
+char *variable_buffer;
+
+/* Subroutine of variable_expand and friends:
+   The text to add is LENGTH chars starting at STRING to the variable_buffer.
+   The text is added to the buffer at PTR, and the updated pointer into
+   the buffer is returned as the value.  Thus, the value returned by
+   each call to variable_buffer_output should be the first argument to
+   the following call.  */
+
+char *
+variable_buffer_output (ptr, string, length)
+     char *ptr, *string;
+     unsigned int length;
+{
+  register unsigned int newlen = length + (ptr - variable_buffer);
+
+  if ((newlen + VARIABLE_BUFFER_ZONE) > variable_buffer_length)
+    {
+      unsigned int offset = ptr - variable_buffer;
+      variable_buffer_length = (newlen + 100 > 2 * variable_buffer_length
+                               ? newlen + 100
+                               : 2 * variable_buffer_length);
+      variable_buffer = (char *) xrealloc (variable_buffer,
+                                          variable_buffer_length);
+      ptr = variable_buffer + offset;
+    }
+
+  bcopy (string, ptr, length);
+  return ptr + length;
+}
+
+/* Return a pointer to the beginning of the variable buffer.  */
+
+static char *
+initialize_variable_output ()
+{
+  /* If we don't have a variable output buffer yet, get one.  */
+
+  if (variable_buffer == 0)
+    {
+      variable_buffer_length = 200;
+      variable_buffer = (char *) xmalloc (variable_buffer_length);
+      variable_buffer[0] = '\0';
+    }
+
+  return variable_buffer;
+}
+\f
+/* Recursively expand V.  The returned string is malloc'd.  */
+
+static char *allocated_variable_append PARAMS ((const struct variable *v));
+
+char *
+recursively_expand_for_file (v, file)
+     struct variable *v;
+     struct file *file;
+{
+  char *value;
+  struct variable_set_list *save = 0;
+
+  if (v->expanding)
+    {
+      if (!v->exp_count)
+        /* Expanding V causes infinite recursion.  Lose.  */
+        fatal (reading_file,
+               _("Recursive variable `%s' references itself (eventually)"),
+               v->name);
+      --v->exp_count;
+    }
+
+  if (file)
+    {
+      save = current_variable_set_list;
+      current_variable_set_list = file->variables;
+    }
+
+  v->expanding = 1;
+  if (v->append)
+    value = allocated_variable_append (v);
+  else
+    value = allocated_variable_expand (v->value);
+  v->expanding = 0;
+
+  if (file)
+    current_variable_set_list = save;
+
+  return value;
+}
+
+/* Expand a simple reference to variable NAME, which is LENGTH chars long.  */
+
+#ifdef __GNUC__
+__inline
+#endif
+static char *
+reference_variable (o, name, length)
+     char *o;
+     char *name;
+     unsigned int length;
+{
+  register struct variable *v;
+  char *value;
+
+  v = lookup_variable (name, length);
+
+  if (v == 0)
+    warn_undefined (name, length);
+
+  if (v == 0 || *v->value == '\0')
+    return o;
+
+  value = (v->recursive ? recursively_expand (v) : v->value);
+
+  o = variable_buffer_output (o, value, strlen (value));
+
+  if (v->recursive)
+    free (value);
+
+  return o;
+}
+\f
+/* Scan STRING for variable references and expansion-function calls.  Only
+   LENGTH bytes of STRING are actually scanned.  If LENGTH is -1, scan until
+   a null byte is found.
+
+   Write the results to LINE, which must point into `variable_buffer'.  If
+   LINE is NULL, start at the beginning of the buffer.
+   Return a pointer to LINE, or to the beginning of the buffer if LINE is
+   NULL.  */
+
+char *
+variable_expand_string (line, string, length)
+     register char *line;
+     char *string;
+     long length;
+{
+  register struct variable *v;
+  register char *p, *o, *p1;
+  char save_char = '\0';
+  unsigned int line_offset;
+
+  if (!line)
+    line = initialize_variable_output();
+
+  p = string;
+  o = line;
+  line_offset = line - variable_buffer;
+
+  if (length >= 0)
+    {
+      save_char = string[length];
+      string[length] = '\0';
+    }
+
+  while (1)
+    {
+      /* Copy all following uninteresting chars all at once to the
+         variable output buffer, and skip them.  Uninteresting chars end
+        at the next $ or the end of the input.  */
+
+      p1 = strchr (p, '$');
+
+      o = variable_buffer_output (o, p, p1 != 0 ? p1 - p : strlen (p) + 1);
+
+      if (p1 == 0)
+       break;
+      p = p1 + 1;
+
+      /* Dispatch on the char that follows the $.  */
+
+      switch (*p)
+       {
+       case '$':
+         /* $$ seen means output one $ to the variable output buffer.  */
+         o = variable_buffer_output (o, p, 1);
+         break;
+
+       case '(':
+       case '{':
+         /* $(...) or ${...} is the general case of substitution.  */
+         {
+           char openparen = *p;
+           char closeparen = (openparen == '(') ? ')' : '}';
+           register char *beg = p + 1;
+           int free_beg = 0;
+           char *op, *begp;
+           char *end, *colon;
+
+           op = o;
+           begp = p;
+           if (handle_function (&op, &begp))
+             {
+               o = op;
+               p = begp;
+               break;
+             }
+
+           /* Is there a variable reference inside the parens or braces?
+              If so, expand it before expanding the entire reference.  */
+
+           end = strchr (beg, closeparen);
+           if (end == 0)
+              /* Unterminated variable reference.  */
+              fatal (reading_file, _("unterminated variable reference"));
+           p1 = lindex (beg, end, '$');
+           if (p1 != 0)
+             {
+               /* BEG now points past the opening paren or brace.
+                  Count parens or braces until it is matched.  */
+               int count = 0;
+               for (p = beg; *p != '\0'; ++p)
+                 {
+                   if (*p == openparen)
+                     ++count;
+                   else if (*p == closeparen && --count < 0)
+                     break;
+                 }
+               /* If COUNT is >= 0, there were unmatched opening parens
+                  or braces, so we go to the simple case of a variable name
+                  such as `$($(a)'.  */
+               if (count < 0)
+                 {
+                   beg = expand_argument (beg, p); /* Expand the name.  */
+                   free_beg = 1; /* Remember to free BEG when finished.  */
+                   end = strchr (beg, '\0');
+                 }
+             }
+           else
+             /* Advance P to the end of this reference.  After we are
+                 finished expanding this one, P will be incremented to
+                 continue the scan.  */
+             p = end;
+
+           /* This is not a reference to a built-in function and
+              any variable references inside are now expanded.
+              Is the resultant text a substitution reference?  */
+
+           colon = lindex (beg, end, ':');
+           if (colon)
+             {
+               /* This looks like a substitution reference: $(FOO:A=B).  */
+               char *subst_beg, *subst_end, *replace_beg, *replace_end;
+
+               subst_beg = colon + 1;
+               subst_end = strchr (subst_beg, '=');
+               if (subst_end == 0)
+                 /* There is no = in sight.  Punt on the substitution
+                    reference and treat this as a variable name containing
+                    a colon, in the code below.  */
+                 colon = 0;
+               else
+                 {
+                   replace_beg = subst_end + 1;
+                   replace_end = end;
+
+                   /* Extract the variable name before the colon
+                      and look up that variable.  */
+                   v = lookup_variable (beg, colon - beg);
+                   if (v == 0)
+                     warn_undefined (beg, colon - beg);
+
+                   if (v != 0 && *v->value != '\0')
+                     {
+                       char *value = (v->recursive ? recursively_expand (v)
+                                      : v->value);
+                       char *pattern, *percent;
+                       if (free_beg)
+                         {
+                           *subst_end = '\0';
+                           pattern = subst_beg;
+                         }
+                       else
+                         {
+                           pattern = (char *) alloca (subst_end - subst_beg
+                                                      + 1);
+                           bcopy (subst_beg, pattern, subst_end - subst_beg);
+                           pattern[subst_end - subst_beg] = '\0';
+                         }
+                       percent = find_percent (pattern);
+                       if (percent != 0)
+                         {
+                           char *replace;
+                           if (free_beg)
+                             {
+                               *replace_end = '\0';
+                               replace = replace_beg;
+                             }
+                           else
+                             {
+                               replace = (char *) alloca (replace_end
+                                                          - replace_beg
+                                                          + 1);
+                               bcopy (replace_beg, replace,
+                                      replace_end - replace_beg);
+                               replace[replace_end - replace_beg] = '\0';
+                             }
+
+                           o = patsubst_expand (o, value, pattern, replace,
+                                                percent, (char *) 0);
+                         }
+                       else
+                         o = subst_expand (o, value,
+                                           pattern, replace_beg,
+                                           strlen (pattern),
+                                           end - replace_beg,
+                                           0, 1);
+                       if (v->recursive)
+                         free (value);
+                     }
+                 }
+             }
+
+           if (colon == 0)
+             /* This is an ordinary variable reference.
+                Look up the value of the variable.  */
+               o = reference_variable (o, beg, end - beg);
+
+         if (free_beg)
+           free (beg);
+         }
+         break;
+
+       case '\0':
+         break;
+
+       default:
+         if (isblank ((unsigned char)p[-1]))
+           break;
+
+         /* A $ followed by a random char is a variable reference:
+            $a is equivalent to $(a).  */
+         {
+           /* We could do the expanding here, but this way
+              avoids code repetition at a small performance cost.  */
+           char name[5];
+           name[0] = '$';
+           name[1] = '(';
+           name[2] = *p;
+           name[3] = ')';
+           name[4] = '\0';
+           p1 = allocated_variable_expand (name);
+           o = variable_buffer_output (o, p1, strlen (p1));
+           free (p1);
+         }
+
+         break;
+       }
+
+      if (*p == '\0')
+       break;
+      else
+       ++p;
+    }
+
+  if (save_char)
+    string[length] = save_char;
+
+  (void)variable_buffer_output (o, "", 1);
+  return (variable_buffer + line_offset);
+}
+\f
+/* Scan LINE for variable references and expansion-function calls.
+   Build in `variable_buffer' the result of expanding the references and calls.
+   Return the address of the resulting string, which is null-terminated
+   and is valid only until the next time this function is called.  */
+
+char *
+variable_expand (line)
+     char *line;
+{
+  return variable_expand_string(NULL, line, (long)-1);
+}
+\f
+/* Expand an argument for an expansion function.
+   The text starting at STR and ending at END is variable-expanded
+   into a null-terminated string that is returned as the value.
+   This is done without clobbering `variable_buffer' or the current
+   variable-expansion that is in progress.  */
+
+char *
+expand_argument (str, end)
+     char *str, *end;
+{
+  char *tmp;
+
+  if (str == end)
+    return xstrdup("");
+
+  if (!end || *end == '\0')
+    tmp = str;
+  else
+    {
+      tmp = (char *) alloca (end - str + 1);
+      bcopy (str, tmp, end - str);
+      tmp[end - str] = '\0';
+    }
+
+  return allocated_variable_expand (tmp);
+}
+\f
+/* Expand LINE for FILE.  Error messages refer to the file and line where
+   FILE's commands were found.  Expansion uses FILE's variable set list.  */
+
+static char *
+variable_expand_for_file (line, file)
+     char *line;
+     register struct file *file;
+{
+  char *result;
+  struct variable_set_list *save;
+
+  if (file == 0)
+    return variable_expand (line);
+
+  save = current_variable_set_list;
+  current_variable_set_list = file->variables;
+  if (file->cmds && file->cmds->fileinfo.filenm)
+    reading_file = &file->cmds->fileinfo;
+  else
+    reading_file = 0;
+  result = variable_expand (line);
+  current_variable_set_list = save;
+  reading_file = 0;
+
+  return result;
+}
+\f
+/* Like allocated_variable_expand, but for += target-specific variables.
+   First recursively construct the variable value from its appended parts in
+   any upper variable sets.  Then expand the resulting value.  */
+
+static char *
+variable_append (name, length, set)
+     const char *name;
+     unsigned int length;
+     const struct variable_set_list *set;
+{
+  const struct variable *v;
+  char *buf = 0;
+
+  /* If there's nothing left to check, return the empty buffer.  */
+  if (!set)
+    return initialize_variable_output ();
+
+  /* Try to find the variable in this variable set.  */
+  v = lookup_variable_in_set (name, length, set->set);
+
+  /* If there isn't one, look to see if there's one in a set above us.  */
+  if (!v)
+    return variable_append (name, length, set->next);
+
+  /* If this variable type is append, first get any upper values.
+     If not, initialize the buffer.  */
+  if (v->append)
+    buf = variable_append (name, length, set->next);
+  else
+    buf = initialize_variable_output ();
+
+  /* Append this value to the buffer, and return it.
+     If we already have a value, first add a space.  */
+  if (buf > variable_buffer)
+    buf = variable_buffer_output (buf, " ", 1);
+
+  return variable_buffer_output (buf, v->value, strlen (v->value));
+}
+
+
+static char *
+allocated_variable_append (v)
+     const struct variable *v;
+{
+  char *val, *retval;
+
+  /* Construct the appended variable value.  */
+
+  char *obuf = variable_buffer;
+  unsigned int olen = variable_buffer_length;
+
+  variable_buffer = 0;
+
+  val = variable_append (v->name, strlen (v->name), current_variable_set_list);
+  variable_buffer_output (val, "", 1);
+  val = variable_buffer;
+
+  variable_buffer = obuf;
+  variable_buffer_length = olen;
+
+  /* Now expand it and return that.  */
+
+  retval = allocated_variable_expand (val);
+
+  free (val);
+  return retval;
+}
+
+/* Like variable_expand_for_file, but the returned string is malloc'd.
+   This function is called a lot.  It wants to be efficient.  */
+
+char *
+allocated_variable_expand_for_file (line, file)
+     char *line;
+     struct file *file;
+{
+  char *value;
+
+  char *obuf = variable_buffer;
+  unsigned int olen = variable_buffer_length;
+
+  variable_buffer = 0;
+
+  value = variable_expand_for_file (line, file);
+
+#if 0
+  /* Waste a little memory and save time.  */
+  value = xrealloc (value, strlen (value))
+#endif
+
+  variable_buffer = obuf;
+  variable_buffer_length = olen;
+
+  return value;
+}
diff --git a/src/mkutil/make-3.80/file.c b/src/mkutil/make-3.80/file.c
new file mode 100644 (file)
index 0000000..ce1a0f9
--- /dev/null
@@ -0,0 +1,827 @@
+/* Target file hash table management for GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+
+#include <assert.h>
+
+#include "dep.h"
+#include "filedef.h"
+#include "job.h"
+#include "commands.h"
+#include "variable.h"
+#include "debug.h"
+#include "hash.h"
+
+
+/* Hash table of files the makefile knows how to make.  */
+
+static unsigned long
+file_hash_1 (key)
+    const void *key;
+{
+  return_ISTRING_HASH_1 (((struct file const *) key)->hname);
+}
+
+static unsigned long
+file_hash_2 (key)
+    const void *key;
+{
+  return_ISTRING_HASH_2 (((struct file const *) key)->hname);
+}
+
+static int
+file_hash_cmp (x, y)
+    const void *x;
+    const void *y;
+{
+  return_ISTRING_COMPARE (((struct file const *) x)->hname,
+                         ((struct file const *) y)->hname);
+}
+
+#ifndef        FILE_BUCKETS
+#define FILE_BUCKETS   1007
+#endif
+static struct hash_table files;
+
+/* Whether or not .SECONDARY with no prerequisites was given.  */
+static int all_secondary = 0;
+
+/* Access the hash table of all file records.
+   lookup_file  given a name, return the struct file * for that name,
+           or nil if there is none.
+   enter_file   similar, but create one if there is none.  */
+
+struct file *
+lookup_file (name)
+     char *name;
+{
+  register struct file *f;
+  struct file file_key;
+#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
+  register char *lname, *ln;
+#endif
+
+  assert (*name != '\0');
+
+  /* This is also done in parse_file_seq, so this is redundant
+     for names read from makefiles.  It is here for names passed
+     on the command line.  */
+#ifdef VMS
+# ifndef WANT_CASE_SENSITIVE_TARGETS
+  {
+    register char *n;
+    lname = (char *) malloc (strlen (name) + 1);
+    for (n = name, ln = lname; *n != '\0'; ++n, ++ln)
+      *ln = isupper ((unsigned char)*n) ? tolower ((unsigned char)*n) : *n;
+    *ln = '\0';
+    name = lname;
+  }
+# endif
+
+  while (name[0] == '[' && name[1] == ']' && name[2] != '\0')
+      name += 2;
+#endif
+  while (name[0] == '.' && name[1] == '/' && name[2] != '\0')
+    {
+      name += 2;
+      while (*name == '/')
+       /* Skip following slashes: ".//foo" is "foo", not "/foo".  */
+       ++name;
+    }
+
+  if (*name == '\0')
+    /* It was all slashes after a dot.  */
+#ifdef VMS
+    name = "[]";
+#else
+#ifdef _AMIGA
+    name = "";
+#else
+    name = "./";
+#endif /* AMIGA */
+#endif /* VMS */
+
+  file_key.hname = name;
+  f = (struct file *) hash_find_item (&files, &file_key);
+#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
+  free (lname);
+#endif
+  return f;
+}
+
+struct file *
+enter_file (name)
+     char *name;
+{
+  register struct file *f;
+  register struct file *new;
+  register struct file **file_slot;
+  struct file file_key;
+#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
+  char *lname, *ln;
+#endif
+
+  assert (*name != '\0');
+
+#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
+  {
+    register char *n;
+    lname = (char *) malloc (strlen (name) + 1);
+    for (n = name, ln = lname; *n != '\0'; ++n, ++ln)
+      {
+        if (isupper ((unsigned char)*n))
+          *ln = tolower ((unsigned char)*n);
+        else
+          *ln = *n;
+      }
+
+    *ln = 0;
+    /* Creates a possible leak, old value of name is unreachable, but I
+       currently don't know how to fix it. */
+    name = lname;
+  }
+#endif
+
+  file_key.hname = name;
+  file_slot = (struct file **) hash_find_slot (&files, &file_key);
+  f = *file_slot;
+  if (! HASH_VACANT (f) && !f->double_colon)
+    {
+#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
+      free(lname);
+#endif
+      return f;
+    }
+
+  new = (struct file *) xmalloc (sizeof (struct file));
+  bzero ((char *) new, sizeof (struct file));
+  new->name = new->hname = name;
+  new->update_status = -1;
+
+  if (HASH_VACANT (f))
+    hash_insert_at (&files, new, file_slot);
+  else
+    {
+      /* There is already a double-colon entry for this file.  */
+      new->double_colon = f;
+      while (f->prev != 0)
+       f = f->prev;
+      f->prev = new;
+    }
+
+  return new;
+}
+\f
+/* Rename FILE to NAME.  This is not as simple as resetting
+   the `name' member, since it must be put in a new hash bucket,
+   and possibly merged with an existing file called NAME.  */
+
+void
+rename_file (from_file, to_hname)
+     register struct file *from_file;
+     char *to_hname;
+{
+  rehash_file (from_file, to_hname);
+  while (from_file)
+    {
+      from_file->name = from_file->hname;
+      from_file = from_file->prev;
+    }
+}
+
+/* Rehash FILE to NAME.  This is not as simple as resetting
+   the `hname' member, since it must be put in a new hash bucket,
+   and possibly merged with an existing file called NAME.  */
+
+void
+rehash_file (from_file, to_hname)
+     register struct file *from_file;
+     char *to_hname;
+{
+  struct file file_key;
+  struct file **file_slot;
+  struct file *to_file;
+  struct file *deleted_file;
+  struct file *f;
+
+  file_key.hname = to_hname;
+  if (0 == file_hash_cmp (from_file, &file_key))
+    return;
+
+  file_key.hname = from_file->hname;
+  while (from_file->renamed != 0)
+    from_file = from_file->renamed;
+  if (file_hash_cmp (from_file, &file_key))
+    /* hname changed unexpectedly */
+    abort ();
+
+  deleted_file = hash_delete (&files, from_file);
+  if (deleted_file != from_file)
+    /* from_file isn't the one stored in files */
+    abort ();
+
+  file_key.hname = to_hname;
+  file_slot = (struct file **) hash_find_slot (&files, &file_key);
+  to_file = *file_slot;
+
+  from_file->hname = to_hname;
+  for (f = from_file->double_colon; f != 0; f = f->prev)
+    f->hname = to_hname;
+
+  if (HASH_VACANT (to_file))
+    hash_insert_at (&files, from_file, file_slot);
+  else
+    {
+      /* TO_FILE already exists under TO_HNAME.
+        We must retain TO_FILE and merge FROM_FILE into it.  */
+
+      if (from_file->cmds != 0)
+       {
+         if (to_file->cmds == 0)
+           to_file->cmds = from_file->cmds;
+         else if (from_file->cmds != to_file->cmds)
+           {
+             /* We have two sets of commands.  We will go with the
+                one given in the rule explicitly mentioning this name,
+                but give a message to let the user know what's going on.  */
+             if (to_file->cmds->fileinfo.filenm != 0)
+                error (&from_file->cmds->fileinfo,
+                      _("Commands were specified for file `%s' at %s:%lu,"),
+                      from_file->name, to_file->cmds->fileinfo.filenm,
+                      to_file->cmds->fileinfo.lineno);
+             else
+               error (&from_file->cmds->fileinfo,
+                      _("Commands for file `%s' were found by implicit rule search,"),
+                      from_file->name);
+             error (&from_file->cmds->fileinfo,
+                    _("but `%s' is now considered the same file as `%s'."),
+                    from_file->name, to_hname);
+             error (&from_file->cmds->fileinfo,
+                    _("Commands for `%s' will be ignored in favor of those for `%s'."),
+                    to_hname, from_file->name);
+           }
+       }
+
+      /* Merge the dependencies of the two files.  */
+
+      if (to_file->deps == 0)
+       to_file->deps = from_file->deps;
+      else
+       {
+         register struct dep *deps = to_file->deps;
+         while (deps->next != 0)
+           deps = deps->next;
+         deps->next = from_file->deps;
+       }
+
+      merge_variable_set_lists (&to_file->variables, from_file->variables);
+
+      if (to_file->double_colon && from_file->is_target && !from_file->double_colon)
+       fatal (NILF, _("can't rename single-colon `%s' to double-colon `%s'"),
+              from_file->name, to_hname);
+      if (!to_file->double_colon  && from_file->double_colon)
+       {
+         if (to_file->is_target)
+           fatal (NILF, _("can't rename double-colon `%s' to single-colon `%s'"),
+                  from_file->name, to_hname);
+         else
+           to_file->double_colon = from_file->double_colon;
+       }
+
+      if (from_file->last_mtime > to_file->last_mtime)
+       /* %%% Kludge so -W wins on a file that gets vpathized.  */
+       to_file->last_mtime = from_file->last_mtime;
+
+      to_file->mtime_before_update = from_file->mtime_before_update;
+
+#define MERGE(field) to_file->field |= from_file->field
+      MERGE (precious);
+      MERGE (tried_implicit);
+      MERGE (updating);
+      MERGE (updated);
+      MERGE (is_target);
+      MERGE (cmd_target);
+      MERGE (phony);
+      MERGE (ignore_vpath);
+#undef MERGE
+
+      from_file->renamed = to_file;
+    }
+}
+\f
+/* Remove all nonprecious intermediate files.
+   If SIG is nonzero, this was caused by a fatal signal,
+   meaning that a different message will be printed, and
+   the message will go to stderr rather than stdout.  */
+
+void
+remove_intermediates (sig)
+     int sig;
+{
+  register struct file **file_slot;
+  register struct file **file_end;
+  int doneany = 0;
+
+  /* If there's no way we will ever remove anything anyway, punt early.  */
+  if (question_flag || touch_flag || all_secondary)
+    return;
+
+  if (sig && just_print_flag)
+    return;
+
+  file_slot = (struct file **) files.ht_vec;
+  file_end = file_slot + files.ht_size;
+  for ( ; file_slot < file_end; file_slot++)
+    if (! HASH_VACANT (*file_slot))
+      {
+       register struct file *f = *file_slot;
+       if (f->intermediate && (f->dontcare || !f->precious)
+           && !f->secondary && !f->cmd_target)
+         {
+           int status;
+           if (f->update_status == -1)
+             /* If nothing would have created this file yet,
+                don't print an "rm" command for it.  */
+             continue;
+           if (just_print_flag)
+             status = 0;
+           else
+             {
+               status = unlink (f->name);
+               if (status < 0 && errno == ENOENT)
+                 continue;
+             }
+           if (!f->dontcare)
+             {
+               if (sig)
+                 error (NILF, _("*** Deleting intermediate file `%s'"), f->name);
+               else
+                 {
+                   if (! doneany)
+                     DB (DB_BASIC, (_("Removing intermediate files...\n")));
+                   if (!silent_flag)
+                     {
+                       if (! doneany)
+                         {
+                           fputs ("rm ", stdout);
+                           doneany = 1;
+                         }
+                       else
+                         putchar (' ');
+                       fputs (f->name, stdout);
+                       fflush (stdout);
+                     }
+                 }
+               if (status < 0)
+                 perror_with_name ("unlink: ", f->name);
+             }
+         }
+      }
+
+  if (doneany && !sig)
+    {
+      putchar ('\n');
+      fflush (stdout);
+    }
+}
+\f
+/* For each dependency of each file, make the `struct dep' point
+   at the appropriate `struct file' (which may have to be created).
+
+   Also mark the files depended on by .PRECIOUS, .PHONY, .SILENT,
+   and various other special targets.  */
+
+void
+snap_deps ()
+{
+  register struct file *f;
+  register struct file *f2;
+  register struct dep *d;
+  register struct file **file_slot_0;
+  register struct file **file_slot;
+  register struct file **file_end;
+
+  /* Enter each dependency name as a file.  */
+  /* We must use hash_dump (), because within this loop
+     we might add new files to the table, possibly causing
+     an in-situ table expansion.  */
+  file_slot_0 = (struct file **) hash_dump (&files, 0, 0);
+  file_end = file_slot_0 + files.ht_fill;
+  for (file_slot = file_slot_0; file_slot < file_end; file_slot++)
+    for (f2 = *file_slot; f2 != 0; f2 = f2->prev)
+      for (d = f2->deps; d != 0; d = d->next)
+       if (d->name != 0)
+         {
+           d->file = lookup_file (d->name);
+           if (d->file == 0)
+             d->file = enter_file (d->name);
+           else
+             free (d->name);
+           d->name = 0;
+         }
+  free (file_slot_0);
+
+  for (f = lookup_file (".PRECIOUS"); f != 0; f = f->prev)
+    for (d = f->deps; d != 0; d = d->next)
+      for (f2 = d->file; f2 != 0; f2 = f2->prev)
+       f2->precious = 1;
+
+  for (f = lookup_file (".LOW_RESOLUTION_TIME"); f != 0; f = f->prev)
+    for (d = f->deps; d != 0; d = d->next)
+      for (f2 = d->file; f2 != 0; f2 = f2->prev)
+       f2->low_resolution_time = 1;
+
+  for (f = lookup_file (".PHONY"); f != 0; f = f->prev)
+    for (d = f->deps; d != 0; d = d->next)
+      for (f2 = d->file; f2 != 0; f2 = f2->prev)
+       {
+         /* Mark this file as phony and nonexistent.  */
+         f2->phony = 1;
+         f2->last_mtime = NONEXISTENT_MTIME;
+         f2->mtime_before_update = NONEXISTENT_MTIME;
+       }
+
+  for (f = lookup_file (".INTERMEDIATE"); f != 0; f = f->prev)
+    {
+      /* .INTERMEDIATE with deps listed
+        marks those deps as intermediate files.  */
+      for (d = f->deps; d != 0; d = d->next)
+       for (f2 = d->file; f2 != 0; f2 = f2->prev)
+         f2->intermediate = 1;
+      /* .INTERMEDIATE with no deps does nothing.
+        Marking all files as intermediates is useless
+        since the goal targets would be deleted after they are built.  */
+    }
+
+  for (f = lookup_file (".SECONDARY"); f != 0; f = f->prev)
+    {
+      /* .SECONDARY with deps listed
+        marks those deps as intermediate files
+        in that they don't get rebuilt if not actually needed;
+        but unlike real intermediate files,
+        these are not deleted after make finishes.  */
+      if (f->deps)
+        for (d = f->deps; d != 0; d = d->next)
+          for (f2 = d->file; f2 != 0; f2 = f2->prev)
+            f2->intermediate = f2->secondary = 1;
+      /* .SECONDARY with no deps listed marks *all* files that way.  */
+      else
+        all_secondary = 1;
+    }
+
+  f = lookup_file (".EXPORT_ALL_VARIABLES");
+  if (f != 0 && f->is_target)
+    export_all_variables = 1;
+
+  f = lookup_file (".IGNORE");
+  if (f != 0 && f->is_target)
+    {
+      if (f->deps == 0)
+       ignore_errors_flag = 1;
+      else
+       for (d = f->deps; d != 0; d = d->next)
+         for (f2 = d->file; f2 != 0; f2 = f2->prev)
+           f2->command_flags |= COMMANDS_NOERROR;
+    }
+
+  f = lookup_file (".SILENT");
+  if (f != 0 && f->is_target)
+    {
+      if (f->deps == 0)
+       silent_flag = 1;
+      else
+       for (d = f->deps; d != 0; d = d->next)
+         for (f2 = d->file; f2 != 0; f2 = f2->prev)
+           f2->command_flags |= COMMANDS_SILENT;
+    }
+
+  f = lookup_file (".POSIX");
+  if (f != 0 && f->is_target)
+    posix_pedantic = 1;
+
+  f = lookup_file (".NOTPARALLEL");
+  if (f != 0 && f->is_target)
+    not_parallel = 1;
+}
+\f
+/* Set the `command_state' member of FILE and all its `also_make's.  */
+
+void
+set_command_state (file, state)
+     struct file *file;
+     int state;
+{
+  struct dep *d;
+
+  file->command_state = state;
+
+  for (d = file->also_make; d != 0; d = d->next)
+    d->file->command_state = state;
+}
+\f
+/* Convert an external file timestamp to internal form.  */
+
+FILE_TIMESTAMP
+file_timestamp_cons (fname, s, ns)
+     char const *fname;
+     time_t s;
+     int ns;
+{
+  int offset = ORDINARY_MTIME_MIN + (FILE_TIMESTAMP_HI_RES ? ns : 0);
+  FILE_TIMESTAMP product = (FILE_TIMESTAMP) s << FILE_TIMESTAMP_LO_BITS;
+  FILE_TIMESTAMP ts = product + offset;
+
+  if (! (s <= FILE_TIMESTAMP_S (ORDINARY_MTIME_MAX)
+        && product <= ts && ts <= ORDINARY_MTIME_MAX))
+    {
+      char buf[FILE_TIMESTAMP_PRINT_LEN_BOUND + 1];
+      ts = s <= OLD_MTIME ? ORDINARY_MTIME_MIN : ORDINARY_MTIME_MAX;
+      file_timestamp_sprintf (buf, ts);
+      error (NILF, _("%s: Timestamp out of range; substituting %s"),
+            fname ? fname : _("Current time"), buf);
+    }
+
+  return ts;
+}
+\f
+/* Return the current time as a file timestamp, setting *RESOLUTION to
+   its resolution.  */
+FILE_TIMESTAMP
+file_timestamp_now (resolution)
+     int *resolution;
+{
+  int r;
+  time_t s;
+  int ns;
+
+  /* Don't bother with high-resolution clocks if file timestamps have
+     only one-second resolution.  The code below should work, but it's
+     not worth the hassle of debugging it on hosts where it fails.  */
+#if FILE_TIMESTAMP_HI_RES
+# if HAVE_CLOCK_GETTIME && defined CLOCK_REALTIME
+  {
+    struct timespec timespec;
+    if (clock_gettime (CLOCK_REALTIME, &timespec) == 0)
+      {
+       r = 1;
+       s = timespec.tv_sec;
+       ns = timespec.tv_nsec;
+       goto got_time;
+      }
+  }
+# endif
+# if HAVE_GETTIMEOFDAY
+  {
+    struct timeval timeval;
+    if (gettimeofday (&timeval, 0) == 0)
+      {
+       r = 1000;
+       s = timeval.tv_sec;
+       ns = timeval.tv_usec * 1000;
+       goto got_time;
+      }
+  }
+# endif
+#endif
+
+  r = 1000000000;
+  s = time ((time_t *) 0);
+  ns = 0;
+
+ got_time:
+  *resolution = r;
+  return file_timestamp_cons (0, s, ns);
+}
+
+/* Place into the buffer P a printable representation of the file
+   timestamp TS.  */
+void
+file_timestamp_sprintf (p, ts)
+     char *p;
+     FILE_TIMESTAMP ts;
+{
+  time_t t = FILE_TIMESTAMP_S (ts);
+  struct tm *tm = localtime (&t);
+
+  if (tm)
+    sprintf (p, "%04d-%02d-%02d %02d:%02d:%02d",
+            tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
+            tm->tm_hour, tm->tm_min, tm->tm_sec);
+  else if (t < 0)
+    sprintf (p, "%ld", (long) t);
+  else
+    sprintf (p, "%lu", (unsigned long) t);
+  p += strlen (p);
+
+  /* Append nanoseconds as a fraction, but remove trailing zeros.
+     We don't know the actual timestamp resolution, since clock_getres
+     applies only to local times, whereas this timestamp might come
+     from a remote filesystem.  So removing trailing zeros is the
+     best guess that we can do.  */
+  sprintf (p, ".%09d", FILE_TIMESTAMP_NS (ts));
+  p += strlen (p) - 1;
+  while (*p == '0')
+    p--;
+  p += *p != '.';
+
+  *p = '\0';
+}
+\f
+/* Print the data base of files.  */
+
+static void
+print_file (f)
+     struct file *f;
+{
+  struct dep *d;
+  struct dep *ood = 0;
+
+  putchar ('\n');
+  if (!f->is_target)
+    puts (_("# Not a target:"));
+  printf ("%s:%s", f->name, f->double_colon ? ":" : "");
+
+  /* Print all normal dependencies; note any order-only deps.  */
+  for (d = f->deps; d != 0; d = d->next)
+    if (! d->ignore_mtime)
+      printf (" %s", dep_name (d));
+    else if (! ood)
+      ood = d;
+
+  /* Print order-only deps, if we have any.  */
+  if (ood)
+    {
+      printf (" | %s", dep_name (ood));
+      for (d = ood->next; d != 0; d = d->next)
+        if (d->ignore_mtime)
+          printf (" %s", dep_name (d));
+    }
+
+  putchar ('\n');
+
+  if (f->precious)
+    puts (_("#  Precious file (prerequisite of .PRECIOUS)."));
+  if (f->phony)
+    puts (_("#  Phony target (prerequisite of .PHONY)."));
+  if (f->cmd_target)
+    puts (_("#  Command-line target."));
+  if (f->dontcare)
+    puts (_("#  A default or MAKEFILES makefile."));
+  puts (f->tried_implicit
+        ? _("#  Implicit rule search has been done.")
+        : _("#  Implicit rule search has not been done."));
+  if (f->stem != 0)
+    printf (_("#  Implicit/static pattern stem: `%s'\n"), f->stem);
+  if (f->intermediate)
+    puts (_("#  File is an intermediate prerequisite."));
+  if (f->also_make != 0)
+    {
+      fputs (_("#  Also makes:"), stdout);
+      for (d = f->also_make; d != 0; d = d->next)
+       printf (" %s", dep_name (d));
+      putchar ('\n');
+    }
+  if (f->last_mtime == UNKNOWN_MTIME)
+    puts (_("#  Modification time never checked."));
+  else if (f->last_mtime == NONEXISTENT_MTIME)
+    puts (_("#  File does not exist."));
+  else if (f->last_mtime == OLD_MTIME)
+    puts (_("#  File is very old."));
+  else
+    {
+      char buf[FILE_TIMESTAMP_PRINT_LEN_BOUND + 1];
+      file_timestamp_sprintf (buf, f->last_mtime);
+      printf (_("#  Last modified %s\n"), buf);
+    }
+  puts (f->updated
+        ? _("#  File has been updated.") : _("#  File has not been updated."));
+  switch (f->command_state)
+    {
+    case cs_running:
+      puts (_("#  Commands currently running (THIS IS A BUG)."));
+      break;
+    case cs_deps_running:
+      puts (_("#  Dependencies commands running (THIS IS A BUG)."));
+      break;
+    case cs_not_started:
+    case cs_finished:
+      switch (f->update_status)
+       {
+       case -1:
+         break;
+       case 0:
+         puts (_("#  Successfully updated."));
+         break;
+       case 1:
+         assert (question_flag);
+         puts (_("#  Needs to be updated (-q is set)."));
+         break;
+       case 2:
+         puts (_("#  Failed to be updated."));
+         break;
+       default:
+         puts (_("#  Invalid value in `update_status' member!"));
+         fflush (stdout);
+         fflush (stderr);
+         abort ();
+       }
+      break;
+    default:
+      puts (_("#  Invalid value in `command_state' member!"));
+      fflush (stdout);
+      fflush (stderr);
+      abort ();
+    }
+
+  if (f->variables != 0)
+    print_file_variables (f);
+
+  if (f->cmds != 0)
+    print_commands (f->cmds);
+}
+
+void
+print_file_data_base ()
+{
+  puts (_("\n# Files"));
+
+  hash_map (&files, print_file);
+
+  fputs (_("\n# files hash-table stats:\n# "), stdout);
+  hash_print_stats (&files, stdout);
+}
+
+#define EXPANSION_INCREMENT(_l)  ((((_l) / 500) + 1) * 500)
+
+char *
+build_target_list (value)
+     char *value;
+{
+  static unsigned long last_targ_count = 0;
+
+  if (files.ht_fill != last_targ_count)
+    {
+      unsigned long max = EXPANSION_INCREMENT (strlen (value));
+      unsigned long len;
+      char *p;
+      struct file **fp = (struct file **) files.ht_vec;
+      struct file **end = &fp[files.ht_size];
+
+      /* Make sure we have at least MAX bytes in the allocated buffer.  */
+      value = xrealloc (value, max);
+
+      p = value;
+      len = 0;
+      for (; fp < end; ++fp)
+        if (!HASH_VACANT (*fp) && (*fp)->is_target)
+          {
+            struct file *f = *fp;
+            int l = strlen (f->name);
+
+            len += l + 1;
+            if (len > max)
+              {
+                unsigned long off = p - value;
+
+                max += EXPANSION_INCREMENT (l + 1);
+                value = xrealloc (value, max);
+                p = &value[off];
+              }
+
+            bcopy (f->name, p, l);
+            p += l;
+            *(p++) = ' ';
+          }
+      *(p-1) = '\0';
+
+      last_targ_count = files.ht_fill;
+    }
+
+  return value;
+}
+
+void
+init_hash_files ()
+{
+  hash_init (&files, 1000, file_hash_1, file_hash_2, file_hash_cmp);
+}
+
+/* EOF */
diff --git a/src/mkutil/make-3.80/filedef.h b/src/mkutil/make-3.80/filedef.h
new file mode 100644 (file)
index 0000000..b7d6e67
--- /dev/null
@@ -0,0 +1,199 @@
+/* Definition of target file data structures for GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+
+/* Structure that represents the info on one file
+   that the makefile says how to make.
+   All of these are chained together through `next'.  */
+
+#include "hash.h"
+
+struct file
+  {
+    char *name;
+    char *hname;                /* Hashed filename */
+    char *vpath;                /* VPATH/vpath pathname */
+    struct dep *deps;          /* all dependencies, including duplicates */
+    struct commands *cmds;     /* Commands to execute for this target.  */
+    int command_flags;         /* Flags OR'd in for cmds; see commands.h.  */
+    char *stem;                        /* Implicit stem, if an implicit
+                                  rule has been used */
+    struct dep *also_make;     /* Targets that are made by making this.  */
+    FILE_TIMESTAMP last_mtime; /* File's modtime, if already known.  */
+    FILE_TIMESTAMP mtime_before_update;        /* File's modtime before any updating
+                                           has been performed.  */
+    struct file *prev;         /* Previous entry for same file name;
+                                  used when there are multiple double-colon
+                                  entries for the same file.  */
+
+    /* File that this file was renamed to.  After any time that a
+       file could be renamed, call `check_renamed' (below).  */
+    struct file *renamed;
+
+    /* List of variable sets used for this file.  */
+    struct variable_set_list *variables;
+
+    /* Pattern-specific variable reference for this target, or null if there
+       isn't one.  Also see the pat_searched flag, below.  */
+    struct variable_set_list *pat_variables;
+
+    /* Immediate dependent that caused this target to be remade,
+       or nil if there isn't one.  */
+    struct file *parent;
+
+    /* For a double-colon entry, this is the first double-colon entry for
+       the same file.  Otherwise this is null.  */
+    struct file *double_colon;
+
+    short int update_status;   /* Status of the last attempt to update,
+                                  or -1 if none has been made.  */
+
+    enum                       /* State of the commands.  */
+      {                /* Note: It is important that cs_not_started be zero.  */
+       cs_not_started,         /* Not yet started.  */
+       cs_deps_running,        /* Dep commands running.  */
+       cs_running,             /* Commands running.  */
+       cs_finished             /* Commands finished.  */
+      } command_state ENUM_BITFIELD (2);
+
+    unsigned int precious:1;   /* Non-0 means don't delete file on quit */
+    unsigned int low_resolution_time:1;        /* Nonzero if this file's time stamp
+                                          has only one-second resolution.  */
+    unsigned int tried_implicit:1; /* Nonzero if have searched
+                                     for implicit rule for making
+                                     this file; don't search again.  */
+    unsigned int updating:1;   /* Nonzero while updating deps of this file */
+    unsigned int updated:1;    /* Nonzero if this file has been remade.  */
+    unsigned int is_target:1;  /* Nonzero if file is described as target.  */
+    unsigned int cmd_target:1; /* Nonzero if file was given on cmd line.  */
+    unsigned int phony:1;      /* Nonzero if this is a phony file
+                                  i.e., a dependency of .PHONY.  */
+    unsigned int intermediate:1;/* Nonzero if this is an intermediate file.  */
+    /* Nonzero, for an intermediate file,
+       means remove_intermediates should not delete it.  */
+    unsigned int secondary:1;
+    unsigned int dontcare:1;   /* Nonzero if no complaint is to be made if
+                                  this target cannot be remade.  */
+    unsigned int ignore_vpath:1;/* Nonzero if we threw out VPATH name.  */
+    unsigned int pat_searched:1;/* Nonzero if we already searched for
+                                   pattern-specific variables.  */
+    unsigned int considered:1;  /* equal to `considered' if file has been
+                                   considered on current scan of goal chain */
+  };
+
+
+extern struct file *default_goal_file, *suffix_file, *default_file;
+
+
+extern struct file *lookup_file PARAMS ((char *name));
+extern struct file *enter_file PARAMS ((char *name));
+extern void remove_intermediates PARAMS ((int sig));
+extern void snap_deps PARAMS ((void));
+extern void rename_file PARAMS ((struct file *file, char *name));
+extern void rehash_file PARAMS ((struct file *file, char *name));
+extern void set_command_state PARAMS ((struct file *file, int state));
+extern void notice_finished_file PARAMS ((struct file *file));
+extern void init_hash_files PARAMS ((void));
+extern char *build_target_list PARAMS ((char *old_list));
+
+#if FILE_TIMESTAMP_HI_RES
+# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \
+    file_timestamp_cons (fname, (st).st_mtime, (st).st_mtim.ST_MTIM_NSEC)
+#else
+# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \
+    file_timestamp_cons (fname, (st).st_mtime, 0)
+#endif
+
+/* If FILE_TIMESTAMP is 64 bits (or more), use nanosecond resolution.
+   (Multiply by 2**30 instead of by 10**9 to save time at the cost of
+   slightly decreasing the number of available timestamps.)  With
+   64-bit FILE_TIMESTAMP, this stops working on 2514-05-30 01:53:04
+   UTC, but by then uintmax_t should be larger than 64 bits.  */
+#define FILE_TIMESTAMPS_PER_S (FILE_TIMESTAMP_HI_RES ? 1000000000 : 1)
+#define FILE_TIMESTAMP_LO_BITS (FILE_TIMESTAMP_HI_RES ? 30 : 0)
+
+#define FILE_TIMESTAMP_S(ts) (((ts) - ORDINARY_MTIME_MIN) \
+                             >> FILE_TIMESTAMP_LO_BITS)
+#define FILE_TIMESTAMP_NS(ts) ((int) (((ts) - ORDINARY_MTIME_MIN) \
+                                     & ((1 << FILE_TIMESTAMP_LO_BITS) - 1)))
+
+/* Upper bound on length of string "YYYY-MM-DD HH:MM:SS.NNNNNNNNN"
+   representing a file timestamp.  The upper bound is not necessarily 19,
+   since the year might be less than -999 or greater than 9999.
+
+   Subtract one for the sign bit if in case file timestamps can be negative;
+   subtract FLOOR_LOG2_SECONDS_PER_YEAR to yield an upper bound on how many
+   file timestamp bits might affect the year;
+   302 / 1000 is log10 (2) rounded up;
+   add one for integer division truncation;
+   add one more for a minus sign if file timestamps can be negative;
+   add 4 to allow for any 4-digit epoch year (e.g. 1970);
+   add 25 to allow for "-MM-DD HH:MM:SS.NNNNNNNNN".  */
+#define FLOOR_LOG2_SECONDS_PER_YEAR 24
+#define FILE_TIMESTAMP_PRINT_LEN_BOUND \
+  (((sizeof (FILE_TIMESTAMP) * CHAR_BIT - 1 - FLOOR_LOG2_SECONDS_PER_YEAR) \
+    * 302 / 1000) \
+   + 1 + 1 + 4 + 25)
+
+extern FILE_TIMESTAMP file_timestamp_cons PARAMS ((char const *,
+                                                  time_t, int));
+extern FILE_TIMESTAMP file_timestamp_now PARAMS ((int *));
+extern void file_timestamp_sprintf PARAMS ((char *p, FILE_TIMESTAMP ts));
+
+/* Return the mtime of file F (a struct file *), caching it.
+   The value is NONEXISTENT_MTIME if the file does not exist.  */
+#define file_mtime(f) file_mtime_1 ((f), 1)
+/* Return the mtime of file F (a struct file *), caching it.
+   Don't search using vpath for the file--if it doesn't actually exist,
+   we don't find it.
+   The value is NONEXISTENT_MTIME if the file does not exist.  */
+#define file_mtime_no_search(f) file_mtime_1 ((f), 0)
+extern FILE_TIMESTAMP f_mtime PARAMS ((struct file *file, int search));
+#define file_mtime_1(f, v) \
+  ((f)->last_mtime == UNKNOWN_MTIME ? f_mtime ((f), v) : (f)->last_mtime)
+
+/* Special timestamp values.  */
+
+/* The file's timestamp is not yet known.  */
+#define UNKNOWN_MTIME 0
+
+/* The file does not exist.  */
+#define NONEXISTENT_MTIME 1
+
+/* The file does not exist, and we assume that it is older than any
+   actual file.  */
+#define OLD_MTIME 2
+
+/* The smallest and largest ordinary timestamps.  */
+#define ORDINARY_MTIME_MIN (OLD_MTIME + 1)
+#define ORDINARY_MTIME_MAX ((FILE_TIMESTAMP_S (NEW_MTIME) \
+                            << FILE_TIMESTAMP_LO_BITS) \
+                           + ORDINARY_MTIME_MIN + FILE_TIMESTAMPS_PER_S - 1)
+
+/* Modtime value to use for `infinitely new'.  We used to get the current time
+   from the system and use that whenever we wanted `new'.  But that causes
+   trouble when the machine running make and the machine holding a file have
+   different ideas about what time it is; and can also lose for `force'
+   targets, which need to be considered newer than anything that depends on
+   them, even if said dependents' modtimes are in the future.  */
+#define NEW_MTIME INTEGER_TYPE_MAXIMUM (FILE_TIMESTAMP)
+
+#define check_renamed(file) \
+  while ((file)->renamed != 0) (file) = (file)->renamed /* No ; here.  */
diff --git a/src/mkutil/make-3.80/function.c b/src/mkutil/make-3.80/function.c
new file mode 100644 (file)
index 0000000..cf646d6
--- /dev/null
@@ -0,0 +1,2076 @@
+/* Builtin function expansion for GNU Make.
+Copyright (C) 1988, 1989, 1991-1997, 1999, 2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "filedef.h"
+#include "variable.h"
+#include "dep.h"
+#include "job.h"
+#include "commands.h"
+#include "debug.h"
+
+#ifdef _AMIGA
+#include "amiga.h"
+#endif
+
+
+struct function_table_entry
+  {
+    const char *name;
+    unsigned char len;
+    unsigned char minimum_args;
+    unsigned char maximum_args;
+    char expand_args;
+    char *(*func_ptr) PARAMS ((char *output, char **argv, const char *fname));
+  };
+
+static unsigned long
+function_table_entry_hash_1 (keyv)
+    const void *keyv;
+{
+  struct function_table_entry const *key = (struct function_table_entry const *) keyv;
+  return_STRING_N_HASH_1 (key->name, key->len);
+}
+
+static unsigned long
+function_table_entry_hash_2 (keyv)
+    const void *keyv;
+{
+  struct function_table_entry const *key = (struct function_table_entry const *) keyv;
+  return_STRING_N_HASH_2 (key->name, key->len);
+}
+
+static int
+function_table_entry_hash_cmp (xv, yv)
+    const void *xv;
+    const void *yv;
+{
+  struct function_table_entry const *x = (struct function_table_entry const *) xv;
+  struct function_table_entry const *y = (struct function_table_entry const *) yv;
+  int result = x->len - y->len;
+  if (result)
+    return result;
+  return_STRING_N_COMPARE (x->name, y->name, x->len);
+}
+
+static struct hash_table function_table;
+\f
+
+/* Store into VARIABLE_BUFFER at O the result of scanning TEXT and replacing
+   each occurrence of SUBST with REPLACE. TEXT is null-terminated.  SLEN is
+   the length of SUBST and RLEN is the length of REPLACE.  If BY_WORD is
+   nonzero, substitutions are done only on matches which are complete
+   whitespace-delimited words.  If SUFFIX_ONLY is nonzero, substitutions are
+   done only at the ends of whitespace-delimited words.  */
+
+char *
+subst_expand (o, text, subst, replace, slen, rlen, by_word, suffix_only)
+     char *o;
+     char *text;
+     char *subst, *replace;
+     unsigned int slen, rlen;
+     int by_word, suffix_only;
+{
+  register char *t = text;
+  register char *p;
+
+  if (slen == 0 && !by_word && !suffix_only)
+    {
+      /* The first occurrence of "" in any string is its end.  */
+      o = variable_buffer_output (o, t, strlen (t));
+      if (rlen > 0)
+       o = variable_buffer_output (o, replace, rlen);
+      return o;
+    }
+
+  do
+    {
+      if ((by_word | suffix_only) && slen == 0)
+       /* When matching by words, the empty string should match
+          the end of each word, rather than the end of the whole text.  */
+       p = end_of_token (next_token (t));
+      else
+       {
+         p = sindex (t, 0, subst, slen);
+         if (p == 0)
+           {
+             /* No more matches.  Output everything left on the end.  */
+             o = variable_buffer_output (o, t, strlen (t));
+             return o;
+           }
+       }
+
+      /* Output everything before this occurrence of the string to replace.  */
+      if (p > t)
+       o = variable_buffer_output (o, t, p - t);
+
+      /* If we're substituting only by fully matched words,
+        or only at the ends of words, check that this case qualifies.  */
+      if ((by_word
+          && ((p > t && !isblank ((unsigned char)p[-1]))
+              || (p[slen] != '\0' && !isblank ((unsigned char)p[slen]))))
+         || (suffix_only
+             && (p[slen] != '\0' && !isblank ((unsigned char)p[slen]))))
+       /* Struck out.  Output the rest of the string that is
+          no longer to be replaced.  */
+       o = variable_buffer_output (o, subst, slen);
+      else if (rlen > 0)
+       /* Output the replacement string.  */
+       o = variable_buffer_output (o, replace, rlen);
+
+      /* Advance T past the string to be replaced.  */
+      t = p + slen;
+    } while (*t != '\0');
+
+  return o;
+}
+
+
+/* Store into VARIABLE_BUFFER at O the result of scanning TEXT
+   and replacing strings matching PATTERN with REPLACE.
+   If PATTERN_PERCENT is not nil, PATTERN has already been
+   run through find_percent, and PATTERN_PERCENT is the result.
+   If REPLACE_PERCENT is not nil, REPLACE has already been
+   run through find_percent, and REPLACE_PERCENT is the result.  */
+
+char *
+patsubst_expand (o, text, pattern, replace, pattern_percent, replace_percent)
+     char *o;
+     char *text;
+     register char *pattern, *replace;
+     register char *pattern_percent, *replace_percent;
+{
+  unsigned int pattern_prepercent_len, pattern_postpercent_len;
+  unsigned int replace_prepercent_len, replace_postpercent_len = 0;
+  char *t;
+  unsigned int len;
+  int doneany = 0;
+
+  /* We call find_percent on REPLACE before checking PATTERN so that REPLACE
+     will be collapsed before we call subst_expand if PATTERN has no %.  */
+  if (replace_percent == 0)
+    replace_percent = find_percent (replace);
+  if (replace_percent != 0)
+    {
+      /* Record the length of REPLACE before and after the % so
+        we don't have to compute these lengths more than once.  */
+      replace_prepercent_len = replace_percent - replace;
+      replace_postpercent_len = strlen (replace_percent + 1);
+    }
+  else
+    /* We store the length of the replacement
+       so we only need to compute it once.  */
+    replace_prepercent_len = strlen (replace);
+
+  if (pattern_percent == 0)
+    pattern_percent = find_percent (pattern);
+  if (pattern_percent == 0)
+    /* With no % in the pattern, this is just a simple substitution.  */
+    return subst_expand (o, text, pattern, replace,
+                        strlen (pattern), strlen (replace), 1, 0);
+
+  /* Record the length of PATTERN before and after the %
+     so we don't have to compute it more than once.  */
+  pattern_prepercent_len = pattern_percent - pattern;
+  pattern_postpercent_len = strlen (pattern_percent + 1);
+
+  while ((t = find_next_token (&text, &len)) != 0)
+    {
+      int fail = 0;
+
+      /* Is it big enough to match?  */
+      if (len < pattern_prepercent_len + pattern_postpercent_len)
+       fail = 1;
+
+      /* Does the prefix match? */
+      if (!fail && pattern_prepercent_len > 0
+         && (*t != *pattern
+             || t[pattern_prepercent_len - 1] != pattern_percent[-1]
+             || !strneq (t + 1, pattern + 1, pattern_prepercent_len - 1)))
+       fail = 1;
+
+      /* Does the suffix match? */
+      if (!fail && pattern_postpercent_len > 0
+         && (t[len - 1] != pattern_percent[pattern_postpercent_len]
+             || t[len - pattern_postpercent_len] != pattern_percent[1]
+             || !strneq (&t[len - pattern_postpercent_len],
+                         &pattern_percent[1], pattern_postpercent_len - 1)))
+       fail = 1;
+
+      if (fail)
+       /* It didn't match.  Output the string.  */
+       o = variable_buffer_output (o, t, len);
+      else
+       {
+         /* It matched.  Output the replacement.  */
+
+         /* Output the part of the replacement before the %.  */
+         o = variable_buffer_output (o, replace, replace_prepercent_len);
+
+         if (replace_percent != 0)
+           {
+             /* Output the part of the matched string that
+                matched the % in the pattern.  */
+             o = variable_buffer_output (o, t + pattern_prepercent_len,
+                                         len - (pattern_prepercent_len
+                                                + pattern_postpercent_len));
+             /* Output the part of the replacement after the %.  */
+             o = variable_buffer_output (o, replace_percent + 1,
+                                         replace_postpercent_len);
+           }
+       }
+
+      /* Output a space, but not if the replacement is "".  */
+      if (fail || replace_prepercent_len > 0
+         || (replace_percent != 0 && len + replace_postpercent_len > 0))
+       {
+         o = variable_buffer_output (o, " ", 1);
+         doneany = 1;
+       }
+    }
+  if (doneany)
+    /* Kill the last space.  */
+    --o;
+
+  return o;
+}
+\f
+
+/* Look up a function by name.  */
+
+static const struct function_table_entry *
+lookup_function (s)
+     const char *s;
+{
+  const char *e = s;
+
+  while (*e && ( (*e >= 'a' && *e <= 'z') || *e == '-'))
+    e++;
+  if (*e == '\0' || isblank ((unsigned char) *e))
+    {
+      struct function_table_entry function_table_entry_key;
+      function_table_entry_key.name = s;
+      function_table_entry_key.len = e - s;
+
+      return hash_find_item (&function_table, &function_table_entry_key);
+    }
+  return 0;
+}
+\f
+
+/* Return 1 if PATTERN matches STR, 0 if not.  */
+
+int
+pattern_matches (pattern, percent, str)
+     register char *pattern, *percent, *str;
+{
+  unsigned int sfxlen, strlength;
+
+  if (percent == 0)
+    {
+      unsigned int len = strlen (pattern) + 1;
+      char *new_chars = (char *) alloca (len);
+      bcopy (pattern, new_chars, len);
+      pattern = new_chars;
+      percent = find_percent (pattern);
+      if (percent == 0)
+       return streq (pattern, str);
+    }
+
+  sfxlen = strlen (percent + 1);
+  strlength = strlen (str);
+
+  if (strlength < (percent - pattern) + sfxlen
+      || !strneq (pattern, str, percent - pattern))
+    return 0;
+
+  return !strcmp (percent + 1, str + (strlength - sfxlen));
+}
+\f
+
+/* Find the next comma or ENDPAREN (counting nested STARTPAREN and
+   ENDPARENtheses), starting at PTR before END.  Return a pointer to
+   next character.
+
+   If no next argument is found, return NULL.
+*/
+
+static char *
+find_next_argument (startparen, endparen, ptr, end)
+     char startparen;
+     char endparen;
+     const char *ptr;
+     const char *end;
+{
+  int count = 0;
+
+  for (; ptr < end; ++ptr)
+    if (*ptr == startparen)
+      ++count;
+
+    else if (*ptr == endparen)
+      {
+       --count;
+       if (count < 0)
+         return NULL;
+      }
+
+    else if (*ptr == ',' && !count)
+      return (char *)ptr;
+
+  /* We didn't find anything.  */
+  return NULL;
+}
+\f
+
+/* Glob-expand LINE.  The returned pointer is
+   only good until the next call to string_glob.  */
+
+static char *
+string_glob (line)
+     char *line;
+{
+  static char *result = 0;
+  static unsigned int length;
+  register struct nameseq *chain;
+  register unsigned int idx;
+
+  chain = multi_glob (parse_file_seq
+                     (&line, '\0', sizeof (struct nameseq),
+                      /* We do not want parse_file_seq to strip `./'s.
+                         That would break examples like:
+                         $(patsubst ./%.c,obj/%.o,$(wildcard ./?*.c)).  */
+                      0),
+                     sizeof (struct nameseq));
+
+  if (result == 0)
+    {
+      length = 100;
+      result = (char *) xmalloc (100);
+    }
+
+  idx = 0;
+  while (chain != 0)
+    {
+      register char *name = chain->name;
+      unsigned int len = strlen (name);
+
+      struct nameseq *next = chain->next;
+      free ((char *) chain);
+      chain = next;
+
+      /* multi_glob will pass names without globbing metacharacters
+        through as is, but we want only files that actually exist.  */
+      if (file_exists_p (name))
+       {
+         if (idx + len + 1 > length)
+           {
+             length += (len + 1) * 2;
+             result = (char *) xrealloc (result, length);
+           }
+         bcopy (name, &result[idx], len);
+         idx += len;
+         result[idx++] = ' ';
+       }
+
+      free (name);
+    }
+
+  /* Kill the last space and terminate the string.  */
+  if (idx == 0)
+    result[0] = '\0';
+  else
+    result[idx - 1] = '\0';
+
+  return result;
+}
+\f
+/*
+  Builtin functions
+ */
+
+static char *
+func_patsubst (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  o = patsubst_expand (o, argv[2], argv[0], argv[1], (char *) 0, (char *) 0);
+  return o;
+}
+
+
+static char *
+func_join (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  int doneany = 0;
+
+  /* Write each word of the first argument directly followed
+     by the corresponding word of the second argument.
+     If the two arguments have a different number of words,
+     the excess words are just output separated by blanks.  */
+  register char *tp;
+  register char *pp;
+  char *list1_iterator = argv[0];
+  char *list2_iterator = argv[1];
+  do
+    {
+      unsigned int len1, len2;
+
+      tp = find_next_token (&list1_iterator, &len1);
+      if (tp != 0)
+       o = variable_buffer_output (o, tp, len1);
+
+      pp = find_next_token (&list2_iterator, &len2);
+      if (pp != 0)
+       o = variable_buffer_output (o, pp, len2);
+
+      if (tp != 0 || pp != 0)
+       {
+         o = variable_buffer_output (o, " ", 1);
+         doneany = 1;
+       }
+    }
+  while (tp != 0 || pp != 0);
+  if (doneany)
+    /* Kill the last blank.  */
+    --o;
+
+  return o;
+}
+
+
+static char *
+func_origin (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  /* Expand the argument.  */
+  register struct variable *v = lookup_variable (argv[0], strlen (argv[0]));
+  if (v == 0)
+    o = variable_buffer_output (o, "undefined", 9);
+  else
+    switch (v->origin)
+      {
+      default:
+      case o_invalid:
+       abort ();
+       break;
+      case o_default:
+       o = variable_buffer_output (o, "default", 7);
+       break;
+      case o_env:
+       o = variable_buffer_output (o, "environment", 11);
+       break;
+      case o_file:
+       o = variable_buffer_output (o, "file", 4);
+       break;
+      case o_env_override:
+       o = variable_buffer_output (o, "environment override", 20);
+       break;
+      case o_command:
+       o = variable_buffer_output (o, "command line", 12);
+       break;
+      case o_override:
+       o = variable_buffer_output (o, "override", 8);
+       break;
+      case o_automatic:
+       o = variable_buffer_output (o, "automatic", 9);
+       break;
+      }
+
+  return o;
+}
+
+#ifdef VMS
+# define IS_PATHSEP(c) ((c) == ']')
+#else
+# ifdef HAVE_DOS_PATHS
+#  define IS_PATHSEP(c) ((c) == '/' || (c) == '\\')
+# else
+#  define IS_PATHSEP(c) ((c) == '/')
+# endif
+#endif
+
+
+static char *
+func_notdir_suffix (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  /* Expand the argument.  */
+  char *list_iterator = argv[0];
+  char *p2 =0;
+  int doneany =0;
+  unsigned int len=0;
+
+  int is_suffix = streq (funcname, "suffix");
+  int is_notdir = !is_suffix;
+  while ((p2 = find_next_token (&list_iterator, &len)) != 0)
+    {
+      char *p = p2 + len;
+
+
+      while (p >= p2 && (!is_suffix || *p != '.'))
+       {
+         if (IS_PATHSEP (*p))
+           break;
+         --p;
+       }
+
+      if (p >= p2)
+       {
+         if (is_notdir)
+           ++p;
+         else if (*p != '.')
+           continue;
+         o = variable_buffer_output (o, p, len - (p - p2));
+       }
+#ifdef HAVE_DOS_PATHS
+      /* Handle the case of "d:foo/bar".  */
+      else if (streq (funcname, "notdir") && p2[0] && p2[1] == ':')
+       {
+         p = p2 + 2;
+         o = variable_buffer_output (o, p, len - (p - p2));
+       }
+#endif
+      else if (is_notdir)
+       o = variable_buffer_output (o, p2, len);
+
+      if (is_notdir || p >= p2)
+       {
+         o = variable_buffer_output (o, " ", 1);
+         doneany = 1;
+       }
+    }
+  if (doneany)
+    /* Kill last space.  */
+    --o;
+
+
+  return o;
+
+}
+
+
+static char *
+func_basename_dir (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  /* Expand the argument.  */
+  char *p3 = argv[0];
+  char *p2=0;
+  int doneany=0;
+  unsigned int len=0;
+  char *p=0;
+  int is_basename= streq (funcname, "basename");
+  int is_dir= !is_basename;
+
+  while ((p2 = find_next_token (&p3, &len)) != 0)
+       {
+         p = p2 + len;
+         while (p >= p2 && (!is_basename  || *p != '.'))
+           {
+             if (IS_PATHSEP (*p))
+               break;
+                   --p;
+           }
+
+         if (p >= p2 && (is_dir))
+           o = variable_buffer_output (o, p2, ++p - p2);
+         else if (p >= p2 && (*p == '.'))
+           o = variable_buffer_output (o, p2, p - p2);
+#ifdef HAVE_DOS_PATHS
+       /* Handle the "d:foobar" case */
+         else if (p2[0] && p2[1] == ':' && is_dir)
+           o = variable_buffer_output (o, p2, 2);
+#endif
+         else if (is_dir)
+#ifdef VMS
+           o = variable_buffer_output (o, "[]", 2);
+#else
+#ifndef _AMIGA
+           o = variable_buffer_output (o, "./", 2);
+#else
+           ; /* Just a nop...  */
+#endif /* AMIGA */
+#endif /* !VMS */
+         else
+           /* The entire name is the basename.  */
+           o = variable_buffer_output (o, p2, len);
+
+         o = variable_buffer_output (o, " ", 1);
+         doneany = 1;
+       }
+      if (doneany)
+       /* Kill last space.  */
+       --o;
+
+
+ return o;
+}
+
+static char *
+func_addsuffix_addprefix (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  int fixlen = strlen (argv[0]);
+  char *list_iterator = argv[1];
+  int is_addprefix = streq (funcname, "addprefix");
+  int is_addsuffix = !is_addprefix;
+
+  int doneany = 0;
+  char *p;
+  unsigned int len;
+
+  while ((p = find_next_token (&list_iterator, &len)) != 0)
+    {
+      if (is_addprefix)
+       o = variable_buffer_output (o, argv[0], fixlen);
+      o = variable_buffer_output (o, p, len);
+      if (is_addsuffix)
+       o = variable_buffer_output (o, argv[0], fixlen);
+      o = variable_buffer_output (o, " ", 1);
+      doneany = 1;
+    }
+
+  if (doneany)
+    /* Kill last space.  */
+    --o;
+
+  return o;
+}
+
+static char *
+func_subst (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  o = subst_expand (o, argv[2], argv[0], argv[1], strlen (argv[0]),
+                   strlen (argv[1]), 0, 0);
+
+  return o;
+}
+
+
+static char *
+func_firstword (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  unsigned int i;
+  char *words = argv[0];    /* Use a temp variable for find_next_token */
+  char *p = find_next_token (&words, &i);
+
+  if (p != 0)
+    o = variable_buffer_output (o, p, i);
+
+  return o;
+}
+
+
+static char *
+func_words (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  int i = 0;
+  char *word_iterator = argv[0];
+  char buf[20];
+
+  while (find_next_token (&word_iterator, (unsigned int *) 0) != 0)
+    ++i;
+
+  sprintf (buf, "%d", i);
+  o = variable_buffer_output (o, buf, strlen (buf));
+
+
+  return o;
+}
+
+char *
+strip_whitespace (begpp, endpp)
+     char **begpp;
+     char **endpp;
+{
+  while (isspace ((unsigned char)**begpp) && *begpp <= *endpp)
+    (*begpp) ++;
+  while (isspace ((unsigned char)**endpp) && *endpp >= *begpp)
+    (*endpp) --;
+  return *begpp;
+}
+
+int
+is_numeric (p)
+     char *p;
+{
+  char *end = p + strlen (p) - 1;
+  char *beg = p;
+  strip_whitespace (&p, &end);
+
+  while (p <= end)
+    if (!ISDIGIT (*(p++)))  /* ISDIGIT only evals its arg once: see make.h.  */
+      return 0;
+
+  return (end - beg >= 0);
+}
+
+void
+check_numeric (s, message)
+     char *s;
+     char *message;
+{
+  if (!is_numeric (s))
+    fatal (reading_file, message);
+}
+
+
+
+static char *
+func_word (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  char *end_p=0;
+  int i=0;
+  char *p=0;
+
+  /* Check the first argument.  */
+  check_numeric (argv[0], _("non-numeric first argument to `word' function"));
+  i =  atoi (argv[0]);
+
+  if (i == 0)
+    fatal (reading_file, _("first argument to `word' function must be greater than 0"));
+
+
+  end_p = argv[1];
+  while ((p = find_next_token (&end_p, 0)) != 0)
+    if (--i == 0)
+      break;
+
+  if (i == 0)
+    o = variable_buffer_output (o, p, end_p - p);
+
+  return o;
+}
+
+static char *
+func_wordlist (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  int start, count;
+
+  /* Check the arguments.  */
+  check_numeric (argv[0],
+                _("non-numeric first argument to `wordlist' function"));
+  check_numeric (argv[1],
+                _("non-numeric second argument to `wordlist' function"));
+
+  start = atoi (argv[0]);
+  count = atoi (argv[1]) - start + 1;
+
+  if (count > 0)
+    {
+      char *p;
+      char *end_p = argv[2];
+
+      /* Find the beginning of the "start"th word.  */
+      while (((p = find_next_token (&end_p, 0)) != 0) && --start)
+        ;
+
+      if (p)
+        {
+          /* Find the end of the "count"th word from start.  */
+          while (--count && (find_next_token (&end_p, 0) != 0))
+            ;
+
+          /* Return the stuff in the middle.  */
+          o = variable_buffer_output (o, p, end_p - p);
+        }
+    }
+
+  return o;
+}
+
+static char*
+func_findstring (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  /* Find the first occurrence of the first string in the second.  */
+  int i = strlen (argv[0]);
+  if (sindex (argv[1], 0, argv[0], i) != 0)
+    o = variable_buffer_output (o, argv[0], i);
+
+  return o;
+}
+
+static char *
+func_foreach (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  /* expand only the first two.  */
+  char *varname = expand_argument (argv[0], NULL);
+  char *list = expand_argument (argv[1], NULL);
+  char *body = argv[2];
+
+  int doneany = 0;
+  char *list_iterator = list;
+  char *p;
+  unsigned int len;
+  register struct variable *var;
+
+  push_new_variable_scope ();
+  var = define_variable (varname, strlen (varname), "", o_automatic, 0);
+
+  /* loop through LIST,  put the value in VAR and expand BODY */
+  while ((p = find_next_token (&list_iterator, &len)) != 0)
+    {
+      char *result = 0;
+
+      {
+       char save = p[len];
+
+       p[len] = '\0';
+       free (var->value);
+       var->value = (char *) xstrdup ((char*) p);
+       p[len] = save;
+      }
+
+      result = allocated_variable_expand (body);
+
+      o = variable_buffer_output (o, result, strlen (result));
+      o = variable_buffer_output (o, " ", 1);
+      doneany = 1;
+      free (result);
+    }
+
+  if (doneany)
+    /* Kill the last space.  */
+    --o;
+
+  pop_variable_scope ();
+  free (varname);
+  free (list);
+
+  return o;
+}
+
+struct a_word
+{
+  struct a_word *next;
+  struct a_word *chain;
+  char *str;
+  int length;
+  int matched;
+};
+
+static unsigned long
+a_word_hash_1 (key)
+    const void *key;
+{
+  return_STRING_HASH_1 (((struct a_word const *) key)->str);
+}
+
+static unsigned long
+a_word_hash_2 (key)
+    const void *key;
+{
+  return_STRING_HASH_2 (((struct a_word const *) key)->str);
+}
+
+static int
+a_word_hash_cmp (x, y)
+    const void *x;
+    const void *y;
+{
+  int result = ((struct a_word const *) x)->length - ((struct a_word const *) y)->length;
+  if (result)
+    return result;
+  return_STRING_COMPARE (((struct a_word const *) x)->str,
+                        ((struct a_word const *) y)->str);
+}
+
+struct a_pattern
+{
+  struct a_pattern *next;
+  char *str;
+  char *percent;
+  int length;
+  int save_c;
+};
+
+static char *
+func_filter_filterout (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  struct a_word *wordhead;
+  struct a_word **wordtail;
+  struct a_word *wp;
+  struct a_pattern *pathead;
+  struct a_pattern **pattail;
+  struct a_pattern *pp;
+
+  struct hash_table a_word_table;
+  int is_filter = streq (funcname, "filter");
+  char *pat_iterator = argv[0];
+  char *word_iterator = argv[1];
+  int literals = 0;
+  int words = 0;
+  int hashing = 0;
+  char *p;
+  unsigned int len;
+
+  /* Chop ARGV[0] up into patterns to match against the words.  */
+
+  pattail = &pathead;
+  while ((p = find_next_token (&pat_iterator, &len)) != 0)
+    {
+      struct a_pattern *pat = (struct a_pattern *) alloca (sizeof (struct a_pattern));
+
+      *pattail = pat;
+      pattail = &pat->next;
+
+      if (*pat_iterator != '\0')
+       ++pat_iterator;
+
+      pat->str = p;
+      pat->length = len;
+      pat->save_c = p[len];
+      p[len] = '\0';
+      pat->percent = find_percent (p);
+      if (pat->percent == 0)
+       literals++;
+    }
+  *pattail = 0;
+
+  /* Chop ARGV[1] up into words to match against the patterns.  */
+
+  wordtail = &wordhead;
+  while ((p = find_next_token (&word_iterator, &len)) != 0)
+    {
+      struct a_word *word = (struct a_word *) alloca (sizeof (struct a_word));
+
+      *wordtail = word;
+      wordtail = &word->next;
+
+      if (*word_iterator != '\0')
+       ++word_iterator;
+
+      p[len] = '\0';
+      word->str = p;
+      word->length = len;
+      word->matched = 0;
+      word->chain = 0;
+      words++;
+    }
+  *wordtail = 0;
+
+  /* Only use a hash table if arg list lengths justifies the cost.  */
+  hashing = (literals >= 2 && (literals * words) >= 10);
+  if (hashing)
+    {
+      hash_init (&a_word_table, words, a_word_hash_1, a_word_hash_2, a_word_hash_cmp);
+      for (wp = wordhead; wp != 0; wp = wp->next)
+       {
+         struct a_word *owp = hash_insert (&a_word_table, wp);
+         if (owp)
+           wp->chain = owp;
+       }
+    }
+
+  if (words)
+    {
+      int doneany = 0;
+
+      /* Run each pattern through the words, killing words.  */
+      for (pp = pathead; pp != 0; pp = pp->next)
+       {
+         if (pp->percent)
+           for (wp = wordhead; wp != 0; wp = wp->next)
+             wp->matched |= pattern_matches (pp->str, pp->percent, wp->str);
+         else if (hashing)
+           {
+             struct a_word a_word_key;
+             a_word_key.str = pp->str;
+             a_word_key.length = pp->length;
+             wp = (struct a_word *) hash_find_item (&a_word_table, &a_word_key);
+             while (wp)
+               {
+                 wp->matched |= 1;
+                 wp = wp->chain;
+               }
+           }
+         else
+           for (wp = wordhead; wp != 0; wp = wp->next)
+             wp->matched |= (wp->length == pp->length
+                             && strneq (pp->str, wp->str, wp->length));
+       }
+
+      /* Output the words that matched (or didn't, for filter-out).  */
+      for (wp = wordhead; wp != 0; wp = wp->next)
+       if (is_filter ? wp->matched : !wp->matched)
+         {
+           o = variable_buffer_output (o, wp->str, strlen (wp->str));
+           o = variable_buffer_output (o, " ", 1);
+           doneany = 1;
+         }
+
+      if (doneany)
+       /* Kill the last space.  */
+       --o;
+    }
+
+  for (pp = pathead; pp != 0; pp = pp->next)
+    pp->str[pp->length] = pp->save_c;
+
+  if (hashing)
+    hash_free (&a_word_table, 0);
+
+  return o;
+}
+
+
+static char *
+func_strip (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  char *p = argv[0];
+  int doneany =0;
+
+  while (*p != '\0')
+    {
+      int i=0;
+      char *word_start=0;
+
+      while (isspace ((unsigned char)*p))
+       ++p;
+      word_start = p;
+      for (i=0; *p != '\0' && !isspace ((unsigned char)*p); ++p, ++i)
+       {}
+      if (!i)
+       break;
+      o = variable_buffer_output (o, word_start, i);
+      o = variable_buffer_output (o, " ", 1);
+      doneany = 1;
+    }
+
+  if (doneany)
+    /* Kill the last space.  */
+    --o;
+  return o;
+}
+
+/*
+  Print a warning or fatal message.
+*/
+static char *
+func_error (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  char **argvp;
+  char *msg, *p;
+  int len;
+
+  /* The arguments will be broken on commas.  Rather than create yet
+     another special case where function arguments aren't broken up,
+     just create a format string that puts them back together.  */
+  for (len=0, argvp=argv; *argvp != 0; ++argvp)
+    len += strlen (*argvp) + 2;
+
+  p = msg = (char *) alloca (len + 1);
+
+  for (argvp=argv; argvp[1] != 0; ++argvp)
+    {
+      strcpy (p, *argvp);
+      p += strlen (*argvp);
+      *(p++) = ',';
+      *(p++) = ' ';
+    }
+  strcpy (p, *argvp);
+
+  if (*funcname == 'e')
+    fatal (reading_file, "%s", msg);
+
+  /* The warning function expands to the empty string.  */
+  error (reading_file, "%s", msg);
+
+  return o;
+}
+
+
+/*
+  chop argv[0] into words, and sort them.
+ */
+static char *
+func_sort (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  char **words = 0;
+  int nwords = 0;
+  register int wordi = 0;
+
+  /* Chop ARGV[0] into words and put them in WORDS.  */
+  char *t = argv[0];
+  char *p;
+  unsigned int len;
+  int i;
+
+  while ((p = find_next_token (&t, &len)) != 0)
+    {
+      if (wordi >= nwords - 1)
+       {
+         nwords = (2 * nwords) + 5;
+         words = (char **) xrealloc ((char *) words,
+                                     nwords * sizeof (char *));
+       }
+      words[wordi++] = savestring (p, len);
+    }
+
+  if (!wordi)
+    return o;
+
+  /* Now sort the list of words.  */
+  qsort ((char *) words, wordi, sizeof (char *), alpha_compare);
+
+  /* Now write the sorted list.  */
+  for (i = 0; i < wordi; ++i)
+    {
+      len = strlen (words[i]);
+      if (i == wordi - 1 || strlen (words[i + 1]) != len
+          || strcmp (words[i], words[i + 1]))
+        {
+          o = variable_buffer_output (o, words[i], len);
+          o = variable_buffer_output (o, " ", 1);
+        }
+      free (words[i]);
+    }
+  /* Kill the last space.  */
+  --o;
+
+  free (words);
+
+  return o;
+}
+
+/*
+  $(if condition,true-part[,false-part])
+
+  CONDITION is false iff it evaluates to an empty string.  White
+  space before and after condition are stripped before evaluation.
+
+  If CONDITION is true, then TRUE-PART is evaluated, otherwise FALSE-PART is
+  evaluated (if it exists).  Because only one of the two PARTs is evaluated,
+  you can use $(if ...) to create side-effects (with $(shell ...), for
+  example).
+*/
+
+static char *
+func_if (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  char *begp = argv[0];
+  char *endp = begp + strlen (argv[0]);
+  int result = 0;
+
+  /* Find the result of the condition: if we have a value, and it's not
+     empty, the condition is true.  If we don't have a value, or it's the
+     empty string, then it's false.  */
+
+  strip_whitespace (&begp, &endp);
+
+  if (begp < endp)
+    {
+      char *expansion = expand_argument (begp, NULL);
+
+      result = strlen (expansion);
+      free (expansion);
+    }
+
+  /* If the result is true (1) we want to eval the first argument, and if
+     it's false (0) we want to eval the second.  If the argument doesn't
+     exist we do nothing, otherwise expand it and add to the buffer.  */
+
+  argv += 1 + !result;
+
+  if (argv[0])
+    {
+      char *expansion;
+
+      expansion = expand_argument (argv[0], NULL);
+
+      o = variable_buffer_output (o, expansion, strlen (expansion));
+
+      free (expansion);
+    }
+
+  return o;
+}
+
+static char *
+func_wildcard (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+
+#ifdef _AMIGA
+   o = wildcard_expansion (argv[0], o);
+#else
+   char *p = string_glob (argv[0]);
+   o = variable_buffer_output (o, p, strlen (p));
+#endif
+   return o;
+}
+
+/*
+  $(eval <makefile string>)
+
+  Always resolves to the empty string.
+
+  Treat the arguments as a segment of makefile, and parse them.
+*/
+
+static char *
+func_eval (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  eval_buffer (argv[0]);
+
+  return o;
+}
+
+
+static char *
+func_value (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  /* Look up the variable.  */
+  struct variable *v = lookup_variable (argv[0], strlen (argv[0]));
+
+  /* Copy its value into the output buffer without expanding it.  */
+  if (v)
+    o = variable_buffer_output (o, v->value, strlen(v->value));
+
+  return o;
+}
+
+/*
+  \r  is replaced on UNIX as well. Is this desirable?
+ */
+void
+fold_newlines (buffer, length)
+     char *buffer;
+     int *length;
+{
+  char *dst = buffer;
+  char *src = buffer;
+  char *last_nonnl = buffer -1;
+  src[*length] = 0;
+  for (; *src != '\0'; ++src)
+    {
+      if (src[0] == '\r' && src[1] == '\n')
+       continue;
+      if (*src == '\n')
+       {
+         *dst++ = ' ';
+       }
+      else
+       {
+         last_nonnl = dst;
+         *dst++ = *src;
+       }
+    }
+  *(++last_nonnl) = '\0';
+  *length = last_nonnl - buffer;
+}
+
+
+
+int shell_function_pid = 0, shell_function_completed;
+
+
+#ifdef WINDOWS32
+/*untested*/
+
+#include <windows.h>
+#include <io.h>
+#include "sub_proc.h"
+
+
+void
+windows32_openpipe (int *pipedes, int *pid_p, char **command_argv, char **envp)
+{
+  SECURITY_ATTRIBUTES saAttr;
+  HANDLE hIn;
+  HANDLE hErr;
+  HANDLE hChildOutRd;
+  HANDLE hChildOutWr;
+  HANDLE hProcess;
+
+
+  saAttr.nLength = sizeof (SECURITY_ATTRIBUTES);
+  saAttr.bInheritHandle = TRUE;
+  saAttr.lpSecurityDescriptor = NULL;
+
+  if (DuplicateHandle (GetCurrentProcess(),
+                     GetStdHandle(STD_INPUT_HANDLE),
+                     GetCurrentProcess(),
+                     &hIn,
+                     0,
+                     TRUE,
+                     DUPLICATE_SAME_ACCESS) == FALSE) {
+    fatal (NILF, _("create_child_process: DuplicateHandle(In) failed (e=%d)\n"),
+          GetLastError());
+
+  }
+  if (DuplicateHandle(GetCurrentProcess(),
+                     GetStdHandle(STD_ERROR_HANDLE),
+                     GetCurrentProcess(),
+                     &hErr,
+                     0,
+                     TRUE,
+                     DUPLICATE_SAME_ACCESS) == FALSE) {
+    fatal (NILF, _("create_child_process: DuplicateHandle(Err) failed (e=%d)\n"),
+          GetLastError());
+  }
+
+  if (!CreatePipe(&hChildOutRd, &hChildOutWr, &saAttr, 0))
+    fatal (NILF, _("CreatePipe() failed (e=%d)\n"), GetLastError());
+
+  hProcess = process_init_fd(hIn, hChildOutWr, hErr);
+
+  if (!hProcess)
+    fatal (NILF, _("windows32_openpipe (): process_init_fd() failed\n"));
+
+  /* make sure that CreateProcess() has Path it needs */
+  sync_Path_environment();
+
+  if (!process_begin(hProcess, command_argv, envp, command_argv[0], NULL)) {
+    /* register process for wait */
+    process_register(hProcess);
+
+    /* set the pid for returning to caller */
+    *pid_p = (int) hProcess;
+
+  /* set up to read data from child */
+  pipedes[0] = _open_osfhandle((long) hChildOutRd, O_RDONLY);
+
+  /* this will be closed almost right away */
+  pipedes[1] = _open_osfhandle((long) hChildOutWr, O_APPEND);
+  } else {
+    /* reap/cleanup the failed process */
+       process_cleanup(hProcess);
+
+    /* close handles which were duplicated, they weren't used */
+       CloseHandle(hIn);
+       CloseHandle(hErr);
+
+       /* close pipe handles, they won't be used */
+       CloseHandle(hChildOutRd);
+       CloseHandle(hChildOutWr);
+
+    /* set status for return */
+    pipedes[0] = pipedes[1] = -1;
+    *pid_p = -1;
+  }
+}
+#endif
+
+
+#ifdef __MSDOS__
+FILE *
+msdos_openpipe (int* pipedes, int *pidp, char *text)
+{
+  FILE *fpipe=0;
+  /* MSDOS can't fork, but it has `popen'.  */
+  struct variable *sh = lookup_variable ("SHELL", 5);
+  int e;
+  extern int dos_command_running, dos_status;
+
+  /* Make sure not to bother processing an empty line.  */
+  while (isblank ((unsigned char)*text))
+    ++text;
+  if (*text == '\0')
+    return 0;
+
+  if (sh)
+    {
+      char buf[PATH_MAX + 7];
+      /* This makes sure $SHELL value is used by $(shell), even
+        though the target environment is not passed to it.  */
+      sprintf (buf, "SHELL=%s", sh->value);
+      putenv (buf);
+    }
+
+  e = errno;
+  errno = 0;
+  dos_command_running = 1;
+  dos_status = 0;
+  /* If dos_status becomes non-zero, it means the child process
+     was interrupted by a signal, like SIGINT or SIGQUIT.  See
+     fatal_error_signal in commands.c.  */
+  fpipe = popen (text, "rt");
+  dos_command_running = 0;
+  if (!fpipe || dos_status)
+    {
+      pipedes[0] = -1;
+      *pidp = -1;
+      if (dos_status)
+       errno = EINTR;
+      else if (errno == 0)
+       errno = ENOMEM;
+      shell_function_completed = -1;
+    }
+  else
+    {
+      pipedes[0] = fileno (fpipe);
+      *pidp = 42; /* Yes, the Meaning of Life, the Universe, and Everything! */
+      errno = e;
+      shell_function_completed = 1;
+    }
+  return fpipe;
+}
+#endif
+
+/*
+  Do shell spawning, with the naughty bits for different OSes.
+ */
+
+#ifdef VMS
+
+/* VMS can't do $(shell ...)  */
+#define func_shell 0
+
+#else
+#ifndef _AMIGA
+static char *
+func_shell (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  char* batch_filename = NULL;
+  int i;
+
+#ifdef __MSDOS__
+  FILE *fpipe;
+#endif
+  char **command_argv;
+  char *error_prefix;
+  char **envp;
+  int pipedes[2];
+  int pid;
+
+#ifndef __MSDOS__
+  /* Construct the argument list.  */
+  command_argv = construct_command_argv (argv[0],
+                                        (char **) NULL, (struct file *) 0,
+                                         &batch_filename);
+  if (command_argv == 0)
+    return o;
+#endif
+
+  /* Using a target environment for `shell' loses in cases like:
+     export var = $(shell echo foobie)
+     because target_environment hits a loop trying to expand $(var)
+     to put it in the environment.  This is even more confusing when
+     var was not explicitly exported, but just appeared in the
+     calling environment.  */
+
+  envp = environ;
+
+  /* For error messages.  */
+  if (reading_file != 0)
+    {
+      error_prefix = (char *) alloca (strlen (reading_file->filenm)+11+4);
+      sprintf (error_prefix,
+              "%s:%lu: ", reading_file->filenm, reading_file->lineno);
+    }
+  else
+    error_prefix = "";
+
+#ifdef WINDOWS32
+  windows32_openpipe (pipedes, &pid, command_argv, envp);
+
+  if (pipedes[0] < 0) {
+       /* open of the pipe failed, mark as failed execution */
+    shell_function_completed = -1;
+
+       return o;
+  } else
+#else /* WINDOWS32 */
+
+# ifdef __MSDOS__
+  fpipe = msdos_openpipe (pipedes, &pid, argv[0]);
+  if (pipedes[0] < 0)
+    {
+      perror_with_name (error_prefix, "pipe");
+      return o;
+    }
+# else
+  if (pipe (pipedes) < 0)
+    {
+      perror_with_name (error_prefix, "pipe");
+      return o;
+    }
+
+  pid = vfork ();
+  if (pid < 0)
+    perror_with_name (error_prefix, "fork");
+  else if (pid == 0)
+    child_execute_job (0, pipedes[1], command_argv, envp);
+  else
+# endif /* ! __MSDOS__ */
+
+#endif /* WINDOWS32 */
+    {
+      /* We are the parent.  */
+
+      char *buffer;
+      unsigned int maxlen;
+      int cc;
+
+      /* Record the PID for reap_children.  */
+      shell_function_pid = pid;
+#ifndef  __MSDOS__
+      shell_function_completed = 0;
+
+      /* Free the storage only the child needed.  */
+      free (command_argv[0]);
+      free ((char *) command_argv);
+
+      /* Close the write side of the pipe.  */
+      (void) close (pipedes[1]);
+#endif
+
+      /* Set up and read from the pipe.  */
+
+      maxlen = 200;
+      buffer = (char *) xmalloc (maxlen + 1);
+
+      /* Read from the pipe until it gets EOF.  */
+      for (i = 0; ; i += cc)
+       {
+         if (i == maxlen)
+           {
+             maxlen += 512;
+             buffer = (char *) xrealloc (buffer, maxlen + 1);
+           }
+
+         cc = read (pipedes[0], &buffer[i], maxlen - i);
+         if (cc <= 0)
+           break;
+       }
+      buffer[i] = '\0';
+
+      /* Close the read side of the pipe.  */
+#ifdef  __MSDOS__
+      if (fpipe)
+       (void) pclose (fpipe);
+#else
+      (void) close (pipedes[0]);
+#endif
+
+      /* Loop until child_handler sets shell_function_completed
+        to the status of our child shell.  */
+      while (shell_function_completed == 0)
+       reap_children (1, 0);
+
+      if (batch_filename) {
+       DB (DB_VERBOSE, (_("Cleaning up temporary batch file %s\n"),
+                       batch_filename));
+       remove (batch_filename);
+       free (batch_filename);
+      }
+      shell_function_pid = 0;
+
+      /* The child_handler function will set shell_function_completed
+        to 1 when the child dies normally, or to -1 if it
+        dies with status 127, which is most likely an exec fail.  */
+
+      if (shell_function_completed == -1)
+       {
+         /* This most likely means that the execvp failed,
+            so we should just write out the error message
+            that came in over the pipe from the child.  */
+         fputs (buffer, stderr);
+         fflush (stderr);
+       }
+      else
+       {
+         /* The child finished normally.  Replace all
+            newlines in its output with spaces, and put
+            that in the variable output buffer.  */
+         fold_newlines (buffer, &i);
+         o = variable_buffer_output (o, buffer, i);
+       }
+
+      free (buffer);
+    }
+
+  return o;
+}
+
+#else  /* _AMIGA */
+
+/* Do the Amiga version of func_shell.  */
+
+static char *
+func_shell (char *o, char **argv, const char *funcname)
+{
+  /* Amiga can't fork nor spawn, but I can start a program with
+     redirection of my choice.  However, this means that we
+     don't have an opportunity to reopen stdout to trap it.  Thus,
+     we save our own stdout onto a new descriptor and dup a temp
+     file's descriptor onto our stdout temporarily.  After we
+     spawn the shell program, we dup our own stdout back to the
+     stdout descriptor.  The buffer reading is the same as above,
+     except that we're now reading from a file.  */
+
+#include <dos/dos.h>
+#include <proto/dos.h>
+
+  BPTR child_stdout;
+  char tmp_output[FILENAME_MAX];
+  unsigned int maxlen = 200;
+  int cc, i;
+  char * buffer, * ptr;
+  char ** aptr;
+  int len = 0;
+  char* batch_filename = NULL;
+
+  /* Construct the argument list.  */
+  command_argv = construct_command_argv (argv[0], (char **) NULL,
+                                         (struct file *) 0, &batch_filename);
+  if (command_argv == 0)
+    return o;
+
+  /* Note the mktemp() is a security hole, but this only runs on Amiga.
+     Ideally we would use main.c:open_tmpfile(), but this uses a special
+     Open(), not fopen(), and I'm not familiar enough with the code to mess
+     with it.  */
+  strcpy (tmp_output, "t:MakeshXXXXXXXX");
+  mktemp (tmp_output);
+  child_stdout = Open (tmp_output, MODE_NEWFILE);
+
+  for (aptr=command_argv; *aptr; aptr++)
+    len += strlen (*aptr) + 1;
+
+  buffer = xmalloc (len + 1);
+  ptr = buffer;
+
+  for (aptr=command_argv; *aptr; aptr++)
+    {
+      strcpy (ptr, *aptr);
+      ptr += strlen (ptr) + 1;
+      *ptr ++ = ' ';
+      *ptr = 0;
+    }
+
+  ptr[-1] = '\n';
+
+  Execute (buffer, NULL, child_stdout);
+  free (buffer);
+
+  Close (child_stdout);
+
+  child_stdout = Open (tmp_output, MODE_OLDFILE);
+
+  buffer = xmalloc (maxlen);
+  i = 0;
+  do
+    {
+      if (i == maxlen)
+       {
+         maxlen += 512;
+         buffer = (char *) xrealloc (buffer, maxlen + 1);
+       }
+
+      cc = Read (child_stdout, &buffer[i], maxlen - i);
+      if (cc > 0)
+       i += cc;
+    } while (cc > 0);
+
+  Close (child_stdout);
+
+  fold_newlines (buffer, &i);
+  o = variable_buffer_output (o, buffer, i);
+  free (buffer);
+  return o;
+}
+#endif  /* _AMIGA */
+#endif  /* !VMS */
+
+#ifdef EXPERIMENTAL
+
+/*
+  equality. Return is string-boolean, ie, the empty string is false.
+ */
+static char *
+func_eq (char* o, char **argv, char *funcname)
+{
+  int result = ! strcmp (argv[0], argv[1]);
+  o = variable_buffer_output (o,  result ? "1" : "", result);
+  return o;
+}
+
+
+/*
+  string-boolean not operator.
+ */
+static char *
+func_not (char* o, char **argv, char *funcname)
+{
+  char * s = argv[0];
+  int result = 0;
+  while (isspace ((unsigned char)*s))
+    s++;
+  result = ! (*s);
+  o = variable_buffer_output (o,  result ? "1" : "", result);
+  return o;
+}
+#endif
+\f
+
+/* Lookup table for builtin functions.
+
+   This doesn't have to be sorted; we use a straight lookup.  We might gain
+   some efficiency by moving most often used functions to the start of the
+   table.
+
+   If MAXIMUM_ARGS is 0, that means there is no maximum and all
+   comma-separated values are treated as arguments.
+
+   EXPAND_ARGS means that all arguments should be expanded before invocation.
+   Functions that do namespace tricks (foreach) don't automatically expand.  */
+
+static char *func_call PARAMS ((char *o, char **argv, const char *funcname));
+
+
+static struct function_table_entry function_table_init[] =
+{
+ /* Name/size */                    /* MIN MAX EXP? Function */
+  { STRING_SIZE_TUPLE("addprefix"),     2,  2,  1,  func_addsuffix_addprefix},
+  { STRING_SIZE_TUPLE("addsuffix"),     2,  2,  1,  func_addsuffix_addprefix},
+  { STRING_SIZE_TUPLE("basename"),      0,  1,  1,  func_basename_dir},
+  { STRING_SIZE_TUPLE("dir"),           0,  1,  1,  func_basename_dir},
+  { STRING_SIZE_TUPLE("notdir"),        0,  1,  1,  func_notdir_suffix},
+  { STRING_SIZE_TUPLE("subst"),         3,  3,  1,  func_subst},
+  { STRING_SIZE_TUPLE("suffix"),        0,  1,  1,  func_notdir_suffix},
+  { STRING_SIZE_TUPLE("filter"),        2,  2,  1,  func_filter_filterout},
+  { STRING_SIZE_TUPLE("filter-out"),    2,  2,  1,  func_filter_filterout},
+  { STRING_SIZE_TUPLE("findstring"),    2,  2,  1,  func_findstring},
+  { STRING_SIZE_TUPLE("firstword"),     0,  1,  1,  func_firstword},
+  { STRING_SIZE_TUPLE("join"),          2,  2,  1,  func_join},
+  { STRING_SIZE_TUPLE("patsubst"),      3,  3,  1,  func_patsubst},
+  { STRING_SIZE_TUPLE("shell"),         0,  1,  1,  func_shell},
+  { STRING_SIZE_TUPLE("sort"),          0,  1,  1,  func_sort},
+  { STRING_SIZE_TUPLE("strip"),         0,  1,  1,  func_strip},
+  { STRING_SIZE_TUPLE("wildcard"),      0,  1,  1,  func_wildcard},
+  { STRING_SIZE_TUPLE("word"),          2,  2,  1,  func_word},
+  { STRING_SIZE_TUPLE("wordlist"),      3,  3,  1,  func_wordlist},
+  { STRING_SIZE_TUPLE("words"),         0,  1,  1,  func_words},
+  { STRING_SIZE_TUPLE("origin"),        0,  1,  1,  func_origin},
+  { STRING_SIZE_TUPLE("foreach"),       3,  3,  0,  func_foreach},
+  { STRING_SIZE_TUPLE("call"),          1,  0,  1,  func_call},
+  { STRING_SIZE_TUPLE("error"),         0,  1,  1,  func_error},
+  { STRING_SIZE_TUPLE("warning"),       0,  1,  1,  func_error},
+  { STRING_SIZE_TUPLE("if"),            2,  3,  0,  func_if},
+  { STRING_SIZE_TUPLE("value"),         0,  1,  1,  func_value},
+  { STRING_SIZE_TUPLE("eval"),          0,  1,  1,  func_eval},
+#ifdef EXPERIMENTAL
+  { STRING_SIZE_TUPLE("eq"),            2,  2,  1,  func_eq},
+  { STRING_SIZE_TUPLE("not"),           0,  1,  1,  func_not},
+#endif
+};
+
+#define FUNCTION_TABLE_ENTRIES (sizeof (function_table_init) / sizeof (struct function_table_entry))
+\f
+
+/* These must come after the definition of function_table.  */
+
+static char *
+expand_builtin_function (o, argc, argv, entry_p)
+     char *o;
+     int argc;
+     char **argv;
+     struct function_table_entry *entry_p;
+{
+  if (argc < (int)entry_p->minimum_args)
+    fatal (reading_file,
+           _("Insufficient number of arguments (%d) to function `%s'"),
+           argc, entry_p->name);
+
+  /* I suppose technically some function could do something with no
+     arguments, but so far none do, so just test it for all functions here
+     rather than in each one.  We can change it later if necessary.  */
+
+  if (!argc)
+    return o;
+
+  if (!entry_p->func_ptr)
+    fatal (reading_file, _("Unimplemented on this platform: function `%s'"),
+           entry_p->name);
+
+  return entry_p->func_ptr (o, argv, entry_p->name);
+}
+
+/* Check for a function invocation in *STRINGP.  *STRINGP points at the
+   opening ( or { and is not null-terminated.  If a function invocation
+   is found, expand it into the buffer at *OP, updating *OP, incrementing
+   *STRINGP past the reference and returning nonzero.  If not, return zero.  */
+
+int
+handle_function (op, stringp)
+     char **op;
+     char **stringp;
+{
+  const struct function_table_entry *entry_p;
+  char openparen = (*stringp)[0];
+  char closeparen = openparen == '(' ? ')' : '}';
+  char *beg;
+  char *end;
+  int count = 0;
+  register char *p;
+  char **argv, **argvp;
+  int nargs;
+
+  beg = *stringp + 1;
+
+  entry_p = lookup_function (beg);
+
+  if (!entry_p)
+    return 0;
+
+  /* We found a builtin function.  Find the beginning of its arguments (skip
+     whitespace after the name).  */
+
+  beg = next_token (beg + entry_p->len);
+
+  /* Find the end of the function invocation, counting nested use of
+     whichever kind of parens we use.  Since we're looking, count commas
+     to get a rough estimate of how many arguments we might have.  The
+     count might be high, but it'll never be low.  */
+
+  for (nargs=1, end=beg; *end != '\0'; ++end)
+    if (*end == ',')
+      ++nargs;
+    else if (*end == openparen)
+      ++count;
+    else if (*end == closeparen && --count < 0)
+      break;
+
+  if (count >= 0)
+    fatal (reading_file,
+          _("unterminated call to function `%s': missing `%c'"),
+          entry_p->name, closeparen);
+
+  *stringp = end;
+
+  /* Get some memory to store the arg pointers.  */
+  argvp = argv = (char **) alloca (sizeof (char *) * (nargs + 2));
+
+  /* Chop the string into arguments, then a nul.  As soon as we hit
+     MAXIMUM_ARGS (if it's >0) assume the rest of the string is part of the
+     last argument.
+
+     If we're expanding, store pointers to the expansion of each one.  If
+     not, make a duplicate of the string and point into that, nul-terminating
+     each argument.  */
+
+  if (!entry_p->expand_args)
+    {
+      int len = end - beg;
+
+      p = xmalloc (len+1);
+      memcpy (p, beg, len);
+      p[len] = '\0';
+      beg = p;
+      end = beg + len;
+    }
+
+  for (p=beg, nargs=0; p <= end; ++argvp)
+    {
+      char *next;
+
+      ++nargs;
+
+      if (nargs == entry_p->maximum_args
+          || (! (next = find_next_argument (openparen, closeparen, p, end))))
+        next = end;
+
+      if (entry_p->expand_args)
+        *argvp = expand_argument (p, next);
+      else
+        {
+          *argvp = p;
+          *next = '\0';
+        }
+
+      p = next + 1;
+    }
+  *argvp = NULL;
+
+  /* Finally!  Run the function...  */
+  *op = expand_builtin_function (*op, nargs, argv, entry_p);
+
+  /* Free memory.  */
+  if (entry_p->expand_args)
+    for (argvp=argv; *argvp != 0; ++argvp)
+      free (*argvp);
+  else
+    free (beg);
+
+  return 1;
+}
+\f
+
+/* User-defined functions.  Expand the first argument as either a builtin
+   function or a make variable, in the context of the rest of the arguments
+   assigned to $1, $2, ... $N.  $0 is the name of the function.  */
+
+static char *
+func_call (o, argv, funcname)
+     char *o;
+     char **argv;
+     const char *funcname;
+{
+  char *fname;
+  char *cp;
+  char *body;
+  int flen;
+  int i;
+  const struct function_table_entry *entry_p;
+  struct variable *v;
+
+  /* There is no way to define a variable with a space in the name, so strip
+     leading and trailing whitespace as a favor to the user.  */
+  fname = argv[0];
+  while (*fname != '\0' && isspace ((unsigned char)*fname))
+    ++fname;
+
+  cp = fname + strlen (fname) - 1;
+  while (cp > fname && isspace ((unsigned char)*cp))
+    --cp;
+  cp[1] = '\0';
+
+  /* Calling nothing is a no-op */
+  if (*fname == '\0')
+    return o;
+
+  /* Are we invoking a builtin function?  */
+
+  entry_p = lookup_function (fname);
+
+  if (entry_p)
+    {
+      /* How many arguments do we have?  */
+      for (i=0; argv[i+1]; ++i)
+       ;
+
+      return expand_builtin_function (o, i, argv+1, entry_p);
+    }
+
+  /* Not a builtin, so the first argument is the name of a variable to be
+     expanded and interpreted as a function.  Find it.  */
+  flen = strlen (fname);
+
+  v = lookup_variable (fname, flen);
+
+  if (v == 0)
+    warn_undefined (fname, flen);
+
+  if (v == 0 || *v->value == '\0')
+    return o;
+
+  body = (char *) alloca (flen + 4);
+  body[0] = '$';
+  body[1] = '(';
+  memcpy (body + 2, fname, flen);
+  body[flen+2] = ')';
+  body[flen+3] = '\0';
+
+  /* Set up arguments $(1) .. $(N).  $(0) is the function name.  */
+
+  push_new_variable_scope ();
+
+  for (i=0; *argv; ++i, ++argv)
+    {
+      char num[11];
+
+      sprintf (num, "%d", i);
+      define_variable (num, strlen (num), *argv, o_automatic, 0);
+    }
+
+  /* Expand the body in the context of the arguments, adding the result to
+     the variable buffer.  */
+
+  v->exp_count = EXP_COUNT_MAX;
+
+  o = variable_expand_string (o, body, flen+3);
+
+  v->exp_count = 0;
+
+  pop_variable_scope ();
+
+  return o + strlen (o);
+}
+
+void
+hash_init_function_table ()
+{
+  hash_init (&function_table, FUNCTION_TABLE_ENTRIES * 2,
+            function_table_entry_hash_1, function_table_entry_hash_2,
+            function_table_entry_hash_cmp);
+  hash_load (&function_table, function_table_init,
+            FUNCTION_TABLE_ENTRIES, sizeof (struct function_table_entry));
+}
diff --git a/src/mkutil/make-3.80/getloadavg.c b/src/mkutil/make-3.80/getloadavg.c
new file mode 100644 (file)
index 0000000..7d575cd
--- /dev/null
@@ -0,0 +1,1034 @@
+/* Get the system load averages.
+   Copyright (C) 1985, 86, 87, 88, 89, 91, 92, 93, 1994, 1995, 1997
+       Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* Compile-time symbols that this file uses:
+
+   HAVE_PSTAT_GETDYNAMIC       Define this if your system has the
+                                pstat_getdynamic function.  I think it
+                               is unique to HPUX9.  The best way to get the
+                               definition is through the AC_FUNC_GETLOADAVG
+                               macro that comes with autoconf 2.13 or newer.
+                               If that isn't an option, then just put
+                               AC_CHECK_FUNCS(pstat_getdynamic) in your
+                               configure.in file.
+   FIXUP_KERNEL_SYMBOL_ADDR()  Adjust address in returned struct nlist.
+   KERNEL_FILE                 Pathname of the kernel to nlist.
+   LDAV_CVT()                  Scale the load average from the kernel.
+                               Returns a double.
+   LDAV_SYMBOL                 Name of kernel symbol giving load average.
+   LOAD_AVE_TYPE               Type of the load average array in the kernel.
+                               Must be defined unless one of
+                               apollo, DGUX, NeXT, or UMAX is defined;
+                                or we have libkstat;
+                               otherwise, no load average is available.
+   NLIST_STRUCT                        Include nlist.h, not a.out.h, and
+                               the nlist n_name element is a pointer,
+                               not an array.
+   HAVE_STRUCT_NLIST_N_UN_N_NAME struct nlist has an n_un member, not n_name.
+   LINUX_LDAV_FILE             [__linux__]: File containing load averages.
+
+   Specific system predefines this file uses, aside from setting
+   default values if not emacs:
+
+   apollo
+   BSD                         Real BSD, not just BSD-like.
+   convex
+   DGUX
+   eunice                      UNIX emulator under VMS.
+   hpux
+   __MSDOS__                   No-op for MSDOS.
+   NeXT
+   sgi
+   sequent                     Sequent Dynix 3.x.x (BSD)
+   _SEQUENT_                   Sequent DYNIX/ptx 1.x.x (SYSV)
+   sony_news                    NEWS-OS (works at least for 4.1C)
+   UMAX
+   UMAX4_3
+   VMS
+   WINDOWS32                   No-op for Windows95/NT.
+   __linux__                   Linux: assumes /proc filesystem mounted.
+                               Support from Michael K. Johnson.
+   __NetBSD__                  NetBSD: assumes /kern filesystem mounted.
+
+   In addition, to avoid nesting many #ifdefs, we internally set
+   LDAV_DONE to indicate that the load average has been computed.
+
+   We also #define LDAV_PRIVILEGED if a program will require
+   special installation to be able to call getloadavg.  */
+
+/* This should always be first.  */
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+
+/* Both the Emacs and non-Emacs sections want this.  Some
+   configuration files' definitions for the LOAD_AVE_CVT macro (like
+   sparc.h's) use macros like FSCALE, defined here.  */
+#if defined (unix) || defined (__unix)
+# include <sys/param.h>
+#endif
+
+
+/* Exclude all the code except the test program at the end
+   if the system has its own `getloadavg' function.
+
+   The declaration of `errno' is needed by the test program
+   as well as the function itself, so it comes first.  */
+
+#include <errno.h>
+
+#ifndef errno
+extern int errno;
+#endif
+
+#if HAVE_LOCALE_H
+# include <locale.h>
+#endif
+#if !HAVE_SETLOCALE
+# define setlocale(Category, Locale) /* empty */
+#endif
+
+#ifndef HAVE_GETLOADAVG
+
+
+/* The existing Emacs configuration files define a macro called
+   LOAD_AVE_CVT, which accepts a value of type LOAD_AVE_TYPE, and
+   returns the load average multiplied by 100.  What we actually want
+   is a macro called LDAV_CVT, which returns the load average as an
+   unmultiplied double.
+
+   For backwards compatibility, we'll define LDAV_CVT in terms of
+   LOAD_AVE_CVT, but future machine config files should just define
+   LDAV_CVT directly.  */
+
+# if !defined(LDAV_CVT) && defined(LOAD_AVE_CVT)
+#  define LDAV_CVT(n) (LOAD_AVE_CVT (n) / 100.0)
+# endif
+
+# if !defined (BSD) && defined (ultrix)
+/* Ultrix behaves like BSD on Vaxen.  */
+#  define BSD
+# endif
+
+# ifdef NeXT
+/* NeXT in the 2.{0,1,2} releases defines BSD in <sys/param.h>, which
+   conflicts with the definition understood in this file, that this
+   really is BSD. */
+#  undef BSD
+
+/* NeXT defines FSCALE in <sys/param.h>.  However, we take FSCALE being
+   defined to mean that the nlist method should be used, which is not true.  */
+#  undef FSCALE
+# endif
+
+/* Same issues as for NeXT apply to the HURD-based GNU system.  */
+# ifdef __GNU__
+#  undef BSD
+#  undef FSCALE
+# endif /* __GNU__ */
+
+/* Set values that are different from the defaults, which are
+   set a little farther down with #ifndef.  */
+
+
+/* Some shorthands.  */
+
+# if defined (HPUX) && !defined (hpux)
+#  define hpux
+# endif
+
+# if defined (__hpux) && !defined (hpux)
+#  define hpux
+# endif
+
+# if defined (__sun) && !defined (sun)
+#  define sun
+# endif
+
+# if defined(hp300) && !defined(hpux)
+#  define MORE_BSD
+# endif
+
+# if defined(ultrix) && defined(mips)
+#  define decstation
+# endif
+
+# if defined (__SVR4) && !defined (SVR4)
+#  define SVR4
+# endif
+
+# if (defined(sun) && defined(SVR4)) || defined (SOLARIS2)
+#  define SUNOS_5
+# endif
+
+# if defined (__osf__) && (defined (__alpha) || defined (__alpha__))
+#  define OSF_ALPHA
+#  include <sys/mbuf.h>
+#  include <sys/socket.h>
+#  include <net/route.h>
+#  include <sys/table.h>
+# endif
+
+# if defined (__osf__) && (defined (mips) || defined (__mips__))
+#  define OSF_MIPS
+#  include <sys/table.h>
+# endif
+
+/* UTek's /bin/cc on the 4300 has no architecture specific cpp define by
+   default, but _MACH_IND_SYS_TYPES is defined in <sys/types.h>.  Combine
+   that with a couple of other things and we'll have a unique match.  */
+# if !defined (tek4300) && defined (unix) && defined (m68k) && defined (mc68000) && defined (mc68020) && defined (_MACH_IND_SYS_TYPES)
+#  define tek4300                      /* Define by emacs, but not by other users.  */
+# endif
+
+/* AC_FUNC_GETLOADAVG thinks QNX is SVR4, but it isn't. */
+# if defined(__QNX__)
+#  undef SVR4
+# endif
+
+/* VAX C can't handle multi-line #ifs, or lines longer than 256 chars.  */
+# ifndef LOAD_AVE_TYPE
+
+#  ifdef MORE_BSD
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef sun
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef decstation
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef _SEQUENT_
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef sgi
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef SVR4
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef sony_news
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef sequent
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef OSF_ALPHA
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  if defined (ardent) && defined (titan)
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef tek4300
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  if defined(alliant) && defined(i860) /* Alliant FX/2800 */
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef _AIX
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef convex
+#   define LOAD_AVE_TYPE double
+#   ifndef LDAV_CVT
+#    define LDAV_CVT(n) (n)
+#   endif
+#  endif
+
+# endif /* No LOAD_AVE_TYPE.  */
+
+# ifdef OSF_ALPHA
+/* <sys/param.h> defines an incorrect value for FSCALE on Alpha OSF/1,
+   according to ghazi@noc.rutgers.edu.  */
+#  undef FSCALE
+#  define FSCALE 1024.0
+# endif
+
+# if defined(alliant) && defined(i860) /* Alliant FX/2800 */
+/* <sys/param.h> defines an incorrect value for FSCALE on an
+   Alliant FX/2800 Concentrix 2.2, according to ghazi@noc.rutgers.edu.  */
+#  undef FSCALE
+#  define FSCALE 100.0
+# endif
+
+
+# ifndef       FSCALE
+
+/* SunOS and some others define FSCALE in sys/param.h.  */
+
+#  ifdef MORE_BSD
+#   define FSCALE 2048.0
+#  endif
+
+#  if defined(MIPS) || defined(SVR4) || defined(decstation)
+#   define FSCALE 256
+#  endif
+
+#  if defined (sgi) || defined (sequent)
+/* Sometimes both MIPS and sgi are defined, so FSCALE was just defined
+   above under #ifdef MIPS.  But we want the sgi value.  */
+#   undef FSCALE
+#   define     FSCALE 1000.0
+#  endif
+
+#  if defined (ardent) && defined (titan)
+#   define FSCALE 65536.0
+#  endif
+
+#  ifdef tek4300
+#   define FSCALE 100.0
+#  endif
+
+#  ifdef _AIX
+#   define FSCALE 65536.0
+#  endif
+
+# endif        /* Not FSCALE.  */
+
+# if !defined (LDAV_CVT) && defined (FSCALE)
+#  define      LDAV_CVT(n) (((double) (n)) / FSCALE)
+# endif
+
+
+# if defined(sgi) || (defined(mips) && !defined(BSD))
+#  define FIXUP_KERNEL_SYMBOL_ADDR(nl) ((nl)[0].n_value &= ~(1 << 31))
+# endif
+
+
+# if !defined (KERNEL_FILE) && defined (sequent)
+#  define KERNEL_FILE "/dynix"
+# endif
+
+# if !defined (KERNEL_FILE) && defined (hpux)
+#  define KERNEL_FILE "/hp-ux"
+# endif
+
+# if !defined(KERNEL_FILE) && (defined(_SEQUENT_) || defined(MIPS) || defined(SVR4) || defined(ISC) || defined (sgi) || (defined (ardent) && defined (titan)))
+#  define KERNEL_FILE "/unix"
+# endif
+
+
+# if !defined (LDAV_SYMBOL) && defined (alliant)
+#  define LDAV_SYMBOL "_Loadavg"
+# endif
+
+# if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan)) || defined (_AIX))
+#  define LDAV_SYMBOL "avenrun"
+# endif
+
+# ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+# endif
+
+# include <stdio.h>
+
+/* LOAD_AVE_TYPE should only get defined if we're going to use the
+   nlist method.  */
+# if !defined(LOAD_AVE_TYPE) && (defined(BSD) || defined(LDAV_CVT) || defined(KERNEL_FILE) || defined(LDAV_SYMBOL))
+#  define LOAD_AVE_TYPE double
+# endif
+
+# ifdef LOAD_AVE_TYPE
+
+#  ifndef VMS
+#   ifndef __linux__
+#    ifdef HAVE_NLIST_H
+#     include <nlist.h>
+#    else
+#     include <a.out.h>
+#    endif
+
+#    ifdef SUNOS_5
+#     include <fcntl.h>
+#     include <kvm.h>
+#     include <kstat.h>
+#    endif
+
+#    if defined (hpux) && defined (HAVE_PSTAT_GETDYNAMIC)
+#     include <sys/pstat.h>
+#    endif
+
+#    ifndef KERNEL_FILE
+#     define KERNEL_FILE "/vmunix"
+#    endif /* KERNEL_FILE */
+
+#    ifndef LDAV_SYMBOL
+#     define LDAV_SYMBOL "_avenrun"
+#    endif /* LDAV_SYMBOL */
+#   endif /* __linux__ */
+
+#  else /* VMS */
+
+#   ifndef eunice
+#    include <iodef.h>
+#    include <descrip.h>
+#   else /* eunice */
+#    include <vms/iodef.h>
+#   endif /* eunice */
+#  endif /* VMS */
+
+#  ifndef LDAV_CVT
+#   define LDAV_CVT(n) ((double) (n))
+#  endif /* !LDAV_CVT */
+
+# endif /* LOAD_AVE_TYPE */
+
+# if defined(__GNU__) && !defined (NeXT)
+/* Note that NeXT Openstep defines __GNU__ even though it should not.  */
+/* GNU system acts much like NeXT, for load average purposes,
+   but not exactly.  */
+#  define NeXT
+#  define host_self mach_host_self
+# endif
+
+# ifdef NeXT
+#  ifdef HAVE_MACH_MACH_H
+#   include <mach/mach.h>
+#  else
+#   include <mach.h>
+#  endif
+# endif /* NeXT */
+
+# ifdef sgi
+#  include <sys/sysmp.h>
+# endif /* sgi */
+
+# ifdef UMAX
+#  include <stdio.h>
+#  include <signal.h>
+#  include <sys/time.h>
+#  include <sys/wait.h>
+#  include <sys/syscall.h>
+
+#  ifdef UMAX_43
+#   include <machine/cpu.h>
+#   include <inq_stats/statistics.h>
+#   include <inq_stats/sysstats.h>
+#   include <inq_stats/cpustats.h>
+#   include <inq_stats/procstats.h>
+#  else /* Not UMAX_43.  */
+#   include <sys/sysdefs.h>
+#   include <sys/statistics.h>
+#   include <sys/sysstats.h>
+#   include <sys/cpudefs.h>
+#   include <sys/cpustats.h>
+#   include <sys/procstats.h>
+#  endif /* Not UMAX_43.  */
+# endif /* UMAX */
+
+# ifdef DGUX
+#  include <sys/dg_sys_info.h>
+# endif
+
+# if defined(HAVE_FCNTL_H) || defined(_POSIX_VERSION)
+#  include <fcntl.h>
+# else
+#  include <sys/file.h>
+# endif
+\f
+
+/* Avoid static vars inside a function since in HPUX they dump as pure.  */
+
+# ifdef NeXT
+static processor_set_t default_set;
+static int getloadavg_initialized;
+# endif /* NeXT */
+
+# ifdef UMAX
+static unsigned int cpus = 0;
+static unsigned int samples;
+# endif /* UMAX */
+
+# ifdef DGUX
+static struct dg_sys_info_load_info load_info; /* what-a-mouthful! */
+# endif /* DGUX */
+
+#if !defined(HAVE_LIBKSTAT) && defined(LOAD_AVE_TYPE)
+/* File descriptor open to /dev/kmem or VMS load ave driver.  */
+static int channel;
+/* Nonzero iff channel is valid.  */
+static int getloadavg_initialized;
+/* Offset in kmem to seek to read load average, or 0 means invalid.  */
+static long offset;
+
+#if !defined(VMS) && !defined(sgi) && !defined(__linux__)
+static struct nlist nl[2];
+#endif /* Not VMS or sgi */
+
+#ifdef SUNOS_5
+static kvm_t *kd;
+#endif /* SUNOS_5 */
+
+#endif /* LOAD_AVE_TYPE && !HAVE_LIBKSTAT */
+\f
+/* Put the 1 minute, 5 minute and 15 minute load averages
+   into the first NELEM elements of LOADAVG.
+   Return the number written (never more than 3, but may be less than NELEM),
+   or -1 if an error occurred.  */
+
+int
+getloadavg (loadavg, nelem)
+     double loadavg[];
+     int nelem;
+{
+  int elem = 0;                        /* Return value.  */
+
+# ifdef NO_GET_LOAD_AVG
+#  define LDAV_DONE
+  /* Set errno to zero to indicate that there was no particular error;
+     this function just can't work at all on this system.  */
+  errno = 0;
+  elem = -1;
+# endif
+
+# if !defined (LDAV_DONE) && defined (HAVE_LIBKSTAT)
+/* Use libkstat because we don't have to be root.  */
+#  define LDAV_DONE
+  kstat_ctl_t *kc;
+  kstat_t *ksp;
+  kstat_named_t *kn;
+
+  kc = kstat_open ();
+  if (kc == 0)
+    return -1;
+  ksp = kstat_lookup (kc, "unix", 0, "system_misc");
+  if (ksp == 0 )
+    return -1;
+  if (kstat_read (kc, ksp, 0) == -1)
+    return -1;
+
+
+  kn = kstat_data_lookup (ksp, "avenrun_1min");
+  if (kn == 0)
+    {
+      /* Return -1 if no load average information is available.  */
+      nelem = 0;
+      elem = -1;
+    }
+
+  if (nelem >= 1)
+    loadavg[elem++] = (double) kn->value.ul/FSCALE;
+
+  if (nelem >= 2)
+    {
+      kn = kstat_data_lookup (ksp, "avenrun_5min");
+      if (kn != 0)
+       {
+         loadavg[elem++] = (double) kn->value.ul/FSCALE;
+
+         if (nelem >= 3)
+           {
+             kn = kstat_data_lookup (ksp, "avenrun_15min");
+             if (kn != 0)
+               loadavg[elem++] = (double) kn->value.ul/FSCALE;
+           }
+       }
+    }
+
+  kstat_close (kc);
+# endif /* HAVE_LIBKSTAT */
+
+# if !defined (LDAV_DONE) && defined (hpux) && defined (HAVE_PSTAT_GETDYNAMIC)
+/* Use pstat_getdynamic() because we don't have to be root.  */
+#  define LDAV_DONE
+#  undef LOAD_AVE_TYPE
+
+  struct pst_dynamic dyn_info;
+  if (pstat_getdynamic (&dyn_info, sizeof (dyn_info), 0, 0) < 0)
+    return -1;
+  if (nelem > 0)
+    loadavg[elem++] = dyn_info.psd_avg_1_min;
+  if (nelem > 1)
+    loadavg[elem++] = dyn_info.psd_avg_5_min;
+  if (nelem > 2)
+    loadavg[elem++] = dyn_info.psd_avg_15_min;
+
+# endif /* hpux && HAVE_PSTAT_GETDYNAMIC */
+
+# if !defined (LDAV_DONE) && defined (__linux__)
+#  define LDAV_DONE
+#  undef LOAD_AVE_TYPE
+
+#  ifndef LINUX_LDAV_FILE
+#   define LINUX_LDAV_FILE "/proc/loadavg"
+#  endif
+
+  char ldavgbuf[40];
+  double load_ave[3];
+  int fd, count;
+
+  fd = open (LINUX_LDAV_FILE, O_RDONLY);
+  if (fd == -1)
+    return -1;
+  count = read (fd, ldavgbuf, 40);
+  (void) close (fd);
+  if (count <= 0)
+    return -1;
+
+  /* The following sscanf must use the C locale.  */
+  setlocale (LC_NUMERIC, "C");
+  count = sscanf (ldavgbuf, "%lf %lf %lf",
+                 &load_ave[0], &load_ave[1], &load_ave[2]);
+  setlocale (LC_NUMERIC, "");
+  if (count < 1)
+    return -1;
+
+  for (elem = 0; elem < nelem && elem < count; elem++)
+    loadavg[elem] = load_ave[elem];
+
+  return elem;
+
+# endif /* __linux__ */
+
+# if !defined (LDAV_DONE) && defined (__NetBSD__)
+#  define LDAV_DONE
+#  undef LOAD_AVE_TYPE
+
+#  ifndef NETBSD_LDAV_FILE
+#   define NETBSD_LDAV_FILE "/kern/loadavg"
+#  endif
+
+  unsigned long int load_ave[3], scale;
+  int count;
+  FILE *fp;
+
+  fp = fopen (NETBSD_LDAV_FILE, "r");
+  if (fp == NULL)
+    return -1;
+  count = fscanf (fp, "%lu %lu %lu %lu\n",
+                 &load_ave[0], &load_ave[1], &load_ave[2],
+                 &scale);
+  (void) fclose (fp);
+  if (count != 4)
+    return -1;
+
+  for (elem = 0; elem < nelem; elem++)
+    loadavg[elem] = (double) load_ave[elem] / (double) scale;
+
+  return elem;
+
+# endif /* __NetBSD__ */
+
+# if !defined (LDAV_DONE) && defined (NeXT)
+#  define LDAV_DONE
+  /* The NeXT code was adapted from iscreen 3.2.  */
+
+  host_t host;
+  struct processor_set_basic_info info;
+  unsigned info_count;
+
+  /* We only know how to get the 1-minute average for this system,
+     so even if the caller asks for more than 1, we only return 1.  */
+
+  if (!getloadavg_initialized)
+    {
+      if (processor_set_default (host_self (), &default_set) == KERN_SUCCESS)
+       getloadavg_initialized = 1;
+    }
+
+  if (getloadavg_initialized)
+    {
+      info_count = PROCESSOR_SET_BASIC_INFO_COUNT;
+      if (processor_set_info (default_set, PROCESSOR_SET_BASIC_INFO, &host,
+                             (processor_set_info_t) &info, &info_count)
+         != KERN_SUCCESS)
+       getloadavg_initialized = 0;
+      else
+       {
+         if (nelem > 0)
+           loadavg[elem++] = (double) info.load_average / LOAD_SCALE;
+       }
+    }
+
+  if (!getloadavg_initialized)
+    return -1;
+# endif /* NeXT */
+
+# if !defined (LDAV_DONE) && defined (UMAX)
+#  define LDAV_DONE
+/* UMAX 4.2, which runs on the Encore Multimax multiprocessor, does not
+   have a /dev/kmem.  Information about the workings of the running kernel
+   can be gathered with inq_stats system calls.
+   We only know how to get the 1-minute average for this system.  */
+
+  struct proc_summary proc_sum_data;
+  struct stat_descr proc_info;
+  double load;
+  register unsigned int i, j;
+
+  if (cpus == 0)
+    {
+      register unsigned int c, i;
+      struct cpu_config conf;
+      struct stat_descr desc;
+
+      desc.sd_next = 0;
+      desc.sd_subsys = SUBSYS_CPU;
+      desc.sd_type = CPUTYPE_CONFIG;
+      desc.sd_addr = (char *) &conf;
+      desc.sd_size = sizeof conf;
+
+      if (inq_stats (1, &desc))
+       return -1;
+
+      c = 0;
+      for (i = 0; i < conf.config_maxclass; ++i)
+       {
+         struct class_stats stats;
+         bzero ((char *) &stats, sizeof stats);
+
+         desc.sd_type = CPUTYPE_CLASS;
+         desc.sd_objid = i;
+         desc.sd_addr = (char *) &stats;
+         desc.sd_size = sizeof stats;
+
+         if (inq_stats (1, &desc))
+           return -1;
+
+         c += stats.class_numcpus;
+       }
+      cpus = c;
+      samples = cpus < 2 ? 3 : (2 * cpus / 3);
+    }
+
+  proc_info.sd_next = 0;
+  proc_info.sd_subsys = SUBSYS_PROC;
+  proc_info.sd_type = PROCTYPE_SUMMARY;
+  proc_info.sd_addr = (char *) &proc_sum_data;
+  proc_info.sd_size = sizeof (struct proc_summary);
+  proc_info.sd_sizeused = 0;
+
+  if (inq_stats (1, &proc_info) != 0)
+    return -1;
+
+  load = proc_sum_data.ps_nrunnable;
+  j = 0;
+  for (i = samples - 1; i > 0; --i)
+    {
+      load += proc_sum_data.ps_nrun[j];
+      if (j++ == PS_NRUNSIZE)
+       j = 0;
+    }
+
+  if (nelem > 0)
+    loadavg[elem++] = load / samples / cpus;
+# endif /* UMAX */
+
+# if !defined (LDAV_DONE) && defined (DGUX)
+#  define LDAV_DONE
+  /* This call can return -1 for an error, but with good args
+     it's not supposed to fail.  The first argument is for no
+     apparent reason of type `long int *'.  */
+  dg_sys_info ((long int *) &load_info,
+              DG_SYS_INFO_LOAD_INFO_TYPE,
+              DG_SYS_INFO_LOAD_VERSION_0);
+
+  if (nelem > 0)
+    loadavg[elem++] = load_info.one_minute;
+  if (nelem > 1)
+    loadavg[elem++] = load_info.five_minute;
+  if (nelem > 2)
+    loadavg[elem++] = load_info.fifteen_minute;
+# endif /* DGUX */
+
+# if !defined (LDAV_DONE) && defined (apollo)
+#  define LDAV_DONE
+/* Apollo code from lisch@mentorg.com (Ray Lischner).
+
+   This system call is not documented.  The load average is obtained as
+   three long integers, for the load average over the past minute,
+   five minutes, and fifteen minutes.  Each value is a scaled integer,
+   with 16 bits of integer part and 16 bits of fraction part.
+
+   I'm not sure which operating system first supported this system call,
+   but I know that SR10.2 supports it.  */
+
+  extern void proc1_$get_loadav ();
+  unsigned long load_ave[3];
+
+  proc1_$get_loadav (load_ave);
+
+  if (nelem > 0)
+    loadavg[elem++] = load_ave[0] / 65536.0;
+  if (nelem > 1)
+    loadavg[elem++] = load_ave[1] / 65536.0;
+  if (nelem > 2)
+    loadavg[elem++] = load_ave[2] / 65536.0;
+# endif /* apollo */
+
+# if !defined (LDAV_DONE) && defined (OSF_MIPS)
+#  define LDAV_DONE
+
+  struct tbl_loadavg load_ave;
+  table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave));
+  loadavg[elem++]
+    = (load_ave.tl_lscale == 0
+       ? load_ave.tl_avenrun.d[0]
+       : (load_ave.tl_avenrun.l[0] / (double) load_ave.tl_lscale));
+# endif        /* OSF_MIPS */
+
+# if !defined (LDAV_DONE) && (defined (__MSDOS__) || defined (WINDOWS32))
+#  define LDAV_DONE
+
+  /* A faithful emulation is going to have to be saved for a rainy day.  */
+  for ( ; elem < nelem; elem++)
+    {
+      loadavg[elem] = 0.0;
+    }
+# endif  /* __MSDOS__ || WINDOWS32 */
+
+# if !defined (LDAV_DONE) && defined (OSF_ALPHA)
+#  define LDAV_DONE
+
+  struct tbl_loadavg load_ave;
+  table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave));
+  for (elem = 0; elem < nelem; elem++)
+    loadavg[elem]
+      = (load_ave.tl_lscale == 0
+       ? load_ave.tl_avenrun.d[elem]
+       : (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale));
+# endif /* OSF_ALPHA */
+
+# if !defined (LDAV_DONE) && defined (VMS)
+  /* VMS specific code -- read from the Load Ave driver.  */
+
+  LOAD_AVE_TYPE load_ave[3];
+  static int getloadavg_initialized = 0;
+#  ifdef eunice
+  struct
+  {
+    int dsc$w_length;
+    char *dsc$a_pointer;
+  } descriptor;
+#  endif
+
+  /* Ensure that there is a channel open to the load ave device.  */
+  if (!getloadavg_initialized)
+    {
+      /* Attempt to open the channel.  */
+#  ifdef eunice
+      descriptor.dsc$w_length = 18;
+      descriptor.dsc$a_pointer = "$$VMS_LOAD_AVERAGE";
+#  else
+      $DESCRIPTOR (descriptor, "LAV0:");
+#  endif
+      if (sys$assign (&descriptor, &channel, 0, 0) & 1)
+       getloadavg_initialized = 1;
+    }
+
+  /* Read the load average vector.  */
+  if (getloadavg_initialized
+      && !(sys$qiow (0, channel, IO$_READVBLK, 0, 0, 0,
+                    load_ave, 12, 0, 0, 0, 0) & 1))
+    {
+      sys$dassgn (channel);
+      getloadavg_initialized = 0;
+    }
+
+  if (!getloadavg_initialized)
+    return -1;
+# endif /* VMS */
+
+# if !defined (LDAV_DONE) && defined(LOAD_AVE_TYPE) && !defined(VMS)
+
+  /* UNIX-specific code -- read the average from /dev/kmem.  */
+
+#  define LDAV_PRIVILEGED              /* This code requires special installation.  */
+
+  LOAD_AVE_TYPE load_ave[3];
+
+  /* Get the address of LDAV_SYMBOL.  */
+  if (offset == 0)
+    {
+#  ifndef sgi
+#   ifndef NLIST_STRUCT
+      strcpy (nl[0].n_name, LDAV_SYMBOL);
+      strcpy (nl[1].n_name, "");
+#   else /* NLIST_STRUCT */
+#    ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME
+      nl[0].n_un.n_name = LDAV_SYMBOL;
+      nl[1].n_un.n_name = 0;
+#    else /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */
+      nl[0].n_name = LDAV_SYMBOL;
+      nl[1].n_name = 0;
+#    endif /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */
+#   endif /* NLIST_STRUCT */
+
+#   ifndef SUNOS_5
+      if (
+#    if !(defined (_AIX) && !defined (ps2))
+         nlist (KERNEL_FILE, nl)
+#    else  /* _AIX */
+         knlist (nl, 1, sizeof (nl[0]))
+#    endif
+         >= 0)
+         /* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i.  */
+         {
+#    ifdef FIXUP_KERNEL_SYMBOL_ADDR
+           FIXUP_KERNEL_SYMBOL_ADDR (nl);
+#    endif
+           offset = nl[0].n_value;
+         }
+#   endif /* !SUNOS_5 */
+#  else  /* sgi */
+      int ldav_off;
+
+      ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN);
+      if (ldav_off != -1)
+       offset = (long) ldav_off & 0x7fffffff;
+#  endif /* sgi */
+    }
+
+  /* Make sure we have /dev/kmem open.  */
+  if (!getloadavg_initialized)
+    {
+#  ifndef SUNOS_5
+      channel = open ("/dev/kmem", 0);
+      if (channel >= 0)
+       {
+         /* Set the channel to close on exec, so it does not
+            litter any child's descriptor table.  */
+#   ifdef F_SETFD
+#    ifndef FD_CLOEXEC
+#     define FD_CLOEXEC 1
+#    endif
+         (void) fcntl (channel, F_SETFD, FD_CLOEXEC);
+#   endif
+         getloadavg_initialized = 1;
+       }
+#  else /* SUNOS_5 */
+      /* We pass 0 for the kernel, corefile, and swapfile names
+        to use the currently running kernel.  */
+      kd = kvm_open (0, 0, 0, O_RDONLY, 0);
+      if (kd != 0)
+       {
+         /* nlist the currently running kernel.  */
+         kvm_nlist (kd, nl);
+         offset = nl[0].n_value;
+         getloadavg_initialized = 1;
+       }
+#  endif /* SUNOS_5 */
+    }
+
+  /* If we can, get the load average values.  */
+  if (offset && getloadavg_initialized)
+    {
+      /* Try to read the load.  */
+#  ifndef SUNOS_5
+      if (lseek (channel, offset, 0) == -1L
+         || read (channel, (char *) load_ave, sizeof (load_ave))
+         != sizeof (load_ave))
+       {
+         close (channel);
+         getloadavg_initialized = 0;
+       }
+#  else  /* SUNOS_5 */
+      if (kvm_read (kd, offset, (char *) load_ave, sizeof (load_ave))
+         != sizeof (load_ave))
+        {
+          kvm_close (kd);
+          getloadavg_initialized = 0;
+       }
+#  endif /* SUNOS_5 */
+    }
+
+  if (offset == 0 || !getloadavg_initialized)
+    return -1;
+# endif /* LOAD_AVE_TYPE and not VMS */
+
+# if !defined (LDAV_DONE) && defined (LOAD_AVE_TYPE) /* Including VMS.  */
+  if (nelem > 0)
+    loadavg[elem++] = LDAV_CVT (load_ave[0]);
+  if (nelem > 1)
+    loadavg[elem++] = LDAV_CVT (load_ave[1]);
+  if (nelem > 2)
+    loadavg[elem++] = LDAV_CVT (load_ave[2]);
+
+#  define LDAV_DONE
+# endif /* !LDAV_DONE && LOAD_AVE_TYPE */
+
+# ifdef LDAV_DONE
+  return elem;
+# else
+  /* Set errno to zero to indicate that there was no particular error;
+     this function just can't work at all on this system.  */
+  errno = 0;
+  return -1;
+# endif
+}
+
+#endif /* ! HAVE_GETLOADAVG */
+\f
+#ifdef TEST
+#include "make.h"
+
+int
+main (argc, argv)
+     int argc;
+     char **argv;
+{
+  int naptime = 0;
+
+  if (argc > 1)
+    naptime = atoi (argv[1]);
+
+  while (1)
+    {
+      double avg[3];
+      int loads;
+
+      errno = 0;               /* Don't be misled if it doesn't set errno.  */
+      loads = getloadavg (avg, 3);
+      if (loads == -1)
+       {
+         perror ("Error getting load average");
+         exit (1);
+       }
+      if (loads > 0)
+       printf ("1-minute: %f  ", avg[0]);
+      if (loads > 1)
+       printf ("5-minute: %f  ", avg[1]);
+      if (loads > 2)
+       printf ("15-minute: %f  ", avg[2]);
+      if (loads > 0)
+       putchar ('\n');
+
+      if (naptime == 0)
+       break;
+      sleep (naptime);
+    }
+
+  exit (0);
+}
+#endif /* TEST */
diff --git a/src/mkutil/make-3.80/getopt.c b/src/mkutil/make-3.80/getopt.c
new file mode 100644 (file)
index 0000000..cd77419
--- /dev/null
@@ -0,0 +1,1047 @@
+/* Getopt for GNU.
+   NOTE: getopt is now part of the C library, so if you don't know what
+   "Keep this file name-space clean" means, talk to drepper@gnu.org
+   before changing it!
+
+   Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98
+       Free Software Foundation, Inc.
+
+   NOTE: The canonical source of this file is maintained with the GNU C Library.
+   Bugs can be reported to bug-glibc@gnu.org.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+\f
+/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
+   Ditto for AIX 3.2 and <stdlib.h>.  */
+#ifndef _NO_PROTO
+# define _NO_PROTO
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#if !defined __STDC__ || !__STDC__
+/* This is a separate conditional since some stdc systems
+   reject `defined (const)'.  */
+# ifndef const
+#  define const
+# endif
+#endif
+
+#include <stdio.h>
+
+/* Comment out all this code if we are using the GNU C Library, and are not
+   actually compiling the library itself.  This code is part of the GNU C
+   Library, but also included in many other GNU distributions.  Compiling
+   and linking in this code is a waste when using the GNU C library
+   (especially if it is a shared library).  Rather than having every GNU
+   program understand `configure --with-gnu-libc' and omit the object files,
+   it is simpler to just do this in the source for each such file.  */
+
+#define GETOPT_INTERFACE_VERSION 2
+#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
+# include <gnu-versions.h>
+# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
+#  define ELIDE_CODE
+# endif
+#endif
+
+#ifndef ELIDE_CODE
+
+
+/* This needs to come after some library #include
+   to get __GNU_LIBRARY__ defined.  */
+#ifdef __GNU_LIBRARY__
+/* Don't include stdlib.h for non-GNU C libraries because some of them
+   contain conflicting prototypes for getopt.  */
+# include <stdlib.h>
+# include <unistd.h>
+#endif /* GNU C library.  */
+
+#ifdef VMS
+# include <unixlib.h>
+# if HAVE_STRING_H - 0
+#  include <string.h>
+# endif
+#endif
+
+/* This is for other GNU distributions with internationalized messages.
+   When compiling libc, the _ macro is predefined.  */
+#include "gettext.h"
+#define _(msgid)    gettext (msgid)
+
+
+/* This version of `getopt' appears to the caller like standard Unix `getopt'
+   but it behaves differently for the user, since it allows the user
+   to intersperse the options with the other arguments.
+
+   As `getopt' works, it permutes the elements of ARGV so that,
+   when it is done, all the options precede everything else.  Thus
+   all application programs are extended to handle flexible argument order.
+
+   Setting the environment variable POSIXLY_CORRECT disables permutation.
+   Then the behavior is completely standard.
+
+   GNU application programs can use a third alternative mode in which
+   they can distinguish the relative order of options and other arguments.  */
+
+#include "getopt.h"
+
+/* For communication from `getopt' to the caller.
+   When `getopt' finds an option that takes an argument,
+   the argument value is returned here.
+   Also, when `ordering' is RETURN_IN_ORDER,
+   each non-option ARGV-element is returned here.  */
+
+char *optarg = NULL;
+
+/* Index in ARGV of the next element to be scanned.
+   This is used for communication to and from the caller
+   and for communication between successive calls to `getopt'.
+
+   On entry to `getopt', zero means this is the first call; initialize.
+
+   When `getopt' returns -1, this is the index of the first of the
+   non-option elements that the caller should itself scan.
+
+   Otherwise, `optind' communicates from one call to the next
+   how much of ARGV has been scanned so far.  */
+
+/* 1003.2 says this must be 1 before any call.  */
+int optind = 1;
+
+/* Formerly, initialization of getopt depended on optind==0, which
+   causes problems with re-calling getopt as programs generally don't
+   know that. */
+
+int __getopt_initialized = 0;
+
+/* The next char to be scanned in the option-element
+   in which the last option character we returned was found.
+   This allows us to pick up the scan where we left off.
+
+   If this is zero, or a null string, it means resume the scan
+   by advancing to the next ARGV-element.  */
+
+static char *nextchar;
+
+/* Callers store zero here to inhibit the error message
+   for unrecognized options.  */
+
+int opterr = 1;
+
+/* Set to an option character which was unrecognized.
+   This must be initialized on some systems to avoid linking in the
+   system's own getopt implementation.  */
+
+int optopt = '?';
+
+/* Describe how to deal with options that follow non-option ARGV-elements.
+
+   If the caller did not specify anything,
+   the default is REQUIRE_ORDER if the environment variable
+   POSIXLY_CORRECT is defined, PERMUTE otherwise.
+
+   REQUIRE_ORDER means don't recognize them as options;
+   stop option processing when the first non-option is seen.
+   This is what Unix does.
+   This mode of operation is selected by either setting the environment
+   variable POSIXLY_CORRECT, or using `+' as the first character
+   of the list of option characters.
+
+   PERMUTE is the default.  We permute the contents of ARGV as we scan,
+   so that eventually all the non-options are at the end.  This allows options
+   to be given in any order, even with programs that were not written to
+   expect this.
+
+   RETURN_IN_ORDER is an option available to programs that were written
+   to expect options and other ARGV-elements in any order and that care about
+   the ordering of the two.  We describe each non-option ARGV-element
+   as if it were the argument of an option with character code 1.
+   Using `-' as the first character of the list of option characters
+   selects this mode of operation.
+
+   The special argument `--' forces an end of option-scanning regardless
+   of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
+   `--' can cause `getopt' to return -1 with `optind' != ARGC.  */
+
+static enum
+{
+  REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
+} ordering;
+
+/* Value of POSIXLY_CORRECT environment variable.  */
+static char *posixly_correct;
+\f
+#ifdef __GNU_LIBRARY__
+/* We want to avoid inclusion of string.h with non-GNU libraries
+   because there are many ways it can cause trouble.
+   On some systems, it contains special magic macros that don't work
+   in GCC.  */
+# include <string.h>
+# define my_index      strchr
+#else
+
+# if HAVE_STRING_H
+#  include <string.h>
+# else
+#  include <strings.h>
+# endif
+
+/* Avoid depending on library functions or files
+   whose names are inconsistent.  */
+
+#ifndef getenv
+extern char *getenv ();
+#endif
+
+static char *
+my_index (str, chr)
+     const char *str;
+     int chr;
+{
+  while (*str)
+    {
+      if (*str == chr)
+       return (char *) str;
+      str++;
+    }
+  return 0;
+}
+
+/* If using GCC, we can safely declare strlen this way.
+   If not using GCC, it is ok not to declare it.  */
+#ifdef __GNUC__
+/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
+   That was relevant to code that was here before.  */
+# if (!defined __STDC__ || !__STDC__) && !defined strlen
+/* gcc with -traditional declares the built-in strlen to return int,
+   and has done so at least since version 2.4.5. -- rms.  */
+extern int strlen (const char *);
+# endif /* not __STDC__ */
+#endif /* __GNUC__ */
+
+#endif /* not __GNU_LIBRARY__ */
+\f
+/* Handle permutation of arguments.  */
+
+/* Describe the part of ARGV that contains non-options that have
+   been skipped.  `first_nonopt' is the index in ARGV of the first of them;
+   `last_nonopt' is the index after the last of them.  */
+
+static int first_nonopt;
+static int last_nonopt;
+
+#ifdef _LIBC
+/* Bash 2.0 gives us an environment variable containing flags
+   indicating ARGV elements that should not be considered arguments.  */
+
+/* Defined in getopt_init.c  */
+extern char *__getopt_nonoption_flags;
+
+static int nonoption_flags_max_len;
+static int nonoption_flags_len;
+
+static int original_argc;
+static char *const *original_argv;
+
+/* Make sure the environment variable bash 2.0 puts in the environment
+   is valid for the getopt call we must make sure that the ARGV passed
+   to getopt is that one passed to the process.  */
+static void
+__attribute__ ((unused))
+store_args_and_env (int argc, char *const *argv)
+{
+  /* XXX This is no good solution.  We should rather copy the args so
+     that we can compare them later.  But we must not use malloc(3).  */
+  original_argc = argc;
+  original_argv = argv;
+}
+# ifdef text_set_element
+text_set_element (__libc_subinit, store_args_and_env);
+# endif /* text_set_element */
+
+# define SWAP_FLAGS(ch1, ch2) \
+  if (nonoption_flags_len > 0)                                               \
+    {                                                                        \
+      char __tmp = __getopt_nonoption_flags[ch1];                            \
+      __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];         \
+      __getopt_nonoption_flags[ch2] = __tmp;                                 \
+    }
+#else  /* !_LIBC */
+# define SWAP_FLAGS(ch1, ch2)
+#endif /* _LIBC */
+
+/* Exchange two adjacent subsequences of ARGV.
+   One subsequence is elements [first_nonopt,last_nonopt)
+   which contains all the non-options that have been skipped so far.
+   The other is elements [last_nonopt,optind), which contains all
+   the options processed since those non-options were skipped.
+
+   `first_nonopt' and `last_nonopt' are relocated so that they describe
+   the new indices of the non-options in ARGV after they are moved.  */
+
+#if defined __STDC__ && __STDC__
+static void exchange (char **);
+#endif
+
+static void
+exchange (argv)
+     char **argv;
+{
+  int bottom = first_nonopt;
+  int middle = last_nonopt;
+  int top = optind;
+  char *tem;
+
+  /* Exchange the shorter segment with the far end of the longer segment.
+     That puts the shorter segment into the right place.
+     It leaves the longer segment in the right place overall,
+     but it consists of two parts that need to be swapped next.  */
+
+#ifdef _LIBC
+  /* First make sure the handling of the `__getopt_nonoption_flags'
+     string can work normally.  Our top argument must be in the range
+     of the string.  */
+  if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len)
+    {
+      /* We must extend the array.  The user plays games with us and
+        presents new arguments.  */
+      char *new_str = malloc (top + 1);
+      if (new_str == NULL)
+       nonoption_flags_len = nonoption_flags_max_len = 0;
+      else
+       {
+         memset (__mempcpy (new_str, __getopt_nonoption_flags,
+                            nonoption_flags_max_len),
+                 '\0', top + 1 - nonoption_flags_max_len);
+         nonoption_flags_max_len = top + 1;
+         __getopt_nonoption_flags = new_str;
+       }
+    }
+#endif
+
+  while (top > middle && middle > bottom)
+    {
+      if (top - middle > middle - bottom)
+       {
+         /* Bottom segment is the short one.  */
+         int len = middle - bottom;
+         register int i;
+
+         /* Swap it with the top part of the top segment.  */
+         for (i = 0; i < len; i++)
+           {
+             tem = argv[bottom + i];
+             argv[bottom + i] = argv[top - (middle - bottom) + i];
+             argv[top - (middle - bottom) + i] = tem;
+             SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
+           }
+         /* Exclude the moved bottom segment from further swapping.  */
+         top -= len;
+       }
+      else
+       {
+         /* Top segment is the short one.  */
+         int len = top - middle;
+         register int i;
+
+         /* Swap it with the bottom part of the bottom segment.  */
+         for (i = 0; i < len; i++)
+           {
+             tem = argv[bottom + i];
+             argv[bottom + i] = argv[middle + i];
+             argv[middle + i] = tem;
+             SWAP_FLAGS (bottom + i, middle + i);
+           }
+         /* Exclude the moved top segment from further swapping.  */
+         bottom += len;
+       }
+    }
+
+  /* Update records for the slots the non-options now occupy.  */
+
+  first_nonopt += (optind - last_nonopt);
+  last_nonopt = optind;
+}
+
+/* Initialize the internal data when the first call is made.  */
+
+#if defined __STDC__ && __STDC__
+static const char *_getopt_initialize (int, char *const *, const char *);
+#endif
+static const char *
+_getopt_initialize (argc, argv, optstring)
+     int argc;
+     char *const *argv;
+     const char *optstring;
+{
+  /* Start processing options with ARGV-element 1 (since ARGV-element 0
+     is the program name); the sequence of previously skipped
+     non-option ARGV-elements is empty.  */
+
+  first_nonopt = last_nonopt = optind;
+
+  nextchar = NULL;
+
+  posixly_correct = getenv ("POSIXLY_CORRECT");
+
+  /* Determine how to handle the ordering of options and nonoptions.  */
+
+  if (optstring[0] == '-')
+    {
+      ordering = RETURN_IN_ORDER;
+      ++optstring;
+    }
+  else if (optstring[0] == '+')
+    {
+      ordering = REQUIRE_ORDER;
+      ++optstring;
+    }
+  else if (posixly_correct != NULL)
+    ordering = REQUIRE_ORDER;
+  else
+    ordering = PERMUTE;
+
+#ifdef _LIBC
+  if (posixly_correct == NULL
+      && argc == original_argc && argv == original_argv)
+    {
+      if (nonoption_flags_max_len == 0)
+       {
+         if (__getopt_nonoption_flags == NULL
+             || __getopt_nonoption_flags[0] == '\0')
+           nonoption_flags_max_len = -1;
+         else
+           {
+             const char *orig_str = __getopt_nonoption_flags;
+             int len = nonoption_flags_max_len = strlen (orig_str);
+             if (nonoption_flags_max_len < argc)
+               nonoption_flags_max_len = argc;
+             __getopt_nonoption_flags =
+               (char *) malloc (nonoption_flags_max_len);
+             if (__getopt_nonoption_flags == NULL)
+               nonoption_flags_max_len = -1;
+             else
+               memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
+                       '\0', nonoption_flags_max_len - len);
+           }
+       }
+      nonoption_flags_len = nonoption_flags_max_len;
+    }
+  else
+    nonoption_flags_len = 0;
+#endif
+
+  return optstring;
+}
+\f
+/* Scan elements of ARGV (whose length is ARGC) for option characters
+   given in OPTSTRING.
+
+   If an element of ARGV starts with '-', and is not exactly "-" or "--",
+   then it is an option element.  The characters of this element
+   (aside from the initial '-') are option characters.  If `getopt'
+   is called repeatedly, it returns successively each of the option characters
+   from each of the option elements.
+
+   If `getopt' finds another option character, it returns that character,
+   updating `optind' and `nextchar' so that the next call to `getopt' can
+   resume the scan with the following option character or ARGV-element.
+
+   If there are no more option characters, `getopt' returns -1.
+   Then `optind' is the index in ARGV of the first ARGV-element
+   that is not an option.  (The ARGV-elements have been permuted
+   so that those that are not options now come last.)
+
+   OPTSTRING is a string containing the legitimate option characters.
+   If an option character is seen that is not listed in OPTSTRING,
+   return '?' after printing an error message.  If you set `opterr' to
+   zero, the error message is suppressed but we still return '?'.
+
+   If a char in OPTSTRING is followed by a colon, that means it wants an arg,
+   so the following text in the same ARGV-element, or the text of the following
+   ARGV-element, is returned in `optarg'.  Two colons mean an option that
+   wants an optional arg; if there is text in the current ARGV-element,
+   it is returned in `optarg', otherwise `optarg' is set to zero.
+
+   If OPTSTRING starts with `-' or `+', it requests different methods of
+   handling the non-option ARGV-elements.
+   See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
+
+   Long-named options begin with `--' instead of `-'.
+   Their names may be abbreviated as long as the abbreviation is unique
+   or is an exact match for some defined option.  If they have an
+   argument, it follows the option name in the same ARGV-element, separated
+   from the option name by a `=', or else the in next ARGV-element.
+   When `getopt' finds a long-named option, it returns 0 if that option's
+   `flag' field is nonzero, the value of the option's `val' field
+   if the `flag' field is zero.
+
+   The elements of ARGV aren't really const, because we permute them.
+   But we pretend they're const in the prototype to be compatible
+   with other systems.
+
+   LONGOPTS is a vector of `struct option' terminated by an
+   element containing a name which is zero.
+
+   LONGIND returns the index in LONGOPT of the long-named option found.
+   It is only valid when a long-named option has been found by the most
+   recent call.
+
+   If LONG_ONLY is nonzero, '-' as well as '--' can introduce
+   long-named options.  */
+
+int
+_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
+     int argc;
+     char *const *argv;
+     const char *optstring;
+     const struct option *longopts;
+     int *longind;
+     int long_only;
+{
+  optarg = NULL;
+
+  if (optind == 0 || !__getopt_initialized)
+    {
+      if (optind == 0)
+       optind = 1;     /* Don't scan ARGV[0], the program name.  */
+      optstring = _getopt_initialize (argc, argv, optstring);
+      __getopt_initialized = 1;
+    }
+
+  /* Test whether ARGV[optind] points to a non-option argument.
+     Either it does not have option syntax, or there is an environment flag
+     from the shell indicating it is not an option.  The later information
+     is only used when the used in the GNU libc.  */
+#ifdef _LIBC
+# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0'              \
+                     || (optind < nonoption_flags_len                        \
+                         && __getopt_nonoption_flags[optind] == '1'))
+#else
+# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')
+#endif
+
+  if (nextchar == NULL || *nextchar == '\0')
+    {
+      /* Advance to the next ARGV-element.  */
+
+      /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
+        moved back by the user (who may also have changed the arguments).  */
+      if (last_nonopt > optind)
+       last_nonopt = optind;
+      if (first_nonopt > optind)
+       first_nonopt = optind;
+
+      if (ordering == PERMUTE)
+       {
+         /* If we have just processed some options following some non-options,
+            exchange them so that the options come first.  */
+
+         if (first_nonopt != last_nonopt && last_nonopt != optind)
+           exchange ((char **) argv);
+         else if (last_nonopt != optind)
+           first_nonopt = optind;
+
+         /* Skip any additional non-options
+            and extend the range of non-options previously skipped.  */
+
+         while (optind < argc && NONOPTION_P)
+           optind++;
+         last_nonopt = optind;
+       }
+
+      /* The special ARGV-element `--' means premature end of options.
+        Skip it like a null option,
+        then exchange with previous non-options as if it were an option,
+        then skip everything else like a non-option.  */
+
+      if (optind != argc && !strcmp (argv[optind], "--"))
+       {
+         optind++;
+
+         if (first_nonopt != last_nonopt && last_nonopt != optind)
+           exchange ((char **) argv);
+         else if (first_nonopt == last_nonopt)
+           first_nonopt = optind;
+         last_nonopt = argc;
+
+         optind = argc;
+       }
+
+      /* If we have done all the ARGV-elements, stop the scan
+        and back over any non-options that we skipped and permuted.  */
+
+      if (optind == argc)
+       {
+         /* Set the next-arg-index to point at the non-options
+            that we previously skipped, so the caller will digest them.  */
+         if (first_nonopt != last_nonopt)
+           optind = first_nonopt;
+         return -1;
+       }
+
+      /* If we have come to a non-option and did not permute it,
+        either stop the scan or describe it to the caller and pass it by.  */
+
+      if (NONOPTION_P)
+       {
+         if (ordering == REQUIRE_ORDER)
+           return -1;
+         optarg = argv[optind++];
+         return 1;
+       }
+
+      /* We have found another option-ARGV-element.
+        Skip the initial punctuation.  */
+
+      nextchar = (argv[optind] + 1
+                 + (longopts != NULL && argv[optind][1] == '-'));
+    }
+
+  /* Decode the current option-ARGV-element.  */
+
+  /* Check whether the ARGV-element is a long option.
+
+     If long_only and the ARGV-element has the form "-f", where f is
+     a valid short option, don't consider it an abbreviated form of
+     a long option that starts with f.  Otherwise there would be no
+     way to give the -f short option.
+
+     On the other hand, if there's a long option "fubar" and
+     the ARGV-element is "-fu", do consider that an abbreviation of
+     the long option, just like "--fu", and not "-f" with arg "u".
+
+     This distinction seems to be the most useful approach.  */
+
+  if (longopts != NULL
+      && (argv[optind][1] == '-'
+         || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
+    {
+      char *nameend;
+      const struct option *p;
+      const struct option *pfound = NULL;
+      int exact = 0;
+      int ambig = 0;
+      int indfound = -1;
+      int option_index;
+
+      for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
+       /* Do nothing.  */ ;
+
+      /* Test all long options for either exact match
+        or abbreviated matches.  */
+      for (p = longopts, option_index = 0; p->name; p++, option_index++)
+       if (!strncmp (p->name, nextchar, nameend - nextchar))
+         {
+           if ((unsigned int) (nameend - nextchar)
+               == (unsigned int) strlen (p->name))
+             {
+               /* Exact match found.  */
+               pfound = p;
+               indfound = option_index;
+               exact = 1;
+               break;
+             }
+           else if (pfound == NULL)
+             {
+               /* First nonexact match found.  */
+               pfound = p;
+               indfound = option_index;
+             }
+           else
+             /* Second or later nonexact match found.  */
+             ambig = 1;
+         }
+
+      if (ambig && !exact)
+       {
+         if (opterr)
+           fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+                    argv[0], argv[optind]);
+         nextchar += strlen (nextchar);
+         optind++;
+         optopt = 0;
+         return '?';
+       }
+
+      if (pfound != NULL)
+       {
+         option_index = indfound;
+         optind++;
+         if (*nameend)
+           {
+             /* Don't test has_arg with >, because some C compilers don't
+                allow it to be used on enums.  */
+             if (pfound->has_arg)
+               optarg = nameend + 1;
+             else
+               {
+                 if (opterr)
+                  if (argv[optind - 1][1] == '-')
+                   /* --option */
+                   fprintf (stderr,
+                    _("%s: option `--%s' doesn't allow an argument\n"),
+                    argv[0], pfound->name);
+                  else
+                   /* +option or -option */
+                   fprintf (stderr,
+                    _("%s: option `%c%s' doesn't allow an argument\n"),
+                    argv[0], argv[optind - 1][0], pfound->name);
+
+                 nextchar += strlen (nextchar);
+
+                 optopt = pfound->val;
+                 return '?';
+               }
+           }
+         else if (pfound->has_arg == 1)
+           {
+             if (optind < argc)
+               optarg = argv[optind++];
+             else
+               {
+                 if (opterr)
+                   fprintf (stderr,
+                          _("%s: option `%s' requires an argument\n"),
+                          argv[0], argv[optind - 1]);
+                 nextchar += strlen (nextchar);
+                 optopt = pfound->val;
+                 return optstring[0] == ':' ? ':' : '?';
+               }
+           }
+         nextchar += strlen (nextchar);
+         if (longind != NULL)
+           *longind = option_index;
+         if (pfound->flag)
+           {
+             *(pfound->flag) = pfound->val;
+             return 0;
+           }
+         return pfound->val;
+       }
+
+      /* Can't find it as a long option.  If this is not getopt_long_only,
+        or the option starts with '--' or is not a valid short
+        option, then it's an error.
+        Otherwise interpret it as a short option.  */
+      if (!long_only || argv[optind][1] == '-'
+         || my_index (optstring, *nextchar) == NULL)
+       {
+         if (opterr)
+           {
+             if (argv[optind][1] == '-')
+               /* --option */
+               fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+                        argv[0], nextchar);
+             else
+               /* +option or -option */
+               fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+                        argv[0], argv[optind][0], nextchar);
+           }
+         nextchar = (char *) "";
+         optind++;
+         optopt = 0;
+         return '?';
+       }
+    }
+
+  /* Look at and handle the next short option-character.  */
+
+  {
+    char c = *nextchar++;
+    char *temp = my_index (optstring, c);
+
+    /* Increment `optind' when we start to process its last character.  */
+    if (*nextchar == '\0')
+      ++optind;
+
+    if (temp == NULL || c == ':')
+      {
+       if (opterr)
+         {
+           if (posixly_correct)
+             /* 1003.2 specifies the format of this message.  */
+             fprintf (stderr, _("%s: illegal option -- %c\n"),
+                      argv[0], c);
+           else
+             fprintf (stderr, _("%s: invalid option -- %c\n"),
+                      argv[0], c);
+         }
+       optopt = c;
+       return '?';
+      }
+    /* Convenience. Treat POSIX -W foo same as long option --foo */
+    if (temp[0] == 'W' && temp[1] == ';')
+      {
+       char *nameend;
+       const struct option *p;
+       const struct option *pfound = NULL;
+       int exact = 0;
+       int ambig = 0;
+       int indfound = 0;
+       int option_index;
+
+       /* This is an option that requires an argument.  */
+       if (*nextchar != '\0')
+         {
+           optarg = nextchar;
+           /* If we end this ARGV-element by taking the rest as an arg,
+              we must advance to the next element now.  */
+           optind++;
+         }
+       else if (optind == argc)
+         {
+           if (opterr)
+             {
+               /* 1003.2 specifies the format of this message.  */
+               fprintf (stderr, _("%s: option requires an argument -- %c\n"),
+                        argv[0], c);
+             }
+           optopt = c;
+           if (optstring[0] == ':')
+             c = ':';
+           else
+             c = '?';
+           return c;
+         }
+       else
+         /* We already incremented `optind' once;
+            increment it again when taking next ARGV-elt as argument.  */
+         optarg = argv[optind++];
+
+       /* optarg is now the argument, see if it's in the
+          table of longopts.  */
+
+       for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)
+         /* Do nothing.  */ ;
+
+       /* Test all long options for either exact match
+          or abbreviated matches.  */
+       for (p = longopts, option_index = 0; p->name; p++, option_index++)
+         if (!strncmp (p->name, nextchar, nameend - nextchar))
+           {
+             if ((unsigned int) (nameend - nextchar) == strlen (p->name))
+               {
+                 /* Exact match found.  */
+                 pfound = p;
+                 indfound = option_index;
+                 exact = 1;
+                 break;
+               }
+             else if (pfound == NULL)
+               {
+                 /* First nonexact match found.  */
+                 pfound = p;
+                 indfound = option_index;
+               }
+             else
+               /* Second or later nonexact match found.  */
+               ambig = 1;
+           }
+       if (ambig && !exact)
+         {
+           if (opterr)
+             fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+                      argv[0], argv[optind]);
+           nextchar += strlen (nextchar);
+           optind++;
+           return '?';
+         }
+       if (pfound != NULL)
+         {
+           option_index = indfound;
+           if (*nameend)
+             {
+               /* Don't test has_arg with >, because some C compilers don't
+                  allow it to be used on enums.  */
+               if (pfound->has_arg)
+                 optarg = nameend + 1;
+               else
+                 {
+                   if (opterr)
+                     fprintf (stderr, _("\
+%s: option `-W %s' doesn't allow an argument\n"),
+                              argv[0], pfound->name);
+
+                   nextchar += strlen (nextchar);
+                   return '?';
+                 }
+             }
+           else if (pfound->has_arg == 1)
+             {
+               if (optind < argc)
+                 optarg = argv[optind++];
+               else
+                 {
+                   if (opterr)
+                     fprintf (stderr,
+                              _("%s: option `%s' requires an argument\n"),
+                              argv[0], argv[optind - 1]);
+                   nextchar += strlen (nextchar);
+                   return optstring[0] == ':' ? ':' : '?';
+                 }
+             }
+           nextchar += strlen (nextchar);
+           if (longind != NULL)
+             *longind = option_index;
+           if (pfound->flag)
+             {
+               *(pfound->flag) = pfound->val;
+               return 0;
+             }
+           return pfound->val;
+         }
+         nextchar = NULL;
+         return 'W';   /* Let the application handle it.   */
+      }
+    if (temp[1] == ':')
+      {
+       if (temp[2] == ':')
+         {
+           /* This is an option that accepts an argument optionally.  */
+           if (*nextchar != '\0')
+             {
+               optarg = nextchar;
+               optind++;
+             }
+           else
+             optarg = NULL;
+           nextchar = NULL;
+         }
+       else
+         {
+           /* This is an option that requires an argument.  */
+           if (*nextchar != '\0')
+             {
+               optarg = nextchar;
+               /* If we end this ARGV-element by taking the rest as an arg,
+                  we must advance to the next element now.  */
+               optind++;
+             }
+           else if (optind == argc)
+             {
+               if (opterr)
+                 {
+                   /* 1003.2 specifies the format of this message.  */
+                   fprintf (stderr,
+                          _("%s: option requires an argument -- %c\n"),
+                          argv[0], c);
+                 }
+               optopt = c;
+               if (optstring[0] == ':')
+                 c = ':';
+               else
+                 c = '?';
+             }
+           else
+             /* We already incremented `optind' once;
+                increment it again when taking next ARGV-elt as argument.  */
+             optarg = argv[optind++];
+           nextchar = NULL;
+         }
+      }
+    return c;
+  }
+}
+
+int
+getopt (argc, argv, optstring)
+     int argc;
+     char *const *argv;
+     const char *optstring;
+{
+  return _getopt_internal (argc, argv, optstring,
+                          (const struct option *) 0,
+                          (int *) 0,
+                          0);
+}
+
+#endif /* Not ELIDE_CODE.  */
+\f
+#ifdef TEST
+
+/* Compile with -DTEST to make an executable for use in testing
+   the above definition of `getopt'.  */
+
+int
+main (argc, argv)
+     int argc;
+     char **argv;
+{
+  int c;
+  int digit_optind = 0;
+
+  while (1)
+    {
+      int this_option_optind = optind ? optind : 1;
+
+      c = getopt (argc, argv, "abc:d:0123456789");
+      if (c == -1)
+       break;
+
+      switch (c)
+       {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+         if (digit_optind != 0 && digit_optind != this_option_optind)
+           printf ("digits occur in two different argv-elements.\n");
+         digit_optind = this_option_optind;
+         printf ("option %c\n", c);
+         break;
+
+       case 'a':
+         printf ("option a\n");
+         break;
+
+       case 'b':
+         printf ("option b\n");
+         break;
+
+       case 'c':
+         printf ("option c with value `%s'\n", optarg);
+         break;
+
+       case '?':
+         break;
+
+       default:
+         printf ("?? getopt returned character code 0%o ??\n", c);
+       }
+    }
+
+  if (optind < argc)
+    {
+      printf ("non-option ARGV-elements: ");
+      while (optind < argc)
+       printf ("%s ", argv[optind++]);
+      printf ("\n");
+    }
+
+  exit (0);
+}
+
+#endif /* TEST */
diff --git a/src/mkutil/make-3.80/getopt.h b/src/mkutil/make-3.80/getopt.h
new file mode 100644 (file)
index 0000000..fb30719
--- /dev/null
@@ -0,0 +1,133 @@
+/* Declarations for getopt.
+   Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.
+
+   NOTE: The canonical source of this file is maintained with the GNU C Library.
+   Bugs can be reported to bug-glibc@gnu.org.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _GETOPT_H
+#define _GETOPT_H 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* For communication from `getopt' to the caller.
+   When `getopt' finds an option that takes an argument,
+   the argument value is returned here.
+   Also, when `ordering' is RETURN_IN_ORDER,
+   each non-option ARGV-element is returned here.  */
+
+extern char *optarg;
+
+/* Index in ARGV of the next element to be scanned.
+   This is used for communication to and from the caller
+   and for communication between successive calls to `getopt'.
+
+   On entry to `getopt', zero means this is the first call; initialize.
+
+   When `getopt' returns -1, this is the index of the first of the
+   non-option elements that the caller should itself scan.
+
+   Otherwise, `optind' communicates from one call to the next
+   how much of ARGV has been scanned so far.  */
+
+extern int optind;
+
+/* Callers store zero here to inhibit the error message `getopt' prints
+   for unrecognized options.  */
+
+extern int opterr;
+
+/* Set to an option character which was unrecognized.  */
+
+extern int optopt;
+
+/* Describe the long-named options requested by the application.
+   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
+   of `struct option' terminated by an element containing a name which is
+   zero.
+
+   The field `has_arg' is:
+   no_argument         (or 0) if the option does not take an argument,
+   required_argument   (or 1) if the option requires an argument,
+   optional_argument   (or 2) if the option takes an optional argument.
+
+   If the field `flag' is not NULL, it points to a variable that is set
+   to the value given in the field `val' when the option is found, but
+   left unchanged if the option is not found.
+
+   To have a long-named option do something other than set an `int' to
+   a compiled-in constant, such as set a value from `optarg', set the
+   option's `flag' field to zero and its `val' field to a nonzero
+   value (the equivalent single-letter option character, if there is
+   one).  For long options that have a zero `flag' field, `getopt'
+   returns the contents of the `val' field.  */
+
+struct option
+{
+#if defined (__STDC__) && __STDC__
+  const char *name;
+#else
+  char *name;
+#endif
+  /* has_arg can't be an enum because some compilers complain about
+     type mismatches in all the code that assumes it is an int.  */
+  int has_arg;
+  int *flag;
+  int val;
+};
+
+/* Names for the values of the `has_arg' field of `struct option'.  */
+
+#define        no_argument             0
+#define required_argument      1
+#define optional_argument      2
+
+#if defined (__STDC__) && __STDC__
+#ifdef __GNU_LIBRARY__
+/* Many other libraries have conflicting prototypes for getopt, with
+   differences in the consts, in stdlib.h.  To avoid compilation
+   errors, only prototype getopt for the GNU C library.  */
+extern int getopt (int argc, char *const *argv, const char *shortopts);
+#else /* not __GNU_LIBRARY__ */
+extern int getopt ();
+#endif /* __GNU_LIBRARY__ */
+extern int getopt_long (int argc, char *const *argv, const char *shortopts,
+                       const struct option *longopts, int *longind);
+extern int getopt_long_only (int argc, char *const *argv,
+                            const char *shortopts,
+                            const struct option *longopts, int *longind);
+
+/* Internal only.  Users should not call this directly.  */
+extern int _getopt_internal (int argc, char *const *argv,
+                            const char *shortopts,
+                            const struct option *longopts, int *longind,
+                            int long_only);
+#else /* not __STDC__ */
+extern int getopt ();
+extern int getopt_long ();
+extern int getopt_long_only ();
+
+extern int _getopt_internal ();
+#endif /* __STDC__ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* getopt.h */
diff --git a/src/mkutil/make-3.80/getopt1.c b/src/mkutil/make-3.80/getopt1.c
new file mode 100644 (file)
index 0000000..ff25737
--- /dev/null
@@ -0,0 +1,190 @@
+/* getopt_long and getopt_long_only entry points for GNU getopt.
+   Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
+     Free Software Foundation, Inc.
+
+   NOTE: The canonical source of this file is maintained with the GNU C Library.
+   Bugs can be reported to bug-glibc@gnu.org.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+\f
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "getopt.h"
+
+#if !defined __STDC__ || !__STDC__
+/* This is a separate conditional since some stdc systems
+   reject `defined (const)'.  */
+#ifndef const
+#define const
+#endif
+#endif
+
+#include <stdio.h>
+
+/* Comment out all this code if we are using the GNU C Library, and are not
+   actually compiling the library itself.  This code is part of the GNU C
+   Library, but also included in many other GNU distributions.  Compiling
+   and linking in this code is a waste when using the GNU C library
+   (especially if it is a shared library).  Rather than having every GNU
+   program understand `configure --with-gnu-libc' and omit the object files,
+   it is simpler to just do this in the source for each such file.  */
+
+#define GETOPT_INTERFACE_VERSION 2
+#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
+#include <gnu-versions.h>
+#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
+#define ELIDE_CODE
+#endif
+#endif
+
+#ifndef ELIDE_CODE
+
+
+/* This needs to come after some library #include
+   to get __GNU_LIBRARY__ defined.  */
+#ifdef __GNU_LIBRARY__
+#include <stdlib.h>
+#endif
+
+#ifndef        NULL
+#define NULL 0
+#endif
+
+int
+getopt_long (argc, argv, options, long_options, opt_index)
+     int argc;
+     char *const *argv;
+     const char *options;
+     const struct option *long_options;
+     int *opt_index;
+{
+  return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
+}
+
+/* Like getopt_long, but '-' as well as '--' can indicate a long option.
+   If an option that starts with '-' (not '--') doesn't match a long option,
+   but does match a short option, it is parsed as a short option
+   instead.  */
+
+int
+getopt_long_only (argc, argv, options, long_options, opt_index)
+     int argc;
+     char *const *argv;
+     const char *options;
+     const struct option *long_options;
+     int *opt_index;
+{
+  return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
+}
+
+
+#endif /* Not ELIDE_CODE.  */
+\f
+#ifdef TEST
+
+#include <stdio.h>
+
+int
+main (argc, argv)
+     int argc;
+     char **argv;
+{
+  int c;
+  int digit_optind = 0;
+
+  while (1)
+    {
+      int this_option_optind = optind ? optind : 1;
+      int option_index = 0;
+      static struct option long_options[] =
+      {
+       {"add", 1, 0, 0},
+       {"append", 0, 0, 0},
+       {"delete", 1, 0, 0},
+       {"verbose", 0, 0, 0},
+       {"create", 0, 0, 0},
+       {"file", 1, 0, 0},
+       {0, 0, 0, 0}
+      };
+
+      c = getopt_long (argc, argv, "abc:d:0123456789",
+                      long_options, &option_index);
+      if (c == -1)
+       break;
+
+      switch (c)
+       {
+       case 0:
+         printf ("option %s", long_options[option_index].name);
+         if (optarg)
+           printf (" with arg %s", optarg);
+         printf ("\n");
+         break;
+
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+         if (digit_optind != 0 && digit_optind != this_option_optind)
+           printf ("digits occur in two different argv-elements.\n");
+         digit_optind = this_option_optind;
+         printf ("option %c\n", c);
+         break;
+
+       case 'a':
+         printf ("option a\n");
+         break;
+
+       case 'b':
+         printf ("option b\n");
+         break;
+
+       case 'c':
+         printf ("option c with value `%s'\n", optarg);
+         break;
+
+       case 'd':
+         printf ("option d with value `%s'\n", optarg);
+         break;
+
+       case '?':
+         break;
+
+       default:
+         printf ("?? getopt returned character code 0%o ??\n", c);
+       }
+    }
+
+  if (optind < argc)
+    {
+      printf ("non-option ARGV-elements: ");
+      while (optind < argc)
+       printf ("%s ", argv[optind++]);
+      printf ("\n");
+    }
+
+  exit (0);
+}
+
+#endif /* TEST */
diff --git a/src/mkutil/make-3.80/gettext.h b/src/mkutil/make-3.80/gettext.h
new file mode 100644 (file)
index 0000000..ea67f30
--- /dev/null
@@ -0,0 +1,59 @@
+/* Convenience header for conditional use of GNU <libintl.h>.
+   Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _LIBGETTEXT_H
+#define _LIBGETTEXT_H 1
+
+/* NLS can be disabled through the configure --disable-nls option.  */
+#if ENABLE_NLS
+
+/* Get declarations of GNU message catalog functions.  */
+# include <libintl.h>
+
+#else
+
+/* Disabled NLS.
+   The casts to 'const char *' serve the purpose of producing warnings
+   for invalid uses of the value returned from these functions.
+   On pre-ANSI systems without 'const', the config.h file is supposed to
+   contain "#define const".  */
+# define gettext(Msgid) ((const char *) (Msgid))
+# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
+# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
+# define ngettext(Msgid1, Msgid2, N) \
+    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
+# define dngettext(Domainname, Msgid1, Msgid2, N) \
+    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
+# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
+    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
+# define textdomain(Domainname) ((const char *) (Domainname))
+# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
+# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
+
+#endif
+
+/* A pseudo function call that serves as a marker for the automated
+   extraction of messages, but does not call gettext().  The run-time
+   translation is done at a different place in the code.
+   The argument, String, should be a literal string.  Concatenated strings
+   and other string expressions won't work.
+   The macro's expansion is not parenthesized, so that it is suitable as
+   initializer for static 'char[]' or 'const char[]' variables.  */
+#define gettext_noop(String) String
+
+#endif /* _LIBGETTEXT_H */
diff --git a/src/mkutil/make-3.80/glob/COPYING.LIB b/src/mkutil/make-3.80/glob/COPYING.LIB
new file mode 100644 (file)
index 0000000..bbe3fe1
--- /dev/null
@@ -0,0 +1,481 @@
+                 GNU LIBRARY GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+                    675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+\f
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+\f
+                 GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License").  Each licensee is
+addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+\f
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+\f
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+\f
+  6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    c) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    d) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+\f
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+\f
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+\f
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                           NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+     Appendix: How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/src/mkutil/make-3.80/glob/ChangeLog b/src/mkutil/make-3.80/glob/ChangeLog
new file mode 100644 (file)
index 0000000..1ebf879
--- /dev/null
@@ -0,0 +1,136 @@
+2002-04-22  Paul D. Smith  <psmith@gnu.org>
+
+       * Makefile.am: Use automake 1.6.
+       Use new automake condition USE_LOCAL_GLOB to decide whether or not
+       to build the local GNU glob library or use the system one.
+
+1999-09-12  Paul D. Smith  <psmith@gnu.org>
+
+       * fnmatch.c: Last GLIBC version wouldn't compile outside of GLIBC
+       (undefined reference to internal_function).  Update to the latest
+       version
+
+1999-09-11  Paul Eggert  <eggert@twinsun.com>
+
+       * glob.h (glob): If #defining to glob64, do this before
+       declaring it, so that all declarations and uses match, and
+       do not declare glob64, to avoid a declaration clash.
+       (globfree): Likewise with globfree64.
+
+1999-09-08  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * glob.c (prefix_array) [__MSDOS__,WINDOWS32]: Keep the trailing
+       slash unless DIRNAME is just "x:/".
+
+1999-09-06  Paul D. Smith  <psmith@gnu.org>
+
+       * fnmatch.c: Update to latest version from GLIBC.
+
+1999-07-21  Paul D. Smith  <psmith@gnu.org>
+
+       * glob.c, glob.h, fnmatch.c, fnmatch.h: Update to latest version
+       from GLIBC.
+
+       * fnmatch.c (internal_fnmatch): Use K&R definition syntax, not ANSI.
+       (__strchrnul): This won't exist outside GLIBC, so create one.
+
+       * glob.c: Move getlogin{,_r} prototypes below glob.h to get __P()
+       macro.
+
+1998-08-05  Paul D. Smith  <psmith@gnu.org>
+
+       * configure.in: Remove; configuration for glob is handled by the
+       make configure.in.
+
+1998-07-29  Paul D. Smith  <psmith@gnu.org>
+
+       * glob.c, fnmatch.c: New versions from the GLIBC folks (Ulrich
+       Drepper).  Fixes a bug reported by Eli Zaretski.  Integrates
+       DOS/Windows32 support.
+
+1998-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * glob.c (glob): Cast away const on assignment of pattern to dirname.
+       Cast the return type of __alloca() for traditional C compilers.
+
+1998-07-23  Paul D. Smith  <psmith@gnu.org>
+
+       * glob.c, fnmatch.c: New versions of these files from the GLIBC
+       folks (Ulrich Drepper).  Had to re-integrate some DOS/Windows
+       code.
+
+1998-07-10  Paul D. Smith  <psmith@gnu.org>
+
+       * glob.c (glob_in_dir): If no meta chars exist in PATTERN and
+       GLOB_NOCHECK is present, don't look for the file--whether it's
+       found or not, we'll always return it, so why bother searching?
+
+       Also, if we are searching and there are no meta chars, don't
+       bother trying fnmatch() if the strcmp() fails.
+
+1998-05-30  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * glob.c (glob) [__MSDOS__, WINDOWS32]: Compute the directory and
+       filename parts of the pattern correctly when it includes a drive
+       spec.  Disallow wildcards in the drive spec.  Prevent recursion
+       when dirname is of the form "d:/" or "d:".
+       (prefix_array) [__MSDOS__, WINDOWS32]: Don't append a slash to
+       "d:/" and "d:".
+
+1998-05-13  Paul D. Smith  <psmith@gnu.org>
+
+       * SMakefile, Makefile.ami, glob.c, glob.h, fnmatch.c: Updated from
+       the latest glibc version.
+
+1998-04-17  Paul D. Smith  <psmith@gnu.org>
+
+       * configure.in: Create a config.h file instead of setting things
+       on the compile line.  This is because when build.sh runs it merely
+       passes -DHAVE_CONFIG_H to the glob files, just as it does to the
+       make files.
+       * config.h.in: Created by autoheader.
+
+Tue Aug 12 10:52:34 1997  Paul D. Smith  <psmith@baynetworks.com>
+
+       * configure.in: Require autoconf 2.12.
+
+       * glob: Updates from latest GNU libc glob code.
+
+       * glob.c,glob.h,fnmatch.h: Change all WIN32 references to WINDOWS32.
+
+       * glob.h: OSF4 defines macros in such a way that GLOB_ALTDIRFUNC
+       is not defined.  Added a test to the #if which defines it if
+       _GNU_SOURCE is defined; that's set by both glob.c and GNU make.
+
+       * glob.c: SunOS4 w/ cc needs #include <stdio.h>, since assert.h
+       requires stderr but doesn't include stdio.h :-/.
+       (next_brace_sub): De-protoize function definition.
+       (glob): Cast __alloca(); on SunOS4 it uses the default return type
+       of int.
+       (glob): Irix defines getlogin_r() to return a char*; move the
+       extern for that into the _LIBC area since it isn't used except in
+       LIBC anyway.  Likewise, move extern getlogin() into the "else".
+
+Sat Jul 20 21:55:31 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
+
+       Win32 hacks from <Rob_Tulloh@tivoli.com>.
+       * posix/glob.c [WIN32]: Don't include <pwd.h>; don't use d_ino;
+       use void * for my_realloc; include <malloc.h> for alloca.
+       (glob) [WIN32]: Use "c:/users/default" for ~ if no HOME variable.
+       * posix/fnmatch.h [WIN32]: Use prototypes even if [!__STDC__].
+       * posix/glob.h: Likewise.
+
+Fri Jul 19 16:56:41 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
+
+       * posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA]
+       for `struct stat;' forward decl.
+
+Sat Jun 22 10:44:09 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
+
+       * posix/glob.c: Include <alloca.h> only [HAVE_ALLOCA_H], not [sparc].
+
+Fri Jun 21 00:27:51 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
+
+       * posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr
+       only for ?s, not for *s.  Fix from Chet Ramey.
+
diff --git a/src/mkutil/make-3.80/glob/Makefile.am b/src/mkutil/make-3.80/glob/Makefile.am
new file mode 100644 (file)
index 0000000..7623ffe
--- /dev/null
@@ -0,0 +1,14 @@
+# -*-Makefile-*-, or close enough
+
+AUTOMAKE_OPTIONS =     1.7 foreign
+
+# Only build the library when the system doesn't already have GNU glob.
+if USE_LOCAL_GLOB
+  noinst_LIBRARIES =   libglob.a
+endif
+
+libglob_a_SOURCES =    glob.c glob.h fnmatch.c fnmatch.h
+
+
+EXTRA_DIST =           COPYING.LIB Makefile.ami SCOPTIONS SMakefile \
+                       configure.bat
diff --git a/src/mkutil/make-3.80/glob/Makefile.ami b/src/mkutil/make-3.80/glob/Makefile.ami
new file mode 100644 (file)
index 0000000..d3e3d40
--- /dev/null
@@ -0,0 +1,69 @@
+# Makefile for standalone distribution of libglob.a (fnmatch, glob).
+
+# Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public License
+# as published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with this library; see the file COPYING.LIB.  If
+# not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Ultrix 2.2 make doesn't expand the value of VPATH.
+VPATH = /glob/
+# This must repeat the value, because configure will remove `VPATH = .'.
+srcdir = /glob/
+
+CC = sc
+RM = delete
+CPPFLAGS =
+CFLAGS =
+
+# Information determined by configure.
+DEFS = Define HAVE_HEADER_STDC Define HAVE_UNISTD_H Define HAVE_STRING_H \
+       Define HAVE_DIRENT_H
+
+# How to invoke ar.
+AR = join
+ARFLAGS = as
+
+# How to invoke ranlib.
+RANLIB = ;
+
+.PHONY: all
+all: glob.lib
+
+glob.lib : glob.o fnmatch.o
+       $(AR) $(ARFLAGS) $@ glob.o fnmatch.o
+       $(RANLIB) $@
+
+# For some reason, Unix make wants the dependencies on the source files.
+# Otherwise it refuses to use an implicit rule!
+# And, get this: it doesn't work to use $(srcdir)foo.c!!
+glob.o: $(srcdir)glob.h $(srcdir)fnmatch.h glob.c
+fnmatch.o: $(srcdir)fnmatch.h fnmatch.c
+
+OUTPUT_OPTION =
+.c.o:
+       $(CC) IDir "" \
+             $(DEFS) $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION)
+
+.PHONY: clean realclean glob-clean glob-realclean distclean
+clean glob-clean:
+       -$(RM) glob.lib "#?.o" core
+distclean glob-realclean: clean
+       -$(RM) TAGS tags Makefile config.status config.h config.log
+realcean: distclean
+
+# For inside the C library.
+glob.tar glob.tar.Z:
+       $(MAKE) -C .. $@
diff --git a/src/mkutil/make-3.80/glob/Makefile.in b/src/mkutil/make-3.80/glob/Makefile.in
new file mode 100644 (file)
index 0000000..8ab6ce2
--- /dev/null
@@ -0,0 +1,399 @@
+# Makefile.in generated by automake 1.7 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*-Makefile-*-, or close enough
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
+GLOBINC = @GLOBINC@
+GLOBLIB = @GLOBLIB@
+GMSGFMT = @GMSGFMT@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+KMEM_GROUP = @KMEM_GROUP@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBS = @LIBS@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKE_HOST = @MAKE_HOST@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGMERGE = @MSGMERGE@
+NEED_SETGID = @NEED_SETGID@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_CUSTOMS_FALSE = @USE_CUSTOMS_FALSE@
+USE_CUSTOMS_TRUE = @USE_CUSTOMS_TRUE@
+USE_LOCAL_GLOB_FALSE = @USE_LOCAL_GLOB_FALSE@
+USE_LOCAL_GLOB_TRUE = @USE_LOCAL_GLOB_TRUE@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+
+AUTOMAKE_OPTIONS = 1.7 foreign
+
+# Only build the library when the system doesn't already have GNU glob.
+@USE_LOCAL_GLOB_TRUE@noinst_LIBRARIES = libglob.a
+
+libglob_a_SOURCES = glob.c glob.h fnmatch.c fnmatch.h
+
+EXTRA_DIST = COPYING.LIB Makefile.ami SCOPTIONS SMakefile \
+                       configure.bat
+
+subdir = glob
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+libglob_a_AR = $(AR) cru
+libglob_a_LIBADD =
+am_libglob_a_OBJECTS = glob.$(OBJEXT) fnmatch.$(OBJEXT)
+libglob_a_OBJECTS = $(am_libglob_a_OBJECTS)
+
+DEFAULT_INCLUDES =  -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/fnmatch.Po ./$(DEPDIR)/glob.Po
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(libglob_a_SOURCES)
+DIST_COMMON = COPYING.LIB ChangeLog Makefile.am Makefile.in
+SOURCES = $(libglob_a_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --foreign  glob/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+clean-noinstLIBRARIES:
+       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+libglob.a: $(libglob_a_OBJECTS) $(libglob_a_DEPENDENCIES) 
+       -rm -f libglob.a
+       $(libglob_a_AR) libglob.a $(libglob_a_OBJECTS) $(libglob_a_LIBADD)
+       $(RANLIB) libglob.a
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob.Po@am__quote@
+
+distclean-depend:
+       -rm -rf ./$(DEPDIR)
+
+.c.o:
+@am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCC_TRUE@     -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCC_TRUE@   then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCC_TRUE@   else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@   fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+
+.c.obj:
+@am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCC_TRUE@     -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`; \
+@am__fastdepCC_TRUE@   then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCC_TRUE@   else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@   fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       mkid -fID $$unique
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
+
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+         esac; \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
+         if test -d $$d/$$file; then \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES)
+
+installdirs:
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+       distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-noinstLIBRARIES ctags distclean distclean-compile \
+       distclean-depend distclean-generic distclean-tags distdir dvi \
+       dvi-am info info-am install install-am install-data \
+       install-data-am install-exec install-exec-am install-info \
+       install-info-am install-man install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+       uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/mkutil/make-3.80/glob/SCOPTIONS b/src/mkutil/make-3.80/glob/SCOPTIONS
new file mode 100644 (file)
index 0000000..f89daae
--- /dev/null
@@ -0,0 +1,13 @@
+ERRORREXX
+OPTIMIZE
+NOVERSION
+OPTIMIZERTIME
+OPTIMIZERALIAS
+DEFINE INCLUDEDIR="include:"
+DEFINE LIBDIR="lib:"
+DEFINE NO_ALLOCA
+DEFINE NO_FLOAT
+DEFINE NO_ARCHIVES
+IGNORE=161
+IGNORE=100
+STARTUP=cres
diff --git a/src/mkutil/make-3.80/glob/SMakefile b/src/mkutil/make-3.80/glob/SMakefile
new file mode 100644 (file)
index 0000000..9dcb90b
--- /dev/null
@@ -0,0 +1,69 @@
+# Makefile for standalone distribution of libglob.a (fnmatch, glob).
+
+# Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public License
+# as published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with this library; see the file COPYING.LIB.  If
+# not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Ultrix 2.2 make doesn't expand the value of VPATH.
+VPATH = /glob/
+# This must repeat the value, because configure will remove `VPATH = .'.
+srcdir = /glob/
+
+CC = sc
+CPPFLAGS =
+CFLAGS =
+MAKE = smake
+RM = delete
+
+# Information determined by configure.
+DEFS = Define HAVE_HEADER_STDC Define HAVE_UNISTD_H Define HAVE_STRING_H \
+       Define HAVE_DIRENT_H
+
+# How to invoke ar.
+AR = join
+ARFLAGS = as
+
+# How to invoke ranlib.
+RANLIB = ;
+
+.PHONY: all
+all: glob.lib
+
+glob.lib : glob.o fnmatch.o
+       $(AR) $(ARFLAGS) $@ glob.o fnmatch.o
+       $(RANLIB) $@
+
+# For some reason, Unix make wants the dependencies on the source files.
+# Otherwise it refuses to use an implicit rule!
+# And, get this: it doesn't work to use $(srcdir)foo.c!!
+glob.o: $(srcdir)glob.h $(srcdir)fnmatch.h glob.c
+fnmatch.o: $(srcdir)fnmatch.h fnmatch.c
+
+.c.o:
+       $(CC) IDir "" \
+             $(DEFS) $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION)
+
+.PHONY: clean realclean glob-clean glob-realclean distclean
+clean glob-clean:
+       -$(RM) -f glob.lib *.o core
+distclean glob-realclean: clean
+       -$(RM) -f TAGS tags Makefile config.status config.h config.log
+realcean: distclean
+
+# For inside the C library.
+glob.tar glob.tar.Z:
+       $(MAKE) -C .. $@
diff --git a/src/mkutil/make-3.80/glob/configure.bat b/src/mkutil/make-3.80/glob/configure.bat
new file mode 100644 (file)
index 0000000..b6104e1
--- /dev/null
@@ -0,0 +1,26 @@
+@echo off\r
+echo Configuring glob for DJGPP\r
+rem This batch file assumes a unix-type "sed" program\r
+\r
+echo # Makefile generated by "configure.bat"> Makefile\r
+\r
+if exist config.sed del config.sed\r
+\r
+echo "s/@srcdir@/./                                    ">> config.sed\r
+echo "s/@CC@/gcc/                                      ">> config.sed\r
+echo "s/@CFLAGS@/-O2 -g/                               ">> config.sed\r
+echo "s/@CPPFLAGS@/-DHAVE_CONFIG_H -I../               ">> config.sed\r
+echo "s/@AR@/ar/                                       ">> config.sed\r
+echo "s/@RANLIB@/ranlib/                               ">> config.sed\r
+echo "s/@LDFLAGS@//                                    ">> config.sed\r
+echo "s/@DEFS@//                                       ">> config.sed\r
+echo "s/@ALLOCA@//                                     ">> config.sed\r
+echo "s/@LIBS@//                                       ">> config.sed\r
+echo "s/@LIBOBJS@//                                    ">> config.sed\r
+echo "s/^Makefile *:/_Makefile:/                       ">> config.sed\r
+echo "s/^config.h *:/_config.h:/                       ">> config.sed\r
+\r
+sed -e "s/^\"//" -e "s/\"$//" -e "s/[  ]*$//" config.sed > config2.sed\r
+sed -f config2.sed Makefile.in >> Makefile\r
+del config.sed\r
+del config2.sed\r
diff --git a/src/mkutil/make-3.80/glob/fnmatch.c b/src/mkutil/make-3.80/glob/fnmatch.c
new file mode 100644 (file)
index 0000000..1f4ead5
--- /dev/null
@@ -0,0 +1,488 @@
+/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+/* Enable GNU extensions in fnmatch.h.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE   1
+#endif
+
+#include <errno.h>
+#include <fnmatch.h>
+#include <ctype.h>
+
+#if HAVE_STRING_H || defined _LIBC
+# include <string.h>
+#else
+# include <strings.h>
+#endif
+
+#if defined STDC_HEADERS || defined _LIBC
+# include <stdlib.h>
+#endif
+
+/* For platform which support the ISO C amendement 1 functionality we
+   support user defined character classes.  */
+#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.  */
+# include <wchar.h>
+# include <wctype.h>
+#endif
+
+/* Comment out all this code if we are using the GNU C Library, and are not
+   actually compiling the library itself.  This code is part of the GNU C
+   Library, but also included in many other GNU distributions.  Compiling
+   and linking in this code is a waste when using the GNU C library
+   (especially if it is a shared library).  Rather than having every GNU
+   program understand `configure --with-gnu-libc' and omit the object files,
+   it is simpler to just do this in the source for each such file.  */
+
+#if defined _LIBC || !defined __GNU_LIBRARY__
+
+
+# if defined STDC_HEADERS || !defined isascii
+#  define ISASCII(c) 1
+# else
+#  define ISASCII(c) isascii(c)
+# endif
+
+# ifdef isblank
+#  define ISBLANK(c) (ISASCII (c) && isblank (c))
+# else
+#  define ISBLANK(c) ((c) == ' ' || (c) == '\t')
+# endif
+# ifdef isgraph
+#  define ISGRAPH(c) (ISASCII (c) && isgraph (c))
+# else
+#  define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c))
+# endif
+
+# define ISPRINT(c) (ISASCII (c) && isprint (c))
+# define ISDIGIT(c) (ISASCII (c) && isdigit (c))
+# define ISALNUM(c) (ISASCII (c) && isalnum (c))
+# define ISALPHA(c) (ISASCII (c) && isalpha (c))
+# define ISCNTRL(c) (ISASCII (c) && iscntrl (c))
+# define ISLOWER(c) (ISASCII (c) && islower (c))
+# define ISPUNCT(c) (ISASCII (c) && ispunct (c))
+# define ISSPACE(c) (ISASCII (c) && isspace (c))
+# define ISUPPER(c) (ISASCII (c) && isupper (c))
+# define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))
+
+# define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
+
+# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
+/* The GNU C library provides support for user-defined character classes
+   and the functions from ISO C amendement 1.  */
+#  ifdef CHARCLASS_NAME_MAX
+#   define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX
+#  else
+/* This shouldn't happen but some implementation might still have this
+   problem.  Use a reasonable default value.  */
+#   define CHAR_CLASS_MAX_LENGTH 256
+#  endif
+
+#  ifdef _LIBC
+#   define IS_CHAR_CLASS(string) __wctype (string)
+#  else
+#   define IS_CHAR_CLASS(string) wctype (string)
+#  endif
+# else
+#  define CHAR_CLASS_MAX_LENGTH  6 /* Namely, `xdigit'.  */
+
+#  define IS_CHAR_CLASS(string)                                                      \
+   (STREQ (string, "alpha") || STREQ (string, "upper")                       \
+    || STREQ (string, "lower") || STREQ (string, "digit")                    \
+    || STREQ (string, "alnum") || STREQ (string, "xdigit")                   \
+    || STREQ (string, "space") || STREQ (string, "print")                    \
+    || STREQ (string, "punct") || STREQ (string, "graph")                    \
+    || STREQ (string, "cntrl") || STREQ (string, "blank"))
+# endif
+
+/* Avoid depending on library functions or files
+   whose names are inconsistent.  */
+
+# if !defined _LIBC && !defined getenv
+extern char *getenv ();
+# endif
+
+# ifndef errno
+extern int errno;
+# endif
+
+/* This function doesn't exist on most systems.  */
+
+# if !defined HAVE___STRCHRNUL && !defined _LIBC
+static char *
+__strchrnul (s, c)
+     const char *s;
+     int c;
+{
+  char *result = strchr (s, c);
+  if (result == NULL)
+    result = strchr (s, '\0');
+  return result;
+}
+# endif
+
+# ifndef internal_function
+/* Inside GNU libc we mark some function in a special way.  In other
+   environments simply ignore the marking.  */
+#  define internal_function
+# endif
+
+/* Match STRING against the filename pattern PATTERN, returning zero if
+   it matches, nonzero if not.  */
+static int internal_fnmatch __P ((const char *pattern, const char *string,
+                                 int no_leading_period, int flags))
+     internal_function;
+static int
+internal_function
+internal_fnmatch (pattern, string, no_leading_period, flags)
+     const char *pattern;
+     const char *string;
+     int no_leading_period;
+     int flags;
+{
+  register const char *p = pattern, *n = string;
+  register unsigned char c;
+
+/* Note that this evaluates C many times.  */
+# ifdef _LIBC
+#  define FOLD(c) ((flags & FNM_CASEFOLD) ? tolower (c) : (c))
+# else
+#  define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER (c) ? tolower (c) : (c))
+# endif
+
+  while ((c = *p++) != '\0')
+    {
+      c = FOLD (c);
+
+      switch (c)
+       {
+       case '?':
+         if (*n == '\0')
+           return FNM_NOMATCH;
+         else if (*n == '/' && (flags & FNM_FILE_NAME))
+           return FNM_NOMATCH;
+         else if (*n == '.' && no_leading_period
+                  && (n == string
+                      || (n[-1] == '/' && (flags & FNM_FILE_NAME))))
+           return FNM_NOMATCH;
+         break;
+
+       case '\\':
+         if (!(flags & FNM_NOESCAPE))
+           {
+             c = *p++;
+             if (c == '\0')
+               /* Trailing \ loses.  */
+               return FNM_NOMATCH;
+             c = FOLD (c);
+           }
+         if (FOLD ((unsigned char) *n) != c)
+           return FNM_NOMATCH;
+         break;
+
+       case '*':
+         if (*n == '.' && no_leading_period
+             && (n == string
+                 || (n[-1] == '/' && (flags & FNM_FILE_NAME))))
+           return FNM_NOMATCH;
+
+         for (c = *p++; c == '?' || c == '*'; c = *p++)
+           {
+             if (*n == '/' && (flags & FNM_FILE_NAME))
+               /* A slash does not match a wildcard under FNM_FILE_NAME.  */
+               return FNM_NOMATCH;
+             else if (c == '?')
+               {
+                 /* A ? needs to match one character.  */
+                 if (*n == '\0')
+                   /* There isn't another character; no match.  */
+                   return FNM_NOMATCH;
+                 else
+                   /* One character of the string is consumed in matching
+                      this ? wildcard, so *??? won't match if there are
+                      less than three characters.  */
+                   ++n;
+               }
+           }
+
+         if (c == '\0')
+           /* The wildcard(s) is/are the last element of the pattern.
+              If the name is a file name and contains another slash
+              this does mean it cannot match.  */
+           return ((flags & FNM_FILE_NAME) && strchr (n, '/') != NULL
+                   ? FNM_NOMATCH : 0);
+         else
+           {
+             const char *endp;
+
+             endp = __strchrnul (n, (flags & FNM_FILE_NAME) ? '/' : '\0');
+
+             if (c == '[')
+               {
+                 int flags2 = ((flags & FNM_FILE_NAME)
+                               ? flags : (flags & ~FNM_PERIOD));
+
+                 for (--p; n < endp; ++n)
+                   if (internal_fnmatch (p, n,
+                                         (no_leading_period
+                                          && (n == string
+                                              || (n[-1] == '/'
+                                                  && (flags
+                                                      & FNM_FILE_NAME)))),
+                                         flags2)
+                       == 0)
+                     return 0;
+               }
+             else if (c == '/' && (flags & FNM_FILE_NAME))
+               {
+                 while (*n != '\0' && *n != '/')
+                   ++n;
+                 if (*n == '/'
+                     && (internal_fnmatch (p, n + 1, flags & FNM_PERIOD,
+                                           flags) == 0))
+                   return 0;
+               }
+             else
+               {
+                 int flags2 = ((flags & FNM_FILE_NAME)
+                               ? flags : (flags & ~FNM_PERIOD));
+
+                 if (c == '\\' && !(flags & FNM_NOESCAPE))
+                   c = *p;
+                 c = FOLD (c);
+                 for (--p; n < endp; ++n)
+                   if (FOLD ((unsigned char) *n) == c
+                       && (internal_fnmatch (p, n,
+                                             (no_leading_period
+                                              && (n == string
+                                                  || (n[-1] == '/'
+                                                      && (flags
+                                                          & FNM_FILE_NAME)))),
+                                             flags2) == 0))
+                     return 0;
+               }
+           }
+
+         /* If we come here no match is possible with the wildcard.  */
+         return FNM_NOMATCH;
+
+       case '[':
+         {
+           /* Nonzero if the sense of the character class is inverted.  */
+           static int posixly_correct;
+           register int not;
+           char cold;
+
+           if (posixly_correct == 0)
+             posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1;
+
+           if (*n == '\0')
+             return FNM_NOMATCH;
+
+           if (*n == '.' && no_leading_period && (n == string
+                                                  || (n[-1] == '/'
+                                                      && (flags
+                                                          & FNM_FILE_NAME))))
+             return FNM_NOMATCH;
+
+           if (*n == '/' && (flags & FNM_FILE_NAME))
+             /* `/' cannot be matched.  */
+             return FNM_NOMATCH;
+
+           not = (*p == '!' || (posixly_correct < 0 && *p == '^'));
+           if (not)
+             ++p;
+
+           c = *p++;
+           for (;;)
+             {
+               unsigned char fn = FOLD ((unsigned char) *n);
+
+               if (!(flags & FNM_NOESCAPE) && c == '\\')
+                 {
+                   if (*p == '\0')
+                     return FNM_NOMATCH;
+                   c = FOLD ((unsigned char) *p);
+                   ++p;
+
+                   if (c == fn)
+                     goto matched;
+                 }
+               else if (c == '[' && *p == ':')
+                 {
+                   /* Leave room for the null.  */
+                   char str[CHAR_CLASS_MAX_LENGTH + 1];
+                   size_t c1 = 0;
+# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
+                   wctype_t wt;
+# endif
+                   const char *startp = p;
+
+                   for (;;)
+                     {
+                       if (c1 == CHAR_CLASS_MAX_LENGTH)
+                         /* The name is too long and therefore the pattern
+                            is ill-formed.  */
+                         return FNM_NOMATCH;
+
+                       c = *++p;
+                       if (c == ':' && p[1] == ']')
+                         {
+                           p += 2;
+                           break;
+                         }
+                       if (c < 'a' || c >= 'z')
+                         {
+                           /* This cannot possibly be a character class name.
+                              Match it as a normal range.  */
+                           p = startp;
+                           c = '[';
+                           goto normal_bracket;
+                         }
+                       str[c1++] = c;
+                     }
+                   str[c1] = '\0';
+
+# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
+                   wt = IS_CHAR_CLASS (str);
+                   if (wt == 0)
+                     /* Invalid character class name.  */
+                     return FNM_NOMATCH;
+
+                   if (__iswctype (__btowc ((unsigned char) *n), wt))
+                     goto matched;
+# else
+                   if ((STREQ (str, "alnum") && ISALNUM ((unsigned char) *n))
+                       || (STREQ (str, "alpha") && ISALPHA ((unsigned char) *n))
+                       || (STREQ (str, "blank") && ISBLANK ((unsigned char) *n))
+                       || (STREQ (str, "cntrl") && ISCNTRL ((unsigned char) *n))
+                       || (STREQ (str, "digit") && ISDIGIT ((unsigned char) *n))
+                       || (STREQ (str, "graph") && ISGRAPH ((unsigned char) *n))
+                       || (STREQ (str, "lower") && ISLOWER ((unsigned char) *n))
+                       || (STREQ (str, "print") && ISPRINT ((unsigned char) *n))
+                       || (STREQ (str, "punct") && ISPUNCT ((unsigned char) *n))
+                       || (STREQ (str, "space") && ISSPACE ((unsigned char) *n))
+                       || (STREQ (str, "upper") && ISUPPER ((unsigned char) *n))
+                       || (STREQ (str, "xdigit") && ISXDIGIT ((unsigned char) *n)))
+                     goto matched;
+# endif
+                 }
+               else if (c == '\0')
+                 /* [ (unterminated) loses.  */
+                 return FNM_NOMATCH;
+               else
+                 {
+                 normal_bracket:
+                   if (FOLD (c) == fn)
+                     goto matched;
+
+                   cold = c;
+                   c = *p++;
+
+                   if (c == '-' && *p != ']')
+                     {
+                       /* It is a range.  */
+                       unsigned char cend = *p++;
+                       if (!(flags & FNM_NOESCAPE) && cend == '\\')
+                         cend = *p++;
+                       if (cend == '\0')
+                         return FNM_NOMATCH;
+
+                       if (cold <= fn && fn <= FOLD (cend))
+                         goto matched;
+
+                       c = *p++;
+                     }
+                 }
+
+               if (c == ']')
+                 break;
+             }
+
+           if (!not)
+             return FNM_NOMATCH;
+           break;
+
+         matched:
+           /* Skip the rest of the [...] that already matched.  */
+           while (c != ']')
+             {
+               if (c == '\0')
+                 /* [... (unterminated) loses.  */
+                 return FNM_NOMATCH;
+
+               c = *p++;
+               if (!(flags & FNM_NOESCAPE) && c == '\\')
+                 {
+                   if (*p == '\0')
+                     return FNM_NOMATCH;
+                   /* XXX 1003.2d11 is unclear if this is right.  */
+                   ++p;
+                 }
+               else if (c == '[' && *p == ':')
+                 {
+                   do
+                     if (*++p == '\0')
+                       return FNM_NOMATCH;
+                   while (*p != ':' || p[1] == ']');
+                   p += 2;
+                   c = *p;
+                 }
+             }
+           if (not)
+             return FNM_NOMATCH;
+         }
+         break;
+
+       default:
+         if (c != FOLD ((unsigned char) *n))
+           return FNM_NOMATCH;
+       }
+
+      ++n;
+    }
+
+  if (*n == '\0')
+    return 0;
+
+  if ((flags & FNM_LEADING_DIR) && *n == '/')
+    /* The FNM_LEADING_DIR flag says that "foo*" matches "foobar/frobozz".  */
+    return 0;
+
+  return FNM_NOMATCH;
+
+# undef FOLD
+}
+
+
+int
+fnmatch (pattern, string, flags)
+     const char *pattern;
+     const char *string;
+     int flags;
+{
+  return internal_fnmatch (pattern, string, flags & FNM_PERIOD, flags);
+}
+
+#endif /* _LIBC or not __GNU_LIBRARY__.  */
diff --git a/src/mkutil/make-3.80/glob/fnmatch.h b/src/mkutil/make-3.80/glob/fnmatch.h
new file mode 100644 (file)
index 0000000..cc3ec37
--- /dev/null
@@ -0,0 +1,84 @@
+/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef        _FNMATCH_H
+#define        _FNMATCH_H      1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
+# if !defined __GLIBC__ || !defined __P
+#  undef       __P
+#  define __P(protos)  protos
+# endif
+#else /* Not C++ or ANSI C.  */
+# undef        __P
+# define __P(protos)   ()
+/* We can get away without defining `const' here only because in this file
+   it is used only inside the prototype for `fnmatch', which is elided in
+   non-ANSI C where `const' is problematical.  */
+#endif /* C++ or ANSI C.  */
+
+#ifndef const
+# if (defined __STDC__ && __STDC__) || defined __cplusplus
+#  define __const      const
+# else
+#  define __const
+# endif
+#endif
+
+/* We #undef these before defining them because some losing systems
+   (HP-UX A.08.07 for example) define these in <unistd.h>.  */
+#undef FNM_PATHNAME
+#undef FNM_NOESCAPE
+#undef FNM_PERIOD
+
+/* Bits set in the FLAGS argument to `fnmatch'.  */
+#define        FNM_PATHNAME    (1 << 0) /* No wildcard can ever match `/'.  */
+#define        FNM_NOESCAPE    (1 << 1) /* Backslashes don't quote special chars.  */
+#define        FNM_PERIOD      (1 << 2) /* Leading `.' is matched only explicitly.  */
+
+#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
+# define FNM_FILE_NAME  FNM_PATHNAME   /* Preferred GNU name.  */
+# define FNM_LEADING_DIR (1 << 3)      /* Ignore `/...' after a match.  */
+# define FNM_CASEFOLD   (1 << 4)       /* Compare without regard to case.  */
+#endif
+
+/* Value returned by `fnmatch' if STRING does not match PATTERN.  */
+#define        FNM_NOMATCH     1
+
+/* This value is returned if the implementation does not support
+   `fnmatch'.  Since this is not the case here it will never be
+   returned but the conformance test suites still require the symbol
+   to be defined.  */
+#ifdef _XOPEN_SOURCE
+# define FNM_NOSYS     (-1)
+#endif
+
+/* Match NAME against the filename pattern PATTERN,
+   returning zero if it matches, FNM_NOMATCH if not.  */
+extern int fnmatch __P ((__const char *__pattern, __const char *__name,
+                        int __flags));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* fnmatch.h */
diff --git a/src/mkutil/make-3.80/glob/glob.c b/src/mkutil/make-3.80/glob/glob.c
new file mode 100644 (file)
index 0000000..4bbf7bb
--- /dev/null
@@ -0,0 +1,1428 @@
+/* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc.
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* AIX requires this to be the first thing in the file.  */
+#if defined _AIX && !defined __GNUC__
+ #pragma alloca
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+/* Enable GNU extensions in glob.h.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE   1
+#endif
+
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+/* Outcomment the following line for production quality code.  */
+/* #define NDEBUG 1 */
+#include <assert.h>
+
+#include <stdio.h>             /* Needed on stupid SunOS for assert.  */
+
+
+/* Comment out all this code if we are using the GNU C Library, and are not
+   actually compiling the library itself.  This code is part of the GNU C
+   Library, but also included in many other GNU distributions.  Compiling
+   and linking in this code is a waste when using the GNU C library
+   (especially if it is a shared library).  Rather than having every GNU
+   program understand `configure --with-gnu-libc' and omit the object files,
+   it is simpler to just do this in the source for each such file.  */
+
+#define GLOB_INTERFACE_VERSION 1
+#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+# include <gnu-versions.h>
+# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
+#  define ELIDE_CODE
+# endif
+#endif
+
+#ifndef ELIDE_CODE
+
+#if defined STDC_HEADERS || defined __GNU_LIBRARY__
+# include <stddef.h>
+#endif
+
+#if defined HAVE_UNISTD_H || defined _LIBC
+# include <unistd.h>
+# ifndef POSIX
+#  ifdef _POSIX_VERSION
+#   define POSIX
+#  endif
+# endif
+#endif
+
+#if !defined _AMIGA && !defined VMS && !defined WINDOWS32
+# include <pwd.h>
+#endif
+
+#if !defined __GNU_LIBRARY__ && !defined STDC_HEADERS
+extern int errno;
+#endif
+#ifndef __set_errno
+# define __set_errno(val) errno = (val)
+#endif
+
+#ifndef        NULL
+# define NULL  0
+#endif
+
+
+#if defined HAVE_DIRENT_H || defined __GNU_LIBRARY__
+# include <dirent.h>
+# define NAMLEN(dirent) strlen((dirent)->d_name)
+#else
+# define dirent direct
+# define NAMLEN(dirent) (dirent)->d_namlen
+# ifdef HAVE_SYS_NDIR_H
+#  include <sys/ndir.h>
+# endif
+# ifdef HAVE_SYS_DIR_H
+#  include <sys/dir.h>
+# endif
+# ifdef HAVE_NDIR_H
+#  include <ndir.h>
+# endif
+# ifdef HAVE_VMSDIR_H
+#  include "vmsdir.h"
+# endif /* HAVE_VMSDIR_H */
+#endif
+
+
+/* In GNU systems, <dirent.h> defines this macro for us.  */
+#ifdef _D_NAMLEN
+# undef NAMLEN
+# define NAMLEN(d) _D_NAMLEN(d)
+#endif
+
+/* When used in the GNU libc the symbol _DIRENT_HAVE_D_TYPE is available
+   if the `d_type' member for `struct dirent' is available.  */
+#ifdef _DIRENT_HAVE_D_TYPE
+# define HAVE_D_TYPE   1
+#endif
+
+
+#if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__
+/* Posix does not require that the d_ino field be present, and some
+   systems do not provide it. */
+# define REAL_DIR_ENTRY(dp) 1
+#else
+# define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
+#endif /* POSIX */
+
+#if defined STDC_HEADERS || defined __GNU_LIBRARY__
+# include <stdlib.h>
+# include <string.h>
+# define       ANSI_STRING
+#else  /* No standard headers.  */
+
+extern char *getenv ();
+
+# ifdef HAVE_STRING_H
+#  include <string.h>
+#  define ANSI_STRING
+# else
+#  include <strings.h>
+# endif
+# ifdef        HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+
+extern char *malloc (), *realloc ();
+extern void free ();
+
+extern void qsort ();
+extern void abort (), exit ();
+
+#endif /* Standard headers.  */
+
+#ifndef        ANSI_STRING
+
+# ifndef bzero
+extern void bzero ();
+# endif
+# ifndef bcopy
+extern void bcopy ();
+# endif
+
+# define memcpy(d, s, n)       bcopy ((s), (d), (n))
+# define strrchr       rindex
+/* memset is only used for zero here, but let's be paranoid.  */
+# define memset(s, better_be_zero, n) \
+  ((void) ((better_be_zero) == 0 ? (bzero((s), (n)), 0) : (abort(), 0)))
+#endif /* Not ANSI_STRING.  */
+
+#if !defined HAVE_STRCOLL && !defined _LIBC
+# define strcoll       strcmp
+#endif
+
+#if !defined HAVE_MEMPCPY && __GLIBC__ - 0 == 2 && __GLIBC_MINOR__ >= 1
+# define HAVE_MEMPCPY  1
+# undef  mempcpy
+# define mempcpy(Dest, Src, Len) __mempcpy (Dest, Src, Len)
+#endif
+
+#ifndef        __GNU_LIBRARY__
+# ifdef        __GNUC__
+__inline
+# endif
+# ifndef __SASC
+#  ifdef WINDOWS32
+static void *
+#  else
+static char *
+# endif
+my_realloc (p, n)
+     char *p;
+     unsigned int n;
+{
+  /* These casts are the for sake of the broken Ultrix compiler,
+     which warns of illegal pointer combinations otherwise.  */
+  if (p == NULL)
+    return (char *) malloc (n);
+  return (char *) realloc (p, n);
+}
+# define       realloc my_realloc
+# endif /* __SASC */
+#endif /* __GNU_LIBRARY__ */
+
+
+#if !defined __alloca && !defined __GNU_LIBRARY__
+
+# ifdef        __GNUC__
+#  undef alloca
+#  define alloca(n)    __builtin_alloca (n)
+# else /* Not GCC.  */
+#  ifdef HAVE_ALLOCA_H
+#   include <alloca.h>
+#  else        /* Not HAVE_ALLOCA_H.  */
+#   ifndef _AIX
+#    ifdef WINDOWS32
+#     include <malloc.h>
+#    else
+extern char *alloca ();
+#    endif /* WINDOWS32 */
+#   endif /* Not _AIX.  */
+#  endif /* sparc or HAVE_ALLOCA_H.  */
+# endif        /* GCC.  */
+
+# define __alloca      alloca
+
+#endif
+
+#ifndef __GNU_LIBRARY__
+# define __stat stat
+# ifdef STAT_MACROS_BROKEN
+#  undef S_ISDIR
+# endif
+# ifndef S_ISDIR
+#  define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
+# endif
+#endif
+
+#ifdef _LIBC
+# undef strdup
+# define strdup(str) __strdup (str)
+# define sysconf(id) __sysconf (id)
+# define closedir(dir) __closedir (dir)
+# define opendir(name) __opendir (name)
+# define readdir(str) __readdir (str)
+# define getpwnam_r(name, bufp, buf, len, res) \
+   __getpwnam_r (name, bufp, buf, len, res)
+# ifndef __stat
+#  define __stat(fname, buf) __xstat (_STAT_VER, fname, buf)
+# endif
+#endif
+
+#if !(defined STDC_HEADERS || defined __GNU_LIBRARY__)
+# undef        size_t
+# define size_t        unsigned int
+#endif
+
+/* Some system header files erroneously define these.
+   We want our own definitions from <fnmatch.h> to take precedence.  */
+#ifndef __GNU_LIBRARY__
+# undef        FNM_PATHNAME
+# undef        FNM_NOESCAPE
+# undef        FNM_PERIOD
+#endif
+#include <fnmatch.h>
+
+/* Some system header files erroneously define these.
+   We want our own definitions from <glob.h> to take precedence.  */
+#ifndef __GNU_LIBRARY__
+# undef        GLOB_ERR
+# undef        GLOB_MARK
+# undef        GLOB_NOSORT
+# undef        GLOB_DOOFFS
+# undef        GLOB_NOCHECK
+# undef        GLOB_APPEND
+# undef        GLOB_NOESCAPE
+# undef        GLOB_PERIOD
+#endif
+#include <glob.h>
+
+#ifdef HAVE_GETLOGIN_R
+extern int getlogin_r __P ((char *, size_t));
+#else
+extern char *getlogin __P ((void));
+#endif
+\f
+static
+#if __GNUC__ - 0 >= 2
+inline
+#endif
+const char *next_brace_sub __P ((const char *begin));
+static int glob_in_dir __P ((const char *pattern, const char *directory,
+                            int flags,
+                            int (*errfunc) (const char *, int),
+                            glob_t *pglob));
+static int prefix_array __P ((const char *prefix, char **array, size_t n));
+static int collated_compare __P ((const __ptr_t, const __ptr_t));
+
+#ifdef VMS
+/* these compilers like prototypes */
+#if !defined _LIBC || !defined NO_GLOB_PATTERN_P
+int __glob_pattern_p (const char *pattern, int quote);
+#endif
+#endif
+
+/* Find the end of the sub-pattern in a brace expression.  We define
+   this as an inline function if the compiler permits.  */
+static
+#if __GNUC__ - 0 >= 2
+inline
+#endif
+const char *
+next_brace_sub (begin)
+     const char *begin;
+{
+  unsigned int depth = 0;
+  const char *cp = begin;
+
+  while (1)
+    {
+      if (depth == 0)
+       {
+         if (*cp != ',' && *cp != '}' && *cp != '\0')
+           {
+             if (*cp == '{')
+               ++depth;
+             ++cp;
+             continue;
+           }
+       }
+      else
+       {
+         while (*cp != '\0' && (*cp != '}' || depth > 0))
+           {
+             if (*cp == '}')
+               --depth;
+             ++cp;
+           }
+         if (*cp == '\0')
+           /* An incorrectly terminated brace expression.  */
+           return NULL;
+
+         continue;
+       }
+      break;
+    }
+
+  return cp;
+}
+
+/* Do glob searching for PATTERN, placing results in PGLOB.
+   The bits defined above may be set in FLAGS.
+   If a directory cannot be opened or read and ERRFUNC is not nil,
+   it is called with the pathname that caused the error, and the
+   `errno' value from the failing call; if it returns non-zero
+   `glob' returns GLOB_ABORTED; if it returns zero, the error is ignored.
+   If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
+   Otherwise, `glob' returns zero.  */
+int
+glob (pattern, flags, errfunc, pglob)
+     const char *pattern;
+     int flags;
+     int (*errfunc) __P ((const char *, int));
+     glob_t *pglob;
+{
+  const char *filename;
+  const char *dirname;
+  size_t dirlen;
+  int status;
+  int oldcount;
+
+  if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  if (flags & GLOB_BRACE)
+    {
+      const char *begin = strchr (pattern, '{');
+      if (begin != NULL)
+       {
+         /* Allocate working buffer large enough for our work.  Note that
+           we have at least an opening and closing brace.  */
+         int firstc;
+         char *alt_start;
+         const char *p;
+         const char *next;
+         const char *rest;
+         size_t rest_len;
+#ifdef __GNUC__
+         char onealt[strlen (pattern) - 1];
+#else
+         char *onealt = (char *) malloc (strlen (pattern) - 1);
+         if (onealt == NULL)
+           {
+             if (!(flags & GLOB_APPEND))
+               globfree (pglob);
+             return GLOB_NOSPACE;
+           }
+#endif
+
+         /* We know the prefix for all sub-patterns.  */
+#ifdef HAVE_MEMPCPY
+         alt_start = mempcpy (onealt, pattern, begin - pattern);
+#else
+         memcpy (onealt, pattern, begin - pattern);
+         alt_start = &onealt[begin - pattern];
+#endif
+
+         /* Find the first sub-pattern and at the same time find the
+            rest after the closing brace.  */
+         next = next_brace_sub (begin + 1);
+         if (next == NULL)
+           {
+             /* It is an illegal expression.  */
+#ifndef __GNUC__
+             free (onealt);
+#endif
+             return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob);
+           }
+
+         /* Now find the end of the whole brace expression.  */
+         rest = next;
+         while (*rest != '}')
+           {
+             rest = next_brace_sub (rest + 1);
+             if (rest == NULL)
+               {
+                 /* It is an illegal expression.  */
+#ifndef __GNUC__
+                 free (onealt);
+#endif
+                 return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob);
+               }
+           }
+         /* Please note that we now can be sure the brace expression
+            is well-formed.  */
+         rest_len = strlen (++rest) + 1;
+
+         /* We have a brace expression.  BEGIN points to the opening {,
+            NEXT points past the terminator of the first element, and END
+            points past the final }.  We will accumulate result names from
+            recursive runs for each brace alternative in the buffer using
+            GLOB_APPEND.  */
+
+         if (!(flags & GLOB_APPEND))
+           {
+             /* This call is to set a new vector, so clear out the
+                vector so we can append to it.  */
+             pglob->gl_pathc = 0;
+             pglob->gl_pathv = NULL;
+           }
+         firstc = pglob->gl_pathc;
+
+         p = begin + 1;
+         while (1)
+           {
+             int result;
+
+             /* Construct the new glob expression.  */
+#ifdef HAVE_MEMPCPY
+             mempcpy (mempcpy (alt_start, p, next - p), rest, rest_len);
+#else
+             memcpy (alt_start, p, next - p);
+             memcpy (&alt_start[next - p], rest, rest_len);
+#endif
+
+             result = glob (onealt,
+                            ((flags & ~(GLOB_NOCHECK|GLOB_NOMAGIC))
+                             | GLOB_APPEND), errfunc, pglob);
+
+             /* If we got an error, return it.  */
+             if (result && result != GLOB_NOMATCH)
+               {
+#ifndef __GNUC__
+                 free (onealt);
+#endif
+                 if (!(flags & GLOB_APPEND))
+                   globfree (pglob);
+                 return result;
+               }
+
+             if (*next == '}')
+               /* We saw the last entry.  */
+               break;
+
+             p = next + 1;
+             next = next_brace_sub (p);
+             assert (next != NULL);
+           }
+
+#ifndef __GNUC__
+         free (onealt);
+#endif
+
+         if (pglob->gl_pathc != firstc)
+           /* We found some entries.  */
+           return 0;
+         else if (!(flags & (GLOB_NOCHECK|GLOB_NOMAGIC)))
+           return GLOB_NOMATCH;
+       }
+    }
+
+  /* Find the filename.  */
+  filename = strrchr (pattern, '/');
+#if defined __MSDOS__ || defined WINDOWS32
+  /* The case of "d:pattern".  Since `:' is not allowed in
+     file names, we can safely assume that wherever it
+     happens in pattern, it signals the filename part.  This
+     is so we could some day support patterns like "[a-z]:foo".  */
+  if (filename == NULL)
+    filename = strchr (pattern, ':');
+#endif /* __MSDOS__ || WINDOWS32 */
+  if (filename == NULL)
+    {
+      /* This can mean two things: a simple name or "~name".  The later
+        case is nothing but a notation for a directory.  */
+      if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern[0] == '~')
+       {
+         dirname = pattern;
+         dirlen = strlen (pattern);
+
+         /* Set FILENAME to NULL as a special flag.  This is ugly but
+            other solutions would require much more code.  We test for
+            this special case below.  */
+         filename = NULL;
+       }
+      else
+       {
+         filename = pattern;
+#ifdef _AMIGA
+         dirname = "";
+#else
+         dirname = ".";
+#endif
+         dirlen = 0;
+       }
+    }
+  else if (filename == pattern)
+    {
+      /* "/pattern".  */
+      dirname = "/";
+      dirlen = 1;
+      ++filename;
+    }
+  else
+    {
+      char *newp;
+      dirlen = filename - pattern;
+#if defined __MSDOS__ || defined WINDOWS32
+      if (*filename == ':'
+         || (filename > pattern + 1 && filename[-1] == ':'))
+       {
+         char *drive_spec;
+
+         ++dirlen;
+         drive_spec = (char *) __alloca (dirlen + 1);
+#ifdef HAVE_MEMPCPY
+         *((char *) mempcpy (drive_spec, pattern, dirlen)) = '\0';
+#else
+         memcpy (drive_spec, pattern, dirlen);
+         drive_spec[dirlen] = '\0';
+#endif
+         /* For now, disallow wildcards in the drive spec, to
+            prevent infinite recursion in glob.  */
+         if (__glob_pattern_p (drive_spec, !(flags & GLOB_NOESCAPE)))
+           return GLOB_NOMATCH;
+         /* If this is "d:pattern", we need to copy `:' to DIRNAME
+            as well.  If it's "d:/pattern", don't remove the slash
+            from "d:/", since "d:" and "d:/" are not the same.*/
+       }
+#endif
+      newp = (char *) __alloca (dirlen + 1);
+#ifdef HAVE_MEMPCPY
+      *((char *) mempcpy (newp, pattern, dirlen)) = '\0';
+#else
+      memcpy (newp, pattern, dirlen);
+      newp[dirlen] = '\0';
+#endif
+      dirname = newp;
+      ++filename;
+
+      if (filename[0] == '\0'
+#if defined __MSDOS__ || defined WINDOWS32
+          && dirname[dirlen - 1] != ':'
+         && (dirlen < 3 || dirname[dirlen - 2] != ':'
+             || dirname[dirlen - 1] != '/')
+#endif
+         && dirlen > 1)
+       /* "pattern/".  Expand "pattern", appending slashes.  */
+       {
+         int val = glob (dirname, flags | GLOB_MARK, errfunc, pglob);
+         if (val == 0)
+           pglob->gl_flags = ((pglob->gl_flags & ~GLOB_MARK)
+                              | (flags & GLOB_MARK));
+         return val;
+       }
+    }
+
+  if (!(flags & GLOB_APPEND))
+    {
+      pglob->gl_pathc = 0;
+      pglob->gl_pathv = NULL;
+    }
+
+  oldcount = pglob->gl_pathc;
+
+#ifndef VMS
+  if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && dirname[0] == '~')
+    {
+      if (dirname[1] == '\0' || dirname[1] == '/')
+       {
+         /* Look up home directory.  */
+#ifdef VMS
+/* This isn't obvious, RTLs of DECC and VAXC know about "HOME" */
+          const char *home_dir = getenv ("SYS$LOGIN");
+#else
+          const char *home_dir = getenv ("HOME");
+#endif
+# ifdef _AMIGA
+         if (home_dir == NULL || home_dir[0] == '\0')
+           home_dir = "SYS:";
+# else
+#  ifdef WINDOWS32
+         if (home_dir == NULL || home_dir[0] == '\0')
+            home_dir = "c:/users/default"; /* poor default */
+#  else
+#   ifdef VMS
+/* Again, this isn't obvious, if "HOME" isn't known "SYS$LOGIN" should be set */
+         if (home_dir == NULL || home_dir[0] == '\0')
+           home_dir = "SYS$DISK:[]";
+#   else
+         if (home_dir == NULL || home_dir[0] == '\0')
+           {
+             int success;
+             char *name;
+#   if defined HAVE_GETLOGIN_R || defined _LIBC
+             size_t buflen = sysconf (_SC_LOGIN_NAME_MAX) + 1;
+
+             if (buflen == 0)
+               /* `sysconf' does not support _SC_LOGIN_NAME_MAX.  Try
+                  a moderate value.  */
+               buflen = 20;
+             name = (char *) __alloca (buflen);
+
+             success = getlogin_r (name, buflen) >= 0;
+#   else
+             success = (name = getlogin ()) != NULL;
+#   endif
+             if (success)
+               {
+                 struct passwd *p;
+#   if defined HAVE_GETPWNAM_R || defined _LIBC
+                 size_t pwbuflen = sysconf (_SC_GETPW_R_SIZE_MAX);
+                 char *pwtmpbuf;
+                 struct passwd pwbuf;
+                 int save = errno;
+
+                 if (pwbuflen == -1)
+                   /* `sysconf' does not support _SC_GETPW_R_SIZE_MAX.
+                      Try a moderate value.  */
+                   pwbuflen = 1024;
+                 pwtmpbuf = (char *) __alloca (pwbuflen);
+
+                 while (getpwnam_r (name, &pwbuf, pwtmpbuf, pwbuflen, &p)
+                        != 0)
+                   {
+                     if (errno != ERANGE)
+                       {
+                         p = NULL;
+                         break;
+                       }
+                     pwbuflen *= 2;
+                     pwtmpbuf = (char *) __alloca (pwbuflen);
+                     __set_errno (save);
+                   }
+#   else
+                 p = getpwnam (name);
+#   endif
+                 if (p != NULL)
+                   home_dir = p->pw_dir;
+               }
+           }
+         if (home_dir == NULL || home_dir[0] == '\0')
+           {
+             if (flags & GLOB_TILDE_CHECK)
+               return GLOB_NOMATCH;
+             else
+               home_dir = "~"; /* No luck.  */
+           }
+#   endif /* VMS */
+#  endif /* WINDOWS32 */
+# endif
+         /* Now construct the full directory.  */
+         if (dirname[1] == '\0')
+           dirname = home_dir;
+         else
+           {
+             char *newp;
+             size_t home_len = strlen (home_dir);
+             newp = (char *) __alloca (home_len + dirlen);
+# ifdef HAVE_MEMPCPY
+             mempcpy (mempcpy (newp, home_dir, home_len),
+                      &dirname[1], dirlen);
+# else
+             memcpy (newp, home_dir, home_len);
+             memcpy (&newp[home_len], &dirname[1], dirlen);
+# endif
+             dirname = newp;
+           }
+       }
+# if !defined _AMIGA && !defined WINDOWS32 && !defined VMS
+      else
+       {
+         char *end_name = strchr (dirname, '/');
+         const char *user_name;
+         const char *home_dir;
+
+         if (end_name == NULL)
+           user_name = dirname + 1;
+         else
+           {
+             char *newp;
+             newp = (char *) __alloca (end_name - dirname);
+# ifdef HAVE_MEMPCPY
+             *((char *) mempcpy (newp, dirname + 1, end_name - dirname))
+               = '\0';
+# else
+             memcpy (newp, dirname + 1, end_name - dirname);
+             newp[end_name - dirname - 1] = '\0';
+# endif
+             user_name = newp;
+           }
+
+         /* Look up specific user's home directory.  */
+         {
+           struct passwd *p;
+#  if defined HAVE_GETPWNAM_R || defined _LIBC
+           size_t buflen = sysconf (_SC_GETPW_R_SIZE_MAX);
+           char *pwtmpbuf;
+           struct passwd pwbuf;
+           int save = errno;
+
+           if (buflen == -1)
+             /* `sysconf' does not support _SC_GETPW_R_SIZE_MAX.  Try a
+                moderate value.  */
+             buflen = 1024;
+           pwtmpbuf = (char *) __alloca (buflen);
+
+           while (getpwnam_r (user_name, &pwbuf, pwtmpbuf, buflen, &p) != 0)
+             {
+               if (errno != ERANGE)
+                 {
+                   p = NULL;
+                   break;
+                 }
+               buflen *= 2;
+               pwtmpbuf = __alloca (buflen);
+               __set_errno (save);
+             }
+#  else
+           p = getpwnam (user_name);
+#  endif
+           if (p != NULL)
+             home_dir = p->pw_dir;
+           else
+             home_dir = NULL;
+         }
+         /* If we found a home directory use this.  */
+         if (home_dir != NULL)
+           {
+             char *newp;
+             size_t home_len = strlen (home_dir);
+             size_t rest_len = end_name == NULL ? 0 : strlen (end_name);
+             newp = (char *) __alloca (home_len + rest_len + 1);
+#  ifdef HAVE_MEMPCPY
+             *((char *) mempcpy (mempcpy (newp, home_dir, home_len),
+                                 end_name, rest_len)) = '\0';
+#  else
+             memcpy (newp, home_dir, home_len);
+             memcpy (&newp[home_len], end_name, rest_len);
+             newp[home_len + rest_len] = '\0';
+#  endif
+             dirname = newp;
+           }
+         else
+           if (flags & GLOB_TILDE_CHECK)
+             /* We have to regard it as an error if we cannot find the
+                home directory.  */
+             return GLOB_NOMATCH;
+       }
+# endif        /* Not Amiga && not WINDOWS32 && not VMS.  */
+    }
+#endif /* Not VMS.  */
+
+  /* Now test whether we looked for "~" or "~NAME".  In this case we
+     can give the answer now.  */
+  if (filename == NULL)
+    {
+      struct stat st;
+
+      /* Return the directory if we don't check for error or if it exists.  */
+      if ((flags & GLOB_NOCHECK)
+         || (((flags & GLOB_ALTDIRFUNC)
+              ? (*pglob->gl_stat) (dirname, &st)
+              : __stat (dirname, &st)) == 0
+             && S_ISDIR (st.st_mode)))
+       {
+         pglob->gl_pathv
+           = (char **) realloc (pglob->gl_pathv,
+                                (pglob->gl_pathc +
+                                 ((flags & GLOB_DOOFFS) ?
+                                  pglob->gl_offs : 0) +
+                                 1 + 1) *
+                                sizeof (char *));
+         if (pglob->gl_pathv == NULL)
+           return GLOB_NOSPACE;
+
+         if (flags & GLOB_DOOFFS)
+           while (pglob->gl_pathc < pglob->gl_offs)
+             pglob->gl_pathv[pglob->gl_pathc++] = NULL;
+
+#if defined HAVE_STRDUP || defined _LIBC
+         pglob->gl_pathv[pglob->gl_pathc] = strdup (dirname);
+#else
+         {
+           size_t len = strlen (dirname) + 1;
+           char *dircopy = malloc (len);
+           if (dircopy != NULL)
+             pglob->gl_pathv[pglob->gl_pathc] = memcpy (dircopy, dirname,
+                                                        len);
+         }
+#endif
+         if (pglob->gl_pathv[pglob->gl_pathc] == NULL)
+           {
+             free (pglob->gl_pathv);
+             return GLOB_NOSPACE;
+           }
+         pglob->gl_pathv[++pglob->gl_pathc] = NULL;
+         pglob->gl_flags = flags;
+
+         return 0;
+       }
+
+      /* Not found.  */
+      return GLOB_NOMATCH;
+    }
+
+  if (__glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE)))
+    {
+      /* The directory name contains metacharacters, so we
+        have to glob for the directory, and then glob for
+        the pattern in each directory found.  */
+      glob_t dirs;
+      register int i;
+
+      status = glob (dirname,
+                    ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE))
+                     | GLOB_NOSORT | GLOB_ONLYDIR),
+                    errfunc, &dirs);
+      if (status != 0)
+       return status;
+
+      /* We have successfully globbed the preceding directory name.
+        For each name we found, call glob_in_dir on it and FILENAME,
+        appending the results to PGLOB.  */
+      for (i = 0; i < dirs.gl_pathc; ++i)
+       {
+         int old_pathc;
+
+#ifdef SHELL
+         {
+           /* Make globbing interruptible in the bash shell. */
+           extern int interrupt_state;
+
+           if (interrupt_state)
+             {
+               globfree (&dirs);
+               globfree (&files);
+               return GLOB_ABORTED;
+             }
+         }
+#endif /* SHELL.  */
+
+         old_pathc = pglob->gl_pathc;
+         status = glob_in_dir (filename, dirs.gl_pathv[i],
+                               ((flags | GLOB_APPEND)
+                                & ~(GLOB_NOCHECK | GLOB_ERR)),
+                               errfunc, pglob);
+         if (status == GLOB_NOMATCH)
+           /* No matches in this directory.  Try the next.  */
+           continue;
+
+         if (status != 0)
+           {
+             globfree (&dirs);
+             globfree (pglob);
+             return status;
+           }
+
+         /* Stick the directory on the front of each name.  */
+         if (prefix_array (dirs.gl_pathv[i],
+                           &pglob->gl_pathv[old_pathc],
+                           pglob->gl_pathc - old_pathc))
+           {
+             globfree (&dirs);
+             globfree (pglob);
+             return GLOB_NOSPACE;
+           }
+       }
+
+      flags |= GLOB_MAGCHAR;
+
+      /* We have ignored the GLOB_NOCHECK flag in the `glob_in_dir' calls.
+        But if we have not found any matching entry and thie GLOB_NOCHECK
+        flag was set we must return the list consisting of the disrectory
+        names followed by the filename.  */
+      if (pglob->gl_pathc == oldcount)
+       {
+         /* No matches.  */
+         if (flags & GLOB_NOCHECK)
+           {
+             size_t filename_len = strlen (filename) + 1;
+             char **new_pathv;
+             struct stat st;
+
+             /* This is an pessimistic guess about the size.  */
+             pglob->gl_pathv
+               = (char **) realloc (pglob->gl_pathv,
+                                    (pglob->gl_pathc +
+                                     ((flags & GLOB_DOOFFS) ?
+                                      pglob->gl_offs : 0) +
+                                     dirs.gl_pathc + 1) *
+                                    sizeof (char *));
+             if (pglob->gl_pathv == NULL)
+               {
+                 globfree (&dirs);
+                 return GLOB_NOSPACE;
+               }
+
+             if (flags & GLOB_DOOFFS)
+               while (pglob->gl_pathc < pglob->gl_offs)
+                 pglob->gl_pathv[pglob->gl_pathc++] = NULL;
+
+             for (i = 0; i < dirs.gl_pathc; ++i)
+               {
+                 const char *dir = dirs.gl_pathv[i];
+                 size_t dir_len = strlen (dir);
+
+                 /* First check whether this really is a directory.  */
+                 if (((flags & GLOB_ALTDIRFUNC)
+                      ? (*pglob->gl_stat) (dir, &st) : __stat (dir, &st)) != 0
+                     || !S_ISDIR (st.st_mode))
+                   /* No directory, ignore this entry.  */
+                   continue;
+
+                 pglob->gl_pathv[pglob->gl_pathc] = malloc (dir_len + 1
+                                                            + filename_len);
+                 if (pglob->gl_pathv[pglob->gl_pathc] == NULL)
+                   {
+                     globfree (&dirs);
+                     globfree (pglob);
+                     return GLOB_NOSPACE;
+                   }
+
+#ifdef HAVE_MEMPCPY
+                 mempcpy (mempcpy (mempcpy (pglob->gl_pathv[pglob->gl_pathc],
+                                            dir, dir_len),
+                                   "/", 1),
+                          filename, filename_len);
+#else
+                 memcpy (pglob->gl_pathv[pglob->gl_pathc], dir, dir_len);
+                 pglob->gl_pathv[pglob->gl_pathc][dir_len] = '/';
+                 memcpy (&pglob->gl_pathv[pglob->gl_pathc][dir_len + 1],
+                         filename, filename_len);
+#endif
+                 ++pglob->gl_pathc;
+               }
+
+             pglob->gl_pathv[pglob->gl_pathc] = NULL;
+             pglob->gl_flags = flags;
+
+             /* Now we know how large the gl_pathv vector must be.  */
+             new_pathv = (char **) realloc (pglob->gl_pathv,
+                                            ((pglob->gl_pathc + 1)
+                                             * sizeof (char *)));
+             if (new_pathv != NULL)
+               pglob->gl_pathv = new_pathv;
+           }
+         else
+           return GLOB_NOMATCH;
+       }
+
+      globfree (&dirs);
+    }
+  else
+    {
+      status = glob_in_dir (filename, dirname, flags, errfunc, pglob);
+      if (status != 0)
+       return status;
+
+      if (dirlen > 0)
+       {
+         /* Stick the directory on the front of each name.  */
+         int ignore = oldcount;
+
+         if ((flags & GLOB_DOOFFS) && ignore < pglob->gl_offs)
+           ignore = pglob->gl_offs;
+
+         if (prefix_array (dirname,
+                           &pglob->gl_pathv[ignore],
+                           pglob->gl_pathc - ignore))
+           {
+             globfree (pglob);
+             return GLOB_NOSPACE;
+           }
+       }
+    }
+
+  if (flags & GLOB_MARK)
+    {
+      /* Append slashes to directory names.  */
+      int i;
+      struct stat st;
+      for (i = oldcount; i < pglob->gl_pathc; ++i)
+       if (((flags & GLOB_ALTDIRFUNC)
+            ? (*pglob->gl_stat) (pglob->gl_pathv[i], &st)
+            : __stat (pglob->gl_pathv[i], &st)) == 0
+           && S_ISDIR (st.st_mode))
+         {
+           size_t len = strlen (pglob->gl_pathv[i]) + 2;
+           char *new = realloc (pglob->gl_pathv[i], len);
+           if (new == NULL)
+             {
+               globfree (pglob);
+               return GLOB_NOSPACE;
+             }
+           strcpy (&new[len - 2], "/");
+           pglob->gl_pathv[i] = new;
+         }
+    }
+
+  if (!(flags & GLOB_NOSORT))
+    {
+      /* Sort the vector.  */
+      int non_sort = oldcount;
+
+      if ((flags & GLOB_DOOFFS) && pglob->gl_offs > oldcount)
+       non_sort = pglob->gl_offs;
+
+      qsort ((__ptr_t) &pglob->gl_pathv[non_sort],
+            pglob->gl_pathc - non_sort,
+            sizeof (char *), collated_compare);
+    }
+
+  return 0;
+}
+
+
+/* Free storage allocated in PGLOB by a previous `glob' call.  */
+void
+globfree (pglob)
+     register glob_t *pglob;
+{
+  if (pglob->gl_pathv != NULL)
+    {
+      register int i;
+      for (i = 0; i < pglob->gl_pathc; ++i)
+       if (pglob->gl_pathv[i] != NULL)
+         free ((__ptr_t) pglob->gl_pathv[i]);
+      free ((__ptr_t) pglob->gl_pathv);
+    }
+}
+
+
+/* Do a collated comparison of A and B.  */
+static int
+collated_compare (a, b)
+     const __ptr_t a;
+     const __ptr_t b;
+{
+  const char *const s1 = *(const char *const * const) a;
+  const char *const s2 = *(const char *const * const) b;
+
+  if (s1 == s2)
+    return 0;
+  if (s1 == NULL)
+    return 1;
+  if (s2 == NULL)
+    return -1;
+  return strcoll (s1, s2);
+}
+
+
+/* Prepend DIRNAME to each of N members of ARRAY, replacing ARRAY's
+   elements in place.  Return nonzero if out of memory, zero if successful.
+   A slash is inserted between DIRNAME and each elt of ARRAY,
+   unless DIRNAME is just "/".  Each old element of ARRAY is freed.  */
+static int
+prefix_array (dirname, array, n)
+     const char *dirname;
+     char **array;
+     size_t n;
+{
+  register size_t i;
+  size_t dirlen = strlen (dirname);
+#if defined __MSDOS__ || defined WINDOWS32
+  int sep_char = '/';
+# define DIRSEP_CHAR sep_char
+#else
+# define DIRSEP_CHAR '/'
+#endif
+
+  if (dirlen == 1 && dirname[0] == '/')
+    /* DIRNAME is just "/", so normal prepending would get us "//foo".
+       We want "/foo" instead, so don't prepend any chars from DIRNAME.  */
+    dirlen = 0;
+#if defined __MSDOS__ || defined WINDOWS32
+  else if (dirlen > 1)
+    {
+      if (dirname[dirlen - 1] == '/' && dirname[dirlen - 2] == ':')
+       /* DIRNAME is "d:/".  Don't prepend the slash from DIRNAME.  */
+       --dirlen;
+      else if (dirname[dirlen - 1] == ':')
+       {
+         /* DIRNAME is "d:".  Use `:' instead of `/'.  */
+         --dirlen;
+         sep_char = ':';
+       }
+    }
+#endif
+
+  for (i = 0; i < n; ++i)
+    {
+      size_t eltlen = strlen (array[i]) + 1;
+      char *new = (char *) malloc (dirlen + 1 + eltlen);
+      if (new == NULL)
+       {
+         while (i > 0)
+           free ((__ptr_t) array[--i]);
+         return 1;
+       }
+
+#ifdef HAVE_MEMPCPY
+      {
+       char *endp = (char *) mempcpy (new, dirname, dirlen);
+       *endp++ = DIRSEP_CHAR;
+       mempcpy (endp, array[i], eltlen);
+      }
+#else
+      memcpy (new, dirname, dirlen);
+      new[dirlen] = DIRSEP_CHAR;
+      memcpy (&new[dirlen + 1], array[i], eltlen);
+#endif
+      free ((__ptr_t) array[i]);
+      array[i] = new;
+    }
+
+  return 0;
+}
+
+
+/* We must not compile this function twice.  */
+#if !defined _LIBC || !defined NO_GLOB_PATTERN_P
+/* Return nonzero if PATTERN contains any metacharacters.
+   Metacharacters can be quoted with backslashes if QUOTE is nonzero.  */
+int
+__glob_pattern_p (pattern, quote)
+     const char *pattern;
+     int quote;
+{
+  register const char *p;
+  int open = 0;
+
+  for (p = pattern; *p != '\0'; ++p)
+    switch (*p)
+      {
+      case '?':
+      case '*':
+       return 1;
+
+      case '\\':
+       if (quote && p[1] != '\0')
+         ++p;
+       break;
+
+      case '[':
+       open = 1;
+       break;
+
+      case ']':
+       if (open)
+         return 1;
+       break;
+      }
+
+  return 0;
+}
+# ifdef _LIBC
+weak_alias (__glob_pattern_p, glob_pattern_p)
+# endif
+#endif
+
+
+/* Like `glob', but PATTERN is a final pathname component,
+   and matches are searched for in DIRECTORY.
+   The GLOB_NOSORT bit in FLAGS is ignored.  No sorting is ever done.
+   The GLOB_APPEND flag is assumed to be set (always appends).  */
+static int
+glob_in_dir (pattern, directory, flags, errfunc, pglob)
+     const char *pattern;
+     const char *directory;
+     int flags;
+     int (*errfunc) __P ((const char *, int));
+     glob_t *pglob;
+{
+  __ptr_t stream = NULL;
+
+  struct globlink
+    {
+      struct globlink *next;
+      char *name;
+    };
+  struct globlink *names = NULL;
+  size_t nfound;
+  int meta;
+  int save;
+
+#ifdef VMS
+  if (*directory == 0)
+    directory = "[]";
+#endif
+  meta = __glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE));
+  if (meta == 0)
+    {
+      if (flags & (GLOB_NOCHECK|GLOB_NOMAGIC))
+       /* We need not do any tests.  The PATTERN contains no meta
+          characters and we must not return an error therefore the
+          result will always contain exactly one name.  */
+       flags |= GLOB_NOCHECK;
+      else
+       {
+         /* Since we use the normal file functions we can also use stat()
+            to verify the file is there.  */
+         struct stat st;
+         size_t patlen = strlen (pattern);
+         size_t dirlen = strlen (directory);
+         char *fullname = (char *) __alloca (dirlen + 1 + patlen + 1);
+
+# ifdef HAVE_MEMPCPY
+         mempcpy (mempcpy (mempcpy (fullname, directory, dirlen),
+                           "/", 1),
+                  pattern, patlen + 1);
+# else
+         memcpy (fullname, directory, dirlen);
+         fullname[dirlen] = '/';
+         memcpy (&fullname[dirlen + 1], pattern, patlen + 1);
+# endif
+         if (((flags & GLOB_ALTDIRFUNC)
+              ? (*pglob->gl_stat) (fullname, &st)
+              : __stat (fullname, &st)) == 0)
+           /* We found this file to be existing.  Now tell the rest
+              of the function to copy this name into the result.  */
+           flags |= GLOB_NOCHECK;
+       }
+
+      nfound = 0;
+    }
+  else
+    {
+      if (pattern[0] == '\0')
+       {
+         /* This is a special case for matching directories like in
+            "*a/".  */
+         names = (struct globlink *) __alloca (sizeof (struct globlink));
+         names->name = (char *) malloc (1);
+         if (names->name == NULL)
+           goto memory_error;
+         names->name[0] = '\0';
+         names->next = NULL;
+         nfound = 1;
+         meta = 0;
+       }
+      else
+       {
+         stream = ((flags & GLOB_ALTDIRFUNC)
+                   ? (*pglob->gl_opendir) (directory)
+                   : (__ptr_t) opendir (directory));
+         if (stream == NULL)
+           {
+             if (errno != ENOTDIR
+                 && ((errfunc != NULL && (*errfunc) (directory, errno))
+                     || (flags & GLOB_ERR)))
+               return GLOB_ABORTED;
+             nfound = 0;
+             meta = 0;
+           }
+         else
+           {
+             int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0)
+                              | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0)
+#if defined _AMIGA || defined VMS
+                                  | FNM_CASEFOLD
+#endif
+                                  );
+             nfound = 0;
+             flags |= GLOB_MAGCHAR;
+
+             while (1)
+               {
+                 const char *name;
+                 size_t len;
+                 struct dirent *d = ((flags & GLOB_ALTDIRFUNC)
+                                     ? (*pglob->gl_readdir) (stream)
+                                     : readdir ((DIR *) stream));
+                 if (d == NULL)
+                   break;
+                 if (! REAL_DIR_ENTRY (d))
+                   continue;
+
+#ifdef HAVE_D_TYPE
+                 /* If we shall match only directories use the information
+                    provided by the dirent call if possible.  */
+                 if ((flags & GLOB_ONLYDIR)
+                     && d->d_type != DT_UNKNOWN && d->d_type != DT_DIR)
+                   continue;
+#endif
+
+                 name = d->d_name;
+
+                 if (fnmatch (pattern, name, fnm_flags) == 0)
+                   {
+                     struct globlink *new = (struct globlink *)
+                       __alloca (sizeof (struct globlink));
+                     len = NAMLEN (d);
+                     new->name = (char *) malloc (len + 1);
+                     if (new->name == NULL)
+                       goto memory_error;
+#ifdef HAVE_MEMPCPY
+                     *((char *) mempcpy ((__ptr_t) new->name, name, len))
+                       = '\0';
+#else
+                     memcpy ((__ptr_t) new->name, name, len);
+                     new->name[len] = '\0';
+#endif
+                     new->next = names;
+                     names = new;
+                     ++nfound;
+                   }
+               }
+           }
+       }
+    }
+
+  if (nfound == 0 && (flags & GLOB_NOCHECK))
+    {
+      size_t len = strlen (pattern);
+      nfound = 1;
+      names = (struct globlink *) __alloca (sizeof (struct globlink));
+      names->next = NULL;
+      names->name = (char *) malloc (len + 1);
+      if (names->name == NULL)
+       goto memory_error;
+#ifdef HAVE_MEMPCPY
+      *((char *) mempcpy (names->name, pattern, len)) = '\0';
+#else
+      memcpy (names->name, pattern, len);
+      names->name[len] = '\0';
+#endif
+    }
+
+  if (nfound != 0)
+    {
+      pglob->gl_pathv
+       = (char **) realloc (pglob->gl_pathv,
+                            (pglob->gl_pathc +
+                             ((flags & GLOB_DOOFFS) ? pglob->gl_offs : 0) +
+                             nfound + 1) *
+                            sizeof (char *));
+      if (pglob->gl_pathv == NULL)
+       goto memory_error;
+
+      if (flags & GLOB_DOOFFS)
+       while (pglob->gl_pathc < pglob->gl_offs)
+         pglob->gl_pathv[pglob->gl_pathc++] = NULL;
+
+      for (; names != NULL; names = names->next)
+       pglob->gl_pathv[pglob->gl_pathc++] = names->name;
+      pglob->gl_pathv[pglob->gl_pathc] = NULL;
+
+      pglob->gl_flags = flags;
+    }
+
+  save = errno;
+  if (stream != NULL)
+    {
+      if (flags & GLOB_ALTDIRFUNC)
+       (*pglob->gl_closedir) (stream);
+      else
+       closedir ((DIR *) stream);
+    }
+  __set_errno (save);
+
+  return nfound == 0 ? GLOB_NOMATCH : 0;
+
+ memory_error:
+  {
+    int save = errno;
+    if (flags & GLOB_ALTDIRFUNC)
+      (*pglob->gl_closedir) (stream);
+    else
+      closedir ((DIR *) stream);
+    __set_errno (save);
+  }
+  while (names != NULL)
+    {
+      if (names->name != NULL)
+       free ((__ptr_t) names->name);
+      names = names->next;
+    }
+  return GLOB_NOSPACE;
+}
+
+#endif /* Not ELIDE_CODE.  */
diff --git a/src/mkutil/make-3.80/glob/glob.h b/src/mkutil/make-3.80/glob/glob.h
new file mode 100644 (file)
index 0000000..9f735fe
--- /dev/null
@@ -0,0 +1,205 @@
+/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef        _GLOB_H
+#define        _GLOB_H 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#undef __ptr_t
+#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
+# if !defined __GLIBC__ || !defined __P
+#  undef __P
+#  undef __PMT
+#  define __P(protos)  protos
+#  define __PMT(protos)        protos
+#  if !defined __GNUC__ || __GNUC__ < 2
+#   undef __const
+#   define __const const
+#  endif
+# endif
+# define __ptr_t       void *
+#else /* Not C++ or ANSI C.  */
+# undef        __P
+# undef __PMT
+# define __P(protos)   ()
+# define __PMT(protos) ()
+# undef        __const
+# define __const
+# define __ptr_t       char *
+#endif /* C++ or ANSI C.  */
+
+/* We need `size_t' for the following definitions.  */
+#ifndef __size_t
+# if defined __GNUC__ && __GNUC__ >= 2
+typedef __SIZE_TYPE__ __size_t;
+# else
+/* This is a guess.  */
+/*hb
+ *     Conflicts with DECCs aready defined type __size_t.
+ *     Defining an own type with a name beginning with '__' is no good.
+ *     Anyway if DECC is used and __SIZE_T is defined then __size_t is
+ *     already defined (and I hope it's exactly the one we need here).
+ */
+#if !(defined __DECC && defined __SIZE_T)
+typedef unsigned long int __size_t;
+#endif
+# endif
+#else
+/* The GNU CC stddef.h version defines __size_t as empty.  We need a real
+   definition.  */
+# undef __size_t
+# define __size_t size_t
+#endif
+
+/* Bits set in the FLAGS argument to `glob'.  */
+#define        GLOB_ERR        (1 << 0)/* Return on read errors.  */
+#define        GLOB_MARK       (1 << 1)/* Append a slash to each name.  */
+#define        GLOB_NOSORT     (1 << 2)/* Don't sort the names.  */
+#define        GLOB_DOOFFS     (1 << 3)/* Insert PGLOB->gl_offs NULLs.  */
+#define        GLOB_NOCHECK    (1 << 4)/* If nothing matches, return the pattern.  */
+#define        GLOB_APPEND     (1 << 5)/* Append to results of a previous call.  */
+#define        GLOB_NOESCAPE   (1 << 6)/* Backslashes don't quote metacharacters.  */
+#define        GLOB_PERIOD     (1 << 7)/* Leading `.' can be matched by metachars.  */
+
+#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE \
+     || defined _GNU_SOURCE)
+# define GLOB_MAGCHAR   (1 << 8)/* Set in gl_flags if any metachars seen.  */
+# define GLOB_ALTDIRFUNC (1 << 9)/* Use gl_opendir et al functions.  */
+# define GLOB_BRACE     (1 << 10)/* Expand "{a,b}" to "a" "b".  */
+# define GLOB_NOMAGIC   (1 << 11)/* If no magic chars, return the pattern.  */
+# define GLOB_TILDE     (1 << 12)/* Expand ~user and ~ to home directories. */
+# define GLOB_ONLYDIR   (1 << 13)/* Match only directories.  */
+# define GLOB_TILDE_CHECK (1 << 14)/* Like GLOB_TILDE but return an error
+                                     if the user name is not available.  */
+# define __GLOB_FLAGS  (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
+                        GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND|     \
+                        GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE|     \
+                        GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK)
+#else
+# define __GLOB_FLAGS  (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
+                        GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND|     \
+                        GLOB_PERIOD)
+#endif
+
+/* Error returns from `glob'.  */
+#define        GLOB_NOSPACE    1       /* Ran out of memory.  */
+#define        GLOB_ABORTED    2       /* Read error.  */
+#define        GLOB_NOMATCH    3       /* No matches found.  */
+#define GLOB_NOSYS     4       /* Not implemented.  */
+#ifdef _GNU_SOURCE
+/* Previous versions of this file defined GLOB_ABEND instead of
+   GLOB_ABORTED.  Provide a compatibility definition here.  */
+# define GLOB_ABEND GLOB_ABORTED
+#endif
+
+/* Structure describing a globbing run.  */
+#if !defined _AMIGA && !defined VMS /* Buggy compiler.   */
+struct stat;
+#endif
+typedef struct
+  {
+    __size_t gl_pathc;         /* Count of paths matched by the pattern.  */
+    char **gl_pathv;           /* List of matched pathnames.  */
+    __size_t gl_offs;          /* Slots to reserve in `gl_pathv'.  */
+    int gl_flags;              /* Set to FLAGS, maybe | GLOB_MAGCHAR.  */
+
+    /* If the GLOB_ALTDIRFUNC flag is set, the following functions
+       are used instead of the normal file access functions.  */
+    void (*gl_closedir) __PMT ((void *));
+    struct dirent *(*gl_readdir) __PMT ((void *));
+    __ptr_t (*gl_opendir) __PMT ((__const char *));
+    int (*gl_lstat) __PMT ((__const char *, struct stat *));
+#if defined(VMS) && defined(__DECC) && !defined(_POSIX_C_SOURCE)
+    int (*gl_stat) __PMT ((__const char *, struct stat *, ...));
+#else
+    int (*gl_stat) __PMT ((__const char *, struct stat *));
+#endif
+  } glob_t;
+
+#ifdef _LARGEFILE64_SOURCE
+struct stat64;
+typedef struct
+  {
+    __size_t gl_pathc;
+    char **gl_pathv;
+    __size_t gl_offs;
+    int gl_flags;
+
+    /* If the GLOB_ALTDIRFUNC flag is set, the following functions
+       are used instead of the normal file access functions.  */
+    void (*gl_closedir) __PMT ((void *));
+    struct dirent64 *(*gl_readdir) __PMT ((void *));
+    __ptr_t (*gl_opendir) __PMT ((__const char *));
+    int (*gl_lstat) __PMT ((__const char *, struct stat64 *));
+    int (*gl_stat) __PMT ((__const char *, struct stat64 *));
+  } glob64_t;
+#endif
+
+#if _FILE_OFFSET_BITS == 64 && __GNUC__ < 2
+# define glob glob64
+# define globfree globfree64
+#else
+# ifdef _LARGEFILE64_SOURCE
+extern int glob64 __P ((__const char *__pattern, int __flags,
+                       int (*__errfunc) (__const char *, int),
+                       glob64_t *__pglob));
+
+extern void globfree64 __P ((glob64_t *__pglob));
+# endif
+#endif
+
+/* Do glob searching for PATTERN, placing results in PGLOB.
+   The bits defined above may be set in FLAGS.
+   If a directory cannot be opened or read and ERRFUNC is not nil,
+   it is called with the pathname that caused the error, and the
+   `errno' value from the failing call; if it returns non-zero
+   `glob' returns GLOB_ABEND; if it returns zero, the error is ignored.
+   If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
+   Otherwise, `glob' returns zero.  */
+#if _FILE_OFFSET_BITS != 64 || __GNUC__ < 2
+extern int glob __P ((__const char *__pattern, int __flags,
+                     int (*__errfunc) (__const char *, int),
+                     glob_t *__pglob));
+
+/* Free storage allocated in PGLOB by a previous `glob' call.  */
+extern void globfree __P ((glob_t *__pglob));
+#else
+extern int glob __P ((__const char *__pattern, int __flags,
+                     int (*__errfunc) (__const char *, int),
+                     glob_t *__pglob)) __asm__ ("glob64");
+
+extern void globfree __P ((glob_t *__pglob)) __asm__ ("globfree64");
+#endif
+
+
+#ifdef _GNU_SOURCE
+/* Return nonzero if PATTERN contains any metacharacters.
+   Metacharacters can be quoted with backslashes if QUOTE is nonzero.
+
+   This function is not part of the interface specified by POSIX.2
+   but several programs want to use it.  */
+extern int glob_pattern_p __P ((__const char *__pattern, int __quote));
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* glob.h  */
diff --git a/src/mkutil/make-3.80/hash.c b/src/mkutil/make-3.80/hash.c
new file mode 100644 (file)
index 0000000..9083b60
--- /dev/null
@@ -0,0 +1,369 @@
+/* hash.c -- hash table maintenance
+   Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc.
+   Written by Greg McGary <gkm@gnu.org> <greg@mcgary.org>
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#include "make.h"
+#include "hash.h"
+
+#define        CALLOC(t, n) ((t *) calloc (sizeof (t), (n)))
+#define MALLOC(t, n) ((t *) xmalloc (sizeof (t) * (n)))
+#define REALLOC(o, t, n) ((t *) xrealloc ((o), sizeof (t) * (n)))
+#define CLONE(o, t, n) ((t *) memcpy (MALLOC (t, (n)), (o), sizeof (t) * (n)))
+
+static void hash_rehash __P((struct hash_table* ht));
+static unsigned long round_up_2 __P((unsigned long rough));
+
+/* Implement double hashing with open addressing.  The table size is
+   always a power of two.  The secondary (`increment') hash function
+   is forced to return an odd-value, in order to be relatively prime
+   to the table size.  This guarantees that the increment can
+   potentially hit every slot in the table during collision
+   resolution.  */
+
+void *hash_deleted_item = &hash_deleted_item;
+
+/* Force the table size to be a power of two, possibly rounding up the
+   given size.  */
+
+void
+hash_init (ht, size, hash_1, hash_2, hash_cmp)
+     struct hash_table* ht;
+     unsigned long size;
+     hash_func_t hash_1;
+     hash_func_t hash_2;
+     hash_cmp_func_t hash_cmp;
+{
+  ht->ht_size = round_up_2 (size);
+  ht->ht_empty_slots = ht->ht_size;
+  ht->ht_vec = (void**) CALLOC (struct token *, ht->ht_size);
+  if (ht->ht_vec == 0)
+    {
+      fprintf (stderr, _("can't allocate %ld bytes for hash table: memory exhausted"),
+              ht->ht_size * sizeof(struct token *));
+      exit (1);
+    }
+
+  ht->ht_capacity = ht->ht_size - (ht->ht_size / 16); /* 93.75% loading factor */
+  ht->ht_fill = 0;
+  ht->ht_collisions = 0;
+  ht->ht_lookups = 0;
+  ht->ht_rehashes = 0;
+  ht->ht_hash_1 = hash_1;
+  ht->ht_hash_2 = hash_2;
+  ht->ht_compare = hash_cmp;
+}
+
+/* Load an array of items into `ht'.  */
+
+void
+hash_load (ht, item_table, cardinality, size)
+     struct hash_table* ht;
+     void *item_table;
+     unsigned long cardinality;
+     unsigned long size;
+{
+  char *items = (char *) item_table;
+  while (cardinality--)
+    {
+      hash_insert (ht, items);
+      items += size;
+    }
+}
+
+/* Returns the address of the table slot matching `key'.  If `key' is
+   not found, return the address of an empty slot suitable for
+   inserting `key'.  The caller is responsible for incrementing
+   ht_fill on insertion.  */
+
+void **
+hash_find_slot (ht, key)
+     struct hash_table* ht;
+     void const *key;
+{
+  void **slot;
+  void **deleted_slot = 0;
+  unsigned int hash_2 = 0;
+  unsigned int hash_1 = (*ht->ht_hash_1) (key);
+
+  ht->ht_lookups++;
+  for (;;)
+    {
+      hash_1 &= (ht->ht_size - 1);
+      slot = &ht->ht_vec[hash_1];
+
+      if (*slot == 0)
+       return (deleted_slot ? deleted_slot : slot);
+      if (*slot == hash_deleted_item)
+       {
+         if (deleted_slot == 0)
+           deleted_slot = slot;
+       }
+      else
+       {
+         if (key == *slot)
+           return slot;
+         if ((*ht->ht_compare) (key, *slot) == 0)
+           return slot;
+         ht->ht_collisions++;
+       }
+      if (!hash_2)
+         hash_2 = (*ht->ht_hash_2) (key) | 1;
+      hash_1 += hash_2;
+    }
+}
+
+void *
+hash_find_item (ht, key)
+     struct hash_table* ht;
+     void const *key;
+{
+  void **slot = hash_find_slot (ht, key);
+  return ((HASH_VACANT (*slot)) ? 0 : *slot);
+}
+
+void *
+hash_insert (ht, item)
+     struct hash_table* ht;
+     void *item;
+{
+  void **slot = hash_find_slot (ht, item);
+  void *old_item = slot ? *slot : 0;
+  hash_insert_at (ht, item, slot);
+  return ((HASH_VACANT (old_item)) ? 0 : old_item);
+}
+
+void *
+hash_insert_at (ht, item, slot)
+     struct hash_table* ht;
+     void *item;
+     void const *slot;
+{
+  void *old_item = *(void **) slot;
+  if (HASH_VACANT (old_item))
+    {
+      ht->ht_fill++;
+      if (old_item == 0)
+       ht->ht_empty_slots--;
+      old_item = item;
+    }
+  *(void const **) slot = item;
+  if (ht->ht_empty_slots < ht->ht_size - ht->ht_capacity)
+    {
+      hash_rehash (ht);
+      return (void *) hash_find_slot (ht, item);
+    }
+  else
+    return (void *) slot;
+}
+
+void *
+hash_delete (ht, item)
+     struct hash_table* ht;
+     void const *item;
+{
+  void **slot = hash_find_slot (ht, item);
+  return hash_delete_at (ht, slot);
+}
+
+void *
+hash_delete_at (ht, slot)
+     struct hash_table* ht;
+     void const *slot;
+{
+  void *item = *(void **) slot;
+  if (!HASH_VACANT (item))
+    {
+      *(void const **) slot = hash_deleted_item;
+      ht->ht_fill--;
+      return item;
+    }
+  else
+    return 0;
+}
+
+void
+hash_free_items (ht)
+     struct hash_table* ht;
+{
+  void **vec = ht->ht_vec;
+  void **end = &vec[ht->ht_size];
+  for (; vec < end; vec++)
+    {
+      void *item = *vec;
+      if (!HASH_VACANT (item))
+       free (item);
+      *vec = 0;
+    }
+  ht->ht_fill = 0;
+  ht->ht_empty_slots = ht->ht_size;
+}
+
+void
+hash_delete_items (ht)
+     struct hash_table* ht;
+{
+  void **vec = ht->ht_vec;
+  void **end = &vec[ht->ht_size];
+  for (; vec < end; vec++)
+    *vec = 0;
+  ht->ht_fill = 0;
+  ht->ht_collisions = 0;
+  ht->ht_lookups = 0;
+  ht->ht_rehashes = 0;
+  ht->ht_empty_slots = ht->ht_size;
+}
+
+void
+hash_free (ht, free_items)
+     struct hash_table* ht;
+     int free_items;
+{
+  if (free_items)
+    hash_free_items (ht);
+  else
+    {
+      ht->ht_fill = 0;
+      ht->ht_empty_slots = ht->ht_size;
+    }
+  free (ht->ht_vec);
+  ht->ht_vec = 0;
+  ht->ht_capacity = 0;
+}
+
+void
+hash_map (ht, map)
+     struct hash_table *ht;
+     hash_map_func_t map;
+{
+  void **slot;
+  void **end = &ht->ht_vec[ht->ht_size];
+
+  for (slot = ht->ht_vec; slot < end; slot++)
+    {
+      if (!HASH_VACANT (*slot))
+       (*map) (*slot);
+    }
+}
+
+void
+hash_map_arg (ht, map, arg)
+     struct hash_table *ht;
+     hash_map_arg_func_t map;
+     void *arg;
+{
+  void **slot;
+  void **end = &ht->ht_vec[ht->ht_size];
+
+  for (slot = ht->ht_vec; slot < end; slot++)
+    {
+      if (!HASH_VACANT (*slot))
+       (*map) (*slot, arg);
+    }
+}
+
+/* Double the size of the hash table in the event of overflow... */
+
+static void
+hash_rehash (ht)
+     struct hash_table* ht;
+{
+  unsigned long old_ht_size = ht->ht_size;
+  void **old_vec = ht->ht_vec;
+  void **ovp;
+
+  if (ht->ht_fill >= ht->ht_capacity)
+    {
+      ht->ht_size *= 2;
+      ht->ht_capacity = ht->ht_size - (ht->ht_size >> 4);
+    }
+  ht->ht_rehashes++;
+  ht->ht_vec = (void **) CALLOC (struct token *, ht->ht_size);
+
+  for (ovp = old_vec; ovp < &old_vec[old_ht_size]; ovp++)
+    {
+      if (! HASH_VACANT (*ovp))
+       {
+         void **slot = hash_find_slot (ht, *ovp);
+         *slot = *ovp;
+       }
+    }
+  ht->ht_empty_slots = ht->ht_size - ht->ht_fill;
+  free (old_vec);
+}
+
+void
+hash_print_stats (ht, out_FILE)
+     struct hash_table *ht;
+     FILE *out_FILE;
+{
+  /* GKM FIXME: honor NO_FLOAT */
+  fprintf (out_FILE, _("Load=%ld/%ld=%.0f%%, "), ht->ht_fill, ht->ht_size,
+          100.0 * (double) ht->ht_fill / (double) ht->ht_size);
+  fprintf (out_FILE, _("Rehash=%d, "), ht->ht_rehashes);
+  fprintf (out_FILE, _("Collisions=%ld/%ld=%.0f%%"), ht->ht_collisions, ht->ht_lookups,
+          (ht->ht_lookups
+           ? (100.0 * (double) ht->ht_collisions / (double) ht->ht_lookups)
+           : 0));
+}
+
+/* Dump all items into a NULL-terminated vector.  Use the
+   user-supplied vector, or malloc one.  */
+
+void **
+hash_dump (ht, vector_0, compare)
+     struct hash_table *ht;
+     void **vector_0;
+     qsort_cmp_t compare;
+{
+  void **vector;
+  void **slot;
+  void **end = &ht->ht_vec[ht->ht_size];
+
+  if (vector_0 == 0)
+    vector_0 = MALLOC (void *, ht->ht_fill + 1);
+  vector = vector_0;
+
+  for (slot = ht->ht_vec; slot < end; slot++)
+    if (!HASH_VACANT (*slot))
+      *vector++ = *slot;
+  *vector = 0;
+
+  if (compare)
+    qsort (vector_0, ht->ht_fill, sizeof (void *), compare);
+  return vector_0;
+}
+
+/* Round a given number up to the nearest power of 2. */
+
+static unsigned long
+round_up_2 (n)
+     unsigned long n;
+{
+  n |= (n >> 1);
+  n |= (n >> 2);
+  n |= (n >> 4);
+  n |= (n >> 8);
+  n |= (n >> 16);
+
+#if !defined(HAVE_LIMITS_H) || ULONG_MAX > 4294967295
+  /* We only need this on systems where unsigned long is >32 bits.  */
+  n |= (n >> 32);
+#endif
+
+  return n + 1;
+}
diff --git a/src/mkutil/make-3.80/hash.h b/src/mkutil/make-3.80/hash.h
new file mode 100644 (file)
index 0000000..405f1da
--- /dev/null
@@ -0,0 +1,233 @@
+/* hash.h -- decls for hash table
+   Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc.
+   Written by Greg McGary <gkm@gnu.org> <greg@mcgary.org>
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#ifndef _hash_h_
+#define _hash_h_
+
+#include <stdio.h>
+#include <ctype.h>
+
+#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
+# if !defined __GLIBC__ || !defined __P
+#  undef       __P
+#  define __P(protos)  protos
+# endif
+#else /* Not C++ or ANSI C.  */
+# undef        __P
+# define __P(protos)   ()
+/* We can get away without defining `const' here only because in this file
+   it is used only inside the prototype for `fnmatch', which is elided in
+   non-ANSI C where `const' is problematical.  */
+#endif /* C++ or ANSI C.  */
+
+typedef unsigned long (*hash_func_t) __P((void const *key));
+typedef int (*hash_cmp_func_t) __P((void const *x, void const *y));
+typedef void (*hash_map_func_t) __P((void const *item));
+typedef void (*hash_map_arg_func_t) __P((void const *item, void *arg));
+
+struct hash_table
+{
+  void **ht_vec;
+  unsigned long ht_size;       /* total number of slots (power of 2) */
+  unsigned long ht_capacity;   /* usable slots, limited by loading-factor */
+  unsigned long ht_fill;       /* items in table */
+  unsigned long ht_empty_slots;        /* empty slots not including deleted slots */
+  unsigned long ht_collisions; /* # of failed calls to comparison function */
+  unsigned long ht_lookups;    /* # of queries */
+  unsigned int ht_rehashes;    /* # of times we've expanded table */
+  hash_func_t ht_hash_1;       /* primary hash function */
+  hash_func_t ht_hash_2;       /* secondary hash function */
+  hash_cmp_func_t ht_compare;  /* comparison function */
+};
+
+typedef int (*qsort_cmp_t) __P((void const *, void const *));
+
+void hash_init __P((struct hash_table *ht, unsigned long size,
+                   hash_func_t hash_1, hash_func_t hash_2, hash_cmp_func_t hash_cmp));
+void hash_load __P((struct hash_table *ht, void *item_table,
+                   unsigned long cardinality, unsigned long size));
+void **hash_find_slot __P((struct hash_table *ht, void const *key));
+void *hash_find_item __P((struct hash_table *ht, void const *key));
+void *hash_insert __P((struct hash_table *ht, void *item));
+void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot));
+void *hash_delete __P((struct hash_table *ht, void const *item));
+void *hash_delete_at __P((struct hash_table *ht, void const *slot));
+void hash_delete_items __P((struct hash_table *ht));
+void hash_free_items __P((struct hash_table *ht));
+void hash_free __P((struct hash_table *ht, int free_items));
+void hash_map __P((struct hash_table *ht, hash_map_func_t map));
+void hash_map_arg __P((struct hash_table *ht, hash_map_arg_func_t map, void *arg));
+void hash_print_stats __P((struct hash_table *ht, FILE *out_FILE));
+void **hash_dump __P((struct hash_table *ht, void **vector_0, qsort_cmp_t compare));
+
+extern void *hash_deleted_item;
+#define HASH_VACANT(item) ((item) == 0 || (void *) (item) == hash_deleted_item)
+
+\f
+/* hash and comparison macros for case-sensitive string keys. */
+
+#define STRING_HASH_1(KEY, RESULT) do { \
+  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
+  while (*++_key_) \
+    (RESULT) += (*_key_ << (_key_[1] & 0xf)); \
+} while (0)
+#define return_STRING_HASH_1(KEY) do { \
+  unsigned long _result_ = 0; \
+  STRING_HASH_1 ((KEY), _result_); \
+  return _result_; \
+} while (0)
+
+#define STRING_HASH_2(KEY, RESULT) do { \
+  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
+  while (*++_key_) \
+    (RESULT) += (*_key_ << (_key_[1] & 0x7)); \
+} while (0)
+#define return_STRING_HASH_2(KEY) do { \
+  unsigned long _result_ = 0; \
+  STRING_HASH_2 ((KEY), _result_); \
+  return _result_; \
+} while (0)
+
+#define STRING_COMPARE(X, Y, RESULT) do { \
+  RESULT = strcmp ((X), (Y)); \
+} while (0)
+#define return_STRING_COMPARE(X, Y) do { \
+  return strcmp ((X), (Y)); \
+} while (0)
+
+
+#define STRING_N_HASH_1(KEY, N, RESULT) do { \
+  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
+  int _n_ = (N); \
+  if (_n_) \
+    while (--_n_ && *++_key_) \
+      (RESULT) += (*_key_ << (_key_[1] & 0xf)); \
+  (RESULT) += *++_key_; \
+} while (0)
+#define return_STRING_N_HASH_1(KEY, N) do { \
+  unsigned long _result_ = 0; \
+  STRING_N_HASH_1 ((KEY), (N), _result_); \
+  return _result_; \
+} while (0)
+
+#define STRING_N_HASH_2(KEY, N, RESULT) do { \
+  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
+  int _n_ = (N); \
+  if (_n_) \
+    while (--_n_ && *++_key_) \
+      (RESULT) += (*_key_ << (_key_[1] & 0x7)); \
+  (RESULT) += *++_key_; \
+} while (0)
+#define return_STRING_N_HASH_2(KEY, N) do { \
+  unsigned long _result_ = 0; \
+  STRING_N_HASH_2 ((KEY), (N), _result_); \
+  return _result_; \
+} while (0)
+
+#define STRING_N_COMPARE(X, Y, N, RESULT) do { \
+  RESULT = strncmp ((X), (Y), (N)); \
+} while (0)
+#define return_STRING_N_COMPARE(X, Y, N) do { \
+  return strncmp ((X), (Y), (N)); \
+} while (0)
+
+#ifdef HAVE_CASE_INSENSITIVE_FS
+
+/* hash and comparison macros for case-insensitive string _key_s. */
+
+#define ISTRING_HASH_1(KEY, RESULT) do { \
+  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
+  while (*++_key_) \
+    (RESULT) += ((isupper (*_key_) ? tolower (*_key_) : *_key_) << (_key_[1] & 0xf)); \
+} while (0)
+#define return_ISTRING_HASH_1(KEY) do { \
+  unsigned long _result_ = 0; \
+  ISTRING_HASH_1 ((KEY), _result_); \
+  return _result_; \
+} while (0)
+
+#define ISTRING_HASH_2(KEY, RESULT) do { \
+  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
+  while (*++_key_) \
+    (RESULT) += ((isupper (*_key_) ? tolower (*_key_) : *_key_) << (_key_[1] & 0x7)); \
+} while (0)
+#define return_ISTRING_HASH_2(KEY) do { \
+  unsigned long _result_ = 0; \
+  ISTRING_HASH_2 ((KEY), _result_); \
+  return _result_; \
+} while (0)
+
+#define ISTRING_COMPARE(X, Y, RESULT) do { \
+  RESULT = strcmpi ((X), (Y)); \
+} while (0)
+#define return_ISTRING_COMPARE(X, Y) do { \
+  return strcmpi ((X), (Y)); \
+} while (0)
+
+#else
+
+#define ISTRING_HASH_1(KEY, RESULT) STRING_HASH_1 ((KEY), (RESULT))
+#define return_ISTRING_HASH_1(KEY) return_STRING_HASH_1 (KEY)
+
+#define ISTRING_HASH_2(KEY, RESULT) STRING_HASH_2 ((KEY), (RESULT))
+#define return_ISTRING_HASH_2(KEY) return_STRING_HASH_2 (KEY)
+
+#define ISTRING_COMPARE(X, Y, RESULT) STRING_COMPARE ((X), (Y), (RESULT))
+#define return_ISTRING_COMPARE(X, Y) return_STRING_COMPARE ((X), (Y))
+
+#endif
+
+/* hash and comparison macros for integer _key_s. */
+
+#define INTEGER_HASH_1(KEY, RESULT) do { \
+  (RESULT) += ((unsigned long)(KEY)); \
+} while (0)
+#define return_INTEGER_HASH_1(KEY) do { \
+  unsigned long _result_ = 0; \
+  INTEGER_HASH_1 ((KEY), _result_); \
+  return _result_; \
+} while (0)
+
+#define INTEGER_HASH_2(KEY, RESULT) do { \
+  (RESULT) += ~((unsigned long)(KEY)); \
+} while (0)
+#define return_INTEGER_HASH_2(KEY) do { \
+  unsigned long _result_ = 0; \
+  INTEGER_HASH_2 ((KEY), _result_); \
+  return _result_; \
+} while (0)
+
+#define INTEGER_COMPARE(X, Y, RESULT) do { \
+  (RESULT) = X - Y; \
+} while (0)
+#define return_INTEGER_COMPARE(X, Y) do { \
+  int _result_; \
+  INTEGER_COMPARE (X, Y, _result_); \
+  return _result_; \
+} while (0)
+
+/* hash and comparison macros for address keys. */
+
+#define ADDRESS_HASH_1(KEY, RESULT) INTEGER_HASH_1 (((unsigned long)(KEY)) >> 3, (RESULT))
+#define ADDRESS_HASH_2(KEY, RESULT) INTEGER_HASH_2 (((unsigned long)(KEY)) >> 3, (RESULT))
+#define ADDRESS_COMPARE(X, Y, RESULT) INTEGER_COMPARE ((X), (Y), (RESULT))
+#define return_ADDRESS_HASH_1(KEY) return_INTEGER_HASH_1 (((unsigned long)(KEY)) >> 3)
+#define return_ADDRESS_HASH_2(KEY) return_INTEGER_HASH_2 (((unsigned long)(KEY)) >> 3)
+#define return_ADDRESS_COMPARE(X, Y) return_INTEGER_COMPARE ((X), (Y))
+
+#endif /* not _hash_h_ */
diff --git a/src/mkutil/make-3.80/implicit.c b/src/mkutil/make-3.80/implicit.c
new file mode 100644 (file)
index 0000000..857895d
--- /dev/null
@@ -0,0 +1,635 @@
+/* Implicit rule searching for GNU Make.
+Copyright (C) 1988,89,90,91,92,93,94,97,2000 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "rule.h"
+#include "dep.h"
+#include "filedef.h"
+#include "debug.h"
+
+static int pattern_search PARAMS ((struct file *file, int archive, unsigned int depth,
+               unsigned int recursions));
+\f
+/* For a FILE which has no commands specified, try to figure out some
+   from the implicit pattern rules.
+   Returns 1 if a suitable implicit rule was found,
+   after modifying FILE to contain the appropriate commands and deps,
+   or returns 0 if no implicit rule was found.  */
+
+int
+try_implicit_rule (file, depth)
+     struct file *file;
+     unsigned int depth;
+{
+  DBF (DB_IMPLICIT, _("Looking for an implicit rule for `%s'.\n"));
+
+  /* The order of these searches was previously reversed.  My logic now is
+     that since the non-archive search uses more information in the target
+     (the archive search omits the archive name), it is more specific and
+     should come first.  */
+
+  if (pattern_search (file, 0, depth, 0))
+    return 1;
+
+#ifndef        NO_ARCHIVES
+  /* If this is an archive member reference, use just the
+     archive member name to search for implicit rules.  */
+  if (ar_name (file->name))
+    {
+      DBF (DB_IMPLICIT,
+           _("Looking for archive-member implicit rule for `%s'.\n"));
+      if (pattern_search (file, 1, depth, 0))
+       return 1;
+    }
+#endif
+
+  return 0;
+}
+\f
+
+/* Search the pattern rules for a rule with an existing dependency to make
+   FILE.  If a rule is found, the appropriate commands and deps are put in FILE
+   and 1 is returned.  If not, 0 is returned.
+
+   If ARCHIVE is nonzero, FILE->name is of the form "LIB(MEMBER)".  A rule for
+   "(MEMBER)" will be searched for, and "(MEMBER)" will not be chopped up into
+   directory and filename parts.
+
+   If an intermediate file is found by pattern search, the intermediate file
+   is set up as a target by the recursive call and is also made a dependency
+   of FILE.
+
+   DEPTH is used for debugging messages.  */
+
+static int
+pattern_search (file, archive, depth, recursions)
+     struct file *file;
+     int archive;
+     unsigned int depth;
+     unsigned int recursions;
+{
+  /* Filename we are searching for a rule for.  */
+  char *filename = archive ? strchr (file->name, '(') : file->name;
+
+  /* Length of FILENAME.  */
+  unsigned int namelen = strlen (filename);
+
+  /* The last slash in FILENAME (or nil if there is none).  */
+  char *lastslash;
+
+  /* This is a file-object used as an argument in
+     recursive calls.  It never contains any data
+     except during a recursive call.  */
+  struct file *intermediate_file = 0;
+
+  /* List of dependencies found recursively.  */
+  struct file **intermediate_files
+    = (struct file **) xmalloc (max_pattern_deps * sizeof (struct file *));
+
+  /* List of the patterns used to find intermediate files.  */
+  char **intermediate_patterns
+    = (char **) alloca (max_pattern_deps * sizeof (char *));
+
+  /* This buffer records all the dependencies actually found for a rule.  */
+  char **found_files = (char **) alloca (max_pattern_deps * sizeof (char *));
+  /* Number of dep names now in FOUND_FILES.  */
+  unsigned int deps_found = 0;
+
+  /* Names of possible dependencies are constructed in this buffer.  */
+  register char *depname = (char *) alloca (namelen + max_pattern_dep_length);
+
+  /* The start and length of the stem of FILENAME for the current rule.  */
+  register char *stem = 0;
+  register unsigned int stemlen = 0;
+  register unsigned int fullstemlen = 0;
+
+  /* Buffer in which we store all the rules that are possibly applicable.  */
+  struct rule **tryrules
+    = (struct rule **) xmalloc (num_pattern_rules * max_pattern_targets
+                                * sizeof (struct rule *));
+
+  /* Number of valid elements in TRYRULES.  */
+  unsigned int nrules;
+
+  /* The numbers of the rule targets of each rule
+     in TRYRULES that matched the target file.  */
+  unsigned int *matches
+    = (unsigned int *) alloca (num_pattern_rules * sizeof (unsigned int));
+
+  /* Each element is nonzero if LASTSLASH was used in
+     matching the corresponding element of TRYRULES.  */
+  char *checked_lastslash
+    = (char *) alloca (num_pattern_rules * sizeof (char));
+
+  /* The index in TRYRULES of the rule we found.  */
+  unsigned int foundrule;
+
+  /* Nonzero if should consider intermediate files as dependencies.  */
+  int intermed_ok;
+
+  /* Nonzero if we have matched a pattern-rule target
+     that is not just `%'.  */
+  int specific_rule_matched = 0;
+
+  register unsigned int i = 0;  /* uninit checks OK */
+  register struct rule *rule;
+  register struct dep *dep;
+
+  char *p, *vp;
+
+#ifndef        NO_ARCHIVES
+  if (archive || ar_name (filename))
+    lastslash = 0;
+  else
+#endif
+    {
+      /* Set LASTSLASH to point at the last slash in FILENAME
+        but not counting any slash at the end.  (foo/bar/ counts as
+        bar/ in directory foo/, not empty in directory foo/bar/.)  */
+#ifdef VMS
+      lastslash = strrchr (filename, ']');
+      if (lastslash == 0)
+       lastslash = strrchr (filename, ':');
+#else
+      lastslash = strrchr (filename, '/');
+#ifdef HAVE_DOS_PATHS
+      /* Handle backslashes (possibly mixed with forward slashes)
+        and the case of "d:file".  */
+      {
+       char *bslash = strrchr (filename, '\\');
+       if (lastslash == 0 || bslash > lastslash)
+         lastslash = bslash;
+       if (lastslash == 0 && filename[0] && filename[1] == ':')
+         lastslash = filename + 1;
+      }
+#endif
+#endif
+      if (lastslash != 0 && lastslash[1] == '\0')
+       lastslash = 0;
+    }
+
+  /* First see which pattern rules match this target
+     and may be considered.  Put them in TRYRULES.  */
+
+  nrules = 0;
+  for (rule = pattern_rules; rule != 0; rule = rule->next)
+    {
+      /* If the pattern rule has deps but no commands, ignore it.
+        Users cancel built-in rules by redefining them without commands.  */
+      if (rule->deps != 0 && rule->cmds == 0)
+       continue;
+
+      /* If this rule is in use by a parent pattern_search,
+        don't use it here.  */
+      if (rule->in_use)
+       {
+         DBS (DB_IMPLICIT, (_("Avoiding implicit rule recursion.\n")));
+         continue;
+       }
+
+      for (i = 0; rule->targets[i] != 0; ++i)
+       {
+         char *target = rule->targets[i];
+         char *suffix = rule->suffixes[i];
+         int check_lastslash;
+
+         /* Rules that can match any filename and are not terminal
+            are ignored if we're recursing, so that they cannot be
+            intermediate files.  */
+         if (recursions > 0 && target[1] == '\0' && !rule->terminal)
+           continue;
+
+         if (rule->lens[i] > namelen)
+           /* It can't possibly match.  */
+           continue;
+
+         /* From the lengths of the filename and the pattern parts,
+            find the stem: the part of the filename that matches the %.  */
+         stem = filename + (suffix - target - 1);
+         stemlen = namelen - rule->lens[i] + 1;
+
+         /* Set CHECK_LASTSLASH if FILENAME contains a directory
+            prefix and the target pattern does not contain a slash.  */
+
+#ifdef VMS
+         check_lastslash = lastslash != 0
+                           && ((strchr (target, ']') == 0)
+                               && (strchr (target, ':') == 0));
+#else
+         check_lastslash = lastslash != 0 && strchr (target, '/') == 0;
+#endif
+         if (check_lastslash)
+           {
+             /* In that case, don't include the
+                directory prefix in STEM here.  */
+             unsigned int difference = lastslash - filename + 1;
+             if (difference > stemlen)
+               continue;
+             stemlen -= difference;
+             stem += difference;
+           }
+
+         /* Check that the rule pattern matches the text before the stem.  */
+         if (check_lastslash)
+           {
+             if (stem > (lastslash + 1)
+                 && !strneq (target, lastslash + 1, stem - lastslash - 1))
+               continue;
+           }
+         else if (stem > filename
+                  && !strneq (target, filename, stem - filename))
+           continue;
+
+         /* Check that the rule pattern matches the text after the stem.
+            We could test simply use streq, but this way we compare the
+            first two characters immediately.  This saves time in the very
+            common case where the first character matches because it is a
+            period.  */
+         if (*suffix != stem[stemlen]
+             || (*suffix != '\0' && !streq (&suffix[1], &stem[stemlen + 1])))
+           continue;
+
+         /* Record if we match a rule that not all filenames will match.  */
+         if (target[1] != '\0')
+           specific_rule_matched = 1;
+
+         /* A rule with no dependencies and no commands exists solely to set
+            specific_rule_matched when it matches.  Don't try to use it.  */
+         if (rule->deps == 0 && rule->cmds == 0)
+           continue;
+
+         /* Record this rule in TRYRULES and the index of the matching
+            target in MATCHES.  If several targets of the same rule match,
+            that rule will be in TRYRULES more than once.  */
+         tryrules[nrules] = rule;
+         matches[nrules] = i;
+         checked_lastslash[nrules] = check_lastslash;
+         ++nrules;
+       }
+    }
+
+  /* If we have found a matching rule that won't match all filenames,
+     retroactively reject any non-"terminal" rules that do always match.  */
+  if (specific_rule_matched)
+    for (i = 0; i < nrules; ++i)
+      if (!tryrules[i]->terminal)
+       {
+         register unsigned int j;
+         for (j = 0; tryrules[i]->targets[j] != 0; ++j)
+           if (tryrules[i]->targets[j][1] == '\0')
+             break;
+         if (tryrules[i]->targets[j] != 0)
+           tryrules[i] = 0;
+       }
+
+  /* Try each rule once without intermediate files, then once with them.  */
+  for (intermed_ok = 0; intermed_ok == !!intermed_ok; ++intermed_ok)
+    {
+      /* Try each pattern rule till we find one that applies.
+        If it does, copy the names of its dependencies (as substituted)
+        and store them in FOUND_FILES.  DEPS_FOUND is the number of them.  */
+
+      for (i = 0; i < nrules; i++)
+       {
+         int check_lastslash;
+
+         rule = tryrules[i];
+
+         /* RULE is nil when we discover that a rule,
+            already placed in TRYRULES, should not be applied.  */
+         if (rule == 0)
+           continue;
+
+         /* Reject any terminal rules if we're
+            looking to make intermediate files.  */
+         if (intermed_ok && rule->terminal)
+           continue;
+
+         /* Mark this rule as in use so a recursive
+            pattern_search won't try to use it.  */
+         rule->in_use = 1;
+
+         /* From the lengths of the filename and the matching pattern parts,
+            find the stem: the part of the filename that matches the %.  */
+         stem = filename
+           + (rule->suffixes[matches[i]] - rule->targets[matches[i]]) - 1;
+         stemlen = namelen - rule->lens[matches[i]] + 1;
+         check_lastslash = checked_lastslash[i];
+         if (check_lastslash)
+           {
+             stem += lastslash - filename + 1;
+             stemlen -= (lastslash - filename) + 1;
+           }
+
+         DBS (DB_IMPLICIT, (_("Trying pattern rule with stem `%.*s'.\n"),
+                             (int) stemlen, stem));
+
+         /* Try each dependency; see if it "exists".  */
+
+         deps_found = 0;
+         for (dep = rule->deps; dep != 0; dep = dep->next)
+           {
+             /* If the dependency name has a %, substitute the stem.  */
+             p = strchr (dep_name (dep), '%');
+             if (p != 0)
+               {
+                 register unsigned int i;
+                 if (check_lastslash)
+                   {
+                     /* Copy directory name from the original FILENAME.  */
+                     i = lastslash - filename + 1;
+                     bcopy (filename, depname, i);
+                   }
+                 else
+                   i = 0;
+                 bcopy (dep_name (dep), depname + i, p - dep_name (dep));
+                 i += p - dep_name (dep);
+                 bcopy (stem, depname + i, stemlen);
+                 i += stemlen;
+                 strcpy (depname + i, p + 1);
+                 p = depname;
+               }
+             else
+               p = dep_name (dep);
+
+             /* P is now the actual dependency name as substituted.  */
+
+             if (file_impossible_p (p))
+               {
+                 /* If this dependency has already been ruled
+                    "impossible", then the rule fails and don't
+                    bother trying it on the second pass either
+                    since we know that will fail too.  */
+                 DBS (DB_IMPLICIT,
+                       (p == depname
+                        ? _("Rejecting impossible implicit prerequisite `%s'.\n")
+                        : _("Rejecting impossible rule prerequisite `%s'.\n"),
+                        p));
+                 tryrules[i] = 0;
+                 break;
+               }
+
+             intermediate_files[deps_found] = 0;
+
+             DBS (DB_IMPLICIT,
+                   (p == depname
+                    ? _("Trying implicit prerequisite `%s'.\n")
+                    : _("Trying rule prerequisite `%s'.\n"), p));
+
+             /* The DEP->changed flag says that this dependency resides in a
+                nonexistent directory.  So we normally can skip looking for
+                the file.  However, if CHECK_LASTSLASH is set, then the
+                dependency file we are actually looking for is in a different
+                directory (the one gotten by prepending FILENAME's directory),
+                so it might actually exist.  */
+
+             if (lookup_file (p) != 0
+                 || ((!dep->changed || check_lastslash) && file_exists_p (p)))
+               {
+                 found_files[deps_found++] = xstrdup (p);
+                 continue;
+               }
+             /* This code, given FILENAME = "lib/foo.o", dependency name
+                "lib/foo.c", and VPATH=src, searches for "src/lib/foo.c".  */
+             vp = p;
+             if (vpath_search (&vp, (FILE_TIMESTAMP *) 0))
+               {
+                 DBS (DB_IMPLICIT,
+                       (_("Found prerequisite `%s' as VPATH `%s'\n"), p, vp));
+                 strcpy (vp, p);
+                 found_files[deps_found++] = vp;
+                 continue;
+               }
+
+             /* We could not find the file in any place we should look.
+                Try to make this dependency as an intermediate file,
+                but only on the second pass.  */
+
+             if (intermed_ok)
+               {
+                 if (intermediate_file == 0)
+                   intermediate_file
+                     = (struct file *) alloca (sizeof (struct file));
+
+                 DBS (DB_IMPLICIT,
+                       (_("Looking for a rule with intermediate file `%s'.\n"),
+                        p));
+
+                 bzero ((char *) intermediate_file, sizeof (struct file));
+                 intermediate_file->name = p;
+                 if (pattern_search (intermediate_file, 0, depth + 1,
+                                     recursions + 1))
+                   {
+                     p = xstrdup (p);
+                     intermediate_patterns[deps_found]
+                       = intermediate_file->name;
+                     intermediate_file->name = p;
+                     intermediate_files[deps_found] = intermediate_file;
+                     intermediate_file = 0;
+                     /* Allocate an extra copy to go in FOUND_FILES,
+                        because every elt of FOUND_FILES is consumed
+                        or freed later.  */
+                     found_files[deps_found] = xstrdup (p);
+                     ++deps_found;
+                     continue;
+                   }
+
+                 /* If we have tried to find P as an intermediate
+                    file and failed, mark that name as impossible
+                    so we won't go through the search again later.  */
+                 file_impossible (p);
+               }
+
+             /* A dependency of this rule does not exist.
+                Therefore, this rule fails.  */
+             break;
+           }
+
+         /* This rule is no longer `in use' for recursive searches.  */
+         rule->in_use = 0;
+
+         if (dep != 0)
+           {
+             /* This pattern rule does not apply.
+                If some of its dependencies succeeded,
+                free the data structure describing them.  */
+             while (deps_found-- > 0)
+               {
+                 register struct file *f = intermediate_files[deps_found];
+                 free (found_files[deps_found]);
+                 if (f != 0
+                     && (f->stem < f->name
+                         || f->stem > f->name + strlen (f->name)))
+                   free (f->stem);
+               }
+           }
+         else
+           /* This pattern rule does apply.  Stop looking for one.  */
+           break;
+       }
+
+      /* If we found an applicable rule without
+        intermediate files, don't try with them.  */
+      if (i < nrules)
+       break;
+
+      rule = 0;
+    }
+
+  /* RULE is nil if the loop went all the way
+     through the list and everything failed.  */
+  if (rule == 0)
+    goto done;
+
+  foundrule = i;
+
+  /* If we are recursing, store the pattern that matched
+     FILENAME in FILE->name for use in upper levels.  */
+
+  if (recursions > 0)
+    /* Kludge-o-matic */
+    file->name = rule->targets[matches[foundrule]];
+
+  /* FOUND_FILES lists the dependencies for the rule we found.
+     This includes the intermediate files, if any.
+     Convert them into entries on the deps-chain of FILE.  */
+
+  while (deps_found-- > 0)
+    {
+      register char *s;
+
+      if (intermediate_files[deps_found] != 0)
+       {
+         /* If we need to use an intermediate file,
+            make sure it is entered as a target, with the info that was
+            found for it in the recursive pattern_search call.
+            We know that the intermediate file did not already exist as
+            a target; therefore we can assume that the deps and cmds
+            of F below are null before we change them.  */
+
+         struct file *imf = intermediate_files[deps_found];
+         register struct file *f = enter_file (imf->name);
+         f->deps = imf->deps;
+         f->cmds = imf->cmds;
+         f->stem = imf->stem;
+          f->also_make = imf->also_make;
+         imf = lookup_file (intermediate_patterns[deps_found]);
+         if (imf != 0 && imf->precious)
+           f->precious = 1;
+         f->intermediate = 1;
+         f->tried_implicit = 1;
+         for (dep = f->deps; dep != 0; dep = dep->next)
+           {
+             dep->file = enter_file (dep->name);
+              /* enter_file uses dep->name _if_ we created a new file.  */
+              if (dep->name != dep->file->name)
+                free (dep->name);
+             dep->name = 0;
+             dep->file->tried_implicit |= dep->changed;
+           }
+       }
+
+      dep = (struct dep *) xmalloc (sizeof (struct dep));
+      dep->ignore_mtime = 0;
+      s = found_files[deps_found];
+      if (recursions == 0)
+       {
+         dep->name = 0;
+         dep->file = lookup_file (s);
+         if (dep->file == 0)
+           /* enter_file consumes S's storage.  */
+           dep->file = enter_file (s);
+         else
+           /* A copy of S is already allocated in DEP->file->name.
+              So we can free S.  */
+           free (s);
+       }
+      else
+       {
+         dep->name = s;
+         dep->file = 0;
+         dep->changed = 0;
+       }
+      if (intermediate_files[deps_found] == 0 && tryrules[foundrule]->terminal)
+       {
+         /* If the file actually existed (was not an intermediate file),
+            and the rule that found it was a terminal one, then we want
+            to mark the found file so that it will not have implicit rule
+            search done for it.  If we are not entering a `struct file' for
+            it now, we indicate this with the `changed' flag.  */
+         if (dep->file == 0)
+           dep->changed = 1;
+         else
+           dep->file->tried_implicit = 1;
+       }
+      dep->next = file->deps;
+      file->deps = dep;
+    }
+
+  if (!checked_lastslash[foundrule])
+    {
+      /* Always allocate new storage, since STEM might be
+         on the stack for an intermediate file.  */
+      file->stem = savestring (stem, stemlen);
+      fullstemlen = stemlen;
+    }
+  else
+    {
+      int dirlen = (lastslash + 1) - filename;
+
+      /* We want to prepend the directory from
+        the original FILENAME onto the stem.  */
+      fullstemlen = dirlen + stemlen;
+      file->stem = (char *) xmalloc (fullstemlen + 1);
+      bcopy (filename, file->stem, dirlen);
+      bcopy (stem, file->stem + dirlen, stemlen);
+      file->stem[fullstemlen] = '\0';
+    }
+
+  file->cmds = rule->cmds;
+
+  /* If this rule builds other targets, too, put the others into FILE's
+     `also_make' member.  */
+
+  if (rule->targets[1] != 0)
+    for (i = 0; rule->targets[i] != 0; ++i)
+      if (i != matches[foundrule])
+       {
+         struct dep *new = (struct dep *) xmalloc (sizeof (struct dep));
+         /* GKM FIMXE: handle '|' here too */
+         new->ignore_mtime = 0;
+         new->name = p = (char *) xmalloc (rule->lens[i] + fullstemlen + 1);
+         bcopy (rule->targets[i], p,
+                rule->suffixes[i] - rule->targets[i] - 1);
+         p += rule->suffixes[i] - rule->targets[i] - 1;
+         bcopy (file->stem, p, fullstemlen);
+         p += fullstemlen;
+         bcopy (rule->suffixes[i], p,
+                rule->lens[i] - (rule->suffixes[i] - rule->targets[i]) + 1);
+         new->file = enter_file (new->name);
+         new->next = file->also_make;
+         file->also_make = new;
+       }
+
+ done:
+  free (intermediate_files);
+  free (tryrules);
+
+  return rule != 0;
+}
diff --git a/src/mkutil/make-3.80/job.c b/src/mkutil/make-3.80/job.c
new file mode 100644 (file)
index 0000000..63456a7
--- /dev/null
@@ -0,0 +1,3110 @@
+/* Job execution and handling for GNU Make.
+Copyright (C) 1988,89,90,91,92,93,94,95,96,97,99 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+
+#include <assert.h>
+
+#include "job.h"
+#include "debug.h"
+#include "filedef.h"
+#include "commands.h"
+#include "variable.h"
+#include "debug.h"
+
+#include <string.h>
+
+/* Default shell to use.  */
+#ifdef WINDOWS32
+char *default_shell = "sh.exe";
+int no_default_sh_exe = 1;
+int batch_mode_shell = 1;
+#else  /* WINDOWS32 */
+# ifdef _AMIGA
+char default_shell[] = "";
+extern int MyExecute (char **);
+# else /* _AMIGA */
+#  ifdef __MSDOS__
+/* The default shell is a pointer so we can change it if Makefile
+   says so.  It is without an explicit path so we get a chance
+   to search the $PATH for it (since MSDOS doesn't have standard
+   directories we could trust).  */
+char *default_shell = "command.com";
+#  else  /* __MSDOS__ */
+#   ifdef VMS
+#    include <descrip.h>
+char default_shell[] = "";
+#   else
+char default_shell[] = "/bin/sh";
+#   endif /* VMS */
+#  endif /* __MSDOS__ */
+int batch_mode_shell = 0;
+# endif /* _AMIGA */
+#endif /* WINDOWS32 */
+
+#ifdef __MSDOS__
+# include <process.h>
+static int execute_by_shell;
+static int dos_pid = 123;
+int dos_status;
+int dos_command_running;
+#endif /* __MSDOS__ */
+
+#ifdef _AMIGA
+# include <proto/dos.h>
+static int amiga_pid = 123;
+static int amiga_status;
+static char amiga_bname[32];
+static int amiga_batch_file;
+#endif /* Amiga.  */
+
+#ifdef VMS
+# ifndef __GNUC__
+#   include <processes.h>
+# endif
+# include <starlet.h>
+# include <lib$routines.h>
+#endif
+
+#ifdef WINDOWS32
+# include <windows.h>
+# include <io.h>
+# include <process.h>
+# include "sub_proc.h"
+# include "w32err.h"
+# include "pathstuff.h"
+#endif /* WINDOWS32 */
+
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#else
+# include <sys/file.h>
+#endif
+
+#if defined (HAVE_SYS_WAIT_H) || defined (HAVE_UNION_WAIT)
+# include <sys/wait.h>
+#endif
+
+#ifdef HAVE_WAITPID
+# define WAIT_NOHANG(status)   waitpid (-1, (status), WNOHANG)
+#else  /* Don't have waitpid.  */
+# ifdef HAVE_WAIT3
+#  ifndef wait3
+extern int wait3 ();
+#  endif
+#  define WAIT_NOHANG(status)  wait3 ((status), WNOHANG, (struct rusage *) 0)
+# endif /* Have wait3.  */
+#endif /* Have waitpid.  */
+
+#if !defined (wait) && !defined (POSIX)
+extern int wait ();
+#endif
+
+#ifndef        HAVE_UNION_WAIT
+
+# define WAIT_T int
+
+# ifndef WTERMSIG
+#  define WTERMSIG(x) ((x) & 0x7f)
+# endif
+# ifndef WCOREDUMP
+#  define WCOREDUMP(x) ((x) & 0x80)
+# endif
+# ifndef WEXITSTATUS
+#  define WEXITSTATUS(x) (((x) >> 8) & 0xff)
+# endif
+# ifndef WIFSIGNALED
+#  define WIFSIGNALED(x) (WTERMSIG (x) != 0)
+# endif
+# ifndef WIFEXITED
+#  define WIFEXITED(x) (WTERMSIG (x) == 0)
+# endif
+
+#else  /* Have `union wait'.  */
+
+# define WAIT_T union wait
+# ifndef WTERMSIG
+#  define WTERMSIG(x) ((x).w_termsig)
+# endif
+# ifndef WCOREDUMP
+#  define WCOREDUMP(x) ((x).w_coredump)
+# endif
+# ifndef WEXITSTATUS
+#  define WEXITSTATUS(x) ((x).w_retcode)
+# endif
+# ifndef WIFSIGNALED
+#  define WIFSIGNALED(x) (WTERMSIG(x) != 0)
+# endif
+# ifndef WIFEXITED
+#  define WIFEXITED(x) (WTERMSIG(x) == 0)
+# endif
+
+#endif /* Don't have `union wait'.  */
+
+/* How to set close-on-exec for a file descriptor.  */
+
+#if !defined F_SETFD
+# define CLOSE_ON_EXEC(_d)
+#else
+# ifndef FD_CLOEXEC
+#  define FD_CLOEXEC 1
+# endif
+# define CLOSE_ON_EXEC(_d) (void) fcntl ((_d), F_SETFD, FD_CLOEXEC)
+#endif
+
+#ifdef VMS
+static int vms_jobsefnmask = 0;
+#endif /* !VMS */
+
+#ifndef        HAVE_UNISTD_H
+extern int dup2 ();
+extern int execve ();
+extern void _exit ();
+# ifndef VMS
+extern int geteuid ();
+extern int getegid ();
+extern int setgid ();
+extern int getgid ();
+# endif
+#endif
+
+extern char *allocated_variable_expand_for_file PARAMS ((char *line, struct file *file));
+
+extern int getloadavg PARAMS ((double loadavg[], int nelem));
+extern int start_remote_job PARAMS ((char **argv, char **envp, int stdin_fd,
+               int *is_remote, int *id_ptr, int *used_stdin));
+extern int start_remote_job_p PARAMS ((int));
+extern int remote_status PARAMS ((int *exit_code_ptr, int *signal_ptr,
+               int *coredump_ptr, int block));
+
+RETSIGTYPE child_handler PARAMS ((int));
+static void free_child PARAMS ((struct child *));
+static void start_job_command PARAMS ((struct child *child));
+static int load_too_high PARAMS ((void));
+static int job_next_command PARAMS ((struct child *));
+static int start_waiting_job PARAMS ((struct child *));
+#ifdef VMS
+static void vmsWaitForChildren PARAMS ((int *));
+#endif
+\f
+/* Chain of all live (or recently deceased) children.  */
+
+struct child *children = 0;
+
+/* Number of children currently running.  */
+
+unsigned int job_slots_used = 0;
+
+/* Nonzero if the `good' standard input is in use.  */
+
+static int good_stdin_used = 0;
+
+/* Chain of children waiting to run until the load average goes down.  */
+
+static struct child *waiting_jobs = 0;
+
+/* Non-zero if we use a *real* shell (always so on Unix).  */
+
+int unixy_shell = 1;
+
+\f
+#ifdef WINDOWS32
+/*
+ * The macro which references this function is defined in make.h.
+ */
+int w32_kill(int pid, int sig)
+{
+  return ((process_kill(pid, sig) == TRUE) ? 0 : -1);
+}
+#endif /* WINDOWS32 */
+\f
+/* Write an error message describing the exit status given in
+   EXIT_CODE, EXIT_SIG, and COREDUMP, for the target TARGET_NAME.
+   Append "(ignored)" if IGNORED is nonzero.  */
+
+static void
+child_error (target_name, exit_code, exit_sig, coredump, ignored)
+     char *target_name;
+     int exit_code, exit_sig, coredump;
+     int ignored;
+{
+  if (ignored && silent_flag)
+    return;
+
+#ifdef VMS
+  if (!(exit_code & 1))
+      error (NILF,
+             (ignored ? _("*** [%s] Error 0x%x (ignored)")
+              : _("*** [%s] Error 0x%x")),
+             target_name, exit_code);
+#else
+  if (exit_sig == 0)
+    error (NILF, ignored ? _("[%s] Error %d (ignored)") :
+          _("*** [%s] Error %d"),
+          target_name, exit_code);
+  else
+    error (NILF, "*** [%s] %s%s",
+          target_name, strsignal (exit_sig),
+          coredump ? _(" (core dumped)") : "");
+#endif /* VMS */
+}
+\f
+#ifdef VMS
+/* Wait for nchildren children to terminate */
+static void
+vmsWaitForChildren(int *status)
+{
+  while (1)
+    {
+      if (!vms_jobsefnmask)
+       {
+         *status = 0;
+         return;
+       }
+
+      *status = sys$wflor (32, vms_jobsefnmask);
+    }
+  return;
+}
+
+/* Set up IO redirection.  */
+
+char *
+vms_redirect (desc, fname, ibuf)
+    struct dsc$descriptor_s *desc;
+    char *fname;
+    char *ibuf;
+{
+  char *fptr;
+  extern char *vmsify ();
+
+  ibuf++;
+  while (isspace ((unsigned char)*ibuf))
+    ibuf++;
+  fptr = ibuf;
+  while (*ibuf && !isspace ((unsigned char)*ibuf))
+    ibuf++;
+  *ibuf = 0;
+  if (strcmp (fptr, "/dev/null") != 0)
+    {
+      strcpy (fname, vmsify (fptr, 0));
+      if (strchr (fname, '.') == 0)
+       strcat (fname, ".");
+    }
+  desc->dsc$w_length = strlen(fname);
+  desc->dsc$a_pointer = fname;
+  desc->dsc$b_dtype = DSC$K_DTYPE_T;
+  desc->dsc$b_class = DSC$K_CLASS_S;
+
+  if (*fname == 0)
+    printf (_("Warning: Empty redirection\n"));
+  return ibuf;
+}
+
+
+/*
+   found apostrophe at (p-1)
+
+   inc p until after closing apostrophe.  */
+
+static char *
+handle_apos (char *p)
+{
+  int alast;
+  int inside;
+
+#define SEPCHARS ",/()= "
+
+  inside = 0;
+
+  while (*p != 0)
+    {
+      if (*p == '"')
+       {
+         if (inside)
+           {
+             while ((alast > 0)
+                   && (*p == '"'))
+               {
+                 p++;
+                 alast--;
+               }
+             if (alast == 0)
+               inside = 0;
+             else
+               {
+                 fprintf (stderr, _("Syntax error, still inside '\"'\n"));
+                 exit (3);
+               }
+           }
+         else
+           {
+             p++;
+             if (strchr (SEPCHARS, *p))
+               break;
+             inside = 1;
+             alast = 1;
+             while (*p == '"')
+               {
+                 alast++;
+                 p++;
+               }
+           }
+       }
+      else
+       p++;
+    }
+
+  return p;
+}
+
+#endif
+
+
+/* Handle a dead child.  This handler may or may not ever be installed.
+
+   If we're using the jobserver feature, we need it.  First, installing it
+   ensures the read will interrupt on SIGCHLD.  Second, we close the dup'd
+   read FD to ensure we don't enter another blocking read without reaping all
+   the dead children.  In this case we don't need the dead_children count.
+
+   If we don't have either waitpid or wait3, then make is unreliable, but we
+   use the dead_children count to reap children as best we can.  */
+
+static unsigned int dead_children = 0;
+
+RETSIGTYPE
+child_handler (sig)
+     int sig;
+{
+  ++dead_children;
+
+  if (job_rfd >= 0)
+    {
+      close (job_rfd);
+      job_rfd = -1;
+    }
+
+  DB (DB_JOBS, (_("Got a SIGCHLD; %u unreaped children.\n"), dead_children));
+}
+
+
+extern int shell_function_pid, shell_function_completed;
+
+/* Reap all dead children, storing the returned status and the new command
+   state (`cs_finished') in the `file' member of the `struct child' for the
+   dead child, and removing the child from the chain.  In addition, if BLOCK
+   nonzero, we block in this function until we've reaped at least one
+   complete child, waiting for it to die if necessary.  If ERR is nonzero,
+   print an error message first.  */
+
+void
+reap_children (block, err)
+     int block, err;
+{
+  WAIT_T status;
+  /* Initially, assume we have some.  */
+  int reap_more = 1;
+
+#ifdef WAIT_NOHANG
+# define REAP_MORE reap_more
+#else
+# define REAP_MORE dead_children
+#endif
+
+  /* As long as:
+
+       We have at least one child outstanding OR a shell function in progress,
+         AND
+       We're blocking for a complete child OR there are more children to reap
+
+     we'll keep reaping children.  */
+
+  while ((children != 0 || shell_function_pid != 0)
+         && (block || REAP_MORE))
+    {
+      int remote = 0;
+      register int pid;
+      int exit_code, exit_sig, coredump;
+      register struct child *lastc, *c;
+      int child_failed;
+      int any_remote, any_local;
+
+      if (err && block)
+       {
+         /* We might block for a while, so let the user know why.  */
+         fflush (stdout);
+         error (NILF, _("*** Waiting for unfinished jobs...."));
+       }
+
+      /* We have one less dead child to reap.  As noted in
+        child_handler() above, this count is completely unimportant for
+        all modern, POSIX-y systems that support wait3() or waitpid().
+        The rest of this comment below applies only to early, broken
+        pre-POSIX systems.  We keep the count only because... it's there...
+
+        The test and decrement are not atomic; if it is compiled into:
+               register = dead_children - 1;
+               dead_children = register;
+        a SIGCHLD could come between the two instructions.
+        child_handler increments dead_children.
+        The second instruction here would lose that increment.  But the
+        only effect of dead_children being wrong is that we might wait
+        longer than necessary to reap a child, and lose some parallelism;
+        and we might print the "Waiting for unfinished jobs" message above
+        when not necessary.  */
+
+      if (dead_children > 0)
+       --dead_children;
+
+      any_remote = 0;
+      any_local = shell_function_pid != 0;
+      for (c = children; c != 0; c = c->next)
+       {
+         any_remote |= c->remote;
+         any_local |= ! c->remote;
+         DB (DB_JOBS, (_("Live child 0x%08lx (%s) PID %ld %s\n"),
+                        (unsigned long int) c, c->file->name,
+                        (long) c->pid, c->remote ? _(" (remote)") : ""));
+#ifdef VMS
+         break;
+#endif
+       }
+
+      /* First, check for remote children.  */
+      if (any_remote)
+       pid = remote_status (&exit_code, &exit_sig, &coredump, 0);
+      else
+       pid = 0;
+
+      if (pid > 0)
+       /* We got a remote child.  */
+       remote = 1;
+      else if (pid < 0)
+       {
+          /* A remote status command failed miserably.  Punt.  */
+       remote_status_lose:
+         pfatal_with_name ("remote_status");
+       }
+      else
+       {
+         /* No remote children.  Check for local children.  */
+#if !defined(__MSDOS__) && !defined(_AMIGA) && !defined(WINDOWS32)
+         if (any_local)
+           {
+#ifdef VMS
+             vmsWaitForChildren (&status);
+             pid = c->pid;
+#else
+#ifdef WAIT_NOHANG
+             if (!block)
+               pid = WAIT_NOHANG (&status);
+             else
+#endif
+               pid = wait (&status);
+#endif /* !VMS */
+           }
+         else
+           pid = 0;
+
+         if (pid < 0)
+           {
+              /* The wait*() failed miserably.  Punt.  */
+             pfatal_with_name ("wait");
+           }
+         else if (pid > 0)
+           {
+             /* We got a child exit; chop the status word up.  */
+             exit_code = WEXITSTATUS (status);
+             exit_sig = WIFSIGNALED (status) ? WTERMSIG (status) : 0;
+             coredump = WCOREDUMP (status);
+           }
+         else
+           {
+             /* No local children are dead.  */
+              reap_more = 0;
+
+             if (!block || !any_remote)
+                break;
+
+              /* Now try a blocking wait for a remote child.  */
+              pid = remote_status (&exit_code, &exit_sig, &coredump, 1);
+              if (pid < 0)
+                goto remote_status_lose;
+              else if (pid == 0)
+                /* No remote children either.  Finally give up.  */
+                break;
+
+              /* We got a remote child.  */
+              remote = 1;
+           }
+#endif /* !__MSDOS__, !Amiga, !WINDOWS32.  */
+
+#ifdef __MSDOS__
+         /* Life is very different on MSDOS.  */
+         pid = dos_pid - 1;
+         status = dos_status;
+         exit_code = WEXITSTATUS (status);
+         if (exit_code == 0xff)
+           exit_code = -1;
+         exit_sig = WIFSIGNALED (status) ? WTERMSIG (status) : 0;
+         coredump = 0;
+#endif /* __MSDOS__ */
+#ifdef _AMIGA
+         /* Same on Amiga */
+         pid = amiga_pid - 1;
+         status = amiga_status;
+         exit_code = amiga_status;
+         exit_sig = 0;
+         coredump = 0;
+#endif /* _AMIGA */
+#ifdef WINDOWS32
+          {
+            HANDLE hPID;
+            int err;
+
+            /* wait for anything to finish */
+            if (hPID = process_wait_for_any()) {
+
+              /* was an error found on this process? */
+              err = process_last_err(hPID);
+
+              /* get exit data */
+              exit_code = process_exit_code(hPID);
+
+              if (err)
+                fprintf(stderr, "make (e=%d): %s",
+                  exit_code, map_windows32_error_to_string(exit_code));
+
+              /* signal */
+              exit_sig = process_signal(hPID);
+
+              /* cleanup process */
+              process_cleanup(hPID);
+
+              coredump = 0;
+            }
+            pid = (int) hPID;
+          }
+#endif /* WINDOWS32 */
+       }
+
+      /* Check if this is the child of the `shell' function.  */
+      if (!remote && pid == shell_function_pid)
+       {
+         /* It is.  Leave an indicator for the `shell' function.  */
+         if (exit_sig == 0 && exit_code == 127)
+           shell_function_completed = -1;
+         else
+           shell_function_completed = 1;
+         break;
+       }
+
+      child_failed = exit_sig != 0 || exit_code != 0;
+
+      /* Search for a child matching the deceased one.  */
+      lastc = 0;
+      for (c = children; c != 0; lastc = c, c = c->next)
+       if (c->remote == remote && c->pid == pid)
+         break;
+
+      if (c == 0)
+        /* An unknown child died.
+           Ignore it; it was inherited from our invoker.  */
+        continue;
+
+      DB (DB_JOBS, (child_failed
+                    ? _("Reaping losing child 0x%08lx PID %ld %s\n")
+                    : _("Reaping winning child 0x%08lx PID %ld %s\n"),
+                    (unsigned long int) c, (long) c->pid,
+                    c->remote ? _(" (remote)") : ""));
+
+      if (c->sh_batch_file) {
+        DB (DB_JOBS, (_("Cleaning up temp batch file %s\n"),
+                      c->sh_batch_file));
+
+        /* just try and remove, don't care if this fails */
+        remove (c->sh_batch_file);
+
+        /* all done with memory */
+        free (c->sh_batch_file);
+        c->sh_batch_file = NULL;
+      }
+
+      /* If this child had the good stdin, say it is now free.  */
+      if (c->good_stdin)
+        good_stdin_used = 0;
+
+      if (child_failed && !c->noerror && !ignore_errors_flag)
+        {
+          /* The commands failed.  Write an error message,
+             delete non-precious targets, and abort.  */
+          static int delete_on_error = -1;
+          child_error (c->file->name, exit_code, exit_sig, coredump, 0);
+          c->file->update_status = 2;
+          if (delete_on_error == -1)
+            {
+              struct file *f = lookup_file (".DELETE_ON_ERROR");
+              delete_on_error = f != 0 && f->is_target;
+            }
+          if (exit_sig != 0 || delete_on_error)
+            delete_child_targets (c);
+        }
+      else
+        {
+          if (child_failed)
+            {
+              /* The commands failed, but we don't care.  */
+              child_error (c->file->name,
+                           exit_code, exit_sig, coredump, 1);
+              child_failed = 0;
+            }
+
+          /* If there are more commands to run, try to start them.  */
+          if (job_next_command (c))
+            {
+              if (handling_fatal_signal)
+                {
+                  /* Never start new commands while we are dying.
+                     Since there are more commands that wanted to be run,
+                     the target was not completely remade.  So we treat
+                     this as if a command had failed.  */
+                  c->file->update_status = 2;
+                }
+              else
+                {
+                  /* Check again whether to start remotely.
+                     Whether or not we want to changes over time.
+                     Also, start_remote_job may need state set up
+                     by start_remote_job_p.  */
+                  c->remote = start_remote_job_p (0);
+                  start_job_command (c);
+                  /* Fatal signals are left blocked in case we were
+                     about to put that child on the chain.  But it is
+                     already there, so it is safe for a fatal signal to
+                     arrive now; it will clean up this child's targets.  */
+                  unblock_sigs ();
+                  if (c->file->command_state == cs_running)
+                    /* We successfully started the new command.
+                       Loop to reap more children.  */
+                    continue;
+                }
+
+              if (c->file->update_status != 0)
+                /* We failed to start the commands.  */
+                delete_child_targets (c);
+            }
+          else
+            /* There are no more commands.  We got through them all
+               without an unignored error.  Now the target has been
+               successfully updated.  */
+            c->file->update_status = 0;
+        }
+
+      /* When we get here, all the commands for C->file are finished
+         (or aborted) and C->file->update_status contains 0 or 2.  But
+         C->file->command_state is still cs_running if all the commands
+         ran; notice_finish_file looks for cs_running to tell it that
+         it's interesting to check the file's modtime again now.  */
+
+      if (! handling_fatal_signal)
+        /* Notice if the target of the commands has been changed.
+           This also propagates its values for command_state and
+           update_status to its also_make files.  */
+        notice_finished_file (c->file);
+
+      DB (DB_JOBS, (_("Removing child 0x%08lx PID %ld%s from chain.\n"),
+                    (unsigned long int) c, (long) c->pid,
+                    c->remote ? _(" (remote)") : ""));
+
+      /* Block fatal signals while frobnicating the list, so that
+         children and job_slots_used are always consistent.  Otherwise
+         a fatal signal arriving after the child is off the chain and
+         before job_slots_used is decremented would believe a child was
+         live and call reap_children again.  */
+      block_sigs ();
+
+      /* There is now another slot open.  */
+      if (job_slots_used > 0)
+        --job_slots_used;
+
+      /* Remove the child from the chain and free it.  */
+      if (lastc == 0)
+        children = c->next;
+      else
+        lastc->next = c->next;
+
+      free_child (c);
+
+      unblock_sigs ();
+
+      /* If the job failed, and the -k flag was not given, die,
+         unless we are already in the process of dying.  */
+      if (!err && child_failed && !keep_going_flag &&
+          /* fatal_error_signal will die with the right signal.  */
+          !handling_fatal_signal)
+        die (2);
+
+      /* Only block for one child.  */
+      block = 0;
+    }
+
+  return;
+}
+\f
+/* Free the storage allocated for CHILD.  */
+
+static void
+free_child (child)
+     register struct child *child;
+{
+  /* If this child is the only one it was our "free" job, so don't put a
+     token back for it.  This child has already been removed from the list,
+     so if there any left this wasn't the last one.  */
+
+  if (job_fds[1] >= 0 && children)
+    {
+      char token = '+';
+
+      /* Write a job token back to the pipe.  */
+
+      if (write (job_fds[1], &token, 1) != 1)
+       pfatal_with_name (_("write jobserver"));
+
+      DB (DB_JOBS, (_("Released token for child 0x%08lx (%s).\n"),
+                    (unsigned long int) child, child->file->name));
+    }
+
+  if (handling_fatal_signal) /* Don't bother free'ing if about to die.  */
+    return;
+
+  if (child->command_lines != 0)
+    {
+      register unsigned int i;
+      for (i = 0; i < child->file->cmds->ncommand_lines; ++i)
+       free (child->command_lines[i]);
+      free ((char *) child->command_lines);
+    }
+
+  if (child->environment != 0)
+    {
+      register char **ep = child->environment;
+      while (*ep != 0)
+       free (*ep++);
+      free ((char *) child->environment);
+    }
+
+  free ((char *) child);
+}
+\f
+#ifdef POSIX
+extern sigset_t fatal_signal_set;
+#endif
+
+void
+block_sigs ()
+{
+#ifdef POSIX
+  (void) sigprocmask (SIG_BLOCK, &fatal_signal_set, (sigset_t *) 0);
+#else
+# ifdef HAVE_SIGSETMASK
+  (void) sigblock (fatal_signal_mask);
+# endif
+#endif
+}
+
+#ifdef POSIX
+void
+unblock_sigs ()
+{
+  sigset_t empty;
+  sigemptyset (&empty);
+  sigprocmask (SIG_SETMASK, &empty, (sigset_t *) 0);
+}
+#endif
+
+#ifdef MAKE_JOBSERVER
+/* Set the child handler action flags to FLAGS.  */
+static void
+set_child_handler_action_flags (flags)
+     int flags;
+{
+  struct sigaction sa;
+  bzero ((char *) &sa, sizeof sa);
+  sa.sa_handler = child_handler;
+  sa.sa_flags = flags;
+#if defined SIGCHLD
+  sigaction (SIGCHLD, &sa, NULL);
+#endif
+#if defined SIGCLD && SIGCLD != SIGCHLD
+  sigaction (SIGCLD, &sa, NULL);
+#endif
+}
+#endif
+
+
+/* Start a job to run the commands specified in CHILD.
+   CHILD is updated to reflect the commands and ID of the child process.
+
+   NOTE: On return fatal signals are blocked!  The caller is responsible
+   for calling `unblock_sigs', once the new child is safely on the chain so
+   it can be cleaned up in the event of a fatal signal.  */
+
+static void
+start_job_command (child)
+     register struct child *child;
+{
+#ifndef _AMIGA
+  static int bad_stdin = -1;
+#endif
+  register char *p;
+  int flags;
+#ifdef VMS
+  char *argv;
+#else
+  char **argv;
+#endif
+
+  /* If we have a completely empty commandset, stop now.  */
+  if (!child->command_ptr)
+    goto next_command;
+
+  /* Combine the flags parsed for the line itself with
+     the flags specified globally for this target.  */
+  flags = (child->file->command_flags
+          | child->file->cmds->lines_flags[child->command_line - 1]);
+
+  p = child->command_ptr;
+  child->noerror = flags & COMMANDS_NOERROR;
+
+  while (*p != '\0')
+    {
+      if (*p == '@')
+       flags |= COMMANDS_SILENT;
+      else if (*p == '+')
+       flags |= COMMANDS_RECURSE;
+      else if (*p == '-')
+       child->noerror = 1;
+      else if (!isblank ((unsigned char)*p))
+       break;
+      ++p;
+    }
+
+  /* Update the file's command flags with any new ones we found.  We only
+     keep the COMMANDS_RECURSE setting.  Even this isn't 100% correct; we are
+     now marking more commands recursive than should be in the case of
+     multiline define/endef scripts where only one line is marked "+".  In
+     order to really fix this, we'll have to keep a lines_flags for every
+     actual line, after expansion.  */
+  child->file->cmds->lines_flags[child->command_line - 1]
+    |= flags & COMMANDS_RECURSE;
+
+  /* Figure out an argument list from this command line.  */
+
+  {
+    char *end = 0;
+#ifdef VMS
+    argv = p;
+#else
+    argv = construct_command_argv (p, &end, child->file, &child->sh_batch_file);
+#endif
+    if (end == NULL)
+      child->command_ptr = NULL;
+    else
+      {
+       *end++ = '\0';
+       child->command_ptr = end;
+      }
+  }
+
+  /* If -q was given, say that updating `failed' if there was any text on the
+     command line, or `succeeded' otherwise.  The exit status of 1 tells the
+     user that -q is saying `something to do'; the exit status for a random
+     error is 2.  */
+  if (argv != 0 && question_flag && !(flags & COMMANDS_RECURSE))
+    {
+#ifndef VMS
+      free (argv[0]);
+      free ((char *) argv);
+#endif
+      child->file->update_status = 1;
+      notice_finished_file (child->file);
+      return;
+    }
+
+  if (touch_flag && !(flags & COMMANDS_RECURSE))
+    {
+      /* Go on to the next command.  It might be the recursive one.
+        We construct ARGV only to find the end of the command line.  */
+#ifndef VMS
+      if (argv)
+        {
+          free (argv[0]);
+          free ((char *) argv);
+        }
+#endif
+      argv = 0;
+    }
+
+  if (argv == 0)
+    {
+    next_command:
+#ifdef __MSDOS__
+      execute_by_shell = 0;   /* in case construct_command_argv sets it */
+#endif
+      /* This line has no commands.  Go to the next.  */
+      if (job_next_command (child))
+       start_job_command (child);
+      else
+       {
+         /* No more commands.  Make sure we're "running"; we might not be if
+             (e.g.) all commands were skipped due to -n.  */
+          set_command_state (child->file, cs_running);
+         child->file->update_status = 0;
+         notice_finished_file (child->file);
+       }
+      return;
+    }
+
+  /* Print out the command.  If silent, we call `message' with null so it
+     can log the working directory before the command's own error messages
+     appear.  */
+
+  message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
+          ? "%s" : (char *) 0, p);
+
+  /* Tell update_goal_chain that a command has been started on behalf of
+     this target.  It is important that this happens here and not in
+     reap_children (where we used to do it), because reap_children might be
+     reaping children from a different target.  We want this increment to
+     guaranteedly indicate that a command was started for the dependency
+     chain (i.e., update_file recursion chain) we are processing.  */
+
+  ++commands_started;
+
+  /* Optimize an empty command.  People use this for timestamp rules,
+     so avoid forking a useless shell.  Do this after we increment
+     commands_started so make still treats this special case as if it
+     performed some action (makes a difference as to what messages are
+     printed, etc.  */
+
+#if !defined(VMS) && !defined(_AMIGA)
+  if (
+#ifdef __MSDOS__
+      unixy_shell      /* the test is complicated and we already did it */
+#else
+      (argv[0] && !strcmp (argv[0], "/bin/sh"))
+#endif
+      && (argv[1]
+          && argv[1][0] == '-' && argv[1][1] == 'c' && argv[1][2] == '\0')
+      && (argv[2] && argv[2][0] == ':' && argv[2][1] == '\0')
+      && argv[3] == NULL)
+    {
+      free (argv[0]);
+      free ((char *) argv);
+      goto next_command;
+    }
+#endif  /* !VMS && !_AMIGA */
+
+  /* If -n was given, recurse to get the next line in the sequence.  */
+
+  if (just_print_flag && !(flags & COMMANDS_RECURSE))
+    {
+#ifndef VMS
+      free (argv[0]);
+      free ((char *) argv);
+#endif
+      goto next_command;
+    }
+
+  /* Flush the output streams so they won't have things written twice.  */
+
+  fflush (stdout);
+  fflush (stderr);
+
+#ifndef VMS
+#if !defined(WINDOWS32) && !defined(_AMIGA) && !defined(__MSDOS__)
+
+  /* Set up a bad standard input that reads from a broken pipe.  */
+
+  if (bad_stdin == -1)
+    {
+      /* Make a file descriptor that is the read end of a broken pipe.
+        This will be used for some children's standard inputs.  */
+      int pd[2];
+      if (pipe (pd) == 0)
+       {
+         /* Close the write side.  */
+         (void) close (pd[1]);
+         /* Save the read side.  */
+         bad_stdin = pd[0];
+
+         /* Set the descriptor to close on exec, so it does not litter any
+            child's descriptor table.  When it is dup2'd onto descriptor 0,
+            that descriptor will not close on exec.  */
+         CLOSE_ON_EXEC (bad_stdin);
+       }
+    }
+
+#endif /* !WINDOWS32 && !_AMIGA && !__MSDOS__ */
+
+  /* Decide whether to give this child the `good' standard input
+     (one that points to the terminal or whatever), or the `bad' one
+     that points to the read side of a broken pipe.  */
+
+  child->good_stdin = !good_stdin_used;
+  if (child->good_stdin)
+    good_stdin_used = 1;
+
+#endif /* !VMS */
+
+  child->deleted = 0;
+
+#ifndef _AMIGA
+  /* Set up the environment for the child.  */
+  if (child->environment == 0)
+    child->environment = target_environment (child->file);
+#endif
+
+#if !defined(__MSDOS__) && !defined(_AMIGA) && !defined(WINDOWS32)
+
+#ifndef VMS
+  /* start_waiting_job has set CHILD->remote if we can start a remote job.  */
+  if (child->remote)
+    {
+      int is_remote, id, used_stdin;
+      if (start_remote_job (argv, child->environment,
+                           child->good_stdin ? 0 : bad_stdin,
+                           &is_remote, &id, &used_stdin))
+        /* Don't give up; remote execution may fail for various reasons.  If
+           so, simply run the job locally.  */
+       goto run_local;
+      else
+       {
+         if (child->good_stdin && !used_stdin)
+           {
+             child->good_stdin = 0;
+             good_stdin_used = 0;
+           }
+         child->remote = is_remote;
+         child->pid = id;
+       }
+    }
+  else
+#endif /* !VMS */
+    {
+      /* Fork the child process.  */
+
+      char **parent_environ;
+
+    run_local:
+      block_sigs ();
+
+      child->remote = 0;
+
+#ifdef VMS
+
+      if (!child_execute_job (argv, child)) {
+        /* Fork failed!  */
+        perror_with_name ("vfork", "");
+        goto error;
+      }
+
+#else
+
+      parent_environ = environ;
+      child->pid = vfork ();
+      environ = parent_environ;        /* Restore value child may have clobbered.  */
+      if (child->pid == 0)
+       {
+         /* We are the child side.  */
+         unblock_sigs ();
+
+          /* If we aren't running a recursive command and we have a jobserver
+             pipe, close it before exec'ing.  */
+          if (!(flags & COMMANDS_RECURSE) && job_fds[0] >= 0)
+            {
+              close (job_fds[0]);
+              close (job_fds[1]);
+            }
+          if (job_rfd >= 0)
+            close (job_rfd);
+
+         child_execute_job (child->good_stdin ? 0 : bad_stdin, 1,
+                             argv, child->environment);
+       }
+      else if (child->pid < 0)
+       {
+         /* Fork failed!  */
+         unblock_sigs ();
+         perror_with_name ("vfork", "");
+         goto error;
+       }
+#endif /* !VMS */
+    }
+
+#else  /* __MSDOS__ or Amiga or WINDOWS32 */
+#ifdef __MSDOS__
+  {
+    int proc_return;
+
+    block_sigs ();
+    dos_status = 0;
+
+    /* We call `system' to do the job of the SHELL, since stock DOS
+       shell is too dumb.  Our `system' knows how to handle long
+       command lines even if pipes/redirection is needed; it will only
+       call COMMAND.COM when its internal commands are used.  */
+    if (execute_by_shell)
+      {
+       char *cmdline = argv[0];
+       /* We don't have a way to pass environment to `system',
+          so we need to save and restore ours, sigh...  */
+       char **parent_environ = environ;
+
+       environ = child->environment;
+
+       /* If we have a *real* shell, tell `system' to call
+          it to do everything for us.  */
+       if (unixy_shell)
+         {
+           /* A *real* shell on MSDOS may not support long
+              command lines the DJGPP way, so we must use `system'.  */
+           cmdline = argv[2];  /* get past "shell -c" */
+         }
+
+       dos_command_running = 1;
+       proc_return = system (cmdline);
+       environ = parent_environ;
+       execute_by_shell = 0;   /* for the next time */
+      }
+    else
+      {
+       dos_command_running = 1;
+       proc_return = spawnvpe (P_WAIT, argv[0], argv, child->environment);
+      }
+
+    /* Need to unblock signals before turning off
+       dos_command_running, so that child's signals
+       will be treated as such (see fatal_error_signal).  */
+    unblock_sigs ();
+    dos_command_running = 0;
+
+    /* If the child got a signal, dos_status has its
+       high 8 bits set, so be careful not to alter them.  */
+    if (proc_return == -1)
+      dos_status |= 0xff;
+    else
+      dos_status |= (proc_return & 0xff);
+    ++dead_children;
+    child->pid = dos_pid++;
+  }
+#endif /* __MSDOS__ */
+#ifdef _AMIGA
+  amiga_status = MyExecute (argv);
+
+  ++dead_children;
+  child->pid = amiga_pid++;
+  if (amiga_batch_file)
+  {
+     amiga_batch_file = 0;
+     DeleteFile (amiga_bname);        /* Ignore errors.  */
+  }
+#endif /* Amiga */
+#ifdef WINDOWS32
+  {
+      HANDLE hPID;
+      char* arg0;
+
+      /* make UNC paths safe for CreateProcess -- backslash format */
+      arg0 = argv[0];
+      if (arg0 && arg0[0] == '/' && arg0[1] == '/')
+        for ( ; arg0 && *arg0; arg0++)
+          if (*arg0 == '/')
+            *arg0 = '\\';
+
+      /* make sure CreateProcess() has Path it needs */
+      sync_Path_environment();
+
+      hPID = process_easy(argv, child->environment);
+
+      if (hPID != INVALID_HANDLE_VALUE)
+        child->pid = (int) hPID;
+      else {
+        int i;
+        unblock_sigs();
+        fprintf(stderr,
+          _("process_easy() failed failed to launch process (e=%d)\n"),
+          process_last_err(hPID));
+               for (i = 0; argv[i]; i++)
+                 fprintf(stderr, "%s ", argv[i]);
+               fprintf(stderr, _("\nCounted %d args in failed launch\n"), i);
+      }
+  }
+#endif /* WINDOWS32 */
+#endif /* __MSDOS__ or Amiga or WINDOWS32 */
+
+  /* We are the parent side.  Set the state to
+     say the commands are running and return.  */
+
+  set_command_state (child->file, cs_running);
+
+  /* Free the storage used by the child's argument list.  */
+#ifndef VMS
+  free (argv[0]);
+  free ((char *) argv);
+#endif
+
+  return;
+
+ error:
+  child->file->update_status = 2;
+  notice_finished_file (child->file);
+  return;
+}
+
+/* Try to start a child running.
+   Returns nonzero if the child was started (and maybe finished), or zero if
+   the load was too high and the child was put on the `waiting_jobs' chain.  */
+
+static int
+start_waiting_job (c)
+     struct child *c;
+{
+  struct file *f = c->file;
+
+  /* If we can start a job remotely, we always want to, and don't care about
+     the local load average.  We record that the job should be started
+     remotely in C->remote for start_job_command to test.  */
+
+  c->remote = start_remote_job_p (1);
+
+  /* If we are running at least one job already and the load average
+     is too high, make this one wait.  */
+  if (!c->remote && job_slots_used > 0 && load_too_high ())
+    {
+      /* Put this child on the chain of children waiting for the load average
+         to go down.  */
+      set_command_state (f, cs_running);
+      c->next = waiting_jobs;
+      waiting_jobs = c;
+      return 0;
+    }
+
+  /* Start the first command; reap_children will run later command lines.  */
+  start_job_command (c);
+
+  switch (f->command_state)
+    {
+    case cs_running:
+      c->next = children;
+      DB (DB_JOBS, (_("Putting child 0x%08lx (%s) PID %ld%s on the chain.\n"),
+                    (unsigned long int) c, c->file->name,
+                    (long) c->pid, c->remote ? _(" (remote)") : ""));
+      children = c;
+      /* One more job slot is in use.  */
+      ++job_slots_used;
+      unblock_sigs ();
+      break;
+
+    case cs_not_started:
+      /* All the command lines turned out to be empty.  */
+      f->update_status = 0;
+      /* FALLTHROUGH */
+
+    case cs_finished:
+      notice_finished_file (f);
+      free_child (c);
+      break;
+
+    default:
+      assert (f->command_state == cs_finished);
+      break;
+    }
+
+  return 1;
+}
+
+/* Create a `struct child' for FILE and start its commands running.  */
+
+void
+new_job (file)
+     register struct file *file;
+{
+  register struct commands *cmds = file->cmds;
+  register struct child *c;
+  char **lines;
+  register unsigned int i;
+
+  /* Let any previously decided-upon jobs that are waiting
+     for the load to go down start before this new one.  */
+  start_waiting_jobs ();
+
+  /* Reap any children that might have finished recently.  */
+  reap_children (0, 0);
+
+  /* Chop the commands up into lines if they aren't already.  */
+  chop_commands (cmds);
+
+  /* Expand the command lines and store the results in LINES.  */
+  lines = (char **) xmalloc (cmds->ncommand_lines * sizeof (char *));
+  for (i = 0; i < cmds->ncommand_lines; ++i)
+    {
+      /* Collapse backslash-newline combinations that are inside variable
+        or function references.  These are left alone by the parser so
+        that they will appear in the echoing of commands (where they look
+        nice); and collapsed by construct_command_argv when it tokenizes.
+        But letting them survive inside function invocations loses because
+        we don't want the functions to see them as part of the text.  */
+
+      char *in, *out, *ref;
+
+      /* IN points to where in the line we are scanning.
+        OUT points to where in the line we are writing.
+        When we collapse a backslash-newline combination,
+        IN gets ahead of OUT.  */
+
+      in = out = cmds->command_lines[i];
+      while ((ref = strchr (in, '$')) != 0)
+       {
+         ++ref;                /* Move past the $.  */
+
+         if (out != in)
+           /* Copy the text between the end of the last chunk
+              we processed (where IN points) and the new chunk
+              we are about to process (where REF points).  */
+           bcopy (in, out, ref - in);
+
+         /* Move both pointers past the boring stuff.  */
+         out += ref - in;
+         in = ref;
+
+         if (*ref == '(' || *ref == '{')
+           {
+             char openparen = *ref;
+             char closeparen = openparen == '(' ? ')' : '}';
+             int count;
+             char *p;
+
+             *out++ = *in++;   /* Copy OPENPAREN.  */
+             /* IN now points past the opening paren or brace.
+                Count parens or braces until it is matched.  */
+             count = 0;
+             while (*in != '\0')
+               {
+                 if (*in == closeparen && --count < 0)
+                   break;
+                 else if (*in == '\\' && in[1] == '\n')
+                   {
+                     /* We have found a backslash-newline inside a
+                        variable or function reference.  Eat it and
+                        any following whitespace.  */
+
+                     int quoted = 0;
+                     for (p = in - 1; p > ref && *p == '\\'; --p)
+                       quoted = !quoted;
+
+                     if (quoted)
+                       /* There were two or more backslashes, so this is
+                          not really a continuation line.  We don't collapse
+                          the quoting backslashes here as is done in
+                          collapse_continuations, because the line will
+                          be collapsed again after expansion.  */
+                       *out++ = *in++;
+                     else
+                       {
+                         /* Skip the backslash, newline and
+                            any following whitespace.  */
+                         in = next_token (in + 2);
+
+                         /* Discard any preceding whitespace that has
+                            already been written to the output.  */
+                         while (out > ref
+                                && isblank ((unsigned char)out[-1]))
+                           --out;
+
+                         /* Replace it all with a single space.  */
+                         *out++ = ' ';
+                       }
+                   }
+                 else
+                   {
+                     if (*in == openparen)
+                       ++count;
+
+                     *out++ = *in++;
+                   }
+               }
+           }
+       }
+
+      /* There are no more references in this line to worry about.
+        Copy the remaining uninteresting text to the output.  */
+      if (out != in)
+       strcpy (out, in);
+
+      /* Finally, expand the line.  */
+      lines[i] = allocated_variable_expand_for_file (cmds->command_lines[i],
+                                                    file);
+    }
+
+  /* Start the command sequence, record it in a new
+     `struct child', and add that to the chain.  */
+
+  c = (struct child *) xmalloc (sizeof (struct child));
+  bzero ((char *)c, sizeof (struct child));
+  c->file = file;
+  c->command_lines = lines;
+  c->sh_batch_file = NULL;
+
+  /* Fetch the first command line to be run.  */
+  job_next_command (c);
+
+  /* Wait for a job slot to be freed up.  If we allow an infinite number
+     don't bother; also job_slots will == 0 if we're using the jobserver.  */
+
+  if (job_slots != 0)
+    while (job_slots_used == job_slots)
+      reap_children (1, 0);
+
+#ifdef MAKE_JOBSERVER
+  /* If we are controlling multiple jobs make sure we have a token before
+     starting the child. */
+
+  /* This can be inefficient.  There's a decent chance that this job won't
+     actually have to run any subprocesses: the command script may be empty
+     or otherwise optimized away.  It would be nice if we could defer
+     obtaining a token until just before we need it, in start_job_command.
+     To do that we'd need to keep track of whether we'd already obtained a
+     token (since start_job_command is called for each line of the job, not
+     just once).  Also more thought needs to go into the entire algorithm;
+     this is where the old parallel job code waits, so...  */
+
+  else if (job_fds[0] >= 0)
+    while (1)
+      {
+        char token;
+       int got_token;
+       int saved_errno;
+
+        DB (DB_JOBS, ("Need a job token; we %shave children\n",
+                      children ? "" : "don't "));
+
+        /* If we don't already have a job started, use our "free" token.  */
+        if (!children)
+          break;
+
+        /* Read a token.  As long as there's no token available we'll block.
+           We enable interruptible system calls before the read(2) so that if
+           we get a SIGCHLD while we're waiting, we'll return with EINTR and
+           we can process the death(s) and return tokens to the free pool.
+
+           Once we return from the read, we immediately reinstate restartable
+           system calls.  This allows us to not worry about checking for
+           EINTR on all the other system calls in the program.
+
+           There is one other twist: there is a span between the time
+           reap_children() does its last check for dead children and the time
+           the read(2) call is entered, below, where if a child dies we won't
+           notice.  This is extremely serious as it could cause us to
+           deadlock, given the right set of events.
+
+           To avoid this, we do the following: before we reap_children(), we
+           dup(2) the read FD on the jobserver pipe.  The read(2) call below
+           uses that new FD.  In the signal handler, we close that FD.  That
+           way, if a child dies during the section mentioned above, the
+           read(2) will be invoked with an invalid FD and will return
+           immediately with EBADF.  */
+
+        /* Make sure we have a dup'd FD.  */
+        if (job_rfd < 0)
+          {
+            DB (DB_JOBS, ("Duplicate the job FD\n"));
+            job_rfd = dup (job_fds[0]);
+          }
+
+        /* Reap anything that's currently waiting.  */
+        reap_children (0, 0);
+
+        /* If our "free" token has become available, use it.  */
+        if (!children)
+          break;
+
+        /* Set interruptible system calls, and read() for a job token.  */
+       set_child_handler_action_flags (0);
+       got_token = read (job_rfd, &token, 1);
+       saved_errno = errno;
+       set_child_handler_action_flags (SA_RESTART);
+
+        /* If we got one, we're done here.  */
+       if (got_token == 1)
+          {
+            DB (DB_JOBS, (_("Obtained token for child 0x%08lx (%s).\n"),
+                          (unsigned long int) c, c->file->name));
+            break;
+          }
+
+        /* If the error _wasn't_ expected (EINTR or EBADF), punt.  Otherwise,
+           go back and reap_children(), and try again.  */
+       errno = saved_errno;
+        if (errno != EINTR && errno != EBADF)
+          pfatal_with_name (_("read jobs pipe"));
+        if (errno == EBADF)
+          DB (DB_JOBS, ("Read returned EBADF.\n"));
+      }
+#endif
+
+  /* The job is now primed.  Start it running.
+     (This will notice if there are in fact no commands.)  */
+  (void) start_waiting_job (c);
+
+  if (job_slots == 1 || not_parallel)
+    /* Since there is only one job slot, make things run linearly.
+       Wait for the child to die, setting the state to `cs_finished'.  */
+    while (file->command_state == cs_running)
+      reap_children (1, 0);
+
+  return;
+}
+\f
+/* Move CHILD's pointers to the next command for it to execute.
+   Returns nonzero if there is another command.  */
+
+static int
+job_next_command (child)
+     struct child *child;
+{
+  while (child->command_ptr == 0 || *child->command_ptr == '\0')
+    {
+      /* There are no more lines in the expansion of this line.  */
+      if (child->command_line == child->file->cmds->ncommand_lines)
+       {
+         /* There are no more lines to be expanded.  */
+         child->command_ptr = 0;
+         return 0;
+       }
+      else
+       /* Get the next line to run.  */
+       child->command_ptr = child->command_lines[child->command_line++];
+    }
+  return 1;
+}
+
+static int
+load_too_high ()
+{
+#if defined(__MSDOS__) || defined(VMS) || defined(_AMIGA)
+  return 1;
+#else
+  double load;
+
+  if (max_load_average < 0)
+    return 0;
+
+  make_access ();
+  if (getloadavg (&load, 1) != 1)
+    {
+      static int lossage = -1;
+      /* Complain only once for the same error.  */
+      if (lossage == -1 || errno != lossage)
+       {
+         if (errno == 0)
+           /* An errno value of zero means getloadavg is just unsupported.  */
+           error (NILF,
+                   _("cannot enforce load limits on this operating system"));
+         else
+           perror_with_name (_("cannot enforce load limit: "), "getloadavg");
+       }
+      lossage = errno;
+      load = 0;
+    }
+  user_access ();
+
+  DB (DB_JOBS, ("Current system load = %f (max requested = %f)\n",
+                load, max_load_average));
+  return load >= max_load_average;
+#endif
+}
+
+/* Start jobs that are waiting for the load to be lower.  */
+
+void
+start_waiting_jobs ()
+{
+  struct child *job;
+
+  if (waiting_jobs == 0)
+    return;
+
+  do
+    {
+      /* Check for recently deceased descendants.  */
+      reap_children (0, 0);
+
+      /* Take a job off the waiting list.  */
+      job = waiting_jobs;
+      waiting_jobs = job->next;
+
+      /* Try to start that job.  We break out of the loop as soon
+        as start_waiting_job puts one back on the waiting list.  */
+    }
+  while (start_waiting_job (job) && waiting_jobs != 0);
+
+  return;
+}
+\f
+#ifndef WINDOWS32
+#ifdef VMS
+#include <descrip.h>
+#include <clidef.h>
+
+/* This is called as an AST when a child process dies (it won't get
+   interrupted by anything except a higher level AST).
+*/
+int vmsHandleChildTerm(struct child *child)
+{
+    int status;
+    register struct child *lastc, *c;
+    int child_failed;
+
+    vms_jobsefnmask &= ~(1 << (child->efn - 32));
+
+    lib$free_ef(&child->efn);
+
+    (void) sigblock (fatal_signal_mask);
+
+    child_failed = !(child->cstatus & 1 || ((child->cstatus & 7) == 0));
+
+    /* Search for a child matching the deceased one.  */
+    lastc = 0;
+#if defined(RECURSIVEJOBS) /* I've had problems with recursive stuff and process handling */
+    for (c = children; c != 0 && c != child; lastc = c, c = c->next);
+#else
+    c = child;
+#endif
+
+    if (child_failed && !c->noerror && !ignore_errors_flag)
+      {
+       /* The commands failed.  Write an error message,
+          delete non-precious targets, and abort.  */
+       child_error (c->file->name, c->cstatus, 0, 0, 0);
+       c->file->update_status = 1;
+       delete_child_targets (c);
+      }
+    else
+      {
+       if (child_failed)
+         {
+           /* The commands failed, but we don't care.  */
+           child_error (c->file->name, c->cstatus, 0, 0, 1);
+           child_failed = 0;
+         }
+
+#if defined(RECURSIVEJOBS) /* I've had problems with recursive stuff and process handling */
+       /* If there are more commands to run, try to start them.  */
+       start_job (c);
+
+       switch (c->file->command_state)
+         {
+         case cs_running:
+           /* Successfully started.  */
+           break;
+
+         case cs_finished:
+           if (c->file->update_status != 0) {
+               /* We failed to start the commands.  */
+               delete_child_targets (c);
+           }
+           break;
+
+         default:
+           error (NILF, _("internal error: `%s' command_state"),
+                   c->file->name);
+           abort ();
+           break;
+         }
+#endif /* RECURSIVEJOBS */
+      }
+
+    /* Set the state flag to say the commands have finished.  */
+    c->file->command_state = cs_finished;
+    notice_finished_file (c->file);
+
+#if defined(RECURSIVEJOBS) /* I've had problems with recursive stuff and process handling */
+    /* Remove the child from the chain and free it.  */
+    if (lastc == 0)
+      children = c->next;
+    else
+      lastc->next = c->next;
+    free_child (c);
+#endif /* RECURSIVEJOBS */
+
+    /* There is now another slot open.  */
+    if (job_slots_used > 0)
+      --job_slots_used;
+
+    /* If the job failed, and the -k flag was not given, die.  */
+    if (child_failed && !keep_going_flag)
+      die (EXIT_FAILURE);
+
+    (void) sigsetmask (sigblock (0) & ~(fatal_signal_mask));
+
+    return 1;
+}
+
+/* VMS:
+   Spawn a process executing the command in ARGV and return its pid. */
+
+#define MAXCMDLEN 200
+
+/* local helpers to make ctrl+c and ctrl+y working, see below */
+#include <iodef.h>
+#include <libclidef.h>
+#include <ssdef.h>
+
+static int ctrlMask= LIB$M_CLI_CTRLY;
+static int oldCtrlMask;
+static int setupYAstTried= 0;
+static int pidToAbort= 0;
+static int chan= 0;
+
+static void reEnableAst(void) {
+       lib$enable_ctrl (&oldCtrlMask,0);
+}
+
+static astHandler (void) {
+       if (pidToAbort) {
+               sys$forcex (&pidToAbort, 0, SS$_ABORT);
+               pidToAbort= 0;
+       }
+       kill (getpid(),SIGQUIT);
+}
+
+static void tryToSetupYAst(void) {
+       $DESCRIPTOR(inputDsc,"SYS$COMMAND");
+       int     status;
+       struct {
+               short int       status, count;
+               int     dvi;
+       } iosb;
+
+       setupYAstTried++;
+
+       if (!chan) {
+               status= sys$assign(&inputDsc,&chan,0,0);
+               if (!(status&SS$_NORMAL)) {
+                       lib$signal(status);
+                       return;
+               }
+       }
+       status= sys$qiow (0, chan, IO$_SETMODE|IO$M_CTRLYAST,&iosb,0,0,
+               astHandler,0,0,0,0,0);
+       if (status==SS$_ILLIOFUNC) {
+               sys$dassgn(chan);
+#ifdef CTRLY_ENABLED_ANYWAY
+               fprintf (stderr,
+                         _("-warning, CTRL-Y will leave sub-process(es) around.\n"));
+#else
+               return;
+#endif
+       }
+       if (status==SS$_NORMAL)
+               status= iosb.status;
+       if (!(status&SS$_NORMAL)) {
+               lib$signal(status);
+               return;
+       }
+
+       /* called from AST handler ? */
+       if (setupYAstTried>1)
+               return;
+       if (atexit(reEnableAst))
+               fprintf (stderr,
+                         _("-warning, you may have to re-enable CTRL-Y handling from DCL.\n"));
+       status= lib$disable_ctrl (&ctrlMask, &oldCtrlMask);
+       if (!(status&SS$_NORMAL)) {
+               lib$signal(status);
+               return;
+       }
+}
+int
+child_execute_job (argv, child)
+     char *argv;
+     struct child *child;
+{
+  int i;
+  static struct dsc$descriptor_s cmddsc;
+  static struct dsc$descriptor_s pnamedsc;
+  static struct dsc$descriptor_s ifiledsc;
+  static struct dsc$descriptor_s ofiledsc;
+  static struct dsc$descriptor_s efiledsc;
+  int have_redirection = 0;
+  int have_newline = 0;
+
+  int spflags = CLI$M_NOWAIT;
+  int status;
+  char *cmd = alloca (strlen (argv) + 512), *p, *q;
+  char ifile[256], ofile[256], efile[256];
+  char *comname = 0;
+  char procname[100];
+
+  /* Parse IO redirection.  */
+
+  ifile[0] = 0;
+  ofile[0] = 0;
+  efile[0] = 0;
+
+  DB (DB_JOBS, ("child_execute_job (%s)\n", argv));
+
+  while (isspace ((unsigned char)*argv))
+    argv++;
+
+  if (*argv == 0)
+    return 0;
+
+  sprintf (procname, "GMAKE_%05x", getpid () & 0xfffff);
+  pnamedsc.dsc$w_length = strlen(procname);
+  pnamedsc.dsc$a_pointer = procname;
+  pnamedsc.dsc$b_dtype = DSC$K_DTYPE_T;
+  pnamedsc.dsc$b_class = DSC$K_CLASS_S;
+
+  /* Handle comments and redirection. */
+  for (p = argv, q = cmd; *p; p++, q++)
+    {
+      switch (*p)
+       {
+         case '#':
+           *p-- = 0;
+           *q-- = 0;
+           break;
+         case '\\':
+           p++;
+           if (*p == '\n')
+             p++;
+           if (isspace ((unsigned char)*p))
+             {
+               do { p++; } while (isspace ((unsigned char)*p));
+               p--;
+             }
+           *q = *p;
+           break;
+         case '<':
+           p = vms_redirect (&ifiledsc, ifile, p);
+           *q = ' ';
+           have_redirection = 1;
+           break;
+         case '>':
+           have_redirection = 1;
+           if (*(p-1) == '2')
+             {
+               q--;
+               if (strncmp (p, ">&1", 3) == 0)
+                 {
+                   p += 3;
+                   strcpy (efile, "sys$output");
+                   efiledsc.dsc$w_length = strlen(efile);
+                   efiledsc.dsc$a_pointer = efile;
+                   efiledsc.dsc$b_dtype = DSC$K_DTYPE_T;
+                   efiledsc.dsc$b_class = DSC$K_CLASS_S;
+                 }
+               else
+                 {
+                   p = vms_redirect (&efiledsc, efile, p);
+                 }
+             }
+           else
+             {
+               p = vms_redirect (&ofiledsc, ofile, p);
+             }
+           *q = ' ';
+           break;
+         case '\n':
+           have_newline = 1;
+         default:
+           *q = *p;
+           break;
+       }
+    }
+  *q = *p;
+
+  if (strncmp (cmd, "builtin_", 8) == 0)
+    {
+      child->pid = 270163;
+      child->efn = 0;
+      child->cstatus = 1;
+
+      DB (DB_JOBS, (_("BUILTIN [%s][%s]\n"), cmd, cmd+8));
+
+      p = cmd + 8;
+
+      if ((*(p) == 'c')
+         && (*(p+1) == 'd')
+         && ((*(p+2) == ' ') || (*(p+2) == '\t')))
+       {
+         p += 3;
+         while ((*p == ' ') || (*p == '\t'))
+           p++;
+         DB (DB_JOBS, (_("BUILTIN CD %s\n"), p));
+         if (chdir (p))
+           return 0;
+         else
+           return 1;
+       }
+      else if ((*(p) == 'r')
+         && (*(p+1) == 'm')
+         && ((*(p+2) == ' ') || (*(p+2) == '\t')))
+       {
+         int in_arg;
+
+         /* rm  */
+         p += 3;
+         while ((*p == ' ') || (*p == '\t'))
+           p++;
+         in_arg = 1;
+
+         DB (DB_JOBS, (_("BUILTIN RM %s\n"), p));
+         while (*p)
+           {
+             switch (*p)
+               {
+                 case ' ':
+                 case '\t':
+                   if (in_arg)
+                     {
+                       *p++ = ';';
+                       in_arg = 0;
+                     }
+                   break;
+                 default:
+                   break;
+               }
+             p++;
+           }
+       }
+      else
+       {
+         printf(_("Unknown builtin command '%s'\n"), cmd);
+         fflush(stdout);
+         return 0;
+       }
+    }
+
+  /* Create a *.com file if either the command is too long for
+     lib$spawn, or the command contains a newline, or if redirection
+     is desired. Forcing commands with newlines into DCLs allows to
+     store search lists on user mode logicals.  */
+
+  if (strlen (cmd) > MAXCMDLEN
+      || (have_redirection != 0)
+      || (have_newline != 0))
+    {
+      FILE *outfile;
+      char c;
+      char *sep;
+      int alevel = 0;  /* apostrophe level */
+
+      if (strlen (cmd) == 0)
+       {
+         printf (_("Error, empty command\n"));
+         fflush (stdout);
+         return 0;
+       }
+
+      outfile = open_tmpfile (&comname, "sys$scratch:CMDXXXXXX.COM");
+      if (outfile == 0)
+       pfatal_with_name (_("fopen (temporary file)"));
+
+      if (ifile[0])
+       {
+         fprintf (outfile, "$ assign/user %s sys$input\n", ifile);
+          DB (DB_JOBS, (_("Redirected input from %s\n"), ifile));
+         ifiledsc.dsc$w_length = 0;
+       }
+
+      if (efile[0])
+       {
+         fprintf (outfile, "$ define sys$error %s\n", efile);
+          DB (DB_JOBS, (_("Redirected error to %s\n"), efile));
+         efiledsc.dsc$w_length = 0;
+       }
+
+      if (ofile[0])
+       {
+         fprintf (outfile, "$ define sys$output %s\n", ofile);
+         DB (DB_JOBS, (_("Redirected output to %s\n"), ofile));
+         ofiledsc.dsc$w_length = 0;
+       }
+
+      p = sep = q = cmd;
+      for (c = '\n'; c; c = *q++)
+       {
+         switch (c)
+           {
+            case '\n':
+              /* At a newline, skip any whitespace around a leading $
+                 from the command and issue exactly one $ into the DCL. */
+              while (isspace ((unsigned char)*p))
+                p++;
+              if (*p == '$')
+                p++;
+              while (isspace ((unsigned char)*p))
+                p++;
+              fwrite (p, 1, q - p, outfile);
+              fputc ('$', outfile);
+              fputc (' ', outfile);
+              /* Reset variables. */
+              p = sep = q;
+              break;
+
+             /* Nice places for line breaks are after strings, after
+                comma or space and before slash. */
+            case '"':
+              q = handle_apos (q + 1);
+              sep = q;
+              break;
+            case ',':
+            case ' ':
+              sep = q;
+              break;
+            case '/':
+            case '\0':
+              sep = q - 1;
+              break;
+            default:
+              break;
+           }
+         if (sep - p > 78)
+           {
+             /* Enough stuff for a line. */
+             fwrite (p, 1, sep - p, outfile);
+             p = sep;
+             if (*sep)
+               {
+                 /* The command continues.  */
+                 fputc ('-', outfile);
+               }
+             fputc ('\n', outfile);
+           }
+       }
+
+      fwrite (p, 1, q - p, outfile);
+      fputc ('\n', outfile);
+
+      fclose (outfile);
+
+      sprintf (cmd, "$ @%s", comname);
+
+      DB (DB_JOBS, (_("Executing %s instead\n"), cmd));
+    }
+
+  cmddsc.dsc$w_length = strlen(cmd);
+  cmddsc.dsc$a_pointer = cmd;
+  cmddsc.dsc$b_dtype = DSC$K_DTYPE_T;
+  cmddsc.dsc$b_class = DSC$K_CLASS_S;
+
+  child->efn = 0;
+  while (child->efn < 32 || child->efn > 63)
+    {
+      status = lib$get_ef ((unsigned long *)&child->efn);
+      if (!(status & 1))
+       return 0;
+    }
+
+  sys$clref (child->efn);
+
+  vms_jobsefnmask |= (1 << (child->efn - 32));
+
+/*
+             LIB$SPAWN  [command-string]
+                       [,input-file]
+                       [,output-file]
+                       [,flags]
+                       [,process-name]
+                       [,process-id] [,completion-status-address] [,byte-integer-event-flag-num]
+                       [,AST-address] [,varying-AST-argument]
+                       [,prompt-string] [,cli] [,table]
+*/
+
+#ifndef DONTWAITFORCHILD
+/*
+ *     Code to make ctrl+c and ctrl+y working.
+ *     The problem starts with the synchronous case where after lib$spawn is
+ *     called any input will go to the child. But with input re-directed,
+ *     both control characters won't make it to any of the programs, neither
+ *     the spawning nor to the spawned one. Hence the caller needs to spawn
+ *     with CLI$M_NOWAIT to NOT give up the input focus. A sys$waitfr
+ *     has to follow to simulate the wanted synchronous behaviour.
+ *     The next problem is ctrl+y which isn't caught by the crtl and
+ *     therefore isn't converted to SIGQUIT (for a signal handler which is
+ *     already established). The only way to catch ctrl+y, is an AST
+ *     assigned to the input channel. But ctrl+y handling of DCL needs to be
+ *     disabled, otherwise it will handle it. Not to mention the previous
+ *     ctrl+y handling of DCL needs to be re-established before make exits.
+ *     One more: At the time of LIB$SPAWN signals are blocked. SIGQUIT will
+ *     make it to the signal handler after the child "normally" terminates.
+ *     This isn't enough. It seems reasonable for simple command lines like
+ *     a 'cc foobar.c' spawned in a subprocess but it is unacceptable for
+ *     spawning make. Therefore we need to abort the process in the AST.
+ *
+ *     Prior to the spawn it is checked if an AST is already set up for
+ *     ctrl+y, if not one is set up for a channel to SYS$COMMAND. In general
+ *     this will work except if make is run in a batch environment, but there
+ *     nobody can press ctrl+y. During the setup the DCL handling of ctrl+y
+ *     is disabled and an exit handler is established to re-enable it.
+ *     If the user interrupts with ctrl+y, the assigned AST will fire, force
+ *     an abort to the subprocess and signal SIGQUIT, which will be caught by
+ *     the already established handler and will bring us back to common code.
+ *     After the spawn (now /nowait) a sys$waitfr simulates the /wait and
+ *     enables the ctrl+y be delivered to this code. And the ctrl+c too,
+ *     which the crtl converts to SIGINT and which is caught by the common
+ *     signal handler. Because signals were blocked before entering this code
+ *     sys$waitfr will always complete and the SIGQUIT will be processed after
+ *     it (after termination of the current block, somewhere in common code).
+ *     And SIGINT too will be delayed. That is ctrl+c can only abort when the
+ *     current command completes. Anyway it's better than nothing :-)
+ */
+
+  if (!setupYAstTried)
+    tryToSetupYAst();
+  status = lib$spawn (&cmddsc,                                 /* cmd-string  */
+                     (ifiledsc.dsc$w_length == 0)?0:&ifiledsc, /* input-file  */
+                     (ofiledsc.dsc$w_length == 0)?0:&ofiledsc, /* output-file */
+                     &spflags,                                 /* flags  */
+                     &pnamedsc,                                /* proc name  */
+                     &child->pid, &child->cstatus, &child->efn,
+                     0, 0,
+                     0, 0, 0);
+  pidToAbort= child->pid;
+  status= sys$waitfr (child->efn);
+  pidToAbort= 0;
+  vmsHandleChildTerm(child);
+#else
+  status = lib$spawn (&cmddsc,
+                     (ifiledsc.dsc$w_length == 0)?0:&ifiledsc,
+                     (ofiledsc.dsc$w_length == 0)?0:&ofiledsc,
+                     &spflags,
+                     &pnamedsc,
+                     &child->pid, &child->cstatus, &child->efn,
+                     vmsHandleChildTerm, child,
+                     0, 0, 0);
+#endif
+
+  if (!(status & 1))
+    {
+      printf (_("Error spawning, %d\n") ,status);
+      fflush (stdout);
+    }
+
+  if (comname && !ISDB (DB_JOBS))
+    unlink (comname);
+
+  return (status & 1);
+}
+
+#else /* !VMS */
+
+#if !defined (_AMIGA) && !defined (__MSDOS__)
+/* UNIX:
+   Replace the current process with one executing the command in ARGV.
+   STDIN_FD and STDOUT_FD are used as the process's stdin and stdout; ENVP is
+   the environment of the new program.  This function does not return.  */
+
+void
+child_execute_job (stdin_fd, stdout_fd, argv, envp)
+     int stdin_fd, stdout_fd;
+     char **argv, **envp;
+{
+  if (stdin_fd != 0)
+    (void) dup2 (stdin_fd, 0);
+  if (stdout_fd != 1)
+    (void) dup2 (stdout_fd, 1);
+  if (stdin_fd != 0)
+    (void) close (stdin_fd);
+  if (stdout_fd != 1)
+    (void) close (stdout_fd);
+
+  /* Run the command.  */
+  exec_command (argv, envp);
+}
+#endif /* !AMIGA && !__MSDOS__ */
+#endif /* !VMS */
+#endif /* !WINDOWS32 */
+\f
+#ifndef _AMIGA
+/* Replace the current process with one running the command in ARGV,
+   with environment ENVP.  This function does not return.  */
+
+void
+exec_command (argv, envp)
+     char **argv, **envp;
+{
+#ifdef VMS
+  /* to work around a problem with signals and execve: ignore them */
+#ifdef SIGCHLD
+  signal (SIGCHLD,SIG_IGN);
+#endif
+  /* Run the program.  */
+  execve (argv[0], argv, envp);
+  perror_with_name ("execve: ", argv[0]);
+  _exit (EXIT_FAILURE);
+#else
+#ifdef WINDOWS32
+  HANDLE hPID;
+  HANDLE hWaitPID;
+  int err = 0;
+  int exit_code = EXIT_FAILURE;
+
+  /* make sure CreateProcess() has Path it needs */
+  sync_Path_environment();
+
+  /* launch command */
+  hPID = process_easy(argv, envp);
+
+  /* make sure launch ok */
+  if (hPID == INVALID_HANDLE_VALUE)
+    {
+      int i;
+      fprintf(stderr,
+              _("process_easy() failed failed to launch process (e=%d)\n"),
+              process_last_err(hPID));
+      for (i = 0; argv[i]; i++)
+          fprintf(stderr, "%s ", argv[i]);
+      fprintf(stderr, _("\nCounted %d args in failed launch\n"), i);
+      exit(EXIT_FAILURE);
+    }
+
+  /* wait and reap last child */
+  while (hWaitPID = process_wait_for_any())
+    {
+      /* was an error found on this process? */
+      err = process_last_err(hWaitPID);
+
+      /* get exit data */
+      exit_code = process_exit_code(hWaitPID);
+
+      if (err)
+          fprintf(stderr, "make (e=%d, rc=%d): %s",
+                  err, exit_code, map_windows32_error_to_string(err));
+
+      /* cleanup process */
+      process_cleanup(hWaitPID);
+
+      /* expect to find only last pid, warn about other pids reaped */
+      if (hWaitPID == hPID)
+          break;
+      else
+          fprintf(stderr,
+                  _("make reaped child pid %d, still waiting for pid %d\n"),
+                  hWaitPID, hPID);
+    }
+
+  /* return child's exit code as our exit code */
+  exit(exit_code);
+
+#else  /* !WINDOWS32 */
+
+  /* Be the user, permanently.  */
+  child_access ();
+
+  /* Run the program.  */
+  environ = envp;
+  execvp (argv[0], argv);
+
+  switch (errno)
+    {
+    case ENOENT:
+      error (NILF, _("%s: Command not found"), argv[0]);
+      break;
+    case ENOEXEC:
+      {
+       /* The file is not executable.  Try it as a shell script.  */
+       extern char *getenv ();
+       char *shell;
+       char **new_argv;
+       int argc;
+
+       shell = getenv ("SHELL");
+       if (shell == 0)
+         shell = default_shell;
+
+       argc = 1;
+       while (argv[argc] != 0)
+         ++argc;
+
+       new_argv = (char **) alloca ((1 + argc + 1) * sizeof (char *));
+       new_argv[0] = shell;
+       new_argv[1] = argv[0];
+       while (argc > 0)
+         {
+           new_argv[1 + argc] = argv[argc];
+           --argc;
+         }
+
+       execvp (shell, new_argv);
+       if (errno == ENOENT)
+         error (NILF, _("%s: Shell program not found"), shell);
+       else
+         perror_with_name ("execvp: ", shell);
+       break;
+      }
+
+    default:
+      perror_with_name ("execvp: ", argv[0]);
+      break;
+    }
+
+  _exit (127);
+#endif /* !WINDOWS32 */
+#endif /* !VMS */
+}
+#else /* On Amiga */
+void exec_command (argv)
+     char **argv;
+{
+  MyExecute (argv);
+}
+
+void clean_tmp (void)
+{
+  DeleteFile (amiga_bname);
+}
+
+#endif /* On Amiga */
+\f
+#ifndef VMS
+/* Figure out the argument list necessary to run LINE as a command.  Try to
+   avoid using a shell.  This routine handles only ' quoting, and " quoting
+   when no backslash, $ or ` characters are seen in the quotes.  Starting
+   quotes may be escaped with a backslash.  If any of the characters in
+   sh_chars[] is seen, or any of the builtin commands listed in sh_cmds[]
+   is the first word of a line, the shell is used.
+
+   If RESTP is not NULL, *RESTP is set to point to the first newline in LINE.
+   If *RESTP is NULL, newlines will be ignored.
+
+   SHELL is the shell to use, or nil to use the default shell.
+   IFS is the value of $IFS, or nil (meaning the default).  */
+
+static char **
+construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr)
+     char *line, **restp;
+     char *shell, *ifs;
+     char **batch_filename_ptr;
+{
+#ifdef __MSDOS__
+  /* MSDOS supports both the stock DOS shell and ports of Unixy shells.
+     We call `system' for anything that requires ``slow'' processing,
+     because DOS shells are too dumb.  When $SHELL points to a real
+     (unix-style) shell, `system' just calls it to do everything.  When
+     $SHELL points to a DOS shell, `system' does most of the work
+     internally, calling the shell only for its internal commands.
+     However, it looks on the $PATH first, so you can e.g. have an
+     external command named `mkdir'.
+
+     Since we call `system', certain characters and commands below are
+     actually not specific to COMMAND.COM, but to the DJGPP implementation
+     of `system'.  In particular:
+
+       The shell wildcard characters are in DOS_CHARS because they will
+       not be expanded if we call the child via `spawnXX'.
+
+       The `;' is in DOS_CHARS, because our `system' knows how to run
+       multiple commands on a single line.
+
+       DOS_CHARS also include characters special to 4DOS/NDOS, so we
+       won't have to tell one from another and have one more set of
+       commands and special characters.  */
+  static char sh_chars_dos[] = "*?[];|<>%^&()";
+  static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
+                                "copy", "ctty", "date", "del", "dir", "echo",
+                                "erase", "exit", "for", "goto", "if", "md",
+                                "mkdir", "path", "pause", "prompt", "rd",
+                                "rmdir", "rem", "ren", "rename", "set",
+                                "shift", "time", "type", "ver", "verify",
+                                "vol", ":", 0 };
+
+  static char sh_chars_sh[]  = "#;\"*?[]&|<>(){}$`^";
+  static char *sh_cmds_sh[]  = { "cd", "echo", "eval", "exec", "exit", "login",
+                                "logout", "set", "umask", "wait", "while",
+                                "for", "case", "if", ":", ".", "break",
+                                "continue", "export", "read", "readonly",
+                                "shift", "times", "trap", "switch", "unset",
+                                 0 };
+
+  char *sh_chars;
+  char **sh_cmds;
+#else
+#ifdef _AMIGA
+  static char sh_chars[] = "#;\"|<>()?*$`";
+  static char *sh_cmds[] = { "cd", "eval", "if", "delete", "echo", "copy",
+                            "rename", "set", "setenv", "date", "makedir",
+                            "skip", "else", "endif", "path", "prompt",
+                            "unset", "unsetenv", "version",
+                            0 };
+#else
+#ifdef WINDOWS32
+  static char sh_chars_dos[] = "\"|&<>";
+  static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
+                            "copy", "ctty", "date", "del", "dir", "echo",
+                            "erase", "exit", "for", "goto", "if", "if", "md",
+                            "mkdir", "path", "pause", "prompt", "rd", "rem",
+                             "ren", "rename", "rmdir", "set", "shift", "time",
+                             "type", "ver", "verify", "vol", ":", 0 };
+  static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
+  static char *sh_cmds_sh[] = { "cd", "eval", "exec", "exit", "login",
+                            "logout", "set", "umask", "wait", "while", "for",
+                            "case", "if", ":", ".", "break", "continue",
+                            "export", "read", "readonly", "shift", "times",
+                            "trap", "switch", "test",
+#ifdef BATCH_MODE_ONLY_SHELL
+                 "echo",
+#endif
+                 0 };
+  char*  sh_chars;
+  char** sh_cmds;
+#else  /* must be UNIX-ish */
+  static char sh_chars[] = "#;\"*?[]&|<>(){}$`^~";
+  static char *sh_cmds[] = { "cd", "eval", "exec", "exit", "login",
+                            "logout", "set", "umask", "wait", "while", "for",
+                            "case", "if", ":", ".", "break", "continue",
+                            "export", "read", "readonly", "shift", "times",
+                            "trap", "switch", 0 };
+#endif /* WINDOWS32 */
+#endif /* Amiga */
+#endif /* __MSDOS__ */
+  register int i;
+  register char *p;
+  register char *ap;
+  char *end;
+  int instring, word_has_equals, seen_nonequals, last_argument_was_empty;
+  char **new_argv = 0;
+#ifdef WINDOWS32
+  int slow_flag = 0;
+
+  if (no_default_sh_exe) {
+    sh_cmds = sh_cmds_dos;
+    sh_chars = sh_chars_dos;
+  } else {
+    sh_cmds = sh_cmds_sh;
+    sh_chars = sh_chars_sh;
+  }
+#endif /* WINDOWS32 */
+
+  if (restp != NULL)
+    *restp = NULL;
+
+  /* Make sure not to bother processing an empty line.  */
+  while (isblank ((unsigned char)*line))
+    ++line;
+  if (*line == '\0')
+    return 0;
+
+  /* See if it is safe to parse commands internally.  */
+  if (shell == 0)
+    shell = default_shell;
+#ifdef WINDOWS32
+  else if (strcmp (shell, default_shell))
+  {
+    char *s1 = _fullpath(NULL, shell, 0);
+    char *s2 = _fullpath(NULL, default_shell, 0);
+
+    slow_flag = strcmp((s1 ? s1 : ""), (s2 ? s2 : ""));
+
+    if (s1)
+      free (s1);
+    if (s2)
+      free (s2);
+  }
+  if (slow_flag)
+    goto slow;
+#else  /* not WINDOWS32 */
+#ifdef __MSDOS__
+  else if (stricmp (shell, default_shell))
+    {
+      extern int _is_unixy_shell (const char *_path);
+
+      message (1, _("$SHELL changed (was `%s', now `%s')"), default_shell, shell);
+      unixy_shell = _is_unixy_shell (shell);
+      default_shell = shell;
+    }
+  if (unixy_shell)
+    {
+      sh_chars = sh_chars_sh;
+      sh_cmds  = sh_cmds_sh;
+    }
+  else
+    {
+      sh_chars = sh_chars_dos;
+      sh_cmds  = sh_cmds_dos;
+    }
+#else  /* not __MSDOS__ */
+  else if (strcmp (shell, default_shell))
+    goto slow;
+#endif /* not __MSDOS__ */
+#endif /* not WINDOWS32 */
+
+  if (ifs != 0)
+    for (ap = ifs; *ap != '\0'; ++ap)
+      if (*ap != ' ' && *ap != '\t' && *ap != '\n')
+       goto slow;
+
+  i = strlen (line) + 1;
+
+  /* More than 1 arg per character is impossible.  */
+  new_argv = (char **) xmalloc (i * sizeof (char *));
+
+  /* All the args can fit in a buffer as big as LINE is.   */
+  ap = new_argv[0] = (char *) xmalloc (i);
+  end = ap + i;
+
+  /* I is how many complete arguments have been found.  */
+  i = 0;
+  instring = word_has_equals = seen_nonequals = last_argument_was_empty = 0;
+  for (p = line; *p != '\0'; ++p)
+    {
+      if (ap > end)
+       abort ();
+
+      if (instring)
+       {
+       string_char:
+         /* Inside a string, just copy any char except a closing quote
+            or a backslash-newline combination.  */
+         if (*p == instring)
+           {
+             instring = 0;
+             if (ap == new_argv[0] || *(ap-1) == '\0')
+               last_argument_was_empty = 1;
+           }
+         else if (*p == '\\' && p[1] == '\n')
+           goto swallow_escaped_newline;
+         else if (*p == '\n' && restp != NULL)
+           {
+             /* End of the command line.  */
+             *restp = p;
+             goto end_of_line;
+           }
+         /* Backslash, $, and ` are special inside double quotes.
+            If we see any of those, punt.
+            But on MSDOS, if we use COMMAND.COM, double and single
+            quotes have the same effect.  */
+         else if (instring == '"' && strchr ("\\$`", *p) != 0 && unixy_shell)
+           goto slow;
+         else
+           *ap++ = *p;
+       }
+      else if (strchr (sh_chars, *p) != 0)
+       /* Not inside a string, but it's a special char.  */
+       goto slow;
+#ifdef  __MSDOS__
+      else if (*p == '.' && p[1] == '.' && p[2] == '.' && p[3] != '.')
+       /* `...' is a wildcard in DJGPP.  */
+       goto slow;
+#endif
+      else
+       /* Not a special char.  */
+       switch (*p)
+         {
+         case '=':
+           /* Equals is a special character in leading words before the
+              first word with no equals sign in it.  This is not the case
+              with sh -k, but we never get here when using nonstandard
+              shell flags.  */
+           if (! seen_nonequals && unixy_shell)
+             goto slow;
+           word_has_equals = 1;
+           *ap++ = '=';
+           break;
+
+         case '\\':
+           /* Backslash-newline combinations are eaten.  */
+           if (p[1] == '\n')
+             {
+             swallow_escaped_newline:
+
+               /* Eat the backslash, the newline, and following whitespace,
+                  replacing it all with a single space.  */
+               p += 2;
+
+               /* If there is a tab after a backslash-newline,
+                  remove it from the source line which will be echoed,
+                  since it was most likely used to line
+                  up the continued line with the previous one.  */
+               if (*p == '\t')
+                  /* Note these overlap and strcpy() is undefined for
+                     overlapping objects in ANSI C.  The strlen() _IS_ right,
+                     since we need to copy the nul byte too.  */
+                 bcopy (p + 1, p, strlen (p));
+
+               if (instring)
+                 goto string_char;
+               else
+                 {
+                   if (ap != new_argv[i])
+                     /* Treat this as a space, ending the arg.
+                        But if it's at the beginning of the arg, it should
+                        just get eaten, rather than becoming an empty arg. */
+                     goto end_of_arg;
+                   else
+                     p = next_token (p) - 1;
+                 }
+             }
+           else if (p[1] != '\0')
+              {
+#ifdef HAVE_DOS_PATHS
+                /* Only remove backslashes before characters special
+                   to Unixy shells.  All other backslashes are copied
+                   verbatim, since they are probably DOS-style
+                   directory separators.  This still leaves a small
+                   window for problems, but at least it should work
+                   for the vast majority of naive users.  */
+
+#ifdef __MSDOS__
+                /* A dot is only special as part of the "..."
+                   wildcard.  */
+                if (strneq (p + 1, ".\\.\\.", 5))
+                  {
+                    *ap++ = '.';
+                    *ap++ = '.';
+                    p += 4;
+                  }
+                else
+#endif
+                  if (p[1] != '\\' && p[1] != '\''
+                      && !isspace ((unsigned char)p[1])
+                      && (strchr (sh_chars_sh, p[1]) == 0))
+                    /* back up one notch, to copy the backslash */
+                    --p;
+#endif  /* HAVE_DOS_PATHS */
+
+                /* Copy and skip the following char.  */
+                *ap++ = *++p;
+              }
+           break;
+
+         case '\'':
+         case '"':
+           instring = *p;
+           break;
+
+         case '\n':
+           if (restp != NULL)
+             {
+               /* End of the command line.  */
+               *restp = p;
+               goto end_of_line;
+             }
+           else
+             /* Newlines are not special.  */
+             *ap++ = '\n';
+           break;
+
+         case ' ':
+         case '\t':
+         end_of_arg:
+           /* We have the end of an argument.
+              Terminate the text of the argument.  */
+           *ap++ = '\0';
+           new_argv[++i] = ap;
+           last_argument_was_empty = 0;
+
+           /* Update SEEN_NONEQUALS, which tells us if every word
+              heretofore has contained an `='.  */
+           seen_nonequals |= ! word_has_equals;
+           if (word_has_equals && ! seen_nonequals)
+             /* An `=' in a word before the first
+                word without one is magical.  */
+             goto slow;
+           word_has_equals = 0; /* Prepare for the next word.  */
+
+           /* If this argument is the command name,
+              see if it is a built-in shell command.
+              If so, have the shell handle it.  */
+           if (i == 1)
+             {
+               register int j;
+               for (j = 0; sh_cmds[j] != 0; ++j)
+                 if (streq (sh_cmds[j], new_argv[0]))
+                   goto slow;
+             }
+
+           /* Ignore multiple whitespace chars.  */
+           p = next_token (p);
+           /* Next iteration should examine the first nonwhite char.  */
+           --p;
+           break;
+
+         default:
+           *ap++ = *p;
+           break;
+         }
+    }
+ end_of_line:
+
+  if (instring)
+    /* Let the shell deal with an unterminated quote.  */
+    goto slow;
+
+  /* Terminate the last argument and the argument list.  */
+
+  *ap = '\0';
+  if (new_argv[i][0] != '\0' || last_argument_was_empty)
+    ++i;
+  new_argv[i] = 0;
+
+  if (i == 1)
+    {
+      register int j;
+      for (j = 0; sh_cmds[j] != 0; ++j)
+       if (streq (sh_cmds[j], new_argv[0]))
+         goto slow;
+    }
+
+  if (new_argv[0] == 0)
+    /* Line was empty.  */
+    return 0;
+  else
+    return new_argv;
+
+ slow:;
+  /* We must use the shell.  */
+
+  if (new_argv != 0)
+    {
+      /* Free the old argument list we were working on.  */
+      free (new_argv[0]);
+      free ((void *)new_argv);
+    }
+
+#ifdef __MSDOS__
+  execute_by_shell = 1;        /* actually, call `system' if shell isn't unixy */
+#endif
+
+#ifdef _AMIGA
+  {
+    char *ptr;
+    char *buffer;
+    char *dptr;
+
+    buffer = (char *)xmalloc (strlen (line)+1);
+
+    ptr = line;
+    for (dptr=buffer; *ptr; )
+    {
+      if (*ptr == '\\' && ptr[1] == '\n')
+       ptr += 2;
+      else if (*ptr == '@') /* Kludge: multiline commands */
+      {
+       ptr += 2;
+       *dptr++ = '\n';
+      }
+      else
+       *dptr++ = *ptr++;
+    }
+    *dptr = 0;
+
+    new_argv = (char **) xmalloc (2 * sizeof (char *));
+    new_argv[0] = buffer;
+    new_argv[1] = 0;
+  }
+#else  /* Not Amiga  */
+#ifdef WINDOWS32
+  /*
+   * Not eating this whitespace caused things like
+   *
+   *    sh -c "\n"
+   *
+   * which gave the shell fits. I think we have to eat
+   * whitespace here, but this code should be considered
+   * suspicious if things start failing....
+   */
+
+  /* Make sure not to bother processing an empty line.  */
+  while (isspace ((unsigned char)*line))
+    ++line;
+  if (*line == '\0')
+    return 0;
+#endif /* WINDOWS32 */
+  {
+    /* SHELL may be a multi-word command.  Construct a command line
+       "SHELL -c LINE", with all special chars in LINE escaped.
+       Then recurse, expanding this command line to get the final
+       argument list.  */
+
+    unsigned int shell_len = strlen (shell);
+#ifndef VMS
+    static char minus_c[] = " -c ";
+#else
+    static char minus_c[] = "";
+#endif
+    unsigned int line_len = strlen (line);
+
+    char *new_line = (char *) alloca (shell_len + (sizeof (minus_c) - 1)
+                                     + (line_len * 2) + 1);
+    char *command_ptr = NULL; /* used for batch_mode_shell mode */
+
+    ap = new_line;
+    bcopy (shell, ap, shell_len);
+    ap += shell_len;
+    bcopy (minus_c, ap, sizeof (minus_c) - 1);
+    ap += sizeof (minus_c) - 1;
+    command_ptr = ap;
+    for (p = line; *p != '\0'; ++p)
+      {
+       if (restp != NULL && *p == '\n')
+         {
+           *restp = p;
+           break;
+         }
+       else if (*p == '\\' && p[1] == '\n')
+         {
+           /* Eat the backslash, the newline, and following whitespace,
+              replacing it all with a single space (which is escaped
+              from the shell).  */
+           p += 2;
+
+           /* If there is a tab after a backslash-newline,
+              remove it from the source line which will be echoed,
+              since it was most likely used to line
+              up the continued line with the previous one.  */
+           if (*p == '\t')
+             bcopy (p + 1, p, strlen (p));
+
+           p = next_token (p);
+           --p;
+            if (unixy_shell && !batch_mode_shell)
+              *ap++ = '\\';
+           *ap++ = ' ';
+           continue;
+         }
+
+        /* DOS shells don't know about backslash-escaping.  */
+       if (unixy_shell && !batch_mode_shell &&
+            (*p == '\\' || *p == '\'' || *p == '"'
+             || isspace ((unsigned char)*p)
+             || strchr (sh_chars, *p) != 0))
+         *ap++ = '\\';
+#ifdef __MSDOS__
+        else if (unixy_shell && strneq (p, "...", 3))
+          {
+            /* The case of `...' wildcard again.  */
+            strcpy (ap, "\\.\\.\\");
+            ap += 5;
+            p  += 2;
+          }
+#endif
+       *ap++ = *p;
+      }
+    if (ap == new_line + shell_len + sizeof (minus_c) - 1)
+      /* Line was empty.  */
+      return 0;
+    *ap = '\0';
+
+#ifdef WINDOWS32
+    /* Some shells do not work well when invoked as 'sh -c xxx' to run a
+       command line (e.g. Cygnus GNUWIN32 sh.exe on WIN32 systems).  In these
+       cases, run commands via a script file.  */
+    if ((no_default_sh_exe || batch_mode_shell) && batch_filename_ptr) {
+      FILE* batch = NULL;
+      int id = GetCurrentProcessId();
+      PATH_VAR(fbuf);
+      char* fname = NULL;
+
+      /* create a file name */
+      sprintf(fbuf, "make%d", id);
+      fname = tempnam(".", fbuf);
+
+         /* create batch file name */
+      *batch_filename_ptr = xmalloc(strlen(fname) + 5);
+      strcpy(*batch_filename_ptr, fname);
+
+      /* make sure path name is in DOS backslash format */
+      if (!unixy_shell) {
+        fname = *batch_filename_ptr;
+        for (i = 0; fname[i] != '\0'; ++i)
+          if (fname[i] == '/')
+            fname[i] = '\\';
+        strcat(*batch_filename_ptr, ".bat");
+      } else {
+        strcat(*batch_filename_ptr, ".sh");
+      }
+
+      DB (DB_JOBS, (_("Creating temporary batch file %s\n"),
+                    *batch_filename_ptr));
+
+      /* create batch file to execute command */
+      batch = fopen (*batch_filename_ptr, "w");
+      if (!unixy_shell)
+        fputs ("@echo off\n", batch);
+      fputs (command_ptr, batch);
+      fputc ('\n', batch);
+      fclose (batch);
+
+      /* create argv */
+      new_argv = (char **) xmalloc(3 * sizeof (char *));
+      if (unixy_shell) {
+        new_argv[0] = xstrdup (shell);
+        new_argv[1] = *batch_filename_ptr; /* only argv[0] gets freed later */
+      } else {
+        new_argv[0] = xstrdup (*batch_filename_ptr);
+        new_argv[1] = NULL;
+      }
+      new_argv[2] = NULL;
+    } else
+#endif /* WINDOWS32 */
+    if (unixy_shell)
+      new_argv = construct_command_argv_internal (new_line, (char **) NULL,
+                                                  (char *) 0, (char *) 0,
+                                                  (char **) 0);
+#ifdef  __MSDOS__
+    else
+      {
+      /* With MSDOS shells, we must construct the command line here
+         instead of recursively calling ourselves, because we
+         cannot backslash-escape the special characters (see above).  */
+      new_argv = (char **) xmalloc (sizeof (char *));
+      line_len = strlen (new_line) - shell_len - sizeof (minus_c) + 1;
+      new_argv[0] = xmalloc (line_len + 1);
+      strncpy (new_argv[0],
+               new_line + shell_len + sizeof (minus_c) - 1, line_len);
+      new_argv[0][line_len] = '\0';
+      }
+#else
+    else
+      fatal (NILF, _("%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"),
+            __FILE__, __LINE__);
+#endif
+  }
+#endif /* ! AMIGA */
+
+  return new_argv;
+}
+#endif /* !VMS */
+
+/* Figure out the argument list necessary to run LINE as a command.  Try to
+   avoid using a shell.  This routine handles only ' quoting, and " quoting
+   when no backslash, $ or ` characters are seen in the quotes.  Starting
+   quotes may be escaped with a backslash.  If any of the characters in
+   sh_chars[] is seen, or any of the builtin commands listed in sh_cmds[]
+   is the first word of a line, the shell is used.
+
+   If RESTP is not NULL, *RESTP is set to point to the first newline in LINE.
+   If *RESTP is NULL, newlines will be ignored.
+
+   FILE is the target whose commands these are.  It is used for
+   variable expansion for $(SHELL) and $(IFS).  */
+
+char **
+construct_command_argv (line, restp, file, batch_filename_ptr)
+     char *line, **restp;
+     struct file *file;
+     char** batch_filename_ptr;
+{
+  char *shell, *ifs;
+  char **argv;
+
+#ifdef VMS
+  char *cptr;
+  int argc;
+
+  argc = 0;
+  cptr = line;
+  for (;;)
+    {
+      while ((*cptr != 0)
+            && (isspace ((unsigned char)*cptr)))
+       cptr++;
+      if (*cptr == 0)
+       break;
+      while ((*cptr != 0)
+            && (!isspace((unsigned char)*cptr)))
+       cptr++;
+      argc++;
+    }
+
+  argv = (char **)malloc (argc * sizeof (char *));
+  if (argv == 0)
+    abort ();
+
+  cptr = line;
+  argc = 0;
+  for (;;)
+    {
+      while ((*cptr != 0)
+            && (isspace ((unsigned char)*cptr)))
+       cptr++;
+      if (*cptr == 0)
+       break;
+      DB (DB_JOBS, ("argv[%d] = [%s]\n", argc, cptr));
+      argv[argc++] = cptr;
+      while ((*cptr != 0)
+            && (!isspace((unsigned char)*cptr)))
+       cptr++;
+      if (*cptr != 0)
+       *cptr++ = 0;
+    }
+#else
+  {
+    /* Turn off --warn-undefined-variables while we expand SHELL and IFS.  */
+    int save = warn_undefined_variables_flag;
+    warn_undefined_variables_flag = 0;
+
+    shell = allocated_variable_expand_for_file ("$(SHELL)", file);
+#ifdef WINDOWS32
+    /*
+     * Convert to forward slashes so that construct_command_argv_internal()
+     * is not confused.
+     */
+    if (shell) {
+      char *p = w32ify(shell, 0);
+      strcpy(shell, p);
+    }
+#endif
+    ifs = allocated_variable_expand_for_file ("$(IFS)", file);
+
+    warn_undefined_variables_flag = save;
+  }
+
+  argv = construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr);
+
+  free (shell);
+  free (ifs);
+#endif /* !VMS */
+  return argv;
+}
+\f
+#if !defined(HAVE_DUP2) && !defined(_AMIGA)
+int
+dup2 (old, new)
+     int old, new;
+{
+  int fd;
+
+  (void) close (new);
+  fd = dup (old);
+  if (fd != new)
+    {
+      (void) close (fd);
+      errno = EMFILE;
+      return -1;
+    }
+
+  return fd;
+}
+#endif /* !HAPE_DUP2 && !_AMIGA */
diff --git a/src/mkutil/make-3.80/job.h b/src/mkutil/make-3.80/job.h
new file mode 100644 (file)
index 0000000..00e9599
--- /dev/null
@@ -0,0 +1,83 @@
+/* Definitions for managing subprocesses in GNU Make.
+Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#ifndef SEEN_JOB_H
+#define SEEN_JOB_H
+
+/* Structure describing a running or dead child process.  */
+
+struct child
+  {
+    struct child *next;                /* Link in the chain.  */
+
+    struct file *file;         /* File being remade.  */
+
+    char **environment;                /* Environment for commands.  */
+
+    char **command_lines;      /* Array of variable-expanded cmd lines.  */
+    unsigned int command_line; /* Index into above.  */
+    char *command_ptr;         /* Ptr into command_lines[command_line].  */
+
+    pid_t pid;                 /* Child process's ID number.  */
+#ifdef VMS
+    int efn;                   /* Completion event flag number */
+    int cstatus;               /* Completion status */
+#endif
+    char *sh_batch_file;        /* Script file for shell commands */
+    unsigned int remote:1;     /* Nonzero if executing remotely.  */
+
+    unsigned int noerror:1;    /* Nonzero if commands contained a `-'.  */
+
+    unsigned int good_stdin:1; /* Nonzero if this child has a good stdin.  */
+    unsigned int deleted:1;    /* Nonzero if targets have been deleted.  */
+  };
+
+extern struct child *children;
+
+extern void new_job PARAMS ((struct file *file));
+extern void reap_children PARAMS ((int block, int err));
+extern void start_waiting_jobs PARAMS ((void));
+
+extern char **construct_command_argv PARAMS ((char *line, char **restp, struct file *file, char** batch_file));
+#ifdef VMS
+extern int child_execute_job PARAMS ((char *argv, struct child *child));
+#else
+extern void child_execute_job PARAMS ((int stdin_fd, int stdout_fd, char **argv, char **envp));
+#endif
+#ifdef _AMIGA
+extern void exec_command PARAMS ((char **argv));
+#else
+extern void exec_command PARAMS ((char **argv, char **envp));
+#endif
+
+extern unsigned int job_slots_used;
+
+extern void block_sigs PARAMS ((void));
+#ifdef POSIX
+extern void unblock_sigs PARAMS ((void));
+#else
+#ifdef HAVE_SIGSETMASK
+extern int fatal_signal_mask;
+#define        unblock_sigs()  sigsetmask (0)
+#else
+#define        unblock_sigs()
+#endif
+#endif
+
+#endif /* SEEN_JOB_H */
diff --git a/src/mkutil/make-3.80/link.dbg b/src/mkutil/make-3.80/link.dbg
new file mode 100644 (file)
index 0000000..98bcbc2
--- /dev/null
@@ -0,0 +1,28 @@
+WinDebug\variable.obj \r
+WinDebug\rule.obj \r
+WinDebug\remote-stub.obj \r
+WinDebug\commands.obj \r
+WinDebug\file.obj \r
+WinDebug\getloadavg.obj \r
+WinDebug\default.obj \r
+WinDebug\signame.obj \r
+WinDebug\expand.obj \r
+WinDebug\dir.obj \r
+WinDebug\main.obj \r
+WinDebug\getopt1.obj \r
+WinDebug\job.obj \r
+WinDebug\read.obj \r
+WinDebug\version.obj \r
+WinDebug\getopt.obj \r
+WinDebug\arscan.obj \r
+WinDebug\remake.obj \r
+WinDebug\misc.obj \r
+WinDebug\ar.obj \r
+WinDebug\function.obj \r
+WinDebug\vpath.obj \r
+WinDebug\implicit.obj \r
+WinDebug\dirent.obj \r
+WinDebug\glob.obj \r
+WinDebug\fnmatch.obj \r
+WinDebug\pathstuff.obj \r
+kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib \r
diff --git a/src/mkutil/make-3.80/loadavg.c b/src/mkutil/make-3.80/loadavg.c
new file mode 100644 (file)
index 0000000..7d575cd
--- /dev/null
@@ -0,0 +1,1034 @@
+/* Get the system load averages.
+   Copyright (C) 1985, 86, 87, 88, 89, 91, 92, 93, 1994, 1995, 1997
+       Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* Compile-time symbols that this file uses:
+
+   HAVE_PSTAT_GETDYNAMIC       Define this if your system has the
+                                pstat_getdynamic function.  I think it
+                               is unique to HPUX9.  The best way to get the
+                               definition is through the AC_FUNC_GETLOADAVG
+                               macro that comes with autoconf 2.13 or newer.
+                               If that isn't an option, then just put
+                               AC_CHECK_FUNCS(pstat_getdynamic) in your
+                               configure.in file.
+   FIXUP_KERNEL_SYMBOL_ADDR()  Adjust address in returned struct nlist.
+   KERNEL_FILE                 Pathname of the kernel to nlist.
+   LDAV_CVT()                  Scale the load average from the kernel.
+                               Returns a double.
+   LDAV_SYMBOL                 Name of kernel symbol giving load average.
+   LOAD_AVE_TYPE               Type of the load average array in the kernel.
+                               Must be defined unless one of
+                               apollo, DGUX, NeXT, or UMAX is defined;
+                                or we have libkstat;
+                               otherwise, no load average is available.
+   NLIST_STRUCT                        Include nlist.h, not a.out.h, and
+                               the nlist n_name element is a pointer,
+                               not an array.
+   HAVE_STRUCT_NLIST_N_UN_N_NAME struct nlist has an n_un member, not n_name.
+   LINUX_LDAV_FILE             [__linux__]: File containing load averages.
+
+   Specific system predefines this file uses, aside from setting
+   default values if not emacs:
+
+   apollo
+   BSD                         Real BSD, not just BSD-like.
+   convex
+   DGUX
+   eunice                      UNIX emulator under VMS.
+   hpux
+   __MSDOS__                   No-op for MSDOS.
+   NeXT
+   sgi
+   sequent                     Sequent Dynix 3.x.x (BSD)
+   _SEQUENT_                   Sequent DYNIX/ptx 1.x.x (SYSV)
+   sony_news                    NEWS-OS (works at least for 4.1C)
+   UMAX
+   UMAX4_3
+   VMS
+   WINDOWS32                   No-op for Windows95/NT.
+   __linux__                   Linux: assumes /proc filesystem mounted.
+                               Support from Michael K. Johnson.
+   __NetBSD__                  NetBSD: assumes /kern filesystem mounted.
+
+   In addition, to avoid nesting many #ifdefs, we internally set
+   LDAV_DONE to indicate that the load average has been computed.
+
+   We also #define LDAV_PRIVILEGED if a program will require
+   special installation to be able to call getloadavg.  */
+
+/* This should always be first.  */
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+
+/* Both the Emacs and non-Emacs sections want this.  Some
+   configuration files' definitions for the LOAD_AVE_CVT macro (like
+   sparc.h's) use macros like FSCALE, defined here.  */
+#if defined (unix) || defined (__unix)
+# include <sys/param.h>
+#endif
+
+
+/* Exclude all the code except the test program at the end
+   if the system has its own `getloadavg' function.
+
+   The declaration of `errno' is needed by the test program
+   as well as the function itself, so it comes first.  */
+
+#include <errno.h>
+
+#ifndef errno
+extern int errno;
+#endif
+
+#if HAVE_LOCALE_H
+# include <locale.h>
+#endif
+#if !HAVE_SETLOCALE
+# define setlocale(Category, Locale) /* empty */
+#endif
+
+#ifndef HAVE_GETLOADAVG
+
+
+/* The existing Emacs configuration files define a macro called
+   LOAD_AVE_CVT, which accepts a value of type LOAD_AVE_TYPE, and
+   returns the load average multiplied by 100.  What we actually want
+   is a macro called LDAV_CVT, which returns the load average as an
+   unmultiplied double.
+
+   For backwards compatibility, we'll define LDAV_CVT in terms of
+   LOAD_AVE_CVT, but future machine config files should just define
+   LDAV_CVT directly.  */
+
+# if !defined(LDAV_CVT) && defined(LOAD_AVE_CVT)
+#  define LDAV_CVT(n) (LOAD_AVE_CVT (n) / 100.0)
+# endif
+
+# if !defined (BSD) && defined (ultrix)
+/* Ultrix behaves like BSD on Vaxen.  */
+#  define BSD
+# endif
+
+# ifdef NeXT
+/* NeXT in the 2.{0,1,2} releases defines BSD in <sys/param.h>, which
+   conflicts with the definition understood in this file, that this
+   really is BSD. */
+#  undef BSD
+
+/* NeXT defines FSCALE in <sys/param.h>.  However, we take FSCALE being
+   defined to mean that the nlist method should be used, which is not true.  */
+#  undef FSCALE
+# endif
+
+/* Same issues as for NeXT apply to the HURD-based GNU system.  */
+# ifdef __GNU__
+#  undef BSD
+#  undef FSCALE
+# endif /* __GNU__ */
+
+/* Set values that are different from the defaults, which are
+   set a little farther down with #ifndef.  */
+
+
+/* Some shorthands.  */
+
+# if defined (HPUX) && !defined (hpux)
+#  define hpux
+# endif
+
+# if defined (__hpux) && !defined (hpux)
+#  define hpux
+# endif
+
+# if defined (__sun) && !defined (sun)
+#  define sun
+# endif
+
+# if defined(hp300) && !defined(hpux)
+#  define MORE_BSD
+# endif
+
+# if defined(ultrix) && defined(mips)
+#  define decstation
+# endif
+
+# if defined (__SVR4) && !defined (SVR4)
+#  define SVR4
+# endif
+
+# if (defined(sun) && defined(SVR4)) || defined (SOLARIS2)
+#  define SUNOS_5
+# endif
+
+# if defined (__osf__) && (defined (__alpha) || defined (__alpha__))
+#  define OSF_ALPHA
+#  include <sys/mbuf.h>
+#  include <sys/socket.h>
+#  include <net/route.h>
+#  include <sys/table.h>
+# endif
+
+# if defined (__osf__) && (defined (mips) || defined (__mips__))
+#  define OSF_MIPS
+#  include <sys/table.h>
+# endif
+
+/* UTek's /bin/cc on the 4300 has no architecture specific cpp define by
+   default, but _MACH_IND_SYS_TYPES is defined in <sys/types.h>.  Combine
+   that with a couple of other things and we'll have a unique match.  */
+# if !defined (tek4300) && defined (unix) && defined (m68k) && defined (mc68000) && defined (mc68020) && defined (_MACH_IND_SYS_TYPES)
+#  define tek4300                      /* Define by emacs, but not by other users.  */
+# endif
+
+/* AC_FUNC_GETLOADAVG thinks QNX is SVR4, but it isn't. */
+# if defined(__QNX__)
+#  undef SVR4
+# endif
+
+/* VAX C can't handle multi-line #ifs, or lines longer than 256 chars.  */
+# ifndef LOAD_AVE_TYPE
+
+#  ifdef MORE_BSD
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef sun
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef decstation
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef _SEQUENT_
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef sgi
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef SVR4
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef sony_news
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef sequent
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef OSF_ALPHA
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  if defined (ardent) && defined (titan)
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef tek4300
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  if defined(alliant) && defined(i860) /* Alliant FX/2800 */
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef _AIX
+#   define LOAD_AVE_TYPE long
+#  endif
+
+#  ifdef convex
+#   define LOAD_AVE_TYPE double
+#   ifndef LDAV_CVT
+#    define LDAV_CVT(n) (n)
+#   endif
+#  endif
+
+# endif /* No LOAD_AVE_TYPE.  */
+
+# ifdef OSF_ALPHA
+/* <sys/param.h> defines an incorrect value for FSCALE on Alpha OSF/1,
+   according to ghazi@noc.rutgers.edu.  */
+#  undef FSCALE
+#  define FSCALE 1024.0
+# endif
+
+# if defined(alliant) && defined(i860) /* Alliant FX/2800 */
+/* <sys/param.h> defines an incorrect value for FSCALE on an
+   Alliant FX/2800 Concentrix 2.2, according to ghazi@noc.rutgers.edu.  */
+#  undef FSCALE
+#  define FSCALE 100.0
+# endif
+
+
+# ifndef       FSCALE
+
+/* SunOS and some others define FSCALE in sys/param.h.  */
+
+#  ifdef MORE_BSD
+#   define FSCALE 2048.0
+#  endif
+
+#  if defined(MIPS) || defined(SVR4) || defined(decstation)
+#   define FSCALE 256
+#  endif
+
+#  if defined (sgi) || defined (sequent)
+/* Sometimes both MIPS and sgi are defined, so FSCALE was just defined
+   above under #ifdef MIPS.  But we want the sgi value.  */
+#   undef FSCALE
+#   define     FSCALE 1000.0
+#  endif
+
+#  if defined (ardent) && defined (titan)
+#   define FSCALE 65536.0
+#  endif
+
+#  ifdef tek4300
+#   define FSCALE 100.0
+#  endif
+
+#  ifdef _AIX
+#   define FSCALE 65536.0
+#  endif
+
+# endif        /* Not FSCALE.  */
+
+# if !defined (LDAV_CVT) && defined (FSCALE)
+#  define      LDAV_CVT(n) (((double) (n)) / FSCALE)
+# endif
+
+
+# if defined(sgi) || (defined(mips) && !defined(BSD))
+#  define FIXUP_KERNEL_SYMBOL_ADDR(nl) ((nl)[0].n_value &= ~(1 << 31))
+# endif
+
+
+# if !defined (KERNEL_FILE) && defined (sequent)
+#  define KERNEL_FILE "/dynix"
+# endif
+
+# if !defined (KERNEL_FILE) && defined (hpux)
+#  define KERNEL_FILE "/hp-ux"
+# endif
+
+# if !defined(KERNEL_FILE) && (defined(_SEQUENT_) || defined(MIPS) || defined(SVR4) || defined(ISC) || defined (sgi) || (defined (ardent) && defined (titan)))
+#  define KERNEL_FILE "/unix"
+# endif
+
+
+# if !defined (LDAV_SYMBOL) && defined (alliant)
+#  define LDAV_SYMBOL "_Loadavg"
+# endif
+
+# if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan)) || defined (_AIX))
+#  define LDAV_SYMBOL "avenrun"
+# endif
+
+# ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+# endif
+
+# include <stdio.h>
+
+/* LOAD_AVE_TYPE should only get defined if we're going to use the
+   nlist method.  */
+# if !defined(LOAD_AVE_TYPE) && (defined(BSD) || defined(LDAV_CVT) || defined(KERNEL_FILE) || defined(LDAV_SYMBOL))
+#  define LOAD_AVE_TYPE double
+# endif
+
+# ifdef LOAD_AVE_TYPE
+
+#  ifndef VMS
+#   ifndef __linux__
+#    ifdef HAVE_NLIST_H
+#     include <nlist.h>
+#    else
+#     include <a.out.h>
+#    endif
+
+#    ifdef SUNOS_5
+#     include <fcntl.h>
+#     include <kvm.h>
+#     include <kstat.h>
+#    endif
+
+#    if defined (hpux) && defined (HAVE_PSTAT_GETDYNAMIC)
+#     include <sys/pstat.h>
+#    endif
+
+#    ifndef KERNEL_FILE
+#     define KERNEL_FILE "/vmunix"
+#    endif /* KERNEL_FILE */
+
+#    ifndef LDAV_SYMBOL
+#     define LDAV_SYMBOL "_avenrun"
+#    endif /* LDAV_SYMBOL */
+#   endif /* __linux__ */
+
+#  else /* VMS */
+
+#   ifndef eunice
+#    include <iodef.h>
+#    include <descrip.h>
+#   else /* eunice */
+#    include <vms/iodef.h>
+#   endif /* eunice */
+#  endif /* VMS */
+
+#  ifndef LDAV_CVT
+#   define LDAV_CVT(n) ((double) (n))
+#  endif /* !LDAV_CVT */
+
+# endif /* LOAD_AVE_TYPE */
+
+# if defined(__GNU__) && !defined (NeXT)
+/* Note that NeXT Openstep defines __GNU__ even though it should not.  */
+/* GNU system acts much like NeXT, for load average purposes,
+   but not exactly.  */
+#  define NeXT
+#  define host_self mach_host_self
+# endif
+
+# ifdef NeXT
+#  ifdef HAVE_MACH_MACH_H
+#   include <mach/mach.h>
+#  else
+#   include <mach.h>
+#  endif
+# endif /* NeXT */
+
+# ifdef sgi
+#  include <sys/sysmp.h>
+# endif /* sgi */
+
+# ifdef UMAX
+#  include <stdio.h>
+#  include <signal.h>
+#  include <sys/time.h>
+#  include <sys/wait.h>
+#  include <sys/syscall.h>
+
+#  ifdef UMAX_43
+#   include <machine/cpu.h>
+#   include <inq_stats/statistics.h>
+#   include <inq_stats/sysstats.h>
+#   include <inq_stats/cpustats.h>
+#   include <inq_stats/procstats.h>
+#  else /* Not UMAX_43.  */
+#   include <sys/sysdefs.h>
+#   include <sys/statistics.h>
+#   include <sys/sysstats.h>
+#   include <sys/cpudefs.h>
+#   include <sys/cpustats.h>
+#   include <sys/procstats.h>
+#  endif /* Not UMAX_43.  */
+# endif /* UMAX */
+
+# ifdef DGUX
+#  include <sys/dg_sys_info.h>
+# endif
+
+# if defined(HAVE_FCNTL_H) || defined(_POSIX_VERSION)
+#  include <fcntl.h>
+# else
+#  include <sys/file.h>
+# endif
+\f
+
+/* Avoid static vars inside a function since in HPUX they dump as pure.  */
+
+# ifdef NeXT
+static processor_set_t default_set;
+static int getloadavg_initialized;
+# endif /* NeXT */
+
+# ifdef UMAX
+static unsigned int cpus = 0;
+static unsigned int samples;
+# endif /* UMAX */
+
+# ifdef DGUX
+static struct dg_sys_info_load_info load_info; /* what-a-mouthful! */
+# endif /* DGUX */
+
+#if !defined(HAVE_LIBKSTAT) && defined(LOAD_AVE_TYPE)
+/* File descriptor open to /dev/kmem or VMS load ave driver.  */
+static int channel;
+/* Nonzero iff channel is valid.  */
+static int getloadavg_initialized;
+/* Offset in kmem to seek to read load average, or 0 means invalid.  */
+static long offset;
+
+#if !defined(VMS) && !defined(sgi) && !defined(__linux__)
+static struct nlist nl[2];
+#endif /* Not VMS or sgi */
+
+#ifdef SUNOS_5
+static kvm_t *kd;
+#endif /* SUNOS_5 */
+
+#endif /* LOAD_AVE_TYPE && !HAVE_LIBKSTAT */
+\f
+/* Put the 1 minute, 5 minute and 15 minute load averages
+   into the first NELEM elements of LOADAVG.
+   Return the number written (never more than 3, but may be less than NELEM),
+   or -1 if an error occurred.  */
+
+int
+getloadavg (loadavg, nelem)
+     double loadavg[];
+     int nelem;
+{
+  int elem = 0;                        /* Return value.  */
+
+# ifdef NO_GET_LOAD_AVG
+#  define LDAV_DONE
+  /* Set errno to zero to indicate that there was no particular error;
+     this function just can't work at all on this system.  */
+  errno = 0;
+  elem = -1;
+# endif
+
+# if !defined (LDAV_DONE) && defined (HAVE_LIBKSTAT)
+/* Use libkstat because we don't have to be root.  */
+#  define LDAV_DONE
+  kstat_ctl_t *kc;
+  kstat_t *ksp;
+  kstat_named_t *kn;
+
+  kc = kstat_open ();
+  if (kc == 0)
+    return -1;
+  ksp = kstat_lookup (kc, "unix", 0, "system_misc");
+  if (ksp == 0 )
+    return -1;
+  if (kstat_read (kc, ksp, 0) == -1)
+    return -1;
+
+
+  kn = kstat_data_lookup (ksp, "avenrun_1min");
+  if (kn == 0)
+    {
+      /* Return -1 if no load average information is available.  */
+      nelem = 0;
+      elem = -1;
+    }
+
+  if (nelem >= 1)
+    loadavg[elem++] = (double) kn->value.ul/FSCALE;
+
+  if (nelem >= 2)
+    {
+      kn = kstat_data_lookup (ksp, "avenrun_5min");
+      if (kn != 0)
+       {
+         loadavg[elem++] = (double) kn->value.ul/FSCALE;
+
+         if (nelem >= 3)
+           {
+             kn = kstat_data_lookup (ksp, "avenrun_15min");
+             if (kn != 0)
+               loadavg[elem++] = (double) kn->value.ul/FSCALE;
+           }
+       }
+    }
+
+  kstat_close (kc);
+# endif /* HAVE_LIBKSTAT */
+
+# if !defined (LDAV_DONE) && defined (hpux) && defined (HAVE_PSTAT_GETDYNAMIC)
+/* Use pstat_getdynamic() because we don't have to be root.  */
+#  define LDAV_DONE
+#  undef LOAD_AVE_TYPE
+
+  struct pst_dynamic dyn_info;
+  if (pstat_getdynamic (&dyn_info, sizeof (dyn_info), 0, 0) < 0)
+    return -1;
+  if (nelem > 0)
+    loadavg[elem++] = dyn_info.psd_avg_1_min;
+  if (nelem > 1)
+    loadavg[elem++] = dyn_info.psd_avg_5_min;
+  if (nelem > 2)
+    loadavg[elem++] = dyn_info.psd_avg_15_min;
+
+# endif /* hpux && HAVE_PSTAT_GETDYNAMIC */
+
+# if !defined (LDAV_DONE) && defined (__linux__)
+#  define LDAV_DONE
+#  undef LOAD_AVE_TYPE
+
+#  ifndef LINUX_LDAV_FILE
+#   define LINUX_LDAV_FILE "/proc/loadavg"
+#  endif
+
+  char ldavgbuf[40];
+  double load_ave[3];
+  int fd, count;
+
+  fd = open (LINUX_LDAV_FILE, O_RDONLY);
+  if (fd == -1)
+    return -1;
+  count = read (fd, ldavgbuf, 40);
+  (void) close (fd);
+  if (count <= 0)
+    return -1;
+
+  /* The following sscanf must use the C locale.  */
+  setlocale (LC_NUMERIC, "C");
+  count = sscanf (ldavgbuf, "%lf %lf %lf",
+                 &load_ave[0], &load_ave[1], &load_ave[2]);
+  setlocale (LC_NUMERIC, "");
+  if (count < 1)
+    return -1;
+
+  for (elem = 0; elem < nelem && elem < count; elem++)
+    loadavg[elem] = load_ave[elem];
+
+  return elem;
+
+# endif /* __linux__ */
+
+# if !defined (LDAV_DONE) && defined (__NetBSD__)
+#  define LDAV_DONE
+#  undef LOAD_AVE_TYPE
+
+#  ifndef NETBSD_LDAV_FILE
+#   define NETBSD_LDAV_FILE "/kern/loadavg"
+#  endif
+
+  unsigned long int load_ave[3], scale;
+  int count;
+  FILE *fp;
+
+  fp = fopen (NETBSD_LDAV_FILE, "r");
+  if (fp == NULL)
+    return -1;
+  count = fscanf (fp, "%lu %lu %lu %lu\n",
+                 &load_ave[0], &load_ave[1], &load_ave[2],
+                 &scale);
+  (void) fclose (fp);
+  if (count != 4)
+    return -1;
+
+  for (elem = 0; elem < nelem; elem++)
+    loadavg[elem] = (double) load_ave[elem] / (double) scale;
+
+  return elem;
+
+# endif /* __NetBSD__ */
+
+# if !defined (LDAV_DONE) && defined (NeXT)
+#  define LDAV_DONE
+  /* The NeXT code was adapted from iscreen 3.2.  */
+
+  host_t host;
+  struct processor_set_basic_info info;
+  unsigned info_count;
+
+  /* We only know how to get the 1-minute average for this system,
+     so even if the caller asks for more than 1, we only return 1.  */
+
+  if (!getloadavg_initialized)
+    {
+      if (processor_set_default (host_self (), &default_set) == KERN_SUCCESS)
+       getloadavg_initialized = 1;
+    }
+
+  if (getloadavg_initialized)
+    {
+      info_count = PROCESSOR_SET_BASIC_INFO_COUNT;
+      if (processor_set_info (default_set, PROCESSOR_SET_BASIC_INFO, &host,
+                             (processor_set_info_t) &info, &info_count)
+         != KERN_SUCCESS)
+       getloadavg_initialized = 0;
+      else
+       {
+         if (nelem > 0)
+           loadavg[elem++] = (double) info.load_average / LOAD_SCALE;
+       }
+    }
+
+  if (!getloadavg_initialized)
+    return -1;
+# endif /* NeXT */
+
+# if !defined (LDAV_DONE) && defined (UMAX)
+#  define LDAV_DONE
+/* UMAX 4.2, which runs on the Encore Multimax multiprocessor, does not
+   have a /dev/kmem.  Information about the workings of the running kernel
+   can be gathered with inq_stats system calls.
+   We only know how to get the 1-minute average for this system.  */
+
+  struct proc_summary proc_sum_data;
+  struct stat_descr proc_info;
+  double load;
+  register unsigned int i, j;
+
+  if (cpus == 0)
+    {
+      register unsigned int c, i;
+      struct cpu_config conf;
+      struct stat_descr desc;
+
+      desc.sd_next = 0;
+      desc.sd_subsys = SUBSYS_CPU;
+      desc.sd_type = CPUTYPE_CONFIG;
+      desc.sd_addr = (char *) &conf;
+      desc.sd_size = sizeof conf;
+
+      if (inq_stats (1, &desc))
+       return -1;
+
+      c = 0;
+      for (i = 0; i < conf.config_maxclass; ++i)
+       {
+         struct class_stats stats;
+         bzero ((char *) &stats, sizeof stats);
+
+         desc.sd_type = CPUTYPE_CLASS;
+         desc.sd_objid = i;
+         desc.sd_addr = (char *) &stats;
+         desc.sd_size = sizeof stats;
+
+         if (inq_stats (1, &desc))
+           return -1;
+
+         c += stats.class_numcpus;
+       }
+      cpus = c;
+      samples = cpus < 2 ? 3 : (2 * cpus / 3);
+    }
+
+  proc_info.sd_next = 0;
+  proc_info.sd_subsys = SUBSYS_PROC;
+  proc_info.sd_type = PROCTYPE_SUMMARY;
+  proc_info.sd_addr = (char *) &proc_sum_data;
+  proc_info.sd_size = sizeof (struct proc_summary);
+  proc_info.sd_sizeused = 0;
+
+  if (inq_stats (1, &proc_info) != 0)
+    return -1;
+
+  load = proc_sum_data.ps_nrunnable;
+  j = 0;
+  for (i = samples - 1; i > 0; --i)
+    {
+      load += proc_sum_data.ps_nrun[j];
+      if (j++ == PS_NRUNSIZE)
+       j = 0;
+    }
+
+  if (nelem > 0)
+    loadavg[elem++] = load / samples / cpus;
+# endif /* UMAX */
+
+# if !defined (LDAV_DONE) && defined (DGUX)
+#  define LDAV_DONE
+  /* This call can return -1 for an error, but with good args
+     it's not supposed to fail.  The first argument is for no
+     apparent reason of type `long int *'.  */
+  dg_sys_info ((long int *) &load_info,
+              DG_SYS_INFO_LOAD_INFO_TYPE,
+              DG_SYS_INFO_LOAD_VERSION_0);
+
+  if (nelem > 0)
+    loadavg[elem++] = load_info.one_minute;
+  if (nelem > 1)
+    loadavg[elem++] = load_info.five_minute;
+  if (nelem > 2)
+    loadavg[elem++] = load_info.fifteen_minute;
+# endif /* DGUX */
+
+# if !defined (LDAV_DONE) && defined (apollo)
+#  define LDAV_DONE
+/* Apollo code from lisch@mentorg.com (Ray Lischner).
+
+   This system call is not documented.  The load average is obtained as
+   three long integers, for the load average over the past minute,
+   five minutes, and fifteen minutes.  Each value is a scaled integer,
+   with 16 bits of integer part and 16 bits of fraction part.
+
+   I'm not sure which operating system first supported this system call,
+   but I know that SR10.2 supports it.  */
+
+  extern void proc1_$get_loadav ();
+  unsigned long load_ave[3];
+
+  proc1_$get_loadav (load_ave);
+
+  if (nelem > 0)
+    loadavg[elem++] = load_ave[0] / 65536.0;
+  if (nelem > 1)
+    loadavg[elem++] = load_ave[1] / 65536.0;
+  if (nelem > 2)
+    loadavg[elem++] = load_ave[2] / 65536.0;
+# endif /* apollo */
+
+# if !defined (LDAV_DONE) && defined (OSF_MIPS)
+#  define LDAV_DONE
+
+  struct tbl_loadavg load_ave;
+  table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave));
+  loadavg[elem++]
+    = (load_ave.tl_lscale == 0
+       ? load_ave.tl_avenrun.d[0]
+       : (load_ave.tl_avenrun.l[0] / (double) load_ave.tl_lscale));
+# endif        /* OSF_MIPS */
+
+# if !defined (LDAV_DONE) && (defined (__MSDOS__) || defined (WINDOWS32))
+#  define LDAV_DONE
+
+  /* A faithful emulation is going to have to be saved for a rainy day.  */
+  for ( ; elem < nelem; elem++)
+    {
+      loadavg[elem] = 0.0;
+    }
+# endif  /* __MSDOS__ || WINDOWS32 */
+
+# if !defined (LDAV_DONE) && defined (OSF_ALPHA)
+#  define LDAV_DONE
+
+  struct tbl_loadavg load_ave;
+  table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave));
+  for (elem = 0; elem < nelem; elem++)
+    loadavg[elem]
+      = (load_ave.tl_lscale == 0
+       ? load_ave.tl_avenrun.d[elem]
+       : (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale));
+# endif /* OSF_ALPHA */
+
+# if !defined (LDAV_DONE) && defined (VMS)
+  /* VMS specific code -- read from the Load Ave driver.  */
+
+  LOAD_AVE_TYPE load_ave[3];
+  static int getloadavg_initialized = 0;
+#  ifdef eunice
+  struct
+  {
+    int dsc$w_length;
+    char *dsc$a_pointer;
+  } descriptor;
+#  endif
+
+  /* Ensure that there is a channel open to the load ave device.  */
+  if (!getloadavg_initialized)
+    {
+      /* Attempt to open the channel.  */
+#  ifdef eunice
+      descriptor.dsc$w_length = 18;
+      descriptor.dsc$a_pointer = "$$VMS_LOAD_AVERAGE";
+#  else
+      $DESCRIPTOR (descriptor, "LAV0:");
+#  endif
+      if (sys$assign (&descriptor, &channel, 0, 0) & 1)
+       getloadavg_initialized = 1;
+    }
+
+  /* Read the load average vector.  */
+  if (getloadavg_initialized
+      && !(sys$qiow (0, channel, IO$_READVBLK, 0, 0, 0,
+                    load_ave, 12, 0, 0, 0, 0) & 1))
+    {
+      sys$dassgn (channel);
+      getloadavg_initialized = 0;
+    }
+
+  if (!getloadavg_initialized)
+    return -1;
+# endif /* VMS */
+
+# if !defined (LDAV_DONE) && defined(LOAD_AVE_TYPE) && !defined(VMS)
+
+  /* UNIX-specific code -- read the average from /dev/kmem.  */
+
+#  define LDAV_PRIVILEGED              /* This code requires special installation.  */
+
+  LOAD_AVE_TYPE load_ave[3];
+
+  /* Get the address of LDAV_SYMBOL.  */
+  if (offset == 0)
+    {
+#  ifndef sgi
+#   ifndef NLIST_STRUCT
+      strcpy (nl[0].n_name, LDAV_SYMBOL);
+      strcpy (nl[1].n_name, "");
+#   else /* NLIST_STRUCT */
+#    ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME
+      nl[0].n_un.n_name = LDAV_SYMBOL;
+      nl[1].n_un.n_name = 0;
+#    else /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */
+      nl[0].n_name = LDAV_SYMBOL;
+      nl[1].n_name = 0;
+#    endif /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */
+#   endif /* NLIST_STRUCT */
+
+#   ifndef SUNOS_5
+      if (
+#    if !(defined (_AIX) && !defined (ps2))
+         nlist (KERNEL_FILE, nl)
+#    else  /* _AIX */
+         knlist (nl, 1, sizeof (nl[0]))
+#    endif
+         >= 0)
+         /* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i.  */
+         {
+#    ifdef FIXUP_KERNEL_SYMBOL_ADDR
+           FIXUP_KERNEL_SYMBOL_ADDR (nl);
+#    endif
+           offset = nl[0].n_value;
+         }
+#   endif /* !SUNOS_5 */
+#  else  /* sgi */
+      int ldav_off;
+
+      ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN);
+      if (ldav_off != -1)
+       offset = (long) ldav_off & 0x7fffffff;
+#  endif /* sgi */
+    }
+
+  /* Make sure we have /dev/kmem open.  */
+  if (!getloadavg_initialized)
+    {
+#  ifndef SUNOS_5
+      channel = open ("/dev/kmem", 0);
+      if (channel >= 0)
+       {
+         /* Set the channel to close on exec, so it does not
+            litter any child's descriptor table.  */
+#   ifdef F_SETFD
+#    ifndef FD_CLOEXEC
+#     define FD_CLOEXEC 1
+#    endif
+         (void) fcntl (channel, F_SETFD, FD_CLOEXEC);
+#   endif
+         getloadavg_initialized = 1;
+       }
+#  else /* SUNOS_5 */
+      /* We pass 0 for the kernel, corefile, and swapfile names
+        to use the currently running kernel.  */
+      kd = kvm_open (0, 0, 0, O_RDONLY, 0);
+      if (kd != 0)
+       {
+         /* nlist the currently running kernel.  */
+         kvm_nlist (kd, nl);
+         offset = nl[0].n_value;
+         getloadavg_initialized = 1;
+       }
+#  endif /* SUNOS_5 */
+    }
+
+  /* If we can, get the load average values.  */
+  if (offset && getloadavg_initialized)
+    {
+      /* Try to read the load.  */
+#  ifndef SUNOS_5
+      if (lseek (channel, offset, 0) == -1L
+         || read (channel, (char *) load_ave, sizeof (load_ave))
+         != sizeof (load_ave))
+       {
+         close (channel);
+         getloadavg_initialized = 0;
+       }
+#  else  /* SUNOS_5 */
+      if (kvm_read (kd, offset, (char *) load_ave, sizeof (load_ave))
+         != sizeof (load_ave))
+        {
+          kvm_close (kd);
+          getloadavg_initialized = 0;
+       }
+#  endif /* SUNOS_5 */
+    }
+
+  if (offset == 0 || !getloadavg_initialized)
+    return -1;
+# endif /* LOAD_AVE_TYPE and not VMS */
+
+# if !defined (LDAV_DONE) && defined (LOAD_AVE_TYPE) /* Including VMS.  */
+  if (nelem > 0)
+    loadavg[elem++] = LDAV_CVT (load_ave[0]);
+  if (nelem > 1)
+    loadavg[elem++] = LDAV_CVT (load_ave[1]);
+  if (nelem > 2)
+    loadavg[elem++] = LDAV_CVT (load_ave[2]);
+
+#  define LDAV_DONE
+# endif /* !LDAV_DONE && LOAD_AVE_TYPE */
+
+# ifdef LDAV_DONE
+  return elem;
+# else
+  /* Set errno to zero to indicate that there was no particular error;
+     this function just can't work at all on this system.  */
+  errno = 0;
+  return -1;
+# endif
+}
+
+#endif /* ! HAVE_GETLOADAVG */
+\f
+#ifdef TEST
+#include "make.h"
+
+int
+main (argc, argv)
+     int argc;
+     char **argv;
+{
+  int naptime = 0;
+
+  if (argc > 1)
+    naptime = atoi (argv[1]);
+
+  while (1)
+    {
+      double avg[3];
+      int loads;
+
+      errno = 0;               /* Don't be misled if it doesn't set errno.  */
+      loads = getloadavg (avg, 3);
+      if (loads == -1)
+       {
+         perror ("Error getting load average");
+         exit (1);
+       }
+      if (loads > 0)
+       printf ("1-minute: %f  ", avg[0]);
+      if (loads > 1)
+       printf ("5-minute: %f  ", avg[1]);
+      if (loads > 2)
+       printf ("15-minute: %f  ", avg[2]);
+      if (loads > 0)
+       putchar ('\n');
+
+      if (naptime == 0)
+       break;
+      sleep (naptime);
+    }
+
+  exit (0);
+}
+#endif /* TEST */
diff --git a/src/mkutil/make-3.80/main.c b/src/mkutil/make-3.80/main.c
new file mode 100644 (file)
index 0000000..a04671d
--- /dev/null
@@ -0,0 +1,2813 @@
+/* Argument parsing and main program of GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1994, 1995, 1996, 1997, 1998, 1999,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "dep.h"
+#include "filedef.h"
+#include "variable.h"
+#include "job.h"
+#include "commands.h"
+#include "rule.h"
+#include "debug.h"
+#include "getopt.h"
+
+#include <assert.h>
+#ifdef _AMIGA
+# include <dos/dos.h>
+# include <proto/dos.h>
+#endif
+#ifdef WINDOWS32
+#include <windows.h>
+#include "pathstuff.h"
+#endif
+#if defined(MAKE_JOBSERVER) && defined(HAVE_FCNTL_H)
+# include <fcntl.h>
+#endif
+
+#ifdef _AMIGA
+int __stack = 20000; /* Make sure we have 20K of stack space */
+#endif
+
+extern void init_dir PARAMS ((void));
+extern void remote_setup PARAMS ((void));
+extern void remote_cleanup PARAMS ((void));
+extern RETSIGTYPE fatal_error_signal PARAMS ((int sig));
+
+extern void print_variable_data_base PARAMS ((void));
+extern void print_dir_data_base PARAMS ((void));
+extern void print_rule_data_base PARAMS ((void));
+extern void print_file_data_base PARAMS ((void));
+extern void print_vpath_data_base PARAMS ((void));
+
+#if defined HAVE_WAITPID || defined HAVE_WAIT3
+# define HAVE_WAIT_NOHANG
+#endif
+
+#ifndef        HAVE_UNISTD_H
+extern int chdir ();
+#endif
+#ifndef        STDC_HEADERS
+# ifndef sun                   /* Sun has an incorrect decl in a header.  */
+extern void exit PARAMS ((int)) __attribute__ ((noreturn));
+# endif
+extern double atof ();
+#endif
+
+static void print_data_base PARAMS ((void));
+static void print_version PARAMS ((void));
+static void decode_switches PARAMS ((int argc, char **argv, int env));
+static void decode_env_switches PARAMS ((char *envar, unsigned int len));
+static void define_makeflags PARAMS ((int all, int makefile));
+static char *quote_for_env PARAMS ((char *out, char *in));
+static void initialize_global_hash_tables PARAMS ((void));
+
+\f
+/* The structure that describes an accepted command switch.  */
+
+struct command_switch
+  {
+    int c;                     /* The switch character.  */
+
+    enum                       /* Type of the value.  */
+      {
+       flag,                   /* Turn int flag on.  */
+       flag_off,               /* Turn int flag off.  */
+       string,                 /* One string per switch.  */
+       positive_int,           /* A positive integer.  */
+       floating,               /* A floating-point number (double).  */
+       ignore                  /* Ignored.  */
+      } type;
+
+    char *value_ptr;   /* Pointer to the value-holding variable.  */
+
+    unsigned int env:1;                /* Can come from MAKEFLAGS.  */
+    unsigned int toenv:1;      /* Should be put in MAKEFLAGS.  */
+    unsigned int no_makefile:1;        /* Don't propagate when remaking makefiles.  */
+
+    char *noarg_value; /* Pointer to value used if no argument is given.  */
+    char *default_value;/* Pointer to default value.  */
+
+    char *long_name;           /* Long option name.  */
+  };
+
+/* True if C is a switch value that corresponds to a short option.  */
+
+#define short_option(c) ((c) <= CHAR_MAX)
+
+/* The structure used to hold the list of strings given
+   in command switches of a type that takes string arguments.  */
+
+struct stringlist
+  {
+    char **list;       /* Nil-terminated list of strings.  */
+    unsigned int idx;  /* Index into above.  */
+    unsigned int max;  /* Number of pointers allocated.  */
+  };
+
+
+/* The recognized command switches.  */
+
+/* Nonzero means do not print commands to be executed (-s).  */
+
+int silent_flag;
+
+/* Nonzero means just touch the files
+   that would appear to need remaking (-t)  */
+
+int touch_flag;
+
+/* Nonzero means just print what commands would need to be executed,
+   don't actually execute them (-n).  */
+
+int just_print_flag;
+
+/* Print debugging info (--debug).  */
+
+static struct stringlist *db_flags;
+static int debug_flag = 0;
+
+int db_level = 0;
+
+#ifdef WINDOWS32
+/* Suspend make in main for a short time to allow debugger to attach */
+
+int suspend_flag = 0;
+#endif
+
+/* Environment variables override makefile definitions.  */
+
+int env_overrides = 0;
+
+/* Nonzero means ignore status codes returned by commands
+   executed to remake files.  Just treat them all as successful (-i).  */
+
+int ignore_errors_flag = 0;
+
+/* Nonzero means don't remake anything, just print the data base
+   that results from reading the makefile (-p).  */
+
+int print_data_base_flag = 0;
+
+/* Nonzero means don't remake anything; just return a nonzero status
+   if the specified targets are not up to date (-q).  */
+
+int question_flag = 0;
+
+/* Nonzero means do not use any of the builtin rules (-r) / variables (-R).  */
+
+int no_builtin_rules_flag = 0;
+int no_builtin_variables_flag = 0;
+
+/* Nonzero means keep going even if remaking some file fails (-k).  */
+
+int keep_going_flag;
+int default_keep_going_flag = 0;
+
+/* Nonzero means print directory before starting and when done (-w).  */
+
+int print_directory_flag = 0;
+
+/* Nonzero means ignore print_directory_flag and never print the directory.
+   This is necessary because print_directory_flag is set implicitly.  */
+
+int inhibit_print_directory_flag = 0;
+
+/* Nonzero means print version information.  */
+
+int print_version_flag = 0;
+
+/* List of makefiles given with -f switches.  */
+
+static struct stringlist *makefiles = 0;
+
+/* Number of job slots (commands that can be run at once).  */
+
+unsigned int job_slots = 1;
+unsigned int default_job_slots = 1;
+
+/* Value of job_slots that means no limit.  */
+
+static unsigned int inf_jobs = 0;
+
+/* File descriptors for the jobs pipe.  */
+
+static struct stringlist *jobserver_fds = 0;
+
+int job_fds[2] = { -1, -1 };
+int job_rfd = -1;
+
+/* Maximum load average at which multiple jobs will be run.
+   Negative values mean unlimited, while zero means limit to
+   zero load (which could be useful to start infinite jobs remotely
+   but one at a time locally).  */
+#ifndef NO_FLOAT
+double max_load_average = -1.0;
+double default_load_average = -1.0;
+#else
+int max_load_average = -1;
+int default_load_average = -1;
+#endif
+
+/* List of directories given with -C switches.  */
+
+static struct stringlist *directories = 0;
+
+/* List of include directories given with -I switches.  */
+
+static struct stringlist *include_directories = 0;
+
+/* List of files given with -o switches.  */
+
+static struct stringlist *old_files = 0;
+
+/* List of files given with -W switches.  */
+
+static struct stringlist *new_files = 0;
+
+/* If nonzero, we should just print usage and exit.  */
+
+static int print_usage_flag = 0;
+
+/* If nonzero, we should print a warning message
+   for each reference to an undefined variable.  */
+
+int warn_undefined_variables_flag;
+
+/* If nonzero, always build all targets, regardless of whether
+   they appear out of date or not.  */
+
+int always_make_flag = 0;
+\f
+/* The usage output.  We write it this way to make life easier for the
+   translators, especially those trying to translate to right-to-left
+   languages like Hebrew.  */
+
+static const char *const usage[] =
+  {
+    N_("Options:\n"),
+    N_("\
+  -b, -m                      Ignored for compatibility.\n"),
+    N_("\
+  -B, --always-make           Unconditionally make all targets.\n"),
+    N_("\
+  -C DIRECTORY, --directory=DIRECTORY\n\
+                              Change to DIRECTORY before doing anything.\n"),
+    N_("\
+  -d                          Print lots of debugging information.\n"),
+    N_("\
+  --debug[=FLAGS]             Print various types of debugging information.\n"),
+    N_("\
+  -e, --environment-overrides\n\
+                              Environment variables override makefiles.\n"),
+    N_("\
+  -f FILE, --file=FILE, --makefile=FILE\n\
+                              Read FILE as a makefile.\n"),
+    N_("\
+  -h, --help                  Print this message and exit.\n"),
+    N_("\
+  -i, --ignore-errors         Ignore errors from commands.\n"),
+    N_("\
+  -I DIRECTORY, --include-dir=DIRECTORY\n\
+                              Search DIRECTORY for included makefiles.\n"),
+    N_("\
+  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.\n"),
+    N_("\
+  -k, --keep-going            Keep going when some targets can't be made.\n"),
+    N_("\
+  -l [N], --load-average[=N], --max-load[=N]\n\
+                              Don't start multiple jobs unless load is below N.\n"),
+    N_("\
+  -n, --just-print, --dry-run, --recon\n\
+                              Don't actually run any commands; just print them.\n"),
+    N_("\
+  -o FILE, --old-file=FILE, --assume-old=FILE\n\
+                              Consider FILE to be very old and don't remake it.\n"),
+    N_("\
+  -p, --print-data-base       Print make's internal database.\n"),
+    N_("\
+  -q, --question              Run no commands; exit status says if up to date.\n"),
+    N_("\
+  -r, --no-builtin-rules      Disable the built-in implicit rules.\n"),
+    N_("\
+  -R, --no-builtin-variables  Disable the built-in variable settings.\n"),
+    N_("\
+  -s, --silent, --quiet       Don't echo commands.\n"),
+    N_("\
+  -S, --no-keep-going, --stop\n\
+                              Turns off -k.\n"),
+    N_("\
+  -t, --touch                 Touch targets instead of remaking them.\n"),
+    N_("\
+  -v, --version               Print the version number of make and exit.\n"),
+    N_("\
+  -w, --print-directory       Print the current directory.\n"),
+    N_("\
+  --no-print-directory        Turn off -w, even if it was turned on implicitly.\n"),
+    N_("\
+  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n\
+                              Consider FILE to be infinitely new.\n"),
+    N_("\
+  --warn-undefined-variables  Warn when an undefined variable is referenced.\n"),
+    NULL
+  };
+
+/* The table of command switches.  */
+
+static const struct command_switch switches[] =
+  {
+    { 'b', ignore, 0, 0, 0, 0, 0, 0, 0 },
+    { 'B', flag, (char *) &always_make_flag, 1, 1, 0, 0, 0, "always-make" },
+    { 'C', string, (char *) &directories, 0, 0, 0, 0, 0, "directory" },
+    { 'd', flag, (char *) &debug_flag, 1, 1, 0, 0, 0, 0 },
+    { CHAR_MAX+1, string, (char *) &db_flags, 1, 1, 0, "basic", 0, "debug" },
+#ifdef WINDOWS32
+    { 'D', flag, (char *) &suspend_flag, 1, 1, 0, 0, 0, "suspend-for-debug" },
+#endif
+    { 'e', flag, (char *) &env_overrides, 1, 1, 0, 0, 0,
+        "environment-overrides", },
+    { 'f', string, (char *) &makefiles, 0, 0, 0, 0, 0, "file" },
+    { 'h', flag, (char *) &print_usage_flag, 0, 0, 0, 0, 0, "help" },
+    { 'i', flag, (char *) &ignore_errors_flag, 1, 1, 0, 0, 0,
+        "ignore-errors" },
+    { 'I', string, (char *) &include_directories, 1, 1, 0, 0, 0,
+        "include-dir" },
+    { 'j', positive_int, (char *) &job_slots, 1, 1, 0, (char *) &inf_jobs,
+        (char *) &default_job_slots, "jobs" },
+    { CHAR_MAX+2, string, (char *) &jobserver_fds, 1, 1, 0, 0, 0,
+        "jobserver-fds" },
+    { 'k', flag, (char *) &keep_going_flag, 1, 1, 0, 0,
+        (char *) &default_keep_going_flag, "keep-going" },
+#ifndef NO_FLOAT
+    { 'l', floating, (char *) &max_load_average, 1, 1, 0,
+       (char *) &default_load_average, (char *) &default_load_average,
+       "load-average" },
+#else
+    { 'l', positive_int, (char *) &max_load_average, 1, 1, 0,
+       (char *) &default_load_average, (char *) &default_load_average,
+       "load-average" },
+#endif
+    { 'm', ignore, 0, 0, 0, 0, 0, 0, 0 },
+    { 'n', flag, (char *) &just_print_flag, 1, 1, 1, 0, 0, "just-print" },
+    { 'o', string, (char *) &old_files, 0, 0, 0, 0, 0, "old-file" },
+    { 'p', flag, (char *) &print_data_base_flag, 1, 1, 0, 0, 0,
+        "print-data-base" },
+    { 'q', flag, (char *) &question_flag, 1, 1, 1, 0, 0, "question" },
+    { 'r', flag, (char *) &no_builtin_rules_flag, 1, 1, 0, 0, 0,
+      "no-builtin-rules" },
+    { 'R', flag, (char *) &no_builtin_variables_flag, 1, 1, 0, 0, 0,
+       "no-builtin-variables" },
+    { 's', flag, (char *) &silent_flag, 1, 1, 0, 0, 0, "silent" },
+    { 'S', flag_off, (char *) &keep_going_flag, 1, 1, 0, 0,
+      (char *) &default_keep_going_flag, "no-keep-going" },
+    { 't', flag, (char *) &touch_flag, 1, 1, 1, 0, 0, "touch" },
+    { 'v', flag, (char *) &print_version_flag, 1, 1, 0, 0, 0, "version" },
+    { 'w', flag, (char *) &print_directory_flag, 1, 1, 0, 0, 0,
+        "print-directory" },
+    { CHAR_MAX+3, flag, (char *) &inhibit_print_directory_flag, 1, 1, 0, 0, 0,
+       "no-print-directory" },
+    { 'W', string, (char *) &new_files, 0, 0, 0, 0, 0, "what-if" },
+    { CHAR_MAX+4, flag, (char *) &warn_undefined_variables_flag, 1, 1, 0, 0, 0,
+       "warn-undefined-variables" },
+    { '\0', }
+  };
+
+/* Secondary long names for options.  */
+
+static struct option long_option_aliases[] =
+  {
+    { "quiet",         no_argument,            0, 's' },
+    { "stop",          no_argument,            0, 'S' },
+    { "new-file",      required_argument,      0, 'W' },
+    { "assume-new",    required_argument,      0, 'W' },
+    { "assume-old",    required_argument,      0, 'o' },
+    { "max-load",      optional_argument,      0, 'l' },
+    { "dry-run",       no_argument,            0, 'n' },
+    { "recon",         no_argument,            0, 'n' },
+    { "makefile",      required_argument,      0, 'f' },
+  };
+
+/* List of goal targets.  */
+
+static struct dep *goals, *lastgoal;
+
+/* List of variables which were defined on the command line
+   (or, equivalently, in MAKEFLAGS).  */
+
+struct command_variable
+  {
+    struct command_variable *next;
+    struct variable *variable;
+  };
+static struct command_variable *command_variables;
+\f
+/* The name we were invoked with.  */
+
+char *program;
+
+/* Our current directory before processing any -C options.  */
+
+char *directory_before_chdir;
+
+/* Our current directory after processing all -C options.  */
+
+char *starting_directory;
+
+/* Value of the MAKELEVEL variable at startup (or 0).  */
+
+unsigned int makelevel;
+
+/* First file defined in the makefile whose name does not
+   start with `.'.  This is the default to remake if the
+   command line does not specify.  */
+
+struct file *default_goal_file;
+
+/* Pointer to structure for the file .DEFAULT
+   whose commands are used for any file that has none of its own.
+   This is zero if the makefiles do not define .DEFAULT.  */
+
+struct file *default_file;
+
+/* Nonzero if we have seen the magic `.POSIX' target.
+   This turns on pedantic compliance with POSIX.2.  */
+
+int posix_pedantic;
+
+/* Nonzero if we have seen the `.NOTPARALLEL' target.
+   This turns off parallel builds for this invocation of make.  */
+
+int not_parallel;
+
+/* Nonzero if some rule detected clock skew; we keep track so (a) we only
+   print one warning about it during the run, and (b) we can print a final
+   warning at the end of the run. */
+
+int clock_skew_detected;
+\f
+/* Mask of signals that are being caught with fatal_error_signal.  */
+
+#ifdef POSIX
+sigset_t fatal_signal_set;
+#else
+# ifdef        HAVE_SIGSETMASK
+int fatal_signal_mask;
+# endif
+#endif
+
+#if !defined HAVE_BSD_SIGNAL && !defined bsd_signal
+# if !defined HAVE_SIGACTION
+#  define bsd_signal signal
+# else
+typedef RETSIGTYPE (*bsd_signal_ret_t) ();
+
+static bsd_signal_ret_t
+bsd_signal (sig, func)
+     int sig;
+     bsd_signal_ret_t func;
+{
+  struct sigaction act, oact;
+  act.sa_handler = func;
+  act.sa_flags = SA_RESTART;
+  sigemptyset (&act.sa_mask);
+  sigaddset (&act.sa_mask, sig);
+  if (sigaction (sig, &act, &oact) != 0)
+    return SIG_ERR;
+  return oact.sa_handler;
+}
+# endif
+#endif
+
+static void
+initialize_global_hash_tables ()
+{
+  init_hash_global_variable_set ();
+  init_hash_files ();
+  hash_init_directories ();
+  hash_init_function_table ();
+}
+
+static struct file *
+enter_command_line_file (name)
+     char *name;
+{
+  if (name[0] == '\0')
+    fatal (NILF, _("empty string invalid as file name"));
+
+  if (name[0] == '~')
+    {
+      char *expanded = tilde_expand (name);
+      if (expanded != 0)
+       name = expanded;        /* Memory leak; I don't care.  */
+    }
+
+  /* This is also done in parse_file_seq, so this is redundant
+     for names read from makefiles.  It is here for names passed
+     on the command line.  */
+  while (name[0] == '.' && name[1] == '/' && name[2] != '\0')
+    {
+      name += 2;
+      while (*name == '/')
+       /* Skip following slashes: ".//foo" is "foo", not "/foo".  */
+       ++name;
+    }
+
+  if (*name == '\0')
+    {
+      /* It was all slashes!  Move back to the dot and truncate
+        it after the first slash, so it becomes just "./".  */
+      do
+       --name;
+      while (name[0] != '.');
+      name[2] = '\0';
+    }
+
+  return enter_file (xstrdup (name));
+}
+
+/* Toggle -d on receipt of SIGUSR1.  */
+
+static RETSIGTYPE
+debug_signal_handler (sig)
+     int sig;
+{
+  db_level = db_level ? DB_NONE : DB_BASIC;
+}
+
+static void
+decode_debug_flags ()
+{
+  char **pp;
+
+  if (debug_flag)
+    db_level = DB_ALL;
+
+  if (!db_flags)
+    return;
+
+  for (pp=db_flags->list; *pp; ++pp)
+    {
+      const char *p = *pp;
+
+      while (1)
+        {
+          switch (tolower (p[0]))
+            {
+            case 'a':
+              db_level |= DB_ALL;
+              break;
+            case 'b':
+              db_level |= DB_BASIC;
+              break;
+            case 'i':
+              db_level |= DB_BASIC | DB_IMPLICIT;
+              break;
+            case 'j':
+              db_level |= DB_JOBS;
+              break;
+            case 'm':
+              db_level |= DB_BASIC | DB_MAKEFILES;
+              break;
+            case 'v':
+              db_level |= DB_BASIC | DB_VERBOSE;
+              break;
+            default:
+              fatal (NILF, _("unknown debug level specification `%s'"), p);
+            }
+
+          while (*(++p) != '\0')
+            if (*p == ',' || *p == ' ')
+              break;
+
+          if (*p == '\0')
+            break;
+
+          ++p;
+        }
+    }
+}
+
+#ifdef WINDOWS32
+/*
+ * HANDLE runtime exceptions by avoiding a requestor on the GUI. Capture
+ * exception and print it to stderr instead.
+ *
+ * If ! DB_VERBOSE, just print a simple message and exit.
+ * If DB_VERBOSE, print a more verbose message.
+ * If compiled for DEBUG, let exception pass through to GUI so that
+ *   debuggers can attach.
+ */
+LONG WINAPI
+handle_runtime_exceptions( struct _EXCEPTION_POINTERS *exinfo )
+{
+  PEXCEPTION_RECORD exrec = exinfo->ExceptionRecord;
+  LPSTR cmdline = GetCommandLine();
+  LPSTR prg = strtok(cmdline, " ");
+  CHAR errmsg[1024];
+#ifdef USE_EVENT_LOG
+  HANDLE hEventSource;
+  LPTSTR lpszStrings[1];
+#endif
+
+  if (! ISDB (DB_VERBOSE))
+    {
+      sprintf(errmsg,
+              _("%s: Interrupt/Exception caught (code = 0x%x, addr = 0x%x)\n"),
+              prg, exrec->ExceptionCode, exrec->ExceptionAddress);
+      fprintf(stderr, errmsg);
+      exit(255);
+    }
+
+  sprintf(errmsg,
+          _("\nUnhandled exception filter called from program %s\nExceptionCode = %x\nExceptionFlags = %x\nExceptionAddress = %x\n"),
+          prg, exrec->ExceptionCode, exrec->ExceptionFlags,
+          exrec->ExceptionAddress);
+
+  if (exrec->ExceptionCode == EXCEPTION_ACCESS_VIOLATION
+      && exrec->NumberParameters >= 2)
+    sprintf(&errmsg[strlen(errmsg)],
+            (exrec->ExceptionInformation[0]
+             ? _("Access violation: write operation at address %x\n")
+             : _("Access violation: read operation at address %x\n")),
+            exrec->ExceptionInformation[1]);
+
+  /* turn this on if we want to put stuff in the event log too */
+#ifdef USE_EVENT_LOG
+  hEventSource = RegisterEventSource(NULL, "GNU Make");
+  lpszStrings[0] = errmsg;
+
+  if (hEventSource != NULL)
+    {
+      ReportEvent(hEventSource,         /* handle of event source */
+                  EVENTLOG_ERROR_TYPE,  /* event type */
+                  0,                    /* event category */
+                  0,                    /* event ID */
+                  NULL,                 /* current user's SID */
+                  1,                    /* strings in lpszStrings */
+                  0,                    /* no bytes of raw data */
+                  lpszStrings,          /* array of error strings */
+                  NULL);                /* no raw data */
+
+      (VOID) DeregisterEventSource(hEventSource);
+    }
+#endif
+
+  /* Write the error to stderr too */
+  fprintf(stderr, errmsg);
+
+#ifdef DEBUG
+  return EXCEPTION_CONTINUE_SEARCH;
+#else
+  exit(255);
+  return (255); /* not reached */
+#endif
+}
+
+/*
+ * On WIN32 systems we don't have the luxury of a /bin directory that
+ * is mapped globally to every drive mounted to the system. Since make could
+ * be invoked from any drive, and we don't want to propogate /bin/sh
+ * to every single drive. Allow ourselves a chance to search for
+ * a value for default shell here (if the default path does not exist).
+ */
+
+int
+find_and_set_default_shell(char *token)
+{
+  int sh_found = 0;
+  char* search_token;
+  PATH_VAR(sh_path);
+  extern char *default_shell;
+
+  if (!token)
+    search_token = default_shell;
+  else
+    search_token = token;
+
+  if (!no_default_sh_exe &&
+      (token == NULL || !strcmp(search_token, default_shell))) {
+    /* no new information, path already set or known */
+    sh_found = 1;
+  } else if (file_exists_p(search_token)) {
+    /* search token path was found */
+    sprintf(sh_path, "%s", search_token);
+    default_shell = xstrdup(w32ify(sh_path,0));
+    DB (DB_VERBOSE,
+        (_("find_and_set_shell setting default_shell = %s\n"), default_shell));
+    sh_found = 1;
+  } else {
+    char *p;
+    struct variable *v = lookup_variable ("Path", 4);
+
+    /*
+     * Search Path for shell
+     */
+    if (v && v->value) {
+      char *ep;
+
+      p  = v->value;
+      ep = strchr(p, PATH_SEPARATOR_CHAR);
+
+      while (ep && *ep) {
+        *ep = '\0';
+
+        if (dir_file_exists_p(p, search_token)) {
+          sprintf(sh_path, "%s/%s", p, search_token);
+          default_shell = xstrdup(w32ify(sh_path,0));
+          sh_found = 1;
+          *ep = PATH_SEPARATOR_CHAR;
+
+          /* terminate loop */
+          p += strlen(p);
+        } else {
+          *ep = PATH_SEPARATOR_CHAR;
+           p = ++ep;
+        }
+
+        ep = strchr(p, PATH_SEPARATOR_CHAR);
+      }
+
+      /* be sure to check last element of Path */
+      if (p && *p && dir_file_exists_p(p, search_token)) {
+          sprintf(sh_path, "%s/%s", p, search_token);
+          default_shell = xstrdup(w32ify(sh_path,0));
+          sh_found = 1;
+      }
+
+      if (sh_found)
+        DB (DB_VERBOSE,
+            (_("find_and_set_shell path search set default_shell = %s\n"),
+             default_shell));
+    }
+  }
+
+  /* naive test */
+  if (!unixy_shell && sh_found &&
+      (strstr(default_shell, "sh") || strstr(default_shell, "SH"))) {
+    unixy_shell = 1;
+    batch_mode_shell = 0;
+  }
+
+#ifdef BATCH_MODE_ONLY_SHELL
+  batch_mode_shell = 1;
+#endif
+
+  return (sh_found);
+}
+#endif  /* WINDOWS32 */
+
+#ifdef  __MSDOS__
+
+static void
+msdos_return_to_initial_directory ()
+{
+  if (directory_before_chdir)
+    chdir (directory_before_chdir);
+}
+#endif
+
+extern char *mktemp ();
+extern int mkstemp ();
+
+FILE *
+open_tmpfile(name, template)
+     char **name;
+     const char *template;
+{
+  int fd;
+
+#if defined HAVE_MKSTEMP || defined HAVE_MKTEMP
+# define TEMPLATE_LEN   strlen (template)
+#else
+# define TEMPLATE_LEN   L_tmpnam
+#endif
+  *name = xmalloc (TEMPLATE_LEN + 1);
+  strcpy (*name, template);
+
+#if defined HAVE_MKSTEMP && defined HAVE_FDOPEN
+  /* It's safest to use mkstemp(), if we can.  */
+  fd = mkstemp (*name);
+  if (fd == -1)
+    return 0;
+  return fdopen (fd, "w");
+#else
+# ifdef HAVE_MKTEMP
+  (void) mktemp (*name);
+# else
+  (void) tmpnam (*name);
+# endif
+
+# ifdef HAVE_FDOPEN
+  /* Can't use mkstemp(), but guard against a race condition.  */
+  fd = open (*name, O_CREAT|O_EXCL|O_WRONLY, 0600);
+  if (fd == -1)
+    return 0;
+  return fdopen (fd, "w");
+# else
+  /* Not secure, but what can we do?  */
+  return fopen (*name, "w");
+# endif
+#endif
+}
+
+
+#ifndef _AMIGA
+int
+main (argc, argv, envp)
+     int argc;
+     char **argv;
+     char **envp;
+#else
+int main (int argc, char ** argv)
+#endif
+{
+  static char *stdin_nm = 0;
+  register struct file *f;
+  register unsigned int i;
+  char **p;
+  struct dep *read_makefiles;
+  PATH_VAR (current_directory);
+#ifdef WINDOWS32
+  char *unix_path = NULL;
+  char *windows32_path = NULL;
+
+  SetUnhandledExceptionFilter(handle_runtime_exceptions);
+
+  /* start off assuming we have no shell */
+  unixy_shell = 0;
+  no_default_sh_exe = 1;
+#endif
+
+  default_goal_file = 0;
+  reading_file = 0;
+
+#if defined (__MSDOS__) && !defined (_POSIX_SOURCE)
+  /* Request the most powerful version of `system', to
+     make up for the dumb default shell.  */
+  __system_flags = (__system_redirect
+                   | __system_use_shell
+                   | __system_allow_multiple_cmds
+                   | __system_allow_long_cmds
+                   | __system_handle_null_commands
+                   | __system_emulate_chdir);
+
+#endif
+
+  /* Set up gettext/internationalization support.  */
+  setlocale (LC_ALL, "");
+  bindtextdomain (PACKAGE, LOCALEDIR);
+  textdomain (PACKAGE);
+
+#ifdef POSIX
+  sigemptyset (&fatal_signal_set);
+#define        ADD_SIG(sig)    sigaddset (&fatal_signal_set, sig)
+#else
+#ifdef HAVE_SIGSETMASK
+  fatal_signal_mask = 0;
+#define        ADD_SIG(sig)    fatal_signal_mask |= sigmask (sig)
+#else
+#define        ADD_SIG(sig)
+#endif
+#endif
+
+#define        FATAL_SIG(sig)                                                        \
+  if (bsd_signal (sig, fatal_error_signal) == SIG_IGN)                       \
+    bsd_signal (sig, SIG_IGN);                                               \
+  else                                                                       \
+    ADD_SIG (sig);
+
+#ifdef SIGHUP
+  FATAL_SIG (SIGHUP);
+#endif
+#ifdef SIGQUIT
+  FATAL_SIG (SIGQUIT);
+#endif
+  FATAL_SIG (SIGINT);
+  FATAL_SIG (SIGTERM);
+
+#ifdef __MSDOS__
+  /* Windows 9X delivers FP exceptions in child programs to their
+     parent!  We don't want Make to die when a child divides by zero,
+     so we work around that lossage by catching SIGFPE.  */
+  FATAL_SIG (SIGFPE);
+#endif
+
+#ifdef SIGDANGER
+  FATAL_SIG (SIGDANGER);
+#endif
+#ifdef SIGXCPU
+  FATAL_SIG (SIGXCPU);
+#endif
+#ifdef SIGXFSZ
+  FATAL_SIG (SIGXFSZ);
+#endif
+
+#undef FATAL_SIG
+
+  /* Do not ignore the child-death signal.  This must be done before
+     any children could possibly be created; otherwise, the wait
+     functions won't work on systems with the SVR4 ECHILD brain
+     damage, if our invoker is ignoring this signal.  */
+
+#ifdef HAVE_WAIT_NOHANG
+# if defined SIGCHLD
+  (void) bsd_signal (SIGCHLD, SIG_DFL);
+# endif
+# if defined SIGCLD && SIGCLD != SIGCHLD
+  (void) bsd_signal (SIGCLD, SIG_DFL);
+# endif
+#endif
+
+  /* Make sure stdout is line-buffered.  */
+
+#ifdef HAVE_SETVBUF
+# ifdef SETVBUF_REVERSED
+  setvbuf (stdout, _IOLBF, xmalloc (BUFSIZ), BUFSIZ);
+# else /* setvbuf not reversed.  */
+  /* Some buggy systems lose if we pass 0 instead of allocating ourselves.  */
+  setvbuf (stdout, (char *) 0, _IOLBF, BUFSIZ);
+# endif        /* setvbuf reversed.  */
+#elif HAVE_SETLINEBUF
+  setlinebuf (stdout);
+#endif /* setlinebuf missing.  */
+
+  /* Figure out where this program lives.  */
+
+  if (argv[0] == 0)
+    argv[0] = "";
+  if (argv[0][0] == '\0')
+    program = "make";
+  else
+    {
+#ifdef VMS
+      program = strrchr (argv[0], ']');
+#else
+      program = strrchr (argv[0], '/');
+#endif
+#ifdef __MSDOS__
+      if (program == 0)
+       program = strrchr (argv[0], '\\');
+      else
+       {
+         /* Some weird environments might pass us argv[0] with
+            both kinds of slashes; we must find the rightmost.  */
+         char *p = strrchr (argv[0], '\\');
+         if (p && p > program)
+           program = p;
+       }
+      if (program == 0 && argv[0][1] == ':')
+       program = argv[0] + 1;
+#endif
+      if (program == 0)
+       program = argv[0];
+      else
+       ++program;
+    }
+
+  /* Set up to access user data (files).  */
+  user_access ();
+
+  initialize_global_hash_tables ();
+
+  /* Figure out where we are.  */
+
+#ifdef WINDOWS32
+  if (getcwd_fs (current_directory, GET_PATH_MAX) == 0)
+#else
+  if (getcwd (current_directory, GET_PATH_MAX) == 0)
+#endif
+    {
+#ifdef HAVE_GETCWD
+      perror_with_name ("getcwd: ", "");
+#else
+      error (NILF, "getwd: %s", current_directory);
+#endif
+      current_directory[0] = '\0';
+      directory_before_chdir = 0;
+    }
+  else
+    directory_before_chdir = xstrdup (current_directory);
+#ifdef  __MSDOS__
+  /* Make sure we will return to the initial directory, come what may.  */
+  atexit (msdos_return_to_initial_directory);
+#endif
+
+  /* Initialize the special variables.  */
+  define_variable (".VARIABLES", 10, "", o_default, 0)->special = 1;
+  /* define_variable (".TARGETS", 8, "", o_default, 0); */
+
+  /* Read in variables from the environment.  It is important that this be
+     done before $(MAKE) is figured out so its definitions will not be
+     from the environment.  */
+
+#ifndef _AMIGA
+  for (i = 0; envp[i] != 0; ++i)
+    {
+      int do_not_define;
+      register char *ep = envp[i];
+
+      /* by default, everything gets defined and exported */
+      do_not_define = 0;
+
+      while (*ep != '=')
+        ++ep;
+#ifdef WINDOWS32
+      if (!unix_path && strneq(envp[i], "PATH=", 5))
+        unix_path = ep+1;
+      else if (!windows32_path && !strnicmp(envp[i], "Path=", 5)) {
+        do_not_define = 1; /* it gets defined after loop exits */
+        windows32_path = ep+1;
+      }
+#endif
+      /* The result of pointer arithmetic is cast to unsigned int for
+        machines where ptrdiff_t is a different size that doesn't widen
+        the same.  */
+      if (!do_not_define)
+        define_variable (envp[i], (unsigned int) (ep - envp[i]),
+                         ep + 1, o_env, 1)
+       /* Force exportation of every variable culled from the environment.
+          We used to rely on target_environment's v_default code to do this.
+          But that does not work for the case where an environment variable
+          is redefined in a makefile with `override'; it should then still
+          be exported, because it was originally in the environment.  */
+       ->export = v_export;
+    }
+#ifdef WINDOWS32
+    /*
+     * Make sure that this particular spelling of 'Path' is available
+     */
+    if (windows32_path)
+      define_variable("Path", 4, windows32_path, o_env, 1)->export = v_export;
+    else if (unix_path)
+      define_variable("Path", 4, unix_path, o_env, 1)->export = v_export;
+    else
+      define_variable("Path", 4, "", o_env, 1)->export = v_export;
+
+    /*
+     * PATH defaults to Path iff PATH not found and Path is found.
+     */
+    if (!unix_path && windows32_path)
+      define_variable("PATH", 4, windows32_path, o_env, 1)->export = v_export;
+#endif
+#else /* For Amiga, read the ENV: device, ignoring all dirs */
+    {
+       BPTR env, file, old;
+       char buffer[1024];
+       int len;
+       __aligned struct FileInfoBlock fib;
+
+       env = Lock ("ENV:", ACCESS_READ);
+       if (env)
+       {
+           old = CurrentDir (DupLock(env));
+           Examine (env, &fib);
+
+           while (ExNext (env, &fib))
+           {
+               if (fib.fib_DirEntryType < 0) /* File */
+               {
+                   /* Define an empty variable. It will be filled in
+                       variable_lookup(). Makes startup quite a bit
+                       faster. */
+                       define_variable (fib.fib_FileName,
+                           strlen (fib.fib_FileName),
+                       "", o_env, 1)->export = v_export;
+               }
+           }
+           UnLock (env);
+           UnLock(CurrentDir(old));
+       }
+    }
+#endif
+
+  /* Decode the switches.  */
+
+  decode_env_switches ("MAKEFLAGS", 9);
+#if 0
+  /* People write things like:
+       MFLAGS="CC=gcc -pipe" "CFLAGS=-g"
+     and we set the -p, -i and -e switches.  Doesn't seem quite right.  */
+  decode_env_switches ("MFLAGS", 6);
+#endif
+  decode_switches (argc, argv, 0);
+#ifdef WINDOWS32
+  if (suspend_flag) {
+        fprintf(stderr, "%s (pid = %d)\n", argv[0], GetCurrentProcessId());
+        fprintf(stderr, _("%s is suspending for 30 seconds..."), argv[0]);
+        Sleep(30 * 1000);
+        fprintf(stderr, _("done sleep(30). Continuing.\n"));
+  }
+#endif
+
+  decode_debug_flags ();
+
+  /* Print version information.  */
+
+  if (print_version_flag || print_data_base_flag || db_level)
+    print_version ();
+
+  /* `make --version' is supposed to just print the version and exit.  */
+  if (print_version_flag)
+    die (0);
+
+#ifndef VMS
+  /* Set the "MAKE_COMMAND" variable to the name we were invoked with.
+     (If it is a relative pathname with a slash, prepend our directory name
+     so the result will run the same program regardless of the current dir.
+     If it is a name with no slash, we can only hope that PATH did not
+     find it in the current directory.)  */
+#ifdef WINDOWS32
+  /*
+   * Convert from backslashes to forward slashes for
+   * programs like sh which don't like them. Shouldn't
+   * matter if the path is one way or the other for
+   * CreateProcess().
+   */
+  if (strpbrk(argv[0], "/:\\") ||
+      strstr(argv[0], "..") ||
+      strneq(argv[0], "//", 2))
+    argv[0] = xstrdup(w32ify(argv[0],1));
+#else /* WINDOWS32 */
+#ifdef __MSDOS__
+  if (strchr (argv[0], '\\'))
+    {
+      char *p;
+
+      argv[0] = xstrdup (argv[0]);
+      for (p = argv[0]; *p; p++)
+       if (*p == '\\')
+         *p = '/';
+    }
+  /* If argv[0] is not in absolute form, prepend the current
+     directory.  This can happen when Make is invoked by another DJGPP
+     program that uses a non-absolute name.  */
+  if (current_directory[0] != '\0'
+      && argv[0] != 0
+      && (argv[0][0] != '/' && (argv[0][0] == '\0' || argv[0][1] != ':')))
+    argv[0] = concat (current_directory, "/", argv[0]);
+#else  /* !__MSDOS__ */
+  if (current_directory[0] != '\0'
+      && argv[0] != 0 && argv[0][0] != '/' && strchr (argv[0], '/') != 0)
+    argv[0] = concat (current_directory, "/", argv[0]);
+#endif /* !__MSDOS__ */
+#endif /* WINDOWS32 */
+#endif
+
+  /* The extra indirection through $(MAKE_COMMAND) is done
+     for hysterical raisins.  */
+  (void) define_variable ("MAKE_COMMAND", 12, argv[0], o_default, 0);
+  (void) define_variable ("MAKE", 4, "$(MAKE_COMMAND)", o_default, 1);
+
+  if (command_variables != 0)
+    {
+      struct command_variable *cv;
+      struct variable *v;
+      unsigned int len = 0;
+      char *value, *p;
+
+      /* Figure out how much space will be taken up by the command-line
+        variable definitions.  */
+      for (cv = command_variables; cv != 0; cv = cv->next)
+       {
+         v = cv->variable;
+         len += 2 * strlen (v->name);
+         if (! v->recursive)
+           ++len;
+         ++len;
+         len += 2 * strlen (v->value);
+         ++len;
+       }
+
+      /* Now allocate a buffer big enough and fill it.  */
+      p = value = (char *) alloca (len);
+      for (cv = command_variables; cv != 0; cv = cv->next)
+       {
+         v = cv->variable;
+         p = quote_for_env (p, v->name);
+         if (! v->recursive)
+           *p++ = ':';
+         *p++ = '=';
+         p = quote_for_env (p, v->value);
+         *p++ = ' ';
+       }
+      p[-1] = '\0';            /* Kill the final space and terminate.  */
+
+      /* Define an unchangeable variable with a name that no POSIX.2
+        makefile could validly use for its own variable.  */
+      (void) define_variable ("-*-command-variables-*-", 23,
+                             value, o_automatic, 0);
+
+      /* Define the variable; this will not override any user definition.
+         Normally a reference to this variable is written into the value of
+         MAKEFLAGS, allowing the user to override this value to affect the
+         exported value of MAKEFLAGS.  In POSIX-pedantic mode, we cannot
+         allow the user's setting of MAKEOVERRIDES to affect MAKEFLAGS, so
+         a reference to this hidden variable is written instead. */
+      (void) define_variable ("MAKEOVERRIDES", 13,
+                             "${-*-command-variables-*-}", o_env, 1);
+    }
+
+  /* If there were -C flags, move ourselves about.  */
+  if (directories != 0)
+    for (i = 0; directories->list[i] != 0; ++i)
+      {
+       char *dir = directories->list[i];
+       if (dir[0] == '~')
+         {
+           char *expanded = tilde_expand (dir);
+           if (expanded != 0)
+             dir = expanded;
+         }
+       if (chdir (dir) < 0)
+         pfatal_with_name (dir);
+       if (dir != directories->list[i])
+         free (dir);
+      }
+
+#ifdef WINDOWS32
+  /*
+   * THIS BLOCK OF CODE MUST COME AFTER chdir() CALL ABOVE IN ORDER
+   * TO NOT CONFUSE THE DEPENDENCY CHECKING CODE IN implicit.c.
+   *
+   * The functions in dir.c can incorrectly cache information for "."
+   * before we have changed directory and this can cause file
+   * lookups to fail because the current directory (.) was pointing
+   * at the wrong place when it was first evaluated.
+   */
+   no_default_sh_exe = !find_and_set_default_shell(NULL);
+
+#endif /* WINDOWS32 */
+  /* Figure out the level of recursion.  */
+  {
+    struct variable *v = lookup_variable (MAKELEVEL_NAME, MAKELEVEL_LENGTH);
+    if (v != 0 && v->value[0] != '\0' && v->value[0] != '-')
+      makelevel = (unsigned int) atoi (v->value);
+    else
+      makelevel = 0;
+  }
+
+  /* Except under -s, always do -w in sub-makes and under -C.  */
+  if (!silent_flag && (directories != 0 || makelevel > 0))
+    print_directory_flag = 1;
+
+  /* Let the user disable that with --no-print-directory.  */
+  if (inhibit_print_directory_flag)
+    print_directory_flag = 0;
+
+  /* If -R was given, set -r too (doesn't make sense otherwise!)  */
+  if (no_builtin_variables_flag)
+    no_builtin_rules_flag = 1;
+
+  /* Construct the list of include directories to search.  */
+
+  construct_include_path (include_directories == 0 ? (char **) 0
+                         : include_directories->list);
+
+  /* Figure out where we are now, after chdir'ing.  */
+  if (directories == 0)
+    /* We didn't move, so we're still in the same place.  */
+    starting_directory = current_directory;
+  else
+    {
+#ifdef WINDOWS32
+      if (getcwd_fs (current_directory, GET_PATH_MAX) == 0)
+#else
+      if (getcwd (current_directory, GET_PATH_MAX) == 0)
+#endif
+       {
+#ifdef HAVE_GETCWD
+         perror_with_name ("getcwd: ", "");
+#else
+         error (NILF, "getwd: %s", current_directory);
+#endif
+         starting_directory = 0;
+       }
+      else
+       starting_directory = current_directory;
+    }
+
+  (void) define_variable ("CURDIR", 6, current_directory, o_default, 0);
+
+  /* Read any stdin makefiles into temporary files.  */
+
+  if (makefiles != 0)
+    {
+      register unsigned int i;
+      for (i = 0; i < makefiles->idx; ++i)
+       if (makefiles->list[i][0] == '-' && makefiles->list[i][1] == '\0')
+         {
+           /* This makefile is standard input.  Since we may re-exec
+              and thus re-read the makefiles, we read standard input
+              into a temporary file and read from that.  */
+           FILE *outfile;
+            char *template, *tmpdir;
+
+            if (stdin_nm)
+              fatal (NILF, _("Makefile from standard input specified twice."));
+
+#ifdef VMS
+# define DEFAULT_TMPDIR     "sys$scratch:"
+#else
+# ifdef P_tmpdir
+#  define DEFAULT_TMPDIR    P_tmpdir
+# else
+#  define DEFAULT_TMPDIR    "/tmp"
+# endif
+#endif
+#define DEFAULT_TMPFILE     "GmXXXXXX"
+
+           if (((tmpdir = getenv ("TMPDIR")) == NULL || *tmpdir == '\0')
+#if defined __MSDOS__ || defined(WINDOWS32)
+                /* These are also used commonly on these platforms.  */
+                && ((tmpdir = getenv ("TEMP")) == NULL || *tmpdir == '\0')
+                && ((tmpdir = getenv ("TMP")) == NULL || *tmpdir == '\0')
+#endif
+               )
+             tmpdir = DEFAULT_TMPDIR;
+
+            template = (char *) alloca (strlen (tmpdir)
+                                        + sizeof (DEFAULT_TMPFILE) + 1);
+           strcpy (template, tmpdir);
+
+#ifdef HAVE_DOS_PATHS
+           if (strchr ("/\\", template[strlen (template) - 1]) == NULL)
+             strcat (template, "/");
+#else
+# ifndef VMS
+           if (template[strlen (template) - 1] != '/')
+             strcat (template, "/");
+# endif /* !VMS */
+#endif /* !HAVE_DOS_PATHS */
+
+           strcat (template, DEFAULT_TMPFILE);
+           outfile = open_tmpfile (&stdin_nm, template);
+           if (outfile == 0)
+             pfatal_with_name (_("fopen (temporary file)"));
+           while (!feof (stdin))
+             {
+               char buf[2048];
+               unsigned int n = fread (buf, 1, sizeof (buf), stdin);
+               if (n > 0 && fwrite (buf, 1, n, outfile) != n)
+                 pfatal_with_name (_("fwrite (temporary file)"));
+             }
+           (void) fclose (outfile);
+
+           /* Replace the name that read_all_makefiles will
+              see with the name of the temporary file.  */
+            makefiles->list[i] = xstrdup (stdin_nm);
+
+           /* Make sure the temporary file will not be remade.  */
+           f = enter_file (stdin_nm);
+           f->updated = 1;
+           f->update_status = 0;
+           f->command_state = cs_finished;
+           /* Can't be intermediate, or it'll be removed too early for
+               make re-exec.  */
+           f->intermediate = 0;
+           f->dontcare = 0;
+         }
+    }
+
+#if defined(MAKE_JOBSERVER) || !defined(HAVE_WAIT_NOHANG)
+  /* Set up to handle children dying.  This must be done before
+     reading in the makefiles so that `shell' function calls will work.
+
+     If we don't have a hanging wait we have to fall back to old, broken
+     functionality here and rely on the signal handler and counting
+     children.
+
+     If we're using the jobs pipe we need a signal handler so that
+     SIGCHLD is not ignored; we need it to interrupt the read(2) of the
+     jobserver pipe in job.c if we're waiting for a token.
+
+     If none of these are true, we don't need a signal handler at all.  */
+  {
+    extern RETSIGTYPE child_handler PARAMS ((int sig));
+# if defined SIGCHLD
+    bsd_signal (SIGCHLD, child_handler);
+# endif
+# if defined SIGCLD && SIGCLD != SIGCHLD
+    bsd_signal (SIGCLD, child_handler);
+# endif
+  }
+#endif
+
+  /* Let the user send us SIGUSR1 to toggle the -d flag during the run.  */
+#ifdef SIGUSR1
+  bsd_signal (SIGUSR1, debug_signal_handler);
+#endif
+
+  /* Define the initial list of suffixes for old-style rules.  */
+
+  set_default_suffixes ();
+
+  /* Define the file rules for the built-in suffix rules.  These will later
+     be converted into pattern rules.  We used to do this in
+     install_default_implicit_rules, but since that happens after reading
+     makefiles, it results in the built-in pattern rules taking precedence
+     over makefile-specified suffix rules, which is wrong.  */
+
+  install_default_suffix_rules ();
+
+  /* Define some internal and special variables.  */
+
+  define_automatic_variables ();
+
+  /* Set up the MAKEFLAGS and MFLAGS variables
+     so makefiles can look at them.  */
+
+  define_makeflags (0, 0);
+
+  /* Define the default variables.  */
+  define_default_variables ();
+
+  /* Read all the makefiles.  */
+
+  default_file = enter_file (".DEFAULT");
+
+  read_makefiles
+    = read_all_makefiles (makefiles == 0 ? (char **) 0 : makefiles->list);
+
+#ifdef WINDOWS32
+  /* look one last time after reading all Makefiles */
+  if (no_default_sh_exe)
+    no_default_sh_exe = !find_and_set_default_shell(NULL);
+
+  if (no_default_sh_exe && job_slots != 1) {
+    error (NILF, _("Do not specify -j or --jobs if sh.exe is not available."));
+    error (NILF, _("Resetting make for single job mode."));
+    job_slots = 1;
+  }
+#endif /* WINDOWS32 */
+
+#ifdef __MSDOS__
+  /* We need to know what kind of shell we will be using.  */
+  {
+    extern int _is_unixy_shell (const char *_path);
+    struct variable *shv = lookup_variable ("SHELL", 5);
+    extern int unixy_shell;
+    extern char *default_shell;
+
+    if (shv && *shv->value)
+      {
+       char *shell_path = recursively_expand(shv);
+
+       if (shell_path && _is_unixy_shell (shell_path))
+         unixy_shell = 1;
+       else
+         unixy_shell = 0;
+       if (shell_path)
+         default_shell = shell_path;
+      }
+  }
+#endif /* __MSDOS__ */
+
+  /* Decode switches again, in case the variables were set by the makefile.  */
+  decode_env_switches ("MAKEFLAGS", 9);
+#if 0
+  decode_env_switches ("MFLAGS", 6);
+#endif
+
+#ifdef __MSDOS__
+  if (job_slots != 1)
+    {
+      error (NILF,
+             _("Parallel jobs (-j) are not supported on this platform."));
+      error (NILF, _("Resetting to single job (-j1) mode."));
+      job_slots = 1;
+    }
+#endif
+
+#ifdef MAKE_JOBSERVER
+  /* If the jobserver-fds option is seen, make sure that -j is reasonable.  */
+
+  if (jobserver_fds)
+  {
+    char *cp;
+
+    for (i=1; i < jobserver_fds->idx; ++i)
+      if (!streq (jobserver_fds->list[0], jobserver_fds->list[i]))
+        fatal (NILF, _("internal error: multiple --jobserver-fds options"));
+
+    /* Now parse the fds string and make sure it has the proper format.  */
+
+    cp = jobserver_fds->list[0];
+
+    if (sscanf (cp, "%d,%d", &job_fds[0], &job_fds[1]) != 2)
+      fatal (NILF,
+             _("internal error: invalid --jobserver-fds string `%s'"), cp);
+
+    /* The combination of a pipe + !job_slots means we're using the
+       jobserver.  If !job_slots and we don't have a pipe, we can start
+       infinite jobs.  If we see both a pipe and job_slots >0 that means the
+       user set -j explicitly.  This is broken; in this case obey the user
+       (ignore the jobserver pipe for this make) but print a message.  */
+
+    if (job_slots > 0)
+      error (NILF,
+             _("warning: -jN forced in submake: disabling jobserver mode."));
+
+    /* Create a duplicate pipe, that will be closed in the SIGCHLD
+       handler.  If this fails with EBADF, the parent has closed the pipe
+       on us because it didn't think we were a submake.  If so, print a
+       warning then default to -j1.  */
+
+    else if ((job_rfd = dup (job_fds[0])) < 0)
+      {
+        if (errno != EBADF)
+          pfatal_with_name (_("dup jobserver"));
+
+        error (NILF,
+               _("warning: jobserver unavailable: using -j1.  Add `+' to parent make rule."));
+        job_slots = 1;
+      }
+
+    if (job_slots > 0)
+      {
+        close (job_fds[0]);
+        close (job_fds[1]);
+        job_fds[0] = job_fds[1] = -1;
+        free (jobserver_fds->list);
+        free (jobserver_fds);
+        jobserver_fds = 0;
+      }
+  }
+
+  /* If we have >1 slot but no jobserver-fds, then we're a top-level make.
+     Set up the pipe and install the fds option for our children.  */
+
+  if (job_slots > 1)
+    {
+      char c = '+';
+
+      if (pipe (job_fds) < 0 || (job_rfd = dup (job_fds[0])) < 0)
+       pfatal_with_name (_("creating jobs pipe"));
+
+      /* Every make assumes that it always has one job it can run.  For the
+         submakes it's the token they were given by their parent.  For the
+         top make, we just subtract one from the number the user wants.  We
+         want job_slots to be 0 to indicate we're using the jobserver.  */
+
+      while (--job_slots)
+        if (write (job_fds[1], &c, 1) != 1)
+         pfatal_with_name (_("init jobserver pipe"));
+
+      /* Fill in the jobserver_fds struct for our children.  */
+
+      jobserver_fds = (struct stringlist *)
+                        xmalloc (sizeof (struct stringlist));
+      jobserver_fds->list = (char **) xmalloc (sizeof (char *));
+      jobserver_fds->list[0] = xmalloc ((sizeof ("1024")*2)+1);
+
+      sprintf (jobserver_fds->list[0], "%d,%d", job_fds[0], job_fds[1]);
+      jobserver_fds->idx = 1;
+      jobserver_fds->max = 1;
+    }
+#endif
+
+  /* Set up MAKEFLAGS and MFLAGS again, so they will be right.  */
+
+  define_makeflags (1, 0);
+
+  /* Make each `struct dep' point at the `struct file' for the file
+     depended on.  Also do magic for special targets.  */
+
+  snap_deps ();
+
+  /* Convert old-style suffix rules to pattern rules.  It is important to
+     do this before installing the built-in pattern rules below, so that
+     makefile-specified suffix rules take precedence over built-in pattern
+     rules.  */
+
+  convert_to_pattern ();
+
+  /* Install the default implicit pattern rules.
+     This used to be done before reading the makefiles.
+     But in that case, built-in pattern rules were in the chain
+     before user-defined ones, so they matched first.  */
+
+  install_default_implicit_rules ();
+
+  /* Compute implicit rule limits.  */
+
+  count_implicit_rule_limits ();
+
+  /* Construct the listings of directories in VPATH lists.  */
+
+  build_vpath_lists ();
+
+  /* Mark files given with -o flags as very old
+     and as having been updated already, and files given with -W flags as
+     brand new (time-stamp as far as possible into the future).  */
+
+  if (old_files != 0)
+    for (p = old_files->list; *p != 0; ++p)
+      {
+       f = enter_command_line_file (*p);
+       f->last_mtime = f->mtime_before_update = OLD_MTIME;
+       f->updated = 1;
+       f->update_status = 0;
+       f->command_state = cs_finished;
+      }
+
+  if (new_files != 0)
+    {
+      for (p = new_files->list; *p != 0; ++p)
+       {
+         f = enter_command_line_file (*p);
+         f->last_mtime = f->mtime_before_update = NEW_MTIME;
+       }
+    }
+
+  /* Initialize the remote job module.  */
+  remote_setup ();
+
+  if (read_makefiles != 0)
+    {
+      /* Update any makefiles if necessary.  */
+
+      FILE_TIMESTAMP *makefile_mtimes = 0;
+      unsigned int mm_idx = 0;
+      char **nargv = argv;
+      int nargc = argc;
+      int orig_db_level = db_level;
+
+      if (! ISDB (DB_MAKEFILES))
+        db_level = DB_NONE;
+
+      DB (DB_BASIC, (_("Updating makefiles....\n")));
+
+      /* Remove any makefiles we don't want to try to update.
+        Also record the current modtimes so we can compare them later.  */
+      {
+       register struct dep *d, *last;
+       last = 0;
+       d = read_makefiles;
+       while (d != 0)
+         {
+           register struct file *f = d->file;
+           if (f->double_colon)
+             for (f = f->double_colon; f != NULL; f = f->prev)
+               {
+                 if (f->deps == 0 && f->cmds != 0)
+                   {
+                     /* This makefile is a :: target with commands, but
+                        no dependencies.  So, it will always be remade.
+                        This might well cause an infinite loop, so don't
+                        try to remake it.  (This will only happen if
+                        your makefiles are written exceptionally
+                        stupidly; but if you work for Athena, that's how
+                        you write your makefiles.)  */
+
+                     DB (DB_VERBOSE,
+                          (_("Makefile `%s' might loop; not remaking it.\n"),
+                           f->name));
+
+                     if (last == 0)
+                       read_makefiles = d->next;
+                     else
+                       last->next = d->next;
+
+                     /* Free the storage.  */
+                     free ((char *) d);
+
+                     d = last == 0 ? read_makefiles : last->next;
+
+                     break;
+                   }
+               }
+           if (f == NULL || !f->double_colon)
+             {
+                makefile_mtimes = (FILE_TIMESTAMP *)
+                  xrealloc ((char *) makefile_mtimes,
+                            (mm_idx + 1) * sizeof (FILE_TIMESTAMP));
+               makefile_mtimes[mm_idx++] = file_mtime_no_search (d->file);
+               last = d;
+               d = d->next;
+             }
+         }
+      }
+
+      /* Set up `MAKEFLAGS' specially while remaking makefiles.  */
+      define_makeflags (1, 1);
+
+      switch (update_goal_chain (read_makefiles, 1))
+       {
+       case 1:
+          /* The only way this can happen is if the user specified -q and asked
+           * for one of the makefiles to be remade as a target on the command
+           * line.  Since we're not actually updating anything with -q we can
+           * treat this as "did nothing".
+           */
+
+       case -1:
+         /* Did nothing.  */
+         break;
+
+       case 2:
+         /* Failed to update.  Figure out if we care.  */
+         {
+           /* Nonzero if any makefile was successfully remade.  */
+           int any_remade = 0;
+           /* Nonzero if any makefile we care about failed
+              in updating or could not be found at all.  */
+           int any_failed = 0;
+           register unsigned int i;
+            struct dep *d;
+
+           for (i = 0, d = read_makefiles; d != 0; ++i, d = d->next)
+              {
+                /* Reset the considered flag; we may need to look at the file
+                   again to print an error.  */
+                d->file->considered = 0;
+
+                if (d->file->updated)
+                  {
+                    /* This makefile was updated.  */
+                    if (d->file->update_status == 0)
+                      {
+                        /* It was successfully updated.  */
+                        any_remade |= (file_mtime_no_search (d->file)
+                                       != makefile_mtimes[i]);
+                      }
+                    else if (! (d->changed & RM_DONTCARE))
+                      {
+                        FILE_TIMESTAMP mtime;
+                        /* The update failed and this makefile was not
+                           from the MAKEFILES variable, so we care.  */
+                        error (NILF, _("Failed to remake makefile `%s'."),
+                               d->file->name);
+                        mtime = file_mtime_no_search (d->file);
+                        any_remade |= (mtime != NONEXISTENT_MTIME
+                                       && mtime != makefile_mtimes[i]);
+                      }
+                  }
+                else
+                  /* This makefile was not found at all.  */
+                  if (! (d->changed & RM_DONTCARE))
+                    {
+                      /* This is a makefile we care about.  See how much.  */
+                      if (d->changed & RM_INCLUDED)
+                        /* An included makefile.  We don't need
+                           to die, but we do want to complain.  */
+                        error (NILF,
+                               _("Included makefile `%s' was not found."),
+                               dep_name (d));
+                      else
+                        {
+                          /* A normal makefile.  We must die later.  */
+                          error (NILF, _("Makefile `%s' was not found"),
+                                 dep_name (d));
+                          any_failed = 1;
+                        }
+                    }
+              }
+            /* Reset this to empty so we get the right error message below.  */
+            read_makefiles = 0;
+
+           if (any_remade)
+             goto re_exec;
+           if (any_failed)
+             die (2);
+            break;
+         }
+
+       case 0:
+       re_exec:
+         /* Updated successfully.  Re-exec ourselves.  */
+
+         remove_intermediates (0);
+
+         if (print_data_base_flag)
+           print_data_base ();
+
+         log_working_directory (0);
+
+         if (makefiles != 0)
+           {
+             /* These names might have changed.  */
+             register unsigned int i, j = 0;
+             for (i = 1; i < argc; ++i)
+               if (strneq (argv[i], "-f", 2)) /* XXX */
+                 {
+                   char *p = &argv[i][2];
+                   if (*p == '\0')
+                     argv[++i] = makefiles->list[j];
+                   else
+                     argv[i] = concat ("-f", makefiles->list[j], "");
+                   ++j;
+                 }
+           }
+
+          /* Add -o option for the stdin temporary file, if necessary.  */
+          if (stdin_nm)
+            {
+              nargv = (char **) xmalloc ((nargc + 2) * sizeof (char *));
+              bcopy ((char *) argv, (char *) nargv, argc * sizeof (char *));
+              nargv[nargc++] = concat ("-o", stdin_nm, "");
+              nargv[nargc] = 0;
+            }
+
+         if (directories != 0 && directories->idx > 0)
+           {
+             char bad;
+             if (directory_before_chdir != 0)
+               {
+                 if (chdir (directory_before_chdir) < 0)
+                   {
+                     perror_with_name ("chdir", "");
+                     bad = 1;
+                   }
+                 else
+                   bad = 0;
+               }
+             else
+               bad = 1;
+             if (bad)
+               fatal (NILF, _("Couldn't change back to original directory."));
+           }
+
+#ifndef _AMIGA
+         for (p = environ; *p != 0; ++p)
+           if ((*p)[MAKELEVEL_LENGTH] == '='
+               && strneq (*p, MAKELEVEL_NAME, MAKELEVEL_LENGTH))
+             {
+               /* The SGI compiler apparently can't understand
+                  the concept of storing the result of a function
+                  in something other than a local variable.  */
+               char *sgi_loses;
+               sgi_loses = (char *) alloca (40);
+               *p = sgi_loses;
+               sprintf (*p, "%s=%u", MAKELEVEL_NAME, makelevel);
+               break;
+             }
+#else /* AMIGA */
+         {
+           char buffer[256];
+           int len;
+
+           len = GetVar (MAKELEVEL_NAME, buffer, sizeof (buffer), GVF_GLOBAL_ONLY);
+
+           if (len != -1)
+           {
+           sprintf (buffer, "%u", makelevel);
+             SetVar (MAKELEVEL_NAME, buffer, -1, GVF_GLOBAL_ONLY);
+           }
+         }
+#endif
+
+         if (ISDB (DB_BASIC))
+           {
+             char **p;
+             fputs (_("Re-executing:"), stdout);
+             for (p = nargv; *p != 0; ++p)
+               printf (" %s", *p);
+             putchar ('\n');
+           }
+
+         fflush (stdout);
+         fflush (stderr);
+
+          /* Close the dup'd jobserver pipe if we opened one.  */
+          if (job_rfd >= 0)
+            close (job_rfd);
+
+#ifndef _AMIGA
+         exec_command (nargv, environ);
+#else
+         exec_command (nargv);
+         exit (0);
+#endif
+         /* NOTREACHED */
+
+       default:
+#define BOGUS_UPDATE_STATUS 0
+         assert (BOGUS_UPDATE_STATUS);
+         break;
+       }
+
+      db_level = orig_db_level;
+    }
+
+  /* Set up `MAKEFLAGS' again for the normal targets.  */
+  define_makeflags (1, 0);
+
+  /* If there is a temp file from reading a makefile from stdin, get rid of
+     it now.  */
+  if (stdin_nm && unlink (stdin_nm) < 0 && errno != ENOENT)
+    perror_with_name (_("unlink (temporary file): "), stdin_nm);
+
+  {
+    int status;
+
+    /* If there were no command-line goals, use the default.  */
+    if (goals == 0)
+      {
+       if (default_goal_file != 0)
+         {
+           goals = (struct dep *) xmalloc (sizeof (struct dep));
+           goals->next = 0;
+           goals->name = 0;
+            goals->ignore_mtime = 0;
+           goals->file = default_goal_file;
+         }
+      }
+    else
+      lastgoal->next = 0;
+
+    if (!goals)
+      {
+        if (read_makefiles == 0)
+          fatal (NILF, _("No targets specified and no makefile found"));
+
+        fatal (NILF, _("No targets"));
+      }
+
+    /* Update the goals.  */
+
+    DB (DB_BASIC, (_("Updating goal targets....\n")));
+
+    switch (update_goal_chain (goals, 0))
+    {
+      case -1:
+        /* Nothing happened.  */
+      case 0:
+        /* Updated successfully.  */
+        status = MAKE_SUCCESS;
+        break;
+      case 1:
+        /* We are under -q and would run some commands.  */
+        status = MAKE_TROUBLE;
+        break;
+      case 2:
+        /* Updating failed.  POSIX.2 specifies exit status >1 for this;
+           but in VMS, there is only success and failure.  */
+        status = MAKE_FAILURE;
+        break;
+      default:
+        abort ();
+    }
+
+    /* If we detected some clock skew, generate one last warning */
+    if (clock_skew_detected)
+      error (NILF,
+             _("warning:  Clock skew detected.  Your build may be incomplete."));
+
+    /* Exit.  */
+    die (status);
+  }
+
+  return 0;
+}
+\f
+/* Parsing of arguments, decoding of switches.  */
+
+static char options[1 + sizeof (switches) / sizeof (switches[0]) * 3];
+static struct option long_options[(sizeof (switches) / sizeof (switches[0])) +
+                                 (sizeof (long_option_aliases) /
+                                  sizeof (long_option_aliases[0]))];
+
+/* Fill in the string and vector for getopt.  */
+static void
+init_switches ()
+{
+  register char *p;
+  register int c;
+  register unsigned int i;
+
+  if (options[0] != '\0')
+    /* Already done.  */
+    return;
+
+  p = options;
+
+  /* Return switch and non-switch args in order, regardless of
+     POSIXLY_CORRECT.  Non-switch args are returned as option 1.  */
+  *p++ = '-';
+
+  for (i = 0; switches[i].c != '\0'; ++i)
+    {
+      long_options[i].name = (switches[i].long_name == 0 ? "" :
+                             switches[i].long_name);
+      long_options[i].flag = 0;
+      long_options[i].val = switches[i].c;
+      if (short_option (switches[i].c))
+       *p++ = switches[i].c;
+      switch (switches[i].type)
+       {
+       case flag:
+       case flag_off:
+       case ignore:
+         long_options[i].has_arg = no_argument;
+         break;
+
+       case string:
+       case positive_int:
+       case floating:
+         if (short_option (switches[i].c))
+           *p++ = ':';
+         if (switches[i].noarg_value != 0)
+           {
+             if (short_option (switches[i].c))
+               *p++ = ':';
+             long_options[i].has_arg = optional_argument;
+           }
+         else
+           long_options[i].has_arg = required_argument;
+         break;
+       }
+    }
+  *p = '\0';
+  for (c = 0; c < (sizeof (long_option_aliases) /
+                  sizeof (long_option_aliases[0]));
+       ++c)
+    long_options[i++] = long_option_aliases[c];
+  long_options[i].name = 0;
+}
+
+static void
+handle_non_switch_argument (arg, env)
+     char *arg;
+     int env;
+{
+  /* Non-option argument.  It might be a variable definition.  */
+  struct variable *v;
+  if (arg[0] == '-' && arg[1] == '\0')
+    /* Ignore plain `-' for compatibility.  */
+    return;
+  v = try_variable_definition (0, arg, o_command, 0);
+  if (v != 0)
+    {
+      /* It is indeed a variable definition.  Record a pointer to
+        the variable for later use in define_makeflags.  */
+      struct command_variable *cv
+       = (struct command_variable *) xmalloc (sizeof (*cv));
+      cv->variable = v;
+      cv->next = command_variables;
+      command_variables = cv;
+    }
+  else if (! env)
+    {
+      /* Not an option or variable definition; it must be a goal
+        target!  Enter it as a file and add it to the dep chain of
+        goals.  */
+      struct file *f = enter_command_line_file (arg);
+      f->cmd_target = 1;
+
+      if (goals == 0)
+       {
+         goals = (struct dep *) xmalloc (sizeof (struct dep));
+         lastgoal = goals;
+       }
+      else
+       {
+         lastgoal->next = (struct dep *) xmalloc (sizeof (struct dep));
+         lastgoal = lastgoal->next;
+       }
+      lastgoal->name = 0;
+      lastgoal->file = f;
+      lastgoal->ignore_mtime = 0;
+
+      {
+        /* Add this target name to the MAKECMDGOALS variable. */
+        struct variable *v;
+        char *value;
+
+        v = lookup_variable ("MAKECMDGOALS", 12);
+        if (v == 0)
+          value = f->name;
+        else
+          {
+            /* Paste the old and new values together */
+            unsigned int oldlen, newlen;
+
+            oldlen = strlen (v->value);
+            newlen = strlen (f->name);
+            value = (char *) alloca (oldlen + 1 + newlen + 1);
+            bcopy (v->value, value, oldlen);
+            value[oldlen] = ' ';
+            bcopy (f->name, &value[oldlen + 1], newlen + 1);
+          }
+        define_variable ("MAKECMDGOALS", 12, value, o_default, 0);
+      }
+    }
+}
+
+/* Print a nice usage method.  */
+
+static void
+print_usage (bad)
+     int bad;
+{
+  extern char *make_host;
+  const char *const *cpp;
+  FILE *usageto;
+
+  if (print_version_flag)
+    print_version ();
+
+  usageto = bad ? stderr : stdout;
+
+  fprintf (usageto, _("Usage: %s [options] [target] ...\n"), program);
+
+  for (cpp = usage; *cpp; ++cpp)
+    fputs (_(*cpp), usageto);
+
+  if (!remote_description || *remote_description == '\0')
+    fprintf (usageto, _("\nThis program built for %s\n"), make_host);
+  else
+    fprintf (usageto, _("\nThis program built for %s (%s)\n"),
+             make_host, remote_description);
+
+  fprintf (usageto, _("Report bugs to <bug-make@gnu.org>\n"));
+}
+
+/* Decode switches from ARGC and ARGV.
+   They came from the environment if ENV is nonzero.  */
+
+static void
+decode_switches (argc, argv, env)
+     int argc;
+     char **argv;
+     int env;
+{
+  int bad = 0;
+  register const struct command_switch *cs;
+  register struct stringlist *sl;
+  register int c;
+
+  /* getopt does most of the parsing for us.
+     First, get its vectors set up.  */
+
+  init_switches ();
+
+  /* Let getopt produce error messages for the command line,
+     but not for options from the environment.  */
+  opterr = !env;
+  /* Reset getopt's state.  */
+  optind = 0;
+
+  while (optind < argc)
+    {
+      /* Parse the next argument.  */
+      c = getopt_long (argc, argv, options, long_options, (int *) 0);
+      if (c == EOF)
+       /* End of arguments, or "--" marker seen.  */
+       break;
+      else if (c == 1)
+       /* An argument not starting with a dash.  */
+       handle_non_switch_argument (optarg, env);
+      else if (c == '?')
+       /* Bad option.  We will print a usage message and die later.
+          But continue to parse the other options so the user can
+          see all he did wrong.  */
+       bad = 1;
+      else
+       for (cs = switches; cs->c != '\0'; ++cs)
+         if (cs->c == c)
+           {
+             /* Whether or not we will actually do anything with
+                this switch.  We test this individually inside the
+                switch below rather than just once outside it, so that
+                options which are to be ignored still consume args.  */
+             int doit = !env || cs->env;
+
+             switch (cs->type)
+               {
+               default:
+                 abort ();
+
+               case ignore:
+                 break;
+
+               case flag:
+               case flag_off:
+                 if (doit)
+                   *(int *) cs->value_ptr = cs->type == flag;
+                 break;
+
+               case string:
+                 if (!doit)
+                   break;
+
+                 if (optarg == 0)
+                   optarg = cs->noarg_value;
+
+                 sl = *(struct stringlist **) cs->value_ptr;
+                 if (sl == 0)
+                   {
+                     sl = (struct stringlist *)
+                       xmalloc (sizeof (struct stringlist));
+                     sl->max = 5;
+                     sl->idx = 0;
+                     sl->list = (char **) xmalloc (5 * sizeof (char *));
+                     *(struct stringlist **) cs->value_ptr = sl;
+                   }
+                 else if (sl->idx == sl->max - 1)
+                   {
+                     sl->max += 5;
+                     sl->list = (char **)
+                       xrealloc ((char *) sl->list,
+                                 sl->max * sizeof (char *));
+                   }
+                 sl->list[sl->idx++] = optarg;
+                 sl->list[sl->idx] = 0;
+                 break;
+
+               case positive_int:
+                  /* See if we have an option argument; if we do require that
+                     it's all digits, not something like "10foo".  */
+                 if (optarg == 0 && argc > optind)
+                    {
+                      const char *cp;
+                      for (cp=argv[optind]; ISDIGIT (cp[0]); ++cp)
+                        ;
+                      if (cp[0] == '\0')
+                        optarg = argv[optind++];
+                    }
+
+                 if (!doit)
+                   break;
+
+                 if (optarg != 0)
+                   {
+                     int i = atoi (optarg);
+                      const char *cp;
+
+                      /* Yes, I realize we're repeating this in some cases.  */
+                      for (cp = optarg; ISDIGIT (cp[0]); ++cp)
+                        ;
+
+                     if (i < 1 || cp[0] != '\0')
+                       {
+                          error (NILF, _("the `-%c' option requires a positive integral argument"),
+                                 cs->c);
+                         bad = 1;
+                       }
+                     else
+                       *(unsigned int *) cs->value_ptr = i;
+                   }
+                 else
+                   *(unsigned int *) cs->value_ptr
+                     = *(unsigned int *) cs->noarg_value;
+                 break;
+
+#ifndef NO_FLOAT
+               case floating:
+                 if (optarg == 0 && optind < argc
+                     && (ISDIGIT (argv[optind][0]) || argv[optind][0] == '.'))
+                   optarg = argv[optind++];
+
+                 if (doit)
+                   *(double *) cs->value_ptr
+                     = (optarg != 0 ? atof (optarg)
+                        : *(double *) cs->noarg_value);
+
+                 break;
+#endif
+               }
+
+             /* We've found the switch.  Stop looking.  */
+             break;
+           }
+    }
+
+  /* There are no more options according to getting getopt, but there may
+     be some arguments left.  Since we have asked for non-option arguments
+     to be returned in order, this only happens when there is a "--"
+     argument to prevent later arguments from being options.  */
+  while (optind < argc)
+    handle_non_switch_argument (argv[optind++], env);
+
+
+  if (!env && (bad || print_usage_flag))
+    {
+      print_usage (bad);
+      die (bad ? 2 : 0);
+    }
+}
+
+/* Decode switches from environment variable ENVAR (which is LEN chars long).
+   We do this by chopping the value into a vector of words, prepending a
+   dash to the first word if it lacks one, and passing the vector to
+   decode_switches.  */
+
+static void
+decode_env_switches (envar, len)
+     char *envar;
+     unsigned int len;
+{
+  char *varref = (char *) alloca (2 + len + 2);
+  char *value, *p;
+  int argc;
+  char **argv;
+
+  /* Get the variable's value.  */
+  varref[0] = '$';
+  varref[1] = '(';
+  bcopy (envar, &varref[2], len);
+  varref[2 + len] = ')';
+  varref[2 + len + 1] = '\0';
+  value = variable_expand (varref);
+
+  /* Skip whitespace, and check for an empty value.  */
+  value = next_token (value);
+  len = strlen (value);
+  if (len == 0)
+    return;
+
+  /* Allocate a vector that is definitely big enough.  */
+  argv = (char **) alloca ((1 + len + 1) * sizeof (char *));
+
+  /* Allocate a buffer to copy the value into while we split it into words
+     and unquote it.  We must use permanent storage for this because
+     decode_switches may store pointers into the passed argument words.  */
+  p = (char *) xmalloc (2 * len);
+
+  /* getopt will look at the arguments starting at ARGV[1].
+     Prepend a spacer word.  */
+  argv[0] = 0;
+  argc = 1;
+  argv[argc] = p;
+  while (*value != '\0')
+    {
+      if (*value == '\\' && value[1] != '\0')
+       ++value;                /* Skip the backslash.  */
+      else if (isblank ((unsigned char)*value))
+       {
+         /* End of the word.  */
+         *p++ = '\0';
+         argv[++argc] = p;
+         do
+           ++value;
+         while (isblank ((unsigned char)*value));
+         continue;
+       }
+      *p++ = *value++;
+    }
+  *p = '\0';
+  argv[++argc] = 0;
+
+  if (argv[1][0] != '-' && strchr (argv[1], '=') == 0)
+    /* The first word doesn't start with a dash and isn't a variable
+       definition.  Add a dash and pass it along to decode_switches.  We
+       need permanent storage for this in case decode_switches saves
+       pointers into the value.  */
+    argv[1] = concat ("-", argv[1], "");
+
+  /* Parse those words.  */
+  decode_switches (argc, argv, 1);
+}
+\f
+/* Quote the string IN so that it will be interpreted as a single word with
+   no magic by decode_env_switches; also double dollar signs to avoid
+   variable expansion in make itself.  Write the result into OUT, returning
+   the address of the next character to be written.
+   Allocating space for OUT twice the length of IN is always sufficient.  */
+
+static char *
+quote_for_env (out, in)
+     char *out, *in;
+{
+  while (*in != '\0')
+    {
+      if (*in == '$')
+       *out++ = '$';
+      else if (isblank ((unsigned char)*in) || *in == '\\')
+        *out++ = '\\';
+      *out++ = *in++;
+    }
+
+  return out;
+}
+
+/* Define the MAKEFLAGS and MFLAGS variables to reflect the settings of the
+   command switches.  Include options with args if ALL is nonzero.
+   Don't include options with the `no_makefile' flag set if MAKEFILE.  */
+
+static void
+define_makeflags (all, makefile)
+     int all, makefile;
+{
+  static const char ref[] = "$(MAKEOVERRIDES)";
+  static const char posixref[] = "$(-*-command-variables-*-)";
+  register const struct command_switch *cs;
+  char *flagstring;
+  register char *p;
+  unsigned int words;
+  struct variable *v;
+
+  /* We will construct a linked list of `struct flag's describing
+     all the flags which need to go in MAKEFLAGS.  Then, once we
+     know how many there are and their lengths, we can put them all
+     together in a string.  */
+
+  struct flag
+    {
+      struct flag *next;
+      const struct command_switch *cs;
+      char *arg;
+    };
+  struct flag *flags = 0;
+  unsigned int flagslen = 0;
+#define        ADD_FLAG(ARG, LEN) \
+  do {                                                                       \
+    struct flag *new = (struct flag *) alloca (sizeof (struct flag));        \
+    new->cs = cs;                                                            \
+    new->arg = (ARG);                                                        \
+    new->next = flags;                                                       \
+    flags = new;                                                             \
+    if (new->arg == 0)                                                       \
+      ++flagslen;              /* Just a single flag letter.  */             \
+    else                                                                     \
+      flagslen += 1 + 1 + 1 + 1 + 3 * (LEN); /* " -x foo" */                 \
+    if (!short_option (cs->c))                                               \
+      /* This switch has no single-letter version, so we use the long.  */    \
+      flagslen += 2 + strlen (cs->long_name);                                \
+  } while (0)
+
+  for (cs = switches; cs->c != '\0'; ++cs)
+    if (cs->toenv && (!makefile || !cs->no_makefile))
+      switch (cs->type)
+       {
+       default:
+         abort ();
+
+       case ignore:
+         break;
+
+       case flag:
+       case flag_off:
+         if (!*(int *) cs->value_ptr == (cs->type == flag_off)
+             && (cs->default_value == 0
+                 || *(int *) cs->value_ptr != *(int *) cs->default_value))
+           ADD_FLAG (0, 0);
+         break;
+
+       case positive_int:
+         if (all)
+           {
+             if ((cs->default_value != 0
+                  && (*(unsigned int *) cs->value_ptr
+                      == *(unsigned int *) cs->default_value)))
+               break;
+             else if (cs->noarg_value != 0
+                      && (*(unsigned int *) cs->value_ptr ==
+                          *(unsigned int *) cs->noarg_value))
+               ADD_FLAG ("", 0); /* Optional value omitted; see below.  */
+             else if (cs->c == 'j')
+               /* Special case for `-j'.  */
+               ADD_FLAG ("1", 1);
+             else
+               {
+                 char *buf = (char *) alloca (30);
+                 sprintf (buf, "%u", *(unsigned int *) cs->value_ptr);
+                 ADD_FLAG (buf, strlen (buf));
+               }
+           }
+         break;
+
+#ifndef NO_FLOAT
+       case floating:
+         if (all)
+           {
+             if (cs->default_value != 0
+                 && (*(double *) cs->value_ptr
+                     == *(double *) cs->default_value))
+               break;
+             else if (cs->noarg_value != 0
+                      && (*(double *) cs->value_ptr
+                          == *(double *) cs->noarg_value))
+               ADD_FLAG ("", 0); /* Optional value omitted; see below.  */
+             else
+               {
+                 char *buf = (char *) alloca (100);
+                 sprintf (buf, "%g", *(double *) cs->value_ptr);
+                 ADD_FLAG (buf, strlen (buf));
+               }
+           }
+         break;
+#endif
+
+       case string:
+         if (all)
+           {
+             struct stringlist *sl = *(struct stringlist **) cs->value_ptr;
+             if (sl != 0)
+               {
+                 /* Add the elements in reverse order, because
+                    all the flags get reversed below; and the order
+                    matters for some switches (like -I).  */
+                 register unsigned int i = sl->idx;
+                 while (i-- > 0)
+                   ADD_FLAG (sl->list[i], strlen (sl->list[i]));
+               }
+           }
+         break;
+       }
+
+  flagslen += 4 + sizeof posixref; /* Four more for the possible " -- ".  */
+
+#undef ADD_FLAG
+
+  /* Construct the value in FLAGSTRING.
+     We allocate enough space for a preceding dash and trailing null.  */
+  flagstring = (char *) alloca (1 + flagslen + 1);
+  bzero (flagstring, 1 + flagslen + 1);
+  p = flagstring;
+  words = 1;
+  *p++ = '-';
+  while (flags != 0)
+    {
+      /* Add the flag letter or name to the string.  */
+      if (short_option (flags->cs->c))
+       *p++ = flags->cs->c;
+      else
+       {
+          if (*p != '-')
+            {
+              *p++ = ' ';
+              *p++ = '-';
+            }
+         *p++ = '-';
+         strcpy (p, flags->cs->long_name);
+         p += strlen (p);
+       }
+      if (flags->arg != 0)
+       {
+         /* A flag that takes an optional argument which in this case is
+            omitted is specified by ARG being "".  We must distinguish
+            because a following flag appended without an intervening " -"
+            is considered the arg for the first.  */
+         if (flags->arg[0] != '\0')
+           {
+             /* Add its argument too.  */
+             *p++ = !short_option (flags->cs->c) ? '=' : ' ';
+             p = quote_for_env (p, flags->arg);
+           }
+         ++words;
+         /* Write a following space and dash, for the next flag.  */
+         *p++ = ' ';
+         *p++ = '-';
+       }
+      else if (!short_option (flags->cs->c))
+       {
+         ++words;
+         /* Long options must each go in their own word,
+            so we write the following space and dash.  */
+         *p++ = ' ';
+         *p++ = '-';
+       }
+      flags = flags->next;
+    }
+
+  /* Define MFLAGS before appending variable definitions.  */
+
+  if (p == &flagstring[1])
+    /* No flags.  */
+    flagstring[0] = '\0';
+  else if (p[-1] == '-')
+    {
+      /* Kill the final space and dash.  */
+      p -= 2;
+      *p = '\0';
+    }
+  else
+    /* Terminate the string.  */
+    *p = '\0';
+
+  /* Since MFLAGS is not parsed for flags, there is no reason to
+     override any makefile redefinition.  */
+  (void) define_variable ("MFLAGS", 6, flagstring, o_env, 1);
+
+  if (all && command_variables != 0)
+    {
+      /* Now write a reference to $(MAKEOVERRIDES), which contains all the
+        command-line variable definitions.  */
+
+      if (p == &flagstring[1])
+       /* No flags written, so elide the leading dash already written.  */
+       p = flagstring;
+      else
+       {
+         /* Separate the variables from the switches with a "--" arg.  */
+         if (p[-1] != '-')
+           {
+             /* We did not already write a trailing " -".  */
+             *p++ = ' ';
+             *p++ = '-';
+           }
+         /* There is a trailing " -"; fill it out to " -- ".  */
+         *p++ = '-';
+         *p++ = ' ';
+       }
+
+      /* Copy in the string.  */
+      if (posix_pedantic)
+       {
+         bcopy (posixref, p, sizeof posixref - 1);
+         p += sizeof posixref - 1;
+       }
+      else
+       {
+         bcopy (ref, p, sizeof ref - 1);
+         p += sizeof ref - 1;
+       }
+    }
+  else if (p == &flagstring[1])
+    {
+      words = 0;
+      --p;
+    }
+  else if (p[-1] == '-')
+    /* Kill the final space and dash.  */
+    p -= 2;
+  /* Terminate the string.  */
+  *p = '\0';
+
+  v = define_variable ("MAKEFLAGS", 9,
+                      /* If there are switches, omit the leading dash
+                         unless it is a single long option with two
+                         leading dashes.  */
+                      &flagstring[(flagstring[0] == '-'
+                                   && flagstring[1] != '-')
+                                  ? 1 : 0],
+                      /* This used to use o_env, but that lost when a
+                         makefile defined MAKEFLAGS.  Makefiles set
+                         MAKEFLAGS to add switches, but we still want
+                         to redefine its value with the full set of
+                         switches.  Of course, an override or command
+                         definition will still take precedence.  */
+                      o_file, 1);
+  if (! all)
+    /* The first time we are called, set MAKEFLAGS to always be exported.
+       We should not do this again on the second call, because that is
+       after reading makefiles which might have done `unexport MAKEFLAGS'. */
+    v->export = v_export;
+}
+\f
+/* Print version information.  */
+
+static void
+print_version ()
+{
+  static int printed_version = 0;
+
+  char *precede = print_data_base_flag ? "# " : "";
+
+  if (printed_version)
+    /* Do it only once.  */
+    return;
+
+  /* Print this untranslated.  The coding standards recommend translating the
+     (C) to the copyright symbol, but this string is going to change every
+     year, and none of the rest of it should be translated (including the
+     word "Copyright", so it hardly seems worth it.  */
+
+  printf ("%sGNU Make %s\n\
+%sCopyright (C) 2002  Free Software Foundation, Inc.\n",
+          precede, version_string, precede);
+
+  printf (_("%sThis is free software; see the source for copying conditions.\n\
+%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
+%sPARTICULAR PURPOSE.\n"),
+            precede, precede, precede);
+
+  printed_version = 1;
+
+  /* Flush stdout so the user doesn't have to wait to see the
+     version information while things are thought about.  */
+  fflush (stdout);
+}
+
+/* Print a bunch of information about this and that.  */
+
+static void
+print_data_base ()
+{
+  time_t when;
+
+  when = time ((time_t *) 0);
+  printf (_("\n# Make data base, printed on %s"), ctime (&when));
+
+  print_variable_data_base ();
+  print_dir_data_base ();
+  print_rule_data_base ();
+  print_file_data_base ();
+  print_vpath_data_base ();
+
+  when = time ((time_t *) 0);
+  printf (_("\n# Finished Make data base on %s\n"), ctime (&when));
+}
+\f
+/* Exit with STATUS, cleaning up as necessary.  */
+
+void
+die (status)
+     int status;
+{
+  static char dying = 0;
+
+  if (!dying)
+    {
+      int err;
+
+      dying = 1;
+
+      if (print_version_flag)
+       print_version ();
+
+      /* Wait for children to die.  */
+      for (err = (status != 0); job_slots_used > 0; err = 0)
+       reap_children (1, err);
+
+      /* Let the remote job module clean up its state.  */
+      remote_cleanup ();
+
+      /* Remove the intermediate files.  */
+      remove_intermediates (0);
+
+      if (print_data_base_flag)
+       print_data_base ();
+
+      /* Try to move back to the original directory.  This is essential on
+        MS-DOS (where there is really only one process), and on Unix it
+        puts core files in the original directory instead of the -C
+        directory.  Must wait until after remove_intermediates(), or unlinks
+         of relative pathnames fail.  */
+      if (directory_before_chdir != 0)
+       chdir (directory_before_chdir);
+
+      log_working_directory (0);
+    }
+
+  exit (status);
+}
+\f
+/* Write a message indicating that we've just entered or
+   left (according to ENTERING) the current directory.  */
+
+void
+log_working_directory (entering)
+     int entering;
+{
+  static int entered = 0;
+
+  /* Print nothing without the flag.  Don't print the entering message
+     again if we already have.  Don't print the leaving message if we
+     haven't printed the entering message.  */
+  if (! print_directory_flag || entering == entered)
+    return;
+
+  entered = entering;
+
+  if (print_data_base_flag)
+    fputs ("# ", stdout);
+
+  /* Use entire sentences to give the translators a fighting chance.  */
+
+  if (makelevel == 0)
+    if (starting_directory == 0)
+      if (entering)
+        printf (_("%s: Entering an unknown directory"), program);
+      else
+        printf (_("%s: Leaving an unknown directory"), program);
+    else
+      if (entering)
+        printf (_("%s: Entering directory `%s'\n"),
+                program, starting_directory);
+      else
+        printf (_("%s: Leaving directory `%s'\n"),
+                program, starting_directory);
+  else
+    if (starting_directory == 0)
+      if (entering)
+        printf (_("%s[%u]: Entering an unknown directory"),
+                program, makelevel);
+      else
+        printf (_("%s[%u]: Leaving an unknown directory"),
+                program, makelevel);
+    else
+      if (entering)
+        printf (_("%s[%u]: Entering directory `%s'\n"),
+                program, makelevel, starting_directory);
+      else
+        printf (_("%s[%u]: Leaving directory `%s'\n"),
+                program, makelevel, starting_directory);
+}
diff --git a/src/mkutil/make-3.80/make.1 b/src/mkutil/make-3.80/make.1
new file mode 100644 (file)
index 0000000..5b09677
--- /dev/null
@@ -0,0 +1,291 @@
+.TH MAKE 1L "22 August 1989" "GNU" "LOCAL USER COMMANDS"
+.SH NAME
+make \- GNU make utility to maintain groups of programs
+.SH SYNOPSIS
+.B "make "
+[
+.B \-f
+.I makefile
+] [ option ] ...
+target ...
+.SH WARNING
+This man page is an extract of the documentation of
+.I GNU make .
+It is updated only occasionally, because the GNU project does not use nroff.
+For complete, current documentation, refer to the Info file
+.B make.info
+which is made from the Texinfo source file
+.BR make.texinfo .
+.SH DESCRIPTION
+.LP
+The purpose of the
+.I make
+utility is to determine automatically which
+pieces of a large program need to be recompiled, and issue the commands to
+recompile them.
+The manual describes the GNU implementation of
+.IR make ,
+which was written by Richard Stallman and Roland McGrath.
+Our examples show C programs, since they are most common, but you can use
+.I make
+with any programming language whose compiler can be run with a
+shell command.
+In fact,
+.I make
+is not limited to programs.
+You can use it to describe any task where some files must be
+updated automatically from others whenever the others change.
+.LP
+To prepare to use
+.IR make ,
+you must write a file called the
+.I makefile
+that describes the relationships among files in your program, and the
+states the commands for updating each file.
+In a program, typically the executable file is updated from object
+files, which are in turn made by compiling source files.
+.LP
+Once a suitable makefile exists, each time you change some source files,
+this simple shell command:
+.sp 1
+.RS
+.B make
+.RE
+.sp 1
+suffices to perform all necessary recompilations.
+The
+.I make
+program uses the makefile data base and the last-modification times
+of the files to decide which of the files need to be updated.
+For each of those files, it issues the commands recorded in the data base.
+.LP
+.I make
+executes commands in the
+.I makefile
+to update
+one or more target
+.IR names ,
+where
+.I name
+is typically a program.
+If no
+.B \-f
+option is present,
+.I make
+will look for the makefiles
+.IR GNUmakefile ,
+.IR makefile ,
+and
+.IR Makefile ,
+in that order.
+.LP
+Normally you should call your makefile either
+.I makefile
+or
+.IR Makefile .
+(We recommend
+.I Makefile
+because it appears prominently near the beginning of a directory
+listing, right near other important files such as
+.IR  README .)
+The first name checked,
+.IR GNUmakefile ,
+is not recommended for most makefiles.
+You should use this name if you have a makefile that is specific to GNU
+.IR make ,
+and will not be understood by other versions of
+.IR make .
+If
+.I makefile
+is `\-', the standard input is read.
+.LP
+.I make
+updates a target if it depends on prerequisite files
+that have been modified since the target was last modified,
+or if the target does not exist.
+.SH OPTIONS
+.sp 1
+.TP 0.5i
+.B \-b
+.TP 0.5i
+.B \-m
+These options are ignored for compatibility with other versions of
+.IR make .
+.TP 0.5i
+.BI "\-C " dir
+Change to directory
+.I dir
+before reading the makefiles or doing anything else.
+If multiple
+.B \-C
+options are specified, each is interpreted relative to the
+previous one:
+.BR "\-C " /
+.BR "\-C " etc
+is equivalent to
+.BR "\-C " /etc.
+This is typically used with recursive invocations of
+.IR make .
+.TP 0.5i
+.B \-d
+Print debugging information in addition to normal processing.
+The debugging information says which files are being considered for
+remaking, which file-times are being compared and with what results,
+which files actually need to be remade, which implicit rules are
+considered and which are applied---everything interesting about how
+.I make
+decides what to do.
+.TP 0.5i
+.B \-e
+Give variables taken from the environment precedence
+over variables from makefiles.
+.TP 0.5i
+.BI "\-f " file
+Use
+.I file
+as a makefile.
+.TP 0.5i
+.B \-i
+Ignore all errors in commands executed to remake files.
+.TP 0.5i
+.BI "\-I " dir
+Specifies a directory
+.I dir
+to search for included makefiles.
+If several
+.B \-I
+options are used to specify several directories, the directories are
+searched in the order specified.
+Unlike the arguments to other flags of
+.IR make ,
+directories given with
+.B \-I
+flags may come directly after the flag:
+.BI \-I dir
+is allowed, as well as
+.BI "\-I " dir.
+This syntax is allowed for compatibility with the C
+preprocessor's
+.B \-I
+flag.
+.TP 0.5i
+.BI "\-j " jobs
+Specifies the number of jobs (commands) to run simultaneously.
+If there is more than one
+.B \-j
+option, the last one is effective.
+If the
+.B \-j
+option is given without an argument,
+.IR make
+will not limit the number of jobs that can run simultaneously.
+.TP 0.5i
+.B \-k
+Continue as much as possible after an error.
+While the target that failed, and those that depend on it, cannot
+be remade, the other dependencies of these targets can be processed
+all the same.
+.TP 0.5i
+.B \-l
+.TP 0.5i
+.BI "\-l " load
+Specifies that no new jobs (commands) should be started if there are
+others jobs running and the load average is at least
+.I load
+(a floating-point number).
+With no argument, removes a previous load limit.
+.TP 0.5i
+.B \-n
+Print the commands that would be executed, but do not execute them.
+.TP 0.5i
+.BI "\-o " file
+Do not remake the file
+.I file
+even if it is older than its dependencies, and do not remake anything
+on account of changes in
+.IR file .
+Essentially the file is treated as very old and its rules are ignored.
+.TP 0.5i
+.B \-p
+Print the data base (rules and variable values) that results from
+reading the makefiles; then execute as usual or as otherwise
+specified.
+This also prints the version information given by the
+.B \-v
+switch (see below).
+To print the data base without trying to remake any files, use
+.B make
+.B \-p
+.BI \-f /dev/null.
+.TP 0.5i
+.B \-q
+``Question mode''.
+Do not run any commands, or print anything; just return an exit status
+that is zero if the specified targets are already up to date, nonzero
+otherwise.
+.TP 0.5i
+.B \-r
+Eliminate use of the built-in implicit rules.
+Also clear out the default list of suffixes for suffix rules.
+.TP 0.5i
+.B \-s
+Silent operation; do not print the commands as they are executed.
+.TP 0.5i
+.B \-S
+Cancel the effect of the
+.B \-k
+option.
+This is never necessary except in a recursive
+.I make
+where
+.B \-k
+might be inherited from the top-level
+.I make
+via MAKEFLAGS or if you set
+.B \-k
+in MAKEFLAGS in your environment.
+.TP 0.5i
+.B \-t
+Touch files (mark them up to date without really changing them)
+instead of running their commands.
+This is used to pretend that the commands were done, in order to fool
+future invocations of
+.IR make .
+.TP 0.5i
+.B \-v
+Print the version of the
+.I make
+program plus a copyright, a list of authors and a notice that there
+is no warranty.
+.TP 0.5i
+.B \-w
+Print a message containing the working directory
+before and after other processing.
+This may be useful for tracking down errors from complicated nests of
+recursive
+.I make
+commands.
+.TP 0.5i
+.BI "\-W " file
+Pretend that the target
+.I file
+has just been modified.
+When used with the
+.B \-n
+flag, this shows you what would happen if you were to modify that file.
+Without
+.BR \-n ,
+it is almost the same as running a
+.I touch
+command on the given file before running
+.IR make ,
+except that the modification time is changed only in the imagination of
+.IR make .
+.SH "SEE ALSO"
+.I "The GNU Make Manual"
+.SH BUGS
+See the chapter `Problems and Bugs' in
+.I "The GNU Make Manual" .
+.SH AUTHOR
+This manual page contributed by Dennis Morse of Stanford University.
+It has been reworked by Roland McGrath.
diff --git a/src/mkutil/make-3.80/make.h b/src/mkutil/make-3.80/make.h
new file mode 100644 (file)
index 0000000..6648ea0
--- /dev/null
@@ -0,0 +1,562 @@
+/* Miscellaneous global declarations and portability cruft for GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* We use <config.h> instead of "config.h" so that a compilation
+   using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
+   (which it would do because make.h was found in $srcdir).  */
+#include <config.h>
+#undef  HAVE_CONFIG_H
+#define HAVE_CONFIG_H 1
+
+/* AIX requires this to be the first thing in the file.  */
+#ifndef __GNUC__
+# if HAVE_ALLOCA_H
+#  include <alloca.h>
+# else
+#  ifdef _AIX
+ #pragma alloca
+#  else
+#   ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+#   endif
+#  endif
+# endif
+#endif
+
+
+/* Use prototypes if available.  */
+#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
+# undef  PARAMS
+# define PARAMS(protos)  protos
+#else /* Not C++ or ANSI C.  */
+# undef  PARAMS
+# define PARAMS(protos)  ()
+#endif /* C++ or ANSI C.  */
+
+/* Specify we want GNU source code.  This must be defined before any
+   system headers are included.  */
+
+#define _GNU_SOURCE 1
+
+
+#ifdef  CRAY
+/* This must happen before #include <signal.h> so
+   that the declaration therein is changed.  */
+# define signal bsdsignal
+#endif
+
+/* If we're compiling for the dmalloc debugger, turn off string inlining.  */
+#if defined(HAVE_DMALLOC_H) && defined(__GNUC__)
+# define __NO_STRING_INLINES
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <signal.h>
+#include <stdio.h>
+#include <ctype.h>
+#ifdef HAVE_SYS_TIMEB_H
+/* SCO 3.2 "devsys 4.2" has a prototype for `ftime' in <time.h> that bombs
+   unless <sys/timeb.h> has been included first.  Does every system have a
+   <sys/timeb.h>?  If any does not, configure should check for it.  */
+# include <sys/timeb.h>
+#endif
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+
+#include <errno.h>
+
+#ifndef errno
+extern int errno;
+#endif
+
+#ifndef isblank
+# define isblank(c)     ((c) == ' ' || (c) == '\t')
+#endif
+
+#ifdef  HAVE_UNISTD_H
+# include <unistd.h>
+/* Ultrix's unistd.h always defines _POSIX_VERSION, but you only get
+   POSIX.1 behavior with `cc -YPOSIX', which predefines POSIX itself!  */
+# if defined (_POSIX_VERSION) && !defined (ultrix) && !defined (VMS)
+#  define POSIX 1
+# endif
+#endif
+
+/* Some systems define _POSIX_VERSION but are not really POSIX.1.  */
+#if (defined (butterfly) || defined (__arm) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386)))
+# undef POSIX
+#endif
+
+#if !defined (POSIX) && defined (_AIX) && defined (_POSIX_SOURCE)
+# define POSIX 1
+#endif
+
+#ifndef RETSIGTYPE
+# define RETSIGTYPE     void
+#endif
+
+#ifndef sigmask
+# define sigmask(sig)   (1 << ((sig) - 1))
+#endif
+
+#ifndef HAVE_SA_RESTART
+# define SA_RESTART 0
+#endif
+
+#ifdef  HAVE_LIMITS_H
+# include <limits.h>
+#endif
+#ifdef  HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
+
+#ifndef PATH_MAX
+# ifndef POSIX
+#  define PATH_MAX      MAXPATHLEN
+# endif
+#endif
+#ifndef MAXPATHLEN
+# define MAXPATHLEN 1024
+#endif
+
+#ifdef  PATH_MAX
+# define GET_PATH_MAX   PATH_MAX
+# define PATH_VAR(var)  char var[PATH_MAX]
+#else
+# define NEED_GET_PATH_MAX 1
+# define GET_PATH_MAX   (get_path_max ())
+# define PATH_VAR(var)  char *var = (char *) alloca (GET_PATH_MAX)
+extern unsigned int get_path_max PARAMS ((void));
+#endif
+
+#ifndef CHAR_BIT
+# define CHAR_BIT 8
+#endif
+
+/* Nonzero if the integer type T is signed.  */
+#define INTEGER_TYPE_SIGNED(t) ((t) -1 < 0)
+
+/* The minimum and maximum values for the integer type T.
+   Use ~ (t) 0, not -1, for portability to 1's complement hosts.  */
+#define INTEGER_TYPE_MINIMUM(t) \
+  (! INTEGER_TYPE_SIGNED (t) ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))
+#define INTEGER_TYPE_MAXIMUM(t) (~ (t) 0 - INTEGER_TYPE_MINIMUM (t))
+
+#ifndef CHAR_MAX
+# define CHAR_MAX INTEGER_TYPE_MAXIMUM (char)
+#endif
+
+#ifdef STAT_MACROS_BROKEN
+# ifdef S_ISREG
+#  undef S_ISREG
+# endif
+# ifdef S_ISDIR
+#  undef S_ISDIR
+# endif
+#endif  /* STAT_MACROS_BROKEN.  */
+
+#ifndef S_ISREG
+# define S_ISREG(mode)  (((mode) & S_IFMT) == S_IFREG)
+#endif
+#ifndef S_ISDIR
+# define S_ISDIR(mode)  (((mode) & S_IFMT) == S_IFDIR)
+#endif
+
+#ifdef VMS
+# include <types.h>
+# include <unixlib.h>
+# include <unixio.h>
+# include <perror.h>
+/* Needed to use alloca on VMS.  */
+# include <builtins.h>
+#endif
+
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
+#  define __attribute__(x)
+# endif
+/* The __-protected variants of `format' and `printf' attributes
+   are accepted by gcc versions 2.6.4 (effectively 2.7) and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+#  define __format__ format
+#  define __printf__ printf
+# endif
+#endif
+
+#if defined (STDC_HEADERS) || defined (__GNU_LIBRARY__)
+# include <stdlib.h>
+# include <string.h>
+# define ANSI_STRING 1
+#else   /* No standard headers.  */
+# ifdef HAVE_STRING_H
+#  include <string.h>
+#  define ANSI_STRING 1
+# else
+#  include <strings.h>
+# endif
+# ifdef HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# else
+extern char *malloc PARAMS ((int));
+extern char *realloc PARAMS ((char *, int));
+extern void free PARAMS ((char *));
+
+extern void abort PARAMS ((void)) __attribute__ ((noreturn));
+extern void exit PARAMS ((int)) __attribute__ ((noreturn));
+# endif /* HAVE_STDLIB_H.  */
+
+#endif /* Standard headers.  */
+
+/* These should be in stdlib.h.  Make sure we have them.  */
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 0
+#endif
+
+#ifdef  ANSI_STRING
+
+# ifndef bcmp
+#  define bcmp(s1, s2, n)   memcmp ((s1), (s2), (n))
+# endif
+# ifndef bzero
+#  define bzero(s, n)       memset ((s), 0, (n))
+# endif
+# if defined(HAVE_MEMMOVE) && !defined(bcopy)
+#  define bcopy(s, d, n)    memmove ((d), (s), (n))
+# endif
+
+#else   /* Not ANSI_STRING.  */
+
+# ifndef HAVE_STRCHR
+#  define strchr(s, c)      index((s), (c))
+#  define strrchr(s, c)     rindex((s), (c))
+# endif
+
+# ifndef bcmp
+extern int bcmp PARAMS ((const char *, const char *, int));
+# endif
+# ifndef bzero
+extern void bzero PARAMS ((char *, int));
+#endif
+# ifndef bcopy
+extern void bcopy PARAMS ((const char *b1, char *b2, int));
+# endif
+
+#endif  /* ANSI_STRING.  */
+#undef  ANSI_STRING
+
+/* SCO Xenix has a buggy macro definition in <string.h>.  */
+#undef  strerror
+
+#if !defined(ANSI_STRING) && !defined(__DECC)
+extern char *strerror PARAMS ((int errnum));
+#endif
+
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#define FILE_TIMESTAMP uintmax_t
+
+#if !defined(HAVE_STRSIGNAL)
+extern char *strsignal PARAMS ((int signum));
+#endif
+
+/* ISDIGIT offers the following features:
+   - Its arg may be any int or unsigned int; it need not be an unsigned char.
+   - It's guaranteed to evaluate its argument exactly once.
+      NOTE!  Make relies on this behavior, don't change it!
+   - It's typically faster.
+   POSIX 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
+   only '0' through '9' are digits.  Prefer ISDIGIT to isdigit() unless
+   it's important to use the locale's definition of `digit' even when the
+   host does not conform to POSIX.  */
+#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
+
+#ifndef iAPX286
+# define streq(a, b) \
+   ((a) == (b) || \
+    (*(a) == *(b) && (*(a) == '\0' || !strcmp ((a) + 1, (b) + 1))))
+# ifdef HAVE_CASE_INSENSITIVE_FS
+/* This is only used on Windows/DOS platforms, so we assume strcmpi().  */
+#  define strieq(a, b) \
+    ((a) == (b) \
+     || (tolower((unsigned char)*(a)) == tolower((unsigned char)*(b)) \
+         && (*(a) == '\0' || !strcmpi ((a) + 1, (b) + 1))))
+# else
+#  define strieq(a, b) streq(a, b)
+# endif
+#else
+/* Buggy compiler can't handle this.  */
+# define streq(a, b) (strcmp ((a), (b)) == 0)
+# define strieq(a, b) (strcmp ((a), (b)) == 0)
+#endif
+#define strneq(a, b, l) (strncmp ((a), (b), (l)) == 0)
+#ifdef  VMS
+extern int strcmpi (const char *,const char *);
+#endif
+
+#if defined(__GNUC__) || defined(ENUM_BITFIELDS)
+# define ENUM_BITFIELD(bits)    :bits
+#else
+# define ENUM_BITFIELD(bits)
+#endif
+
+/* Handle gettext and locales.  */
+
+#if HAVE_LOCALE_H
+# include <locale.h>
+#else
+# define setlocale(category, locale)
+#endif
+
+#include <gettext.h>
+
+#define _(msgid)            gettext (msgid)
+#define N_(msgid)           gettext_noop (msgid)
+#define S_(msg1,msg2,num)   ngettext (msg1,msg2,num)
+
+/* Handle other OSs.  */
+
+#if defined(__MSDOS__) || defined(WINDOWS32)
+# define PATH_SEPARATOR_CHAR ';'
+#else
+# if defined(VMS)
+#  define PATH_SEPARATOR_CHAR ','
+# else
+#  define PATH_SEPARATOR_CHAR ':'
+# endif
+#endif
+
+#ifdef WINDOWS32
+# include <fcntl.h>
+# include <malloc.h>
+# define pipe(p) _pipe(p, 512, O_BINARY)
+# define kill(pid,sig) w32_kill(pid,sig)
+
+extern void sync_Path_environment(void);
+extern int kill(int pid, int sig);
+extern int safe_stat(char *file, struct stat *sb);
+extern char *end_of_token_w32(char *s, char stopchar);
+extern int find_and_set_default_shell(char *token);
+
+/* indicates whether or not we have Bourne shell */
+extern int no_default_sh_exe;
+
+/* is default_shell unixy? */
+extern int unixy_shell;
+#endif  /* WINDOWS32 */
+
+struct floc
+  {
+    char *filenm;
+    unsigned long lineno;
+  };
+#define NILF ((struct floc *)0)
+
+#define STRING_SIZE_TUPLE(_s) (_s), (sizeof (_s)-1)
+
+\f
+/* Fancy processing for variadic functions in both ANSI and pre-ANSI
+   compilers.  */
+#if defined __STDC__ && __STDC__
+extern void message (int prefix, const char *fmt, ...)
+                     __attribute__ ((__format__ (__printf__, 2, 3)));
+extern void error (const struct floc *flocp, const char *fmt, ...)
+                   __attribute__ ((__format__ (__printf__, 2, 3)));
+extern void fatal (const struct floc *flocp, const char *fmt, ...)
+                   __attribute__ ((noreturn, __format__ (__printf__, 2, 3)));
+#else
+extern void message ();
+extern void error ();
+extern void fatal ();
+#endif
+
+extern void die PARAMS ((int)) __attribute__ ((noreturn));
+extern void log_working_directory PARAMS ((int));
+extern void pfatal_with_name PARAMS ((const char *)) __attribute__ ((noreturn));
+extern void perror_with_name PARAMS ((const char *, const char *));
+extern char *savestring PARAMS ((const char *, unsigned int));
+extern char *concat PARAMS ((const char *, const char *, const char *));
+extern char *xmalloc PARAMS ((unsigned int));
+extern char *xrealloc PARAMS ((char *, unsigned int));
+extern char *xstrdup PARAMS ((const char *));
+extern char *find_next_token PARAMS ((char **, unsigned int *));
+extern char *next_token PARAMS ((const char *));
+extern char *end_of_token PARAMS ((char *));
+extern void collapse_continuations PARAMS ((char *));
+extern void remove_comments PARAMS((char *));
+extern char *sindex PARAMS ((const char *, unsigned int, \
+                             const char *, unsigned int));
+extern char *lindex PARAMS ((const char *, const char *, int));
+extern int alpha_compare PARAMS ((const void *, const void *));
+extern void print_spaces PARAMS ((unsigned int));
+extern char *find_char_unquote PARAMS ((char *, int, int, int));
+extern char *find_percent PARAMS ((char *));
+extern FILE *open_tmpfile PARAMS ((char **, const char *));
+
+#ifndef NO_ARCHIVES
+extern int ar_name PARAMS ((char *));
+extern void ar_parse_name PARAMS ((char *, char **, char **));
+extern int ar_touch PARAMS ((char *));
+extern time_t ar_member_date PARAMS ((char *));
+#endif
+
+extern int dir_file_exists_p PARAMS ((char *, char *));
+extern int file_exists_p PARAMS ((char *));
+extern int file_impossible_p PARAMS ((char *));
+extern void file_impossible PARAMS ((char *));
+extern char *dir_name PARAMS ((char *));
+extern void hash_init_directories PARAMS ((void));
+
+extern void define_default_variables PARAMS ((void));
+extern void set_default_suffixes PARAMS ((void));
+extern void install_default_suffix_rules PARAMS ((void));
+extern void install_default_implicit_rules PARAMS ((void));
+
+extern void build_vpath_lists PARAMS ((void));
+extern void construct_vpath_list PARAMS ((char *pattern, char *dirpath));
+extern int vpath_search PARAMS ((char **file, FILE_TIMESTAMP *mtime_ptr));
+extern int gpath_search PARAMS ((char *file, int len));
+
+extern void construct_include_path PARAMS ((char **arg_dirs));
+
+extern void user_access PARAMS ((void));
+extern void make_access PARAMS ((void));
+extern void child_access PARAMS ((void));
+
+#ifdef  HAVE_VFORK_H
+# include <vfork.h>
+#endif
+
+/* We omit these declarations on non-POSIX systems which define _POSIX_VERSION,
+   because such systems often declare them in header files anyway.  */
+
+#if !defined (__GNU_LIBRARY__) && !defined (POSIX) && !defined (_POSIX_VERSION) && !defined(WINDOWS32)
+
+extern long int atol ();
+# ifndef VMS
+extern long int lseek ();
+# endif
+
+#endif  /* Not GNU C library or POSIX.  */
+
+#ifdef  HAVE_GETCWD
+# if !defined(VMS) && !defined(__DECC)
+extern char *getcwd ();
+#endif
+#else
+extern char *getwd ();
+# define getcwd(buf, len)       getwd (buf)
+#endif
+
+extern const struct floc *reading_file;
+
+extern char **environ;
+
+extern int just_print_flag, silent_flag, ignore_errors_flag, keep_going_flag;
+extern int print_data_base_flag, question_flag, touch_flag, always_make_flag;
+extern int env_overrides, no_builtin_rules_flag, no_builtin_variables_flag;
+extern int print_version_flag, print_directory_flag;
+extern int warn_undefined_variables_flag, posix_pedantic, not_parallel;
+extern int clock_skew_detected;
+
+/* can we run commands via 'sh -c xxx' or must we use batch files? */
+extern int batch_mode_shell;
+
+extern unsigned int job_slots;
+extern int job_fds[2];
+extern int job_rfd;
+#ifndef NO_FLOAT
+extern double max_load_average;
+#else
+extern int max_load_average;
+#endif
+
+extern char *program;
+extern char *starting_directory;
+extern unsigned int makelevel;
+extern char *version_string, *remote_description;
+
+extern unsigned int commands_started;
+
+extern int handling_fatal_signal;
+
+
+#ifndef MIN
+#define MIN(_a,_b) ((_a)<(_b)?(_a):(_b))
+#endif
+#ifndef MAX
+#define MAX(_a,_b) ((_a)>(_b)?(_a):(_b))
+#endif
+
+#ifdef VMS
+#  define MAKE_SUCCESS 1
+#  define MAKE_TROUBLE 2
+#  define MAKE_FAILURE 3
+#else
+#  define MAKE_SUCCESS 0
+#  define MAKE_TROUBLE 1
+#  define MAKE_FAILURE 2
+#endif
+
+/* Set up heap debugging library dmalloc.  */
+
+#ifdef HAVE_DMALLOC_H
+#include <dmalloc.h>
+#endif
+
+
+/* If we have broken SA_RESTART support, then wrap stat() and readdir() with
+   versions that handle EINTR.  Note that there are still plenty of system
+   calls that can fail with EINTR but this, reportedly, gets the vast
+   majority of failure cases.  If you still experience failures you'll need
+   to either get a system where SA_RESTART works, or you need to avoid -j.  */
+
+#ifdef HAVE_BROKEN_RESTART
+
+/* Here we make an assumption that a system with a broken SA_RESTART has
+   dirent.h.  Right now the only system I know of in this category is PTX, and
+   it does have dirent.h.
+*/
+#include <dirent.h>
+
+#define stat(_f,_b)     atomic_stat ((_f), (_b))
+#define readdir(_d)     atomic_readdir (_d)
+
+extern int atomic_stat PARAMS ((const char *file, struct stat *buf));
+extern struct dirent *atomic_readdir PARAMS ((DIR *dir));
+
+#endif
diff --git a/src/mkutil/make-3.80/make.lnk b/src/mkutil/make-3.80/make.lnk
new file mode 100644 (file)
index 0000000..8fbbeff
--- /dev/null
@@ -0,0 +1,5 @@
+FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o"
+TO "make.new"
+LIB glob/glob.lib LIB:sc.lib LIB:amiga.lib
+QUIET
+
diff --git a/src/mkutil/make-3.80/makefile.com b/src/mkutil/make-3.80/makefile.com
new file mode 100644 (file)
index 0000000..dd94bc3
--- /dev/null
@@ -0,0 +1,138 @@
+$!
+$! Makefile.com - builds GNU Make for VMS
+$!
+$! P1 is non-empty if you want to link with the VAXCRTL library instead
+$!    of the shareable executable
+$! P2 = DEBUG will build an image with debug information
+$! P3 = WALL will enable all warning messages (some are suppressed since
+$!      one macro intentionally causes an error condition)
+$!
+$! In case of problems with the install you might contact me at
+$! zinser@decus.de (preferred) or zinser@sysdev.deutsche-boerse.com
+$
+$! hb
+$! But don't ask Martin Zinser about the lines, I added/changed.
+$! In case of an error do some cleanup 
+$ on error then $ goto cleanup
+$! in case somebody set up her/his own symbol for cc
+$ set symbol/scope=(nolocal,noglobal)
+$!
+$! Just some general constants...
+$!
+$ true  = 1
+$ false = 0
+$ tmpnam = "temp_" + f$getjpi("","pid")
+$ tt = tmpnam + ".txt"
+$ tc = tmpnam + ".c"
+$!
+$! Look for the compiler used
+$!
+$ lval = ""
+$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
+$  then
+$   if f$trnlnm("SYS").eqs."" then def/nolog sys sys$library:
+$   ccopt = ""
+$  else
+$   ccopt = "/decc/prefix=all"
+$   if f$trnlnm("SYS").eqs.""
+$    then
+$     if f$trnlnm("DECC$LIBRARY_INCLUDE").nes.""
+$      then
+$       define sys decc$library_include:
+$      else
+$       if f$search("SYS$COMMON:[DECC$LIB.REFERENCE]DECC$RTLDEF.DIR").nes."" -
+           then lval = "SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF],"
+$       if f$search("SYS$COMMON:[DECC$LIB.REFERENCE]SYS$STARLET_C.DIR").nes."" -
+           then lval = lval+"SYS$COMMON:[DECC$LIB.REFERENCE.SYS$STARLET_C],"
+$       lval=lval+"SYS$LIBRARY:"
+$       define sys 'lval
+$      endif
+$   endif
+$ endif
+$!
+$! Should we build a debug image
+$!
+$ if (p2.eqs."DEBUG")
+$  then
+$   ccopt = ccopt + "/noopt/debug"
+$   lopt = "/debug"
+$ else
+$   lopt = ""
+$ endif
+$!
+$! Do we want to see all warnings
+$!
+$ if (p3.nes."WALL")
+$ then
+$   gosub check_cc_qual
+$ endif
+$ filelist = "alloca ar arscan commands default dir expand file function " + -
+             "hash implicit job main misc read remake remote-stub rule " + -
+            "signame variable version vmsfunctions vmsify vpath " + - 
+            "[.glob]glob [.glob]fnmatch getopt1 getopt"
+$ copy config.h-vms config.h
+$ n=0
+$ open/write optf make.opt
+$ loop:
+$ cfile = f$elem(n," ",filelist)
+$ if cfile .eqs. " " then goto linkit
+$ write sys$output "Compiling ''cfile'..."
+$ call compileit 'cfile' 'p1'
+$ n = n + 1
+$ goto loop
+$ linkit:
+$ close optf
+$ if p1 .nes. "" then goto link_using_library
+$ link/exe=make make.opt/opt'lopt
+$ goto cleanup
+$
+$ link_using_library:
+$ link/exe=make make.opt/opt,sys$library:vaxcrtl/lib'lopt
+$
+$ cleanup:
+$ if f$trnlnm("SYS").nes."" then $ deassign sys
+$ if f$trnlnm("OPTF").nes."" then $ close optf
+$ if f$search("make.opt").nes."" then $ del make.opt;*
+$ exit
+$!
+$!------------------------------------------------------------------------------
+$!
+$! Check if this is a define relating to the properties of the C/C++
+$! compiler
+$!
+$CHECK_CC_QUAL:
+$ open/write tmpc 'tc 
+$ ccqual = "/warn=(disable=questcompare)"
+$ write tmpc "#include <stdio.h>"
+$ write tmpc "unsigned int i = 1;"
+$ write tmpc "int main(){"
+$ write tmpc "if (i < 0){printf(""Mission impossible\n"");}}"  
+$ close tmpc
+$ gosub cc_qual_check
+$ return
+$!
+$!------------------------------------------------------------------------------
+$!
+$! Check for properties of C/C++ compiler
+$!
+$CC_QUAL_CHECK:
+$ cc_qual = false
+$ set message/nofac/noident/nosever/notext
+$ cc 'ccqual' 'tmpnam'
+$ if $status then cc_qual = true
+$ set message/fac/ident/sever/text
+$ delete/nolog 'tmpnam'.*;*
+$ if cc_qual then ccopt = ccopt + ccqual 
+$ return
+$!------------------------------------------------------------------------------
+$!
+$ compileit : subroutine
+$ ploc = f$locate("]",p1)
+$ filnam = p1
+$ if ploc .lt. f$length(p1) then filnam=f$extract(ploc+1,100,p1)
+$ write optf "''filnam'"
+$ cc'ccopt'/include=([],[.glob]) - 
+  /define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") - 
+  'p1'
+$ exit
+$ endsubroutine : compileit
diff --git a/src/mkutil/make-3.80/makefile.vms b/src/mkutil/make-3.80/makefile.vms
new file mode 100644 (file)
index 0000000..3ada831
--- /dev/null
@@ -0,0 +1,147 @@
+# Copyright (C) 1988, 1989, 1996, 1997 Free Software Foundation, Inc.
+# This file is part of GNU Make.
+#
+# VMS extensions from GNU Make 3.60 imported by
+#  Klaus Kämpf (kkaempf@rmi.de)
+# Modified for version 3.78.1 by Hartmut.Becker@compaq.com.
+# Modified for version 3.80 by zinser@decus.de
+#
+# GNU Make is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Make is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Make; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+CC = cc
+CP = copy
+
+%.obj: %.c
+       $(CC) $(CFLAGS)/obj=$@ $<
+#
+#      Makefile for GNU Make
+#
+
+ifeq ($(CC),cc)
+CFLAGS = $(defines) /include=([],[.glob])/prefix=all/standard=relaxed
+else
+CFLAGS = $(defines) /include=([],[.glob])
+endif
+#LDFLAGS = /deb
+LDFLAGS =
+
+ifeq ($(CC),cc)
+defines = /define=("unlink=remove","HAVE_CONFIG_H","VMS","allocated_variable_expand_for_file=alloc_var_expand_for_file")
+else
+ifeq ($(ARCH),VAX)
+defines = /define=("HAVE_CONFIG_H","GCC_IS_NATIVE","VAX")
+else
+defines = /define=("HAVE_CONFIG_H","GCC_IS_NATIVE")
+endif
+endif
+
+LOAD_AVG = /define="NO_LDAV"
+
+# If you don't want archive support, comment these out.
+ARCHIVES = ,ar.obj,arscan.obj
+ARCHIVES_SRC = ar.c arscan.c
+
+# If your system needs extra libraries loaded in, define them here.
+# System V probably need -lPW for alloca.
+# if on vax, uncomment the following line
+#LOADLIBES = ,c.opt/opt
+ifeq ($(CC),cc)
+#LOADLIBES =,sys$$library:vaxcrtl.olb/lib
+CRT0 =
+else
+LOADLIBES =,gnu_cc_library:libgcc.olb/lib
+endif
+
+# If your system doesn't have alloca, or the one provided is bad,
+# get it from the Emacs distribution and define these.
+#ALLOCA = ,alloca.obj
+#ALLOCASRC = alloca.c
+
+# If there are remote execution facilities defined,
+# enable them with switches here (see remote-*.c).
+REMOTE =
+
+# Any extra object files your system needs.
+extras = ,signame.obj,remote-stub.obj,vmsfunctions.obj,vmsify.obj
+#,directory.obj
+# as an alternative:
+glob = ,[.glob]glob.obj,[.glob]fnmatch.obj
+getopt = ,getopt.obj,getopt1.obj
+# Directory to install `make' in.
+bindir = []
+# Directory to install the man page in.
+mandir = []
+# Number to put on the man page filename.
+manext = 1
+
+objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,hash.obj,\
+       main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\
+       default.obj,variable.obj,expand.obj,function.obj,\
+       vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)
+srcs = commands.c job.c dir.c file.c misc.c  hash.c\
+       main.c read.c remake.c rule.c implicit.c \
+       default.c variable.c expand.c function.c \
+       vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \
+       commands.h dep.h filedef.h job.h make.h rule.h variable.h
+
+
+.PHONY: all doc
+all: config.h make.exe
+
+doc: make.info make.dvi
+
+
+make.exe: $(objs)
+       $(LD)$(LDFLAGS)/exe=$@ $^$(LOADLIBES)$(CRT0)
+
+.PHONY: clean realclean
+clean:
+       $$ purge [...]
+       -$(RM) make.exe;,*.obj;
+       -$(RM) *.opt;
+       -$(RM) [.glob]*.obj;
+
+# Automatically generated dependencies.
+commands.obj: commands.c make.h dep.h commands.h filedef.h variable.h job.h
+job.obj: job.c make.h commands.h job.h filedef.h variable.h
+dir.obj: dir.c make.h
+file.obj: file.c make.h commands.h dep.h filedef.h variable.h
+misc.obj: misc.c make.h dep.h
+hash.obj: hash.c make.h hash.h
+main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h
+read.obj: read.c make.h commands.h dep.h filedef.h variable.h
+remake.obj: remake.c make.h commands.h job.h dep.h filedef.h
+rule.obj: rule.c make.h commands.h dep.h filedef.h variable.h rule.h
+implicit.obj: implicit.c make.h rule.h dep.h filedef.h
+default.obj: default.c make.h rule.h dep.h filedef.h commands.h variable.h
+variable.obj: variable.c make.h commands.h variable.h dep.h filedef.h
+expand.obj: expand.c make.h commands.h filedef.h variable.h
+function.obj: function.c make.h variable.h dep.h commands.h job.h
+vpath.obj: vpath.c make.h filedef.h variable.h
+version.obj: version.c config.h
+arscan.obj: arscan.c
+ar.obj: ar.c make.h filedef.h
+signame.obj: signame.c
+remote-stub.obj: remote-stub.c
+[.glob]glob.obj: [.glob]glob.c
+[.glob]fnmatch.obj: [.glob]fnmatch.c
+getopt.obj: getopt.c
+getopt1.obj: getopt1.c
+vmsfunctions.obj: vmsfunctions.c make.h vmsdir.h
+vmsify.obj: vmsify.c make.h
+
+config.h: config.h-vms
+       $(CP) $< $@
diff --git a/src/mkutil/make-3.80/misc.c b/src/mkutil/make-3.80/misc.c
new file mode 100644 (file)
index 0000000..7f0b1b3
--- /dev/null
@@ -0,0 +1,893 @@
+/* Miscellaneous generic support functions for GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "dep.h"
+#include "debug.h"
+
+/* Variadic functions.  We go through contortions to allow proper function
+   prototypes for both ANSI and pre-ANSI C compilers, and also for those
+   which support stdarg.h vs. varargs.h, and finally those which have
+   vfprintf(), etc. and those who have _doprnt... or nothing.
+
+   This fancy stuff all came from GNU fileutils, except for the VA_PRINTF and
+   VA_END macros used here since we have multiple print functions.  */
+
+#if HAVE_VPRINTF || HAVE_DOPRNT
+# define HAVE_STDVARARGS 1
+# if __STDC__
+#  include <stdarg.h>
+#  define VA_START(args, lastarg) va_start(args, lastarg)
+# else
+#  include <varargs.h>
+#  define VA_START(args, lastarg) va_start(args)
+# endif
+# if HAVE_VPRINTF
+#  define VA_PRINTF(fp, lastarg, args) vfprintf((fp), (lastarg), (args))
+# else
+#  define VA_PRINTF(fp, lastarg, args) _doprnt((lastarg), (args), (fp))
+# endif
+# define VA_END(args) va_end(args)
+#else
+/* # undef HAVE_STDVARARGS */
+# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
+# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
+# define VA_START(args, lastarg)
+# define VA_PRINTF(fp, lastarg, args) fprintf((fp), (lastarg), va_alist)
+# define VA_END(args)
+#endif
+
+
+/* Compare strings *S1 and *S2.
+   Return negative if the first is less, positive if it is greater,
+   zero if they are equal.  */
+
+int
+alpha_compare (v1, v2)
+     const void *v1, *v2;
+{
+  const char *s1 = *((char **)v1);
+  const char *s2 = *((char **)v2);
+
+  if (*s1 != *s2)
+    return *s1 - *s2;
+  return strcmp (s1, s2);
+}
+\f
+/* Discard each backslash-newline combination from LINE.
+   Backslash-backslash-newline combinations become backslash-newlines.
+   This is done by copying the text at LINE into itself.  */
+
+void
+collapse_continuations (line)
+     char *line;
+{
+  register char *in, *out, *p;
+  register int backslash;
+  register unsigned int bs_write;
+
+  in = strchr (line, '\n');
+  if (in == 0)
+    return;
+
+  out = in;
+  while (out > line && out[-1] == '\\')
+    --out;
+
+  while (*in != '\0')
+    {
+      /* BS_WRITE gets the number of quoted backslashes at
+        the end just before IN, and BACKSLASH gets nonzero
+        if the next character is quoted.  */
+      backslash = 0;
+      bs_write = 0;
+      for (p = in - 1; p >= line && *p == '\\'; --p)
+       {
+         if (backslash)
+           ++bs_write;
+         backslash = !backslash;
+
+         /* It should be impossible to go back this far without exiting,
+            but if we do, we can't get the right answer.  */
+         if (in == out - 1)
+           abort ();
+       }
+
+      /* Output the appropriate number of backslashes.  */
+      while (bs_write-- > 0)
+       *out++ = '\\';
+
+      /* Skip the newline.  */
+      ++in;
+
+      /* If the newline is quoted, discard following whitespace
+        and any preceding whitespace; leave just one space.  */
+      if (backslash)
+       {
+         in = next_token (in);
+         while (out > line && isblank ((unsigned char)out[-1]))
+           --out;
+         *out++ = ' ';
+       }
+      else
+       /* If the newline isn't quoted, put it in the output.  */
+       *out++ = '\n';
+
+      /* Now copy the following line to the output.
+        Stop when we find backslashes followed by a newline.  */
+      while (*in != '\0')
+       if (*in == '\\')
+         {
+           p = in + 1;
+           while (*p == '\\')
+             ++p;
+           if (*p == '\n')
+             {
+               in = p;
+               break;
+             }
+           while (in < p)
+             *out++ = *in++;
+         }
+       else
+         *out++ = *in++;
+    }
+
+  *out = '\0';
+}
+
+
+/* Remove comments from LINE.
+   This is done by copying the text at LINE onto itself.  */
+
+void
+remove_comments (line)
+     char *line;
+{
+  char *comment;
+
+  comment = find_char_unquote (line, '#', 0, 0);
+
+  if (comment != 0)
+    /* Cut off the line at the #.  */
+    *comment = '\0';
+}
+\f
+/* Print N spaces (used in debug for target-depth).  */
+
+void
+print_spaces (n)
+     unsigned int n;
+{
+  while (n-- > 0)
+    putchar (' ');
+}
+
+\f
+/* Return a newly-allocated string whose contents
+   concatenate those of s1, s2, s3.  */
+
+char *
+concat (s1, s2, s3)
+     const char *s1, *s2, *s3;
+{
+  unsigned int len1, len2, len3;
+  char *result;
+
+  len1 = *s1 != '\0' ? strlen (s1) : 0;
+  len2 = *s2 != '\0' ? strlen (s2) : 0;
+  len3 = *s3 != '\0' ? strlen (s3) : 0;
+
+  result = (char *) xmalloc (len1 + len2 + len3 + 1);
+
+  if (*s1 != '\0')
+    bcopy (s1, result, len1);
+  if (*s2 != '\0')
+    bcopy (s2, result + len1, len2);
+  if (*s3 != '\0')
+    bcopy (s3, result + len1 + len2, len3);
+  *(result + len1 + len2 + len3) = '\0';
+
+  return result;
+}
+\f
+/* Print a message on stdout.  */
+
+void
+#if __STDC__ && HAVE_STDVARARGS
+message (int prefix, const char *fmt, ...)
+#else
+message (prefix, fmt, va_alist)
+     int prefix;
+     const char *fmt;
+     va_dcl
+#endif
+{
+#if HAVE_STDVARARGS
+  va_list args;
+#endif
+
+  log_working_directory (1);
+
+  if (fmt != 0)
+    {
+      if (prefix)
+       {
+         if (makelevel == 0)
+           printf ("%s: ", program);
+         else
+           printf ("%s[%u]: ", program, makelevel);
+       }
+      VA_START (args, fmt);
+      VA_PRINTF (stdout, fmt, args);
+      VA_END (args);
+      putchar ('\n');
+    }
+
+  fflush (stdout);
+}
+
+/* Print an error message.  */
+
+void
+#if __STDC__ && HAVE_STDVARARGS
+error (const struct floc *flocp, const char *fmt, ...)
+#else
+error (flocp, fmt, va_alist)
+     const struct floc *flocp;
+     const char *fmt;
+     va_dcl
+#endif
+{
+#if HAVE_STDVARARGS
+  va_list args;
+#endif
+
+  log_working_directory (1);
+
+  if (flocp && flocp->filenm)
+    fprintf (stderr, "%s:%lu: ", flocp->filenm, flocp->lineno);
+  else if (makelevel == 0)
+    fprintf (stderr, "%s: ", program);
+  else
+    fprintf (stderr, "%s[%u]: ", program, makelevel);
+
+  VA_START(args, fmt);
+  VA_PRINTF (stderr, fmt, args);
+  VA_END (args);
+
+  putc ('\n', stderr);
+  fflush (stderr);
+}
+
+/* Print an error message and exit.  */
+
+void
+#if __STDC__ && HAVE_STDVARARGS
+fatal (const struct floc *flocp, const char *fmt, ...)
+#else
+fatal (flocp, fmt, va_alist)
+     const struct floc *flocp;
+     const char *fmt;
+     va_dcl
+#endif
+{
+#if HAVE_STDVARARGS
+  va_list args;
+#endif
+
+  log_working_directory (1);
+
+  if (flocp && flocp->filenm)
+    fprintf (stderr, "%s:%lu: *** ", flocp->filenm, flocp->lineno);
+  else if (makelevel == 0)
+    fprintf (stderr, "%s: *** ", program);
+  else
+    fprintf (stderr, "%s[%u]: *** ", program, makelevel);
+
+  VA_START(args, fmt);
+  VA_PRINTF (stderr, fmt, args);
+  VA_END (args);
+
+  fputs (_(".  Stop.\n"), stderr);
+
+  die (2);
+}
+
+#ifndef HAVE_STRERROR
+
+#undef strerror
+
+char *
+strerror (errnum)
+     int errnum;
+{
+  extern int errno, sys_nerr;
+#ifndef __DECC
+  extern char *sys_errlist[];
+#endif
+  static char buf[] = "Unknown error 12345678901234567890";
+
+  if (errno < sys_nerr)
+    return sys_errlist[errnum];
+
+  sprintf (buf, _("Unknown error %d"), errnum);
+  return buf;
+}
+#endif
+
+/* Print an error message from errno.  */
+
+void
+perror_with_name (str, name)
+     const char *str, *name;
+{
+  error (NILF, _("%s%s: %s"), str, name, strerror (errno));
+}
+
+/* Print an error message from errno and exit.  */
+
+void
+pfatal_with_name (name)
+     const char *name;
+{
+  fatal (NILF, _("%s: %s"), name, strerror (errno));
+
+  /* NOTREACHED */
+}
+\f
+/* Like malloc but get fatal error if memory is exhausted.  */
+/* Don't bother if we're using dmalloc; it provides these for us.  */
+
+#ifndef HAVE_DMALLOC_H
+
+#undef xmalloc
+#undef xrealloc
+#undef xstrdup
+
+char *
+xmalloc (size)
+     unsigned int size;
+{
+  char *result = (char *) malloc (size);
+  if (result == 0)
+    fatal (NILF, _("virtual memory exhausted"));
+  return result;
+}
+
+
+char *
+xrealloc (ptr, size)
+     char *ptr;
+     unsigned int size;
+{
+  char *result;
+
+  /* Some older implementations of realloc() don't conform to ANSI.  */
+  result = ptr ? realloc (ptr, size) : malloc (size);
+  if (result == 0)
+    fatal (NILF, _("virtual memory exhausted"));
+  return result;
+}
+
+
+char *
+xstrdup (ptr)
+     const char *ptr;
+{
+  char *result;
+
+#ifdef HAVE_STRDUP
+  result = strdup (ptr);
+#else
+  result = (char *) malloc (strlen (ptr) + 1);
+#endif
+
+  if (result == 0)
+    fatal (NILF, _("virtual memory exhausted"));
+
+#ifdef HAVE_STRDUP
+  return result;
+#else
+  return strcpy(result, ptr);
+#endif
+}
+
+#endif  /* HAVE_DMALLOC_H */
+
+char *
+savestring (str, length)
+     const char *str;
+     unsigned int length;
+{
+  register char *out = (char *) xmalloc (length + 1);
+  if (length > 0)
+    bcopy (str, out, length);
+  out[length] = '\0';
+  return out;
+}
+\f
+/* Search string BIG (length BLEN) for an occurrence of
+   string SMALL (length SLEN).  Return a pointer to the
+   beginning of the first occurrence, or return nil if none found.  */
+
+char *
+sindex (big, blen, small, slen)
+     const char *big;
+     unsigned int blen;
+     const char *small;
+     unsigned int slen;
+{
+  if (!blen)
+    blen = strlen (big);
+  if (!slen)
+    slen = strlen (small);
+
+  if (slen && blen >= slen)
+    {
+      register unsigned int b;
+
+      /* Quit when there's not enough room left for the small string.  */
+      --slen;
+      blen -= slen;
+
+      for (b = 0; b < blen; ++b, ++big)
+        if (*big == *small && strneq (big + 1, small + 1, slen))
+          return (char *)big;
+    }
+
+  return 0;
+}
+
+/* Limited INDEX:
+   Search through the string STRING, which ends at LIMIT, for the character C.
+   Returns a pointer to the first occurrence, or nil if none is found.
+   Like INDEX except that the string searched ends where specified
+   instead of at the first null.  */
+
+char *
+lindex (s, limit, c)
+     register const char *s, *limit;
+     int c;
+{
+  while (s < limit)
+    if (*s++ == c)
+      return (char *)(s - 1);
+
+  return 0;
+}
+\f
+/* Return the address of the first whitespace or null in the string S.  */
+
+char *
+end_of_token (s)
+     char *s;
+{
+  while (*s != '\0' && !isblank ((unsigned char)*s))
+    ++s;
+  return s;
+}
+
+#ifdef WINDOWS32
+/*
+ * Same as end_of_token, but take into account a stop character
+ */
+char *
+end_of_token_w32 (s, stopchar)
+     char *s;
+     char stopchar;
+{
+  register char *p = s;
+  register int backslash = 0;
+
+  while (*p != '\0' && *p != stopchar
+        && (backslash || !isblank ((unsigned char)*p)))
+    {
+      if (*p++ == '\\')
+        {
+          backslash = !backslash;
+          while (*p == '\\')
+            {
+              backslash = !backslash;
+              ++p;
+            }
+        }
+      else
+        backslash = 0;
+    }
+
+  return p;
+}
+#endif
+
+/* Return the address of the first nonwhitespace or null in the string S.  */
+
+char *
+next_token (s)
+     const char *s;
+{
+  while (isblank ((unsigned char)*s))
+    ++s;
+  return (char *)s;
+}
+
+/* Find the next token in PTR; return the address of it, and store the
+   length of the token into *LENGTHPTR if LENGTHPTR is not nil.  */
+
+char *
+find_next_token (ptr, lengthptr)
+     char **ptr;
+     unsigned int *lengthptr;
+{
+  char *p = next_token (*ptr);
+  char *end;
+
+  if (*p == '\0')
+    return 0;
+
+  *ptr = end = end_of_token (p);
+  if (lengthptr != 0)
+    *lengthptr = end - p;
+  return p;
+}
+\f
+/* Copy a chain of `struct dep', making a new chain
+   with the same contents as the old one.  */
+
+struct dep *
+copy_dep_chain (d)
+     register struct dep *d;
+{
+  register struct dep *c;
+  struct dep *firstnew = 0;
+  struct dep *lastnew = 0;
+
+  while (d != 0)
+    {
+      c = (struct dep *) xmalloc (sizeof (struct dep));
+      bcopy ((char *) d, (char *) c, sizeof (struct dep));
+      if (c->name != 0)
+       c->name = xstrdup (c->name);
+      c->next = 0;
+      if (firstnew == 0)
+       firstnew = lastnew = c;
+      else
+       lastnew = lastnew->next = c;
+
+      d = d->next;
+    }
+
+  return firstnew;
+}
+\f
+#ifdef iAPX286
+/* The losing compiler on this machine can't handle this macro.  */
+
+char *
+dep_name (dep)
+     struct dep *dep;
+{
+  return dep->name == 0 ? dep->file->name : dep->name;
+}
+#endif
+\f
+#ifdef GETLOADAVG_PRIVILEGED
+
+#ifdef POSIX
+
+/* Hopefully if a system says it's POSIX.1 and has the setuid and setgid
+   functions, they work as POSIX.1 says.  Some systems (Alpha OSF/1 1.2,
+   for example) which claim to be POSIX.1 also have the BSD setreuid and
+   setregid functions, but they don't work as in BSD and only the POSIX.1
+   way works.  */
+
+#undef HAVE_SETREUID
+#undef HAVE_SETREGID
+
+#else  /* Not POSIX.  */
+
+/* Some POSIX.1 systems have the seteuid and setegid functions.  In a
+   POSIX-like system, they are the best thing to use.  However, some
+   non-POSIX systems have them too but they do not work in the POSIX style
+   and we must use setreuid and setregid instead.  */
+
+#undef HAVE_SETEUID
+#undef HAVE_SETEGID
+
+#endif /* POSIX.  */
+
+#ifndef        HAVE_UNISTD_H
+extern int getuid (), getgid (), geteuid (), getegid ();
+extern int setuid (), setgid ();
+#ifdef HAVE_SETEUID
+extern int seteuid ();
+#else
+#ifdef HAVE_SETREUID
+extern int setreuid ();
+#endif /* Have setreuid.  */
+#endif /* Have seteuid.  */
+#ifdef HAVE_SETEGID
+extern int setegid ();
+#else
+#ifdef HAVE_SETREGID
+extern int setregid ();
+#endif /* Have setregid.  */
+#endif /* Have setegid.  */
+#endif /* No <unistd.h>.  */
+
+/* Keep track of the user and group IDs for user- and make- access.  */
+static int user_uid = -1, user_gid = -1, make_uid = -1, make_gid = -1;
+#define        access_inited   (user_uid != -1)
+static enum { make, user } current_access;
+
+
+/* Under -d, write a message describing the current IDs.  */
+
+static void
+log_access (flavor)
+     char *flavor;
+{
+  if (! ISDB (DB_JOBS))
+    return;
+
+  /* All the other debugging messages go to stdout,
+     but we write this one to stderr because it might be
+     run in a child fork whose stdout is piped.  */
+
+  fprintf (stderr, _("%s: user %lu (real %lu), group %lu (real %lu)\n"),
+          flavor, (unsigned long) geteuid (), (unsigned long) getuid (),
+           (unsigned long) getegid (), (unsigned long) getgid ());
+  fflush (stderr);
+}
+
+
+static void
+init_access ()
+{
+#ifndef VMS
+  user_uid = getuid ();
+  user_gid = getgid ();
+
+  make_uid = geteuid ();
+  make_gid = getegid ();
+
+  /* Do these ever fail?  */
+  if (user_uid == -1 || user_gid == -1 || make_uid == -1 || make_gid == -1)
+    pfatal_with_name ("get{e}[gu]id");
+
+  log_access (_("Initialized access"));
+
+  current_access = make;
+#endif
+}
+
+#endif /* GETLOADAVG_PRIVILEGED */
+
+/* Give the process appropriate permissions for access to
+   user data (i.e., to stat files, or to spawn a child process).  */
+void
+user_access ()
+{
+#ifdef GETLOADAVG_PRIVILEGED
+
+  if (!access_inited)
+    init_access ();
+
+  if (current_access == user)
+    return;
+
+  /* We are in "make access" mode.  This means that the effective user and
+     group IDs are those of make (if it was installed setuid or setgid).
+     We now want to set the effective user and group IDs to the real IDs,
+     which are the IDs of the process that exec'd make.  */
+
+#ifdef HAVE_SETEUID
+
+  /* Modern systems have the seteuid/setegid calls which set only the
+     effective IDs, which is ideal.  */
+
+  if (seteuid (user_uid) < 0)
+    pfatal_with_name ("user_access: seteuid");
+
+#else  /* Not HAVE_SETEUID.  */
+
+#ifndef        HAVE_SETREUID
+
+  /* System V has only the setuid/setgid calls to set user/group IDs.
+     There is an effective ID, which can be set by setuid/setgid.
+     It can be set (unless you are root) only to either what it already is
+     (returned by geteuid/getegid, now in make_uid/make_gid),
+     the real ID (return by getuid/getgid, now in user_uid/user_gid),
+     or the saved set ID (what the effective ID was before this set-ID
+     executable (make) was exec'd).  */
+
+  if (setuid (user_uid) < 0)
+    pfatal_with_name ("user_access: setuid");
+
+#else  /* HAVE_SETREUID.  */
+
+  /* In 4BSD, the setreuid/setregid calls set both the real and effective IDs.
+     They may be set to themselves or each other.  So you have two alternatives
+     at any one time.  If you use setuid/setgid, the effective will be set to
+     the real, leaving only one alternative.  Using setreuid/setregid, however,
+     you can toggle between your two alternatives by swapping the values in a
+     single setreuid or setregid call.  */
+
+  if (setreuid (make_uid, user_uid) < 0)
+    pfatal_with_name ("user_access: setreuid");
+
+#endif /* Not HAVE_SETREUID.  */
+#endif /* HAVE_SETEUID.  */
+
+#ifdef HAVE_SETEGID
+  if (setegid (user_gid) < 0)
+    pfatal_with_name ("user_access: setegid");
+#else
+#ifndef        HAVE_SETREGID
+  if (setgid (user_gid) < 0)
+    pfatal_with_name ("user_access: setgid");
+#else
+  if (setregid (make_gid, user_gid) < 0)
+    pfatal_with_name ("user_access: setregid");
+#endif
+#endif
+
+  current_access = user;
+
+  log_access (_("User access"));
+
+#endif /* GETLOADAVG_PRIVILEGED */
+}
+
+/* Give the process appropriate permissions for access to
+   make data (i.e., the load average).  */
+void
+make_access ()
+{
+#ifdef GETLOADAVG_PRIVILEGED
+
+  if (!access_inited)
+    init_access ();
+
+  if (current_access == make)
+    return;
+
+  /* See comments in user_access, above.  */
+
+#ifdef HAVE_SETEUID
+  if (seteuid (make_uid) < 0)
+    pfatal_with_name ("make_access: seteuid");
+#else
+#ifndef        HAVE_SETREUID
+  if (setuid (make_uid) < 0)
+    pfatal_with_name ("make_access: setuid");
+#else
+  if (setreuid (user_uid, make_uid) < 0)
+    pfatal_with_name ("make_access: setreuid");
+#endif
+#endif
+
+#ifdef HAVE_SETEGID
+  if (setegid (make_gid) < 0)
+    pfatal_with_name ("make_access: setegid");
+#else
+#ifndef        HAVE_SETREGID
+  if (setgid (make_gid) < 0)
+    pfatal_with_name ("make_access: setgid");
+#else
+  if (setregid (user_gid, make_gid) < 0)
+    pfatal_with_name ("make_access: setregid");
+#endif
+#endif
+
+  current_access = make;
+
+  log_access (_("Make access"));
+
+#endif /* GETLOADAVG_PRIVILEGED */
+}
+
+/* Give the process appropriate permissions for a child process.
+   This is like user_access, but you can't get back to make_access.  */
+void
+child_access ()
+{
+#ifdef GETLOADAVG_PRIVILEGED
+
+  if (!access_inited)
+    abort ();
+
+  /* Set both the real and effective UID and GID to the user's.
+     They cannot be changed back to make's.  */
+
+#ifndef        HAVE_SETREUID
+  if (setuid (user_uid) < 0)
+    pfatal_with_name ("child_access: setuid");
+#else
+  if (setreuid (user_uid, user_uid) < 0)
+    pfatal_with_name ("child_access: setreuid");
+#endif
+
+#ifndef        HAVE_SETREGID
+  if (setgid (user_gid) < 0)
+    pfatal_with_name ("child_access: setgid");
+#else
+  if (setregid (user_gid, user_gid) < 0)
+    pfatal_with_name ("child_access: setregid");
+#endif
+
+  log_access (_("Child access"));
+
+#endif /* GETLOADAVG_PRIVILEGED */
+}
+\f
+#ifdef NEED_GET_PATH_MAX
+unsigned int
+get_path_max ()
+{
+  static unsigned int value;
+
+  if (value == 0)
+    {
+      long int x = pathconf ("/", _PC_PATH_MAX);
+      if (x > 0)
+       value = x;
+      else
+       return MAXPATHLEN;
+    }
+
+  return value;
+}
+#endif
+\f
+
+#ifdef HAVE_BROKEN_RESTART
+
+#undef stat
+#undef readdir
+
+int
+atomic_stat(file, buf)
+     const char *file;
+     struct stat *buf;
+{
+  int r;
+
+  while ((r = stat (file, buf)) < 0)
+    if (errno != EINTR)
+      break;
+
+  return r;
+}
+
+struct dirent *
+atomic_readdir(dir)
+     DIR *dir;
+{
+  struct dirent *r;
+
+  while ((r = readdir (dir)) == NULL)
+    if (errno != EINTR)
+      break;
+
+  return r;
+}
+
+#endif  /* HAVE_BROKEN_RESTART */
diff --git a/src/mkutil/make-3.80/n.bat b/src/mkutil/make-3.80/n.bat
new file mode 100644 (file)
index 0000000..e3ad471
--- /dev/null
@@ -0,0 +1,21 @@
+del WinRel /s /q\r
+del WinDebug /s /q\r
+del w32\subproc\WinRel /s /q\r
+del w32\subproc\WinDebug /s /q\r
+\r
+del config.h\r
+nmake /f NMakefile\r
+@if errorlevel 1 goto failure\r
+copy WinRel\make.exe ..\..\bin\r
+\r
+del WinRel /s /q\r
+del WinDebug /s /q\r
+del w32\subproc\WinRel /s /q\r
+del w32\subproc\WinDebug /s /q\r
+\r
+@echo SUCCESS\r
+@goto done\r
+:failure\r
+@echo FAILURE\r
+:done\r
+\r
diff --git a/src/mkutil/make-3.80/read.c b/src/mkutil/make-3.80/read.c
new file mode 100644 (file)
index 0000000..9a4c609
--- /dev/null
@@ -0,0 +1,3105 @@
+/* Reading and parsing of makefiles for GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+
+#include <assert.h>
+
+#include <glob.h>
+
+#include "dep.h"
+#include "filedef.h"
+#include "job.h"
+#include "commands.h"
+#include "variable.h"
+#include "rule.h"
+#include "debug.h"
+#include "hash.h"
+
+
+#ifndef WINDOWS32
+#ifndef _AMIGA
+#ifndef VMS
+#include <pwd.h>
+#else
+struct passwd *getpwnam PARAMS ((char *name));
+#endif
+#endif
+#endif /* !WINDOWS32 */
+
+/* A 'struct ebuffer' controls the origin of the makefile we are currently
+   eval'ing.
+*/
+
+struct ebuffer
+  {
+    char *buffer;       /* Start of the current line in the buffer.  */
+    char *bufnext;      /* Start of the next line in the buffer.  */
+    char *bufstart;     /* Start of the entire buffer.  */
+    unsigned int size;  /* Malloc'd size of buffer. */
+    FILE *fp;           /* File, or NULL if this is an internal buffer.  */
+    struct floc floc;   /* Info on the file in fp (if any).  */
+  };
+
+/* Types of "words" that can be read in a makefile.  */
+enum make_word_type
+  {
+     w_bogus, w_eol, w_static, w_variable, w_colon, w_dcolon, w_semicolon,
+     w_varassign
+  };
+
+
+/* A `struct conditionals' contains the information describing
+   all the active conditionals in a makefile.
+
+   The global variable `conditionals' contains the conditionals
+   information for the current makefile.  It is initialized from
+   the static structure `toplevel_conditionals' and is later changed
+   to new structures for included makefiles.  */
+
+struct conditionals
+  {
+    unsigned int if_cmds;      /* Depth of conditional nesting.  */
+    unsigned int allocated;    /* Elts allocated in following arrays.  */
+    char *ignoring;            /* Are we ignoring or interepreting?  */
+    char *seen_else;           /* Have we already seen an `else'?  */
+  };
+
+static struct conditionals toplevel_conditionals;
+static struct conditionals *conditionals = &toplevel_conditionals;
+
+
+/* Default directories to search for include files in  */
+
+static char *default_include_directories[] =
+  {
+#if defined(WINDOWS32) && !defined(INCLUDEDIR)
+/*
+ * This completely up to the user when they install MSVC or other packages.
+ * This is defined as a placeholder.
+ */
+#define INCLUDEDIR "."
+#endif
+    INCLUDEDIR,
+#ifndef _AMIGA
+    "/usr/gnu/include",
+    "/usr/local/include",
+    "/usr/include",
+#endif
+    0
+  };
+
+/* List of directories to search for include files in  */
+
+static char **include_directories;
+
+/* Maximum length of an element of the above.  */
+
+static unsigned int max_incl_len;
+
+/* The filename and pointer to line number of the
+   makefile currently being read in.  */
+
+const struct floc *reading_file = 0;
+
+/* The chain of makefiles read by read_makefile.  */
+
+static struct dep *read_makefiles = 0;
+
+static int eval_makefile PARAMS ((char *filename, int flags));
+static int eval PARAMS ((struct ebuffer *buffer, int flags));
+
+static long readline PARAMS ((struct ebuffer *ebuf));
+static void do_define PARAMS ((char *name, unsigned int namelen,
+                               enum variable_origin origin,
+                               struct ebuffer *ebuf));
+static int conditional_line PARAMS ((char *line, const struct floc *flocp));
+static void record_files PARAMS ((struct nameseq *filenames, char *pattern, char *pattern_percent,
+                       struct dep *deps, unsigned int cmds_started, char *commands,
+                       unsigned int commands_idx, int two_colon,
+                       int have_sysv_atvar,
+                        const struct floc *flocp, int set_default));
+static void record_target_var PARAMS ((struct nameseq *filenames, char *defn,
+                                       int two_colon,
+                                       enum variable_origin origin,
+                                       const struct floc *flocp));
+static enum make_word_type get_next_mword PARAMS ((char *buffer, char *delim,
+                        char **startp, unsigned int *length));
+\f
+/* Read in all the makefiles and return the chain of their names.  */
+
+struct dep *
+read_all_makefiles (makefiles)
+     char **makefiles;
+{
+  unsigned int num_makefiles = 0;
+
+  /* Create *_LIST variables, to hold the makefiles, targets, and variables
+     we will be reading. */
+
+  define_variable ("MAKEFILE_LIST", sizeof ("MAKEFILE_LIST")-1, "", o_file, 0);
+
+  DB (DB_BASIC, (_("Reading makefiles...\n")));
+
+  /* If there's a non-null variable MAKEFILES, its value is a list of
+     files to read first thing.  But don't let it prevent reading the
+     default makefiles and don't let the default goal come from there.  */
+
+  {
+    char *value;
+    char *name, *p;
+    unsigned int length;
+
+    {
+      /* Turn off --warn-undefined-variables while we expand MAKEFILES.  */
+      int save = warn_undefined_variables_flag;
+      warn_undefined_variables_flag = 0;
+
+      value = allocated_variable_expand ("$(MAKEFILES)");
+
+      warn_undefined_variables_flag = save;
+    }
+
+    /* Set NAME to the start of next token and LENGTH to its length.
+       MAKEFILES is updated for finding remaining tokens.  */
+    p = value;
+
+    while ((name = find_next_token (&p, &length)) != 0)
+      {
+       if (*p != '\0')
+         *p++ = '\0';
+        name = xstrdup (name);
+       if (eval_makefile (name,
+                           RM_NO_DEFAULT_GOAL|RM_INCLUDED|RM_DONTCARE) < 2)
+          free (name);
+      }
+
+    free (value);
+  }
+
+  /* Read makefiles specified with -f switches.  */
+
+  if (makefiles != 0)
+    while (*makefiles != 0)
+      {
+       struct dep *tail = read_makefiles;
+       register struct dep *d;
+
+       if (! eval_makefile (*makefiles, 0))
+         perror_with_name ("", *makefiles);
+
+       /* Find the right element of read_makefiles.  */
+       d = read_makefiles;
+       while (d->next != tail)
+         d = d->next;
+
+       /* Use the storage read_makefile allocates.  */
+       *makefiles = dep_name (d);
+       ++num_makefiles;
+       ++makefiles;
+      }
+
+  /* If there were no -f switches, try the default names.  */
+
+  if (num_makefiles == 0)
+    {
+      static char *default_makefiles[] =
+#ifdef VMS
+       /* all lower case since readdir() (the vms version) 'lowercasifies' */
+       { "makefile.vms", "gnumakefile.", "makefile.", 0 };
+#else
+#ifdef _AMIGA
+       { "GNUmakefile", "Makefile", "SMakefile", 0 };
+#else /* !Amiga && !VMS */
+       { "GNUmakefile", "makefile", "Makefile", 0 };
+#endif /* AMIGA */
+#endif /* VMS */
+      register char **p = default_makefiles;
+      while (*p != 0 && !file_exists_p (*p))
+       ++p;
+
+      if (*p != 0)
+       {
+         if (! eval_makefile (*p, 0))
+           perror_with_name ("", *p);
+       }
+      else
+       {
+         /* No default makefile was found.  Add the default makefiles to the
+            `read_makefiles' chain so they will be updated if possible.  */
+         struct dep *tail = read_makefiles;
+         /* Add them to the tail, after any MAKEFILES variable makefiles.  */
+         while (tail != 0 && tail->next != 0)
+           tail = tail->next;
+         for (p = default_makefiles; *p != 0; ++p)
+           {
+             struct dep *d = (struct dep *) xmalloc (sizeof (struct dep));
+             d->name = 0;
+             d->file = enter_file (*p);
+             d->file->dontcare = 1;
+              d->ignore_mtime = 0;
+             /* Tell update_goal_chain to bail out as soon as this file is
+                made, and main not to die if we can't make this file.  */
+             d->changed = RM_DONTCARE;
+             if (tail == 0)
+               read_makefiles = d;
+             else
+               tail->next = d;
+             tail = d;
+           }
+         if (tail != 0)
+           tail->next = 0;
+       }
+    }
+
+  return read_makefiles;
+}
+\f
+static int
+eval_makefile (filename, flags)
+     char *filename;
+     int flags;
+{
+  struct dep *deps;
+  struct ebuffer ebuf;
+  const struct floc *curfile;
+  int makefile_errno;
+  int r;
+
+  ebuf.floc.filenm = filename;
+  ebuf.floc.lineno = 1;
+
+  if (ISDB (DB_VERBOSE))
+    {
+      printf (_("Reading makefile `%s'"), filename);
+      if (flags & RM_NO_DEFAULT_GOAL)
+       printf (_(" (no default goal)"));
+      if (flags & RM_INCLUDED)
+       printf (_(" (search path)"));
+      if (flags & RM_DONTCARE)
+       printf (_(" (don't care)"));
+      if (flags & RM_NO_TILDE)
+       printf (_(" (no ~ expansion)"));
+      puts ("...");
+    }
+
+  /* First, get a stream to read.  */
+
+  /* Expand ~ in FILENAME unless it came from `include',
+     in which case it was already done.  */
+  if (!(flags & RM_NO_TILDE) && filename[0] == '~')
+    {
+      char *expanded = tilde_expand (filename);
+      if (expanded != 0)
+       filename = expanded;
+    }
+
+  ebuf.fp = fopen (filename, "r");
+  /* Save the error code so we print the right message later.  */
+  makefile_errno = errno;
+
+  /* If the makefile wasn't found and it's either a makefile from
+     the `MAKEFILES' variable or an included makefile,
+     search the included makefile search path for this makefile.  */
+  if (ebuf.fp == 0 && (flags & RM_INCLUDED) && *filename != '/')
+    {
+      register unsigned int i;
+      for (i = 0; include_directories[i] != 0; ++i)
+       {
+         char *name = concat (include_directories[i], "/", filename);
+         ebuf.fp = fopen (name, "r");
+         if (ebuf.fp == 0)
+           free (name);
+         else
+           {
+             filename = name;
+             break;
+           }
+       }
+    }
+
+  /* Add FILENAME to the chain of read makefiles.  */
+  deps = (struct dep *) xmalloc (sizeof (struct dep));
+  deps->next = read_makefiles;
+  read_makefiles = deps;
+  deps->name = 0;
+  deps->file = lookup_file (filename);
+  if (deps->file == 0)
+    {
+      deps->file = enter_file (xstrdup (filename));
+      if (flags & RM_DONTCARE)
+       deps->file->dontcare = 1;
+    }
+  if (filename != ebuf.floc.filenm)
+    free (filename);
+  filename = deps->file->name;
+  deps->changed = flags;
+  deps->ignore_mtime = 0;
+
+  /* If the makefile can't be found at all, give up entirely.  */
+
+  if (ebuf.fp == 0)
+    {
+      /* If we did some searching, errno has the error from the last
+        attempt, rather from FILENAME itself.  Restore it in case the
+        caller wants to use it in a message.  */
+      errno = makefile_errno;
+      return 0;
+    }
+
+  /* Add this makefile to the list. */
+  do_variable_definition (&ebuf.floc, "MAKEFILE_LIST", filename, o_file,
+                          f_append, 0);
+
+  /* Evaluate the makefile */
+
+  ebuf.size = 200;
+  ebuf.buffer = ebuf.bufnext = ebuf.bufstart = xmalloc (ebuf.size);
+
+  curfile = reading_file;
+  reading_file = &ebuf.floc;
+
+  r = eval (&ebuf, !(flags & RM_NO_DEFAULT_GOAL));
+
+  reading_file = curfile;
+
+  fclose (ebuf.fp);
+
+  free (ebuf.bufstart);
+  return r;
+}
+
+int
+eval_buffer (buffer)
+     char *buffer;
+{
+  struct ebuffer ebuf;
+  const struct floc *curfile;
+  int r;
+
+  /* Evaluate the buffer */
+
+  ebuf.size = strlen (buffer);
+  ebuf.buffer = ebuf.bufnext = ebuf.bufstart = buffer;
+  ebuf.fp = NULL;
+
+  ebuf.floc = *reading_file;
+
+  curfile = reading_file;
+  reading_file = &ebuf.floc;
+
+  r = eval (&ebuf, 1);
+
+  reading_file = curfile;
+
+  return r;
+}
+
+\f
+/* Read file FILENAME as a makefile and add its contents to the data base.
+
+   SET_DEFAULT is true if we are allowed to set the default goal.
+
+   FILENAME is added to the `read_makefiles' chain.
+
+   Returns 0 if a file was not found or not read.
+   Returns 1 if FILENAME was found and read.
+   Returns 2 if FILENAME was read, and we kept a reference (don't free it).  */
+
+static int
+eval (ebuf, set_default)
+     struct ebuffer *ebuf;
+     int set_default;
+{
+  static char *collapsed = 0;
+  static unsigned int collapsed_length = 0;
+  unsigned int commands_len = 200;
+  char *commands;
+  unsigned int commands_idx = 0;
+  unsigned int cmds_started, tgts_started;
+  int ignoring = 0, in_ignored_define = 0;
+  int no_targets = 0;          /* Set when reading a rule without targets.  */
+  int have_sysv_atvar = 0;
+  struct nameseq *filenames = 0;
+  struct dep *deps = 0;
+  long nlines = 0;
+  int two_colon = 0;
+  char *pattern = 0, *pattern_percent;
+  struct floc *fstart;
+  struct floc fi;
+
+#define record_waiting_files()                                               \
+  do                                                                         \
+    {                                                                        \
+      if (filenames != 0)                                                    \
+        {                                                                     \
+         fi.lineno = tgts_started;                                           \
+         record_files (filenames, pattern, pattern_percent, deps,            \
+                        cmds_started, commands, commands_idx, two_colon,      \
+                        have_sysv_atvar, &fi, set_default);                   \
+        }                                                                     \
+      filenames = 0;                                                         \
+      commands_idx = 0;                                                              \
+      no_targets = 0;                                                         \
+      if (pattern) { free(pattern); pattern = 0; }                            \
+    } while (0)
+
+  pattern_percent = 0;
+  cmds_started = tgts_started = 1;
+
+  fstart = &ebuf->floc;
+  fi.filenm = ebuf->floc.filenm;
+
+  /* Loop over lines in the file.
+     The strategy is to accumulate target names in FILENAMES, dependencies
+     in DEPS and commands in COMMANDS.  These are used to define a rule
+     when the start of the next rule (or eof) is encountered.
+
+     When you see a "continue" in the loop below, that means we are moving on
+     to the next line _without_ ending any rule that we happen to be working
+     with at the moment.  If you see a "goto rule_complete", then the
+     statement we just parsed also finishes the previous rule.  */
+
+  commands = xmalloc (200);
+
+  while (1)
+    {
+      int linelen;
+      char *line;
+      int len;
+      char *p;
+      char *p2;
+
+      /* Grab the next line to be evaluated */
+      ebuf->floc.lineno += nlines;
+      nlines = readline (ebuf);
+
+      /* If there is nothing left to eval, we're done.  */
+      if (nlines < 0)
+        break;
+
+      /* If this line is empty, skip it.  */
+      line = ebuf->buffer;
+      if (line[0] == '\0')
+        continue;
+
+      linelen = strlen (line);
+
+      /* Check for a shell command line first.
+        If it is not one, we can stop treating tab specially.  */
+      if (line[0] == '\t')
+       {
+         if (no_targets)
+           /* Ignore the commands in a rule with no targets.  */
+           continue;
+
+         /* If there is no preceding rule line, don't treat this line
+            as a command, even though it begins with a tab character.
+            SunOS 4 make appears to behave this way.  */
+
+         if (filenames != 0)
+           {
+             if (ignoring)
+               /* Yep, this is a shell command, and we don't care.  */
+               continue;
+
+             /* Append this command line to the line being accumulated.  */
+             if (commands_idx == 0)
+               cmds_started = ebuf->floc.lineno;
+
+             if (linelen + 1 + commands_idx > commands_len)
+               {
+                 commands_len = (linelen + 1 + commands_idx) * 2;
+                 commands = xrealloc (commands, commands_len);
+               }
+             bcopy (line, &commands[commands_idx], linelen);
+             commands_idx += linelen;
+             commands[commands_idx++] = '\n';
+
+             continue;
+           }
+       }
+
+      /* This line is not a shell command line.  Don't worry about tabs.  */
+
+      if (collapsed_length < linelen+1)
+       {
+         collapsed_length = linelen+1;
+         if (collapsed != 0)
+           free (collapsed);
+         collapsed = (char *) xmalloc (collapsed_length);
+       }
+      strcpy (collapsed, line);
+      /* Collapse continuation lines.  */
+      collapse_continuations (collapsed);
+      remove_comments (collapsed);
+
+      /* Compare a word, both length and contents. */
+#define        word1eq(s)      (len == sizeof(s)-1 && strneq (s, p, sizeof(s)-1))
+      p = collapsed;
+      while (isspace ((unsigned char)*p))
+       ++p;
+
+      if (*p == '\0')
+       /* This line is completely empty--ignore it.  */
+       continue;
+
+      /* Find the end of the first token.  Note we don't need to worry about
+       * ":" here since we compare tokens by length (so "export" will never
+       * be equal to "export:").
+       */
+      for (p2 = p+1; *p2 != '\0' && !isspace ((unsigned char)*p2); ++p2)
+        ;
+      len = p2 - p;
+
+      /* Find the start of the second token.  If it looks like a target or
+         variable definition it can't be a preprocessor token so skip
+         them--this allows variables/targets named `ifdef', `export', etc. */
+      while (isspace ((unsigned char)*p2))
+        ++p2;
+
+      if ((p2[0] == ':' || p2[0] == '+' || p2[0] == '=') && p2[1] == '\0')
+        {
+          /* It can't be a preprocessor token so skip it if we're ignoring */
+          if (ignoring)
+            continue;
+
+          goto skip_conditionals;
+        }
+
+      /* We must first check for conditional and `define' directives before
+        ignoring anything, since they control what we will do with
+        following lines.  */
+
+      if (!in_ignored_define
+         && (word1eq ("ifdef") || word1eq ("ifndef")
+             || word1eq ("ifeq") || word1eq ("ifneq")
+             || word1eq ("else") || word1eq ("endif")))
+       {
+         int i = conditional_line (p, fstart);
+         if (i < 0)
+           fatal (fstart, _("invalid syntax in conditional"));
+
+          ignoring = i;
+         continue;
+       }
+
+      if (word1eq ("endef"))
+       {
+         if (!in_ignored_define)
+           fatal (fstart, _("extraneous `endef'"));
+          in_ignored_define = 0;
+         continue;
+       }
+
+      if (word1eq ("define"))
+       {
+         if (ignoring)
+           in_ignored_define = 1;
+         else
+           {
+              if (*p2 == '\0')
+                fatal (fstart, _("empty variable name"));
+
+             /* Let the variable name be the whole rest of the line,
+                with trailing blanks stripped (comments have already been
+                removed), so it could be a complex variable/function
+                reference that might contain blanks.  */
+             p = strchr (p2, '\0');
+             while (isblank ((unsigned char)p[-1]))
+               --p;
+             do_define (p2, p - p2, o_file, ebuf);
+           }
+         continue;
+       }
+
+      if (word1eq ("override"))
+        {
+         if (*p2 == '\0')
+           error (fstart, _("empty `override' directive"));
+
+         if (strneq (p2, "define", 6)
+             && (isblank ((unsigned char)p2[6]) || p2[6] == '\0'))
+           {
+             if (ignoring)
+               in_ignored_define = 1;
+             else
+               {
+                 p2 = next_token (p2 + 6);
+                  if (*p2 == '\0')
+                    fatal (fstart, _("empty variable name"));
+
+                 /* Let the variable name be the whole rest of the line,
+                    with trailing blanks stripped (comments have already been
+                    removed), so it could be a complex variable/function
+                    reference that might contain blanks.  */
+                 p = strchr (p2, '\0');
+                 while (isblank ((unsigned char)p[-1]))
+                   --p;
+                 do_define (p2, p - p2, o_override, ebuf);
+               }
+           }
+         else if (!ignoring
+                  && !try_variable_definition (fstart, p2, o_override, 0))
+           error (fstart, _("invalid `override' directive"));
+
+         continue;
+       }
+
+      if (ignoring)
+       /* Ignore the line.  We continue here so conditionals
+          can appear in the middle of a rule.  */
+       continue;
+
+      if (word1eq ("export"))
+       {
+          /* 'export' by itself causes everything to be exported. */
+         if (*p2 == '\0')
+            export_all_variables = 1;
+          else
+            {
+              struct variable *v;
+
+              v = try_variable_definition (fstart, p2, o_file, 0);
+              if (v != 0)
+                v->export = v_export;
+              else
+                {
+                  unsigned int len;
+                  char *ap;
+
+                  /* Expand the line so we can use indirect and constructed
+                     variable names in an export command.  */
+                  p2 = ap = allocated_variable_expand (p2);
+
+                  for (p = find_next_token (&p2, &len); p != 0;
+                       p = find_next_token (&p2, &len))
+                    {
+                      v = lookup_variable (p, len);
+                      if (v == 0)
+                        v = define_variable_loc (p, len, "", o_file, 0,
+                                                 fstart);
+                      v->export = v_export;
+                    }
+
+                  free (ap);
+                }
+            }
+          goto rule_complete;
+       }
+
+      if (word1eq ("unexport"))
+       {
+         if (*p2 == '\0')
+           export_all_variables = 0;
+          else
+            {
+              unsigned int len;
+              struct variable *v;
+              char *ap;
+
+              /* Expand the line so we can use indirect and constructed
+                 variable names in an unexport command.  */
+              p2 = ap = allocated_variable_expand (p2);
+
+              for (p = find_next_token (&p2, &len); p != 0;
+                   p = find_next_token (&p2, &len))
+                {
+                  v = lookup_variable (p, len);
+                  if (v == 0)
+                    v = define_variable_loc (p, len, "", o_file, 0, fstart);
+
+                  v->export = v_noexport;
+                }
+
+              free (ap);
+            }
+          goto rule_complete;
+       }
+
+ skip_conditionals:
+      if (word1eq ("vpath"))
+       {
+         char *pattern;
+         unsigned int len;
+         p2 = variable_expand (p2);
+         p = find_next_token (&p2, &len);
+         if (p != 0)
+           {
+             pattern = savestring (p, len);
+             p = find_next_token (&p2, &len);
+             /* No searchpath means remove all previous
+                selective VPATH's with the same pattern.  */
+           }
+         else
+           /* No pattern means remove all previous selective VPATH's.  */
+           pattern = 0;
+         construct_vpath_list (pattern, p);
+         if (pattern != 0)
+           free (pattern);
+
+          goto rule_complete;
+       }
+
+      if (word1eq ("include") || word1eq ("-include") || word1eq ("sinclude"))
+       {
+         /* We have found an `include' line specifying a nested
+            makefile to be read at this point.  */
+         struct conditionals *save;
+          struct conditionals new_conditionals;
+         struct nameseq *files;
+         /* "-include" (vs "include") says no error if the file does not
+            exist.  "sinclude" is an alias for this from SGI.  */
+         int noerror = (p[0] != 'i');
+
+         p = allocated_variable_expand (p2);
+         if (*p == '\0')
+           {
+             error (fstart,
+                     _("no file name for `%sinclude'"), noerror ? "-" : "");
+             continue;
+           }
+
+         /* Parse the list of file names.  */
+         p2 = p;
+         files = multi_glob (parse_file_seq (&p2, '\0',
+                                             sizeof (struct nameseq),
+                                             1),
+                             sizeof (struct nameseq));
+         free (p);
+
+         /* Save the state of conditionals and start
+            the included makefile with a clean slate.  */
+         save = conditionals;
+         bzero ((char *) &new_conditionals, sizeof new_conditionals);
+         conditionals = &new_conditionals;
+
+         /* Record the rules that are waiting so they will determine
+            the default goal before those in the included makefile.  */
+         record_waiting_files ();
+
+         /* Read each included makefile.  */
+         while (files != 0)
+           {
+             struct nameseq *next = files->next;
+             char *name = files->name;
+              int r;
+
+             free ((char *)files);
+             files = next;
+
+              r = eval_makefile (name, (RM_INCLUDED | RM_NO_TILDE
+                                        | (noerror ? RM_DONTCARE : 0)));
+             if (!r)
+                {
+                  if (!noerror)
+                    error (fstart, "%s: %s", name, strerror (errno));
+                  free (name);
+                }
+           }
+
+         /* Free any space allocated by conditional_line.  */
+         if (conditionals->ignoring)
+           free (conditionals->ignoring);
+         if (conditionals->seen_else)
+           free (conditionals->seen_else);
+
+         /* Restore state.  */
+         conditionals = save;
+
+          goto rule_complete;
+       }
+
+      if (try_variable_definition (fstart, p, o_file, 0))
+       /* This line has been dealt with.  */
+       goto rule_complete;
+
+      if (line[0] == '\t')
+       {
+         p = collapsed;        /* Ignore comments, etc.  */
+         while (isblank ((unsigned char)*p))
+           ++p;
+         if (*p == '\0')
+           /* The line is completely blank; that is harmless.  */
+           continue;
+
+         /* This line starts with a tab but was not caught above
+            because there was no preceding target, and the line
+            might have been usable as a variable definition.
+            But now we know it is definitely lossage.  */
+         fatal(fstart, _("commands commence before first target"));
+       }
+
+      /* This line describes some target files.  This is complicated by
+         the existence of target-specific variables, because we can't
+         expand the entire line until we know if we have one or not.  So
+         we expand the line word by word until we find the first `:',
+         then check to see if it's a target-specific variable.
+
+         In this algorithm, `lb_next' will point to the beginning of the
+         unexpanded parts of the input buffer, while `p2' points to the
+         parts of the expanded buffer we haven't searched yet. */
+
+      {
+        enum make_word_type wtype;
+        enum variable_origin v_origin;
+        char *cmdleft, *semip, *lb_next;
+        unsigned int len, plen = 0;
+        char *colonp;
+
+        /* Record the previous rule.  */
+
+        record_waiting_files ();
+        tgts_started = fstart->lineno;
+
+        /* Search the line for an unquoted ; that is not after an
+           unquoted #.  */
+        cmdleft = find_char_unquote (line, ';', '#', 0);
+        if (cmdleft != 0 && *cmdleft == '#')
+          {
+            /* We found a comment before a semicolon.  */
+            *cmdleft = '\0';
+            cmdleft = 0;
+          }
+        else if (cmdleft != 0)
+          /* Found one.  Cut the line short there before expanding it.  */
+          *(cmdleft++) = '\0';
+        semip = cmdleft;
+
+        collapse_continuations (line);
+
+        /* We can't expand the entire line, since if it's a per-target
+           variable we don't want to expand it.  So, walk from the
+           beginning, expanding as we go, and looking for "interesting"
+           chars.  The first word is always expandable.  */
+        wtype = get_next_mword(line, NULL, &lb_next, &len);
+        switch (wtype)
+          {
+          case w_eol:
+            if (cmdleft != 0)
+              fatal(fstart, _("missing rule before commands"));
+            /* This line contained something but turned out to be nothing
+               but whitespace (a comment?).  */
+            continue;
+
+          case w_colon:
+          case w_dcolon:
+            /* We accept and ignore rules without targets for
+               compatibility with SunOS 4 make.  */
+            no_targets = 1;
+            continue;
+
+          default:
+            break;
+          }
+
+        p2 = variable_expand_string(NULL, lb_next, len);
+        while (1)
+          {
+            lb_next += len;
+            if (cmdleft == 0)
+              {
+                /* Look for a semicolon in the expanded line.  */
+                cmdleft = find_char_unquote (p2, ';', 0, 0);
+
+                if (cmdleft != 0)
+                  {
+                    unsigned long p2_off = p2 - variable_buffer;
+                    unsigned long cmd_off = cmdleft - variable_buffer;
+                    char *pend = p2 + strlen(p2);
+
+                    /* Append any remnants of lb, then cut the line short
+                       at the semicolon.  */
+                    *cmdleft = '\0';
+
+                    /* One school of thought says that you shouldn't expand
+                       here, but merely copy, since now you're beyond a ";"
+                       and into a command script.  However, the old parser
+                       expanded the whole line, so we continue that for
+                       backwards-compatiblity.  Also, it wouldn't be
+                       entirely consistent, since we do an unconditional
+                       expand below once we know we don't have a
+                       target-specific variable. */
+                    (void)variable_expand_string(pend, lb_next, (long)-1);
+                    lb_next += strlen(lb_next);
+                    p2 = variable_buffer + p2_off;
+                    cmdleft = variable_buffer + cmd_off + 1;
+                  }
+              }
+
+            colonp = find_char_unquote(p2, ':', 0, 0);
+#ifdef HAVE_DOS_PATHS
+            /* The drive spec brain-damage strikes again...  */
+            /* Note that the only separators of targets in this context
+               are whitespace and a left paren.  If others are possible,
+               they should be added to the string in the call to index.  */
+            while (colonp && (colonp[1] == '/' || colonp[1] == '\\') &&
+                   colonp > p2 && isalpha ((unsigned char)colonp[-1]) &&
+                   (colonp == p2 + 1 || strchr (" \t(", colonp[-2]) != 0))
+              colonp = find_char_unquote(colonp + 1, ':', 0, 0);
+#endif
+            if (colonp != 0)
+              break;
+
+            wtype = get_next_mword(lb_next, NULL, &lb_next, &len);
+            if (wtype == w_eol)
+              break;
+
+            p2 += strlen(p2);
+            *(p2++) = ' ';
+            p2 = variable_expand_string(p2, lb_next, len);
+            /* We don't need to worry about cmdleft here, because if it was
+               found in the variable_buffer the entire buffer has already
+               been expanded... we'll never get here.  */
+          }
+
+        p2 = next_token (variable_buffer);
+
+        /* If the word we're looking at is EOL, see if there's _anything_
+           on the line.  If not, a variable expanded to nothing, so ignore
+           it.  If so, we can't parse this line so punt.  */
+        if (wtype == w_eol)
+          {
+            if (*p2 != '\0')
+              /* There's no need to be ivory-tower about this: check for
+                 one of the most common bugs found in makefiles...  */
+              fatal (fstart, _("missing separator%s"),
+                     !strneq(line, "        ", 8) ? ""
+                     : _(" (did you mean TAB instead of 8 spaces?)"));
+            continue;
+          }
+
+        /* Make the colon the end-of-string so we know where to stop
+           looking for targets.  */
+        *colonp = '\0';
+        filenames = multi_glob (parse_file_seq (&p2, '\0',
+                                                sizeof (struct nameseq),
+                                                1),
+                                sizeof (struct nameseq));
+        *p2 = ':';
+
+        if (!filenames)
+          {
+            /* We accept and ignore rules without targets for
+               compatibility with SunOS 4 make.  */
+            no_targets = 1;
+            continue;
+          }
+        /* This should never be possible; we handled it above.  */
+        assert (*p2 != '\0');
+        ++p2;
+
+        /* Is this a one-colon or two-colon entry?  */
+        two_colon = *p2 == ':';
+        if (two_colon)
+          p2++;
+
+        /* Test to see if it's a target-specific variable.  Copy the rest
+           of the buffer over, possibly temporarily (we'll expand it later
+           if it's not a target-specific variable).  PLEN saves the length
+           of the unparsed section of p2, for later.  */
+        if (*lb_next != '\0')
+          {
+            unsigned int l = p2 - variable_buffer;
+            plen = strlen (p2);
+            (void) variable_buffer_output (p2+plen,
+                                           lb_next, strlen (lb_next)+1);
+            p2 = variable_buffer + l;
+          }
+
+        /* See if it's an "override" keyword; if so see if what comes after
+           it looks like a variable definition.  */
+
+        wtype = get_next_mword (p2, NULL, &p, &len);
+
+        v_origin = o_file;
+        if (wtype == w_static && word1eq ("override"))
+          {
+            v_origin = o_override;
+            wtype = get_next_mword (p+len, NULL, &p, &len);
+          }
+
+        if (wtype != w_eol)
+          wtype = get_next_mword (p+len, NULL, NULL, NULL);
+
+        if (wtype == w_varassign)
+          {
+            /* If there was a semicolon found, add it back, plus anything
+               after it.  */
+            if (semip)
+              {
+                *(--semip) = ';';
+                variable_buffer_output (p2 + strlen (p2),
+                                        semip, strlen (semip)+1);
+              }
+            record_target_var (filenames, p, two_colon, v_origin, fstart);
+            filenames = 0;
+            continue;
+          }
+
+        /* This is a normal target, _not_ a target-specific variable.
+           Unquote any = in the dependency list.  */
+        find_char_unquote (lb_next, '=', 0, 0);
+
+        /* We have some targets, so don't ignore the following commands.  */
+        no_targets = 0;
+
+        /* Expand the dependencies, etc.  */
+        if (*lb_next != '\0')
+          {
+            unsigned int l = p2 - variable_buffer;
+            (void) variable_expand_string (p2 + plen, lb_next, (long)-1);
+            p2 = variable_buffer + l;
+
+            /* Look for a semicolon in the expanded line.  */
+            if (cmdleft == 0)
+              {
+                cmdleft = find_char_unquote (p2, ';', 0, 0);
+                if (cmdleft != 0)
+                  *(cmdleft++) = '\0';
+              }
+          }
+
+        /* Do any of the prerequisites appear to have $@ etc.?  */
+        have_sysv_atvar = 0;
+        if (!posix_pedantic)
+          for (p = strchr (p2, '$'); p != 0; p = strchr (p+1, '$'))
+            if (p[1] == '@' || (p[1] == '(' && p[2] == '@'))
+              {
+                have_sysv_atvar = 1;
+                break;
+              }
+
+        /* Is this a static pattern rule: `target: %targ: %dep; ...'?  */
+        p = strchr (p2, ':');
+        while (p != 0 && p[-1] == '\\')
+          {
+            register char *q = &p[-1];
+            register int backslash = 0;
+            while (*q-- == '\\')
+              backslash = !backslash;
+            if (backslash)
+              p = strchr (p + 1, ':');
+            else
+              break;
+          }
+#ifdef _AMIGA
+        /* Here, the situation is quite complicated. Let's have a look
+           at a couple of targets:
+
+           install: dev:make
+
+           dev:make: make
+
+           dev:make:: xyz
+
+           The rule is that it's only a target, if there are TWO :'s
+           OR a space around the :.
+        */
+        if (p && !(isspace ((unsigned char)p[1]) || !p[1]
+                   || isspace ((unsigned char)p[-1])))
+          p = 0;
+#endif
+#ifdef HAVE_DOS_PATHS
+        {
+          int check_again;
+
+          do {
+            check_again = 0;
+            /* For DOS paths, skip a "C:\..." or a "C:/..." */
+            if (p != 0 && (p[1] == '\\' || p[1] == '/') &&
+                isalpha ((unsigned char)p[-1]) &&
+                (p == p2 + 1 || strchr (" \t:(", p[-2]) != 0)) {
+              p = strchr (p + 1, ':');
+              check_again = 1;
+            }
+          } while (check_again);
+        }
+#endif
+        if (p != 0)
+          {
+            struct nameseq *target;
+            target = parse_file_seq (&p2, ':', sizeof (struct nameseq), 1);
+            ++p2;
+            if (target == 0)
+              fatal (fstart, _("missing target pattern"));
+            else if (target->next != 0)
+              fatal (fstart, _("multiple target patterns"));
+            pattern = target->name;
+            pattern_percent = find_percent (pattern);
+            if (pattern_percent == 0)
+              fatal (fstart, _("target pattern contains no `%%'"));
+            free((char *)target);
+          }
+        else
+          pattern = 0;
+
+        /* Parse the dependencies.  */
+        deps = (struct dep *)
+          multi_glob (parse_file_seq (&p2, '|', sizeof (struct dep), 1),
+                      sizeof (struct dep));
+        if (*p2)
+          {
+            /* Files that follow '|' are special prerequisites that
+               need only exist in order to satisfy the dependency.
+               Their modification times are irrelevant.  */
+            struct dep **deps_ptr = &deps;
+            struct dep *d;
+            for (deps_ptr = &deps; *deps_ptr; deps_ptr = &(*deps_ptr)->next)
+              ;
+            ++p2;
+            *deps_ptr = (struct dep *)
+              multi_glob (parse_file_seq (&p2, '\0', sizeof (struct dep), 1),
+                          sizeof (struct dep));
+            for (d = *deps_ptr; d != 0; d = d->next)
+              d->ignore_mtime = 1;
+          }
+
+        commands_idx = 0;
+        if (cmdleft != 0)
+          {
+            /* Semicolon means rest of line is a command.  */
+            unsigned int len = strlen (cmdleft);
+
+            cmds_started = fstart->lineno;
+
+            /* Add this command line to the buffer.  */
+            if (len + 2 > commands_len)
+              {
+                commands_len = (len + 2) * 2;
+                commands = (char *) xrealloc (commands, commands_len);
+              }
+            bcopy (cmdleft, commands, len);
+            commands_idx += len;
+            commands[commands_idx++] = '\n';
+          }
+
+        continue;
+      }
+
+      /* We get here except in the case that we just read a rule line.
+        Record now the last rule we read, so following spurious
+        commands are properly diagnosed.  */
+ rule_complete:
+      record_waiting_files ();
+    }
+
+#undef word1eq
+
+  if (conditionals->if_cmds)
+    fatal (fstart, _("missing `endif'"));
+
+  /* At eof, record the last rule.  */
+  record_waiting_files ();
+
+  free ((char *) commands);
+
+  return 1;
+}
+
+\f
+/* Execute a `define' directive.
+   The first line has already been read, and NAME is the name of
+   the variable to be defined.  The following lines remain to be read.  */
+
+static void
+do_define (name, namelen, origin, ebuf)
+     char *name;
+     unsigned int namelen;
+     enum variable_origin origin;
+     struct ebuffer *ebuf;
+{
+  struct floc defstart;
+  long nlines = 0;
+  int nlevels = 1;
+  unsigned int length = 100;
+  char *definition = (char *) xmalloc (length);
+  unsigned int idx = 0;
+  char *p;
+
+  /* Expand the variable name.  */
+  char *var = (char *) alloca (namelen + 1);
+  bcopy (name, var, namelen);
+  var[namelen] = '\0';
+  var = variable_expand (var);
+
+  defstart = ebuf->floc;
+
+  while (1)
+    {
+      unsigned int len;
+      char *line;
+
+      ebuf->floc.lineno += nlines;
+      nlines = readline (ebuf);
+
+      /* If there is nothing left to eval, we're done. */
+      if (nlines < 0)
+        break;
+
+      line = ebuf->buffer;
+
+      collapse_continuations (line);
+
+      /* If the line doesn't begin with a tab, test to see if it introduces
+         another define, or ends one.  */
+
+      /* Stop if we find an 'endef' */
+      if (line[0] != '\t')
+        {
+          p = next_token (line);
+          len = strlen (p);
+
+          /* If this is another 'define', increment the level count.  */
+          if ((len == 6 || (len > 6 && isblank ((unsigned char)p[6])))
+              && strneq (p, "define", 6))
+            ++nlevels;
+
+          /* If this is an 'endef', decrement the count.  If it's now 0,
+             we've found the last one.  */
+          else if ((len == 5 || (len > 5 && isblank ((unsigned char)p[5])))
+                   && strneq (p, "endef", 5))
+            {
+              p += 5;
+              remove_comments (p);
+              if (*next_token (p) != '\0')
+                error (&ebuf->floc,
+                       _("Extraneous text after `endef' directive"));
+
+              if (--nlevels == 0)
+                {
+                  /* Define the variable.  */
+                  if (idx == 0)
+                    definition[0] = '\0';
+                  else
+                    definition[idx - 1] = '\0';
+
+                  /* Always define these variables in the global set.  */
+                  define_variable_global (var, strlen (var), definition,
+                                          origin, 1, &defstart);
+                  free (definition);
+                  return;
+                }
+            }
+        }
+
+      /* Otherwise add this line to the variable definition.  */
+      len = strlen (line);
+      if (idx + len + 1 > length)
+        {
+          length = (idx + len) * 2;
+          definition = (char *) xrealloc (definition, length + 1);
+        }
+
+      bcopy (line, &definition[idx], len);
+      idx += len;
+      /* Separate lines with a newline.  */
+      definition[idx++] = '\n';
+    }
+
+  /* No `endef'!!  */
+  fatal (&defstart, _("missing `endef', unterminated `define'"));
+
+  /* NOTREACHED */
+  return;
+}
+\f
+/* Interpret conditional commands "ifdef", "ifndef", "ifeq",
+   "ifneq", "else" and "endif".
+   LINE is the input line, with the command as its first word.
+
+   FILENAME and LINENO are the filename and line number in the
+   current makefile.  They are used for error messages.
+
+   Value is -1 if the line is invalid,
+   0 if following text should be interpreted,
+   1 if following text should be ignored.  */
+
+static int
+conditional_line (line, flocp)
+     char *line;
+     const struct floc *flocp;
+{
+  int notdef;
+  char *cmdname;
+  register unsigned int i;
+
+  if (*line == 'i')
+    {
+      /* It's an "if..." command.  */
+      notdef = line[2] == 'n';
+      if (notdef)
+       {
+         cmdname = line[3] == 'd' ? "ifndef" : "ifneq";
+         line += cmdname[3] == 'd' ? 7 : 6;
+       }
+      else
+       {
+         cmdname = line[2] == 'd' ? "ifdef" : "ifeq";
+         line += cmdname[2] == 'd' ? 6 : 5;
+       }
+    }
+  else
+    {
+      /* It's an "else" or "endif" command.  */
+      notdef = line[1] == 'n';
+      cmdname = notdef ? "endif" : "else";
+      line += notdef ? 5 : 4;
+    }
+
+  line = next_token (line);
+
+  if (*cmdname == 'e')
+    {
+      if (*line != '\0')
+       error (flocp, _("Extraneous text after `%s' directive"), cmdname);
+      /* "Else" or "endif".  */
+      if (conditionals->if_cmds == 0)
+       fatal (flocp, _("extraneous `%s'"), cmdname);
+      /* NOTDEF indicates an `endif' command.  */
+      if (notdef)
+       --conditionals->if_cmds;
+      else if (conditionals->seen_else[conditionals->if_cmds - 1])
+       fatal (flocp, _("only one `else' per conditional"));
+      else
+       {
+         /* Toggle the state of ignorance.  */
+         conditionals->ignoring[conditionals->if_cmds - 1]
+           = !conditionals->ignoring[conditionals->if_cmds - 1];
+         /* Record that we have seen an `else' in this conditional.
+            A second `else' will be erroneous.  */
+         conditionals->seen_else[conditionals->if_cmds - 1] = 1;
+       }
+      for (i = 0; i < conditionals->if_cmds; ++i)
+       if (conditionals->ignoring[i])
+         return 1;
+      return 0;
+    }
+
+  if (conditionals->allocated == 0)
+    {
+      conditionals->allocated = 5;
+      conditionals->ignoring = (char *) xmalloc (conditionals->allocated);
+      conditionals->seen_else = (char *) xmalloc (conditionals->allocated);
+    }
+
+  ++conditionals->if_cmds;
+  if (conditionals->if_cmds > conditionals->allocated)
+    {
+      conditionals->allocated += 5;
+      conditionals->ignoring = (char *)
+       xrealloc (conditionals->ignoring, conditionals->allocated);
+      conditionals->seen_else = (char *)
+       xrealloc (conditionals->seen_else, conditionals->allocated);
+    }
+
+  /* Record that we have seen an `if...' but no `else' so far.  */
+  conditionals->seen_else[conditionals->if_cmds - 1] = 0;
+
+  /* Search through the stack to see if we're already ignoring.  */
+  for (i = 0; i < conditionals->if_cmds - 1; ++i)
+    if (conditionals->ignoring[i])
+      {
+       /* We are already ignoring, so just push a level
+          to match the next "else" or "endif", and keep ignoring.
+          We don't want to expand variables in the condition.  */
+       conditionals->ignoring[conditionals->if_cmds - 1] = 1;
+       return 1;
+      }
+
+  if (cmdname[notdef ? 3 : 2] == 'd')
+    {
+      /* "Ifdef" or "ifndef".  */
+      char *var;
+      struct variable *v;
+      register char *p = end_of_token (line);
+      i = p - line;
+      p = next_token (p);
+      if (*p != '\0')
+       return -1;
+
+      /* Expand the thing we're looking up, so we can use indirect and
+         constructed variable names.  */
+      line[i] = '\0';
+      var = allocated_variable_expand (line);
+
+      v = lookup_variable (var, strlen (var));
+      conditionals->ignoring[conditionals->if_cmds - 1]
+       = (v != 0 && *v->value != '\0') == notdef;
+
+      free (var);
+    }
+  else
+    {
+      /* "Ifeq" or "ifneq".  */
+      char *s1, *s2;
+      unsigned int len;
+      char termin = *line == '(' ? ',' : *line;
+
+      if (termin != ',' && termin != '"' && termin != '\'')
+       return -1;
+
+      s1 = ++line;
+      /* Find the end of the first string.  */
+      if (termin == ',')
+       {
+         register int count = 0;
+         for (; *line != '\0'; ++line)
+           if (*line == '(')
+             ++count;
+           else if (*line == ')')
+             --count;
+           else if (*line == ',' && count <= 0)
+             break;
+       }
+      else
+       while (*line != '\0' && *line != termin)
+         ++line;
+
+      if (*line == '\0')
+       return -1;
+
+      if (termin == ',')
+       {
+         /* Strip blanks after the first string.  */
+         char *p = line++;
+         while (isblank ((unsigned char)p[-1]))
+           --p;
+         *p = '\0';
+       }
+      else
+       *line++ = '\0';
+
+      s2 = variable_expand (s1);
+      /* We must allocate a new copy of the expanded string because
+        variable_expand re-uses the same buffer.  */
+      len = strlen (s2);
+      s1 = (char *) alloca (len + 1);
+      bcopy (s2, s1, len + 1);
+
+      if (termin != ',')
+       /* Find the start of the second string.  */
+       line = next_token (line);
+
+      termin = termin == ',' ? ')' : *line;
+      if (termin != ')' && termin != '"' && termin != '\'')
+       return -1;
+
+      /* Find the end of the second string.  */
+      if (termin == ')')
+       {
+         register int count = 0;
+         s2 = next_token (line);
+         for (line = s2; *line != '\0'; ++line)
+           {
+             if (*line == '(')
+               ++count;
+             else if (*line == ')')
+               {
+                 if (count <= 0)
+                   break;
+                 else
+                   --count;
+               }
+           }
+       }
+      else
+       {
+         ++line;
+         s2 = line;
+         while (*line != '\0' && *line != termin)
+           ++line;
+       }
+
+      if (*line == '\0')
+       return -1;
+
+      *line = '\0';
+      line = next_token (++line);
+      if (*line != '\0')
+       error (flocp, _("Extraneous text after `%s' directive"), cmdname);
+
+      s2 = variable_expand (s2);
+      conditionals->ignoring[conditionals->if_cmds - 1]
+       = streq (s1, s2) == notdef;
+    }
+
+  /* Search through the stack to see if we're ignoring.  */
+  for (i = 0; i < conditionals->if_cmds; ++i)
+    if (conditionals->ignoring[i])
+      return 1;
+  return 0;
+}
+\f
+/* Remove duplicate dependencies in CHAIN.  */
+
+static unsigned long
+dep_hash_1 (key)
+    const void *key;
+{
+  return_STRING_HASH_1 (dep_name ((struct dep const *) key));
+}
+
+static unsigned long
+dep_hash_2 (key)
+    const void *key;
+{
+  return_STRING_HASH_2 (dep_name ((struct dep const *) key));
+}
+
+static int
+dep_hash_cmp (x, y)
+    const void *x;
+    const void *y;
+{
+  struct dep *dx = (struct dep *) x;
+  struct dep *dy = (struct dep *) y;
+  int cmp = strcmp (dep_name (dx), dep_name (dy));
+
+  /* If the names are the same but ignore_mtimes are not equal, one of these
+     is an order-only prerequisite and one isn't.  That means that we should
+     remove the one that isn't and keep the one that is.  */
+
+  if (!cmp && dx->ignore_mtime != dy->ignore_mtime)
+    dx->ignore_mtime = dy->ignore_mtime = 0;
+
+  return cmp;
+}
+
+
+void
+uniquize_deps (chain)
+     struct dep *chain;
+{
+  struct hash_table deps;
+  register struct dep **depp;
+
+  hash_init (&deps, 500, dep_hash_1, dep_hash_2, dep_hash_cmp);
+
+  /* Make sure that no dependencies are repeated.  This does not
+     really matter for the purpose of updating targets, but it
+     might make some names be listed twice for $^ and $?.  */
+
+  depp = &chain;
+  while (*depp)
+    {
+      struct dep *dep = *depp;
+      struct dep **dep_slot = (struct dep **) hash_find_slot (&deps, dep);
+      if (HASH_VACANT (*dep_slot))
+       {
+         hash_insert_at (&deps, dep, dep_slot);
+         depp = &dep->next;
+       }
+      else
+       {
+         /* Don't bother freeing duplicates.
+            It's dangerous and little benefit accrues.  */
+         *depp = dep->next;
+       }
+    }
+
+  hash_free (&deps, 0);
+}
+\f
+/* Record target-specific variable values for files FILENAMES.
+   TWO_COLON is nonzero if a double colon was used.
+
+   The links of FILENAMES are freed, and so are any names in it
+   that are not incorporated into other data structures.
+
+   If the target is a pattern, add the variable to the pattern-specific
+   variable value list.  */
+
+static void
+record_target_var (filenames, defn, two_colon, origin, flocp)
+     struct nameseq *filenames;
+     char *defn;
+     int two_colon;
+     enum variable_origin origin;
+     const struct floc *flocp;
+{
+  struct nameseq *nextf;
+  struct variable_set_list *global;
+
+  global = current_variable_set_list;
+
+  /* If the variable is an append version, store that but treat it as a
+     normal recursive variable.  */
+
+  for (; filenames != 0; filenames = nextf)
+    {
+      struct variable *v;
+      register char *name = filenames->name;
+      struct variable_set_list *vlist;
+      char *fname;
+      char *percent;
+
+      nextf = filenames->next;
+      free ((char *) filenames);
+
+      /* If it's a pattern target, then add it to the pattern-specific
+         variable list.  */
+      percent = find_percent (name);
+      if (percent)
+        {
+          struct pattern_var *p;
+
+          /* Get a reference for this pattern-specific variable struct.  */
+          p = create_pattern_var(name, percent);
+          vlist = p->vars;
+          fname = p->target;
+        }
+      else
+        {
+          struct file *f;
+
+          /* Get a file reference for this file, and initialize it.
+             We don't want to just call enter_file() because that allocates a
+             new entry if the file is a double-colon, which we don't want in
+             this situation.  */
+          f = lookup_file (name);
+          if (!f)
+            f = enter_file (name);
+          else if (f->double_colon)
+            f = f->double_colon;
+
+          initialize_file_variables (f, 1);
+          vlist = f->variables;
+          fname = f->name;
+        }
+
+      /* Make the new variable context current and define the variable.  */
+      current_variable_set_list = vlist;
+      v = try_variable_definition (flocp, defn, origin, 1);
+      if (!v)
+        error (flocp, _("Malformed per-target variable definition"));
+      v->per_target = 1;
+
+      /* If it's not an override, check to see if there was a command-line
+         setting.  If so, reset the value.  */
+      if (origin != o_override)
+        {
+          struct variable *gv;
+          int len = strlen(v->name);
+
+          current_variable_set_list = global;
+          gv = lookup_variable (v->name, len);
+          if (gv && (gv->origin == o_env_override || gv->origin == o_command))
+            {
+              v = define_variable_in_set (v->name, len, gv->value, gv->origin,
+                                          gv->recursive, vlist->set, flocp);
+              v->append = 0;
+            }
+        }
+
+      /* Free name if not needed further.  */
+      if (name != fname && (name < fname || name > fname + strlen (fname)))
+        free (name);
+    }
+
+  current_variable_set_list = global;
+}
+\f
+/* Record a description line for files FILENAMES,
+   with dependencies DEPS, commands to execute described
+   by COMMANDS and COMMANDS_IDX, coming from FILENAME:COMMANDS_STARTED.
+   TWO_COLON is nonzero if a double colon was used.
+   If not nil, PATTERN is the `%' pattern to make this
+   a static pattern rule, and PATTERN_PERCENT is a pointer
+   to the `%' within it.
+
+   The links of FILENAMES are freed, and so are any names in it
+   that are not incorporated into other data structures.  */
+
+static void
+record_files (filenames, pattern, pattern_percent, deps, cmds_started,
+             commands, commands_idx, two_colon, have_sysv_atvar,
+              flocp, set_default)
+     struct nameseq *filenames;
+     char *pattern, *pattern_percent;
+     struct dep *deps;
+     unsigned int cmds_started;
+     char *commands;
+     unsigned int commands_idx;
+     int two_colon;
+     int have_sysv_atvar;
+     const struct floc *flocp;
+     int set_default;
+{
+  struct nameseq *nextf;
+  int implicit = 0;
+  unsigned int max_targets = 0, target_idx = 0;
+  char **targets = 0, **target_percents = 0;
+  struct commands *cmds;
+
+  if (commands_idx > 0)
+    {
+      cmds = (struct commands *) xmalloc (sizeof (struct commands));
+      cmds->fileinfo.filenm = flocp->filenm;
+      cmds->fileinfo.lineno = cmds_started;
+      cmds->commands = savestring (commands, commands_idx);
+      cmds->command_lines = 0;
+    }
+  else
+    cmds = 0;
+
+  for (; filenames != 0; filenames = nextf)
+    {
+      char *name = filenames->name;
+      struct file *f;
+      struct dep *d;
+      struct dep *this;
+      char *implicit_percent;
+
+      nextf = filenames->next;
+      free (filenames);
+
+      /* Check for .POSIX.  We used to do this in snap_deps() but that's not
+         good enough: it doesn't happen until after the makefile is read,
+         which means we cannot use its value during parsing.  */
+
+      if (streq (name, ".POSIX"))
+        posix_pedantic = 1;
+
+      implicit_percent = find_percent (name);
+      implicit |= implicit_percent != 0;
+
+      if (implicit && pattern != 0)
+       fatal (flocp, _("mixed implicit and static pattern rules"));
+
+      if (implicit && implicit_percent == 0)
+       fatal (flocp, _("mixed implicit and normal rules"));
+
+      if (implicit)
+       {
+         if (targets == 0)
+           {
+             max_targets = 5;
+             targets = (char **) xmalloc (5 * sizeof (char *));
+             target_percents = (char **) xmalloc (5 * sizeof (char *));
+             target_idx = 0;
+           }
+         else if (target_idx == max_targets - 1)
+           {
+             max_targets += 5;
+             targets = (char **) xrealloc ((char *) targets,
+                                           max_targets * sizeof (char *));
+             target_percents
+               = (char **) xrealloc ((char *) target_percents,
+                                     max_targets * sizeof (char *));
+           }
+         targets[target_idx] = name;
+         target_percents[target_idx] = implicit_percent;
+         ++target_idx;
+         continue;
+       }
+
+      /* If there are multiple filenames, copy the chain DEPS
+        for all but the last one.  It is not safe for the same deps
+        to go in more than one place in the data base.  */
+      this = nextf != 0 ? copy_dep_chain (deps) : deps;
+
+      if (pattern != 0)
+       {
+         /* If this is an extended static rule:
+            `targets: target%pattern: dep%pattern; cmds',
+            translate each dependency pattern into a plain filename
+            using the target pattern and this target's name.  */
+         if (!pattern_matches (pattern, pattern_percent, name))
+           {
+             /* Give a warning if the rule is meaningless.  */
+             error (flocp,
+                    _("target `%s' doesn't match the target pattern"), name);
+             this = 0;
+           }
+         else
+           {
+             /* We use patsubst_expand to do the work of translating
+                the target pattern, the target's name and the dependencies'
+                patterns into plain dependency names.  */
+             char *buffer = variable_expand ("");
+
+             for (d = this; d != 0; d = d->next)
+               {
+                 char *o;
+                 char *percent = find_percent (d->name);
+                 if (percent == 0)
+                   continue;
+                 o = patsubst_expand (buffer, name, pattern, d->name,
+                                      pattern_percent, percent);
+                  /* If the name expanded to the empty string, that's
+                     illegal.  */
+                  if (o == buffer)
+                    fatal (flocp,
+                           _("target `%s' leaves prerequisite pattern empty"),
+                           name);
+                 free (d->name);
+                 d->name = savestring (buffer, o - buffer);
+               }
+           }
+       }
+
+      /* If at least one of the dependencies uses $$@ etc. deal with that.
+         It would be very nice and very simple to just expand everything, but
+         it would break a lot of backward compatibility.  Maybe that's OK
+         since we're just emulating a SysV function, and if we do that then
+         why not emulate it completely (that's what SysV make does: it
+         re-expands the entire prerequisite list, all the time, with $@
+         etc. in scope.  But, it would be a pain indeed to document this
+         ("iff you use $$@, your prerequisite lists is expanded twice...")
+         Ouch.  Maybe better to make the code more complex.  */
+
+      if (have_sysv_atvar)
+        {
+          char *p;
+          int tlen = strlen (name);
+          char *fnp = strrchr (name, '/');
+          int dlen;
+          int flen;
+
+          if (fnp)
+            {
+              dlen = fnp - name;
+              ++fnp;
+              flen = strlen (fnp);
+            }
+          else
+            {
+              dlen = 0;
+              fnp = name;
+              flen = tlen;
+            }
+
+
+          for (d = this; d != 0; d = d->next)
+            for (p = strchr (d->name, '$'); p != 0; p = strchr (p+1, '$'))
+              {
+                char *s = p;
+                char *at;
+                int atlen;
+
+                /* If it's a '$@' or '$(@', it's escaped */
+                if ((++p)[0] == '$'
+                    && (p[1] == '@' || (p[1] == '(' && p[2] == '@')))
+                  {
+                    bcopy (p, s, strlen (p)+1);
+                    continue;
+                  }
+
+                /* Maybe found one.  Check.  p will point to '@' [for $@] or
+                   ')' [for $(@)] or 'D' [for $(@D)] or 'F' [for $(@F)].  */
+                if (p[0] != '@'
+                    && (p[0] != '(' || (++p)[0] != '@'
+                        || ((++p)[0] != ')'
+                            && (p[1] != ')' || (p[0] != 'D' && p[0] != 'F')))))
+                  continue;
+
+                /* Found one.  Compute the length and string ptr.  Move p
+                   past the variable reference.  */
+                switch (p[0])
+                  {
+                  case 'D':
+                    atlen = dlen;
+                    at = name;
+                    p += 2;
+                    break;
+
+                  case 'F':
+                    atlen = flen;
+                    at = fnp;
+                    p += 2;
+                    break;
+
+                  default:
+                    atlen = tlen;
+                    at = name;
+                    ++p;
+                    break;
+                  }
+
+                /* Get more space.  */
+                {
+                  int soff = s - d->name;
+                  int poff = p - d->name;
+                  d->name = (char *) xrealloc (d->name,
+                                               strlen (d->name) + atlen + 1);
+                  s = d->name + soff;
+                  p = d->name + poff;
+                }
+
+                /* Copy the string over.  */
+                bcopy(p, s+atlen, strlen (p)+1);
+                bcopy(at, s, atlen);
+                p = s + atlen - 1;
+              }
+        }
+
+      if (!two_colon)
+       {
+         /* Single-colon.  Combine these dependencies
+            with others in file's existing record, if any.  */
+         f = enter_file (name);
+
+         if (f->double_colon)
+           fatal (flocp,
+                   _("target file `%s' has both : and :: entries"), f->name);
+
+         /* If CMDS == F->CMDS, this target was listed in this rule
+            more than once.  Just give a warning since this is harmless.  */
+         if (cmds != 0 && cmds == f->cmds)
+           error (flocp,
+                   _("target `%s' given more than once in the same rule."),
+                   f->name);
+
+         /* Check for two single-colon entries both with commands.
+            Check is_target so that we don't lose on files such as .c.o
+            whose commands were preinitialized.  */
+         else if (cmds != 0 && f->cmds != 0 && f->is_target)
+           {
+             error (&cmds->fileinfo,
+                     _("warning: overriding commands for target `%s'"),
+                     f->name);
+             error (&f->cmds->fileinfo,
+                     _("warning: ignoring old commands for target `%s'"),
+                     f->name);
+           }
+
+         f->is_target = 1;
+
+         /* Defining .DEFAULT with no deps or cmds clears it.  */
+         if (f == default_file && this == 0 && cmds == 0)
+           f->cmds = 0;
+         if (cmds != 0)
+           f->cmds = cmds;
+         /* Defining .SUFFIXES with no dependencies
+            clears out the list of suffixes.  */
+         if (f == suffix_file && this == 0)
+           {
+             d = f->deps;
+             while (d != 0)
+               {
+                 struct dep *nextd = d->next;
+                 free (d->name);
+                 free ((char *)d);
+                 d = nextd;
+               }
+             f->deps = 0;
+           }
+         else if (f->deps != 0)
+           {
+             /* Add the file's old deps and the new ones in THIS together.  */
+
+             struct dep *firstdeps, *moredeps;
+             if (cmds != 0)
+               {
+                 /* This is the rule with commands, so put its deps first.
+                    The rationale behind this is that $< expands to the
+                    first dep in the chain, and commands use $< expecting
+                    to get the dep that rule specifies.  */
+                 firstdeps = this;
+                 moredeps = f->deps;
+               }
+             else
+               {
+                 /* Append the new deps to the old ones.  */
+                 firstdeps = f->deps;
+                 moredeps = this;
+               }
+
+             if (firstdeps == 0)
+               firstdeps = moredeps;
+             else
+               {
+                 d = firstdeps;
+                 while (d->next != 0)
+                   d = d->next;
+                 d->next = moredeps;
+               }
+
+             f->deps = firstdeps;
+           }
+         else
+           f->deps = this;
+
+         /* If this is a static pattern rule, set the file's stem to
+            the part of its name that matched the `%' in the pattern,
+            so you can use $* in the commands.  */
+         if (pattern != 0)
+           {
+             static char *percent = "%";
+             char *buffer = variable_expand ("");
+             char *o = patsubst_expand (buffer, name, pattern, percent,
+                                        pattern_percent, percent);
+             f->stem = savestring (buffer, o - buffer);
+           }
+       }
+      else
+       {
+         /* Double-colon.  Make a new record
+            even if the file already has one.  */
+         f = lookup_file (name);
+         /* Check for both : and :: rules.  Check is_target so
+            we don't lose on default suffix rules or makefiles.  */
+         if (f != 0 && f->is_target && !f->double_colon)
+           fatal (flocp,
+                   _("target file `%s' has both : and :: entries"), f->name);
+         f = enter_file (name);
+         /* If there was an existing entry and it was a double-colon
+            entry, enter_file will have returned a new one, making it the
+            prev pointer of the old one, and setting its double_colon
+            pointer to the first one.  */
+         if (f->double_colon == 0)
+           /* This is the first entry for this name, so we must
+              set its double_colon pointer to itself.  */
+           f->double_colon = f;
+         f->is_target = 1;
+         f->deps = this;
+         f->cmds = cmds;
+       }
+
+      /* Free name if not needed further.  */
+      if (f != 0 && name != f->name
+         && (name < f->name || name > f->name + strlen (f->name)))
+       {
+         free (name);
+         name = f->name;
+       }
+
+      /* See if this is first target seen whose name does
+        not start with a `.', unless it contains a slash.  */
+      if (default_goal_file == 0 && set_default
+         && (*name != '.' || strchr (name, '/') != 0
+#ifdef HAVE_DOS_PATHS
+                          || strchr (name, '\\') != 0
+#endif
+             ))
+       {
+         int reject = 0;
+
+         /* If this file is a suffix, don't
+            let it be the default goal file.  */
+
+         for (d = suffix_file->deps; d != 0; d = d->next)
+           {
+             register struct dep *d2;
+             if (*dep_name (d) != '.' && streq (name, dep_name (d)))
+               {
+                 reject = 1;
+                 break;
+               }
+             for (d2 = suffix_file->deps; d2 != 0; d2 = d2->next)
+               {
+                 register unsigned int len = strlen (dep_name (d2));
+                 if (!strneq (name, dep_name (d2), len))
+                   continue;
+                 if (streq (name + len, dep_name (d)))
+                   {
+                     reject = 1;
+                     break;
+                   }
+               }
+             if (reject)
+               break;
+           }
+
+         if (!reject)
+           default_goal_file = f;
+       }
+    }
+
+  if (implicit)
+    {
+      targets[target_idx] = 0;
+      target_percents[target_idx] = 0;
+      create_pattern_rule (targets, target_percents, two_colon, deps, cmds, 1);
+      free ((char *) target_percents);
+    }
+}
+\f
+/* Search STRING for an unquoted STOPCHAR or blank (if BLANK is nonzero).
+   Backslashes quote STOPCHAR, blanks if BLANK is nonzero, and backslash.
+   Quoting backslashes are removed from STRING by compacting it into
+   itself.  Returns a pointer to the first unquoted STOPCHAR if there is
+   one, or nil if there are none.  */
+
+char *
+find_char_unquote (string, stop1, stop2, blank)
+     char *string;
+     int stop1;
+     int stop2;
+     int blank;
+{
+  unsigned int string_len = 0;
+  register char *p = string;
+
+  while (1)
+    {
+      if (stop2 && blank)
+       while (*p != '\0' && *p != stop1 && *p != stop2
+              && ! isblank ((unsigned char) *p))
+         ++p;
+      else if (stop2)
+       while (*p != '\0' && *p != stop1 && *p != stop2)
+         ++p;
+      else if (blank)
+       while (*p != '\0' && *p != stop1
+              && ! isblank ((unsigned char) *p))
+         ++p;
+      else
+       while (*p != '\0' && *p != stop1)
+         ++p;
+
+      if (*p == '\0')
+       break;
+
+      if (p > string && p[-1] == '\\')
+       {
+         /* Search for more backslashes.  */
+         register int i = -2;
+         while (&p[i] >= string && p[i] == '\\')
+           --i;
+         ++i;
+         /* Only compute the length if really needed.  */
+         if (string_len == 0)
+           string_len = strlen (string);
+         /* The number of backslashes is now -I.
+            Copy P over itself to swallow half of them.  */
+         bcopy (&p[i / 2], &p[i], (string_len - (p - string)) - (i / 2) + 1);
+         p += i / 2;
+         if (i % 2 == 0)
+           /* All the backslashes quoted each other; the STOPCHAR was
+              unquoted.  */
+           return p;
+
+         /* The STOPCHAR was quoted by a backslash.  Look for another.  */
+       }
+      else
+       /* No backslash in sight.  */
+       return p;
+    }
+
+  /* Never hit a STOPCHAR or blank (with BLANK nonzero).  */
+  return 0;
+}
+
+/* Search PATTERN for an unquoted %.  */
+
+char *
+find_percent (pattern)
+     char *pattern;
+{
+  return find_char_unquote (pattern, '%', 0, 0);
+}
+\f
+/* Parse a string into a sequence of filenames represented as a
+   chain of struct nameseq's in reverse order and return that chain.
+
+   The string is passed as STRINGP, the address of a string pointer.
+   The string pointer is updated to point at the first character
+   not parsed, which either is a null char or equals STOPCHAR.
+
+   SIZE is how big to construct chain elements.
+   This is useful if we want them actually to be other structures
+   that have room for additional info.
+
+   If STRIP is nonzero, strip `./'s off the beginning.  */
+
+struct nameseq *
+parse_file_seq (stringp, stopchar, size, strip)
+     char **stringp;
+     int stopchar;
+     unsigned int size;
+     int strip;
+{
+  register struct nameseq *new = 0;
+  register struct nameseq *new1, *lastnew1;
+  register char *p = *stringp;
+  char *q;
+  char *name;
+
+#ifdef VMS
+# define VMS_COMMA ','
+#else
+# define VMS_COMMA 0
+#endif
+
+  while (1)
+    {
+      /* Skip whitespace; see if any more names are left.  */
+      p = next_token (p);
+      if (*p == '\0')
+       break;
+      if (*p == stopchar)
+       break;
+
+      /* Yes, find end of next name.  */
+      q = p;
+      p = find_char_unquote (q, stopchar, VMS_COMMA, 1);
+#ifdef VMS
+       /* convert comma separated list to space separated */
+      if (p && *p == ',')
+       *p =' ';
+#endif
+#ifdef _AMIGA
+      if (stopchar == ':' && p && *p == ':'
+          && !(isspace ((unsigned char)p[1]) || !p[1]
+               || isspace ((unsigned char)p[-1])))
+      {
+       p = find_char_unquote (p+1, stopchar, VMS_COMMA, 1);
+      }
+#endif
+#ifdef HAVE_DOS_PATHS
+    /* For DOS paths, skip a "C:\..." or a "C:/..." until we find the
+       first colon which isn't followed by a slash or a backslash.
+       Note that tokens separated by spaces should be treated as separate
+       tokens since make doesn't allow path names with spaces */
+    if (stopchar == ':')
+      while (p != 0 && !isspace ((unsigned char)*p) &&
+             (p[1] == '\\' || p[1] == '/') && isalpha ((unsigned char)p[-1]))
+        p = find_char_unquote (p + 1, stopchar, VMS_COMMA, 1);
+#endif
+      if (p == 0)
+       p = q + strlen (q);
+
+      if (strip)
+#ifdef VMS
+       /* Skip leading `[]'s.  */
+       while (p - q > 2 && q[0] == '[' && q[1] == ']')
+#else
+       /* Skip leading `./'s.  */
+       while (p - q > 2 && q[0] == '.' && q[1] == '/')
+#endif
+         {
+           q += 2;             /* Skip "./".  */
+           while (q < p && *q == '/')
+             /* Skip following slashes: ".//foo" is "foo", not "/foo".  */
+             ++q;
+         }
+
+      /* Extract the filename just found, and skip it.  */
+
+      if (q == p)
+       /* ".///" was stripped to "". */
+#ifdef VMS
+       continue;
+#else
+#ifdef _AMIGA
+       name = savestring ("", 0);
+#else
+       name = savestring ("./", 2);
+#endif
+#endif
+      else
+#ifdef VMS
+/* VMS filenames can have a ':' in them but they have to be '\'ed but we need
+ *  to remove this '\' before we can use the filename.
+ * Savestring called because q may be read-only string constant.
+ */
+       {
+         char *qbase = xstrdup (q);
+         char *pbase = qbase + (p-q);
+         char *q1 = qbase;
+         char *q2 = q1;
+         char *p1 = pbase;
+
+         while (q1 != pbase)
+           {
+             if (*q1 == '\\' && *(q1+1) == ':')
+               {
+                 q1++;
+                 p1--;
+               }
+             *q2++ = *q1++;
+           }
+         name = savestring (qbase, p1 - qbase);
+         free (qbase);
+       }
+#else
+       name = savestring (q, p - q);
+#endif
+
+      /* Add it to the front of the chain.  */
+      new1 = (struct nameseq *) xmalloc (size);
+      new1->name = name;
+      new1->next = new;
+      new = new1;
+    }
+
+#ifndef NO_ARCHIVES
+
+  /* Look for multi-word archive references.
+     They are indicated by a elt ending with an unmatched `)' and
+     an elt further down the chain (i.e., previous in the file list)
+     with an unmatched `(' (e.g., "lib(mem").  */
+
+  new1 = new;
+  lastnew1 = 0;
+  while (new1 != 0)
+    if (new1->name[0] != '('   /* Don't catch "(%)" and suchlike.  */
+       && new1->name[strlen (new1->name) - 1] == ')'
+       && strchr (new1->name, '(') == 0)
+      {
+       /* NEW1 ends with a `)' but does not contain a `('.
+          Look back for an elt with an opening `(' but no closing `)'.  */
+
+       struct nameseq *n = new1->next, *lastn = new1;
+       char *paren = 0;
+       while (n != 0 && (paren = strchr (n->name, '(')) == 0)
+         {
+           lastn = n;
+           n = n->next;
+         }
+       if (n != 0
+           /* Ignore something starting with `(', as that cannot actually
+              be an archive-member reference (and treating it as such
+              results in an empty file name, which causes much lossage).  */
+           && n->name[0] != '(')
+         {
+           /* N is the first element in the archive group.
+              Its name looks like "lib(mem" (with no closing `)').  */
+
+           char *libname;
+
+           /* Copy "lib(" into LIBNAME.  */
+           ++paren;
+           libname = (char *) alloca (paren - n->name + 1);
+           bcopy (n->name, libname, paren - n->name);
+           libname[paren - n->name] = '\0';
+
+           if (*paren == '\0')
+             {
+               /* N was just "lib(", part of something like "lib( a b)".
+                  Edit it out of the chain and free its storage.  */
+               lastn->next = n->next;
+               free (n->name);
+               free ((char *) n);
+               /* LASTN->next is the new stopping elt for the loop below.  */
+               n = lastn->next;
+             }
+           else
+             {
+               /* Replace N's name with the full archive reference.  */
+               name = concat (libname, paren, ")");
+               free (n->name);
+               n->name = name;
+             }
+
+           if (new1->name[1] == '\0')
+             {
+               /* NEW1 is just ")", part of something like "lib(a b )".
+                  Omit it from the chain and free its storage.  */
+               if (lastnew1 == 0)
+                 new = new1->next;
+               else
+                 lastnew1->next = new1->next;
+               lastn = new1;
+               new1 = new1->next;
+               free (lastn->name);
+               free ((char *) lastn);
+             }
+           else
+             {
+               /* Replace also NEW1->name, which already has closing `)'.  */
+               name = concat (libname, new1->name, "");
+               free (new1->name);
+               new1->name = name;
+               new1 = new1->next;
+             }
+
+           /* Trace back from NEW1 (the end of the list) until N
+              (the beginning of the list), rewriting each name
+              with the full archive reference.  */
+
+           while (new1 != n)
+             {
+               name = concat (libname, new1->name, ")");
+               free (new1->name);
+               new1->name = name;
+               lastnew1 = new1;
+               new1 = new1->next;
+             }
+         }
+       else
+         {
+           /* No frobnication happening.  Just step down the list.  */
+           lastnew1 = new1;
+           new1 = new1->next;
+         }
+      }
+    else
+      {
+       lastnew1 = new1;
+       new1 = new1->next;
+      }
+
+#endif
+
+  *stringp = p;
+  return new;
+}
+\f
+/* Find the next line of text in an eval buffer, combining continuation lines
+   into one line.
+   Return the number of actual lines read (> 1 if continuation lines).
+   Returns -1 if there's nothing left in the buffer.
+
+   After this function, ebuf->buffer points to the first character of the
+   line we just found.
+ */
+
+/* Read a line of text from a STRING.
+   Since we aren't really reading from a file, don't bother with linenumbers.
+ */
+
+static unsigned long
+readstring (ebuf)
+     struct ebuffer *ebuf;
+{
+  char *p;
+
+  /* If there is nothing left in this buffer, return 0.  */
+  if (ebuf->bufnext > ebuf->bufstart + ebuf->size)
+    return -1;
+
+  /* Set up a new starting point for the buffer, and find the end of the
+     next logical line (taking into account backslash/newline pairs).  */
+
+  p = ebuf->buffer = ebuf->bufnext;
+
+  while (1)
+    {
+      int backslash = 0;
+
+      /* Find the next newline.  Keep track of backslashes as we look.  */
+      for (; *p != '\n' && *p != '\0'; ++p)
+        if (*p == '\\')
+          backslash = !backslash;
+
+      /* If we got to the end of the string or a newline with no backslash,
+         we're done. */
+      if (*p == '\0' || !backslash)
+        break;
+    }
+
+  /* Overwrite the newline char.  */
+  *p = '\0';
+  ebuf->bufnext = p+1;
+
+  return 0;
+}
+
+static long
+readline (ebuf)
+     struct ebuffer *ebuf;
+{
+  char *p;
+  char *end;
+  char *start;
+  long nlines = 0;
+
+  /* The behaviors between string and stream buffers are different enough to
+     warrant different functions.  Do the Right Thing.  */
+
+  if (!ebuf->fp)
+    return readstring (ebuf);
+
+  /* When reading from a file, we always start over at the beginning of the
+     buffer for each new line.  */
+
+  p = start = ebuf->bufstart;
+  end = p + ebuf->size;
+  *p = '\0';
+
+  while (fgets (p, end - p, ebuf->fp) != 0)
+    {
+      char *p2;
+      unsigned long len;
+      int backslash;
+
+      len = strlen (p);
+      if (len == 0)
+       {
+         /* This only happens when the first thing on the line is a '\0'.
+            It is a pretty hopeless case, but (wonder of wonders) Athena
+            lossage strikes again!  (xmkmf puts NULs in its makefiles.)
+            There is nothing really to be done; we synthesize a newline so
+            the following line doesn't appear to be part of this line.  */
+         error (&ebuf->floc,
+                 _("warning: NUL character seen; rest of line ignored"));
+         p[0] = '\n';
+         len = 1;
+       }
+
+      /* Jump past the text we just read.  */
+      p += len;
+
+      /* If the last char isn't a newline, the whole line didn't fit into the
+         buffer.  Get some more buffer and try again.  */
+      if (p[-1] != '\n')
+        goto more_buffer;
+
+      /* We got a newline, so add one to the count of lines.  */
+      ++nlines;
+
+#if !defined(WINDOWS32) && !defined(__MSDOS__)
+      /* Check to see if the line was really ended with CRLF; if so ignore
+         the CR.  */
+      if ((p - start) > 1 && p[-2] == '\r')
+        {
+          --p;
+          p[-1] = '\n';
+        }
+#endif
+
+      backslash = 0;
+      for (p2 = p - 2; p2 >= start; --p2)
+       {
+         if (*p2 != '\\')
+           break;
+          backslash = !backslash;
+       }
+
+      if (!backslash)
+       {
+         p[-1] = '\0';
+         break;
+       }
+
+      /* It was a backslash/newline combo.  If we have more space, read
+         another line.  */
+      if (end - p >= 80)
+        continue;
+
+      /* We need more space at the end of our buffer, so realloc it.
+         Make sure to preserve the current offset of p.  */
+    more_buffer:
+      {
+        unsigned long off = p - start;
+        ebuf->size *= 2;
+        start = ebuf->buffer = ebuf->bufstart = (char *) xrealloc (start,
+                                                                   ebuf->size);
+        p = start + off;
+        end = start + ebuf->size;
+        *p = '\0';
+      }
+    }
+
+  if (ferror (ebuf->fp))
+    pfatal_with_name (ebuf->floc.filenm);
+
+  /* If we found some lines, return how many.
+     If we didn't, but we did find _something_, that indicates we read the last
+     line of a file with no final newline; return 1.
+     If we read nothing, we're at EOF; return -1.  */
+
+  return nlines ? nlines : p == ebuf->bufstart ? -1 : 1;
+}
+\f
+/* Parse the next "makefile word" from the input buffer, and return info
+   about it.
+
+   A "makefile word" is one of:
+
+     w_bogus        Should never happen
+     w_eol          End of input
+     w_static       A static word; cannot be expanded
+     w_variable     A word containing one or more variables/functions
+     w_colon        A colon
+     w_dcolon       A double-colon
+     w_semicolon    A semicolon
+     w_varassign    A variable assignment operator (=, :=, +=, or ?=)
+
+   Note that this function is only used when reading certain parts of the
+   makefile.  Don't use it where special rules hold sway (RHS of a variable,
+   in a command list, etc.)  */
+
+static enum make_word_type
+get_next_mword (buffer, delim, startp, length)
+     char *buffer;
+     char *delim;
+     char **startp;
+     unsigned int *length;
+{
+  enum make_word_type wtype = w_bogus;
+  char *p = buffer, *beg;
+  char c;
+
+  /* Skip any leading whitespace.  */
+  while (isblank ((unsigned char)*p))
+    ++p;
+
+  beg = p;
+  c = *(p++);
+  switch (c)
+    {
+    case '\0':
+      wtype = w_eol;
+      break;
+
+    case ';':
+      wtype = w_semicolon;
+      break;
+
+    case '=':
+      wtype = w_varassign;
+      break;
+
+    case ':':
+      wtype = w_colon;
+      switch (*p)
+        {
+        case ':':
+          ++p;
+          wtype = w_dcolon;
+          break;
+
+        case '=':
+          ++p;
+          wtype = w_varassign;
+          break;
+        }
+      break;
+
+    case '+':
+    case '?':
+      if (*p == '=')
+        {
+          ++p;
+          wtype = w_varassign;
+          break;
+        }
+
+    default:
+      if (delim && strchr (delim, c))
+        wtype = w_static;
+      break;
+    }
+
+  /* Did we find something?  If so, return now.  */
+  if (wtype != w_bogus)
+    goto done;
+
+  /* This is some non-operator word.  A word consists of the longest
+     string of characters that doesn't contain whitespace, one of [:=#],
+     or [?+]=, or one of the chars in the DELIM string.  */
+
+  /* We start out assuming a static word; if we see a variable we'll
+     adjust our assumptions then.  */
+  wtype = w_static;
+
+  /* We already found the first value of "c", above.  */
+  while (1)
+    {
+      char closeparen;
+      int count;
+
+      switch (c)
+        {
+        case '\0':
+        case ' ':
+        case '\t':
+        case '=':
+          goto done_word;
+
+        case ':':
+#ifdef HAVE_DOS_PATHS
+         /* A word CAN include a colon in its drive spec.  The drive
+            spec is allowed either at the beginning of a word, or as part
+            of the archive member name, like in "libfoo.a(d:/foo/bar.o)".  */
+         if (!(p - beg >= 2
+               && (*p == '/' || *p == '\\') && isalpha ((unsigned char)p[-2])
+               && (p - beg == 2 || p[-3] == '(')))
+#endif
+         goto done_word;
+
+        case '$':
+          c = *(p++);
+          if (c == '$')
+            break;
+
+          /* This is a variable reference, so note that it's expandable.
+             Then read it to the matching close paren.  */
+          wtype = w_variable;
+
+          if (c == '(')
+            closeparen = ')';
+          else if (c == '{')
+            closeparen = '}';
+          else
+            /* This is a single-letter variable reference.  */
+            break;
+
+          for (count=0; *p != '\0'; ++p)
+            {
+              if (*p == c)
+                ++count;
+              else if (*p == closeparen && --count < 0)
+                {
+                  ++p;
+                  break;
+                }
+            }
+          break;
+
+        case '?':
+        case '+':
+          if (*p == '=')
+            goto done_word;
+          break;
+
+        case '\\':
+          switch (*p)
+            {
+            case ':':
+            case ';':
+            case '=':
+            case '\\':
+              ++p;
+              break;
+            }
+          break;
+
+        default:
+          if (delim && strchr (delim, c))
+            goto done_word;
+          break;
+        }
+
+      c = *(p++);
+    }
+ done_word:
+  --p;
+
+ done:
+  if (startp)
+    *startp = beg;
+  if (length)
+    *length = p - beg;
+  return wtype;
+}
+\f
+/* Construct the list of include directories
+   from the arguments and the default list.  */
+
+void
+construct_include_path (arg_dirs)
+     char **arg_dirs;
+{
+  register unsigned int i;
+#ifdef VAXC            /* just don't ask ... */
+  stat_t stbuf;
+#else
+  struct stat stbuf;
+#endif
+  /* Table to hold the dirs.  */
+
+  register unsigned int defsize = (sizeof (default_include_directories)
+                                  / sizeof (default_include_directories[0]));
+  register unsigned int max = 5;
+  register char **dirs = (char **) xmalloc ((5 + defsize) * sizeof (char *));
+  register unsigned int idx = 0;
+
+#ifdef  __MSDOS__
+  defsize++;
+#endif
+
+  /* First consider any dirs specified with -I switches.
+     Ignore dirs that don't exist.  */
+
+  if (arg_dirs != 0)
+    while (*arg_dirs != 0)
+      {
+       char *dir = *arg_dirs++;
+
+       if (dir[0] == '~')
+         {
+           char *expanded = tilde_expand (dir);
+           if (expanded != 0)
+             dir = expanded;
+         }
+
+       if (stat (dir, &stbuf) == 0 && S_ISDIR (stbuf.st_mode))
+         {
+           if (idx == max - 1)
+             {
+               max += 5;
+               dirs = (char **)
+                 xrealloc ((char *) dirs, (max + defsize) * sizeof (char *));
+             }
+           dirs[idx++] = dir;
+         }
+       else if (dir != arg_dirs[-1])
+         free (dir);
+      }
+
+  /* Now add at the end the standard default dirs.  */
+
+#ifdef  __MSDOS__
+  {
+    /* The environment variable $DJDIR holds the root of the
+       DJGPP directory tree; add ${DJDIR}/include.  */
+    struct variable *djdir = lookup_variable ("DJDIR", 5);
+
+    if (djdir)
+      {
+       char *defdir = (char *) xmalloc (strlen (djdir->value) + 8 + 1);
+
+       strcat (strcpy (defdir, djdir->value), "/include");
+       dirs[idx++] = defdir;
+      }
+  }
+#endif
+
+  for (i = 0; default_include_directories[i] != 0; ++i)
+    if (stat (default_include_directories[i], &stbuf) == 0
+       && S_ISDIR (stbuf.st_mode))
+      dirs[idx++] = default_include_directories[i];
+
+  dirs[idx] = 0;
+
+  /* Now compute the maximum length of any name in it.  */
+
+  max_incl_len = 0;
+  for (i = 0; i < idx; ++i)
+    {
+      unsigned int len = strlen (dirs[i]);
+      /* If dir name is written with a trailing slash, discard it.  */
+      if (dirs[i][len - 1] == '/')
+       /* We can't just clobber a null in because it may have come from
+          a literal string and literal strings may not be writable.  */
+       dirs[i] = savestring (dirs[i], len - 1);
+      if (len > max_incl_len)
+       max_incl_len = len;
+    }
+
+  include_directories = dirs;
+}
+\f
+/* Expand ~ or ~USER at the beginning of NAME.
+   Return a newly malloc'd string or 0.  */
+
+char *
+tilde_expand (name)
+     char *name;
+{
+#ifndef VMS
+  if (name[1] == '/' || name[1] == '\0')
+    {
+      extern char *getenv ();
+      char *home_dir;
+      int is_variable;
+
+      {
+       /* Turn off --warn-undefined-variables while we expand HOME.  */
+       int save = warn_undefined_variables_flag;
+       warn_undefined_variables_flag = 0;
+
+       home_dir = allocated_variable_expand ("$(HOME)");
+
+       warn_undefined_variables_flag = save;
+      }
+
+      is_variable = home_dir[0] != '\0';
+      if (!is_variable)
+       {
+         free (home_dir);
+         home_dir = getenv ("HOME");
+       }
+#if !defined(_AMIGA) && !defined(WINDOWS32)
+      if (home_dir == 0 || home_dir[0] == '\0')
+       {
+         extern char *getlogin ();
+         char *logname = getlogin ();
+         home_dir = 0;
+         if (logname != 0)
+           {
+             struct passwd *p = getpwnam (logname);
+             if (p != 0)
+               home_dir = p->pw_dir;
+           }
+       }
+#endif /* !AMIGA && !WINDOWS32 */
+      if (home_dir != 0)
+       {
+         char *new = concat (home_dir, "", name + 1);
+         if (is_variable)
+           free (home_dir);
+         return new;
+       }
+    }
+#if !defined(_AMIGA) && !defined(WINDOWS32)
+  else
+    {
+      struct passwd *pwent;
+      char *userend = strchr (name + 1, '/');
+      if (userend != 0)
+       *userend = '\0';
+      pwent = getpwnam (name + 1);
+      if (pwent != 0)
+       {
+         if (userend == 0)
+           return xstrdup (pwent->pw_dir);
+         else
+           return concat (pwent->pw_dir, "/", userend + 1);
+       }
+      else if (userend != 0)
+       *userend = '/';
+    }
+#endif /* !AMIGA && !WINDOWS32 */
+#endif /* !VMS */
+  return 0;
+}
+
+/* Given a chain of struct nameseq's describing a sequence of filenames,
+   in reverse of the intended order, return a new chain describing the
+   result of globbing the filenames.  The new chain is in forward order.
+   The links of the old chain are freed or used in the new chain.
+   Likewise for the names in the old chain.
+
+   SIZE is how big to construct chain elements.
+   This is useful if we want them actually to be other structures
+   that have room for additional info.  */
+
+struct nameseq *
+multi_glob (chain, size)
+     struct nameseq *chain;
+     unsigned int size;
+{
+  extern void dir_setup_glob ();
+  register struct nameseq *new = 0;
+  register struct nameseq *old;
+  struct nameseq *nexto;
+  glob_t gl;
+
+  dir_setup_glob (&gl);
+
+  for (old = chain; old != 0; old = nexto)
+    {
+#ifndef NO_ARCHIVES
+      char *memname;
+#endif
+
+      nexto = old->next;
+
+      if (old->name[0] == '~')
+       {
+         char *newname = tilde_expand (old->name);
+         if (newname != 0)
+           {
+             free (old->name);
+             old->name = newname;
+           }
+       }
+
+#ifndef NO_ARCHIVES
+      if (ar_name (old->name))
+       {
+         /* OLD->name is an archive member reference.
+            Replace it with the archive file name,
+            and save the member name in MEMNAME.
+            We will glob on the archive name and then
+            reattach MEMNAME later.  */
+         char *arname;
+         ar_parse_name (old->name, &arname, &memname);
+         free (old->name);
+         old->name = arname;
+       }
+      else
+       memname = 0;
+#endif /* !NO_ARCHIVES */
+
+      switch (glob (old->name, GLOB_NOCHECK|GLOB_ALTDIRFUNC, NULL, &gl))
+       {
+       case 0:                 /* Success.  */
+         {
+           register int i = gl.gl_pathc;
+           while (i-- > 0)
+             {
+#ifndef NO_ARCHIVES
+               if (memname != 0)
+                 {
+                   /* Try to glob on MEMNAME within the archive.  */
+                   struct nameseq *found
+                     = ar_glob (gl.gl_pathv[i], memname, size);
+                   if (found == 0)
+                     {
+                       /* No matches.  Use MEMNAME as-is.  */
+                       unsigned int alen = strlen (gl.gl_pathv[i]);
+                       unsigned int mlen = strlen (memname);
+                       struct nameseq *elt
+                         = (struct nameseq *) xmalloc (size);
+                        if (size > sizeof (struct nameseq))
+                          bzero (((char *) elt) + sizeof (struct nameseq),
+                                 size - sizeof (struct nameseq));
+                       elt->name = (char *) xmalloc (alen + 1 + mlen + 2);
+                       bcopy (gl.gl_pathv[i], elt->name, alen);
+                       elt->name[alen] = '(';
+                       bcopy (memname, &elt->name[alen + 1], mlen);
+                       elt->name[alen + 1 + mlen] = ')';
+                       elt->name[alen + 1 + mlen + 1] = '\0';
+                       elt->next = new;
+                       new = elt;
+                     }
+                   else
+                     {
+                       /* Find the end of the FOUND chain.  */
+                       struct nameseq *f = found;
+                       while (f->next != 0)
+                         f = f->next;
+
+                       /* Attach the chain being built to the end of the FOUND
+                          chain, and make FOUND the new NEW chain.  */
+                       f->next = new;
+                       new = found;
+                     }
+
+                   free (memname);
+                 }
+               else
+#endif /* !NO_ARCHIVES */
+                 {
+                   struct nameseq *elt = (struct nameseq *) xmalloc (size);
+                    if (size > sizeof (struct nameseq))
+                      bzero (((char *) elt) + sizeof (struct nameseq),
+                             size - sizeof (struct nameseq));
+                   elt->name = xstrdup (gl.gl_pathv[i]);
+                   elt->next = new;
+                   new = elt;
+                 }
+             }
+           globfree (&gl);
+           free (old->name);
+           free ((char *)old);
+           break;
+         }
+
+       case GLOB_NOSPACE:
+         fatal (NILF, _("virtual memory exhausted"));
+         break;
+
+       default:
+         old->next = new;
+         new = old;
+         break;
+       }
+    }
+
+  return new;
+}
diff --git a/src/mkutil/make-3.80/readme.vms b/src/mkutil/make-3.80/readme.vms
new file mode 100644 (file)
index 0000000..d4a9667
--- /dev/null
@@ -0,0 +1,183 @@
+This is the VMS port of GNU Make done by Hartmut.Becker@compaq.com.
+
+It is based on the specific version 3.77k and on 3.78.1. 3.77k was done
+by Klaus Kämpf <kkaempf@rmi.de>, the code was based on the VMS port of
+GNU Make 3.60 by Mike Moretti.
+
+It was ported on OpenVMS/Alpha V7.1, DECC V5.7-006. It was re-build and
+tested on OpenVMS/Alpha V7.2, OpenVMS/VAX 7.1 and 5.5-2. Different
+versions of DECC were used. VAXC was tried: it fails; but it doesn't
+seem worth to get it working. There are still some PTRMISMATCH warnings
+during the compile. Although perl is working on VMS the test scripts
+don't work. The function $shell is still missing.
+
+There is a known bug in some of the VMS CRTLs. It is in the shipped
+versions of VMS V7.2 and V7.2-1 and in the currently (October 1999)
+available ECOs for VMS V7.1 and newer versions. It is fixed in versions
+shipped with newer VMS versions and all ECO kits after October 1999. It
+only shows up during the daylight saving time period (DST): stat()
+returns a modification time 1 hour ahead. This results in GNU make
+warning messages. For a just created source you will see:
+
+ $ gmake x.exe
+ gmake.exe;1: *** Warning: File `x.c' has modification time in the future (940582863 > 940579269)
+ cc    /obj=x.obj x.c
+ link  x.obj    /exe=x.exe
+ gmake.exe;1: *** Warning:  Clock skew detected.  Your build may be incomplete.
+
+
+New in 3.78.1:
+
+Fix a problem with automatically remaking makefiles. GNU make uses an
+execve to restart itself after a successful remake of the makefile. On
+UNIX systems execve replaces the running program with a new one and
+resets all signal handling to the default. On VMS execve creates a child
+process, signal and exit handlers of the parent are still active, and,
+unfortunately, corrupt the exit code from the child. Fix in job.c:
+ignore SIGCHLD.
+
+Added some switches to reflect latest features of DECC. Modifications in
+makefile.vms.
+
+Set some definitions to reflect latest features of DECC. Modifications in
+config.h-vms (which is copied to config.h).
+
+Added extern strcmpi declaration to avoid 'implicitly declared' messages.
+Modification in make.h.
+
+Default rule for C++, conditionals for gcc (GCC_IS_NATIVE) or DEC/Digital/
+Compaq c/c++ compilers. Modifications in default.c.
+
+Usage of opendir() and friends, suppress file version. Modifications in dir.c.
+
+Added VMS specific code to handle ctrl+c and ctrl+y to abort make.
+Modifications in job.c.
+
+Added support to have case sensitive targets and dependencies but to
+still use case blind file names. This is especially useful for Java
+makefiles on VMS:
+
+       .SUFFIXES :
+       .SUFFIXES :     .class .java
+       .java.class :
+               javac "$<
+       HelloWorld.class :      HelloWorld.java
+
+A new macro WANT_CASE_SENSITIVE_TARGETS in config.h-vms was introduced.
+It needs to be enabled to get this feature; default is disabled.  The
+macro HAVE_CASE_INSENSITIVE_FS must not be touched: it is still enabled.
+Modifications in file.c and config.h-vms.
+
+Bootstrap make to start building make is still makefile.com, but make
+needs to be re-made with a make to make a correct version: ignore all
+possible warnings, delete all objects, rename make.exe to a different
+name and run it.
+
+Made some minor modifications to the bootstrap build makefile.com.
+\f
+This is the VMS port of GNU Make.
+
+It is based on the VMS port of GNU Make 3.60 by Mike Moretti.
+
+This port was done by Klaus Kämpf <kkaempf@rmi.de>
+
+There is first-level support available from proGIS Software, Germany.
+Visit their web-site at http://www.progis.de to get information
+about other vms software and forthcoming updates to gnu make.
+
+New for 3.77:
+
+/bin/sh style I/O redirection is supported. You can now write lines like
+       mcr sys$disk:[]program.exe < input.txt > output.txt &> error.txt
+
+Makefile variables are looked up in the current environment. You can set
+symbols or logicals in DCL and evaluate them in the Makefile via
+$(<name-of-symbol-or-logical>).  Variables defined in the Makefile
+override VMS symbols/logicals !
+
+Functions for file names are working now. See the GNU Make manual for
+$(dir ...)  and $(wildcard ...).  Unix-style and VMS-style names are
+supported as arguments.
+
+The default rules are set up for GNU C. Building an executable from a
+single source file is as easy as 'make file.exe'.
+
+The variable $(ARCH) is predefined as ALPHA or VAX resp. Makefiles for
+different VMS systems can now be written by checking $(ARCH) as in
+  ifeq ($(ARCH),ALPHA)
+    $(ECHO) "On the Alpha"
+  else
+    $(ECHO) "On the VAX"
+  endif
+
+Command lines of excessive length are correctly broken and written to a
+batch file in sys$scratch for later execution. There's no limit to the
+lengths of commands (and no need for .opt files :-) any more.
+
+Empty commands are handled correctly and don't end in a new DCL process.
+
+
+New for 3.76:
+
+John W. Eaton has updated the VMS port to support libraries and VPATH.
+
+
+To build Make, simply type @makefile.  This should compile all the
+necessary files and link Make.  There is also a file called
+makefile.vms.  If you already have GNU Make built you can just use
+Make with this makefile to rebuild.
+
+Here are some notes about GNU Make for VMS:
+
+The cd command is supported if it's called as $(CD). This invokes
+the 'builtin_cd' command which changes the directory.
+Calling 'set def' doesn't do the trick, since a sub-shell is
+spawned for this command, the directory is changed *in this sub-shell*
+and the sub-shell ends.
+
+Libraries are not supported. They were in GNU Make 3.60 but somehow I
+didn't care porting the code. If there is enough interest, I'll do it at
+some later time.
+
+The variable $^ separates files with commas instead of spaces (It's the
+natural thing to do for VMS).
+
+See defaults.c for VMS default suffixes and my definitions for default
+rules and variables.
+
+The shell function is not implemented yet.
+
+Load average routines haven't been implemented for VMS yet.
+
+The default include directory for including other makefiles is
+SYS$SYSROOT:[SYSLIB] (I don't remember why I didn't just use
+SYS$LIBRARY: instead; maybe it wouldn't work that way).
+
+The default makefiles make looks for are: makefile.vms, gnumakefile,
+makefile., and gnumakefile. .
+
+The stat() function and handling of time stamps in VMS is broken, so I
+replaced it with a hack in vmsfunctions.c. I will provide a full rewrite
+somewhere in the future. Be warned, the time resolution inside make is
+less than what vms provides. This might be a problem on the faster Alphas.
+
+You can use a : in a filename only if you preceed it with a backslash ('\').
+E.g.- hobbes\:[bogas.files]
+
+Make ignores success, informational, or warning errors (-S-, -I-, or
+-W-).  But it will stop on -E- and -F- errors. (unless you do something
+to override this in your makefile, or whatever).
+
+Remote stuff isn't implemented yet.
+
+Multiple line DCL commands, such as "if" statements, must be put inside
+command files.  You can run a command file by using \@.
+
+
+VMS changes made for 3.74.3
+
+Lots of default settings are adapted for VMS. See default.c.
+
+Long command lines are now converted to command files.
+
+Comma (',') as a separator is now allowed. See makefile.vms for an example.
diff --git a/src/mkutil/make-3.80/remake.c b/src/mkutil/make-3.80/remake.c
new file mode 100644 (file)
index 0000000..72c4d78
--- /dev/null
@@ -0,0 +1,1420 @@
+/* Basic dependency engine for GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "filedef.h"
+#include "job.h"
+#include "commands.h"
+#include "dep.h"
+#include "variable.h"
+#include "debug.h"
+
+#include <assert.h>
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#else
+#include <sys/file.h>
+#endif
+
+#ifdef VMS
+#include <starlet.h>
+#endif
+#ifdef WINDOWS32
+#include <io.h>
+#endif
+
+extern int try_implicit_rule PARAMS ((struct file *file, unsigned int depth));
+
+
+/* The test for circular dependencies is based on the 'updating' bit in
+   `struct file'.  However, double colon targets have seperate `struct
+   file's; make sure we always use the base of the double colon chain. */
+
+#define start_updating(_f)  (((_f)->double_colon ? (_f)->double_colon : (_f))\
+                             ->updating = 1)
+#define finish_updating(_f) (((_f)->double_colon ? (_f)->double_colon : (_f))\
+                             ->updating = 0)
+#define is_updating(_f)     (((_f)->double_colon ? (_f)->double_colon : (_f))\
+                             ->updating)
+
+
+/* Incremented when a command is started (under -n, when one would be).  */
+unsigned int commands_started = 0;
+
+/* Current value for pruning the scan of the goal chain (toggle 0/1).  */
+static unsigned int considered;
+
+static int update_file PARAMS ((struct file *file, unsigned int depth));
+static int update_file_1 PARAMS ((struct file *file, unsigned int depth));
+static int check_dep PARAMS ((struct file *file, unsigned int depth, FILE_TIMESTAMP this_mtime, int *must_make_ptr));
+static int touch_file PARAMS ((struct file *file));
+static void remake_file PARAMS ((struct file *file));
+static FILE_TIMESTAMP name_mtime PARAMS ((char *name));
+static int library_search PARAMS ((char **lib, FILE_TIMESTAMP *mtime_ptr));
+
+\f
+/* Remake all the goals in the `struct dep' chain GOALS.  Return -1 if nothing
+   was done, 0 if all goals were updated successfully, or 1 if a goal failed.
+   If MAKEFILES is nonzero, these goals are makefiles, so -t, -q, and -n should
+   be disabled for them unless they were also command-line targets, and we
+   should only make one goal at a time and return as soon as one goal whose
+   `changed' member is nonzero is successfully made.  */
+
+int
+update_goal_chain (goals, makefiles)
+     register struct dep *goals;
+     int makefiles;
+{
+  int t = touch_flag, q = question_flag, n = just_print_flag;
+  unsigned int j = job_slots;
+  int status = -1;
+
+#define        MTIME(file) (makefiles ? file_mtime_no_search (file) \
+                    : file_mtime (file))
+
+  /* Duplicate the chain so we can remove things from it.  */
+
+  goals = copy_dep_chain (goals);
+
+  {
+    /* Clear the `changed' flag of each goal in the chain.
+       We will use the flag below to notice when any commands
+       have actually been run for a target.  When no commands
+       have been run, we give an "up to date" diagnostic.  */
+
+    struct dep *g;
+    for (g = goals; g != 0; g = g->next)
+      g->changed = 0;
+  }
+
+  /* All files start with the considered bit 0, so the global value is 1.  */
+  considered = 1;
+
+  /* Update all the goals until they are all finished.  */
+
+  while (goals != 0)
+    {
+      register struct dep *g, *lastgoal;
+
+      /* Start jobs that are waiting for the load to go down.  */
+
+      start_waiting_jobs ();
+
+      /* Wait for a child to die.  */
+
+      reap_children (1, 0);
+
+      lastgoal = 0;
+      g = goals;
+      while (g != 0)
+       {
+         /* Iterate over all double-colon entries for this file.  */
+         struct file *file;
+         int stop = 0, any_not_updated = 0;
+
+         for (file = g->file->double_colon ? g->file->double_colon : g->file;
+              file != NULL;
+              file = file->prev)
+           {
+             unsigned int ocommands_started;
+             int x;
+             check_renamed (file);
+             if (makefiles)
+               {
+                 if (file->cmd_target)
+                   {
+                     touch_flag = t;
+                     question_flag = q;
+                     just_print_flag = n;
+                   }
+                 else
+                   touch_flag = question_flag = just_print_flag = 0;
+               }
+
+             /* Save the old value of `commands_started' so we can compare
+                later.  It will be incremented when any commands are
+                actually run.  */
+             ocommands_started = commands_started;
+
+             x = update_file (file, makefiles ? 1 : 0);
+             check_renamed (file);
+
+             /* Set the goal's `changed' flag if any commands were started
+                by calling update_file above.  We check this flag below to
+                decide when to give an "up to date" diagnostic.  */
+             g->changed += commands_started - ocommands_started;
+
+              /* If we updated a file and STATUS was not already 1, set it to
+                 1 if updating failed, or to 0 if updating succeeded.  Leave
+                 STATUS as it is if no updating was done.  */
+
+             stop = 0;
+             if ((x != 0 || file->updated) && status < 1)
+                {
+                  if (file->update_status != 0)
+                    {
+                      /* Updating failed, or -q triggered.  The STATUS value
+                         tells our caller which.  */
+                      status = file->update_status;
+                      /* If -q just triggered, stop immediately.  It doesn't
+                         matter how much more we run, since we already know
+                         the answer to return.  */
+                      stop = (!keep_going_flag && !question_flag
+                              && !makefiles);
+                    }
+                  else
+                    {
+                      FILE_TIMESTAMP mtime = MTIME (file);
+                      check_renamed (file);
+
+                      if (file->updated && g->changed &&
+                           mtime != file->mtime_before_update)
+                        {
+                          /* Updating was done.  If this is a makefile and
+                             just_print_flag or question_flag is set (meaning
+                             -n or -q was given and this file was specified
+                             as a command-line target), don't change STATUS.
+                             If STATUS is changed, we will get re-exec'd, and
+                             enter an infinite loop.  */
+                          if (!makefiles
+                              || (!just_print_flag && !question_flag))
+                            status = 0;
+                          if (makefiles && file->dontcare)
+                            /* This is a default makefile; stop remaking.  */
+                            stop = 1;
+                        }
+                    }
+                }
+
+             /* Keep track if any double-colon entry is not finished.
+                 When they are all finished, the goal is finished.  */
+             any_not_updated |= !file->updated;
+
+             if (stop)
+               break;
+           }
+
+         /* Reset FILE since it is null at the end of the loop.  */
+         file = g->file;
+
+         if (stop || !any_not_updated)
+           {
+             /* If we have found nothing whatever to do for the goal,
+                print a message saying nothing needs doing.  */
+
+             if (!makefiles
+                 /* If the update_status is zero, we updated successfully
+                    or not at all.  G->changed will have been set above if
+                    any commands were actually started for this goal.  */
+                 && file->update_status == 0 && !g->changed
+                 /* Never give a message under -s or -q.  */
+                 && !silent_flag && !question_flag)
+               message (1, ((file->phony || file->cmds == 0)
+                            ? _("Nothing to be done for `%s'.")
+                            : _("`%s' is up to date.")),
+                        file->name);
+
+             /* This goal is finished.  Remove it from the chain.  */
+             if (lastgoal == 0)
+               goals = g->next;
+             else
+               lastgoal->next = g->next;
+
+             /* Free the storage.  */
+             free ((char *) g);
+
+             g = lastgoal == 0 ? goals : lastgoal->next;
+
+             if (stop)
+               break;
+           }
+         else
+           {
+             lastgoal = g;
+             g = g->next;
+           }
+       }
+
+      /* If we reached the end of the dependency graph toggle the considered
+         flag for the next pass.  */
+      if (g == 0)
+        considered = !considered;
+    }
+
+  if (makefiles)
+    {
+      touch_flag = t;
+      question_flag = q;
+      just_print_flag = n;
+      job_slots = j;
+    }
+  return status;
+}
+\f
+/* If FILE is not up to date, execute the commands for it.
+   Return 0 if successful, 1 if unsuccessful;
+   but with some flag settings, just call `exit' if unsuccessful.
+
+   DEPTH is the depth in recursions of this function.
+   We increment it during the consideration of our dependencies,
+   then decrement it again after finding out whether this file
+   is out of date.
+
+   If there are multiple double-colon entries for FILE,
+   each is considered in turn.  */
+
+static int
+update_file (file, depth)
+     struct file *file;
+     unsigned int depth;
+{
+  register int status = 0;
+  register struct file *f;
+
+  f = file->double_colon ? file->double_colon : file;
+
+  /* Prune the dependency graph: if we've already been here on _this_
+     pass through the dependency graph, we don't have to go any further.
+     We won't reap_children until we start the next pass, so no state
+     change is possible below here until then.  */
+  if (f->considered == considered)
+    {
+      DBF (DB_VERBOSE, _("Pruning file `%s'.\n"));
+      return f->command_state == cs_finished ? f->update_status : 0;
+    }
+
+  /* This loop runs until we start commands for a double colon rule, or until
+     the chain is exhausted. */
+  for (; f != 0; f = f->prev)
+    {
+      f->considered = considered;
+
+      status |= update_file_1 (f, depth);
+      check_renamed (f);
+
+      if (status != 0 && !keep_going_flag)
+       break;
+
+      if (f->command_state == cs_running
+          || f->command_state == cs_deps_running)
+        {
+         /* Don't run the other :: rules for this
+            file until this rule is finished.  */
+          status = 0;
+          break;
+        }
+    }
+
+  /* Process the remaining rules in the double colon chain so they're marked
+     considered.  Start their prerequisites, too.  */
+  for (; f != 0 ; f = f->prev)
+    {
+      struct dep *d;
+
+      f->considered = considered;
+
+      for (d = f->deps; d != 0; d = d->next)
+        status |= update_file (d->file, depth + 1);
+    }
+
+  return status;
+}
+\f
+/* Consider a single `struct file' and update it as appropriate.  */
+
+static int
+update_file_1 (file, depth)
+     struct file *file;
+     unsigned int depth;
+{
+  register FILE_TIMESTAMP this_mtime;
+  int noexist, must_make, deps_changed;
+  int dep_status = 0;
+  register struct dep *d, *lastd;
+  int running = 0;
+
+  DBF (DB_VERBOSE, _("Considering target file `%s'.\n"));
+
+  if (file->updated)
+    {
+      if (file->update_status > 0)
+       {
+         DBF (DB_VERBOSE,
+               _("Recently tried and failed to update file `%s'.\n"));
+         return file->update_status;
+       }
+
+      DBF (DB_VERBOSE, _("File `%s' was considered already.\n"));
+      return 0;
+    }
+
+  switch (file->command_state)
+    {
+    case cs_not_started:
+    case cs_deps_running:
+      break;
+    case cs_running:
+      DBF (DB_VERBOSE, _("Still updating file `%s'.\n"));
+      return 0;
+    case cs_finished:
+      DBF (DB_VERBOSE, _("Finished updating file `%s'.\n"));
+      return file->update_status;
+    default:
+      abort ();
+    }
+
+  ++depth;
+
+  /* Notice recursive update of the same file.  */
+  start_updating (file);
+
+  /* Looking at the file's modtime beforehand allows the possibility
+     that its name may be changed by a VPATH search, and thus it may
+     not need an implicit rule.  If this were not done, the file
+     might get implicit commands that apply to its initial name, only
+     to have that name replaced with another found by VPATH search.  */
+
+  this_mtime = file_mtime (file);
+  check_renamed (file);
+  noexist = this_mtime == NONEXISTENT_MTIME;
+  if (noexist)
+    DBF (DB_BASIC, _("File `%s' does not exist.\n"));
+  else if (ORDINARY_MTIME_MIN <= this_mtime && this_mtime <= ORDINARY_MTIME_MAX
+          && file->low_resolution_time)
+    {
+      /* Avoid spurious rebuilds due to low resolution time stamps.  */
+      int ns = FILE_TIMESTAMP_NS (this_mtime);
+      if (ns != 0)
+       error (NILF, _("*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"),
+              file->name);
+      this_mtime += FILE_TIMESTAMPS_PER_S - 1 - ns;
+    }
+
+  must_make = noexist;
+
+  /* If file was specified as a target with no commands,
+     come up with some default commands.  */
+
+  if (!file->phony && file->cmds == 0 && !file->tried_implicit)
+    {
+      if (try_implicit_rule (file, depth))
+       DBF (DB_IMPLICIT, _("Found an implicit rule for `%s'.\n"));
+      else
+       DBF (DB_IMPLICIT, _("No implicit rule found for `%s'.\n"));
+      file->tried_implicit = 1;
+    }
+  if (file->cmds == 0 && !file->is_target
+      && default_file != 0 && default_file->cmds != 0)
+    {
+      DBF (DB_IMPLICIT, _("Using default commands for `%s'.\n"));
+      file->cmds = default_file->cmds;
+    }
+
+  /* Update all non-intermediate files we depend on, if necessary,
+     and see whether any of them is more recent than this file.  */
+
+  lastd = 0;
+  d = file->deps;
+  while (d != 0)
+    {
+      FILE_TIMESTAMP mtime;
+      int maybe_make;
+
+      check_renamed (d->file);
+
+      mtime = file_mtime (d->file);
+      check_renamed (d->file);
+
+      if (is_updating (d->file))
+       {
+         error (NILF, _("Circular %s <- %s dependency dropped."),
+                file->name, d->file->name);
+         /* We cannot free D here because our the caller will still have
+            a reference to it when we were called recursively via
+            check_dep below.  */
+         if (lastd == 0)
+           file->deps = d->next;
+         else
+           lastd->next = d->next;
+         d = d->next;
+         continue;
+       }
+
+      d->file->parent = file;
+      maybe_make = must_make;
+      dep_status |= check_dep (d->file, depth, this_mtime, &maybe_make);
+      if (! d->ignore_mtime)
+        must_make = maybe_make;
+
+      check_renamed (d->file);
+
+      {
+       register struct file *f = d->file;
+       if (f->double_colon)
+         f = f->double_colon;
+       do
+         {
+           running |= (f->command_state == cs_running
+                       || f->command_state == cs_deps_running);
+           f = f->prev;
+         }
+       while (f != 0);
+      }
+
+      if (dep_status != 0 && !keep_going_flag)
+       break;
+
+      if (!running)
+       d->changed = file_mtime (d->file) != mtime;
+
+      lastd = d;
+      d = d->next;
+    }
+
+  /* Now we know whether this target needs updating.
+     If it does, update all the intermediate files we depend on.  */
+
+  if (must_make || always_make_flag)
+    {
+      for (d = file->deps; d != 0; d = d->next)
+       if (d->file->intermediate)
+         {
+           FILE_TIMESTAMP mtime = file_mtime (d->file);
+           check_renamed (d->file);
+           d->file->parent = file;
+           dep_status |= update_file (d->file, depth);
+           check_renamed (d->file);
+
+           {
+             register struct file *f = d->file;
+             if (f->double_colon)
+               f = f->double_colon;
+             do
+               {
+                 running |= (f->command_state == cs_running
+                             || f->command_state == cs_deps_running);
+                 f = f->prev;
+               }
+             while (f != 0);
+           }
+
+           if (dep_status != 0 && !keep_going_flag)
+             break;
+
+           if (!running)
+             d->changed = ((file->phony && file->cmds != 0)
+                           || file_mtime (d->file) != mtime);
+         }
+    }
+
+  finish_updating (file);
+
+  DBF (DB_VERBOSE, _("Finished prerequisites of target file `%s'.\n"));
+
+  if (running)
+    {
+      set_command_state (file, cs_deps_running);
+      --depth;
+      DBF (DB_VERBOSE, _("The prerequisites of `%s' are being made.\n"));
+      return 0;
+    }
+
+  /* If any dependency failed, give up now.  */
+
+  if (dep_status != 0)
+    {
+      file->update_status = dep_status;
+      notice_finished_file (file);
+
+      --depth;
+
+      DBF (DB_VERBOSE, _("Giving up on target file `%s'.\n"));
+
+      if (depth == 0 && keep_going_flag
+         && !just_print_flag && !question_flag)
+       error (NILF,
+               _("Target `%s' not remade because of errors."), file->name);
+
+      return dep_status;
+    }
+
+  if (file->command_state == cs_deps_running)
+    /* The commands for some deps were running on the last iteration, but
+       they have finished now.  Reset the command_state to not_started to
+       simplify later bookkeeping.  It is important that we do this only
+       when the prior state was cs_deps_running, because that prior state
+       was definitely propagated to FILE's also_make's by set_command_state
+       (called above), but in another state an also_make may have
+       independently changed to finished state, and we would confuse that
+       file's bookkeeping (updated, but not_started is bogus state).  */
+    set_command_state (file, cs_not_started);
+
+  /* Now record which prerequisites are more
+     recent than this file, so we can define $?.  */
+
+  deps_changed = 0;
+  for (d = file->deps; d != 0; d = d->next)
+    {
+      FILE_TIMESTAMP d_mtime = file_mtime (d->file);
+      check_renamed (d->file);
+
+      if (! d->ignore_mtime)
+        {
+#if 1
+          /* %%% In version 4, remove this code completely to
+          implement not remaking deps if their deps are newer
+          than their parents.  */
+          if (d_mtime == NONEXISTENT_MTIME && !d->file->intermediate)
+            /* We must remake if this dep does not
+               exist and is not intermediate.  */
+            must_make = 1;
+#endif
+
+          /* Set DEPS_CHANGED if this dep actually changed.  */
+          deps_changed |= d->changed;
+        }
+
+      /* Set D->changed if either this dep actually changed,
+        or its dependent, FILE, is older or does not exist.  */
+      d->changed |= noexist || d_mtime > this_mtime;
+
+      if (!noexist && ISDB (DB_BASIC|DB_VERBOSE))
+       {
+          const char *fmt = 0;
+
+          if (d->ignore_mtime)
+            {
+              if (ISDB (DB_VERBOSE))
+                fmt = _("Prerequisite `%s' is order-only for target `%s'.\n");
+            }
+          else if (d_mtime == NONEXISTENT_MTIME)
+            {
+              if (ISDB (DB_BASIC))
+                fmt = _("Prerequisite `%s' of target `%s' does not exist.\n");
+            }
+         else if (d->changed)
+            {
+              if (ISDB (DB_BASIC))
+                fmt = _("Prerequisite `%s' is newer than target `%s'.\n");
+            }
+          else if (ISDB (DB_VERBOSE))
+            fmt = _("Prerequisite `%s' is older than target `%s'.\n");
+
+          if (fmt)
+            {
+              print_spaces (depth);
+              printf (fmt, dep_name (d), file->name);
+              fflush (stdout);
+            }
+       }
+    }
+
+  /* Here depth returns to the value it had when we were called.  */
+  depth--;
+
+  if (file->double_colon && file->deps == 0)
+    {
+      must_make = 1;
+      DBF (DB_BASIC,
+           _("Target `%s' is double-colon and has no prerequisites.\n"));
+    }
+  else if (!noexist && file->is_target && !deps_changed && file->cmds == 0
+           && !always_make_flag)
+    {
+      must_make = 0;
+      DBF (DB_VERBOSE,
+           _("No commands for `%s' and no prerequisites actually changed.\n"));
+    }
+  else if (!must_make && file->cmds != 0 && always_make_flag)
+    {
+      must_make = 1;
+      DBF (DB_VERBOSE, _("Making `%s' due to always-make flag.\n"));
+    }
+
+  if (!must_make)
+    {
+      if (ISDB (DB_VERBOSE))
+        {
+          print_spaces (depth);
+          printf (_("No need to remake target `%s'"), file->name);
+          if (!streq (file->name, file->hname))
+              printf (_("; using VPATH name `%s'"), file->hname);
+          puts (".");
+          fflush (stdout);
+        }
+
+      notice_finished_file (file);
+
+      /* Since we don't need to remake the file, convert it to use the
+         VPATH filename if we found one.  hfile will be either the
+         local name if no VPATH or the VPATH name if one was found.  */
+
+      while (file)
+        {
+          file->name = file->hname;
+          file = file->prev;
+        }
+
+      return 0;
+    }
+
+  DBF (DB_BASIC, _("Must remake target `%s'.\n"));
+
+  /* It needs to be remade.  If it's VPATH and not reset via GPATH, toss the
+     VPATH.  */
+  if (!streq(file->name, file->hname))
+    {
+      DB (DB_BASIC, (_("  Ignoring VPATH name `%s'.\n"), file->hname));
+      file->ignore_vpath = 1;
+    }
+
+  /* Now, take appropriate actions to remake the file.  */
+  remake_file (file);
+
+  if (file->command_state != cs_finished)
+    {
+      DBF (DB_VERBOSE, _("Commands of `%s' are being run.\n"));
+      return 0;
+    }
+
+  switch (file->update_status)
+    {
+    case 2:
+      DBF (DB_BASIC, _("Failed to remake target file `%s'.\n"));
+      break;
+    case 0:
+      DBF (DB_BASIC, _("Successfully remade target file `%s'.\n"));
+      break;
+    case 1:
+      DBF (DB_BASIC, _("Target file `%s' needs remade under -q.\n"));
+      break;
+    default:
+      assert (file->update_status >= 0 && file->update_status <= 2);
+      break;
+    }
+
+  file->updated = 1;
+  return file->update_status;
+}
+\f
+/* Set FILE's `updated' flag and re-check its mtime and the mtime's of all
+   files listed in its `also_make' member.  Under -t, this function also
+   touches FILE.
+
+   On return, FILE->update_status will no longer be -1 if it was.  */
+
+void
+notice_finished_file (file)
+     register struct file *file;
+{
+  struct dep *d;
+  int ran = file->command_state == cs_running;
+  int touched = 0;
+
+  file->command_state = cs_finished;
+  file->updated = 1;
+
+  if (touch_flag
+      /* The update status will be:
+               -1      if this target was not remade;
+               0       if 0 or more commands (+ or ${MAKE}) were run and won;
+               1       if some commands were run and lost.
+        We touch the target if it has commands which either were not run
+        or won when they ran (i.e. status is 0).  */
+      && file->update_status == 0)
+    {
+      if (file->cmds != 0 && file->cmds->any_recurse)
+       {
+         /* If all the command lines were recursive,
+            we don't want to do the touching.  */
+         unsigned int i;
+         for (i = 0; i < file->cmds->ncommand_lines; ++i)
+           if (!(file->cmds->lines_flags[i] & COMMANDS_RECURSE))
+             goto have_nonrecursing;
+       }
+      else
+       {
+       have_nonrecursing:
+         if (file->phony)
+           file->update_status = 0;
+         else
+            {
+              /* Should set file's modification date and do nothing else.  */
+              file->update_status = touch_file (file);
+
+              /* Pretend we ran a real touch command, to suppress the
+                 "`foo' is up to date" message.  */
+              commands_started++;
+
+              /* Request for the timestamp to be updated (and distributed
+                 to the double-colon entries). Simply setting ran=1 would
+                 almost have done the trick, but messes up with the also_make
+                 updating logic below.  */
+              touched = 1;
+            }
+       }
+    }
+
+  if (file->mtime_before_update == UNKNOWN_MTIME)
+    file->mtime_before_update = file->last_mtime;
+
+  if ((ran && !file->phony) || touched)
+    {
+      struct file *f;
+      int i = 0;
+
+      /* If -n, -t, or -q and all the commands are recursive, we ran them so
+         really check the target's mtime again.  Otherwise, assume the target
+         would have been updated. */
+
+      if (question_flag || just_print_flag || touch_flag)
+        {
+          for (i = file->cmds->ncommand_lines; i > 0; --i)
+            if (! (file->cmds->lines_flags[i-1] & COMMANDS_RECURSE))
+              break;
+        }
+
+      /* If there were no commands at all, it's always new. */
+
+      else if (file->is_target && file->cmds == 0)
+       i = 1;
+
+      file->last_mtime = i == 0 ? UNKNOWN_MTIME : NEW_MTIME;
+
+      /* Propagate the change of modification time to all the double-colon
+        entries for this file.  */
+      for (f = file->double_colon; f != 0; f = f->prev)
+       f->last_mtime = file->last_mtime;
+    }
+
+  if (ran && file->update_status != -1)
+    /* We actually tried to update FILE, which has
+       updated its also_make's as well (if it worked).
+       If it didn't work, it wouldn't work again for them.
+       So mark them as updated with the same status.  */
+    for (d = file->also_make; d != 0; d = d->next)
+      {
+       d->file->command_state = cs_finished;
+       d->file->updated = 1;
+       d->file->update_status = file->update_status;
+
+       if (ran && !d->file->phony)
+         /* Fetch the new modification time.
+            We do this instead of just invalidating the cached time
+            so that a vpath_search can happen.  Otherwise, it would
+            never be done because the target is already updated.  */
+         (void) f_mtime (d->file, 0);
+      }
+  else if (file->update_status == -1)
+    /* Nothing was done for FILE, but it needed nothing done.
+       So mark it now as "succeeded".  */
+    file->update_status = 0;
+}
+\f
+/* Check whether another file (whose mtime is THIS_MTIME)
+   needs updating on account of a dependency which is file FILE.
+   If it does, store 1 in *MUST_MAKE_PTR.
+   In the process, update any non-intermediate files
+   that FILE depends on (including FILE itself).
+   Return nonzero if any updating failed.  */
+
+static int
+check_dep (file, depth, this_mtime, must_make_ptr)
+     struct file *file;
+     unsigned int depth;
+     FILE_TIMESTAMP this_mtime;
+     int *must_make_ptr;
+{
+  struct dep *d;
+  int dep_status = 0;
+
+  ++depth;
+  start_updating (file);
+
+  if (!file->intermediate)
+    /* If this is a non-intermediate file, update it and record
+       whether it is newer than THIS_MTIME.  */
+    {
+      FILE_TIMESTAMP mtime;
+      dep_status = update_file (file, depth);
+      check_renamed (file);
+      mtime = file_mtime (file);
+      check_renamed (file);
+      if (mtime == NONEXISTENT_MTIME || mtime > this_mtime)
+       *must_make_ptr = 1;
+    }
+  else
+    {
+      /* FILE is an intermediate file.  */
+      FILE_TIMESTAMP mtime;
+
+      if (!file->phony && file->cmds == 0 && !file->tried_implicit)
+       {
+         if (try_implicit_rule (file, depth))
+           DBF (DB_IMPLICIT, _("Found an implicit rule for `%s'.\n"));
+         else
+           DBF (DB_IMPLICIT, _("No implicit rule found for `%s'.\n"));
+         file->tried_implicit = 1;
+       }
+      if (file->cmds == 0 && !file->is_target
+         && default_file != 0 && default_file->cmds != 0)
+       {
+         DBF (DB_IMPLICIT, _("Using default commands for `%s'.\n"));
+         file->cmds = default_file->cmds;
+       }
+
+      /* If the intermediate file actually exists
+        and is newer, then we should remake from it.  */
+      check_renamed (file);
+      mtime = file_mtime (file);
+      check_renamed (file);
+      if (mtime != NONEXISTENT_MTIME && mtime > this_mtime)
+       *must_make_ptr = 1;
+         /* Otherwise, update all non-intermediate files we depend on,
+            if necessary, and see whether any of them is more
+            recent than the file on whose behalf we are checking.  */
+      else
+       {
+         struct dep *lastd;
+
+         lastd = 0;
+         d = file->deps;
+         while (d != 0)
+           {
+              int maybe_make;
+
+             if (is_updating (d->file))
+               {
+                 error (NILF, _("Circular %s <- %s dependency dropped."),
+                        file->name, d->file->name);
+                 if (lastd == 0)
+                   {
+                     file->deps = d->next;
+                     free ((char *) d);
+                     d = file->deps;
+                   }
+                 else
+                   {
+                     lastd->next = d->next;
+                     free ((char *) d);
+                     d = lastd->next;
+                   }
+                 continue;
+               }
+
+             d->file->parent = file;
+              maybe_make = *must_make_ptr;
+             dep_status |= check_dep (d->file, depth, this_mtime,
+                                       &maybe_make);
+              if (! d->ignore_mtime)
+                *must_make_ptr = maybe_make;
+             check_renamed (d->file);
+             if (dep_status != 0 && !keep_going_flag)
+               break;
+
+             if (d->file->command_state == cs_running
+                 || d->file->command_state == cs_deps_running)
+               /* Record that some of FILE's deps are still being made.
+                  This tells the upper levels to wait on processing it until
+                  the commands are finished.  */
+               set_command_state (file, cs_deps_running);
+
+             lastd = d;
+             d = d->next;
+           }
+       }
+    }
+
+  finish_updating (file);
+  return dep_status;
+}
+\f
+/* Touch FILE.  Return zero if successful, one if not.  */
+
+#define TOUCH_ERROR(call) return (perror_with_name (call, file->name), 1)
+
+static int
+touch_file (file)
+     register struct file *file;
+{
+  if (!silent_flag)
+    message (0, "touch %s", file->name);
+
+#ifndef        NO_ARCHIVES
+  if (ar_name (file->name))
+    return ar_touch (file->name);
+  else
+#endif
+    {
+      int fd = open (file->name, O_RDWR | O_CREAT, 0666);
+
+      if (fd < 0)
+       TOUCH_ERROR ("touch: open: ");
+      else
+       {
+         struct stat statbuf;
+         char buf;
+
+         if (fstat (fd, &statbuf) < 0)
+           TOUCH_ERROR ("touch: fstat: ");
+         /* Rewrite character 0 same as it already is.  */
+         if (read (fd, &buf, 1) < 0)
+           TOUCH_ERROR ("touch: read: ");
+         if (lseek (fd, 0L, 0) < 0L)
+           TOUCH_ERROR ("touch: lseek: ");
+         if (write (fd, &buf, 1) < 0)
+           TOUCH_ERROR ("touch: write: ");
+         /* If file length was 0, we just
+            changed it, so change it back.  */
+         if (statbuf.st_size == 0)
+           {
+             (void) close (fd);
+             fd = open (file->name, O_RDWR | O_TRUNC, 0666);
+             if (fd < 0)
+               TOUCH_ERROR ("touch: open: ");
+           }
+         (void) close (fd);
+       }
+    }
+
+  return 0;
+}
+\f
+/* Having checked and updated the dependencies of FILE,
+   do whatever is appropriate to remake FILE itself.
+   Return the status from executing FILE's commands.  */
+
+static void
+remake_file (file)
+     struct file *file;
+{
+  if (file->cmds == 0)
+    {
+      if (file->phony)
+       /* Phony target.  Pretend it succeeded.  */
+       file->update_status = 0;
+      else if (file->is_target)
+       /* This is a nonexistent target file we cannot make.
+          Pretend it was successfully remade.  */
+       file->update_status = 0;
+      else
+        {
+          const char *msg_noparent
+            = _("%sNo rule to make target `%s'%s");
+          const char *msg_parent
+            = _("%sNo rule to make target `%s', needed by `%s'%s");
+
+          /* This is a dependency file we cannot remake.  Fail.  */
+          if (!keep_going_flag && !file->dontcare)
+            {
+              if (file->parent == 0)
+                fatal (NILF, msg_noparent, "", file->name, "");
+
+              fatal (NILF, msg_parent, "", file->name, file->parent->name, "");
+            }
+
+          if (!file->dontcare)
+            {
+              if (file->parent == 0)
+                error (NILF, msg_noparent, "*** ", file->name, ".");
+              else
+                error (NILF, msg_parent, "*** ",
+                       file->name, file->parent->name, ".");
+            }
+          file->update_status = 2;
+        }
+    }
+  else
+    {
+      chop_commands (file->cmds);
+
+      /* The normal case: start some commands.  */
+      if (!touch_flag || file->cmds->any_recurse)
+       {
+         execute_file_commands (file);
+         return;
+       }
+
+      /* This tells notice_finished_file it is ok to touch the file.  */
+      file->update_status = 0;
+    }
+
+  /* This does the touching under -t.  */
+  notice_finished_file (file);
+}
+\f
+/* Return the mtime of a file, given a `struct file'.
+   Caches the time in the struct file to avoid excess stat calls.
+
+   If the file is not found, and SEARCH is nonzero, VPATH searching and
+   replacement is done.  If that fails, a library (-lLIBNAME) is tried and
+   the library's actual name (/lib/libLIBNAME.a, etc.) is substituted into
+   FILE.  */
+
+FILE_TIMESTAMP
+f_mtime (file, search)
+     register struct file *file;
+     int search;
+{
+  FILE_TIMESTAMP mtime;
+
+  /* File's mtime is not known; must get it from the system.  */
+
+#ifndef        NO_ARCHIVES
+  if (ar_name (file->name))
+    {
+      /* This file is an archive-member reference.  */
+
+      char *arname, *memname;
+      struct file *arfile;
+      int arname_used = 0;
+      time_t member_date;
+
+      /* Find the archive's name.  */
+      ar_parse_name (file->name, &arname, &memname);
+
+      /* Find the modification time of the archive itself.
+        Also allow for its name to be changed via VPATH search.  */
+      arfile = lookup_file (arname);
+      if (arfile == 0)
+       {
+         arfile = enter_file (arname);
+         arname_used = 1;
+       }
+      mtime = f_mtime (arfile, search);
+      check_renamed (arfile);
+      if (search && strcmp (arfile->hname, arname))
+       {
+         /* The archive's name has changed.
+            Change the archive-member reference accordingly.  */
+
+          char *name;
+         unsigned int arlen, memlen;
+
+         if (!arname_used)
+           {
+             free (arname);
+             arname_used = 1;
+           }
+
+         arname = arfile->hname;
+         arlen = strlen (arname);
+         memlen = strlen (memname);
+
+         /* free (file->name); */
+
+         name = (char *) xmalloc (arlen + 1 + memlen + 2);
+         bcopy (arname, name, arlen);
+         name[arlen] = '(';
+         bcopy (memname, name + arlen + 1, memlen);
+         name[arlen + 1 + memlen] = ')';
+         name[arlen + 1 + memlen + 1] = '\0';
+
+          /* If the archive was found with GPATH, make the change permanent;
+             otherwise defer it until later.  */
+          if (arfile->name == arfile->hname)
+            rename_file (file, name);
+          else
+            rehash_file (file, name);
+          check_renamed (file);
+       }
+
+      if (!arname_used)
+       free (arname);
+      free (memname);
+
+      file->low_resolution_time = 1;
+
+      if (mtime == NONEXISTENT_MTIME)
+       /* The archive doesn't exist, so its members don't exist either.  */
+       return NONEXISTENT_MTIME;
+
+      member_date = ar_member_date (file->hname);
+      mtime = (member_date == (time_t) -1
+               ? NONEXISTENT_MTIME
+               : file_timestamp_cons (file->hname, member_date, 0));
+    }
+  else
+#endif
+    {
+      mtime = name_mtime (file->name);
+
+      if (mtime == NONEXISTENT_MTIME && search && !file->ignore_vpath)
+       {
+         /* If name_mtime failed, search VPATH.  */
+         char *name = file->name;
+         if (vpath_search (&name, &mtime)
+             /* Last resort, is it a library (-lxxx)?  */
+             || (name[0] == '-' && name[1] == 'l'
+                 && library_search (&name, &mtime)))
+           {
+             if (mtime != UNKNOWN_MTIME)
+               /* vpath_search and library_search store UNKNOWN_MTIME
+                  if they didn't need to do a stat call for their work.  */
+               file->last_mtime = mtime;
+
+              /* If we found it in VPATH, see if it's in GPATH too; if so,
+                 change the name right now; if not, defer until after the
+                 dependencies are updated. */
+              if (gpath_search (name, strlen(name) - strlen(file->name) - 1))
+                {
+                  rename_file (file, name);
+                  check_renamed (file);
+                  return file_mtime (file);
+                }
+
+             rehash_file (file, name);
+             check_renamed (file);
+             mtime = name_mtime (name);
+           }
+       }
+    }
+
+  {
+    /* Files can have bogus timestamps that nothing newly made will be
+       "newer" than.  Updating their dependents could just result in loops.
+       So notify the user of the anomaly with a warning.
+
+       We only need to do this once, for now. */
+
+    if (!clock_skew_detected
+       && mtime != NONEXISTENT_MTIME
+       && !file->updated)
+      {
+       static FILE_TIMESTAMP adjusted_now;
+
+       FILE_TIMESTAMP adjusted_mtime = mtime;
+
+#if defined(WINDOWS32) || defined(__MSDOS__)
+       /* Experimentation has shown that FAT filesystems can set file times
+          up to 3 seconds into the future!  Play it safe.  */
+
+#define FAT_ADJ_OFFSET  (FILE_TIMESTAMP) 3
+
+       FILE_TIMESTAMP adjustment = FAT_ADJ_OFFSET << FILE_TIMESTAMP_LO_BITS;
+       if (ORDINARY_MTIME_MIN + adjustment <= adjusted_mtime)
+         adjusted_mtime -= adjustment;
+#endif
+
+       /* If the file's time appears to be in the future, update our
+          concept of the present and try once more.  */
+       if (adjusted_now < adjusted_mtime)
+         {
+           int resolution;
+           FILE_TIMESTAMP now = file_timestamp_now (&resolution);
+           adjusted_now = now + (resolution - 1);
+           if (adjusted_now < adjusted_mtime)
+             {
+#ifdef NO_FLOAT
+               error (NILF, _("Warning: File `%s' has modification time in the future"),
+                       file->name);
+#else
+               double from_now =
+                 (FILE_TIMESTAMP_S (mtime) - FILE_TIMESTAMP_S (now)
+                  + ((FILE_TIMESTAMP_NS (mtime) - FILE_TIMESTAMP_NS (now))
+                     / 1e9));
+               error (NILF, _("Warning: File `%s' has modification time %.2g s in the future"),
+                      file->name, from_now);
+#endif
+               clock_skew_detected = 1;
+             }
+          }
+      }
+  }
+
+  /* Store the mtime into all the entries for this file.  */
+  if (file->double_colon)
+    file = file->double_colon;
+
+  do
+    {
+      /* If this file is not implicit but it is intermediate then it was
+        made so by the .INTERMEDIATE target.  If this file has never
+        been built by us but was found now, it existed before make
+        started.  So, turn off the intermediate bit so make doesn't
+        delete it, since it didn't create it.  */
+      if (mtime != NONEXISTENT_MTIME && file->command_state == cs_not_started
+         && file->command_state == cs_not_started
+         && !file->tried_implicit && file->intermediate)
+       file->intermediate = 0;
+
+      file->last_mtime = mtime;
+      file = file->prev;
+    }
+  while (file != 0);
+
+  return mtime;
+}
+
+
+/* Return the mtime of the file or archive-member reference NAME.  */
+
+static FILE_TIMESTAMP
+name_mtime (name)
+     register char *name;
+{
+  struct stat st;
+
+  if (stat (name, &st) != 0)
+    {
+      if (errno != ENOENT && errno != ENOTDIR)
+        perror_with_name ("stat:", name);
+      return NONEXISTENT_MTIME;
+    }
+
+  return FILE_TIMESTAMP_STAT_MODTIME (name, st);
+}
+
+
+/* Search for a library file specified as -lLIBNAME, searching for a
+   suitable library file in the system library directories and the VPATH
+   directories.  */
+
+static int
+library_search (lib, mtime_ptr)
+     char **lib;
+     FILE_TIMESTAMP *mtime_ptr;
+{
+  static char *dirs[] =
+    {
+#ifndef _AMIGA
+      "/lib",
+      "/usr/lib",
+#endif
+#if defined(WINDOWS32) && !defined(LIBDIR)
+/*
+ * This is completely up to the user at product install time. Just define
+ * a placeholder.
+ */
+#define LIBDIR "."
+#endif
+      LIBDIR,                  /* Defined by configuration.  */
+      0
+    };
+
+  static char *libpatterns = NULL;
+
+  char *libname = &(*lib)[2];  /* Name without the `-l'.  */
+  FILE_TIMESTAMP mtime;
+
+  /* Loop variables for the libpatterns value.  */
+  char *p, *p2;
+  unsigned int len;
+
+  char *file, **dp;
+
+  /* If we don't have libpatterns, get it.  */
+  if (!libpatterns)
+    {
+      int save = warn_undefined_variables_flag;
+      warn_undefined_variables_flag = 0;
+
+      libpatterns = xstrdup (variable_expand ("$(strip $(.LIBPATTERNS))"));
+
+      warn_undefined_variables_flag = save;
+    }
+
+  /* Loop through all the patterns in .LIBPATTERNS, and search on each one.  */
+  p2 = libpatterns;
+  while ((p = find_next_token (&p2, &len)) != 0)
+    {
+      static char *buf = NULL;
+      static int buflen = 0;
+      static int libdir_maxlen = -1;
+      char *libbuf = variable_expand ("");
+
+      /* Expand the pattern using LIBNAME as a replacement.  */
+      {
+       char c = p[len];
+       char *p3, *p4;
+
+       p[len] = '\0';
+       p3 = find_percent (p);
+       if (!p3)
+         {
+           /* Give a warning if there is no pattern, then remove the
+              pattern so it's ignored next time.  */
+           error (NILF, _(".LIBPATTERNS element `%s' is not a pattern"), p);
+           for (; len; --len, ++p)
+             *p = ' ';
+           *p = c;
+           continue;
+         }
+       p4 = variable_buffer_output (libbuf, p, p3-p);
+       p4 = variable_buffer_output (p4, libname, strlen (libname));
+       p4 = variable_buffer_output (p4, p3+1, len - (p3-p));
+       p[len] = c;
+      }
+
+      /* Look first for `libNAME.a' in the current directory.  */
+      mtime = name_mtime (libbuf);
+      if (mtime != NONEXISTENT_MTIME)
+       {
+         *lib = xstrdup (libbuf);
+         if (mtime_ptr != 0)
+           *mtime_ptr = mtime;
+         return 1;
+       }
+
+      /* Now try VPATH search on that.  */
+
+      file = libbuf;
+      if (vpath_search (&file, mtime_ptr))
+       {
+         *lib = file;
+         return 1;
+       }
+
+      /* Now try the standard set of directories.  */
+
+      if (!buflen)
+       {
+         for (dp = dirs; *dp != 0; ++dp)
+           {
+             int l = strlen (*dp);
+             if (l > libdir_maxlen)
+               libdir_maxlen = l;
+           }
+         buflen = strlen (libbuf);
+         buf = xmalloc(libdir_maxlen + buflen + 2);
+       }
+      else if (buflen < strlen (libbuf))
+       {
+         buflen = strlen (libbuf);
+         buf = xrealloc (buf, libdir_maxlen + buflen + 2);
+       }
+
+      for (dp = dirs; *dp != 0; ++dp)
+       {
+         sprintf (buf, "%s/%s", *dp, libbuf);
+         mtime = name_mtime (buf);
+         if (mtime != NONEXISTENT_MTIME)
+           {
+             *lib = xstrdup (buf);
+             if (mtime_ptr != 0)
+               *mtime_ptr = mtime;
+             return 1;
+           }
+       }
+    }
+
+  return 0;
+}
diff --git a/src/mkutil/make-3.80/remote-cstms.c b/src/mkutil/make-3.80/remote-cstms.c
new file mode 100644 (file)
index 0000000..b058739
--- /dev/null
@@ -0,0 +1,310 @@
+/* GNU Make remote job exportation interface to the Customs daemon.
+   THIS CODE IS NOT SUPPORTED BY THE GNU PROJECT.
+   Please do not send bug reports or questions about it to
+   the Make maintainers.
+
+Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "job.h"
+#include "filedef.h"
+#include "commands.h"
+#include "job.h"
+#include "debug.h"
+
+#include <sys/time.h>
+#include <netdb.h>
+
+#include "customs.h"
+
+char *remote_description = "Customs";
+
+/* File name of the Customs `export' client command.
+   A full path name can be used to avoid some path-searching overhead.  */
+#define        EXPORT_COMMAND  "/usr/local/bin/export"
+
+/* ExportPermit gotten by start_remote_job_p, and used by start_remote_job.  */
+static ExportPermit permit;
+
+/* Normalized path name of the current directory.  */
+static char *normalized_cwd;
+
+/* Call once at startup even if no commands are run.  */
+
+void
+remote_setup ()
+{
+}
+
+/* Called before exit.  */
+
+void
+remote_cleanup ()
+{
+}
+\f
+/* Return nonzero if the next job should be done remotely.  */
+
+int
+start_remote_job_p (first_p)
+     int first_p;
+{
+  static int inited = 0;
+  int status;
+  int njobs;
+
+  if (!inited)
+    {
+      /* Allow the user to turn off job exportation (useful while he is
+         debugging Customs, for example).  */
+      if (getenv ("GNU_MAKE_NO_CUSTOMS") != 0)
+        {
+          inited = -1;
+          return 0;
+        }
+
+      /* For secure Customs, make is installed setuid root and
+        Customs requires a privileged source port be used.  */
+      make_access ();
+
+      if (ISDB (DB_JOBS))
+        Rpc_Debug(1);
+
+      /* Ping the daemon once to see if it is there.  */
+      inited = Customs_Ping () == RPC_SUCCESS ? 1 : -1;
+
+      /* Return to normal user access.  */
+      user_access ();
+
+      if (starting_directory == 0)
+       /* main couldn't figure it out.  */
+       inited = -1;
+      else
+       {
+         /* Normalize the current directory path name to something
+            that should work on all machines exported to.  */
+
+         normalized_cwd = (char *) xmalloc (GET_PATH_MAX);
+         strcpy (normalized_cwd, starting_directory);
+         if (Customs_NormPath (normalized_cwd, GET_PATH_MAX) < 0)
+           /* Path normalization failure means using Customs
+              won't work, but it's not really an error.  */
+           inited = -1;
+       }
+    }
+
+  if (inited < 0)
+    return 0;
+
+  njobs = job_slots_used;
+  if (!first_p)
+    njobs -= 1;                /* correction for being called from reap_children() */
+
+  /* the first job should run locally, or, if the -l flag is given, we use
+     that as clue as to how many local jobs should be scheduled locally */
+  if (max_load_average < 0 && njobs == 0 || njobs < max_load_average)
+     return 0;
+
+  status = Customs_Host (EXPORT_SAME, &permit);
+  if (status != RPC_SUCCESS)
+    {
+      DB (DB_JOBS, (_("Customs won't export: %s\n"),
+                    Rpc_ErrorMessage (status)));
+      return 0;
+    }
+
+  return !CUSTOMS_FAIL (&permit.addr);
+}
+\f
+/* Start a remote job running the command in ARGV, with environment from
+   ENVP.  It gets standard input from STDIN_FD.  On failure, return
+   nonzero.  On success, return zero, and set *USED_STDIN to nonzero if it
+   will actually use STDIN_FD, zero if not, set *ID_PTR to a unique
+   identification, and set *IS_REMOTE to nonzero if the job is remote, zero
+   if it is local (meaning *ID_PTR is a process ID).  */
+
+int
+start_remote_job (argv, envp, stdin_fd, is_remote, id_ptr, used_stdin)
+     char **argv, **envp;
+     int stdin_fd;
+     int *is_remote;
+     int *id_ptr;
+     int *used_stdin;
+{
+  char waybill[MAX_DATA_SIZE], msg[128];
+  struct hostent *host;
+  struct timeval timeout;
+  struct sockaddr_in sin;
+  int len;
+  int retsock, retport, sock;
+  Rpc_Stat status;
+  int pid;
+
+  /* Create the return socket.  */
+  retsock = Rpc_UdpCreate (True, 0);
+  if (retsock < 0)
+    {
+      error (NILF, "exporting: Couldn't create return socket.");
+      return 1;
+    }
+
+  /* Get the return socket's port number.  */
+  len = sizeof (sin);
+  if (getsockname (retsock, (struct sockaddr *) &sin, &len) < 0)
+    {
+      (void) close (retsock);
+      perror_with_name ("exporting: ", "getsockname");
+      return 1;
+    }
+  retport = sin.sin_port;
+
+  /* Create the TCP socket for talking to the remote child.  */
+  sock = Rpc_TcpCreate (False, 0);
+
+  /* Create a WayBill to give to the server.  */
+  len = Customs_MakeWayBill (&permit, normalized_cwd, argv[0], argv,
+                            envp, retport, waybill);
+
+  /* Modify the waybill as if the remote child had done `child_access ()'.  */
+  {
+    WayBill *wb = (WayBill *) waybill;
+    wb->ruid = wb->euid;
+    wb->rgid = wb->egid;
+  }
+
+  /* Send the request to the server, timing out in 20 seconds.  */
+  timeout.tv_usec = 0;
+  timeout.tv_sec = 20;
+  sin.sin_family = AF_INET;
+  sin.sin_port = htons (Customs_Port ());
+  sin.sin_addr = permit.addr;
+  status = Rpc_Call (sock, &sin, (Rpc_Proc) CUSTOMS_IMPORT,
+                    len, (Rpc_Opaque) waybill,
+                    sizeof(msg), (Rpc_Opaque) msg,
+                    1, &timeout);
+
+  host = gethostbyaddr((char *)&permit.addr, sizeof(permit.addr), AF_INET);
+
+  if (status != RPC_SUCCESS)
+    {
+      (void) close (retsock);
+      (void) close (sock);
+      error (NILF, "exporting to %s: %s",
+             host ? host->h_name : inet_ntoa (permit.addr),
+             Rpc_ErrorMessage (status));
+      return 1;
+    }
+  else if (msg[0] != 'O' || msg[1] != 'k' || msg[2] != '\0')
+    {
+      (void) close (retsock);
+      (void) close (sock);
+      error (NILF, "exporting to %s: %s",
+             host ? host->h_name : inet_ntoa (permit.addr),
+             msg);
+      return 1;
+    }
+  else
+    {
+      error (NILF, "*** exported to %s (id %u)",
+             host ? host->h_name : inet_ntoa (permit.addr),
+             permit.id);
+    }
+
+  fflush (stdout);
+  fflush (stderr);
+
+  pid = vfork ();
+  if (pid < 0)
+    {
+      /* The fork failed!  */
+      perror_with_name ("vfork", "");
+      return 1;
+    }
+  else if (pid == 0)
+    {
+      /* Child side.  Run `export' to handle the connection.  */
+      static char sock_buf[20], retsock_buf[20], id_buf[20];
+      static char *new_argv[6] =
+       { EXPORT_COMMAND, "-id", sock_buf, retsock_buf, id_buf, 0 };
+
+      /* Set up the arguments.  */
+      (void) sprintf (sock_buf, "%d", sock);
+      (void) sprintf (retsock_buf, "%d", retsock);
+      (void) sprintf (id_buf, "%x", permit.id);
+
+      /* Get the right stdin.  */
+      if (stdin_fd != 0)
+       (void) dup2 (stdin_fd, 0);
+
+      /* Unblock signals in the child.  */
+      unblock_sigs ();
+
+      /* Run the command.  */
+      exec_command (new_argv, envp);
+    }
+
+  /* Parent side.  Return the `export' process's ID.  */
+  (void) close (retsock);
+  (void) close (sock);
+  *is_remote = 0;
+  *id_ptr = pid;
+  *used_stdin = 1;
+  return 0;
+}
+\f
+/* Get the status of a dead remote child.  Block waiting for one to die
+   if BLOCK is nonzero.  Set *EXIT_CODE_PTR to the exit status, *SIGNAL_PTR
+   to the termination signal or zero if it exited normally, and *COREDUMP_PTR
+   nonzero if it dumped core.  Return the ID of the child that died,
+   0 if we would have to block and !BLOCK, or < 0 if there were none.  */
+
+int
+remote_status (exit_code_ptr, signal_ptr, coredump_ptr, block)
+     int *exit_code_ptr, *signal_ptr, *coredump_ptr;
+     int block;
+{
+  return -1;
+}
+
+/* Block asynchronous notification of remote child death.
+   If this notification is done by raising the child termination
+   signal, do not block that signal.  */
+void
+block_remote_children ()
+{
+  return;
+}
+
+/* Restore asynchronous notification of remote child death.
+   If this is done by raising the child termination signal,
+   do not unblock that signal.  */
+void
+unblock_remote_children ()
+{
+  return;
+}
+
+/* Send signal SIG to child ID.  Return 0 if successful, -1 if not.  */
+int
+remote_kill (id, sig)
+     int id;
+     int sig;
+{
+  return -1;
+}
diff --git a/src/mkutil/make-3.80/remote-stub.c b/src/mkutil/make-3.80/remote-stub.c
new file mode 100644 (file)
index 0000000..69af397
--- /dev/null
@@ -0,0 +1,109 @@
+/* Template for the remote job exportation interface to GNU Make.
+Copyright (C) 1988, 1989, 1992, 1993, 1996 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "filedef.h"
+#include "job.h"
+#include "commands.h"
+
+
+char *remote_description = 0;
+
+/* Call once at startup even if no commands are run.  */
+
+void
+remote_setup ()
+{
+}
+
+/* Called before exit.  */
+
+void
+remote_cleanup ()
+{
+}
+\f
+/* Return nonzero if the next job should be done remotely.  */
+
+int
+start_remote_job_p (first_p)
+     int first_p;
+{
+  return 0;
+}
+\f
+/* Start a remote job running the command in ARGV,
+   with environment from ENVP.  It gets standard input from STDIN_FD.  On
+   failure, return nonzero.  On success, return zero, and set *USED_STDIN
+   to nonzero if it will actually use STDIN_FD, zero if not, set *ID_PTR to
+   a unique identification, and set *IS_REMOTE to zero if the job is local,
+   nonzero if it is remote (meaning *ID_PTR is a process ID).  */
+
+int
+start_remote_job (argv, envp, stdin_fd, is_remote, id_ptr, used_stdin)
+     char **argv, **envp;
+     int stdin_fd;
+     int *is_remote;
+     int *id_ptr;
+     int *used_stdin;
+{
+  return -1;
+}
+\f
+/* Get the status of a dead remote child.  Block waiting for one to die
+   if BLOCK is nonzero.  Set *EXIT_CODE_PTR to the exit status, *SIGNAL_PTR
+   to the termination signal or zero if it exited normally, and *COREDUMP_PTR
+   nonzero if it dumped core.  Return the ID of the child that died,
+   0 if we would have to block and !BLOCK, or < 0 if there were none.  */
+
+int
+remote_status (exit_code_ptr, signal_ptr, coredump_ptr, block)
+     int *exit_code_ptr, *signal_ptr, *coredump_ptr;
+     int block;
+{
+  errno = ECHILD;
+  return -1;
+}
+
+/* Block asynchronous notification of remote child death.
+   If this notification is done by raising the child termination
+   signal, do not block that signal.  */
+void
+block_remote_children ()
+{
+  return;
+}
+
+/* Restore asynchronous notification of remote child death.
+   If this is done by raising the child termination signal,
+   do not unblock that signal.  */
+void
+unblock_remote_children ()
+{
+  return;
+}
+
+/* Send signal SIG to child ID.  Return 0 if successful, -1 if not.  */
+int
+remote_kill (id, sig)
+     int id;
+     int sig;
+{
+  return -1;
+}
diff --git a/src/mkutil/make-3.80/respf.$$$ b/src/mkutil/make-3.80/respf.$$$
new file mode 100644 (file)
index 0000000..29791e7
--- /dev/null
@@ -0,0 +1,23 @@
+commands.o \r
+job.o \r
+dir.o \r
+file.o \r
+misc.o \r
+main.o \r
+read.o \r
+remake.o \r
+rule.o \r
+implicit.o \r
+default.o \r
+variable.o \r
+expand.o \r
+function.o \r
+vpath.o \r
+version.o \r
+ar.o \r
+arscan.o \r
+signame.o \r
+remote-stub.o \r
+getopt.o \r
+getopt1.o \r
+glob/libglob.a \r
diff --git a/src/mkutil/make-3.80/rule.c b/src/mkutil/make-3.80/rule.c
new file mode 100644 (file)
index 0000000..e693c02
--- /dev/null
@@ -0,0 +1,717 @@
+/* Pattern and suffix rule internals for GNU Make.
+Copyright (C) 1988,89,90,91,92,93, 1998 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "dep.h"
+#include "filedef.h"
+#include "job.h"
+#include "commands.h"
+#include "variable.h"
+#include "rule.h"
+
+static void freerule PARAMS ((struct rule *rule, struct rule *lastrule));
+\f
+/* Chain of all pattern rules.  */
+
+struct rule *pattern_rules;
+
+/* Pointer to last rule in the chain, so we can add onto the end.  */
+
+struct rule *last_pattern_rule;
+
+/* Number of rules in the chain.  */
+
+unsigned int num_pattern_rules;
+
+/* Maximum number of target patterns of any pattern rule.  */
+
+unsigned int max_pattern_targets;
+
+/* Maximum number of dependencies of any pattern rule.  */
+
+unsigned int max_pattern_deps;
+
+/* Maximum length of the name of a dependencies of any pattern rule.  */
+
+unsigned int max_pattern_dep_length;
+
+/* Chain of all pattern-specific variables.  */
+
+static struct pattern_var *pattern_vars;
+
+/* Pointer to last struct in the chain, so we can add onto the end.  */
+
+static struct pattern_var *last_pattern_var;
+
+/* Pointer to structure for the file .SUFFIXES
+   whose dependencies are the suffixes to be searched.  */
+
+struct file *suffix_file;
+
+/* Maximum length of a suffix.  */
+
+unsigned int maxsuffix;
+\f
+/* Compute the maximum dependency length and maximum number of
+   dependencies of all implicit rules.  Also sets the subdir
+   flag for a rule when appropriate, possibly removing the rule
+   completely when appropriate.  */
+
+void
+count_implicit_rule_limits ()
+{
+  char *name;
+  unsigned int namelen;
+  register struct rule *rule, *lastrule;
+
+  num_pattern_rules = max_pattern_targets = max_pattern_deps = 0;
+  max_pattern_dep_length = 0;
+
+  name = 0;
+  namelen = 0;
+  rule = pattern_rules;
+  lastrule = 0;
+  while (rule != 0)
+    {
+      unsigned int ndeps = 0;
+      register struct dep *dep;
+      struct rule *next = rule->next;
+      unsigned int ntargets;
+
+      ++num_pattern_rules;
+
+      ntargets = 0;
+      while (rule->targets[ntargets] != 0)
+       ++ntargets;
+
+      if (ntargets > max_pattern_targets)
+       max_pattern_targets = ntargets;
+
+      for (dep = rule->deps; dep != 0; dep = dep->next)
+       {
+         unsigned int len = strlen (dep->name);
+
+#ifdef VMS
+         char *p = strrchr (dep->name, ']');
+          char *p2;
+          if (p == 0)
+            p = strrchr (dep->name, ':');
+          p2 = p != 0 ? strchr (dep->name, '%') : 0;
+#else
+         char *p = strrchr (dep->name, '/');
+         char *p2 = p != 0 ? strchr (dep->name, '%') : 0;
+#endif
+         ndeps++;
+
+         if (len > max_pattern_dep_length)
+           max_pattern_dep_length = len;
+
+         if (p != 0 && p2 > p)
+           {
+             /* There is a slash before the % in the dep name.
+                Extract the directory name.  */
+             if (p == dep->name)
+               ++p;
+             if (p - dep->name > namelen)
+               {
+                 if (name != 0)
+                   free (name);
+                 namelen = p - dep->name;
+                 name = (char *) xmalloc (namelen + 1);
+               }
+             bcopy (dep->name, name, p - dep->name);
+             name[p - dep->name] = '\0';
+
+             /* In the deps of an implicit rule the `changed' flag
+                actually indicates that the dependency is in a
+                nonexistent subdirectory.  */
+
+             dep->changed = !dir_file_exists_p (name, "");
+#ifdef VMS
+              if (dep->changed && strchr (name, ':') != 0)
+#else
+             if (dep->changed && *name == '/')
+#endif
+               {
+                 /* The name is absolute and the directory does not exist.
+                    This rule can never possibly match, since this dependency
+                    can never possibly exist.  So just remove the rule from
+                    the list.  */
+                 freerule (rule, lastrule);
+                 --num_pattern_rules;
+                 goto end_main_loop;
+               }
+           }
+         else
+           /* This dependency does not reside in a subdirectory.  */
+           dep->changed = 0;
+       }
+
+      if (ndeps > max_pattern_deps)
+       max_pattern_deps = ndeps;
+
+      lastrule = rule;
+    end_main_loop:
+      rule = next;
+    }
+
+  if (name != 0)
+    free (name);
+}
+\f
+/* Create a pattern rule from a suffix rule.
+   TARGET is the target suffix; SOURCE is the source suffix.
+   CMDS are the commands.
+   If TARGET is nil, it means the target pattern should be `(%.o)'.
+   If SOURCE is nil, it means there should be no deps.  */
+
+static void
+convert_suffix_rule (target, source, cmds)
+     char *target, *source;
+     struct commands *cmds;
+{
+  char *targname, *targpercent, *depname;
+  char **names, **percents;
+  struct dep *deps;
+  unsigned int len;
+
+  if (target == 0)
+    /* Special case: TARGET being nil means we are defining a
+       `.X.a' suffix rule; the target pattern is always `(%.o)'.  */
+    {
+#ifdef VMS
+      targname = savestring ("(%.obj)", 7);
+#else
+      targname = savestring ("(%.o)", 5);
+#endif
+      targpercent = targname + 1;
+    }
+  else
+    {
+      /* Construct the target name.  */
+      len = strlen (target);
+      targname = xmalloc (1 + len + 1);
+      targname[0] = '%';
+      bcopy (target, targname + 1, len + 1);
+      targpercent = targname;
+    }
+
+  names = (char **) xmalloc (2 * sizeof (char *));
+  percents = (char **) alloca (2 * sizeof (char *));
+  names[0] = targname;
+  percents[0] = targpercent;
+  names[1] = percents[1] = 0;
+
+  if (source == 0)
+    deps = 0;
+  else
+    {
+      /* Construct the dependency name.  */
+      len = strlen (source);
+      depname = xmalloc (1 + len + 1);
+      depname[0] = '%';
+      bcopy (source, depname + 1, len + 1);
+      deps = (struct dep *) xmalloc (sizeof (struct dep));
+      deps->next = 0;
+      deps->name = depname;
+      deps->ignore_mtime = 0;
+    }
+
+  create_pattern_rule (names, percents, 0, deps, cmds, 0);
+}
+
+/* Convert old-style suffix rules to pattern rules.
+   All rules for the suffixes on the .SUFFIXES list
+   are converted and added to the chain of pattern rules.  */
+
+void
+convert_to_pattern ()
+{
+  register struct dep *d, *d2;
+  register struct file *f;
+  register char *rulename;
+  register unsigned int slen, s2len;
+
+  /* Compute maximum length of all the suffixes.  */
+
+  maxsuffix = 0;
+  for (d = suffix_file->deps; d != 0; d = d->next)
+    {
+      register unsigned int namelen = strlen (dep_name (d));
+      if (namelen > maxsuffix)
+       maxsuffix = namelen;
+    }
+
+  rulename = (char *) alloca ((maxsuffix * 2) + 1);
+
+  for (d = suffix_file->deps; d != 0; d = d->next)
+    {
+      /* Make a rule that is just the suffix, with no deps or commands.
+        This rule exists solely to disqualify match-anything rules.  */
+      convert_suffix_rule (dep_name (d), (char *) 0, (struct commands *) 0);
+
+      f = d->file;
+      if (f->cmds != 0)
+       /* Record a pattern for this suffix's null-suffix rule.  */
+       convert_suffix_rule ("", dep_name (d), f->cmds);
+
+      /* Record a pattern for each of this suffix's two-suffix rules.  */
+      slen = strlen (dep_name (d));
+      bcopy (dep_name (d), rulename, slen);
+      for (d2 = suffix_file->deps; d2 != 0; d2 = d2->next)
+       {
+         s2len = strlen (dep_name (d2));
+
+         if (slen == s2len && streq (dep_name (d), dep_name (d2)))
+           continue;
+
+         bcopy (dep_name (d2), rulename + slen, s2len + 1);
+         f = lookup_file (rulename);
+         if (f == 0 || f->cmds == 0)
+           continue;
+
+         if (s2len == 2 && rulename[slen] == '.' && rulename[slen + 1] == 'a')
+           /* A suffix rule `.X.a:' generates the pattern rule `(%.o): %.X'.
+              It also generates a normal `%.a: %.X' rule below.  */
+           convert_suffix_rule ((char *) 0, /* Indicates `(%.o)'.  */
+                                dep_name (d),
+                                f->cmds);
+
+         /* The suffix rule `.X.Y:' is converted
+            to the pattern rule `%.Y: %.X'.  */
+         convert_suffix_rule (dep_name (d2), dep_name (d), f->cmds);
+       }
+    }
+}
+
+
+/* Install the pattern rule RULE (whose fields have been filled in)
+   at the end of the list (so that any rules previously defined
+   will take precedence).  If this rule duplicates a previous one
+   (identical target and dependencies), the old one is replaced
+   if OVERRIDE is nonzero, otherwise this new one is thrown out.
+   When an old rule is replaced, the new one is put at the end of the
+   list.  Return nonzero if RULE is used; zero if not.  */
+
+int
+new_pattern_rule (rule, override)
+     register struct rule *rule;
+     int override;
+{
+  register struct rule *r, *lastrule;
+  register unsigned int i, j;
+
+  rule->in_use = 0;
+  rule->terminal = 0;
+
+  rule->next = 0;
+
+  /* Search for an identical rule.  */
+  lastrule = 0;
+  for (r = pattern_rules; r != 0; lastrule = r, r = r->next)
+    for (i = 0; rule->targets[i] != 0; ++i)
+      {
+       for (j = 0; r->targets[j] != 0; ++j)
+         if (!streq (rule->targets[i], r->targets[j]))
+           break;
+       if (r->targets[j] == 0)
+         /* All the targets matched.  */
+         {
+           register struct dep *d, *d2;
+           for (d = rule->deps, d2 = r->deps;
+                d != 0 && d2 != 0; d = d->next, d2 = d2->next)
+             if (!streq (dep_name (d), dep_name (d2)))
+               break;
+           if (d == 0 && d2 == 0)
+             {
+               /* All the dependencies matched.  */
+               if (override)
+                 {
+                   /* Remove the old rule.  */
+                   freerule (r, lastrule);
+                   /* Install the new one.  */
+                   if (pattern_rules == 0)
+                     pattern_rules = rule;
+                   else
+                     last_pattern_rule->next = rule;
+                   last_pattern_rule = rule;
+
+                   /* We got one.  Stop looking.  */
+                   goto matched;
+                 }
+               else
+                 {
+                   /* The old rule stays intact.  Destroy the new one.  */
+                   freerule (rule, (struct rule *) 0);
+                   return 0;
+                 }
+             }
+         }
+      }
+
+ matched:;
+
+  if (r == 0)
+    {
+      /* There was no rule to replace.  */
+      if (pattern_rules == 0)
+       pattern_rules = rule;
+      else
+       last_pattern_rule->next = rule;
+      last_pattern_rule = rule;
+    }
+
+  return 1;
+}
+
+
+/* Install an implicit pattern rule based on the three text strings
+   in the structure P points to.  These strings come from one of
+   the arrays of default implicit pattern rules.
+   TERMINAL specifies what the `terminal' field of the rule should be.  */
+
+void
+install_pattern_rule (p, terminal)
+     struct pspec *p;
+     int terminal;
+{
+  register struct rule *r;
+  char *ptr;
+
+  r = (struct rule *) xmalloc (sizeof (struct rule));
+
+  r->targets = (char **) xmalloc (2 * sizeof (char *));
+  r->suffixes = (char **) xmalloc (2 * sizeof (char *));
+  r->lens = (unsigned int *) xmalloc (2 * sizeof (unsigned int));
+
+  r->targets[1] = 0;
+  r->suffixes[1] = 0;
+  r->lens[1] = 0;
+
+  r->lens[0] = strlen (p->target);
+  /* These will all be string literals, but we malloc space for
+     them anyway because somebody might want to free them later on.  */
+  r->targets[0] = savestring (p->target, r->lens[0]);
+  r->suffixes[0] = find_percent (r->targets[0]);
+  if (r->suffixes[0] == 0)
+    /* Programmer-out-to-lunch error.  */
+    abort ();
+  else
+    ++r->suffixes[0];
+
+  ptr = p->dep;
+  r->deps = (struct dep *) multi_glob (parse_file_seq (&ptr, '\0',
+                                                       sizeof (struct dep), 1),
+                                      sizeof (struct dep));
+
+  if (new_pattern_rule (r, 0))
+    {
+      r->terminal = terminal;
+      r->cmds = (struct commands *) xmalloc (sizeof (struct commands));
+      r->cmds->fileinfo.filenm = 0;
+      r->cmds->fileinfo.lineno = 0;
+      /* These will all be string literals, but we malloc space for them
+        anyway because somebody might want to free them later.  */
+      r->cmds->commands = xstrdup (p->commands);
+      r->cmds->command_lines = 0;
+    }
+}
+
+
+/* Free all the storage used in RULE and take it out of the
+   pattern_rules chain.  LASTRULE is the rule whose next pointer
+   points to RULE.  */
+
+static void
+freerule (rule, lastrule)
+     register struct rule *rule, *lastrule;
+{
+  struct rule *next = rule->next;
+  register unsigned int i;
+  register struct dep *dep;
+
+  for (i = 0; rule->targets[i] != 0; ++i)
+    free (rule->targets[i]);
+
+  dep = rule->deps;
+  while (dep)
+    {
+      struct dep *t;
+
+      t = dep->next;
+      /* We might leak dep->name here, but I'm not sure how to fix this: I
+         think that pointer might be shared (e.g., in the file hash?)  */
+      free ((char *) dep);
+      dep = t;
+    }
+
+  free ((char *) rule->targets);
+  free ((char *) rule->suffixes);
+  free ((char *) rule->lens);
+
+  /* We can't free the storage for the commands because there
+     are ways that they could be in more than one place:
+       * If the commands came from a suffix rule, they could also be in
+       the `struct file's for other suffix rules or plain targets given
+       on the same makefile line.
+       * If two suffixes that together make a two-suffix rule were each
+       given twice in the .SUFFIXES list, and in the proper order, two
+       identical pattern rules would be created and the second one would
+       be discarded here, but both would contain the same `struct commands'
+       pointer from the `struct file' for the suffix rule.  */
+
+  free ((char *) rule);
+
+  if (pattern_rules == rule)
+    if (lastrule != 0)
+      abort ();
+    else
+      pattern_rules = next;
+  else if (lastrule != 0)
+    lastrule->next = next;
+  if (last_pattern_rule == rule)
+    last_pattern_rule = lastrule;
+}
+\f
+/* Create a new pattern rule with the targets in the nil-terminated
+   array TARGETS.  If TARGET_PERCENTS is not nil, it is an array of
+   pointers into the elements of TARGETS, where the `%'s are.
+   The new rule has dependencies DEPS and commands from COMMANDS.
+   It is a terminal rule if TERMINAL is nonzero.  This rule overrides
+   identical rules with different commands if OVERRIDE is nonzero.
+
+   The storage for TARGETS and its elements is used and must not be freed
+   until the rule is destroyed.  The storage for TARGET_PERCENTS is not used;
+   it may be freed.  */
+
+void
+create_pattern_rule (targets, target_percents,
+                    terminal, deps, commands, override)
+     char **targets, **target_percents;
+     int terminal;
+     struct dep *deps;
+     struct commands *commands;
+     int override;
+{
+  register struct rule *r = (struct rule *) xmalloc (sizeof (struct rule));
+  register unsigned int max_targets, i;
+
+  r->cmds = commands;
+  r->deps = deps;
+  r->targets = targets;
+
+  max_targets = 2;
+  r->lens = (unsigned int *) xmalloc (2 * sizeof (unsigned int));
+  r->suffixes = (char **) xmalloc (2 * sizeof (char *));
+  for (i = 0; targets[i] != 0; ++i)
+    {
+      if (i == max_targets - 1)
+       {
+         max_targets += 5;
+         r->lens = (unsigned int *)
+           xrealloc ((char *) r->lens, max_targets * sizeof (unsigned int));
+         r->suffixes = (char **)
+           xrealloc ((char *) r->suffixes, max_targets * sizeof (char *));
+       }
+      r->lens[i] = strlen (targets[i]);
+      r->suffixes[i] = (target_percents == 0 ? find_percent (targets[i])
+                       : target_percents[i]) + 1;
+      if (r->suffixes[i] == 0)
+       abort ();
+    }
+
+  if (i < max_targets - 1)
+    {
+      r->lens = (unsigned int *) xrealloc ((char *) r->lens,
+                                          (i + 1) * sizeof (unsigned int));
+      r->suffixes = (char **) xrealloc ((char *) r->suffixes,
+                                       (i + 1) * sizeof (char *));
+    }
+
+  if (new_pattern_rule (r, override))
+    r->terminal = terminal;
+}
+\f
+/* Create a new pattern-specific variable struct.  */
+
+struct pattern_var *
+create_pattern_var (target, suffix)
+     char *target, *suffix;
+{
+  register struct pattern_var *p = 0;
+  unsigned int len = strlen(target);
+
+  /* Look to see if this pattern already exists in the list.  */
+  for (p = pattern_vars; p != NULL; p = p->next)
+    if (p->len == len && !strcmp(p->target, target))
+      break;
+
+  if (p == 0)
+    {
+      p = (struct pattern_var *) xmalloc (sizeof (struct pattern_var));
+      if (last_pattern_var != 0)
+        last_pattern_var->next = p;
+      else
+        pattern_vars = p;
+      last_pattern_var = p;
+      p->next = 0;
+      p->target = target;
+      p->len = len;
+      p->suffix = suffix + 1;
+      p->vars = create_new_variable_set();
+    }
+
+  return p;
+}
+\f
+/* Look up a target in the pattern-specific variable list.  */
+
+struct pattern_var *
+lookup_pattern_var (target)
+     char *target;
+{
+  struct pattern_var *p;
+  unsigned int targlen = strlen(target);
+
+  for (p = pattern_vars; p != 0; p = p->next)
+    {
+      char *stem;
+      unsigned int stemlen;
+
+      if (p->len > targlen)
+        /* It can't possibly match.  */
+        continue;
+
+      /* From the lengths of the filename and the pattern parts,
+         find the stem: the part of the filename that matches the %.  */
+      stem = target + (p->suffix - p->target - 1);
+      stemlen = targlen - p->len + 1;
+
+      /* Compare the text in the pattern before the stem, if any.  */
+      if (stem > target && !strneq (p->target, target, stem - target))
+        continue;
+
+      /* Compare the text in the pattern after the stem, if any.
+         We could test simply using streq, but this way we compare the
+         first two characters immediately.  This saves time in the very
+         common case where the first character matches because it is a
+         period.  */
+      if (*p->suffix == stem[stemlen]
+          && (*p->suffix == '\0' || streq (&p->suffix[1], &stem[stemlen+1])))
+        break;
+    }
+
+  return p;
+}
+\f
+/* Print the data base of rules.  */
+
+static void                    /* Useful to call from gdb.  */
+print_rule (r)
+     struct rule *r;
+{
+  register unsigned int i;
+  register struct dep *d;
+
+  for (i = 0; r->targets[i] != 0; ++i)
+    {
+      fputs (r->targets[i], stdout);
+      if (r->targets[i + 1] != 0)
+       putchar (' ');
+      else
+       putchar (':');
+    }
+  if (r->terminal)
+    putchar (':');
+
+  for (d = r->deps; d != 0; d = d->next)
+    printf (" %s", dep_name (d));
+  putchar ('\n');
+
+  if (r->cmds != 0)
+    print_commands (r->cmds);
+}
+
+void
+print_rule_data_base ()
+{
+  register unsigned int rules, terminal;
+  register struct rule *r;
+
+  puts (_("\n# Implicit Rules"));
+
+  rules = terminal = 0;
+  for (r = pattern_rules; r != 0; r = r->next)
+    {
+      ++rules;
+
+      putchar ('\n');
+      print_rule (r);
+
+      if (r->terminal)
+       ++terminal;
+    }
+
+  if (rules == 0)
+    puts (_("\n# No implicit rules."));
+  else
+    {
+      printf (_("\n# %u implicit rules, %u"), rules, terminal);
+#ifndef        NO_FLOAT
+      printf (" (%.1f%%)", (double) terminal / (double) rules * 100.0);
+#else
+      {
+       int f = (terminal * 1000 + 5) / rules;
+       printf (" (%d.%d%%)", f/10, f%10);
+      }
+#endif
+      puts (_(" terminal."));
+    }
+
+  if (num_pattern_rules != rules)
+    {
+      /* This can happen if a fatal error was detected while reading the
+         makefiles and thus count_implicit_rule_limits wasn't called yet.  */
+      if (num_pattern_rules != 0)
+        fatal (NILF, _("BUG: num_pattern_rules wrong!  %u != %u"),
+               num_pattern_rules, rules);
+    }
+
+  puts (_("\n# Pattern-specific variable values"));
+
+  {
+    struct pattern_var *p;
+
+    rules = 0;
+    for (p = pattern_vars; p != 0; p = p->next)
+      {
+        ++rules;
+
+        printf ("\n%s :\n", p->target);
+        print_variable_set (p->vars->set, "# ");
+      }
+
+    if (rules == 0)
+      puts (_("\n# No pattern-specific variable values."));
+    else
+      {
+        printf (_("\n# %u pattern-specific variable values"), rules);
+      }
+  }
+}
diff --git a/src/mkutil/make-3.80/rule.h b/src/mkutil/make-3.80/rule.h
new file mode 100644 (file)
index 0000000..30cc544
--- /dev/null
@@ -0,0 +1,72 @@
+/* Definitions for using pattern rules in GNU Make.
+Copyright (C) 1988, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* Structure used for pattern rules.  */
+
+struct rule
+  {
+    struct rule *next;
+    char **targets;            /* Targets of the rule.  */
+    unsigned int *lens;                /* Lengths of each target.  */
+    char **suffixes;           /* Suffixes (after `%') of each target.  */
+    struct dep *deps;          /* Dependencies of the rule.  */
+    struct commands *cmds;     /* Commands to execute.  */
+    char terminal;             /* If terminal (double-colon).  */
+    char in_use;               /* If in use by a parent pattern_search.  */
+  };
+
+struct pattern_var
+  {
+    struct pattern_var *next;
+    char *target;
+    unsigned int len;
+    char *suffix;
+    struct variable_set_list *vars;
+  };
+
+/* For calling install_pattern_rule.  */
+struct pspec
+  {
+    char *target, *dep, *commands;
+  };
+
+
+extern struct rule *pattern_rules;
+extern struct rule *last_pattern_rule;
+extern unsigned int num_pattern_rules;
+
+extern unsigned int max_pattern_deps;
+extern unsigned int max_pattern_targets;
+extern unsigned int max_pattern_dep_length;
+
+extern struct file *suffix_file;
+extern unsigned int maxsuffix;
+
+
+extern void install_pattern_rule PARAMS ((struct pspec *p, int terminal));
+extern int new_pattern_rule PARAMS ((struct rule *rule, int override));
+extern struct pattern_var *create_pattern_var PARAMS ((char *target, char *suffix));
+extern struct pattern_var *lookup_pattern_var PARAMS ((char *target));
+extern void count_implicit_rule_limits PARAMS ((void));
+extern void convert_to_pattern PARAMS ((void));
+extern void create_pattern_rule PARAMS ((char **targets,
+                                         char **target_percents, int terminal,
+                                         struct dep *deps,
+                                         struct commands *commands,
+                                         int override));
diff --git a/src/mkutil/make-3.80/signame.c b/src/mkutil/make-3.80/signame.c
new file mode 100644 (file)
index 0000000..051d544
--- /dev/null
@@ -0,0 +1,255 @@
+/* Convert between signal names and numbers.
+Copyright (C) 1990,92,93,95,96,99, 2002 Free Software Foundation, Inc.
+This file was part of the GNU C Library, but is now part of GNU make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+
+/* If the system provides strsignal, we don't need it. */
+
+#if !defined(HAVE_STRSIGNAL)
+
+/* If the system provides sys_siglist, we'll use that.
+   Otherwise create our own.
+ */
+
+#if !defined(SYS_SIGLIST_DECLARED)
+
+/* Some systems do not define NSIG in <signal.h>.  */
+#ifndef        NSIG
+#ifdef _NSIG
+#define        NSIG    _NSIG
+#else
+#define        NSIG    32
+#endif
+#endif
+
+/* There is too much variation in Sys V signal numbers and names, so
+   we must initialize them at runtime.  */
+
+static const char *undoc;
+
+static const char *sys_siglist[NSIG];
+
+/* Table of abbreviations for signals.  Note:  A given number can
+   appear more than once with different abbreviations.  */
+#define SIG_TABLE_SIZE  (NSIG*2)
+
+typedef struct
+  {
+    int number;
+    const char *abbrev;
+  } num_abbrev;
+
+static num_abbrev sig_table[SIG_TABLE_SIZE];
+
+/* Number of elements of sig_table used.  */
+static int sig_table_nelts = 0;
+
+/* Enter signal number NUMBER into the tables with ABBREV and NAME.  */
+
+static void
+init_sig (number, abbrev, name)
+     int number;
+     const char *abbrev;
+     const char *name;
+{
+  /* If this value is ever greater than NSIG it seems like it'd be a bug in
+     the system headers, but... better safe than sorry.  We know, for
+     example, that this isn't always true on VMS.  */
+
+  if (number >= 0 && number < NSIG)
+    sys_siglist[number] = name;
+
+  if (sig_table_nelts < SIG_TABLE_SIZE)
+    {
+      sig_table[sig_table_nelts].number = number;
+      sig_table[sig_table_nelts++].abbrev = abbrev;
+    }
+}
+
+static int
+signame_init ()
+{
+  int i;
+
+  undoc = xstrdup (_("unknown signal"));
+
+  /* Initialize signal names.  */
+  for (i = 0; i < NSIG; i++)
+    sys_siglist[i] = undoc;
+
+  /* Initialize signal names.  */
+#if defined (SIGHUP)
+  init_sig (SIGHUP, "HUP", _("Hangup"));
+#endif
+#if defined (SIGINT)
+  init_sig (SIGINT, "INT", _("Interrupt"));
+#endif
+#if defined (SIGQUIT)
+  init_sig (SIGQUIT, "QUIT", _("Quit"));
+#endif
+#if defined (SIGILL)
+  init_sig (SIGILL, "ILL", _("Illegal Instruction"));
+#endif
+#if defined (SIGTRAP)
+  init_sig (SIGTRAP, "TRAP", _("Trace/breakpoint trap"));
+#endif
+  /* If SIGIOT == SIGABRT, we want to print it as SIGABRT because
+     SIGABRT is in ANSI and POSIX.1 and SIGIOT isn't.  */
+#if defined (SIGABRT)
+  init_sig (SIGABRT, "ABRT", _("Aborted"));
+#endif
+#if defined (SIGIOT)
+  init_sig (SIGIOT, "IOT", _("IOT trap"));
+#endif
+#if defined (SIGEMT)
+  init_sig (SIGEMT, "EMT", _("EMT trap"));
+#endif
+#if defined (SIGFPE)
+  init_sig (SIGFPE, "FPE", _("Floating point exception"));
+#endif
+#if defined (SIGKILL)
+  init_sig (SIGKILL, "KILL", _("Killed"));
+#endif
+#if defined (SIGBUS)
+  init_sig (SIGBUS, "BUS", _("Bus error"));
+#endif
+#if defined (SIGSEGV)
+  init_sig (SIGSEGV, "SEGV", _("Segmentation fault"));
+#endif
+#if defined (SIGSYS)
+  init_sig (SIGSYS, "SYS", _("Bad system call"));
+#endif
+#if defined (SIGPIPE)
+  init_sig (SIGPIPE, "PIPE", _("Broken pipe"));
+#endif
+#if defined (SIGALRM)
+  init_sig (SIGALRM, "ALRM", _("Alarm clock"));
+#endif
+#if defined (SIGTERM)
+  init_sig (SIGTERM, "TERM", _("Terminated"));
+#endif
+#if defined (SIGUSR1)
+  init_sig (SIGUSR1, "USR1", _("User defined signal 1"));
+#endif
+#if defined (SIGUSR2)
+  init_sig (SIGUSR2, "USR2", _("User defined signal 2"));
+#endif
+  /* If SIGCLD == SIGCHLD, we want to print it as SIGCHLD because that
+     is what is in POSIX.1.  */
+#if defined (SIGCHLD)
+  init_sig (SIGCHLD, "CHLD", _("Child exited"));
+#endif
+#if defined (SIGCLD)
+  init_sig (SIGCLD, "CLD", _("Child exited"));
+#endif
+#if defined (SIGPWR)
+  init_sig (SIGPWR, "PWR", _("Power failure"));
+#endif
+#if defined (SIGTSTP)
+  init_sig (SIGTSTP, "TSTP", _("Stopped"));
+#endif
+#if defined (SIGTTIN)
+  init_sig (SIGTTIN, "TTIN", _("Stopped (tty input)"));
+#endif
+#if defined (SIGTTOU)
+  init_sig (SIGTTOU, "TTOU", _("Stopped (tty output)"));
+#endif
+#if defined (SIGSTOP)
+  init_sig (SIGSTOP, "STOP", _("Stopped (signal)"));
+#endif
+#if defined (SIGXCPU)
+  init_sig (SIGXCPU, "XCPU", _("CPU time limit exceeded"));
+#endif
+#if defined (SIGXFSZ)
+  init_sig (SIGXFSZ, "XFSZ", _("File size limit exceeded"));
+#endif
+#if defined (SIGVTALRM)
+  init_sig (SIGVTALRM, "VTALRM", _("Virtual timer expired"));
+#endif
+#if defined (SIGPROF)
+  init_sig (SIGPROF, "PROF", _("Profiling timer expired"));
+#endif
+#if defined (SIGWINCH)
+  /* "Window size changed" might be more accurate, but even if that
+     is all that it means now, perhaps in the future it will be
+     extended to cover other kinds of window changes.  */
+  init_sig (SIGWINCH, "WINCH", _("Window changed"));
+#endif
+#if defined (SIGCONT)
+  init_sig (SIGCONT, "CONT", _("Continued"));
+#endif
+#if defined (SIGURG)
+  init_sig (SIGURG, "URG", _("Urgent I/O condition"));
+#endif
+#if defined (SIGIO)
+  /* "I/O pending" has also been suggested.  A disadvantage is
+     that signal only happens when the process has
+     asked for it, not everytime I/O is pending.  Another disadvantage
+     is the confusion from giving it a different name than under Unix.  */
+  init_sig (SIGIO, "IO", _("I/O possible"));
+#endif
+#if defined (SIGWIND)
+  init_sig (SIGWIND, "WIND", _("SIGWIND"));
+#endif
+#if defined (SIGPHONE)
+  init_sig (SIGPHONE, "PHONE", _("SIGPHONE"));
+#endif
+#if defined (SIGPOLL)
+  init_sig (SIGPOLL, "POLL", _("I/O possible"));
+#endif
+#if defined (SIGLOST)
+  init_sig (SIGLOST, "LOST", _("Resource lost"));
+#endif
+#if defined (SIGDANGER)
+  init_sig (SIGDANGER, "DANGER", _("Danger signal"));
+#endif
+#if defined (SIGINFO)
+  init_sig (SIGINFO, "INFO", _("Information request"));
+#endif
+#if defined (SIGNOFP)
+  init_sig (SIGNOFP, "NOFP", _("Floating point co-processor not available"));
+#endif
+
+  return 1;
+}
+
+#endif  /* SYS_SIGLIST_DECLARED */
+
+
+char *
+strsignal (signal)
+     int signal;
+{
+  static char buf[] = "Signal 12345678901234567890";
+
+#if !defined(SYS_SIGLIST_DECLARED)
+  static char sig_initted = 0;
+
+  if (!sig_initted)
+    sig_initted = signame_init ();
+#endif
+
+  if (signal > 0 || signal < NSIG)
+    return (char *) sys_siglist[signal];
+
+  sprintf (buf, "Signal %d", signal);
+  return buf;
+}
+
+#endif  /* HAVE_STRSIGNAL */
diff --git a/src/mkutil/make-3.80/subproc.bat b/src/mkutil/make-3.80/subproc.bat
new file mode 100644 (file)
index 0000000..d64eeec
--- /dev/null
@@ -0,0 +1,6 @@
+cd w32\subproc\r
+set MAKE=%2\r
+set MAKEFILE=%1\r
+if x%2 == x set MAKE=nmake\r
+%MAKE% /f %MAKEFILE%\r
+cd ..\..\r
diff --git a/src/mkutil/make-3.80/variable.c b/src/mkutil/make-3.80/variable.c
new file mode 100644 (file)
index 0000000..bb8d810
--- /dev/null
@@ -0,0 +1,1263 @@
+/* Internals of variables for GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997,
+2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "dep.h"
+#include "filedef.h"
+#include "job.h"
+#include "commands.h"
+#include "variable.h"
+#include "rule.h"
+#ifdef WINDOWS32
+#include "pathstuff.h"
+#endif
+#include "hash.h"
+
+/* Hash table of all global variable definitions.  */
+
+static unsigned long
+variable_hash_1 (keyv)
+    const void *keyv;
+{
+  struct variable const *key = (struct variable const *) keyv;
+  return_STRING_N_HASH_1 (key->name, key->length);
+}
+
+static unsigned long
+variable_hash_2 (keyv)
+    const void *keyv;
+{
+  struct variable const *key = (struct variable const *) keyv;
+  return_STRING_N_HASH_2 (key->name, key->length);
+}
+
+static int
+variable_hash_cmp (xv, yv)
+    const void *xv;
+    const void *yv;
+{
+  struct variable const *x = (struct variable const *) xv;
+  struct variable const *y = (struct variable const *) yv;
+  int result = x->length - y->length;
+  if (result)
+    return result;
+  return_STRING_N_COMPARE (x->name, y->name, x->length);
+}
+
+#ifndef        VARIABLE_BUCKETS
+#define VARIABLE_BUCKETS               523
+#endif
+#ifndef        PERFILE_VARIABLE_BUCKETS
+#define        PERFILE_VARIABLE_BUCKETS        23
+#endif
+#ifndef        SMALL_SCOPE_VARIABLE_BUCKETS
+#define        SMALL_SCOPE_VARIABLE_BUCKETS    13
+#endif
+
+static struct variable_set global_variable_set;
+static struct variable_set_list global_setlist
+  = { 0, &global_variable_set };
+struct variable_set_list *current_variable_set_list = &global_setlist;
+\f
+/* Implement variables.  */
+
+void
+init_hash_global_variable_set ()
+{
+  hash_init (&global_variable_set.table, VARIABLE_BUCKETS,
+            variable_hash_1, variable_hash_2, variable_hash_cmp);
+}
+
+/* Define variable named NAME with value VALUE in SET.  VALUE is copied.
+   LENGTH is the length of NAME, which does not need to be null-terminated.
+   ORIGIN specifies the origin of the variable (makefile, command line
+   or environment).
+   If RECURSIVE is nonzero a flag is set in the variable saying
+   that it should be recursively re-expanded.  */
+
+struct variable *
+define_variable_in_set (name, length, value, origin, recursive, set, flocp)
+     const char *name;
+     unsigned int length;
+     char *value;
+     enum variable_origin origin;
+     int recursive;
+     struct variable_set *set;
+     const struct floc *flocp;
+{
+  struct variable *v;
+  struct variable **var_slot;
+  struct variable var_key;
+
+  if (set == NULL)
+    set = &global_variable_set;
+
+  var_key.name = (char *) name;
+  var_key.length = length;
+  var_slot = (struct variable **) hash_find_slot (&set->table, &var_key);
+
+  if (env_overrides && origin == o_env)
+    origin = o_env_override;
+
+  v = *var_slot;
+  if (! HASH_VACANT (v))
+    {
+      if (env_overrides && v->origin == o_env)
+       /* V came from in the environment.  Since it was defined
+          before the switches were parsed, it wasn't affected by -e.  */
+       v->origin = o_env_override;
+
+      /* A variable of this name is already defined.
+        If the old definition is from a stronger source
+        than this one, don't redefine it.  */
+      if ((int) origin >= (int) v->origin)
+       {
+         if (v->value != 0)
+           free (v->value);
+         v->value = xstrdup (value);
+          if (flocp != 0)
+            v->fileinfo = *flocp;
+          else
+            v->fileinfo.filenm = 0;
+         v->origin = origin;
+         v->recursive = recursive;
+       }
+      return v;
+    }
+
+  /* Create a new variable definition and add it to the hash table.  */
+
+  v = (struct variable *) xmalloc (sizeof (struct variable));
+  v->name = savestring (name, length);
+  v->length = length;
+  hash_insert_at (&set->table, v, var_slot);
+  v->value = xstrdup (value);
+  if (flocp != 0)
+    v->fileinfo = *flocp;
+  else
+    v->fileinfo.filenm = 0;
+  v->origin = origin;
+  v->recursive = recursive;
+  v->expanding = 0;
+  v->exp_count = 0;
+  v->per_target = 0;
+  v->append = 0;
+  v->export = v_default;
+
+  v->exportable = 1;
+  if (*name != '_' && (*name < 'A' || *name > 'Z')
+      && (*name < 'a' || *name > 'z'))
+    v->exportable = 0;
+  else
+    {
+      for (++name; *name != '\0'; ++name)
+        if (*name != '_' && (*name < 'a' || *name > 'z')
+            && (*name < 'A' || *name > 'Z') && !ISDIGIT(*name))
+          break;
+
+      if (*name != '\0')
+        v->exportable = 0;
+    }
+
+  return v;
+}
+\f
+/* If the variable passed in is "special", handle its special nature.
+   Currently there are two such variables, both used for introspection:
+   .VARIABLES expands to a list of all the variables defined in this instance
+   of make.
+   .TARGETS expands to a list of all the targets defined in this
+   instance of make.
+   Returns the variable reference passed in.  */
+
+#define EXPANSION_INCREMENT(_l)  ((((_l) / 500) + 1) * 500)
+
+static struct variable *
+handle_special_var (var)
+     struct variable *var;
+{
+  static unsigned long last_var_count = 0;
+
+
+  /* This one actually turns out to be very hard, due to the way the parser
+     records targets.  The way it works is that target information is collected
+     internally until make knows the target is completely specified.  It unitl
+     it sees that some new construct (a new target or variable) is defined that
+     it knows the previous one is done.  In short, this means that if you do
+     this:
+
+       all:
+
+       TARGS := $(.TARGETS)
+
+     then $(TARGS) won't contain "all", because it's not until after the
+     variable is created that the previous target is completed.
+
+     Changing this would be a major pain.  I think a less complex way to do it
+     would be to pre-define the target files as soon as the first line is
+     parsed, then come back and do the rest of the definition as now.  That
+     would allow $(.TARGETS) to be correct without a major change to the way
+     the parser works.
+
+  if (streq (var->name, ".TARGETS"))
+    var->value = build_target_list (var->value);
+  else
+  */
+
+  if (streq (var->name, ".VARIABLES")
+      && global_variable_set.table.ht_fill != last_var_count)
+    {
+      unsigned long max = EXPANSION_INCREMENT (strlen (var->value));
+      unsigned long len;
+      char *p;
+      struct variable **vp = (struct variable **) global_variable_set.table.ht_vec;
+      struct variable **end = &vp[global_variable_set.table.ht_size];
+
+      /* Make sure we have at least MAX bytes in the allocated buffer.  */
+      var->value = xrealloc (var->value, max);
+
+      /* Walk through the hash of variables, constructing a list of names.  */
+      p = var->value;
+      len = 0;
+      for (; vp < end; ++vp)
+        if (!HASH_VACANT (*vp))
+          {
+            struct variable *v = *vp;
+            int l = v->length;
+
+            len += l + 1;
+            if (len > max)
+              {
+                unsigned long off = p - var->value;
+
+                max += EXPANSION_INCREMENT (l + 1);
+                var->value = xrealloc (var->value, max);
+                p = &var->value[off];
+              }
+
+            bcopy (v->name, p, l);
+            p += l;
+            *(p++) = ' ';
+          }
+      *(p-1) = '\0';
+
+      /* Remember how many variables are in our current count.  Since we never
+         remove variables from the list, this is a reliable way to know whether
+         the list is up to date or needs to be recomputed.  */
+
+      last_var_count = global_variable_set.table.ht_fill;
+    }
+
+  return var;
+}
+
+\f
+/* Lookup a variable whose name is a string starting at NAME
+   and with LENGTH chars.  NAME need not be null-terminated.
+   Returns address of the `struct variable' containing all info
+   on the variable, or nil if no such variable is defined.  */
+
+struct variable *
+lookup_variable (name, length)
+     const char *name;
+     unsigned int length;
+{
+  const struct variable_set_list *setlist;
+  struct variable var_key;
+
+  var_key.name = (char *) name;
+  var_key.length = length;
+
+  for (setlist = current_variable_set_list;
+       setlist != 0; setlist = setlist->next)
+    {
+      const struct variable_set *set = setlist->set;
+      struct variable *v;
+
+      v = (struct variable *) hash_find_item ((struct hash_table *) &set->table, &var_key);
+      if (v)
+       return v->special ? handle_special_var (v) : v;
+    }
+
+#ifdef VMS
+  /* since we don't read envp[] on startup, try to get the
+     variable via getenv() here.  */
+  {
+    char *vname = alloca (length + 1);
+    char *value;
+    strncpy (vname, name, length);
+    vname[length] = 0;
+    value = getenv (vname);
+    if (value != 0)
+      {
+        char *sptr;
+        int scnt;
+
+        sptr = value;
+        scnt = 0;
+
+        while ((sptr = strchr (sptr, '$')))
+          {
+            scnt++;
+            sptr++;
+          }
+
+        if (scnt > 0)
+          {
+            char *nvalue;
+            char *nptr;
+
+            nvalue = alloca (strlen (value) + scnt + 1);
+            sptr = value;
+            nptr = nvalue;
+
+            while (*sptr)
+              {
+                if (*sptr == '$')
+                  {
+                    *nptr++ = '$';
+                    *nptr++ = '$';
+                  }
+                else
+                  {
+                    *nptr++ = *sptr;
+                  }
+                sptr++;
+              }
+
+            *nptr = '\0';
+            return define_variable (vname, length, nvalue, o_env, 1);
+
+          }
+
+        return define_variable (vname, length, value, o_env, 1);
+      }
+  }
+#endif /* VMS */
+
+  return 0;
+}
+\f
+/* Lookup a variable whose name is a string starting at NAME
+   and with LENGTH chars in set SET.  NAME need not be null-terminated.
+   Returns address of the `struct variable' containing all info
+   on the variable, or nil if no such variable is defined.  */
+
+struct variable *
+lookup_variable_in_set (name, length, set)
+     const char *name;
+     unsigned int length;
+     const struct variable_set *set;
+{
+  struct variable var_key;
+
+  var_key.name = (char *) name;
+  var_key.length = length;
+
+  return (struct variable *) hash_find_item ((struct hash_table *) &set->table, &var_key);
+}
+\f
+/* Initialize FILE's variable set list.  If FILE already has a variable set
+   list, the topmost variable set is left intact, but the the rest of the
+   chain is replaced with FILE->parent's setlist.  If FILE is a double-colon
+   rule, then we will use the "root" double-colon target's variable set as the
+   parent of FILE's variable set.
+
+   If we're READing a makefile, don't do the pattern variable search now,
+   since the pattern variable might not have been defined yet.  */
+
+void
+initialize_file_variables (file, reading)
+     struct file *file;
+     int reading;
+{
+  register struct variable_set_list *l = file->variables;
+
+  if (l == 0)
+    {
+      l = (struct variable_set_list *)
+       xmalloc (sizeof (struct variable_set_list));
+      l->set = (struct variable_set *) xmalloc (sizeof (struct variable_set));
+      hash_init (&l->set->table, PERFILE_VARIABLE_BUCKETS,
+                 variable_hash_1, variable_hash_2, variable_hash_cmp);
+      file->variables = l;
+    }
+
+  /* If this is a double-colon, then our "parent" is the "root" target for
+     this double-colon rule.  Since that rule has the same name, parent,
+     etc. we can just use its variables as the "next" for ours.  */
+
+  if (file->double_colon && file->double_colon != file)
+    {
+      initialize_file_variables (file->double_colon, reading);
+      l->next = file->double_colon->variables;
+      return;
+    }
+
+  if (file->parent == 0)
+    l->next = &global_setlist;
+  else
+    {
+      initialize_file_variables (file->parent, reading);
+      l->next = file->parent->variables;
+    }
+
+  /* If we're not reading makefiles and we haven't looked yet, see if
+     we can find a pattern variable.  */
+
+  if (!reading && !file->pat_searched)
+    {
+      struct pattern_var *p = lookup_pattern_var (file->name);
+
+      file->pat_searched = 1;
+      if (p != 0)
+        {
+          /* If we found one, insert it between the current target's
+             variables and the next set, whatever it is.  */
+          file->pat_variables = (struct variable_set_list *)
+            xmalloc (sizeof (struct variable_set_list));
+          file->pat_variables->set = p->vars->set;
+        }
+    }
+
+  /* If we have a pattern variable match, set it up.  */
+
+  if (file->pat_variables != 0)
+    {
+      file->pat_variables->next = l->next;
+      l->next = file->pat_variables;
+    }
+}
+\f
+/* Pop the top set off the current variable set list,
+   and free all its storage.  */
+
+static void
+free_variable_name_and_value (item)
+     void *item;
+{
+  struct variable *v = (struct variable *) item;
+  free (v->name);
+  free (v->value);
+}
+
+void
+pop_variable_scope ()
+{
+  struct variable_set_list *setlist = current_variable_set_list;
+  struct variable_set *set = setlist->set;
+
+  current_variable_set_list = setlist->next;
+  free ((char *) setlist);
+
+  hash_map (&set->table, free_variable_name_and_value);
+  hash_free (&set->table, 1);
+
+  free ((char *) set);
+}
+
+struct variable_set_list *
+create_new_variable_set ()
+{
+  register struct variable_set_list *setlist;
+  register struct variable_set *set;
+
+  set = (struct variable_set *) xmalloc (sizeof (struct variable_set));
+  hash_init (&set->table, SMALL_SCOPE_VARIABLE_BUCKETS,
+            variable_hash_1, variable_hash_2, variable_hash_cmp);
+
+  setlist = (struct variable_set_list *)
+    xmalloc (sizeof (struct variable_set_list));
+  setlist->set = set;
+  setlist->next = current_variable_set_list;
+
+  return setlist;
+}
+
+/* Create a new variable set and push it on the current setlist.  */
+
+struct variable_set_list *
+push_new_variable_scope ()
+{
+  return (current_variable_set_list = create_new_variable_set());
+}
+\f
+/* Merge SET1 into SET0, freeing unused storage in SET1.  */
+
+static void
+merge_variable_sets (to_set, from_set)
+     struct variable_set *to_set, *from_set;
+{
+  struct variable **from_var_slot = (struct variable **) from_set->table.ht_vec;
+  struct variable **from_var_end = from_var_slot + from_set->table.ht_size;
+
+  for ( ; from_var_slot < from_var_end; from_var_slot++)
+    if (! HASH_VACANT (*from_var_slot))
+      {
+       struct variable *from_var = *from_var_slot;
+       struct variable **to_var_slot
+         = (struct variable **) hash_find_slot (&to_set->table, *from_var_slot);
+       if (HASH_VACANT (*to_var_slot))
+         hash_insert_at (&to_set->table, from_var, to_var_slot);
+       else
+         {
+           /* GKM FIXME: delete in from_set->table */
+           free (from_var->value);
+           free (from_var);
+         }
+      }
+}
+
+/* Merge SETLIST1 into SETLIST0, freeing unused storage in SETLIST1.  */
+
+void
+merge_variable_set_lists (setlist0, setlist1)
+     struct variable_set_list **setlist0, *setlist1;
+{
+  register struct variable_set_list *list0 = *setlist0;
+  struct variable_set_list *last0 = 0;
+
+  while (setlist1 != 0 && list0 != 0)
+    {
+      struct variable_set_list *next = setlist1;
+      setlist1 = setlist1->next;
+
+      merge_variable_sets (list0->set, next->set);
+
+      last0 = list0;
+      list0 = list0->next;
+    }
+
+  if (setlist1 != 0)
+    {
+      if (last0 == 0)
+       *setlist0 = setlist1;
+      else
+       last0->next = setlist1;
+    }
+}
+\f
+/* Define the automatic variables, and record the addresses
+   of their structures so we can change their values quickly.  */
+
+void
+define_automatic_variables ()
+{
+#ifdef WINDOWS32
+  extern char* default_shell;
+#else
+  extern char default_shell[];
+#endif
+  register struct variable *v;
+  char buf[200];
+
+  sprintf (buf, "%u", makelevel);
+  (void) define_variable (MAKELEVEL_NAME, MAKELEVEL_LENGTH, buf, o_env, 0);
+
+  sprintf (buf, "%s%s%s",
+          version_string,
+          (remote_description == 0 || remote_description[0] == '\0')
+          ? "" : "-",
+          (remote_description == 0 || remote_description[0] == '\0')
+          ? "" : remote_description);
+  (void) define_variable ("MAKE_VERSION", 12, buf, o_default, 0);
+
+#ifdef  __MSDOS__
+  /* Allow to specify a special shell just for Make,
+     and use $COMSPEC as the default $SHELL when appropriate.  */
+  {
+    static char shell_str[] = "SHELL";
+    const int shlen = sizeof (shell_str) - 1;
+    struct variable *mshp = lookup_variable ("MAKESHELL", 9);
+    struct variable *comp = lookup_variable ("COMSPEC", 7);
+
+    /* Make $MAKESHELL override $SHELL even if -e is in effect.  */
+    if (mshp)
+      (void) define_variable (shell_str, shlen,
+                             mshp->value, o_env_override, 0);
+    else if (comp)
+      {
+       /* $COMSPEC shouldn't override $SHELL.  */
+       struct variable *shp = lookup_variable (shell_str, shlen);
+
+       if (!shp)
+         (void) define_variable (shell_str, shlen, comp->value, o_env, 0);
+      }
+  }
+#endif
+
+  /* This won't override any definition, but it
+     will provide one if there isn't one there.  */
+  v = define_variable ("SHELL", 5, default_shell, o_default, 0);
+  v->export = v_export;                /* Always export SHELL.  */
+
+  /* On MSDOS we do use SHELL from environment, since
+     it isn't a standard environment variable on MSDOS,
+     so whoever sets it, does that on purpose.  */
+#ifndef __MSDOS__
+  /* Don't let SHELL come from the environment.  */
+  if (*v->value == '\0' || v->origin == o_env || v->origin == o_env_override)
+    {
+      free (v->value);
+      v->origin = o_file;
+      v->value = xstrdup (default_shell);
+    }
+#endif
+
+  /* Make sure MAKEFILES gets exported if it is set.  */
+  v = define_variable ("MAKEFILES", 9, "", o_default, 0);
+  v->export = v_ifset;
+
+  /* Define the magic D and F variables in terms of
+     the automatic variables they are variations of.  */
+
+#ifdef VMS
+  define_variable ("@D", 2, "$(dir $@)", o_automatic, 1);
+  define_variable ("%D", 2, "$(dir $%)", o_automatic, 1);
+  define_variable ("*D", 2, "$(dir $*)", o_automatic, 1);
+  define_variable ("<D", 2, "$(dir $<)", o_automatic, 1);
+  define_variable ("?D", 2, "$(dir $?)", o_automatic, 1);
+  define_variable ("^D", 2, "$(dir $^)", o_automatic, 1);
+  define_variable ("+D", 2, "$(dir $+)", o_automatic, 1);
+#else
+  define_variable ("@D", 2, "$(patsubst %/,%,$(dir $@))", o_automatic, 1);
+  define_variable ("%D", 2, "$(patsubst %/,%,$(dir $%))", o_automatic, 1);
+  define_variable ("*D", 2, "$(patsubst %/,%,$(dir $*))", o_automatic, 1);
+  define_variable ("<D", 2, "$(patsubst %/,%,$(dir $<))", o_automatic, 1);
+  define_variable ("?D", 2, "$(patsubst %/,%,$(dir $?))", o_automatic, 1);
+  define_variable ("^D", 2, "$(patsubst %/,%,$(dir $^))", o_automatic, 1);
+  define_variable ("+D", 2, "$(patsubst %/,%,$(dir $+))", o_automatic, 1);
+#endif
+  define_variable ("@F", 2, "$(notdir $@)", o_automatic, 1);
+  define_variable ("%F", 2, "$(notdir $%)", o_automatic, 1);
+  define_variable ("*F", 2, "$(notdir $*)", o_automatic, 1);
+  define_variable ("<F", 2, "$(notdir $<)", o_automatic, 1);
+  define_variable ("?F", 2, "$(notdir $?)", o_automatic, 1);
+  define_variable ("^F", 2, "$(notdir $^)", o_automatic, 1);
+  define_variable ("+F", 2, "$(notdir $+)", o_automatic, 1);
+}
+\f
+int export_all_variables;
+
+/* Create a new environment for FILE's commands.
+   If FILE is nil, this is for the `shell' function.
+   The child's MAKELEVEL variable is incremented.  */
+
+char **
+target_environment (file)
+     struct file *file;
+{
+  struct variable_set_list *set_list;
+  register struct variable_set_list *s;
+  struct hash_table table;
+  struct variable **v_slot;
+  struct variable **v_end;
+  struct variable makelevel_key;
+  char **result_0;
+  char **result;
+
+  if (file == 0)
+    set_list = current_variable_set_list;
+  else
+    set_list = file->variables;
+
+  hash_init (&table, VARIABLE_BUCKETS,
+            variable_hash_1, variable_hash_2, variable_hash_cmp);
+
+  /* Run through all the variable sets in the list,
+     accumulating variables in TABLE.  */
+  for (s = set_list; s != 0; s = s->next)
+    {
+      struct variable_set *set = s->set;
+      v_slot = (struct variable **) set->table.ht_vec;
+      v_end = v_slot + set->table.ht_size;
+      for ( ; v_slot < v_end; v_slot++)
+       if (! HASH_VACANT (*v_slot))
+         {
+           struct variable **new_slot;
+           struct variable *v = *v_slot;
+
+           /* If this is a per-target variable and it hasn't been touched
+              already then look up the global version and take its export
+              value.  */
+           if (v->per_target && v->export == v_default)
+             {
+               struct variable *gv;
+
+               gv = lookup_variable_in_set (v->name, strlen(v->name),
+                                             &global_variable_set);
+               if (gv)
+                 v->export = gv->export;
+             }
+
+           switch (v->export)
+             {
+             case v_default:
+               if (v->origin == o_default || v->origin == o_automatic)
+                 /* Only export default variables by explicit request.  */
+                 continue;
+
+                /* The variable doesn't have a name that can be exported.  */
+                if (! v->exportable)
+                  continue;
+
+               if (! export_all_variables
+                   && v->origin != o_command
+                   && v->origin != o_env && v->origin != o_env_override)
+                 continue;
+               break;
+
+             case v_export:
+               break;
+
+             case v_noexport:
+               continue;
+
+             case v_ifset:
+               if (v->origin == o_default)
+                 continue;
+               break;
+             }
+
+           new_slot = (struct variable **) hash_find_slot (&table, v);
+           if (HASH_VACANT (*new_slot))
+             hash_insert_at (&table, v, new_slot);
+         }
+    }
+
+  makelevel_key.name = MAKELEVEL_NAME;
+  makelevel_key.length = MAKELEVEL_LENGTH;
+  hash_delete (&table, &makelevel_key);
+
+  result = result_0 = (char **) xmalloc ((table.ht_fill + 2) * sizeof (char *));
+
+  v_slot = (struct variable **) table.ht_vec;
+  v_end = v_slot + table.ht_size;
+  for ( ; v_slot < v_end; v_slot++)
+    if (! HASH_VACANT (*v_slot))
+      {
+       struct variable *v = *v_slot;
+
+       /* If V is recursively expanded and didn't come from the environment,
+          expand its value.  If it came from the environment, it should
+          go back into the environment unchanged.  */
+       if (v->recursive
+           && v->origin != o_env && v->origin != o_env_override)
+         {
+           char *value = recursively_expand_for_file (v, file);
+#ifdef WINDOWS32
+           if (strcmp(v->name, "Path") == 0 ||
+               strcmp(v->name, "PATH") == 0)
+             convert_Path_to_windows32(value, ';');
+#endif
+           *result++ = concat (v->name, "=", value);
+           free (value);
+         }
+       else
+         {
+#ifdef WINDOWS32
+            if (strcmp(v->name, "Path") == 0 ||
+                strcmp(v->name, "PATH") == 0)
+              convert_Path_to_windows32(v->value, ';');
+#endif
+           *result++ = concat (v->name, "=", v->value);
+         }
+      }
+
+  *result = (char *) xmalloc (100);
+  (void) sprintf (*result, "%s=%u", MAKELEVEL_NAME, makelevel + 1);
+  *++result = 0;
+
+  hash_free (&table, 0);
+
+  return result_0;
+}
+\f
+/* Given a variable, a value, and a flavor, define the variable.
+   See the try_variable_definition() function for details on the parameters. */
+
+struct variable *
+do_variable_definition (flocp, varname, value, origin, flavor, target_var)
+     const struct floc *flocp;
+     const char *varname;
+     char *value;
+     enum variable_origin origin;
+     enum variable_flavor flavor;
+     int target_var;
+{
+  char *p, *alloc_value = NULL;
+  struct variable *v;
+  int append = 0;
+
+  /* Calculate the variable's new value in VALUE.  */
+
+  switch (flavor)
+    {
+    default:
+    case f_bogus:
+      /* Should not be possible.  */
+      abort ();
+    case f_simple:
+      /* A simple variable definition "var := value".  Expand the value.
+         We have to allocate memory since otherwise it'll clobber the
+        variable buffer, and we may still need that if we're looking at a
+         target-specific variable.  */
+      p = alloc_value = allocated_variable_expand (value);
+      break;
+    case f_conditional:
+      /* A conditional variable definition "var ?= value".
+         The value is set IFF the variable is not defined yet. */
+      v = lookup_variable (varname, strlen (varname));
+      if (v)
+        return v;
+
+      flavor = f_recursive;
+      /* FALLTHROUGH */
+    case f_recursive:
+      /* A recursive variable definition "var = value".
+        The value is used verbatim.  */
+      p = value;
+      break;
+    case f_append:
+      {
+        /* If we have += but we're in a target variable context, we want to
+           append only with other variables in the context of this target.  */
+        if (target_var)
+          {
+            append = 1;
+            v = lookup_variable_in_set (varname, strlen (varname),
+                                        current_variable_set_list->set);
+          }
+        else
+          v = lookup_variable (varname, strlen (varname));
+
+        if (v == 0)
+          {
+            /* There was no old value.
+               This becomes a normal recursive definition.  */
+            p = value;
+            flavor = f_recursive;
+          }
+        else
+          {
+            /* Paste the old and new values together in VALUE.  */
+
+            unsigned int oldlen, vallen;
+            char *val;
+
+            val = value;
+            if (v->recursive)
+              /* The previous definition of the variable was recursive.
+                 The new value is the unexpanded old and new values. */
+              flavor = f_recursive;
+            else
+              /* The previous definition of the variable was simple.
+                 The new value comes from the old value, which was expanded
+                 when it was set; and from the expanded new value.  Allocate
+                 memory for the expansion as we may still need the rest of the
+                 buffer if we're looking at a target-specific variable.  */
+              val = alloc_value = allocated_variable_expand (val);
+
+            oldlen = strlen (v->value);
+            vallen = strlen (val);
+            p = (char *) alloca (oldlen + 1 + vallen + 1);
+            bcopy (v->value, p, oldlen);
+            p[oldlen] = ' ';
+            bcopy (val, &p[oldlen + 1], vallen + 1);
+          }
+      }
+    }
+
+#ifdef __MSDOS__
+  /* Many Unix Makefiles include a line saying "SHELL=/bin/sh", but
+     non-Unix systems don't conform to this default configuration (in
+     fact, most of them don't even have `/bin').  On the other hand,
+     $SHELL in the environment, if set, points to the real pathname of
+     the shell.
+     Therefore, we generally won't let lines like "SHELL=/bin/sh" from
+     the Makefile override $SHELL from the environment.  But first, we
+     look for the basename of the shell in the directory where SHELL=
+     points, and along the $PATH; if it is found in any of these places,
+     we define $SHELL to be the actual pathname of the shell.  Thus, if
+     you have bash.exe installed as d:/unix/bash.exe, and d:/unix is on
+     your $PATH, then SHELL=/usr/local/bin/bash will have the effect of
+     defining SHELL to be "d:/unix/bash.exe".  */
+  if ((origin == o_file || origin == o_override)
+      && strcmp (varname, "SHELL") == 0)
+    {
+      char shellpath[PATH_MAX];
+      extern char * __dosexec_find_on_path (const char *, char *[], char *);
+
+      /* See if we can find "/bin/sh.exe", "/bin/sh.com", etc.  */
+      if (__dosexec_find_on_path (p, (char **)0, shellpath))
+       {
+         char *p;
+
+         for (p = shellpath; *p; p++)
+           {
+             if (*p == '\\')
+               *p = '/';
+           }
+         v = define_variable_loc (varname, strlen (varname),
+                                   shellpath, origin, flavor == f_recursive,
+                                   flocp);
+       }
+      else
+       {
+         char *shellbase, *bslash;
+         struct variable *pathv = lookup_variable ("PATH", 4);
+         char *path_string;
+         char *fake_env[2];
+         size_t pathlen = 0;
+
+         shellbase = strrchr (p, '/');
+         bslash = strrchr (p, '\\');
+         if (!shellbase || bslash > shellbase)
+           shellbase = bslash;
+         if (!shellbase && p[1] == ':')
+           shellbase = p + 1;
+         if (shellbase)
+           shellbase++;
+         else
+           shellbase = p;
+
+         /* Search for the basename of the shell (with standard
+            executable extensions) along the $PATH.  */
+         if (pathv)
+           pathlen = strlen (pathv->value);
+         path_string = (char *)xmalloc (5 + pathlen + 2 + 1);
+         /* On MSDOS, current directory is considered as part of $PATH.  */
+         sprintf (path_string, "PATH=.;%s", pathv ? pathv->value : "");
+         fake_env[0] = path_string;
+         fake_env[1] = (char *)0;
+         if (__dosexec_find_on_path (shellbase, fake_env, shellpath))
+           {
+             char *p;
+
+             for (p = shellpath; *p; p++)
+               {
+                 if (*p == '\\')
+                   *p = '/';
+               }
+             v = define_variable_loc (varname, strlen (varname),
+                                       shellpath, origin,
+                                       flavor == f_recursive, flocp);
+           }
+         else
+           v = lookup_variable (varname, strlen (varname));
+
+         free (path_string);
+       }
+    }
+  else
+#endif /* __MSDOS__ */
+#ifdef WINDOWS32
+  if ((origin == o_file || origin == o_override) && streq (varname, "SHELL"))
+    {
+      extern char *default_shell;
+
+      /* Call shell locator function. If it returns TRUE, then
+        set no_default_sh_exe to indicate sh was found and
+         set new value for SHELL variable.  */
+
+      if (find_and_set_default_shell (p))
+        {
+          v = define_variable_in_set (varname, strlen (varname), default_shell,
+                                      origin, flavor == f_recursive,
+                                      (target_var
+                                       ? current_variable_set_list->set
+                                       : NULL),
+                                      flocp);
+          no_default_sh_exe = 0;
+        }
+      else
+        v = lookup_variable (varname, strlen (varname));
+    }
+  else
+#endif
+
+  /* If we are defining variables inside an $(eval ...), we might have a
+     different variable context pushed, not the global context (maybe we're
+     inside a $(call ...) or something.  Since this function is only ever
+     invoked in places where we want to define globally visible variables,
+     make sure we define this variable in the global set.  */
+
+  v = define_variable_in_set (varname, strlen (varname), p,
+                              origin, flavor == f_recursive,
+                              (target_var
+                               ? current_variable_set_list->set : NULL),
+                              flocp);
+  v->append = append;
+
+  if (alloc_value)
+    free (alloc_value);
+
+  return v;
+}
+\f
+/* Try to interpret LINE (a null-terminated string) as a variable definition.
+
+   ORIGIN may be o_file, o_override, o_env, o_env_override,
+   or o_command specifying that the variable definition comes
+   from a makefile, an override directive, the environment with
+   or without the -e switch, or the command line.
+
+   See the comments for parse_variable_definition().
+
+   If LINE was recognized as a variable definition, a pointer to its `struct
+   variable' is returned.  If LINE is not a variable definition, NULL is
+   returned.  */
+
+struct variable *
+try_variable_definition (flocp, line, origin, target_var)
+     const struct floc *flocp;
+     char *line;
+     enum variable_origin origin;
+     int target_var;
+{
+  register int c;
+  register char *p = line;
+  register char *beg;
+  register char *end;
+  enum variable_flavor flavor = f_bogus;
+  char *name, *expanded_name;
+  struct variable *v;
+
+  while (1)
+    {
+      c = *p++;
+      if (c == '\0' || c == '#')
+       return 0;
+      if (c == '=')
+       {
+         end = p - 1;
+         flavor = f_recursive;
+         break;
+       }
+      else if (c == ':')
+       if (*p == '=')
+         {
+           end = p++ - 1;
+           flavor = f_simple;
+           break;
+         }
+       else
+         /* A colon other than := is a rule line, not a variable defn.  */
+         return 0;
+      else if (c == '+' && *p == '=')
+       {
+         end = p++ - 1;
+         flavor = f_append;
+         break;
+       }
+      else if (c == '?' && *p == '=')
+        {
+          end = p++ - 1;
+          flavor = f_conditional;
+          break;
+        }
+      else if (c == '$')
+       {
+         /* This might begin a variable expansion reference.  Make sure we
+            don't misrecognize chars inside the reference as =, := or +=.  */
+         char closeparen;
+         int count;
+         c = *p++;
+         if (c == '(')
+           closeparen = ')';
+         else if (c == '{')
+           closeparen = '}';
+         else
+           continue;           /* Nope.  */
+
+         /* P now points past the opening paren or brace.
+            Count parens or braces until it is matched.  */
+         count = 0;
+         for (; *p != '\0'; ++p)
+           {
+             if (*p == c)
+               ++count;
+             else if (*p == closeparen && --count < 0)
+               {
+                 ++p;
+                 break;
+               }
+           }
+       }
+    }
+
+  beg = next_token (line);
+  while (end > beg && isblank ((unsigned char)end[-1]))
+    --end;
+  p = next_token (p);
+
+  /* Expand the name, so "$(foo)bar = baz" works.  */
+  name = (char *) alloca (end - beg + 1);
+  bcopy (beg, name, end - beg);
+  name[end - beg] = '\0';
+  expanded_name = allocated_variable_expand (name);
+
+  if (expanded_name[0] == '\0')
+    fatal (flocp, _("empty variable name"));
+
+  v = do_variable_definition (flocp, expanded_name, p,
+                              origin, flavor, target_var);
+
+  free (expanded_name);
+
+  return v;
+}
+\f
+/* Print information for variable V, prefixing it with PREFIX.  */
+
+static void
+print_variable (v, prefix)
+     register struct variable *v;
+     char *prefix;
+{
+  const char *origin;
+
+  switch (v->origin)
+    {
+    case o_default:
+      origin = _("default");
+      break;
+    case o_env:
+      origin = _("environment");
+      break;
+    case o_file:
+      origin = _("makefile");
+      break;
+    case o_env_override:
+      origin = _("environment under -e");
+      break;
+    case o_command:
+      origin = _("command line");
+      break;
+    case o_override:
+      origin = _("`override' directive");
+      break;
+    case o_automatic:
+      origin = _("automatic");
+      break;
+    case o_invalid:
+    default:
+      abort ();
+    }
+  fputs ("# ", stdout);
+  fputs (origin, stdout);
+  if (v->fileinfo.filenm)
+    printf (_(" (from `%s', line %lu)"),
+            v->fileinfo.filenm, v->fileinfo.lineno);
+  putchar ('\n');
+  fputs (prefix, stdout);
+
+  /* Is this a `define'?  */
+  if (v->recursive && strchr (v->value, '\n') != 0)
+    printf ("define %s\n%s\nendef\n", v->name, v->value);
+  else
+    {
+      register char *p;
+
+      printf ("%s %s= ", v->name, v->recursive ? v->append ? "+" : "" : ":");
+
+      /* Check if the value is just whitespace.  */
+      p = next_token (v->value);
+      if (p != v->value && *p == '\0')
+       /* All whitespace.  */
+       printf ("$(subst ,,%s)", v->value);
+      else if (v->recursive)
+       fputs (v->value, stdout);
+      else
+       /* Double up dollar signs.  */
+       for (p = v->value; *p != '\0'; ++p)
+         {
+           if (*p == '$')
+             putchar ('$');
+           putchar (*p);
+         }
+      putchar ('\n');
+    }
+}
+
+
+/* Print all the variables in SET.  PREFIX is printed before
+   the actual variable definitions (everything else is comments).  */
+
+void
+print_variable_set (set, prefix)
+     register struct variable_set *set;
+     char *prefix;
+{
+  hash_map_arg (&set->table, print_variable, prefix);
+
+  fputs (_("# variable set hash-table stats:\n"), stdout);
+  fputs ("# ", stdout);
+  hash_print_stats (&set->table, stdout);
+  putc ('\n', stdout);
+}
+
+/* Print the data base of variables.  */
+
+void
+print_variable_data_base ()
+{
+  puts (_("\n# Variables\n"));
+
+  print_variable_set (&global_variable_set, "");
+}
+
+
+/* Print all the local variables of FILE.  */
+
+void
+print_file_variables (file)
+     struct file *file;
+{
+  if (file->variables != 0)
+    print_variable_set (file->variables->set, "# ");
+}
+
+#ifdef WINDOWS32
+void
+sync_Path_environment(void)
+{
+    char* path = allocated_variable_expand("$(Path)");
+    static char* environ_path = NULL;
+
+    if (!path)
+        return;
+
+    /*
+     * If done this before, don't leak memory unnecessarily.
+     * Free the previous entry before allocating new one.
+     */
+    if (environ_path)
+        free(environ_path);
+
+    /*
+     * Create something WINDOWS32 world can grok
+     */
+    convert_Path_to_windows32(path, ';');
+    environ_path = concat("Path", "=", path);
+    putenv(environ_path);
+    free(path);
+}
+#endif
diff --git a/src/mkutil/make-3.80/variable.h b/src/mkutil/make-3.80/variable.h
new file mode 100644 (file)
index 0000000..d9cd7f7
--- /dev/null
@@ -0,0 +1,183 @@
+/* Definitions for using variables in GNU Make.
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "hash.h"
+
+/* Codes in a variable definition saying where the definition came from.
+   Increasing numeric values signify less-overridable definitions.  */
+enum variable_origin
+  {
+    o_default,         /* Variable from the default set.  */
+    o_env,             /* Variable from environment.  */
+    o_file,            /* Variable given in a makefile.  */
+    o_env_override,    /* Variable from environment, if -e.  */
+    o_command,         /* Variable given by user.  */
+    o_override,        /* Variable from an `override' directive.  */
+    o_automatic,       /* Automatic variable -- cannot be set.  */
+    o_invalid          /* Core dump time.  */
+  };
+
+enum variable_flavor
+  {
+    f_bogus,            /* Bogus (error) */
+    f_simple,           /* Simple definition (:=) */
+    f_recursive,        /* Recursive definition (=) */
+    f_append,           /* Appending definition (+=) */
+    f_conditional       /* Conditional definition (?=) */
+  };
+
+/* Structure that represents one variable definition.
+   Each bucket of the hash table is a chain of these,
+   chained through `next'.  */
+
+#define EXP_COUNT_BITS  15      /* This gets all the bitfields into 32 bits */
+
+#define EXP_COUNT_MAX   ((1<<EXP_COUNT_BITS)-1)
+
+struct variable
+  {
+    char *name;                        /* Variable name.  */
+    int length;                        /* strlen (name) */
+    char *value;               /* Variable value.  */
+    struct floc fileinfo;       /* Where the variable was defined.  */
+    unsigned int recursive:1;  /* Gets recursively re-evaluated.  */
+    unsigned int per_target:1; /* Nonzero if a target-specific variable.  */
+    unsigned int append:1;     /* Nonzero if an appending target-specific
+                                   variable.  */
+    unsigned int special:1;     /* Nonzero if this is a special variable. */
+    unsigned int expanding:1;  /* Nonzero if currently being expanded.  */
+    unsigned int exp_count:EXP_COUNT_BITS;
+                                /* If >1, allow this many self-referential
+                                   expansions.  */
+
+    enum variable_origin
+      origin ENUM_BITFIELD (3);        /* Variable origin.  */
+
+    unsigned int exportable:1;  /* Nonzero if the variable _could_ be
+                                   exported.  */
+    enum variable_export
+      {
+       v_export,               /* Export this variable.  */
+       v_noexport,             /* Don't export this variable.  */
+       v_ifset,                /* Export it if it has a non-default value.  */
+       v_default               /* Decide in target_environment.  */
+      } export ENUM_BITFIELD (2);
+  };
+
+/* Structure that represents a variable set.  */
+
+struct variable_set
+  {
+    struct hash_table table;   /* Hash table of variables.  */
+  };
+
+/* Structure that represents a list of variable sets.  */
+
+struct variable_set_list
+  {
+    struct variable_set_list *next;    /* Link in the chain.  */
+    struct variable_set *set;          /* Variable set.  */
+  };
+
+extern char *variable_buffer;
+extern struct variable_set_list *current_variable_set_list;
+
+/* expand.c */
+extern char *variable_buffer_output PARAMS ((char *ptr, char *string, unsigned int length));
+extern char *variable_expand PARAMS ((char *line));
+extern char *allocated_variable_expand_for_file PARAMS ((char *line, struct file *file));
+#define        allocated_variable_expand(line) \
+  allocated_variable_expand_for_file (line, (struct file *) 0)
+extern char *expand_argument PARAMS ((char *str, char *end));
+extern char *variable_expand_string PARAMS ((char *line, char *string,
+                                             long length));
+
+/* function.c */
+extern int handle_function PARAMS ((char **op, char **stringp));
+extern int pattern_matches PARAMS ((char *pattern, char *percent, char *str));
+extern char *subst_expand PARAMS ((char *o, char *text, char *subst, char *replace,
+               unsigned int slen, unsigned int rlen, int by_word, int suffix_only));
+extern char *patsubst_expand PARAMS ((char *o, char *text, char *pattern, char *replace,
+               char *pattern_percent, char *replace_percent));
+
+/* expand.c */
+extern char *recursively_expand_for_file PARAMS ((struct variable *v,
+                                                  struct file *file));
+#define recursively_expand(v)   recursively_expand_for_file (v, NULL)
+
+/* variable.c */
+extern struct variable_set_list *create_new_variable_set PARAMS ((void));
+extern struct variable_set_list *push_new_variable_scope PARAMS ((void));
+extern void pop_variable_scope PARAMS ((void));
+extern void define_automatic_variables PARAMS ((void));
+extern void initialize_file_variables PARAMS ((struct file *file, int read));
+extern void print_file_variables PARAMS ((struct file *file));
+extern void print_variable_set PARAMS ((struct variable_set *set, char *prefix));
+extern void merge_variable_set_lists PARAMS ((struct variable_set_list **setlist0, struct variable_set_list *setlist1));
+extern struct variable *do_variable_definition PARAMS ((const struct floc *flocp, const char *name, char *value, enum variable_origin origin, enum variable_flavor flavor, int target_var));
+extern struct variable *try_variable_definition PARAMS ((const struct floc *flocp, char *line, enum variable_origin origin, int target_var));
+extern void init_hash_global_variable_set PARAMS ((void));
+extern void hash_init_function_table PARAMS ((void));
+extern struct variable *lookup_variable PARAMS ((const char *name, unsigned int length));
+extern struct variable *lookup_variable_in_set PARAMS ((const char *name,
+                                                        unsigned int length,
+                                                        const struct variable_set *set));
+
+extern struct variable *define_variable_in_set
+    PARAMS ((const char *name, unsigned int length, char *value,
+             enum variable_origin origin, int recursive,
+             struct variable_set *set, const struct floc *flocp));
+
+/* Define a variable in the current variable set.  */
+
+#define define_variable(n,l,v,o,r) \
+          define_variable_in_set((n),(l),(v),(o),(r),\
+                                 current_variable_set_list->set,NILF)
+
+/* Define a variable with a location in the current variable set.  */
+
+#define define_variable_loc(n,l,v,o,r,f) \
+          define_variable_in_set((n),(l),(v),(o),(r),\
+                                 current_variable_set_list->set,(f))
+
+/* Define a variable with a location in the global variable set.  */
+
+#define define_variable_global(n,l,v,o,r,f) \
+          define_variable_in_set((n),(l),(v),(o),(r),NULL,(f))
+
+/* Define a variable in FILE's variable set.  */
+
+#define define_variable_for_file(n,l,v,o,r,f) \
+          define_variable_in_set((n),(l),(v),(o),(r),(f)->variables->set,NILF)
+
+/* Warn that NAME is an undefined variable.  */
+
+#define warn_undefined(n,l) do{\
+                              if (warn_undefined_variables_flag) \
+                                error (reading_file, \
+                                       _("warning: undefined variable `%.*s'"), \
+                                (int)(l), (n)); \
+                              }while(0)
+
+extern char **target_environment PARAMS ((struct file *file));
+
+extern int export_all_variables;
+
+#define MAKELEVEL_NAME "MAKELEVEL"
+#define MAKELEVEL_LENGTH (sizeof (MAKELEVEL_NAME) - 1)
diff --git a/src/mkutil/make-3.80/version.c b/src/mkutil/make-3.80/version.c
new file mode 100644 (file)
index 0000000..1918b6f
--- /dev/null
@@ -0,0 +1,17 @@
+/* We use <config.h> instead of "config.h" so that a compilation
+   using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
+   (which it would do because make.h was found in $srcdir).  */
+#include <config.h>
+
+#ifndef MAKE_HOST
+# define MAKE_HOST "unknown"
+#endif
+
+char *version_string = VERSION;
+char *make_host = MAKE_HOST;
+\f
+/*
+  Local variables:
+  version-control: never
+  End:
+ */
diff --git a/src/mkutil/make-3.80/vmsdir.h b/src/mkutil/make-3.80/vmsdir.h
new file mode 100644 (file)
index 0000000..5903475
--- /dev/null
@@ -0,0 +1,61 @@
+/* dirent.h for vms */
+
+#ifndef VMSDIR_H
+#define VMSDIR_H
+
+#include <rms.h>
+
+#define        MAXNAMLEN       255
+
+#ifndef __DECC
+#if !defined (__GNUC__) && !defined (__ALPHA)
+typedef unsigned long u_long;
+typedef unsigned short u_short;
+#endif
+#endif
+
+struct direct
+{
+  off_t d_off;
+  u_long d_fileno;
+  u_short d_reclen;
+  u_short d_namlen;
+  char d_name[MAXNAMLEN + 1];
+};
+
+#undef DIRSIZ
+#define DIRSIZ(dp)             \
+  (((sizeof (struct direct)    \
+     - (MAXNAMLEN+1)           \
+     + ((dp)->d_namlen+1))     \
+    + 3) & ~3)
+
+#define d_ino  d_fileno                /* compatability */
+
+
+/*
+ * Definitions for library routines operating on directories.
+ */
+
+typedef struct DIR
+{
+  struct direct dir;
+  char d_result[MAXNAMLEN + 1];
+#if defined (__ALPHA) || defined (__DECC)
+  struct FAB fab;
+#else
+  struct fabdef fab;
+#endif
+} DIR;
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+extern DIR *opendir PARAMS (());
+extern struct direct *readdir PARAMS ((DIR *dfd));
+#define rewinddir(dirp)        seekdir((dirp), (long)0)
+extern int closedir PARAMS ((DIR *dfd));
+extern char *vmsify PARAMS ((char *name, int type));
+
+#endif /* VMSDIR_H */
diff --git a/src/mkutil/make-3.80/vmsfunctions.c b/src/mkutil/make-3.80/vmsfunctions.c
new file mode 100644 (file)
index 0000000..f6708cc
--- /dev/null
@@ -0,0 +1,261 @@
+/* vmsfunctions.c */
+
+#include "make.h"
+#include "debug.h"
+
+#ifdef __DECC
+#include <starlet.h>
+#endif
+#include <descrip.h>
+#include <rms.h>
+#include <iodef.h>
+#include <atrdef.h>
+#include <fibdef.h>
+#include "vmsdir.h"
+
+#ifdef HAVE_VMSDIR_H
+
+DIR *
+opendir (dspec)
+     char *dspec;
+{
+  struct DIR *dir  = (struct DIR *)xmalloc (sizeof (struct DIR));
+  struct NAM *dnam = (struct NAM *)xmalloc (sizeof (struct NAM));
+  struct FAB *dfab = &dir->fab;
+  char *searchspec = (char *)xmalloc (MAXNAMLEN + 1);
+
+  memset (dir, 0, sizeof *dir);
+
+  *dfab = cc$rms_fab;
+  *dnam = cc$rms_nam;
+  sprintf (searchspec, "%s*.*;", dspec);
+
+  dfab->fab$l_fna = searchspec;
+  dfab->fab$b_fns = strlen (searchspec);
+  dfab->fab$l_nam = dnam;
+
+  *dnam = cc$rms_nam;
+  dnam->nam$l_esa = searchspec;
+  dnam->nam$b_ess = MAXNAMLEN;
+
+  if (! (sys$parse (dfab) & 1))
+    {
+      free (dir);
+      free (dnam);
+      free (searchspec);
+      return (NULL);
+    }
+
+  return dir;
+}
+
+#define uppercasify(str) \
+  do \
+    { \
+      char *tmp; \
+      for (tmp = (str); *tmp != '\0'; tmp++) \
+        if (islower ((unsigned char)*tmp)) \
+          *tmp = toupper ((unsigned char)*tmp); \
+    } \
+  while (0)
+
+struct direct *
+readdir (dir)
+     DIR * dir;
+{
+  struct FAB *dfab = &dir->fab;
+  struct NAM *dnam = (struct NAM *)(dfab->fab$l_nam);
+  struct direct *dentry = &dir->dir;
+  int i;
+
+  memset (dentry, 0, sizeof *dentry);
+
+  dnam->nam$l_rsa = dir->d_result;
+  dnam->nam$b_rss = MAXNAMLEN;
+
+  DB (DB_VERBOSE, ("."));
+
+  if (!((i = sys$search (dfab)) & 1))
+    {
+      DB (DB_VERBOSE, (_("sys$search failed with %d\n"), i));
+      return (NULL);
+    }
+
+  dentry->d_off = 0;
+  if (dnam->nam$w_fid == 0)
+    dentry->d_fileno = 1;
+  else
+    dentry->d_fileno = dnam->nam$w_fid[0] + (dnam->nam$w_fid[1] << 16);
+
+  dentry->d_reclen = sizeof (struct direct);
+  dentry->d_namlen = dnam->nam$b_name + dnam->nam$b_type;
+  strncpy (dentry->d_name, dnam->nam$l_name, dentry->d_namlen);
+  dentry->d_name[dentry->d_namlen] = '\0';
+  uppercasify (dentry->d_name);
+
+  return (dentry);
+}
+
+int
+closedir (dir)
+     DIR *dir;
+{
+  if (dir != NULL)
+    {
+      struct FAB *dfab = &dir->fab;
+      struct NAM *dnam = (struct NAM *)(dfab->fab$l_nam);
+      if (dnam != NULL)
+       free (dnam->nam$l_esa);
+      free (dnam);
+      free (dir);
+    }
+
+  return 0;
+}
+#endif /* compiled for OpenVMS prior to V7.x */
+
+char *
+getwd (cwd)
+     char *cwd;
+{
+  static char buf[512];
+
+  if (cwd)
+    return (getcwd (cwd, 512));
+  else
+    return (getcwd (buf, 512));
+}
+
+int
+vms_stat (name, buf)
+     char *name;
+     struct stat *buf;
+{
+  int status;
+  int i;
+
+  static struct FAB Fab;
+  static struct NAM Nam;
+  static struct fibdef Fib;    /* short fib */
+  static struct dsc$descriptor FibDesc =
+  { sizeof (Fib), DSC$K_DTYPE_Z, DSC$K_CLASS_S, (char *) &Fib };
+  static struct dsc$descriptor_s DevDesc =
+  { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, &Nam.nam$t_dvi[1] };
+  static char EName[NAM$C_MAXRSS];
+  static char RName[NAM$C_MAXRSS];
+  static struct dsc$descriptor_s FileName =
+  { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0 };
+  static struct dsc$descriptor_s string =
+  { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0 };
+  static unsigned long Rdate[2];
+  static unsigned long Cdate[2];
+  static struct atrdef Atr[] =
+  {
+#if defined(VAX)
+    /* Revision date */
+    { sizeof (Rdate), ATR$C_REVDATE, (unsigned int) &Rdate[0] },
+    /* Creation date */
+    { sizeof (Cdate), ATR$C_CREDATE, (unsigned int) &Cdate[0] },
+#else
+    /* Revision date */
+    { sizeof (Rdate), ATR$C_REVDATE, &Rdate[0] },
+    /* Creation date */
+    { sizeof (Cdate), ATR$C_CREDATE, &Cdate[0]},
+#endif
+    { 0, 0, 0 }
+  };
+  static short int DevChan;
+  static short int iosb[4];
+
+  name = vmsify (name, 0);
+
+  /* initialize RMS structures, we need a NAM to retrieve the FID */
+  Fab = cc$rms_fab;
+  Fab.fab$l_fna = name;                /* name of file */
+  Fab.fab$b_fns = strlen (name);
+  Fab.fab$l_nam = &Nam;                /* FAB has an associated NAM */
+
+  Nam = cc$rms_nam;
+  Nam.nam$l_esa = EName;       /* expanded filename */
+  Nam.nam$b_ess = sizeof (EName);
+  Nam.nam$l_rsa = RName;       /* resultant filename */
+  Nam.nam$b_rss = sizeof (RName);
+
+  /* do $PARSE and $SEARCH here */
+  status = sys$parse (&Fab);
+  if (!(status & 1))
+    return -1;
+
+  DevDesc.dsc$w_length = Nam.nam$t_dvi[0];
+  status = sys$assign (&DevDesc, &DevChan, 0, 0);
+  if (!(status & 1))
+    return -1;
+
+  FileName.dsc$a_pointer = Nam.nam$l_name;
+  FileName.dsc$w_length = Nam.nam$b_name + Nam.nam$b_type + Nam.nam$b_ver;
+
+  /* Initialize the FIB */
+  for (i = 0; i < 3; i++)
+    {
+#ifndef __VAXC
+      Fib.fib$w_fid[i] = Nam.nam$w_fid[i];
+      Fib.fib$w_did[i] = Nam.nam$w_did[i];
+#else
+      Fib.fib$r_fid_overlay.fib$w_fid[i] = Nam.nam$w_fid[i];
+      Fib.fib$r_did_overlay.fib$w_did[i] = Nam.nam$w_did[i];
+#endif
+    }
+
+  status = sys$qiow (0, DevChan, IO$_ACCESS, &iosb, 0, 0,
+                    &FibDesc, &FileName, 0, 0, &Atr, 0);
+  sys$dassgn (DevChan);
+  if (!(status & 1))
+    return -1;
+  status = iosb[0];
+  if (!(status & 1))
+    return -1;
+
+  status = stat (name, buf);
+  if (status)
+    return -1;
+
+  buf->st_mtime = ((Rdate[0] >> 24) & 0xff) + ((Rdate[1] << 8) & 0xffffff00);
+  buf->st_ctime = ((Cdate[0] >> 24) & 0xff) + ((Cdate[1] << 8) & 0xffffff00);
+
+  return 0;
+}
+
+char *
+cvt_time (tval)
+     unsigned long tval;
+{
+  static long int date[2];
+  static char str[27];
+  static struct dsc$descriptor date_str =
+  { 26, DSC$K_DTYPE_T, DSC$K_CLASS_S, str };
+
+  date[0] = (tval & 0xff) << 24;
+  date[1] = ((tval >> 8) & 0xffffff);
+
+  if ((date[0] == 0) && (date[1] == 0))
+    return ("never");
+
+  sys$asctim (0, &date_str, date, 0);
+  str[26] = '\0';
+
+  return (str);
+}
+
+int
+strcmpi (s1, s2)
+    const char *s1;
+    const char *s2;
+{
+  while (*s1 != '\0' && toupper(*s1) == toupper(*s2))
+    {
+      s1++;
+      s2++;
+    }
+
+  return toupper(*(unsigned char *) s1) - toupper(*(unsigned char *) s2);
+}
diff --git a/src/mkutil/make-3.80/vmsify.c b/src/mkutil/make-3.80/vmsify.c
new file mode 100644 (file)
index 0000000..f7871bb
--- /dev/null
@@ -0,0 +1,981 @@
+/*
+  vmsify.c
+
+  Module for vms <-> unix file name conversion
+
+  Written by Klaus Kämpf (kkaempf@progis.de)
+  of proGIS Software, Aachen, Germany
+
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+
+#if VMS
+#include <unixlib.h>
+#include <stdlib.h>
+#include <jpidef.h>
+#include <descrip.h>
+#include <uaidef.h>
+#include <ssdef.h>
+#include <starlet.h>
+#include <lib$routines.h>
+/* Initialize a string descriptor (struct dsc$descriptor_s) for an
+   arbitrary string.   ADDR is a pointer to the first character
+   of the string, and LEN is the length of the string. */
+
+#define INIT_DSC_S(dsc, addr, len) do { \
+  (dsc).dsc$b_dtype = DSC$K_DTYPE_T;    \
+  (dsc).dsc$b_class = DSC$K_CLASS_S;    \
+  (dsc).dsc$w_length = (len);           \
+  (dsc).dsc$a_pointer = (addr);         \
+} while (0)
+
+/* Initialize a string descriptor (struct dsc$descriptor_s) for a
+   NUL-terminated string.  S is a pointer to the string; the length
+   is determined by calling strlen(). */
+
+#define INIT_DSC_CSTRING(dsc, s) INIT_DSC_S(dsc, s, strlen(s))
+#endif
+
+/*
+  copy 'from' to 'to' up to but not including 'upto'
+  return 0 if eos on from
+  return 1 if upto found
+
+  return 'to' at last char + 1
+  return 'from' at match + 1 or eos if no match
+
+  if as_dir == 1, change all '.' to '_'
+  else change all '.' but the last to '_'
+*/
+
+static int
+copyto (char **to, char **from, char upto, int as_dir)
+{
+  char *s;
+
+  s = strrchr (*from, '.');
+
+  while (**from)
+    {
+      if (**from == upto)
+       {
+         do
+           {
+             (*from)++;
+           }
+         while (**from == upto);
+         return 1;
+       }
+      if (**from == '.')
+       {
+         if ((as_dir == 1)
+             || (*from != s))
+           **to = '_';
+         else
+           **to = '.';
+       }
+      else
+       {
+         if (isupper ((unsigned char)**from))
+           **to = tolower ((unsigned char)**from);
+         else
+           **to = **from;
+       }
+      (*to)++;
+      (*from)++;
+    }
+
+  return 0;
+}
+
+
+/*
+  get translation of logical name
+
+*/
+
+static char *
+trnlog (char *name)
+{
+  int stat;
+  static char reslt[1024];
+  $DESCRIPTOR (reslt_dsc, reslt);
+  short resltlen;
+  struct dsc$descriptor_s name_dsc;
+  char *s;
+
+  INIT_DSC_CSTRING (name_dsc, name);
+
+  stat = lib$sys_trnlog (&name_dsc, &resltlen, &reslt_dsc);
+
+  if ((stat&1) == 0)
+    {
+      return "";
+    }
+  if (stat == SS$_NOTRAN)
+    {
+      return "";
+    }
+  reslt[resltlen] = '\0';
+
+  s = (char *)malloc (resltlen+1);
+  if (s == 0)
+    return "";
+  strcpy (s, reslt);
+  return s;
+}
+
+static char *
+showall (char *s)
+{
+  static char t[512];
+  char *pt;
+
+  pt = t;
+  if (strchr (s, '\\') == 0)
+    return s;
+  while (*s)
+    {
+      if (*s == '\\')
+       {
+         *pt++ = *s;
+       }
+      *pt++ = *s++;
+    }
+  return pt;
+}
+
+
+enum namestate { N_START, N_DEVICE, N_OPEN, N_DOT, N_CLOSED, N_DONE };
+
+/*
+  convert unix style name to vms style
+  type = 0 -> name is a full name (directory and filename part)
+  type = 1 -> name is a directory
+  type = 2 -> name is a filename without directory
+
+  The following conversions are applied
+                       (0)             (1)                     (2)
+       input           full name       dir name                file name
+
+1      ./              <cwd>           []                      <current directory>.dir
+2      ../             <home of cwd>   <home of cwd>           <home of cwd>.dir
+
+3      //              <dev of cwd>:   <dev of cwd>:[000000]   <dev of cwd>:000000.dir
+4      //a             a:              a:                      a:
+5      //a/            a:              a:                      a:000000.dir
+
+9      /               [000000]        [000000]                000000.dir
+10     /a              [000000]a       [a]                     [000000]a
+11     /a/             [a]             [a]                     [000000]a.dir
+12     /a/b            [a]b            [a.b]                   [a]b
+13     /a/b/           [a.b]           [a.b]                   [a]b.dir
+14     /a/b/c          [a.b]c          [a.b.c]                 [a.b]c
+15     /a/b/c/         [a.b.c]         [a.b.c]                 [a.b]c.dir
+
+16     a               a               [.a]                    a
+17     a/              [.a]            [.a]                    a.dir
+18     a/b             [.a]b           [.a.b]                  [.a]b
+19     a/b/            [.a.b]          [.a.b]                  [.a]b.dir
+20     a/b/c           [.a.b]c         [.a.b.c]                [.a.b]c
+21     a/b/c/          [.a.b.c]        [.a.b.c]                [.a.b]c.dir
+
+22     a.b.c           a_b.c           [.a_b_c]                a_b_c.dir
+
+23     [x][y]z         [x.y]z          [x.y]z                  [x.y]z
+24     [x][.y]z        [x.y]z          [x.y]z                  [x.y]z
+
+25  filenames with '$'  are left unchanged if they contain no '/'
+25  filenames with ':' are left unchanged
+26  filenames with a single pair of '[' ']' are left unchanged
+
+  the input string is not written to
+*/
+
+char *
+vmsify (name, type)
+    char *name;
+    int type;
+{
+/* max 255 device
+   max 39 directory
+   max 39 filename
+   max 39 filetype
+   max 5 version
+*/
+#define MAXPATHLEN 512
+
+  enum namestate nstate;
+  static char vmsname[MAXPATHLEN+1];
+  char *fptr;
+  char *vptr;
+  char *s,*s1;
+  int as_dir;
+  int count;
+
+  if (name == 0)
+    return 0;
+  fptr = name;
+  vptr = vmsname;
+  nstate = N_START;
+
+  /* case 25a */
+
+  s = strpbrk (name, "$:");
+  if (s != 0)
+    {
+      char *s1;
+      char *s2;
+
+      if (type == 1)
+       {
+         s1 = strchr (s+1, '[');
+         s2 = strchr (s+1, ']');
+       }
+
+      if (*s == '$')
+       {
+         if (strchr (name, '/') == 0)
+           {
+             if ((type == 1) && (s1 != 0) && (s2 == 0))
+               {
+                 strcpy (vmsname, name);
+                 strcat (vmsname, "]");
+                 return vmsname;
+               }
+             else
+               return name;
+           }
+       }
+      else
+       {
+         if ((type == 1) && (s1 != 0) && (s2 == 0))
+           {
+             strcpy (vmsname, name);
+             strcat (vmsname, "]");
+             return vmsname;
+           }
+         else
+           return name;
+       }
+    }
+
+  /* case 26 */
+
+  s = strchr (name, '[');
+
+  if (s != 0)
+    {
+      s1 = strchr (s+1, '[');
+      if (s1 == 0)
+       {
+         if ((type == 1)
+              && (strchr (s+1, ']') == 0))
+           {
+             strcpy (vmsname, name);
+             strcat (vmsname, "]");
+             return vmsname;
+           }
+         else
+           return name;                        /* single [, keep unchanged */
+       }
+      s1--;
+      if (*s1 != ']')
+       {
+         return name;                  /* not ][, keep unchanged */
+       }
+
+      /* we have ][ */
+
+      s = name;
+
+      /* s  -> starting char
+        s1 -> ending ']'  */
+
+      do
+       {
+         strncpy (vptr, s, s1-s);      /* copy up to but not including ']' */
+         vptr += s1-s;
+         if (*s1 == 0)
+           break;
+         s = s1 + 1;                   /* s -> char behind ']' */
+         if (*s != '[')                /* was '][' ? */
+           break;                      /* no, last ] found, exit */
+         s++;
+         if (*s != '.')
+           *vptr++ = '.';
+         s1 = strchr (s, ']');
+         if (s1 == 0)                  /* no closing ] */
+           s1 = s + strlen (s);
+       }
+      while (1);
+
+      *vptr++ = ']';
+
+      fptr = s;
+
+    }
+
+  else         /* no [ in name */
+
+    {
+
+      int state;
+      int rooted = 1;  /* flag if logical is rooted, else insert [000000] */
+
+      state = 0;
+
+      do
+       {
+
+      switch (state)
+       {
+         case 0:                               /* start of loop */
+           if (*fptr == '/')
+             {
+               fptr++;
+               state = 1;
+             }
+           else if (*fptr == '.')
+             {
+               fptr++;
+               state = 10;
+             }
+           else
+             state = 2;
+           break;
+
+         case 1:                               /* '/' at start */
+           if (*fptr == '/')
+             {
+               fptr++;
+               state = 3;
+             }
+           else
+             state = 4;
+           break;
+
+         case 2:                               /* no '/' at start */
+           s = strchr (fptr, '/');
+           if (s == 0)                 /* no '/' (16) */
+             {
+               if (type == 1)
+                 {
+                   strcpy (vptr, "[.");
+                   vptr += 2;
+                 }
+               copyto (&vptr, &fptr, 0, (type==1));
+               if (type == 1)
+                 *vptr++ = ']';
+               state = -1;
+             }
+           else                        /* found '/' (17..21) */
+             {
+               if ((type == 2)
+                   && (*(s+1) == 0))   /* 17(2) */
+                 {
+                   copyto (&vptr, &fptr, '/', 1);
+                   state = 7;
+                 }
+               else
+                 {
+                   strcpy (vptr, "[.");
+                   vptr += 2;
+                   copyto (&vptr, &fptr, '/', 1);
+                   nstate = N_OPEN;
+                   state = 9;
+                 }
+             }
+           break;
+
+         case 3:                               /* '//' at start */
+           while (*fptr == '/')        /* collapse all '/' */
+             fptr++;
+           if (*fptr == 0)             /* just // */
+             {
+               char cwdbuf[MAXPATHLEN+1];
+
+               s1 = getcwd(cwdbuf, MAXPATHLEN);
+               if (s1 == 0)
+                 {
+                   return "";          /* FIXME, err getcwd */
+                 }
+               s = strchr (s1, ':');
+               if (s == 0)
+                 {
+                   return "";          /* FIXME, err no device */
+                 }
+               strncpy (vptr, s1, s-s1+1);
+               vptr += s-s1+1;
+               state = -1;
+               break;
+             }
+
+           s = vptr;
+
+           if (copyto (&vptr, &fptr, '/', 1) == 0)     /* copy device part */
+             {
+               *vptr++ = ':';
+               state = -1;
+               break;
+             }
+           *vptr = ':';
+           nstate = N_DEVICE;
+           if (*fptr == 0)     /* just '//a/' */
+             {
+               strcpy (vptr+1, "[000000]");
+               vptr += 9;
+               state = -1;
+               break;
+             }
+           *vptr = 0;
+                               /* check logical for [000000] insertion */
+           s1 = trnlog (s);
+           if (*s1 != 0)
+             {                 /* found translation */
+               char *s2;
+               for (;;)        /* loop over all nested logicals */
+                 {
+                   s2 = s1 + strlen (s1) - 1;
+                   if (*s2 == ':')     /* translation ends in ':' */
+                     {
+                       s2 = trnlog (s1);
+                       free (s1);
+                       if (*s2 == 0)
+                         {
+                           rooted = 0;
+                           break;
+                         }
+                       s1 = s2;
+                       continue;       /* next iteration */
+                     }
+                   if (*s2 == ']')     /* translation ends in ']' */
+                     {
+                       if (*(s2-1) == '.')     /* ends in '.]' */
+                         {
+                           if (strncmp (fptr, "000000", 6) != 0)
+                             rooted = 0;
+                         }
+                       else
+                         {
+                           strcpy (vmsname, s1);
+                           s = strchr (vmsname, ']');
+                           *s = '.';
+                           nstate = N_DOT;
+                           vptr = s;
+                         }
+                     }
+                   break;
+                 }
+               free (s1);
+             }
+           else
+             rooted = 0;
+
+           if (*vptr == 0)
+             {
+               nstate = N_DEVICE;
+               *vptr++ = ':';
+             }
+           else
+             vptr++;
+
+           if (rooted == 0)
+             {
+               strcpy (vptr, "[000000.");
+               vptr += 8;
+               s1 = vptr-1;
+               nstate = N_DOT;
+             }
+           else
+             s1 = 0;
+
+       /* s1-> '.' after 000000 or NULL */
+
+           s = strchr (fptr, '/');
+           if (s == 0)
+             {                         /* no next '/' */
+               if (*(vptr-1) == '.')
+                 *(vptr-1) = ']';
+               else if (rooted == 0)
+                 *vptr++ = ']';
+               copyto (&vptr, &fptr, 0, (type == 1));
+               state = -1;
+               break;
+             }
+           else
+             {
+               while (*(s+1) == '/')   /* skip multiple '/' */
+                 s++;
+             }
+
+           if ((rooted != 0)
+               && (*(vptr-1) != '.'))
+             {
+               *vptr++ = '[';
+               nstate = N_DOT;
+             }
+           else
+             if ((nstate == N_DOT)
+                && (s1 != 0)
+                && (*(s+1) == 0))
+               {
+                 if (type == 2)
+                   {
+                     *s1 = ']';
+                     nstate = N_CLOSED;
+                   }
+               }
+           state = 9;
+           break;
+
+         case 4:                               /* single '/' at start (9..15) */
+           if (*fptr == 0)
+             state = 5;
+           else
+             state = 6;
+           break;
+
+         case 5:                               /* just '/' at start (9) */
+           if (type != 2)
+             {
+               *vptr++ = '[';
+               nstate = N_OPEN;
+             }
+           strcpy (vptr, "000000");
+           vptr += 6;
+           if (type == 2)
+             state = 7;
+           else
+             state = 8;
+           break;
+
+         case 6:                               /* chars following '/' at start 10..15 */
+           *vptr++ = '[';
+           nstate = N_OPEN;
+           s = strchr (fptr, '/');
+           if (s == 0)                 /* 10 */
+             {
+               if (type != 1)
+                 {
+                   strcpy (vptr, "000000]");
+                   vptr += 7;
+                 }
+               copyto (&vptr, &fptr, 0, (type == 1));
+               if (type == 1)
+                 {
+                   *vptr++ = ']';
+                 }
+               state = -1;
+             }
+           else                        /* 11..15 */
+             {
+               if ( (type == 2)
+                  && (*(s+1) == 0))    /* 11(2) */
+                 {
+                   strcpy (vptr, "000000]");
+                   nstate = N_CLOSED;
+                   vptr += 7;
+                 }
+               copyto (&vptr, &fptr, '/', (*(vptr-1) != ']'));
+               state = 9;
+             }
+           break;
+
+         case 7:                               /* add '.dir' and exit */
+           if ((nstate == N_OPEN)
+               || (nstate == N_DOT))
+             {
+               s = vptr-1;
+               while (s > vmsname)
+                 {
+                   if (*s == ']')
+                     {
+                       break;
+                     }
+                   if (*s == '.')
+                     {
+                       *s = ']';
+                       break;
+                     }
+                   s--;
+                 }
+             }
+           strcpy (vptr, ".dir");
+           vptr += 4;
+           state = -1;
+           break;
+
+         case 8:                               /* add ']' and exit */
+           *vptr++ = ']';
+           state = -1;
+           break;
+
+         case 9:                               /* 17..21, fptr -> 1st '/' + 1 */
+           if (*fptr == 0)
+             {
+               if (type == 2)
+                 {
+                   state = 7;
+                 }
+               else
+                 state = 8;
+               break;
+             }
+           s = strchr (fptr, '/');
+           if (s == 0)
+             {
+               if (type != 1)
+                 {
+                   if (nstate == N_OPEN)
+                     {
+                       *vptr++ = ']';
+                       nstate = N_CLOSED;
+                     }
+                   as_dir = 0;
+                 }
+               else
+                 {
+                   if (nstate == N_OPEN)
+                     {
+                       *vptr++ = '.';
+                       nstate = N_DOT;
+                     }
+                   as_dir = 1;
+                 }
+             }
+           else
+             {
+               while (*(s+1) == '/')
+                 s++;
+               if ( (type == 2)
+                   && (*(s+1) == 0))           /* 19(2), 21(2)*/
+                 {
+                   if (nstate != N_CLOSED)
+                     {
+                       *vptr++ = ']';
+                       nstate = N_CLOSED;
+                     }
+                   as_dir = 1;
+                 }
+               else
+                 {
+                   if (nstate == N_OPEN)
+                     {
+                       *vptr++ = '.';
+                       nstate = N_DOT;
+                     }
+                   as_dir = 1;
+                 }
+             }
+           if ( (*fptr == '.')                 /* check for '..' or '../' */
+               && (*(fptr+1) == '.')
+               && ((*(fptr+2) == '/')
+                   || (*(fptr+2) == 0)) )
+             {
+               fptr += 2;
+               if (*fptr == '/')
+                 {
+                   do
+                     {
+                       fptr++;
+                     }
+                   while (*fptr == '/');
+                 }
+               else if (*fptr == 0)
+                 type = 1;
+               vptr--;                         /* vptr -> '.' or ']' */
+               s1 = vptr;
+               for (;;)
+                 {
+                   s1--;
+                   if (*s1 == '.')             /* one back */
+                     {
+                       vptr = s1;
+                       nstate = N_OPEN;
+                       break;
+                     }
+                   if (*s1 == '[')             /* top level reached */
+                     {
+                       if (*fptr == 0)
+                         {
+                           strcpy (s1, "[000000]");
+                           vptr = s1 + 8;
+                           nstate = N_CLOSED;
+                           s = 0;
+                           break;
+                         }
+                       else
+                         {
+                           vptr = s1+1;
+                           nstate = N_OPEN;
+                           break;
+                         }
+                     }
+                 }
+             }
+           else
+             {
+               copyto (&vptr, &fptr, '/', as_dir);
+               if (nstate == N_DOT)
+                 nstate = N_OPEN;
+             }
+           if (s == 0)
+             {                                 /* 18,20 */
+               if (type == 1)
+                 *vptr++ = ']';
+               state = -1;
+             }
+           else
+             {
+               if (*(s+1) == 0)
+                 {
+                   if (type == 2)              /* 19,21 */
+                     {
+                       state = 7;
+                     }
+                   else
+                     {
+                       *vptr++ = ']';
+                       state = -1;
+                     }
+                 }
+             }
+           break;
+
+         case 10:                              /* 1,2 first is '.' */
+           if (*fptr == '.')
+             {
+               fptr++;
+               state = 11;
+             }
+           else
+             state = 12;
+           break;
+
+         case 11:                              /* 2, '..' at start */
+           count = 1;
+           if (*fptr != 0)
+             {
+               if (*fptr != '/')               /* got ..xxx */
+                 {
+                   return name;
+                 }
+               do                              /* got ../ */
+                 {
+                   fptr++;
+                   while (*fptr == '/') fptr++;
+                   if (*fptr != '.')
+                     break;
+                   if (*(fptr+1) != '.')
+                     break;
+                   fptr += 2;
+                   if ((*fptr == 0)
+                       || (*fptr == '/'))
+                     count++;
+                 }
+               while (*fptr == '/');
+             }
+           {                                   /* got '..' or '../' */
+             char cwdbuf[MAXPATHLEN+1];
+
+             s1 = getcwd(cwdbuf, MAXPATHLEN);
+             if (s1 == 0)
+               {
+                 return "";        /* FIXME, err getcwd */
+               }
+             strcpy (vptr, s1);
+             s = strchr (vptr, ']');
+             if (s != 0)
+               {
+                 nstate = N_OPEN;
+                 while (s > vptr)
+                   {
+                     s--;
+                     if (*s == '[')
+                       {
+                         s++;
+                         strcpy (s, "000000]");
+                         state = -1;
+                         break;
+                       }
+                     else if (*s == '.')
+                       {
+                         if (--count == 0)
+                           {
+                             if (*fptr == 0)   /* had '..' or '../' */
+                               {
+                                 *s++ = ']';
+                                 state = -1;
+                               }
+                             else                      /* had '../xxx' */
+                               {
+                                 state = 9;
+                               }
+                             *s = 0;
+                             break;
+                           }
+                       }
+                   }
+               }
+             vptr += strlen (vptr);
+           }
+           break;
+
+         case 12:                              /* 1, '.' at start */
+           if (*fptr != 0)
+             {
+               if (*fptr != '/')
+                 {
+                   return name;
+                 }
+               while (*fptr == '/')
+                 fptr++;
+             }
+
+           {
+             char cwdbuf[MAXPATHLEN+1];
+
+             s1 = getcwd(cwdbuf, MAXPATHLEN);
+             if (s1 == 0)
+               {
+                 return "";        /*FIXME, err getcwd */
+               }
+             strcpy (vptr, s1);
+             if (*fptr == 0)
+               {
+                 state = -1;
+                 break;
+               }
+             else
+               {
+                 s = strchr (vptr, ']');
+                 if (s == 0)
+                   {
+                     state = -1;
+                     break;
+                   }
+                 *s = 0;
+                 nstate = N_OPEN;
+                 vptr += strlen (vptr);
+                 state = 9;
+               }
+           }
+           break;
+       }
+
+       }
+      while (state > 0);
+
+
+    }
+
+
+  /* directory conversion done
+     fptr -> filename part of input string
+     vptr -> free space in vmsname
+  */
+
+  *vptr++ = 0;
+
+  return vmsname;
+}
+
+
+
+/*
+  convert from vms-style to unix-style
+
+  dev:[dir1.dir2]      //dev/dir1/dir2/
+*/
+
+char *
+unixify (char *name)
+{
+  static char piece[512];
+  char *s, *p;
+
+  if (strchr (name, '/') != 0)         /* already in unix style */
+    return name;
+
+  p = piece;
+  *p = 0;
+
+  /* device part */
+
+  s = strchr (name, ':');
+
+  if (s != 0)
+    {
+      *s = 0;
+      *p++ = '/';
+      *p++ = '/';
+      strcpy (p, name);
+      p += strlen (p);
+      *s = ':';
+    }
+
+  /* directory part */
+
+  *p++ = '/';
+  s = strchr (name, '[');
+
+  if (s != 0)
+    {
+      s++;
+      switch (*s)
+        {
+         case ']':             /* [] */
+           strcat (p, "./");
+           break;
+         case '-':             /* [- */
+           strcat (p, "../");
+           break;
+         case '.':
+           strcat (p, "./");   /* [. */
+           break;
+         default:
+           s--;
+           break;
+        }
+      s++;
+      while (*s)
+        {
+         if (*s == '.')
+           *p++ = '/';
+         else
+           *p++ = *s;
+         s++;
+         if (*s == ']')
+           {
+             s++;
+             break;
+           }
+        }
+      if (*s != 0)             /* more after ']' ?? */
+        {
+         if (*(p-1) != '/')
+           *p++ = '/';
+         strcpy (p, s);                /* copy it anyway */
+        }
+    }
+
+  else         /* no '[' anywhere */
+
+    {
+      *p++ = 0;
+    }
+
+  /* force end with '/' */
+
+  if (*(p-1) != '/')
+    *p++ = '/';
+  *p = 0;
+
+  return piece;
+}
+
+/* EOF */
diff --git a/src/mkutil/make-3.80/vpath.c b/src/mkutil/make-3.80/vpath.c
new file mode 100644 (file)
index 0000000..065779b
--- /dev/null
@@ -0,0 +1,587 @@
+/* Implementation of pattern-matching file search paths for GNU Make.
+Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "make.h"
+#include "filedef.h"
+#include "variable.h"
+#ifdef WINDOWS32
+#include "pathstuff.h"
+#endif
+
+
+/* Structure used to represent a selective VPATH searchpath.  */
+
+struct vpath
+  {
+    struct vpath *next;        /* Pointer to next struct in the linked list.  */
+    char *pattern;     /* The pattern to match.  */
+    char *percent;     /* Pointer into `pattern' where the `%' is.  */
+    unsigned int patlen;/* Length of the pattern.  */
+    char **searchpath; /* Null-terminated list of directories.  */
+    unsigned int maxlen;/* Maximum length of any entry in the list.  */
+  };
+
+/* Linked-list of all selective VPATHs.  */
+
+static struct vpath *vpaths;
+
+/* Structure for the general VPATH given in the variable.  */
+
+static struct vpath *general_vpath;
+
+/* Structure for GPATH given in the variable.  */
+
+static struct vpath *gpaths;
+\f
+static int selective_vpath_search PARAMS ((struct vpath *path, char **file, FILE_TIMESTAMP *mtime_ptr));
+
+/* Reverse the chain of selective VPATH lists so they
+   will be searched in the order given in the makefiles
+   and construct the list from the VPATH variable.  */
+
+void
+build_vpath_lists ()
+{
+  register struct vpath *new = 0;
+  register struct vpath *old, *nexto;
+  register char *p;
+
+  /* Reverse the chain.  */
+  for (old = vpaths; old != 0; old = nexto)
+    {
+      nexto = old->next;
+      old->next = new;
+      new = old;
+    }
+
+  vpaths = new;
+
+  /* If there is a VPATH variable with a nonnull value, construct the
+     general VPATH list from it.  We use variable_expand rather than just
+     calling lookup_variable so that it will be recursively expanded.  */
+
+  {
+    /* Turn off --warn-undefined-variables while we expand SHELL and IFS.  */
+    int save = warn_undefined_variables_flag;
+    warn_undefined_variables_flag = 0;
+
+    p = variable_expand ("$(strip $(VPATH))");
+
+    warn_undefined_variables_flag = save;
+  }
+
+  if (*p != '\0')
+    {
+      /* Save the list of vpaths.  */
+      struct vpath *save_vpaths = vpaths;
+
+      /* Empty `vpaths' so the new one will have no next, and `vpaths'
+        will still be nil if P contains no existing directories.  */
+      vpaths = 0;
+
+      /* Parse P.  */
+      construct_vpath_list ("%", p);
+
+      /* Store the created path as the general path,
+        and restore the old list of vpaths.  */
+      general_vpath = vpaths;
+      vpaths = save_vpaths;
+    }
+
+  /* If there is a GPATH variable with a nonnull value, construct the
+     GPATH list from it.  We use variable_expand rather than just
+     calling lookup_variable so that it will be recursively expanded.  */
+
+  {
+    /* Turn off --warn-undefined-variables while we expand SHELL and IFS.  */
+    int save = warn_undefined_variables_flag;
+    warn_undefined_variables_flag = 0;
+
+    p = variable_expand ("$(strip $(GPATH))");
+
+    warn_undefined_variables_flag = save;
+  }
+
+  if (*p != '\0')
+    {
+      /* Save the list of vpaths.  */
+      struct vpath *save_vpaths = vpaths;
+
+      /* Empty `vpaths' so the new one will have no next, and `vpaths'
+        will still be nil if P contains no existing directories.  */
+      vpaths = 0;
+
+      /* Parse P.  */
+      construct_vpath_list ("%", p);
+
+      /* Store the created path as the GPATH,
+        and restore the old list of vpaths.  */
+      gpaths = vpaths;
+      vpaths = save_vpaths;
+    }
+}
+\f
+/* Construct the VPATH listing for the pattern and searchpath given.
+
+   This function is called to generate selective VPATH lists and also for
+   the general VPATH list (which is in fact just a selective VPATH that
+   is applied to everything).  The returned pointer is either put in the
+   linked list of all selective VPATH lists or in the GENERAL_VPATH
+   variable.
+
+   If SEARCHPATH is nil, remove all previous listings with the same
+   pattern.  If PATTERN is nil, remove all VPATH listings.  Existing
+   and readable directories that are not "." given in the searchpath
+   separated by the path element separator (defined in make.h) are
+   loaded into the directory hash table if they are not there already
+   and put in the VPATH searchpath for the given pattern with trailing
+   slashes stripped off if present (and if the directory is not the
+   root, "/").  The length of the longest entry in the list is put in
+   the structure as well.  The new entry will be at the head of the
+   VPATHS chain.  */
+
+void
+construct_vpath_list (pattern, dirpath)
+     char *pattern, *dirpath;
+{
+  register unsigned int elem;
+  register char *p;
+  register char **vpath;
+  register unsigned int maxvpath;
+  unsigned int maxelem;
+  char *percent = NULL;
+
+  if (pattern != 0)
+    {
+      pattern = xstrdup (pattern);
+      percent = find_percent (pattern);
+    }
+
+  if (dirpath == 0)
+    {
+      /* Remove matching listings.  */
+      register struct vpath *path, *lastpath;
+
+      lastpath = 0;
+      path = vpaths;
+      while (path != 0)
+       {
+         struct vpath *next = path->next;
+
+         if (pattern == 0
+             || (((percent == 0 && path->percent == 0)
+                  || (percent - pattern == path->percent - path->pattern))
+                 && streq (pattern, path->pattern)))
+           {
+             /* Remove it from the linked list.  */
+             if (lastpath == 0)
+               vpaths = path->next;
+             else
+               lastpath->next = next;
+
+             /* Free its unused storage.  */
+             free (path->pattern);
+             free ((char *) path->searchpath);
+             free ((char *) path);
+           }
+         else
+           lastpath = path;
+
+         path = next;
+       }
+
+      if (pattern != 0)
+       free (pattern);
+      return;
+    }
+
+#ifdef WINDOWS32
+    convert_vpath_to_windows32(dirpath, ';');
+#endif
+
+  /* Figure out the maximum number of VPATH entries and put it in
+     MAXELEM.  We start with 2, one before the first separator and one
+     nil (the list terminator) and increment our estimated number for
+     each separator or blank we find.  */
+  maxelem = 2;
+  p = dirpath;
+  while (*p != '\0')
+    if (*p++ == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p))
+      ++maxelem;
+
+  vpath = (char **) xmalloc (maxelem * sizeof (char *));
+  maxvpath = 0;
+
+  /* Skip over any initial separators and blanks.  */
+  p = dirpath;
+  while (*p == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p))
+    ++p;
+
+  elem = 0;
+  while (*p != '\0')
+    {
+      char *v;
+      unsigned int len;
+
+      /* Find the end of this entry.  */
+      v = p;
+      while (*p != '\0' && *p != PATH_SEPARATOR_CHAR
+            && !isblank ((unsigned char)*p))
+       ++p;
+
+      len = p - v;
+      /* Make sure there's no trailing slash,
+        but still allow "/" as a directory.  */
+#ifdef __MSDOS__
+      /* We need also to leave alone a trailing slash in "d:/".  */
+      if (len > 3 || (len > 1 && v[1] != ':'))
+#endif
+      if (len > 1 && p[-1] == '/')
+       --len;
+
+      if (len > 1 || *v != '.')
+       {
+         v = savestring (v, len);
+
+         /* Verify that the directory actually exists.  */
+
+         if (dir_file_exists_p (v, ""))
+           {
+             /* It does.  Put it in the list.  */
+             vpath[elem++] = dir_name (v);
+             free (v);
+             if (len > maxvpath)
+               maxvpath = len;
+           }
+         else
+           /* The directory does not exist.  Omit from the list.  */
+           free (v);
+       }
+
+      /* Skip over separators and blanks between entries.  */
+      while (*p == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p))
+       ++p;
+    }
+
+  if (elem > 0)
+    {
+      struct vpath *path;
+      /* ELEM is now incremented one element past the last
+        entry, to where the nil-pointer terminator goes.
+        Usually this is maxelem - 1.  If not, shrink down.  */
+      if (elem < (maxelem - 1))
+       vpath = (char **) xrealloc ((char *) vpath,
+                                   (elem + 1) * sizeof (char *));
+
+      /* Put the nil-pointer terminator on the end of the VPATH list.  */
+      vpath[elem] = 0;
+
+      /* Construct the vpath structure and put it into the linked list.  */
+      path = (struct vpath *) xmalloc (sizeof (struct vpath));
+      path->searchpath = vpath;
+      path->maxlen = maxvpath;
+      path->next = vpaths;
+      vpaths = path;
+
+      /* Set up the members.  */
+      path->pattern = pattern;
+      path->percent = percent;
+      path->patlen = strlen (pattern);
+    }
+  else
+    {
+      /* There were no entries, so free whatever space we allocated.  */
+      free ((char *) vpath);
+      if (pattern != 0)
+       free (pattern);
+    }
+}
+\f
+/* Search the GPATH list for a pathname string that matches the one passed
+   in.  If it is found, return 1.  Otherwise we return 0.  */
+
+int
+gpath_search (file, len)
+     char *file;
+     int len;
+{
+  register char **gp;
+
+  if (gpaths && (len <= gpaths->maxlen))
+    for (gp = gpaths->searchpath; *gp != NULL; ++gp)
+      if (strneq (*gp, file, len) && (*gp)[len] == '\0')
+        return 1;
+
+  return 0;
+}
+\f
+/* Search the VPATH list whose pattern matches *FILE for a directory
+   where the name pointed to by FILE exists.  If it is found, we set *FILE to
+   the newly malloc'd name of the existing file, *MTIME_PTR (if MTIME_PTR is
+   not NULL) to its modtime (or zero if no stat call was done), and return 1.
+   Otherwise we return 0.  */
+
+int
+vpath_search (file, mtime_ptr)
+     char **file;
+     FILE_TIMESTAMP *mtime_ptr;
+{
+  register struct vpath *v;
+
+  /* If there are no VPATH entries or FILENAME starts at the root,
+     there is nothing we can do.  */
+
+  if (**file == '/'
+#ifdef HAVE_DOS_PATHS
+      || **file == '\\'
+      || (*file)[1] == ':'
+#endif
+      || (vpaths == 0 && general_vpath == 0))
+    return 0;
+
+  for (v = vpaths; v != 0; v = v->next)
+    if (pattern_matches (v->pattern, v->percent, *file))
+      if (selective_vpath_search (v, file, mtime_ptr))
+       return 1;
+
+  if (general_vpath != 0
+      && selective_vpath_search (general_vpath, file, mtime_ptr))
+    return 1;
+
+  return 0;
+}
+
+
+/* Search the given VPATH list for a directory where the name pointed
+   to by FILE exists.  If it is found, we set *FILE to the newly malloc'd
+   name of the existing file, *MTIME_PTR (if MTIME_PTR is not NULL) to
+   its modtime (or zero if no stat call was done), and we return 1.
+   Otherwise we return 0.  */
+
+static int
+selective_vpath_search (path, file, mtime_ptr)
+     struct vpath *path;
+     char **file;
+     FILE_TIMESTAMP *mtime_ptr;
+{
+  int not_target;
+  char *name, *n;
+  char *filename;
+  register char **vpath = path->searchpath;
+  unsigned int maxvpath = path->maxlen;
+  register unsigned int i;
+  unsigned int flen, vlen, name_dplen;
+  int exists = 0;
+
+  /* Find out if *FILE is a target.
+     If and only if it is NOT a target, we will accept prospective
+     files that don't exist but are mentioned in a makefile.  */
+  {
+    struct file *f = lookup_file (*file);
+    not_target = f == 0 || !f->is_target;
+  }
+
+  flen = strlen (*file);
+
+  /* Split *FILE into a directory prefix and a name-within-directory.
+     NAME_DPLEN gets the length of the prefix; FILENAME gets the
+     pointer to the name-within-directory and FLEN is its length.  */
+
+  n = strrchr (*file, '/');
+#ifdef HAVE_DOS_PATHS
+  /* We need the rightmost slash or backslash.  */
+  {
+    char *bslash = strrchr(*file, '\\');
+    if (!n || bslash > n)
+      n = bslash;
+  }
+#endif
+  name_dplen = n != 0 ? n - *file : 0;
+  filename = name_dplen > 0 ? n + 1 : *file;
+  if (name_dplen > 0)
+    flen -= name_dplen + 1;
+
+  /* Allocate enough space for the biggest VPATH entry,
+     a slash, the directory prefix that came with *FILE,
+     another slash (although this one may not always be
+     necessary), the filename, and a null terminator.  */
+  name = (char *) xmalloc (maxvpath + 1 + name_dplen + 1 + flen + 1);
+
+  /* Try each VPATH entry.  */
+  for (i = 0; vpath[i] != 0; ++i)
+    {
+      int exists_in_cache = 0;
+
+      n = name;
+
+      /* Put the next VPATH entry into NAME at N and increment N past it.  */
+      vlen = strlen (vpath[i]);
+      bcopy (vpath[i], n, vlen);
+      n += vlen;
+
+      /* Add the directory prefix already in *FILE.  */
+      if (name_dplen > 0)
+       {
+#ifndef VMS
+         *n++ = '/';
+#endif
+         bcopy (*file, n, name_dplen);
+         n += name_dplen;
+       }
+
+#ifdef HAVE_DOS_PATHS
+      /* Cause the next if to treat backslash and slash alike.  */
+      if (n != name && n[-1] == '\\' )
+       n[-1] = '/';
+#endif
+      /* Now add the name-within-directory at the end of NAME.  */
+#ifndef VMS
+      if (n != name && n[-1] != '/')
+       {
+         *n = '/';
+         bcopy (filename, n + 1, flen + 1);
+       }
+      else
+#endif
+       bcopy (filename, n, flen + 1);
+
+      /* Check if the file is mentioned in a makefile.  If *FILE is not
+        a target, that is enough for us to decide this file exists.
+        If *FILE is a target, then the file must be mentioned in the
+        makefile also as a target to be chosen.
+
+        The restriction that *FILE must not be a target for a
+        makefile-mentioned file to be chosen was added by an
+        inadequately commented change in July 1990; I am not sure off
+        hand what problem it fixes.
+
+        In December 1993 I loosened this restriction to allow a file
+        to be chosen if it is mentioned as a target in a makefile.  This
+        seem logical.  */
+      {
+       struct file *f = lookup_file (name);
+       if (f != 0)
+         exists = not_target || f->is_target;
+      }
+
+      if (!exists)
+       {
+         /* That file wasn't mentioned in the makefile.
+            See if it actually exists.  */
+
+#ifdef VMS
+         exists_in_cache = exists = dir_file_exists_p (vpath[i], filename);
+#else
+         /* Clobber a null into the name at the last slash.
+            Now NAME is the name of the directory to look in.  */
+         *n = '\0';
+
+         /* We know the directory is in the hash table now because either
+            construct_vpath_list or the code just above put it there.
+            Does the file we seek exist in it?  */
+         exists_in_cache = exists = dir_file_exists_p (name, filename);
+#endif
+       }
+
+      if (exists)
+       {
+         /* The file is in the directory cache.
+            Now check that it actually exists in the filesystem.
+            The cache may be out of date.  When vpath thinks a file
+            exists, but stat fails for it, confusion results in the
+            higher levels.  */
+
+         struct stat st;
+
+#ifndef VMS
+         /* Put the slash back in NAME.  */
+         *n = '/';
+#endif
+
+         if (!exists_in_cache  /* Makefile-mentioned file need not exist.  */
+             || stat (name, &st) == 0) /* Does it really exist?  */
+           {
+             /* We have found a file.
+                Store the name we found into *FILE for the caller.  */
+
+             *file = savestring (name, (n + 1 - name) + flen);
+
+             if (mtime_ptr != 0)
+               /* Store the modtime into *MTIME_PTR for the caller.
+                  If we have had no need to stat the file here,
+                  we record UNKNOWN_MTIME to indicate this.  */
+               *mtime_ptr = (exists_in_cache
+                             ? FILE_TIMESTAMP_STAT_MODTIME (name, st)
+                             : UNKNOWN_MTIME);
+
+             free (name);
+             return 1;
+           }
+         else
+           exists = 0;
+       }
+    }
+
+  free (name);
+  return 0;
+}
+\f
+/* Print the data base of VPATH search paths.  */
+
+void
+print_vpath_data_base ()
+{
+  register unsigned int nvpaths;
+  register struct vpath *v;
+
+  puts (_("\n# VPATH Search Paths\n"));
+
+  nvpaths = 0;
+  for (v = vpaths; v != 0; v = v->next)
+    {
+      register unsigned int i;
+
+      ++nvpaths;
+
+      printf ("vpath %s ", v->pattern);
+
+      for (i = 0; v->searchpath[i] != 0; ++i)
+       printf ("%s%c", v->searchpath[i],
+               v->searchpath[i + 1] == 0 ? '\n' : PATH_SEPARATOR_CHAR);
+    }
+
+  if (vpaths == 0)
+    puts (_("# No `vpath' search paths."));
+  else
+    printf (_("\n# %u `vpath' search paths.\n"), nvpaths);
+
+  if (general_vpath == 0)
+    puts (_("\n# No general (`VPATH' variable) search path."));
+  else
+    {
+      register char **path = general_vpath->searchpath;
+      register unsigned int i;
+
+      fputs (_("\n# General (`VPATH' variable) search path:\n# "), stdout);
+
+      for (i = 0; path[i] != 0; ++i)
+       printf ("%s%c", path[i],
+               path[i + 1] == 0 ? '\n' : PATH_SEPARATOR_CHAR);
+    }
+}
diff --git a/src/mkutil/make-3.80/w32/compat/dirent.c b/src/mkutil/make-3.80/w32/compat/dirent.c
new file mode 100644 (file)
index 0000000..db871a9
--- /dev/null
@@ -0,0 +1,188 @@
+#include <sys/types.h>\r
+#include <sys/stat.h>\r
+#include <errno.h>\r
+#include <string.h>\r
+#include <stdlib.h>\r
+#include "dirent.h"\r
+\r
+\r
+DIR*\r
+opendir(const char* pDirName)\r
+{\r
+       struct stat sb;\r
+       DIR*    pDir;\r
+       char*   pEndDirName;\r
+       int     nBufferLen;\r
+\r
+       /* sanity checks */\r
+       if (!pDirName) {\r
+               errno = EINVAL;\r
+               return NULL;\r
+       }\r
+       if (stat(pDirName, &sb) != 0) {\r
+               errno = ENOENT;\r
+               return NULL;\r
+       }\r
+       if ((sb.st_mode & S_IFMT) != S_IFDIR) {\r
+               errno = ENOTDIR;\r
+               return NULL;\r
+       }\r
+\r
+       /* allocate a DIR structure to return */\r
+       pDir = (DIR *) malloc(sizeof (DIR));\r
+\r
+       if (!pDir)\r
+               return NULL;\r
+\r
+       /* input directory name length */\r
+       nBufferLen = strlen(pDirName);\r
+\r
+       /* copy input directory name to DIR buffer */\r
+       strcpy(pDir->dir_pDirectoryName, pDirName);\r
+\r
+       /* point to end of the copied directory name */\r
+       pEndDirName = &pDir->dir_pDirectoryName[nBufferLen - 1];\r
+\r
+       /* if directory name did not end in '/' or '\', add '/' */\r
+       if ((*pEndDirName != '/') && (*pEndDirName != '\\')) {\r
+               pEndDirName++;\r
+               *pEndDirName = '/';\r
+       }\r
+\r
+       /* now append the wildcard character to the buffer */\r
+       pEndDirName++;\r
+       *pEndDirName = '*';\r
+       pEndDirName++;\r
+       *pEndDirName = '\0';\r
+\r
+       /* other values defaulted */\r
+       pDir->dir_nNumFiles = 0;\r
+       pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;    \r
+       pDir->dir_ulCookie = __DIRENT_COOKIE;\r
+\r
+       return pDir;\r
+}\r
+\r
+void\r
+closedir(DIR *pDir)\r
+{\r
+       /* got a valid pointer? */\r
+       if (!pDir) {\r
+               errno = EINVAL;\r
+               return;\r
+       }\r
+\r
+       /* sanity check that this is a DIR pointer */\r
+       if (pDir->dir_ulCookie != __DIRENT_COOKIE) {\r
+               errno = EINVAL;\r
+               return;\r
+       }\r
+\r
+       /* close the WINDOWS32 directory handle */\r
+       if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)\r
+               FindClose(pDir->dir_hDirHandle);\r
+\r
+       free(pDir);\r
+\r
+       return;\r
+}\r
+\r
+struct dirent *\r
+readdir(DIR* pDir)\r
+{\r
+       WIN32_FIND_DATA wfdFindData;\r
+\r
+       if (!pDir) {\r
+               errno = EINVAL;\r
+               return NULL;\r
+       }\r
+\r
+       /* sanity check that this is a DIR pointer */\r
+       if (pDir->dir_ulCookie != __DIRENT_COOKIE) {\r
+               errno = EINVAL;\r
+               return NULL;\r
+       }\r
+\r
+       if (pDir->dir_nNumFiles == 0) {\r
+               pDir->dir_hDirHandle = FindFirstFile(pDir->dir_pDirectoryName, &wfdFindData);\r
+               if (pDir->dir_hDirHandle == INVALID_HANDLE_VALUE)\r
+                       return NULL;\r
+       } else if (!FindNextFile(pDir->dir_hDirHandle, &wfdFindData))\r
+                       return NULL;\r
+\r
+       /* bump count for next call to readdir() or telldir() */\r
+       pDir->dir_nNumFiles++;\r
+\r
+       /* fill in struct dirent values */\r
+       pDir->dir_sdReturn.d_ino = -1;\r
+       strcpy(pDir->dir_sdReturn.d_name, wfdFindData.cFileName);\r
+\r
+       return &pDir->dir_sdReturn;\r
+}\r
+\r
+void\r
+rewinddir(DIR* pDir)\r
+{\r
+       if (!pDir) {\r
+               errno = EINVAL;\r
+               return;\r
+       }\r
+\r
+       /* sanity check that this is a DIR pointer */\r
+       if (pDir->dir_ulCookie != __DIRENT_COOKIE) {\r
+               errno = EINVAL;\r
+               return;\r
+       }\r
+\r
+       /* close the WINDOWS32 directory handle */\r
+       if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)\r
+               if (!FindClose(pDir->dir_hDirHandle))\r
+                       errno = EBADF;\r
+\r
+       /* reset members which control readdir() */\r
+       pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;\r
+       pDir->dir_nNumFiles = 0;\r
+\r
+       return;\r
+}\r
+\r
+int\r
+telldir(DIR* pDir)\r
+{\r
+       if (!pDir) {\r
+               errno = EINVAL;\r
+               return -1;\r
+       }\r
+\r
+       /* sanity check that this is a DIR pointer */\r
+       if (pDir->dir_ulCookie != __DIRENT_COOKIE) {\r
+               errno = EINVAL;\r
+               return -1;\r
+       }\r
+\r
+       /* return number of times readdir() called */\r
+       return pDir->dir_nNumFiles;\r
+}\r
+\r
+void\r
+seekdir(DIR* pDir, long nPosition)\r
+{\r
+       if (!pDir)\r
+               return;\r
+\r
+       /* sanity check that this is a DIR pointer */\r
+       if (pDir->dir_ulCookie != __DIRENT_COOKIE)\r
+               return;\r
+\r
+       /* go back to beginning of directory */\r
+       rewinddir(pDir);\r
+\r
+       /* loop until we have found position we care about */\r
+       for (--nPosition; nPosition && readdir(pDir); nPosition--);\r
+\r
+       /* flag invalid nPosition value */\r
+       if (nPosition)\r
+               errno = EINVAL;\r
+\r
+       return;\r
+}\r
diff --git a/src/mkutil/make-3.80/w32/include/dirent.h b/src/mkutil/make-3.80/w32/include/dirent.h
new file mode 100644 (file)
index 0000000..3437bd0
--- /dev/null
@@ -0,0 +1,37 @@
+#ifndef _DIRENT_H\r
+#define _DIRENT_H\r
+\r
+#include <stdlib.h>\r
+#include <windows.h>\r
+#include <limits.h>\r
+#include <sys/types.h>\r
+\r
+#ifndef NAME_MAX\r
+#define NAME_MAX 255\r
+#endif\r
+\r
+#define __DIRENT_COOKIE 0xfefeabab\r
+\r
+\r
+struct dirent\r
+{\r
+  ino_t d_ino;                         /* unused - no equivalent on WINDOWS32 */\r
+  char d_name[NAME_MAX+1];\r
+};\r
+\r
+typedef struct dir_struct {\r
+       ULONG   dir_ulCookie;\r
+       HANDLE  dir_hDirHandle;\r
+       DWORD   dir_nNumFiles;\r
+       char    dir_pDirectoryName[NAME_MAX+1];\r
+       struct dirent dir_sdReturn;\r
+} DIR;\r
+\r
+DIR *opendir(const char *);\r
+struct dirent *readdir(DIR *);\r
+void rewinddir(DIR *);\r
+void closedir(DIR *);\r
+int telldir(DIR *);\r
+void seekdir(DIR *, long);\r
+\r
+#endif\r
diff --git a/src/mkutil/make-3.80/w32/include/pathstuff.h b/src/mkutil/make-3.80/w32/include/pathstuff.h
new file mode 100644 (file)
index 0000000..a036f7b
--- /dev/null
@@ -0,0 +1,9 @@
+#ifndef _PATHSTUFF_H
+#define _PATHSTUFF_H
+
+extern char * convert_Path_to_windows32(char *Path, char to_delim);
+extern char * convert_vpath_to_windows32(char *Path, char to_delim);
+extern char * w32ify(char *file, int resolve);
+extern char * getcwd_fs(char *buf, int len);
+
+#endif
diff --git a/src/mkutil/make-3.80/w32/include/sub_proc.h b/src/mkutil/make-3.80/w32/include/sub_proc.h
new file mode 100644 (file)
index 0000000..9cc54a5
--- /dev/null
@@ -0,0 +1,47 @@
+#ifndef SUB_PROC_H\r
+#define SUB_PROC_H\r
+\r
+/*\r
+ * Component Name: \r
+ *\r
+ * $Date: 1997/08/27 20:34:23 $\r
+ *\r
+ * $Source: /cvsroot/make/make/w32/include/sub_proc.h,v $\r
+ *\r
+ * $Revision: 1.4 $\r
+ */\r
+\r
+/* $Id: sub_proc.h,v 1.4 1997/08/27 20:34:23 psmith Exp $ */\r
+\r
+#ifdef WINDOWS32\r
+\r
+#define EXTERN_DECL(entry, args) extern entry args\r
+#define VOID_DECL void\r
+\r
+EXTERN_DECL(HANDLE process_init, (VOID_DECL));\r
+EXTERN_DECL(HANDLE process_init_fd, (HANDLE stdinh, HANDLE stdouth,\r
+       HANDLE stderrh));\r
+EXTERN_DECL(long process_begin, (HANDLE proc, char **argv, char **envp,\r
+       char *exec_path, char *as_user));\r
+EXTERN_DECL(long process_pipe_io, (HANDLE proc, char *stdin_data, \r
+       int stdin_data_len));\r
+EXTERN_DECL(long process_file_io, (HANDLE proc));\r
+EXTERN_DECL(void process_cleanup, (HANDLE proc));\r
+EXTERN_DECL(HANDLE process_wait_for_any, (VOID_DECL));\r
+EXTERN_DECL(void process_register, (HANDLE proc));\r
+EXTERN_DECL(HANDLE process_easy, (char** argv, char** env));\r
+EXTERN_DECL(BOOL process_kill, (HANDLE proc, int signal));\r
+\r
+/* support routines */\r
+EXTERN_DECL(long process_errno, (HANDLE proc));\r
+EXTERN_DECL(long process_last_err, (HANDLE proc));\r
+EXTERN_DECL(long process_exit_code, (HANDLE proc));\r
+EXTERN_DECL(long process_signal, (HANDLE proc));\r
+EXTERN_DECL(char * process_outbuf, (HANDLE proc));\r
+EXTERN_DECL(char * process_errbuf, (HANDLE proc));\r
+EXTERN_DECL(int process_outcnt, (HANDLE proc));\r
+EXTERN_DECL(int process_errcnt, (HANDLE proc));\r
+EXTERN_DECL(void process_pipes, (HANDLE proc, int pipes[3]));\r
+\r
+#endif\r
+#endif\r
diff --git a/src/mkutil/make-3.80/w32/include/w32err.h b/src/mkutil/make-3.80/w32/include/w32err.h
new file mode 100644 (file)
index 0000000..68a6590
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef _W32ERR_H_\r
+#define _W32ERR_H_\r
+\r
+#ifndef EXTERN_DECL\r
+#define EXTERN_DECL(entry, args) entry args\r
+#endif\r
+\r
+EXTERN_DECL(char * map_windows32_error_to_string, (DWORD error));\r
+\r
+#endif /* !_W32ERR_H */\r
diff --git a/src/mkutil/make-3.80/w32/pathstuff.c b/src/mkutil/make-3.80/w32/pathstuff.c
new file mode 100644 (file)
index 0000000..d8f3845
--- /dev/null
@@ -0,0 +1,238 @@
+#include <string.h>
+#include <stdlib.h>
+#include "make.h"
+#include "pathstuff.h"
+
+/*
+ * Convert delimiter separated vpath to Canonical format.
+ */
+char *
+convert_vpath_to_windows32(char *Path, char to_delim)
+{
+    char *etok;            /* token separator for old Path */
+
+       /*
+        * Convert all spaces to delimiters. Note that pathnames which
+        * contain blanks get trounced here. Use 8.3 format as a workaround.
+        */
+       for (etok = Path; etok && *etok; etok++)
+               if (isblank ((unsigned char) *etok))
+                       *etok = to_delim;
+
+       return (convert_Path_to_windows32(Path, to_delim));
+}
+
+/*
+ * Convert delimiter separated path to Canonical format.
+ */
+char *
+convert_Path_to_windows32(char *Path, char to_delim)
+{
+    char *etok;            /* token separator for old Path */
+    char *p;            /* points to element of old Path */
+
+    /* is this a multi-element Path ? */
+    for (p = Path, etok = strpbrk(p, ":;");
+         etok;
+         etok = strpbrk(p, ":;"))
+        if ((etok - p) == 1) {
+            if (*(etok - 1) == ';' ||
+                *(etok - 1) == ':') {
+                etok[-1] = to_delim;
+                etok[0] = to_delim;
+                p = ++etok;
+                continue;    /* ignore empty bucket */
+            } else if (!isalpha ((unsigned char) *p)) {
+                /* found one to count, handle things like '.' */
+                *etok = to_delim;
+                p = ++etok;
+            } else if ((*etok == ':') && (etok = strpbrk(etok+1, ":;"))) {
+                /* found one to count, handle drive letter */
+                *etok = to_delim;
+                p = ++etok;
+            } else
+                /* all finished, force abort */
+                p += strlen(p);
+        } else {
+            /* found another one, no drive letter */
+            *etok = to_delim;
+            p = ++etok;
+       }
+
+    return Path;
+}
+
+/*
+ * Convert to forward slashes. Resolve to full pathname optionally
+ */
+char *
+w32ify(char *filename, int resolve)
+{
+    static char w32_path[FILENAME_MAX];
+    char *p;
+
+    if (resolve)
+        _fullpath(w32_path, filename, sizeof (w32_path));
+    else
+        strncpy(w32_path, filename, sizeof (w32_path));
+
+    for (p = w32_path; p && *p; p++)
+        if (*p == '\\')
+            *p = '/';
+
+    return w32_path;
+}
+
+char *
+getcwd_fs(char* buf, int len)
+{
+       char *p;
+
+       if (p = getcwd(buf, len)) {
+               char *q = w32ify(buf, 0);
+               strncpy(buf, q, len);
+       }
+
+       return p;
+}
+
+#ifdef unused
+/*
+ * Convert delimiter separated pathnames (e.g. PATH) or single file pathname
+ * (e.g. c:/foo, c:\bar) to NutC format. If we are handed a string that
+ * _NutPathToNutc() fails to convert, just return the path we were handed
+ * and assume the caller will know what to do with it (It was probably
+ * a mistake to try and convert it anyway due to some of the bizarre things
+ * that might look like pathnames in makefiles).
+ */
+char *
+convert_path_to_nutc(char *path)
+{
+    int  count;            /* count of path elements */
+    char *nutc_path;     /* new NutC path */
+    int  nutc_path_len;    /* length of buffer to allocate for new path */
+    char *pathp;        /* pointer to nutc_path used to build it */
+    char *etok;            /* token separator for old path */
+    char *p;            /* points to element of old path */
+    char sep;            /* what flavor of separator used in old path */
+    char *rval;
+
+    /* is this a multi-element path ? */
+    for (p = path, etok = strpbrk(p, ":;"), count = 0;
+         etok;
+         etok = strpbrk(p, ":;"))
+        if ((etok - p) == 1) {
+            if (*(etok - 1) == ';' ||
+                *(etok - 1) == ':') {
+                p = ++etok;
+                continue;    /* ignore empty bucket */
+            } else if (etok = strpbrk(etok+1, ":;"))
+                /* found one to count, handle drive letter */
+                p = ++etok, count++;
+            else
+                /* all finished, force abort */
+                p += strlen(p);
+        } else
+            /* found another one, no drive letter */
+            p = ++etok, count++;
+
+    if (count) {
+        count++;    /* x1;x2;x3 <- need to count x3 */
+
+        /*
+         * Hazard a guess on how big the buffer needs to be.
+         * We have to convert things like c:/foo to /c=/foo.
+         */
+        nutc_path_len = strlen(path) + (count*2) + 1;
+        nutc_path = xmalloc(nutc_path_len);
+        pathp = nutc_path;
+        *pathp = '\0';
+
+        /*
+         * Loop through PATH and convert one elemnt of the path at at
+         * a time. Single file pathnames will fail this and fall
+         * to the logic below loop.
+         */
+        for (p = path, etok = strpbrk(p, ":;");
+             etok;
+             etok = strpbrk(p, ":;")) {
+
+            /* don't trip up on device specifiers or empty path slots */
+            if ((etok - p) == 1)
+                if (*(etok - 1) == ';' ||
+                    *(etok - 1) == ':') {
+                    p = ++etok;
+                    continue;
+                } else if ((etok = strpbrk(etok+1, ":;")) == NULL)
+                    break;    /* thing found was a WINDOWS32 pathname */
+
+            /* save separator */
+            sep = *etok;
+
+            /* terminate the current path element -- temporarily */
+            *etok = '\0';
+
+#ifdef __NUTC__
+            /* convert to NutC format */
+            if (_NutPathToNutc(p, pathp, 0) == FALSE) {
+                free(nutc_path);
+                rval = savestring(path, strlen(path));
+                return rval;
+            }
+#else
+            *pathp++ = '/';
+            *pathp++ = p[0];
+            *pathp++ = '=';
+            *pathp++ = '/';
+            strcpy(pathp, &p[2]);
+#endif
+
+            pathp += strlen(pathp);
+            *pathp++ = ':';     /* use Unix style path separtor for new path */
+            *pathp   = '\0'; /* make sure we are null terminaed */
+
+            /* restore path separator */
+            *etok = sep;
+
+            /* point p to first char of next path element */
+            p = ++etok;
+
+        }
+    } else {
+        nutc_path_len = strlen(path) + 3;
+        nutc_path = xmalloc(nutc_path_len);
+        pathp = nutc_path;
+        *pathp = '\0';
+        p = path;
+    }
+
+    /*
+      * OK, here we handle the last element in PATH (e.g. c of a;b;c)
+     * or the path was a single filename and will be converted
+     * here. Note, testing p here assures that we don't trip up
+     * on paths like a;b; which have trailing delimiter followed by
+     * nothing.
+     */
+    if (*p != '\0') {
+#ifdef __NUTC__
+        if (_NutPathToNutc(p, pathp, 0) == FALSE) {
+            free(nutc_path);
+            rval = savestring(path, strlen(path));
+            return rval;
+        }
+#else
+        *pathp++ = '/';
+        *pathp++ = p[0];
+        *pathp++ = '=';
+        *pathp++ = '/';
+        strcpy(pathp, &p[2]);
+#endif
+    } else
+        *(pathp-1) = '\0'; /* we're already done, don't leave trailing : */
+
+    rval = savestring(nutc_path, strlen(nutc_path));
+    free(nutc_path);
+    return rval;
+}
+
+#endif
diff --git a/src/mkutil/make-3.80/w32/subproc/NMakefile b/src/mkutil/make-3.80/w32/subproc/NMakefile
new file mode 100644 (file)
index 0000000..66afe65
--- /dev/null
@@ -0,0 +1,60 @@
+# NOTE: If you have no `make' program at all to process this makefile, run
+# `build.bat' instead.
+#
+# Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc
+# This file is part of GNU Make.
+#
+# GNU Make is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Make is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Make; see the file COPYING.  If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+#
+#       NMakefile for GNU Make (subproc library)
+#
+LIB = lib
+CC = cl
+
+OUTDIR=.
+MAKEFILE=NMakefile
+
+CFLAGS_any = /nologo /MT /W3 /GX /Z7 /YX /D WIN32 /D WINDOWS32 /D _WINDOWS  -I. -I../include -I../../
+CFLAGS_debug = $(CFLAGS_any) /Od /D _DEBUG /FR.\WinDebug\ /Fp.\WinDebug\subproc.pch /Fo.\WinDebug/
+CFLAGS_release = $(CFLAGS_any) /O2 /FR.\WinRel\ /Fp.\WinRel\subproc.pch /Fo.\WinRel/
+
+all: Release Debug
+
+Release:
+       $(MAKE) /f $(MAKEFILE) OUTDIR=WinRel CFLAGS="$(CFLAGS_release)" WinRel/subproc.lib
+Debug:
+       $(MAKE) /f $(MAKEFILE) OUTDIR=WinDebug CFLAGS="$(CFLAGS_debug)" WinDebug/subproc.lib
+
+clean:
+       rmdir /s /q WinRel WinDebug
+       erase *.pdb
+
+$(OUTDIR):
+       if not exist .\$@\nul mkdir .\$@
+
+OBJS = $(OUTDIR)/misc.obj $(OUTDIR)/w32err.obj $(OUTDIR)/sub_proc.obj
+
+$(OUTDIR)/subproc.lib: $(OUTDIR) $(OBJS)
+       $(LIB) -out:$@ @<<
+               $(OBJS)
+<<
+
+.c{$(OUTDIR)}.obj:
+       $(CC) $(CFLAGS) /c $<
+
+$(OUTDIR)/misc.obj: misc.c proc.h
+$(OUTDIR)/sub_proc.obj: sub_proc.c  ../include/sub_proc.h ../include/w32err.h proc.h
+$(OUTDIR)/w32err.obj: w32err.c ../include/w32err.h
diff --git a/src/mkutil/make-3.80/w32/subproc/build.bat b/src/mkutil/make-3.80/w32/subproc/build.bat
new file mode 100644 (file)
index 0000000..26ab1cb
--- /dev/null
@@ -0,0 +1,10 @@
+if not exist .\WinDebug\nul mkdir .\WinDebug\r
+cl.exe /nologo /MT /W3 /GX /Z7 /YX /Od /I .. /I . /I ../include /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c misc.c\r
+cl.exe /nologo /MT /W3 /GX /Z7 /YX /Od /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c sub_proc.c\r
+cl.exe /nologo /MT /W3 /GX /Z7 /YX /Od /I .. /I . /I ../include /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c w32err.c\r
+lib.exe /NOLOGO /OUT:.\WinDebug\subproc.lib  .\WinDebug/misc.obj  .\WinDebug/sub_proc.obj  .\WinDebug/w32err.obj\r
+if not exist .\WinRel\nul mkdir .\WinRel\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I ../include /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c misc.c\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c sub_proc.c\r
+cl.exe /nologo /MT /W3 /GX /YX /O2 /I ../include /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c w32err.c\r
+lib.exe /NOLOGO /OUT:.\WinRel\subproc.lib  .\WinRel/misc.obj  .\WinRel/sub_proc.obj  .\WinRel/w32err.obj\r
diff --git a/src/mkutil/make-3.80/w32/subproc/misc.c b/src/mkutil/make-3.80/w32/subproc/misc.c
new file mode 100644 (file)
index 0000000..d0e9ad9
--- /dev/null
@@ -0,0 +1,65 @@
+#include <stddef.h>\r
+#include <stdlib.h>\r
+#include <string.h>\r
+#include <windows.h>\r
+#include "proc.h"\r
+\r
+\r
+/*\r
+ * Description:  Convert a NULL string terminated UNIX environment block to\r
+ *             an environment block suitable for a windows32 system call\r
+ *\r
+ * Returns:  TRUE= success, FALSE=fail\r
+ *\r
+ * Notes/Dependencies:  the environment block is sorted in case-insensitive\r
+ *     order, is double-null terminated, and is a char *, not a char **\r
+ */\r
+int _cdecl compare(const void *a1, const void *a2)\r
+{\r
+       return _stricoll(*((char**)a1),*((char**)a2));\r
+}\r
+bool_t\r
+arr2envblk(char **arr, char **envblk_out) \r
+{\r
+       char **tmp;\r
+       int size_needed;\r
+       int arrcnt;\r
+       char *ptr;\r
+\r
+       arrcnt = 0;\r
+       while (arr[arrcnt]) {\r
+               arrcnt++;\r
+       }\r
+\r
+       tmp = (char**) calloc(arrcnt + 1, sizeof(char *));\r
+       if (!tmp) {\r
+               return FALSE;\r
+       }\r
+\r
+       arrcnt = 0;\r
+       size_needed = 0;\r
+       while (arr[arrcnt]) {\r
+               tmp[arrcnt] = arr[arrcnt];\r
+               size_needed += strlen(arr[arrcnt]) + 1;\r
+               arrcnt++;\r
+       }\r
+       size_needed++;\r
+\r
+       qsort((void *) tmp, (size_t) arrcnt, sizeof (char*), compare);\r
+\r
+       ptr = *envblk_out = calloc(size_needed, 1);\r
+       if (!ptr) {\r
+               free(tmp);\r
+               return FALSE;\r
+       }\r
+\r
+       arrcnt = 0;\r
+       while (tmp[arrcnt]) {\r
+               strcpy(ptr, tmp[arrcnt]);\r
+               ptr += strlen(tmp[arrcnt]) + 1;\r
+               arrcnt++;\r
+       }\r
+\r
+        free(tmp);\r
+       return TRUE;\r
+}\r
diff --git a/src/mkutil/make-3.80/w32/subproc/proc.h b/src/mkutil/make-3.80/w32/subproc/proc.h
new file mode 100644 (file)
index 0000000..249ffd8
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef  _PROC_H\r
+#define _PROC_H\r
+\r
+typedef int bool_t;\r
+\r
+#define E_SCALL                101\r
+#define E_IO           102\r
+#define E_NO_MEM       103\r
+#define E_FORK         104\r
+\r
+extern bool_t arr2envblk(char **arr, char **envblk_out);\r
+\r
+#endif\r
diff --git a/src/mkutil/make-3.80/w32/subproc/sub_proc.c b/src/mkutil/make-3.80/w32/subproc/sub_proc.c
new file mode 100644 (file)
index 0000000..52f2fa2
--- /dev/null
@@ -0,0 +1,1207 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <process.h>  /* for msvc _beginthreadex, _endthreadex */
+#include <windows.h>
+
+#include "sub_proc.h"
+#include "proc.h"
+#include "w32err.h"
+#include "config.h"
+#include "debug.h"
+
+static char *make_command_line(char *shell_name, char *exec_path, char **argv);
+
+typedef struct sub_process_t {
+       int sv_stdin[2];
+       int sv_stdout[2];
+       int sv_stderr[2];
+       int using_pipes;
+       char *inp;
+       DWORD incnt;
+       char * volatile outp;
+       volatile DWORD outcnt;
+       char * volatile errp;
+       volatile DWORD errcnt;
+       int pid;
+       int exit_code;
+       int signal;
+       long last_err;
+       long lerrno;
+} sub_process;
+
+/* keep track of children so we can implement a waitpid-like routine */
+static sub_process *proc_array[256];
+static int proc_index = 0;
+static int fake_exits_pending = 0;
+
+/*
+ * When a process has been waited for, adjust the wait state
+ * array so that we don't wait for it again
+ */
+static void
+process_adjust_wait_state(sub_process* pproc)
+{
+       int i;
+
+       if (!proc_index)
+               return;
+
+       for (i = 0; i < proc_index; i++)
+               if (proc_array[i]->pid == pproc->pid)
+                       break;
+
+       if (i < proc_index) {
+               proc_index--;
+               if (i != proc_index)
+                       memmove(&proc_array[i], &proc_array[i+1],
+                               (proc_index-i) * sizeof(sub_process*));
+               proc_array[proc_index] = NULL;
+       }
+}
+
+/*
+ * Waits for any of the registered child processes to finish.
+ */
+static sub_process *
+process_wait_for_any_private(void)
+{
+       HANDLE handles[256];
+       DWORD retval, which;
+       int i;
+
+       if (!proc_index)
+               return NULL;
+
+       /* build array of handles to wait for */
+       for (i = 0; i < proc_index; i++) {
+               handles[i] = (HANDLE) proc_array[i]->pid;
+
+               if (fake_exits_pending && proc_array[i]->exit_code)
+                       break;
+       }
+
+       /* wait for someone to exit */
+       if (!fake_exits_pending) {
+               retval = WaitForMultipleObjects(proc_index, handles, FALSE, INFINITE);
+               which = retval - WAIT_OBJECT_0;
+       } else {
+               fake_exits_pending--;
+               retval = !WAIT_FAILED;
+               which = i;
+       }
+
+       /* return pointer to process */
+       if (retval != WAIT_FAILED) {
+               sub_process* pproc = proc_array[which];
+               process_adjust_wait_state(pproc);
+               return pproc;
+       } else
+               return NULL;
+}
+
+/*
+ * Terminate a process.
+ */
+BOOL
+process_kill(HANDLE proc, int signal)
+{
+       sub_process* pproc = (sub_process*) proc;
+       pproc->signal = signal;
+       return (TerminateProcess((HANDLE) pproc->pid, signal));
+}
+
+/*
+ * Use this function to register processes you wish to wait for by
+ * calling process_file_io(NULL) or process_wait_any(). This must be done
+ * because it is possible for callers of this library to reuse the same
+ * handle for multiple processes launches :-(
+ */
+void
+process_register(HANDLE proc)
+{
+       proc_array[proc_index++] = (sub_process *) proc;
+}
+
+/*
+ * Public function which works kind of like waitpid(). Wait for any
+ * of the children to die and return results. To call this function,
+ * you must do 1 of things:
+ *
+ *     x = process_easy(...);
+ *
+ * or
+ *
+ *     x = process_init_fd();
+ *     process_register(x);
+ *
+ * or
+ *
+ *     x = process_init();
+ *     process_register(x);
+ *
+ * You must NOT then call process_pipe_io() because this function is
+ * not capable of handling automatic notification of any child
+ * death.
+ */
+
+HANDLE
+process_wait_for_any(void)
+{
+       sub_process* pproc = process_wait_for_any_private();
+
+       if (!pproc)
+               return NULL;
+       else {
+               /*
+                * Ouch! can't tell caller if this fails directly. Caller
+                * will have to use process_last_err()
+                 */
+               (void) process_file_io(pproc);
+               return ((HANDLE) pproc);
+       }
+}
+
+long
+process_errno(HANDLE proc)
+{
+       return (((sub_process *)proc)->lerrno);
+}
+
+long
+process_signal(HANDLE proc)
+{
+       return (((sub_process *)proc)->signal);
+}
+
+       long
+process_last_err(HANDLE proc)
+{
+       return (((sub_process *)proc)->last_err);
+}
+
+       long
+process_exit_code(HANDLE proc)
+{
+       return (((sub_process *)proc)->exit_code);
+}
+
+       char *
+process_outbuf(HANDLE proc)
+{
+       return (((sub_process *)proc)->outp);
+}
+
+       char *
+process_errbuf(HANDLE proc)
+{
+       return (((sub_process *)proc)->errp);
+}
+
+       int
+process_outcnt(HANDLE proc)
+{
+       return (((sub_process *)proc)->outcnt);
+}
+
+       int
+process_errcnt(HANDLE proc)
+{
+       return (((sub_process *)proc)->errcnt);
+}
+
+       void
+process_pipes(HANDLE proc, int pipes[3])
+{
+       pipes[0] = ((sub_process *)proc)->sv_stdin[0];
+       pipes[1] = ((sub_process *)proc)->sv_stdout[0];
+       pipes[2] = ((sub_process *)proc)->sv_stderr[0];
+       return;
+}
+
+
+       HANDLE
+process_init()
+{
+       sub_process *pproc;
+       /*
+        * open file descriptors for attaching stdin/stdout/sterr
+        */
+       HANDLE stdin_pipes[2];
+       HANDLE stdout_pipes[2];
+       HANDLE stderr_pipes[2];
+       SECURITY_ATTRIBUTES inherit;
+       BYTE sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
+
+       pproc = malloc(sizeof(*pproc));
+       memset(pproc, 0, sizeof(*pproc));
+
+       /* We can't use NULL for lpSecurityDescriptor because that
+          uses the default security descriptor of the calling process.
+          Instead we use a security descriptor with no DACL.  This
+          allows nonrestricted access to the associated objects. */
+
+       if (!InitializeSecurityDescriptor((PSECURITY_DESCRIPTOR)(&sd),
+                                         SECURITY_DESCRIPTOR_REVISION)) {
+               pproc->last_err = GetLastError();
+               pproc->lerrno = E_SCALL;
+               return((HANDLE)pproc);
+       }
+
+       inherit.nLength = sizeof(inherit);
+       inherit.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR)(&sd);
+       inherit.bInheritHandle = TRUE;
+
+       // By convention, parent gets pipe[0], and child gets pipe[1]
+       // This means the READ side of stdin pipe goes into pipe[1]
+       // and the WRITE side of the stdout and stderr pipes go into pipe[1]
+       if (CreatePipe( &stdin_pipes[1], &stdin_pipes[0], &inherit, 0) == FALSE ||
+       CreatePipe( &stdout_pipes[0], &stdout_pipes[1], &inherit, 0) == FALSE ||
+       CreatePipe( &stderr_pipes[0], &stderr_pipes[1], &inherit, 0) == FALSE) {
+
+               pproc->last_err = GetLastError();
+               pproc->lerrno = E_SCALL;
+               return((HANDLE)pproc);
+       }
+
+       //
+       // Mark the parent sides of the pipes as non-inheritable
+       //
+       if (SetHandleInformation(stdin_pipes[0],
+                               HANDLE_FLAG_INHERIT, 0) == FALSE ||
+               SetHandleInformation(stdout_pipes[0],
+                               HANDLE_FLAG_INHERIT, 0) == FALSE ||
+               SetHandleInformation(stderr_pipes[0],
+                               HANDLE_FLAG_INHERIT, 0) == FALSE) {
+
+               pproc->last_err = GetLastError();
+               pproc->lerrno = E_SCALL;
+               return((HANDLE)pproc);
+       }
+       pproc->sv_stdin[0]  = (int) stdin_pipes[0];
+       pproc->sv_stdin[1]  = (int) stdin_pipes[1];
+       pproc->sv_stdout[0] = (int) stdout_pipes[0];
+       pproc->sv_stdout[1] = (int) stdout_pipes[1];
+       pproc->sv_stderr[0] = (int) stderr_pipes[0];
+       pproc->sv_stderr[1] = (int) stderr_pipes[1];
+
+       pproc->using_pipes = 1;
+
+       pproc->lerrno = 0;
+
+       return((HANDLE)pproc);
+}
+
+
+       HANDLE
+process_init_fd(HANDLE stdinh, HANDLE stdouth, HANDLE stderrh)
+{
+       sub_process *pproc;
+
+       pproc = malloc(sizeof(*pproc));
+       memset(pproc, 0, sizeof(*pproc));
+
+       /*
+        * Just pass the provided file handles to the 'child side' of the
+        * pipe, bypassing pipes altogether.
+        */
+       pproc->sv_stdin[1]  = (int) stdinh;
+       pproc->sv_stdout[1] = (int) stdouth;
+       pproc->sv_stderr[1] = (int) stderrh;
+
+       pproc->last_err = pproc->lerrno = 0;
+
+       return((HANDLE)pproc);
+}
+
+
+static HANDLE
+find_file(char *exec_path, LPOFSTRUCT file_info)
+{
+       HANDLE exec_handle;
+       char *fname;
+       char *ext;
+
+       fname = malloc(strlen(exec_path) + 5);
+       strcpy(fname, exec_path);
+       ext = fname + strlen(fname);
+
+       strcpy(ext, ".exe");
+       if ((exec_handle = (HANDLE)OpenFile(fname, file_info,
+                       OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) {
+               free(fname);
+               return(exec_handle);
+       }
+
+       strcpy(ext, ".cmd");
+       if ((exec_handle = (HANDLE)OpenFile(fname, file_info,
+                       OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) {
+               free(fname);
+               return(exec_handle);
+       }
+
+       strcpy(ext, ".bat");
+       if ((exec_handle = (HANDLE)OpenFile(fname, file_info,
+                       OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) {
+               free(fname);
+               return(exec_handle);
+       }
+
+       /* should .com come before this case? */
+       if ((exec_handle = (HANDLE)OpenFile(exec_path, file_info,
+                       OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) {
+               free(fname);
+               return(exec_handle);
+       }
+
+       strcpy(ext, ".com");
+       if ((exec_handle = (HANDLE)OpenFile(fname, file_info,
+                       OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) {
+               free(fname);
+               return(exec_handle);
+       }
+
+       free(fname);
+       return(exec_handle);
+}
+
+
+/*
+ * Description:   Create the child process to be helped
+ *
+ * Returns:
+ *
+ * Notes/Dependencies:
+ */
+long
+process_begin(
+       HANDLE proc,
+       char **argv,
+       char **envp,
+       char *exec_path,
+       char *as_user)
+{
+       sub_process *pproc = (sub_process *)proc;
+       char *shell_name = 0;
+       int file_not_found=0;
+       HANDLE exec_handle;
+       char buf[256];
+       DWORD bytes_returned;
+       DWORD flags;
+       char *command_line;
+       STARTUPINFO startInfo;
+       PROCESS_INFORMATION procInfo;
+       char *envblk=NULL;
+       OFSTRUCT file_info;
+
+
+       /*
+        *  Shell script detection...  if the exec_path starts with #! then
+        *  we want to exec shell-script-name exec-path, not just exec-path
+        *  NT doesn't recognize #!/bin/sh or #!/etc/Tivoli/bin/perl.  We do not
+        *  hard-code the path to the shell or perl or whatever:  Instead, we
+        *  assume it's in the path somewhere (generally, the NT tools
+        *  bin directory)
+        *  We use OpenFile here because it is capable of searching the Path.
+        */
+
+       exec_handle = find_file(exec_path, &file_info);
+
+       /*
+        * If we couldn't open the file, just assume that Windows32 will be able
+        * to find and execute it.
+        */
+       if (exec_handle == (HANDLE)HFILE_ERROR) {
+               file_not_found++;
+       }
+       else {
+               /* Attempt to read the first line of the file */
+               if (ReadFile( exec_handle,
+                               buf, sizeof(buf) - 1, /* leave room for trailing NULL */
+                               &bytes_returned, 0) == FALSE || bytes_returned < 2) {
+
+                       pproc->last_err = GetLastError();
+                       pproc->lerrno = E_IO;
+                       CloseHandle(exec_handle);
+                       return(-1);
+               }
+               if (buf[0] == '#' && buf[1] == '!') {
+                       /*
+                        *  This is a shell script...  Change the command line from
+                        *      exec_path args to shell_name exec_path args
+                        */
+                       char *p;
+
+                       /*  Make sure buf is NULL terminated */
+                       buf[bytes_returned] = 0;
+                       /*
+                        * Depending on the file system type, etc. the first line
+                        * of the shell script may end with newline or newline-carriage-return
+                        * Whatever it ends with, cut it off.
+                        */
+                       p= strchr(buf, '\n');
+                       if (p)
+                               *p = 0;
+                       p = strchr(buf, '\r');
+                       if (p)
+                               *p = 0;
+
+                       /*
+                        *  Find base name of shell
+                        */
+                       shell_name = strrchr( buf, '/');
+                       if (shell_name) {
+                               shell_name++;
+                       } else {
+                               shell_name = &buf[2];/* skipping "#!" */
+                       }
+
+               }
+               CloseHandle(exec_handle);
+       }
+
+       flags = 0;
+
+       if (file_not_found)
+               command_line = make_command_line( shell_name, exec_path, argv);
+       else
+               command_line = make_command_line( shell_name, file_info.szPathName,
+                                argv);
+
+       if ( command_line == NULL ) {
+               pproc->last_err = 0;
+               pproc->lerrno = E_NO_MEM;
+               return(-1);
+       }
+
+       if (envp) {
+               if (arr2envblk(envp, &envblk) ==FALSE) {
+                       pproc->last_err = 0;
+                       pproc->lerrno = E_NO_MEM;
+                       free( command_line );
+                       return(-1);
+               }
+       }
+
+       if ((shell_name) || (file_not_found)) {
+               exec_path = 0;  /* Search for the program in %Path% */
+       } else {
+               exec_path = file_info.szPathName;
+       }
+
+       /*
+        *  Set up inherited stdin, stdout, stderr for child
+        */
+       GetStartupInfo(&startInfo);
+       startInfo.dwFlags = STARTF_USESTDHANDLES;
+       startInfo.lpReserved = 0;
+       startInfo.cbReserved2 = 0;
+       startInfo.lpReserved2 = 0;
+       startInfo.lpTitle = shell_name ? shell_name : exec_path;
+       startInfo.hStdInput = (HANDLE)pproc->sv_stdin[1];
+       startInfo.hStdOutput = (HANDLE)pproc->sv_stdout[1];
+       startInfo.hStdError = (HANDLE)pproc->sv_stderr[1];
+
+       if (as_user) {
+               if (envblk) free(envblk);
+               return -1;
+       } else {
+               DB (DB_JOBS, ("CreateProcess(%s,%s,...)\n",
+                       exec_path ? exec_path : "NULL",
+                       command_line ? command_line : "NULL"));
+               if (CreateProcess(
+                       exec_path,
+                       command_line,
+                       NULL,
+                       0, /* default security attributes for thread */
+                       TRUE, /* inherit handles (e.g. helper pipes, oserv socket) */
+                       flags,
+                       envblk,
+                       0, /* default starting directory */
+                       &startInfo,
+                       &procInfo) == FALSE) {
+
+                       pproc->last_err = GetLastError();
+                       pproc->lerrno = E_FORK;
+                       fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n", exec_path, command_line);
+                       if (envblk) free(envblk);
+                       free( command_line );
+                       return(-1);
+               }
+       }
+
+       pproc->pid = (int)procInfo.hProcess;
+       /* Close the thread handle -- we'll just watch the process */
+       CloseHandle(procInfo.hThread);
+
+       /* Close the halves of the pipes we don't need */
+       if (pproc->sv_stdin) {
+               CloseHandle((HANDLE)pproc->sv_stdin[1]);
+               (HANDLE)pproc->sv_stdin[1] = 0;
+       }
+       if (pproc->sv_stdout) {
+               CloseHandle((HANDLE)pproc->sv_stdout[1]);
+               (HANDLE)pproc->sv_stdout[1] = 0;
+       }
+       if (pproc->sv_stderr) {
+               CloseHandle((HANDLE)pproc->sv_stderr[1]);
+               (HANDLE)pproc->sv_stderr[1] = 0;
+       }
+
+       free( command_line );
+       if (envblk) free(envblk);
+       pproc->lerrno=0;
+       return 0;
+}
+
+
+
+static DWORD
+proc_stdin_thread(sub_process *pproc)
+{
+       DWORD in_done;
+       for (;;) {
+               if (WriteFile( (HANDLE) pproc->sv_stdin[0], pproc->inp, pproc->incnt,
+                                        &in_done, NULL) == FALSE)
+                       _endthreadex(0);
+               // This if should never be true for anonymous pipes, but gives
+               // us a chance to change I/O mechanisms later
+               if (in_done < pproc->incnt) {
+                       pproc->incnt -= in_done;
+                       pproc->inp += in_done;
+               } else {
+                       _endthreadex(0);
+               }
+       }
+       return 0; // for compiler warnings only.. not reached
+}
+
+static DWORD
+proc_stdout_thread(sub_process *pproc)
+{
+       DWORD bufsize = 1024;
+       char c;
+       DWORD nread;
+       pproc->outp = malloc(bufsize);
+       if (pproc->outp == NULL)
+               _endthreadex(0);
+       pproc->outcnt = 0;
+
+       for (;;) {
+               if (ReadFile( (HANDLE)pproc->sv_stdout[0], &c, 1, &nread, NULL)
+                                       == FALSE) {
+/*                     map_windows32_error_to_string(GetLastError());*/
+                       _endthreadex(0);
+               }
+               if (nread == 0)
+                       _endthreadex(0);
+               if (pproc->outcnt + nread > bufsize) {
+                       bufsize += nread + 512;
+                       pproc->outp = realloc(pproc->outp, bufsize);
+                       if (pproc->outp == NULL) {
+                               pproc->outcnt = 0;
+                               _endthreadex(0);
+                       }
+               }
+               pproc->outp[pproc->outcnt++] = c;
+       }
+       return 0;
+}
+
+static DWORD
+proc_stderr_thread(sub_process *pproc)
+{
+       DWORD bufsize = 1024;
+       char c;
+       DWORD nread;
+       pproc->errp = malloc(bufsize);
+       if (pproc->errp == NULL)
+               _endthreadex(0);
+       pproc->errcnt = 0;
+
+       for (;;) {
+               if (ReadFile( (HANDLE)pproc->sv_stderr[0], &c, 1, &nread, NULL) == FALSE) {
+                       map_windows32_error_to_string(GetLastError());
+                       _endthreadex(0);
+               }
+               if (nread == 0)
+                       _endthreadex(0);
+               if (pproc->errcnt + nread > bufsize) {
+                       bufsize += nread + 512;
+                       pproc->errp = realloc(pproc->errp, bufsize);
+                       if (pproc->errp == NULL) {
+                               pproc->errcnt = 0;
+                               _endthreadex(0);
+                       }
+               }
+               pproc->errp[pproc->errcnt++] = c;
+       }
+       return 0;
+}
+
+
+/*
+ * Purpose: collects output from child process and returns results
+ *
+ * Description:
+ *
+ * Returns:
+ *
+ * Notes/Dependencies:
+ */
+       long
+process_pipe_io(
+       HANDLE proc,
+       char *stdin_data,
+       int stdin_data_len)
+{
+       sub_process *pproc = (sub_process *)proc;
+       bool_t stdin_eof = FALSE, stdout_eof = FALSE, stderr_eof = FALSE;
+       HANDLE childhand = (HANDLE) pproc->pid;
+       HANDLE tStdin, tStdout, tStderr;
+       DWORD dwStdin, dwStdout, dwStderr;
+       HANDLE wait_list[4];
+       DWORD wait_count;
+       DWORD wait_return;
+       HANDLE ready_hand;
+       bool_t child_dead = FALSE;
+
+
+       /*
+        *  Create stdin thread, if needed
+        */
+    pproc->inp = stdin_data;
+    pproc->incnt = stdin_data_len;
+       if (!pproc->inp) {
+               stdin_eof = TRUE;
+               CloseHandle((HANDLE)pproc->sv_stdin[0]);
+               (HANDLE)pproc->sv_stdin[0] = 0;
+       } else {
+               tStdin = (HANDLE) _beginthreadex( 0, 1024,
+                       (unsigned (__stdcall *) (void *))proc_stdin_thread, pproc, 0,
+                       (unsigned int *) &dwStdin);
+               if (tStdin == 0) {
+                       pproc->last_err = GetLastError();
+                       pproc->lerrno = E_SCALL;
+                       goto done;
+               }
+       }
+
+       /*
+        *   Assume child will produce stdout and stderr
+        */
+       tStdout = (HANDLE) _beginthreadex( 0, 1024,
+               (unsigned (__stdcall *) (void *))proc_stdout_thread, pproc, 0,
+               (unsigned int *) &dwStdout);
+       tStderr = (HANDLE) _beginthreadex( 0, 1024,
+               (unsigned (__stdcall *) (void *))proc_stderr_thread, pproc, 0,
+               (unsigned int *) &dwStderr);
+
+       if (tStdout == 0 || tStderr == 0) {
+
+               pproc->last_err = GetLastError();
+               pproc->lerrno = E_SCALL;
+               goto done;
+       }
+
+
+       /*
+        *  Wait for all I/O to finish and for the child process to exit
+        */
+
+       while (!stdin_eof || !stdout_eof || !stderr_eof || !child_dead) {
+               wait_count = 0;
+               if (!stdin_eof) {
+                       wait_list[wait_count++] = tStdin;
+               }
+               if (!stdout_eof) {
+                       wait_list[wait_count++] = tStdout;
+               }
+               if (!stderr_eof) {
+                       wait_list[wait_count++] = tStderr;
+               }
+               if (!child_dead) {
+                       wait_list[wait_count++] = childhand;
+               }
+
+               wait_return = WaitForMultipleObjects(wait_count, wait_list,
+                        FALSE, /* don't wait for all: one ready will do */
+                        child_dead? 1000 :INFINITE); /* after the child dies, subthreads have
+                               one second to collect all remaining output */
+
+               if (wait_return == WAIT_FAILED) {
+/*                     map_windows32_error_to_string(GetLastError());*/
+                       pproc->last_err = GetLastError();
+                       pproc->lerrno = E_SCALL;
+                       goto done;
+               }
+
+               ready_hand = wait_list[wait_return - WAIT_OBJECT_0];
+
+               if (ready_hand == tStdin) {
+                       CloseHandle((HANDLE)pproc->sv_stdin[0]);
+                       (HANDLE)pproc->sv_stdin[0] = 0;
+                       CloseHandle(tStdin);
+                       tStdin = 0;
+                       stdin_eof = TRUE;
+
+               } else if (ready_hand == tStdout) {
+
+                       CloseHandle((HANDLE)pproc->sv_stdout[0]);
+                       (HANDLE)pproc->sv_stdout[0] = 0;
+                       CloseHandle(tStdout);
+                       tStdout = 0;
+                       stdout_eof = TRUE;
+
+               } else if (ready_hand == tStderr) {
+
+                       CloseHandle((HANDLE)pproc->sv_stderr[0]);
+                       (HANDLE)pproc->sv_stderr[0] = 0;
+                       CloseHandle(tStderr);
+                       tStderr = 0;
+                       stderr_eof = TRUE;
+
+               } else if (ready_hand == childhand) {
+
+                       if (GetExitCodeProcess(childhand, &pproc->exit_code) == FALSE) {
+                               pproc->last_err = GetLastError();
+                               pproc->lerrno = E_SCALL;
+                               goto done;
+                       }
+                       child_dead = TRUE;
+
+               } else {
+
+                       /* ?? Got back a handle we didn't query ?? */
+                       pproc->last_err = 0;
+                       pproc->lerrno = E_FAIL;
+                       goto done;
+               }
+       }
+
+ done:
+       if (tStdin != 0)
+               CloseHandle(tStdin);
+       if (tStdout != 0)
+               CloseHandle(tStdout);
+       if (tStderr != 0)
+               CloseHandle(tStderr);
+
+       if (pproc->lerrno)
+               return(-1);
+       else
+               return(0);
+
+}
+
+/*
+ * Purpose: collects output from child process and returns results
+ *
+ * Description:
+ *
+ * Returns:
+ *
+ * Notes/Dependencies:
+ */
+       long
+process_file_io(
+       HANDLE proc)
+{
+       sub_process *pproc;
+       HANDLE childhand;
+       DWORD wait_return;
+
+       if (proc == NULL)
+               pproc = process_wait_for_any_private();
+       else
+               pproc = (sub_process *)proc;
+
+       /* some sort of internal error */
+       if (!pproc)
+               return -1;
+
+       childhand = (HANDLE) pproc->pid;
+
+       /*
+        * This function is poorly named, and could also be used just to wait
+        * for child death if you're doing your own pipe I/O.  If that is
+        * the case, close the pipe handles here.
+        */
+       if (pproc->sv_stdin[0]) {
+               CloseHandle((HANDLE)pproc->sv_stdin[0]);
+               pproc->sv_stdin[0] = 0;
+       }
+       if (pproc->sv_stdout[0]) {
+               CloseHandle((HANDLE)pproc->sv_stdout[0]);
+               pproc->sv_stdout[0] = 0;
+       }
+       if (pproc->sv_stderr[0]) {
+               CloseHandle((HANDLE)pproc->sv_stderr[0]);
+               pproc->sv_stderr[0] = 0;
+       }
+
+       /*
+        *  Wait for the child process to exit
+        */
+
+       wait_return = WaitForSingleObject(childhand, INFINITE);
+
+       if (wait_return != WAIT_OBJECT_0) {
+/*             map_windows32_error_to_string(GetLastError());*/
+               pproc->last_err = GetLastError();
+               pproc->lerrno = E_SCALL;
+               goto done2;
+       }
+
+       if (GetExitCodeProcess(childhand, &pproc->exit_code) == FALSE) {
+               pproc->last_err = GetLastError();
+               pproc->lerrno = E_SCALL;
+       }
+
+done2:
+       if (pproc->lerrno)
+               return(-1);
+       else
+               return(0);
+
+}
+
+/*
+ * Description:  Clean up any leftover handles, etc.  It is up to the
+ * caller to manage and free the input, ouput, and stderr buffers.
+ */
+       void
+process_cleanup(
+       HANDLE proc)
+{
+       sub_process *pproc = (sub_process *)proc;
+       int i;
+
+       if (pproc->using_pipes) {
+               for (i= 0; i <= 1; i++) {
+                       if ((HANDLE)pproc->sv_stdin[i])
+                               CloseHandle((HANDLE)pproc->sv_stdin[i]);
+                       if ((HANDLE)pproc->sv_stdout[i])
+                               CloseHandle((HANDLE)pproc->sv_stdout[i]);
+                       if ((HANDLE)pproc->sv_stderr[i])
+                               CloseHandle((HANDLE)pproc->sv_stderr[i]);
+               }
+       }
+       if ((HANDLE)pproc->pid)
+               CloseHandle((HANDLE)pproc->pid);
+
+       free(pproc);
+}
+
+
+/*
+ * Description:
+ *      Create a command line buffer to pass to CreateProcess
+ *
+ * Returns:  the buffer or NULL for failure
+ *     Shell case:  sh_name a:/full/path/to/script argv[1] argv[2] ...
+ *  Otherwise:   argv[0] argv[1] argv[2] ...
+ *
+ * Notes/Dependencies:
+ *   CreateProcess does not take an argv, so this command creates a
+ *   command line for the executable.
+ */
+
+static char *
+make_command_line( char *shell_name, char *full_exec_path, char **argv)
+{
+       int             argc = 0;
+       char**          argvi;
+       int*            enclose_in_quotes = NULL;
+       int*            enclose_in_quotes_i;
+       unsigned int    bytes_required = 0;
+       char*           command_line;
+       char*           command_line_i;
+       int  cygwin_mode = 0; /* HAVE_CYGWIN_SHELL */
+       int have_sh = 0; /* HAVE_CYGWIN_SHELL */
+
+#ifdef HAVE_CYGWIN_SHELL
+       have_sh = (shell_name != NULL || strstr(full_exec_path, "sh.exe"));
+       cygwin_mode = 1;
+#endif
+
+       if (shell_name && full_exec_path) {
+               bytes_required
+                 = strlen(shell_name) + 1 + strlen(full_exec_path);
+               /*
+                * Skip argv[0] if any, when shell_name is given.
+                */
+               if (*argv) argv++;
+               /*
+                * Add one for the intervening space.
+                */
+               if (*argv) bytes_required++;
+       }
+
+       argvi = argv;
+       while (*(argvi++)) argc++;
+
+       if (argc) {
+               enclose_in_quotes = (int*) calloc(1, argc * sizeof(int));
+
+               if (!enclose_in_quotes) {
+                       return NULL;
+               }
+       }
+
+       /* We have to make one pass through each argv[i] to see if we need
+        * to enclose it in ", so we might as well figure out how much
+        * memory we'll need on the same pass.
+        */
+
+       argvi = argv;
+       enclose_in_quotes_i = enclose_in_quotes;
+       while(*argvi) {
+               char* p = *argvi;
+               unsigned int backslash_count = 0;
+
+               /*
+                * We have to enclose empty arguments in ".
+                */
+               if (!(*p)) *enclose_in_quotes_i = 1;
+
+               while(*p) {
+                       switch (*p) {
+                       case '\"':
+                               /*
+                                * We have to insert a backslash for each "
+                                * and each \ that precedes the ".
+                                */
+                               bytes_required += (backslash_count + 1);
+                               backslash_count = 0;
+                               break;
+
+#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
+                       case '\\':
+                               backslash_count++;
+                               break;
+#endif
+       /*
+        * At one time we set *enclose_in_quotes_i for '*' or '?' to suppress
+        * wildcard expansion in programs linked with MSVC's SETARGV.OBJ so
+        * that argv in always equals argv out. This was removed.  Say you have
+        * such a program named glob.exe.  You enter
+        * glob '*'
+        * at the sh command prompt.  Obviously the intent is to make glob do the
+        * wildcarding instead of sh.  If we set *enclose_in_quotes_i for '*' or '?',
+        * then the command line that glob would see would be
+        * glob "*"
+        * and the _setargv in SETARGV.OBJ would _not_ expand the *.
+        */
+                       case ' ':
+                       case '\t':
+                               *enclose_in_quotes_i = 1;
+                               /* fall through */
+
+                       default:
+                               backslash_count = 0;
+                               break;
+                       }
+
+                       /*
+                        * Add one for each character in argv[i].
+                        */
+                       bytes_required++;
+
+                       p++;
+               }
+
+               if (*enclose_in_quotes_i) {
+                       /*
+                        * Add one for each enclosing ",
+                        * and one for each \ that precedes the
+                        * closing ".
+                        */
+                       bytes_required += (backslash_count + 2);
+               }
+
+               /*
+                * Add one for the intervening space.
+                */
+               if (*(++argvi)) bytes_required++;
+               enclose_in_quotes_i++;
+       }
+
+       /*
+        * Add one for the terminating NULL.
+        */
+       bytes_required++;
+
+       command_line = (char*) malloc(bytes_required);
+
+       if (!command_line) {
+               if (enclose_in_quotes) free(enclose_in_quotes);
+               return NULL;
+       }
+
+       command_line_i = command_line;
+
+       if (shell_name && full_exec_path) {
+               while(*shell_name) {
+                       *(command_line_i++) = *(shell_name++);
+               }
+
+               *(command_line_i++) = ' ';
+
+               while(*full_exec_path) {
+                       *(command_line_i++) = *(full_exec_path++);
+               }
+
+               if (*argv) {
+                       *(command_line_i++) = ' ';
+               }
+       }
+
+       argvi = argv;
+       enclose_in_quotes_i = enclose_in_quotes;
+
+       while(*argvi) {
+               char* p = *argvi;
+               unsigned int backslash_count = 0;
+
+               if (*enclose_in_quotes_i) {
+                       *(command_line_i++) = '\"';
+               }
+
+               while(*p) {
+                       if (*p == '\"') {
+                               if (cygwin_mode && have_sh) { /* HAVE_CYGWIN_SHELL */
+                                       /* instead of a \", cygwin likes "" */
+                                       *(command_line_i++) = '\"';
+                               } else {
+
+                               /*
+                                * We have to insert a backslash for the "
+                                * and each \ that precedes the ".
+                                */
+                               backslash_count++;
+
+                               while(backslash_count) {
+                                       *(command_line_i++) = '\\';
+                                       backslash_count--;
+                               };
+                               }
+#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
+                       } else if (*p == '\\') {
+                               backslash_count++;
+                       } else {
+                               backslash_count = 0;
+#endif
+                       }
+
+                       /*
+                        * Copy the character.
+                        */
+                       *(command_line_i++) = *(p++);
+               }
+
+               if (*enclose_in_quotes_i) {
+#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
+                       /*
+                        * Add one \ for each \ that precedes the
+                        * closing ".
+                        */
+                       while(backslash_count--) {
+                               *(command_line_i++) = '\\';
+                       };
+#endif
+                       *(command_line_i++) = '\"';
+               }
+
+               /*
+                * Append an intervening space.
+                */
+               if (*(++argvi)) {
+                       *(command_line_i++) = ' ';
+               }
+
+               enclose_in_quotes_i++;
+       }
+
+       /*
+        * Append the terminating NULL.
+        */
+       *command_line_i = '\0';
+
+       if (enclose_in_quotes) free(enclose_in_quotes);
+       return command_line;
+}
+
+/*
+ * Description: Given an argv and optional envp, launch the process
+ *              using the default stdin, stdout, and stderr handles.
+ *              Also, register process so that process_wait_for_any_private()
+ *             can be used via process_file_io(NULL) or
+ *             process_wait_for_any().
+ *
+ * Returns:
+ *
+ * Notes/Dependencies:
+ */
+HANDLE
+process_easy(
+       char **argv,
+       char **envp)
+{
+  HANDLE hIn;
+  HANDLE hOut;
+  HANDLE hErr;
+  HANDLE hProcess;
+
+  if (DuplicateHandle(GetCurrentProcess(),
+                      GetStdHandle(STD_INPUT_HANDLE),
+                      GetCurrentProcess(),
+                      &hIn,
+                      0,
+                      TRUE,
+                      DUPLICATE_SAME_ACCESS) == FALSE) {
+    fprintf(stderr,
+            "process_easy: DuplicateHandle(In) failed (e=%d)\n",
+            GetLastError());
+    return INVALID_HANDLE_VALUE;
+  }
+  if (DuplicateHandle(GetCurrentProcess(),
+                      GetStdHandle(STD_OUTPUT_HANDLE),
+                      GetCurrentProcess(),
+                      &hOut,
+                      0,
+                      TRUE,
+                      DUPLICATE_SAME_ACCESS) == FALSE) {
+    fprintf(stderr,
+           "process_easy: DuplicateHandle(Out) failed (e=%d)\n",
+           GetLastError());
+    return INVALID_HANDLE_VALUE;
+  }
+  if (DuplicateHandle(GetCurrentProcess(),
+                      GetStdHandle(STD_ERROR_HANDLE),
+                      GetCurrentProcess(),
+                      &hErr,
+                      0,
+                      TRUE,
+                      DUPLICATE_SAME_ACCESS) == FALSE) {
+    fprintf(stderr,
+            "process_easy: DuplicateHandle(Err) failed (e=%d)\n",
+            GetLastError());
+    return INVALID_HANDLE_VALUE;
+  }
+
+  hProcess = process_init_fd(hIn, hOut, hErr);
+
+  if (process_begin(hProcess, argv, envp, argv[0], NULL)) {
+    fake_exits_pending++;
+    ((sub_process*) hProcess)->exit_code = process_last_err(hProcess);
+
+    /* close up unused handles */
+    CloseHandle(hIn);
+    CloseHandle(hOut);
+    CloseHandle(hErr);
+  }
+
+  process_register(hProcess);
+
+  return hProcess;
+}
diff --git a/src/mkutil/make-3.80/w32/subproc/w32err.c b/src/mkutil/make-3.80/w32/subproc/w32err.c
new file mode 100644 (file)
index 0000000..afe7668
--- /dev/null
@@ -0,0 +1,51 @@
+#include <windows.h>\r
+#include "w32err.h"\r
+\r
+/*\r
+ * Description: the windows32 version of perror()\r
+ *\r
+ * Returns:  a pointer to a static error\r
+ *\r
+ * Notes/Dependencies:  I got this from \r
+ *      comp.os.ms-windows.programmer.win32\r
+ */\r
+char * \r
+map_windows32_error_to_string (DWORD ercode) {\r
+/* __declspec (thread) necessary if you will use multiple threads */\r
+__declspec (thread) static char szMessageBuffer[128];\r
\r
+       /* Fill message buffer with a default message in \r
+        * case FormatMessage fails \r
+        */\r
+    wsprintf (szMessageBuffer, "Error %ld", ercode);\r
+\r
+       /*\r
+        *  Special code for winsock error handling.\r
+        */\r
+       if (ercode > WSABASEERR) {\r
+               HMODULE hModule = GetModuleHandle("wsock32");\r
+               if (hModule != NULL) {\r
+                       FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,\r
+                               hModule,\r
+                               ercode,\r
+                               LANG_NEUTRAL,\r
+                               szMessageBuffer,\r
+                               sizeof(szMessageBuffer),\r
+                               NULL);\r
+                       FreeLibrary(hModule);\r
+               } \r
+       } else {\r
+               /*\r
+                *  Default system message handling\r
+                */\r
+       FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,\r
+                  NULL,\r
+                  ercode,\r
+                  LANG_NEUTRAL,\r
+                  szMessageBuffer,\r
+                  sizeof(szMessageBuffer),\r
+                  NULL);\r
+       }\r
+    return szMessageBuffer;\r
+}\r
\r
diff --git a/src/mkutil/make-3.80/x.bat b/src/mkutil/make-3.80/x.bat
new file mode 100644 (file)
index 0000000..eec2b9b
--- /dev/null
@@ -0,0 +1,15 @@
+nmake /f NMakefile\r
+@if errorlevel 1 goto failure\r
+copy WinRel\make.exe ..\bin\r
+\r
+del WinRel /s /q\r
+del WinDebug /s /q\r
+del w32\subproc\WinRel /s /q\r
+del w32\subproc\WinDebug /s /q\r
+\r
+@echo SUCCESS\r
+@goto done\r
+:failure\r
+@echo FAILURE\r
+:done\r
+\r
diff --git a/src/mkutil/revava-0.3/Source.C% b/src/mkutil/revava-0.3/Source.C%
deleted file mode 100644 (file)
index c3de637..0000000
+++ /dev/null
@@ -1,735 +0,0 @@
-/*\r
-  Program: revava - Atmel Dis-Assembler\r
-  File: Source.C, Copyright (C) 2001 Daniel J. Winker\r
-\r
-  This program is free software; you can redistribute it and/or\r
-  modify it under the terms of the GNU General Public License\r
-  as published by the Free Software Foundation; either version 2\r
-  of the License, or (at your option) any later version.\r
-\r
-  This program is distributed in the hope that it will be useful,\r
-  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-  GNU General Public License for more details.\r
-\r
-  You should have received a copy of the GNU General Public License\r
-  along with this program; if not, write to the Free Software\r
-  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
-\r
-  CHANGES:\r
-  14-Mar-2001, Dan Winker\r
-  Added op_code_addr.  See Bug_0001 in CHANGES.\r
-*/\r
-\r
-#include <stdio.h>\r
-#include <string.h>\r
-\r
-#include "Avr.h"\r
-#include "Error.h"\r
-#include "Flash.h"\r
-#include "Source.h"\r
-\r
-#define FALSE 0\r
-#define TRUE  (!FALSE)\r
-\r
-//#define DEBUG\r
-\r
-TSourceOut::TSourceOut( const char* OutFile, TFlash* pFlash ){\r
-       TAvr               Avr;\r
-       TAvr::TInstruction Instruction;\r
-       int                Index;\r
-       int                line_count;\r
-       FILE*              pOutFile;\r
-       TSourceString*     pSourceString_temp;\r
-       TSourceString*     pSourceString_head;\r
-       TSourceString*     pSourceString_tail;\r
-       int                last_line_was_blank = FALSE;\r
-       int                look_for_new_segment = TRUE;\r
-       int                code_seg_num = 0;\r
-       unsigned short     code_word;\r
-       unsigned short     temp_short;\r
-       unsigned long      temp_long;\r
-       int                addr;\r
-       int                op_code_addr;\r
-       int                dest = 0;\r
-       int                have_dest;\r
-       int                high_byte_written;\r
-       int                low_byte_written;\r
-       char               temp_string[ 80 ]; // FIXME - Magic Number\r
-       char               temp_string2[ 80 ]; // FIXME - Magic Number\r
-       char*              pLastTab;\r
-       char*              tabs;\r
-\r
-       prolog_head = NULL;\r
-       prolog_tail = NULL;\r
-       body_head   = NULL;\r
-       body_tail   = NULL;\r
-\r
-       if( 0 == strcmp( "stdout", OutFile ) ){\r
-               pOutFile = stdout;\r
-       } else {\r
-               pOutFile = fopen( OutFile, "w" );\r
-       }\r
-\r
-       if( NULL == pOutFile )\r
-               throw TFileError( "Cannot open file for writing:", OutFile );\r
-\r
-       // FIXME - This probably doesn't belong burried deep withing a function.\r
-       // This probably should be much more configurable.\r
-       push_prolog( "#arch AT90S8515" );\r
-       push_prolog( "#include \"avr.inc\"" );\r
-\r
-       for( addr = 0; addr < FLASH_SIZE; addr += 2 ){\r
-\r
-               // Sometimes addr will get bumped because of a double word\r
-               // instruction, but we still want to report the address of the\r
-               // first word of the instruction.  op_code_addr is what is\r
-               // reported.\r
-               op_code_addr = addr;\r
-\r
-               code_word = pFlash->get_flash_word(\r
-                       addr,\r
-                       &high_byte_written,\r
-                       &low_byte_written );\r
-\r
-               #ifdef DEBUG_1\r
-                       printf( "DEBUG - SourceOut: ##############################\n" );\r
-                       printf( "DEBUG - SourceOut: addr              = %04X\n", addr );\r
-                       printf( "DEBUG - SourceOut: code_word         = %04X\n", code_word );\r
-                       printf( "DEBUG - SourceOut: high_byte_written = %04X\n", high_byte_written );\r
-                       printf( "DEBUG - SourceOut: low_byte_written  = %04X\n", low_byte_written );\r
-               #endif\r
-\r
-               if( high_byte_written != low_byte_written ){\r
-                       sprintf(\r
-                               temp_string,\r
-                               "TSourceOut: Word Address: %04X: high_byte_written != low_byte_written.",\r
-                               addr );\r
-                       throw TGenericError( temp_string ); \r
-               }\r
-\r
-\r
-               if( high_byte_written ){\r
-\r
-                       if( look_for_new_segment ){\r
-                               #ifdef DEBUG\r
-                                       printf( "DEBUG - SourceOut: Need Org Statement For: %04X\n", addr );\r
-                               #endif\r
-\r
-                               sprintf( temp_string, "\tseg abs=0x%X flash.code%d", addr, code_seg_num );\r
-                               push_body( "" );\r
-                               push_body( temp_string );\r
-                               push_body( "" );\r
-                               last_line_was_blank = TRUE;\r
-\r
-                               code_seg_num++;\r
-                               look_for_new_segment = FALSE;\r
-                       }\r
-\r
-                       // First Time Through\r
-                       pSourceString_head = NULL;\r
-                       pSourceString_tail = NULL;\r
-                       Index = 0;\r
-                       while( 0 != ( Index = Avr.Word2Instruction(\r
-                               &Instruction,\r
-                               code_word,\r
-                               Index ))){\r
-\r
-                               #ifdef DEBUG\r
-                                       printf( "DEBUG - SourceOut: Index                   = %d\n", Index);\r
-                                       printf( "DEBUG - SourceOut: Addr:OpCode             = %04X:%04X\n", addr, code_word );\r
-                                       printf( "DEBUG - SourceOut: Instruction.name        = %s\n",   Instruction.name );\r
-                                       printf( "DEBUG - SourceOut: Instruction.arg0_format = %c\n",   Instruction.arg0_format );\r
-                                       printf( "DEBUG - SourceOut: Instruction.arg1_format = %c\n",   Instruction.arg1_format );\r
-                                       printf( "DEBUG - SourceOut: Instruction.arg0_type   = %d\n",   Instruction.arg0_format );\r
-                                       printf( "DEBUG - SourceOut: Instruction.arg1_type   = %d\n",   Instruction.arg1_format );\r
-                                       printf( "DEBUG - SourceOut: Instruction.arg0        = %04X\n", Instruction.arg0 );\r
-                                       printf( "DEBUG - SourceOut: Instruction.arg1        = %04X\n", Instruction.arg1 );\r
-                               #endif\r
-\r
-                               have_dest = FALSE;\r
-\r
-                               if( TAvr::ARG_longCall == Instruction.arg0_type ){\r
-\r
-                                       // These arg types are special because they also use the\r
-                                       // next word as part of the opcode.\r
-\r
-                                       // A really paranoid programmer would do a bounds check\r
-                                       // on addr here.\r
-                                       addr += 2;\r
-                                       temp_short = pFlash->get_flash_word(\r
-                                               addr,\r
-                                               &high_byte_written,\r
-                                               &low_byte_written );\r
-\r
-                                       if( !high_byte_written || !low_byte_written ){\r
-                                               sprintf(\r
-                                                       temp_string,\r
-                                                       "TSourceOut: Word Address: %04X: Needed Entire Word Written",\r
-                                                       addr );\r
-                                               throw TGenericError( temp_string ); \r
-                                       }\r
-\r
-                                       temp_long =\r
-                                               ( (unsigned long)Instruction.arg0 << 16 ) |\r
-                                               ( (unsigned long)temp_short );\r
-\r
-                                       sprintf(\r
-                                               temp_string,\r
-                                               "\t%s\t0x%04lX",\r
-                                               Instruction.name,\r
-                                               temp_long );\r
-\r
-                               } else if(\r
-                                       TAvr::ARG_neg64_63   == Instruction.arg0_type ||\r
-                                       TAvr::ARG_neg2KB_2KB == Instruction.arg0_type ) {\r
-\r
-                                       // We insist that arg types of ARG_neg64_63 and\r
-                                       // ARG_neg2KB_2KB have an arg format of 'k'.\r
-                                       if( 'k' != Instruction.arg0_format ){\r
-\r
-                                               sprintf(\r
-                                                       temp_string,\r
-                                                       "TSourceOut:\n"\r
-                                                       "\t%s instruciton has arg0_type = ARG_neg64_63 or ARG_neg2KB_2KB\n"\r
-                                                       "\twith 'k' != ( arg0_format = '%c' )",\r
-                                                       Instruction.name,\r
-                                                       Instruction.arg0_format );\r
-                               \r
-                                               throw TGenericError( temp_string ); \r
-                                       }\r
-\r
-                                       // We also insist that arg0 types of ARG_neg64_63 and\r
-                                       // ARG_neg2KB_2KB do not have an arg1.\r
-                                       if( TAvr::ARG_none != Instruction.arg1_type ){\r
-\r
-                                               sprintf(\r
-                                                       temp_string,\r
-                                                       "TSourceOut:\n"\r
-                                                       "\t%s instruciton has arg0_type = ARG_neg64_63 or ARG_neg2KB_2KB\n"\r
-                                                       "\twith ARG_none != arg1_type",\r
-                                                       Instruction.name );\r
-                               \r
-                                               throw TGenericError( temp_string ); \r
-                                       }\r
-\r
-                                       sprintf(\r
-                                               temp_string,\r
-                                               "\t%s\t%d",\r
-                                               Instruction.name,\r
-                                               (short)Instruction.arg0 );\r
-\r
-                                       have_dest = TRUE;\r
-#if 1 /* Nick */\r
-                                       dest = addr; /* + 1 + (short)Instruction.arg0; */\r
-#else\r
-                                       dest = addr + 2 + (short)Instruction.arg0;\r
-#endif\r
-\r
-                               } else {\r
-\r
-                                       switch( Instruction.arg0_format ){\r
-\r
-                                               case '\0':\r
-\r
-                                                       // No args to this instruction\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "\t%s",\r
-                                                               Instruction.name );\r
-\r
-                                                       break;\r
-\r
-                                               case 'd':\r
-                                               case 'r':\r
-\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "\t%s\tr%d",\r
-                                                               Instruction.name,\r
-                                                               Instruction.arg0 );\r
-\r
-                                                       break;\r
-\r
-                                               case 'k':\r
-                                               case 's':\r
-\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "\t%s\t%d",\r
-                                                               Instruction.name,\r
-                                                               (short)Instruction.arg0 );\r
-\r
-                                                       break;\r
-\r
-                                               case 'P':\r
-                                               case 'p':\r
-\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "\t%s\t0x%X",\r
-                                                               Instruction.name,\r
-                                                               Instruction.arg0 );\r
-\r
-                                                       break;\r
-\r
-                                               case 'X':\r
-                                               case 'Y':\r
-                                               case 'Z':\r
-\r
-                                                       if( 0 == strcmp( "std", Instruction.name )){\r
-                                                               sprintf(\r
-                                                                       temp_string,\r
-                                                                       "\t%s\t%c+%d",\r
-                                                                       Instruction.name,\r
-                                                                       Instruction.arg0_format,\r
-                                                                       Instruction.arg0 );\r
-\r
-                                                       } else {\r
-\r
-                                                               // It's a little convoluted how we get the\r
-                                                               // information back from TAvr::AdjustArg about\r
-                                                               // whether to us "X", "X+", or "-X".  In this\r
-                                                               // arg_format is 'X'.  We differentiate by\r
-                                                               // setting the value of arg (which is an\r
-                                                               // (unsigned short)) to one of ' ', '+' or '-'.\r
-                                                               switch( (char)Instruction.arg0 ){\r
-\r
-                                                                       case ' ':\r
-\r
-                                                                               sprintf(\r
-                                                                                       temp_string,\r
-                                                                                       "\t%s\t%c",\r
-                                                                                       Instruction.name,\r
-                                                                                       Instruction.arg0_format );\r
-\r
-                                                                               break;\r
-\r
-                                                                       case '+':\r
-\r
-                                                                               sprintf(\r
-                                                                                       temp_string,\r
-                                                                                       "\t%s\t%c+",\r
-                                                                                       Instruction.name,\r
-                                                                                       Instruction.arg0_format );\r
-\r
-                                                                               break;\r
-\r
-                                                                       case '-':\r
-\r
-                                                                               sprintf(\r
-                                                                                       temp_string,\r
-                                                                                       "\t%s\t-%c",\r
-                                                                                       Instruction.name,\r
-                                                                                       Instruction.arg0_format );\r
-\r
-                                                                               break;\r
-\r
-                                                                       default:\r
-\r
-                                                                               sprintf(\r
-                                                                                       temp_string,\r
-                                                                                       "TSourceOut:\n"\r
-                                                                                       "\t%s instruction has special arg0_format: '%c'\n"\r
-                                                                                       "\twith unknown arg0 of: 0x%X",\r
-                                                                                       Instruction.name,\r
-                                                                                       Instruction.arg0_format,\r
-                                                                                       Instruction.arg0 );\r
-                               \r
-                                                                               throw TGenericError( temp_string ); \r
-\r
-                                                                               break;\r
-\r
-                                                               }\r
-                                                       }\r
-\r
-                                                       break;\r
-\r
-                                               default:\r
-\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "TSourceOut:\n"\r
-                                                               "\t%s instruction has unknown arg0_format: '%c'\n"\r
-                                                               "\targ0 is 0x%X",\r
-                                                               Instruction.name,\r
-                                                               Instruction.arg0_format,\r
-                                                               Instruction.arg0 );\r
-\r
-                                                       throw TGenericError( temp_string ); \r
-\r
-                                                       break;\r
-\r
-                                       } // end "switch( Instruction.arg0_format )"\r
-\r
-                               } // end else part of "if( Arg_longCall == Instruction.arg0_type )"\r
-\r
-                               if( TAvr::ARG_longCall == Instruction.arg1_type ){\r
-\r
-                                       // These arg types are special because they also use the\r
-                                       // next word as part of the opcode.\r
-\r
-                                       // A really paranoid programmer would do a bounds check\r
-                                       // on addr here.\r
-                                       addr += 2;\r
-                                       temp_short = pFlash->get_flash_word(\r
-                                               addr,\r
-                                               &high_byte_written,\r
-                                               &low_byte_written );\r
-\r
-\r
-                                       if( !high_byte_written || !low_byte_written ){\r
-                                               sprintf(\r
-                                                       temp_string,\r
-                                                       "TSourceOut: Word Address: %04X: Needed Entire Word Written",\r
-                                                       addr );\r
-                                               throw TGenericError( temp_string ); \r
-                                       }\r
-\r
-                                       temp_long =\r
-                                               ( (unsigned long)Instruction.arg1 << 16 ) |\r
-                                               ( (unsigned long)temp_short );\r
-\r
-                                       strcpy( temp_string2, temp_string );\r
-\r
-                                       sprintf(\r
-                                               temp_string,\r
-                                               "%s, 0x%04lX",\r
-                                               temp_string2,\r
-                                               temp_long );\r
-\r
-                               } else if( TAvr::ARG_neg64_63 == Instruction.arg1_type ) {\r
-\r
-                                       // We insist that an ARG_neg64_63 arg type have\r
-                                       // an arg format of 'k'.\r
-                                       if( 'k' != Instruction.arg1_format ){\r
-\r
-                                               sprintf(\r
-                                                       temp_string,\r
-                                                       "TSourceOut:\n"\r
-                                                       "\t%s instruciton has arg1_type = ARG_neg64_63\n"\r
-                                                       "\twith 'k' != ( arg1_format = '%c' )",\r
-                                                       Instruction.name,\r
-                                                       Instruction.arg1_format );\r
-                               \r
-                                               throw TGenericError( temp_string ); \r
-                                       }\r
-\r
-                                       strcpy( temp_string2, temp_string );\r
-\r
-                                       sprintf(\r
-                                               temp_string,\r
-                                               "%s, %d",\r
-                                               temp_string2,\r
-                                               (short)Instruction.arg1 );\r
-\r
-                                       have_dest = TRUE;\r
-                                       dest = addr + 2 + (short)Instruction.arg1;\r
-\r
-                               } else {\r
-\r
-                                       switch( Instruction.arg1_format ){\r
-\r
-                                               case '\0':\r
-                                                       // No arg1 to this instruction.  No more to do.\r
-                                                       break;\r
-\r
-                                               case 'b':\r
-                                               case 'k':\r
-\r
-                                                       strcpy( temp_string2, temp_string );\r
-\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "%s, %d",\r
-                                                               temp_string2,\r
-                                                               (short)Instruction.arg1 );\r
-\r
-                                                       break;\r
-\r
-                                               case 'd':\r
-                                               case 'r':\r
-\r
-                                                       strcpy( temp_string2, temp_string );\r
-\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "%s, r%d",\r
-                                                               temp_string2,\r
-                                                               Instruction.arg1 );\r
-\r
-                                                       break;\r
-\r
-                                               case 'K':\r
-                                               case 'P':\r
-\r
-                                                       strcpy( temp_string2, temp_string );\r
-\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "%s, 0x%X",\r
-                                                               temp_string2,\r
-                                                               Instruction.arg1 );\r
-\r
-                                                       break;\r
-\r
-                                               case 'X':\r
-                                               case 'Y':\r
-                                               case 'Z':\r
-\r
-                                                       strcpy( temp_string2, temp_string );\r
-\r
-                                                       if( 0 == strcmp( "ldd", Instruction.name )){\r
-                                                               sprintf(\r
-                                                                       temp_string,\r
-                                                                       "%s, %c+%d",\r
-                                                                       temp_string2,\r
-                                                                       Instruction.arg1_format,\r
-                                                                       Instruction.arg1 );\r
-\r
-                                                       } else {\r
-\r
-                                                               // It's a little convoluted how we get the\r
-                                                               // information back from TAvr::AdjustArg about\r
-                                                               // whether to us "X", "X+", or "-X".  In this\r
-                                                               // arg_format is 'X'.  We differentiate by setting\r
-                                                               // the value of arg (which is an (unsigned short))\r
-                                                               // to one of ' ', '+', or '-'.\r
-                                                               switch( (char)Instruction.arg1 ){\r
-\r
-                                                                       case ' ':\r
-\r
-                                                                               sprintf(\r
-                                                                                       temp_string,\r
-                                                                                       "%s, %c",\r
-                                                                                       temp_string2,\r
-                                                                                       Instruction.arg1_format );\r
-\r
-                                                                               break;\r
-\r
-                                                                       case '+':\r
-\r
-                                                                               sprintf(\r
-                                                                                       temp_string,\r
-                                                                                       "%s, %c+",\r
-                                                                                       temp_string2,\r
-                                                                                       Instruction.arg1_format );\r
-\r
-                                                                               break;\r
-\r
-                                                                       case '-':\r
-\r
-                                                                               sprintf(\r
-                                                                                       temp_string,\r
-                                                                                       "%s, -%c",\r
-                                                                                       temp_string2,\r
-                                                                                       Instruction.arg1_format );\r
-\r
-                                                                               break;\r
-\r
-                                                                       default:\r
-\r
-                                                                               sprintf(\r
-                                                                                       temp_string,\r
-                                                                                       "TSourceOut:\n"\r
-                                                                                       "\t%s instruction has special arg1_format: '%c'\n"\r
-                                                                                       "\twith unknown arg1 of: 0x%X",\r
-                                                                                       Instruction.name,\r
-                                                                                       Instruction.arg1_format,\r
-                                                                                       Instruction.arg1 );\r
-                               \r
-                                                                               throw TGenericError( temp_string ); \r
-\r
-                                                                               break;\r
-                                                               }\r
-                                                       }\r
-\r
-                                                       break;\r
-\r
-                                               default:\r
-\r
-                                                       sprintf(\r
-                                                               temp_string,\r
-                                                               "TSourceOut:\n"\r
-                                                               "\t%s instruction has unknown arg1_format: '%c'\n"\r
-                                                               "\targ1 is 0x%X",\r
-                                                               Instruction.name,\r
-                                                               Instruction.arg1_format,\r
-                                                               Instruction.arg1 );\r
-\r
-                                                       throw TGenericError( temp_string ); \r
-\r
-                                                       break;\r
-                                       } // end "switch( Instruction.arg1_format )"\r
-\r
-                               } // end else part of "if( Arg_longCall == Instruction.arg1_type )"\r
-\r
-                               // We'll make it line up pretty assuming 8 space tabs.  I'm\r
-                               // taking a chance here and making the code as a whole a little\r
-                               // longer to try to decouple this process from the rest of this\r
-                               // function.\r
-                               pLastTab = rindex( temp_string, '\t' );\r
-\r
-                               if( index( temp_string, '\t' ) == pLastTab ){\r
-\r
-                                       // There is only one tab.  Therefore this is a simple\r
-                                       // instruction with no arguments.  Since none of these are\r
-                                       // 8 or more characters long, we know we haven't advanced\r
-                                       // the hypothetical cursor to the args column yet.\r
-                                       // Therefore we know that we need 3 tabs.\r
-                                       tabs = "\t\t\t";\r
-\r
-                               } else if( 8 > strlen ( pLastTab + 1 ) ){\r
-\r
-                                       // This is a short set of arguments.  We need 2 tabs to get\r
-                                       // into the comments column.\r
-                                       tabs = "\t\t";\r
-\r
-                               } else {\r
-\r
-                                       // This is a long set of arguments.  We need 1 tab to get\r
-                                       // into the comments column.\r
-                                       tabs = "\t";\r
-                               }\r
-\r
-                               // Add the address and possibly the destination.\r
-                               if( have_dest ){\r
-\r
-                                       sprintf(\r
-                                               temp_string2,\r
-                                               "%s%s; %04X, Dest: %04X",\r
-                                               temp_string,\r
-                                               tabs,\r
-                                               op_code_addr,\r
-                                               dest );\r
-\r
-                               } else {\r
-\r
-                                       sprintf(\r
-                                               temp_string2,\r
-                                               "%s%s; %04X",\r
-                                               temp_string,\r
-                                               tabs,\r
-                                               op_code_addr );\r
-                               }\r
-\r
-                               pSourceString_tail =\r
-                                       new TSourceString( temp_string2, pSourceString_tail );\r
-\r
-                               if ( NULL == pSourceString_head ){\r
-                                       pSourceString_head = pSourceString_tail;\r
-                               }\r
-\r
-                       } // end while( 0 != ( Index = Avr.Word2Instruction\r
-\r
-                       line_count = 0;\r
-                       if( pSourceString_head ){\r
-\r
-                               // We were able to match the opcode to an instruction.\r
-\r
-                               if( pSourceString_head->next && !last_line_was_blank ){\r
-                                       // There is more than one equavalent source strings that\r
-                                       // can make this opcode.  Put in a blank line to seperate\r
-                                       // these equivalent source strings from the other source.\r
-                                       push_body( "" );\r
-                               }\r
-\r
-                               while( pSourceString_head ){\r
-\r
-                                       if ( 0 == line_count ){\r
-                                               strcpy( temp_string, pSourceString_head->string );\r
-                                       } else {\r
-                                               sprintf(\r
-                                                       temp_string,\r
-                                                       "\t;%s",\r
-                                                       pSourceString_head->string + 1 );\r
-                                       }\r
-\r
-                                       push_body( temp_string );\r
-                                       pSourceString_temp = pSourceString_head->next;\r
-                                       delete pSourceString_head;\r
-                                       pSourceString_head = pSourceString_temp;\r
-\r
-                                       line_count++;\r
-                               }\r
-\r
-                               if ( 1 < line_count ){\r
-\r
-                                       // There was more than one line in this block.\r
-                                       // Put out a blank line.\r
-                                       last_line_was_blank = TRUE;\r
-                                       push_body( "" );\r
-\r
-                               } else {\r
-\r
-                                       last_line_was_blank = FALSE;\r
-                               }\r
-\r
-                       } else {\r
-\r
-                               // No instruction matched this opcode.  Print it as data.\r
-\r
-                               sprintf(\r
-                                       temp_string,\r
-                                       "\tdc.W\t0x%04X\t\t; %04X",\r
-                                       code_word,\r
-                                       op_code_addr );\r
-\r
-                               push_body( temp_string );\r
-                               last_line_was_blank = FALSE;\r
-                       }\r
-\r
-               } else {\r
-\r
-                       look_for_new_segment = TRUE;\r
-\r
-               }\r
-       }\r
-\r
-       while( prolog_head ){\r
-               fputs( prolog_head->string, pOutFile );\r
-               fputc( '\n', pOutFile );\r
-               pSourceString_temp = prolog_head->next;\r
-               delete prolog_head;\r
-               prolog_head = pSourceString_temp;\r
-       }\r
-\r
-       while( body_head ){\r
-               fputs( body_head->string, pOutFile );\r
-               fputc( '\n', pOutFile );\r
-               pSourceString_temp = body_head->next;\r
-               delete body_head;\r
-               body_head = pSourceString_temp;\r
-       }\r
-}\r
-\r
-void TSourceOut::push_prolog( const char* s){\r
-\r
-       prolog_tail = new TSourceString( s, prolog_tail );\r
-\r
-       if( NULL == prolog_head ){\r
-               prolog_head = prolog_tail;\r
-       }\r
-}\r
-\r
-void TSourceOut::push_body( const char* s){\r
-\r
-       body_tail = new TSourceString( s, body_tail );\r
-\r
-       if( NULL == body_head ){\r
-               body_head = body_tail;\r
-       }\r
-}\r
-\r
-TSourceOut::TSourceString::TSourceString(\r
-       const char* s,\r
-       TSourceString* previous ){\r
-\r
-       strncpy( string, s, 79 );       // FIXME - magic number\r
-       string[ 79 ] = '\0';\r
-\r
-       if( NULL != previous )\r
-               previous->next = this;\r
-\r
-       next = NULL;\r
-}\r
diff --git a/src/mkutil/revava-0.3/n.bat% b/src/mkutil/revava-0.3/n.bat%
deleted file mode 100644 (file)
index 1c09ecd..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-make
-copy revava.exe ..\..\bin
diff --git a/src/nicktemp/avr_make b/src/nicktemp/avr_make
deleted file mode 100644 (file)
index 261036e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# GCC-AVR standard makefile\r
-# Based on AVRfreaks.net January 2000 sample makefile\r
-# For compilation under Microsoft Windows environment\r
-\r
-# Variables definitions\r
-       CC      = avr-gcc\r
-       AS      = avr-gcc -x assembler-with-cpp \r
-       RM      = rm -f\r
-       RN      = mv\r
-       BIN     = avr-objcopy\r
-       SIZE    = avr-size\r
-       INCDIR  = .\r
-       LIBDIR  = avr/lib\r
-       SHELL   = sh.exe\r
-\r
-# Output format (srec or ihex, avrobj is always created)\r
-       FORMAT = ihex           \r
-\r
-# Project specific object files\r
-       OBJ     = $(ASRC:.s=.o) $(SRC:.c=.o) \r
-       CPFLAGS += -mmcu=$(MCU)\r
-       ASFLAGS += -mmcu=$(MCU)\r
-       LDFLAGS += -mmcu=$(MCU)\r
-  \r
-# Define make process\r
-\r
-#all:  $(TRG).obj $(TRG).elf $(TRG).rom $(TRG).eep $(TRG).ok \r
-all:   $(TRG).s $(TRG).elf $(TRG).hex $(TRG).eep $(TRG).ok\r
-%.o : %.c \r
-       $(CC) -c $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.s : %.c\r
-       $(CC) -S $(CPFLAGS) -I$(INCDIR) $< -o $@\r
-%.o : %.s\r
-       $(AS) -c $(ASFLAGS) -I$(INCDIR) $< -o $@\r
-%.elf: $(OBJ)\r
-       $(CC) $(OBJ) $(LIB) $(LDFLAGS) -o $@\r
-%.obj: %.elf\r
-       $(BIN) -O avrobj -R .eeprom $< $@\r
-%.rom: %.elf\r
-       $(BIN) -O $(FORMAT) -R .eeprom $< $@\r
-#%.eep: %.elf\r
-#      $(BIN) -j .eeprom --set-section-flags=.eeprom="alloc,load" section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.eep: %.elf\r
-       $(BIN) -j .eeprom --set-section-flags .eeprom="alloc,load" --change-section-lma .eeprom=0 -O $(FORMAT) $< $@\r
-%.hex: %.elf\r
-       $(BIN) -O ihex $< $@\r
-\r
-# No error message if successfully compiled\r
-%ok:\r
-       @echo "Errors: none" \r
-\r
-# Clean up directory\r
-clean:\r
-       $(RM) $(OBJ)\r
-       $(RM) $(SRC:.c=.s)\r
-       $(RM) $(SRC:.c=.lst)\r
-       $(RM) $(TRG).map\r
-       $(RM) $(TRG).elf\r
-\r
-       $(RM) $(TRG).obj\r
-       $(RM) $(TRG).a90\r
-       $(RM) $(TRG).hex        \r
-       $(RM) *.bak\r
-       $(RM) *.log\r
-       \r
-size:\r
-       $(SIZE) $(TRG).elf\r
-       \r
diff --git a/src/nicktemp/hello.c b/src/nicktemp/hello.c
deleted file mode 100644 (file)
index 57fa35c..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* hello.c by Nick for Hytech AVR */
-
-#include <stdio.h>
-#include <avr/io.h>
-#include "hello.h"
-
-int my_putc(char c)
-       {
-       while (bit_is_set(UCSRA, UDRE) == 0)
-               ;
-       UDR = c;
-       return 0;
-       }
-
-int my_getc(void)
-       {
-       if (bit_is_set(UCSRA, RXC) == 0)
-               return -1;
-       return UDR;
-       }
-
-int main(void)
-       {
-       /* initialise the AVR's built-in UART for 9600 bps */
-       UCSRA = _BV(TXC);
-       UCSRB = _BV(TXEN) | _BV(RXEN);
-       UBRR = 71;
-       /* UBRRH = 0; */ /* = (11059200 / (9600 * 16)) - 1 */
-
-#if 0
-       /* send a demo message to ISPD via the AVR's UART */
-       my_putc('h');
-       my_putc('e');
-       my_putc('l');
-       my_putc('l');
-       my_putc('o');
-#else
-       /* setup the standard input, output and error streams */
-       fdevopen(my_putc, my_getc, 0);
-
-       /* send a demo message to ISPD via the AVR's UART */
-       printf("hello, world\r\n");
-#endif
-
-       /* enter an infinite loop as we can never exit */
-       while (1)
-               ;
-       }
-
diff --git a/src/nicktemp/hello.eep b/src/nicktemp/hello.eep
deleted file mode 100644 (file)
index 1996e8f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-:00000001FF\r
diff --git a/src/nicktemp/hello.elf b/src/nicktemp/hello.elf
deleted file mode 100644 (file)
index ea5327a..0000000
Binary files a/src/nicktemp/hello.elf and /dev/null differ
diff --git a/src/nicktemp/hello.h b/src/nicktemp/hello.h
deleted file mode 100644 (file)
index 9491323..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-/* hello.h by Nick for Hytech AVR */
-
-int my_putc(char c);
-int my_getc(void);
-int main(void);
-
diff --git a/src/nicktemp/hello.hex b/src/nicktemp/hello.hex
deleted file mode 100644 (file)
index 9ae63a4..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-:100000000DC027C026C025C024C023C022C021C0E7\r
-:1000100020C01FC01EC01DC01CC01BC011241FBE9D\r
-:10002000CFEDD0E0DEBFCDBF10E0A0E6B0E0EAE665\r
-:10003000FAE003C0C89531960D92A637B107D1F703\r
-:1000400010E0A6E7B0E001C01D92A038B107E1F7CB\r
-:1000500044C0D6CFCF93DF93CDB7DEB721970FB68D\r
-:10006000F894DEBF0FBECDBF898380912B00992706\r
-:10007000807290700097C9F3898180932C0080E092\r
-:1000800090E021960FB6F894DEBF0FBECDBFDF9192\r
-:10009000CF910895CF93DF93CDB7DEB722970FB6F8\r
-:1000A000F894DEBF0FBECDBF80912B0088232CF0CB\r
-:1000B0008FEF9FEF89839A8305C080912C00992749\r
-:1000C00089839A8389819A8122960FB6F894DEBF3C\r
-:1000D0000FBECDBFDF91CF910895CFEDD0E0DEBF51\r
-:1000E000CDBF80E480932B0088E180932A0087E4D1\r
-:1000F0008093290040E050E06AE470E08AE290E0FA\r
-:1001000008D080E690E09F938F934AD00F900F9095\r
-:10011000FFCF0F931F93CF93DF93082F192FD72F64\r
-:10012000C62F009711F4672BB1F16BE070E081E00E\r
-:1001300090E0D8D2F92FE82F009769F1209771F05D\r
-:10014000C187D28781E0828380917A0090917B0081\r
-:10015000892B21F4F0937B00E0937A0001151105BF\r
-:10016000C1F00783108782E0828380917C009091A8\r
-:100170007D00892B71F4F0937D00E0937C008091E9\r
-:100180007E0090917F00892B21F4F0937F00E09313\r
-:100190007E008E2F9F2FDF91CF911F910F91089599\r
-:1001A000A0E0B0E0E5EDF0E038C4E5E0F0E0EC0F11\r
-:1001B000FD1F819191914E2F5F2F682F792F809194\r
-:1001C0007C0090917D0002D0E2E043C4A2E1B0E067\r
-:1001D000EBEEF0E012C4AA24BB24CC24DD24682E6C\r
-:1001E000792E6D877E874F87588B44245524F92FAD\r
-:1001F000E82F45825682828181FD56C28FEF9FEFA4\r
-:100200006EC240FE3FC2822D80538A3020F5F0E35B\r
-:100210002F1641F42A89222329F4332019F480E08F\r
-:1002200091E093C0EA898E2F9927282F392F220F2A\r
-:10023000331F220F331F220F331F280F391F280FA0\r
-:10024000822F820D80538A8B43FC2EC288230CF4AC\r
-:100250002BC2382E29C243FE05C0FA89FF2311F4B0\r
-:1002600021E02A8B822D992787FD9095883691056C\r
-:1002700054F5853691050CF06BC08835910509F46D\r
-:10028000DDC089359105B4F48B32910509F442C083\r
-:100290008C32910544F48032910509F43FC0839774\r
-:1002A00009F442C0E5C18D329105D9F18E9709F468\r
-:1002B00040C0DEC18336910509F454C084369105EF\r
-:1002C00009F47DC0D5C18037910509F4AFC08137ED\r
-:1002D000910584F48C369105B1F18D3691052CF49D\r
-:1002E0008936910509F46BC0C3C18F36910509F4B5\r
-:1002F0009AC0BEC18537910509F4A2C08637910521\r
-:1003000024F483379105C1F1B3C18837910509F40D\r
-:1003100095C0AEC180E190E0482A592AE0E2F0E0C1\r
-:1003200005C080E890E011C0E0E4F0E04E2A5F2ACA\r
-:10033000BBC188E090E0482A592AEFEFFEEF4E2239\r
-:100340005F221A8AB1C184E090E0482A592AACC1E0\r
-:100350000F2EFFE3AF2EF02D3A940F2EF3E62F2E43\r
-:10036000F02D28C1EF85F8898E2F9F2F02968F8759\r
-:10037000988BA0803A941EC1EF85F8898E2F9F2F0D\r
-:1003800002968F87988BA080B180198AFB2DEA2D69\r
-:100390008081882351F099899F5F998BFB2DEA2DED\r
-:1003A000E90FF11D80818823B1F743FE05C08A89DA\r
-:1003B0009989891708F4898BE9893E1AFBC042FEA6\r
-:1003C0000CC0EF85F8898E2F9F2F04968F87988B0E\r
-:1003D00020813181428153810FC0EF85F8898E2FB2\r
-:1003E0009F2F02968F87988B80819181282F392F9C\r
-:1003F000442737FD4095542FA22EB32EC42ED52E60\r
-:10040000552364F4E2E0F0E04E2A5F2AD094C094D1\r
-:10041000B094A094A11CB11CC11CD11C8FEB9FEF08\r
-:100420004822592230C098E0998B0AC0E0E4F0E0FD\r
-:100430004E2A5F2A0F2EF8E72F2EF02DF0E1F98BD0\r
-:1004400042FE0CC0EF85F8898E2F9F2F04968F8770\r
-:10045000988B20813181428153810DC0EF85F889CD\r
-:100460008E2F9F2F02968F87988B80819181282FC6\r
-:10047000392F44275527A22EB32EC42ED52EEFECAC\r
-:10048000FFEF4E225F228C2E9D2E0894811C911C22\r
-:10049000F989EF2EFF24002711279D2D8C2D7B2D10\r
-:1004A0006A2D512F402F3F2D2E2D80D2B92FA82FEE\r
-:1004B000972F862FF92DE82D80838A301CF0820D2E\r
-:1004C000815204C0F92DE82D8081805DF92DE82D41\r
-:1004D00081938E2E9F2E9D2D8C2D7B2D6A2D512F3D\r
-:1004E000402F3F2D2E2D62D2A22EB32EC42ED52EFC\r
-:1004F000211531054105510581F650FE17C0A32C89\r
-:1005000046FE0BC0832D992787FD9095F989F03120\r
-:1005100011F4825001C08150A82E45FCAA941A14EF\r
-:100520002CF4AA8A88E090E0482A592A43FE1CC08D\r
-:100530009A89993010F0E8E0EA8B8C2F9D2F019674\r
-:10054000A82CA81A8A89F82FF150FA8BA81660F403\r
-:1005500090E3F92DE82D91938E2E9F2E8A89F82F06\r
-:10056000F150FA8BA816A8F341FE02C08DE207C035\r
-:1005700044FE02C08BE203C045FE06C080E2F92DB6\r
-:10058000E82D81938E2E9F2E46FE0EC0F989F03104\r
-:1005900029F4F92DE82D21928E2E9F2E80E3F92D3E\r
-:1005A000E82D81938E2E9F2E8C2F9D2F0196F82D56\r
-:1005B000F81B3F1A842D807869F4832D3A9418161D\r
-:1005C0004CF4772D662D80E290E0A4D0832D3A94F0\r
-:1005D0001816BCF323E6221641F48A2D992787FDCD\r
-:1005E0009095772D662D96D032C083E72816B9F402\r
-:1005F00099899150998B9F3F51F1FB2DEA2D808174\r
-:10060000992787FD90950894A11CB11C772D662D24\r
-:1006100081D0E989E150E98BEF3F79F718C08C2F41\r
-:100620009D2F01968816990691F00C2F1D2F0F5FB4\r
-:100630001F4FF92DE82D82918E2E9F2E992787FD31\r
-:100640009095772D662D66D08016910691F7842DB2\r
-:100650008078A9F0832D3A9418168CF4772D662DA6\r
-:1006600080E290E057D0832D3A941816BCF307C06F\r
-:10067000822D992787FD9095772D662D4BD04424A8\r
-:10068000552412C0F5E22F1641F444245524439416\r
-:100690001A8A3A882AE0298B07C0822D992787FD7C\r
-:1006A0009095772D662D36D0F72DE62D828183FF2C\r
-:1006B0000AC0ED85FE858E2F9F2F01968D879E8720\r
-:1006C000C895202C05C0ED85FE852190ED87FE871D\r
-:1006D000222009F096CDF72DE62D85819681E2E165\r
-:1006E0006296A7C10F931F93CF93DF934DD1082F2D\r
-:1006F000192F3DD0D92FC82F009739F0512F402FF7\r
-:1007000060E070E039D18C2F9D2FDF91CF911F9148\r
-:100710000F9108950F931F93CF93DF93082F192FF5\r
-:10072000D72FC62F8A8182FF0DC02D813E818B81FC\r
-:100730009C812817390764F4E881F9810193E883E3\r
-:10074000F98306C0EF81F885802F0995892B41F444\r
-:100750008D819E8101968D839E83912F802F02C073\r
-:100760008FEF9FEFDF91CF911F910F910895482F49\r
-:10077000592F029710F442E050E020E030E0E09181\r
-:100780007800F09179006E2F7F2FB32FA22F309732\r
-:10079000B9F0808191818417950759F1481759075D\r
-:1007A00040F42115310519F08217930710F4282F12\r
-:1007B000392FAE2FBF2F0280F381E02D309749F7FC\r
-:1007C00021153105E9F1932F822F841B950B049796\r
-:1007D00010F4532F422FF72FE62FA0E0B0E0672B45\r
-:1007E00079F1808191818217930719F54217530798\r
-:1007F00089F4228133818E2F9F2F0296109729F042\r
-:1008000012962D933C93139708953093790020937B\r
-:1008100078000895241B350BAE2FBF2FA20FB31FF6\r
-:100820004D935D9322503040208331838A2F9B2F3C\r
-:100830000895AE2FBF2F0280F381E02D309789F607\r
-:100840008091760090917700892B41F4809171001E\r
-:10085000909172009093770080937600A09173003E\r
-:10086000B0917400109741F4ADB7BEB780916F009E\r
-:1008700090917000A81BB90BE0917600F091770081\r
-:100880008E2F9F2F840F951F02968A179B0748F47F\r
-:100890009093770080937600419351938E2F9F2FF2\r
-:1008A000089580E090E00895CF93DF93009709F4D6\r
-:1008B00060C0B92FA82F129712961D921C92139701\r
-:1008C0008091780090917900009751F1F92FE82FED\r
-:1008D00040E050E0EA17FB0740F1DB2FCA2F1296E9\r
-:1008E000ED93FC9313972D913C911197C20FD31F59\r
-:1008F0008C2F9D2F02968E179F0779F48A819B81FA\r
-:10090000280F391F2E5F3F4F2D933C931197828103\r
-:10091000938112968D939C9313974115510561F421\r
-:10092000B0937900A093780024C04E2F5F2F0280EF\r
-:10093000F381E02D309771F6D52FC42FAA83BB83A6\r
-:10094000952F842F029628813981820F931F8A1751\r
-:100950009B0779F48D919C911197280F391F2E5F79\r
-:100960003F4F2883398312968D919C9113978A83E8\r
-:100970009B83DF91CF910895A82FB92F01C06D936C\r
-:1009800041505040E0F708955527002480FF02C0F1\r
-:10099000060E571F660F771F6115710521F096959A\r
-:1009A0008795009799F7952F802D0895A1E21A2E2B\r
-:1009B000AA1BBB1BEA2FFB2F0DC0AA1FBB1FEE1FDC\r
-:1009C000FF1FA217B307E407F50720F0A21BB30B24\r
-:1009D000E40BF50B661F771F881F991F1A9469F7A0\r
-:1009E0006095709580959095262F372F482F592F19\r
-:1009F0006A2F7B2F8E2F9F2F08952F923F924F9219\r
-:100A00005F926F927F928F929F92AF92BF92CF929E\r
-:100A1000DF92EF92FF920F931F93CF93DF93CDB7A7\r
-:100A2000DEB7CA1BDB0B0FB6F894DEBF0FBECDBF1F\r
-:100A300009942A88398848885F846E847D848C84F0\r
-:100A40009B84AA84B984C884DF80EE80FD800C81F9\r
-:100A50001B81AA81B981CE0FD11D0FB6F894DEBFDC\r
-:0A0A60000FBECDBFCA2FDB2F089593\r
-:100A6A0068656C6C6F2C20776F726C640D0A0020BD\r
-:060A7A00008000000000F6\r
-:00000001FF\r
diff --git a/src/nicktemp/hello.lst b/src/nicktemp/hello.lst
deleted file mode 100644 (file)
index 083f3ed..0000000
+++ /dev/null
@@ -1,328 +0,0 @@
-GAS LISTING C:\cygwin\tmp/cc8iaaaa.s                   page 1\r
-\r
-\r
-   1                           .file   "hello.c"\r
-   2                           .arch at90s4433\r
-   3                   __SREG__ = 0x3f\r
-   4                   __SP_H__ = 0x3e\r
-   5                   __SP_L__ = 0x3d\r
-   6                   __tmp_reg__ = 0\r
-   7                   __zero_reg__ = 1\r
-   8                           .global __do_copy_data\r
-   9                           .global __do_clear_bss\r
-  10                           .stabs  "c:\\uzi\\src\\nicktemp/",100,0,0,.Ltext0\r
-  11                           .stabs  "hello.c",100,0,0,.Ltext0\r
-  12                           .text\r
-  13                   .Ltext0:\r
-  14                           .stabs  "gcc2_compiled.",60,0,0,0\r
-  15                           .stabs  "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0\r
-  16                           .stabs  "char:t(0,2)=r(0,2);0;127;",128,0,0,0\r
-  17                           .stabs  "long int:t(0,3)=@s32;r(0,3);0020000000000;0017777777777;",128,0,0,0\r
-  18                           .stabs  "unsigned int:t(0,4)=r(0,4);0000000000000;0000000177777;",128,0,0,0\r
-  19                           .stabs  "long unsigned int:t(0,5)=@s32;r(0,5);0000000000000;0037777777777;",128,0,0,0\r
-  20                           .stabs  "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,\r
-  21                           .stabs  "long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,\r
-  22                           .stabs  "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0\r
-  23                           .stabs  "short unsigned int:t(0,9)=r(0,9);0000000000000;0000000177777;",128,0,0,0\r
-  24                           .stabs  "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0\r
-  25                           .stabs  "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0\r
-  26                           .stabs  "float:t(0,12)=r(0,1);4;0;",128,0,0,0\r
-  27                           .stabs  "double:t(0,13)=r(0,1);4;0;",128,0,0,0\r
-  28                           .stabs  "long double:t(0,14)=r(0,1);4;0;",128,0,0,0\r
-  29                           .stabs  "complex int:t(0,15)=s4real:(0,1),0,16;imag:(0,1),16,16;;",128,0,0,0\r
-  30                           .stabs  "complex float:t(0,16)=r(0,16);8;0;",128,0,0,0\r
-  31                           .stabs  "complex double:t(0,17)=r(0,17);8;0;",128,0,0,0\r
-  32                           .stabs  "complex long double:t(0,18)=r(0,18);8;0;",128,0,0,0\r
-  33                           .stabs  "__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0\r
-  34                           .stabs  "_Bool:t(0,21)=@s8;-16;",128,0,0,0\r
-  35                           .stabs  "hello.c",130,0,0,0\r
-  36                           .stabs  "c:/WinAVR/avr/include/stdio.h",130,0,0,0\r
-  37                           .stabs  "c:/WinAVR/avr/include/inttypes.h",130,0,0,0\r
-  38                           .stabs  "int8_t:t(3,1)=(0,10)",128,0,46,0\r
-  39                           .stabs  "uint8_t:t(3,2)=(0,11)",128,0,47,0\r
-  40                           .stabs  "int16_t:t(3,3)=(0,1)",128,0,49,0\r
-  41                           .stabs  "uint16_t:t(3,4)=(0,4)",128,0,50,0\r
-  42                           .stabs  "int32_t:t(3,5)=(0,3)",128,0,52,0\r
-  43                           .stabs  "uint32_t:t(3,6)=(0,5)",128,0,53,0\r
-  44                           .stabs  "int64_t:t(3,7)=(0,6)",128,0,55,0\r
-  45                           .stabs  "uint64_t:t(3,8)=(0,7)",128,0,56,0\r
-  46                           .stabs  "intptr_t:t(3,9)=(3,3)",128,0,58,0\r
-  47                           .stabs  "uintptr_t:t(3,10)=(3,4)",128,0,59,0\r
-  48                           .stabn  162,0,0,0\r
-  49                           .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stdarg.h",130,0,0,0\r
-  50                           .stabs  "__gnuc_va_list:t(4,1)=(0,19)",128,0,43,0\r
-  51                           .stabs  "va_list:t(4,2)=(4,1)",128,0,105,0\r
-  52                           .stabn  162,0,0,0\r
-  53                           .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stddef.h",130,0,0,0\r
-  54                           .stabs  "size_t:t(5,1)=(0,4)",128,0,213,0\r
-  55                           .stabn  162,0,0,0\r
-  56                           .stabn  162,0,0,0\r
-  57                           .stabs  "c:/WinAVR/avr/include/avr/io.h",130,0,0,0\r
-\fGAS LISTING C:\cygwin\tmp/cc8iaaaa.s                  page 2\r
-\r
-\r
-  58                           .stabs  "c:/WinAVR/avr/include/avr/io4433.h",130,0,0,0\r
-  59                           .stabs  "c:/WinAVR/avr/include/avr/sfr_defs.h",130,0,0,0\r
-  60                           .stabn  162,0,0,0\r
-  61                           .stabn  162,0,0,0\r
-  62                           .stabn  162,0,0,0\r
-  63                           .stabs  "hello.h",130,0,0,0\r
-  64                           .stabn  162,0,0,0\r
-  65                           .stabs  "my_putc:F(0,1)",36,0,8,my_putc\r
-  66                           .stabs  "c:p(0,2)",160,0,7,1\r
-  67                   .global my_putc\r
-  68                           .type   my_putc, @function\r
-  69                   my_putc:\r
-   1:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
-   2:hello.c       **** \r
-   3:hello.c       **** #include <stdio.h>\r
-   4:hello.c       **** #include <avr/io.h>\r
-   5:hello.c       **** #include "hello.h"\r
-   6:hello.c       **** \r
-   7:hello.c       **** int my_putc(char c)\r
-   8:hello.c       ****        {\r
-  70                           .stabn 68,0,8,.LM1-my_putc\r
-  71                   .LM1:\r
-  72                   /* prologue: frame size=1 */\r
-  73 0000 CF93                 push r28\r
-  74 0002 DF93                 push r29\r
-  75 0004 CDB7                 in r28,__SP_L__\r
-  76 0006 DEB7                 in r29,__SP_H__\r
-  77 0008 2197                 sbiw r28,1\r
-  78 000a 0FB6                 in __tmp_reg__,__SREG__\r
-  79 000c F894                 cli\r
-  80 000e DEBF                 out __SP_H__,r29\r
-  81 0010 0FBE                 out __SREG__,__tmp_reg__\r
-  82 0012 CDBF                 out __SP_L__,r28\r
-  83                   /* prologue end (size=10) */\r
-  84 0014 8983                 std Y+1,r24\r
-   9:hello.c       **** nclude "hello.h"\r
-  85                           .stabn 68,0,9,.LM2-my_putc\r
-  86                   .LM2:\r
-  87                   .L2:\r
-  88 0016 8091 2B00            lds r24,43\r
-  89 001a 9927                 clr r25\r
-  90 001c 8072                 andi r24,lo8(32)\r
-  91 001e 9070                 andi r25,hi8(32)\r
-  92 0020 0097                 sbiw r24,0\r
-  93 0022 C9F3                 breq .L2\r
-  10:hello.c       **** o.h>\r
-  11:hello.c       **** #include <avr/io.h>\r
-  94                           .stabn 68,0,11,.LM3-my_putc\r
-  95                   .LM3:\r
-  96 0024 8981                 ldd r24,Y+1\r
-  97 0026 8093 2C00            sts 44,r24\r
-  12:hello.c       **** R */\r
-  98                           .stabn 68,0,12,.LM4-my_putc\r
-  99                   .LM4:\r
- 100 002a 80E0                 ldi r24,lo8(0)\r
- 101 002c 90E0                 ldi r25,hi8(0)\r
-  13:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
-\fGAS LISTING C:\cygwin\tmp/cc8iaaaa.s                  page 3\r
-\r
-\r
- 102                           .stabn 68,0,13,.LM5-my_putc\r
- 103                   .LM5:\r
- 104                   /* epilogue: frame size=1 */\r
- 105 002e 2196                 adiw r28,1\r
- 106 0030 0FB6                 in __tmp_reg__,__SREG__\r
- 107 0032 F894                 cli\r
- 108 0034 DEBF                 out __SP_H__,r29\r
- 109 0036 0FBE                 out __SREG__,__tmp_reg__\r
- 110 0038 CDBF                 out __SP_L__,r28\r
- 111 003a DF91                 pop r29\r
- 112 003c CF91                 pop r28\r
- 113 003e 0895                 ret\r
- 114                   /* epilogue end (size=9) */\r
- 115                   /* function my_putc size 32 (13) */\r
- 116                           .size   my_putc, .-my_putc\r
- 117                   .Lscope0:\r
- 118                           .stabs  "",36,0,0,.Lscope0-my_putc\r
- 119                           .stabs  "my_getc:F(0,1)",36,0,16,my_getc\r
- 120                   .global my_getc\r
- 121                           .type   my_getc, @function\r
- 122                   my_getc:\r
-  14:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
-  15:hello.c       **** \r
-  16:hello.c       **** #include <stdio.h>\r
- 123                           .stabn 68,0,16,.LM6-my_getc\r
- 124                   .LM6:\r
- 125                   /* prologue: frame size=2 */\r
- 126 0040 CF93                 push r28\r
- 127 0042 DF93                 push r29\r
- 128 0044 CDB7                 in r28,__SP_L__\r
- 129 0046 DEB7                 in r29,__SP_H__\r
- 130 0048 2297                 sbiw r28,2\r
- 131 004a 0FB6                 in __tmp_reg__,__SREG__\r
- 132 004c F894                 cli\r
- 133 004e DEBF                 out __SP_H__,r29\r
- 134 0050 0FBE                 out __SREG__,__tmp_reg__\r
- 135 0052 CDBF                 out __SP_L__,r28\r
- 136                   /* prologue end (size=10) */\r
-  17:hello.c       **** by Nick for Hytech AVR */\r
- 137                           .stabn 68,0,17,.LM7-my_getc\r
- 138                   .LM7:\r
- 139 0054 8091 2B00            lds r24,43\r
- 140 0058 8823                 tst r24\r
- 141 005a 2CF0                 brlt .L6\r
-  18:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
- 142                           .stabn 68,0,18,.LM8-my_getc\r
- 143                   .LM8:\r
- 144 005c 8FEF                 ldi r24,lo8(-1)\r
- 145 005e 9FEF                 ldi r25,hi8(-1)\r
- 146 0060 8983                 std Y+1,r24\r
- 147 0062 9A83                 std Y+2,r25\r
- 148 0064 05C0                 rjmp .L5\r
- 149                   .L6:\r
-  19:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
- 150                           .stabn 68,0,19,.LM9-my_getc\r
- 151                   .LM9:\r
- 152 0066 8091 2C00            lds r24,44\r
-\fGAS LISTING C:\cygwin\tmp/cc8iaaaa.s                  page 4\r
-\r
-\r
- 153 006a 9927                 clr r25\r
- 154 006c 8983                 std Y+1,r24\r
- 155 006e 9A83                 std Y+2,r25\r
-  20:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
- 156                           .stabn 68,0,20,.LM10-my_getc\r
- 157                   .LM10:\r
- 158                   .L5:\r
- 159 0070 8981                 ldd r24,Y+1\r
- 160 0072 9A81                 ldd r25,Y+2\r
- 161                   /* epilogue: frame size=2 */\r
- 162 0074 2296                 adiw r28,2\r
- 163 0076 0FB6                 in __tmp_reg__,__SREG__\r
- 164 0078 F894                 cli\r
- 165 007a DEBF                 out __SP_H__,r29\r
- 166 007c 0FBE                 out __SREG__,__tmp_reg__\r
- 167 007e CDBF                 out __SP_L__,r28\r
- 168 0080 DF91                 pop r29\r
- 169 0082 CF91                 pop r28\r
- 170 0084 0895                 ret\r
- 171                   /* epilogue end (size=9) */\r
- 172                   /* function my_getc size 35 (16) */\r
- 173                           .size   my_getc, .-my_getc\r
- 174                   .Lscope1:\r
- 175                           .stabs  "",36,0,0,.Lscope1-my_getc\r
- 176                           .data\r
- 177                   .LC0:\r
- 178 0000 6865 6C6C            .string "hello, world\r\n"\r
- 178      6F2C 2077 \r
- 178      6F72 6C64 \r
- 178      0D0A 00\r
- 179                           .text\r
- 180                           .stabs  "main:F(0,1)",36,0,23,main\r
- 181                   .global main\r
- 182                           .type   main, @function\r
- 183                   main:\r
-  21:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
-  22:hello.c       **** \r
-  23:hello.c       **** #include <stdio.h>\r
- 184                           .stabn 68,0,23,.LM11-main\r
- 185                   .LM11:\r
- 186                   /* prologue: frame size=0 */\r
- 187 0086 C0E0                 ldi r28,lo8(__stack - 0)\r
- 188 0088 D0E0                 ldi r29,hi8(__stack - 0)\r
- 189 008a DEBF                 out __SP_H__,r29\r
- 190 008c CDBF                 out __SP_L__,r28\r
- 191                   /* prologue end (size=4) */\r
-  24:hello.c       **** by Nick for Hytech AVR */\r
-  25:hello.c       **** \r
- 192                           .stabn 68,0,25,.LM12-main\r
- 193                   .LM12:\r
- 194 008e 80E4                 ldi r24,lo8(64)\r
- 195 0090 8093 2B00            sts 43,r24\r
-  26:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
- 196                           .stabn 68,0,26,.LM13-main\r
- 197                   .LM13:\r
- 198 0094 88E1                 ldi r24,lo8(24)\r
- 199 0096 8093 2A00            sts 42,r24\r
-\fGAS LISTING C:\cygwin\tmp/cc8iaaaa.s                  page 5\r
-\r
-\r
-  27:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
- 200                           .stabn 68,0,27,.LM14-main\r
- 201                   .LM14:\r
- 202 009a 87E4                 ldi r24,lo8(71)\r
- 203 009c 8093 2900            sts 41,r24\r
-  28:hello.c       **** /* hello.c by Nick for Hytech AVR */\r
-  29:hello.c       **** \r
-  30:hello.c       **** #include <stdio.h>\r
-  31:hello.c       **** #include <avr/io.h>\r
-  32:hello.c       **** #include "hello.h"\r
-  33:hello.c       **** \r
-  34:hello.c       **** int my_putc(char c)\r
-  35:hello.c       ****        {\r
-  36:hello.c       ****        while (bit_is_set(UCSRA, UDRE) == 0)\r
-  37:hello.c       ****                ;\r
-  38:hello.c       ****        UDR = c;\r
-  39:hello.c       ****        return 0;\r
- 204                           .stabn 68,0,39,.LM15-main\r
- 205                   .LM15:\r
- 206 00a0 40E0                 ldi r20,lo8(0)\r
- 207 00a2 50E0                 ldi r21,hi8(0)\r
- 208 00a4 60E0                 ldi r22,lo8(pm(my_getc))\r
- 209 00a6 70E0                 ldi r23,hi8(pm(my_getc))\r
- 210 00a8 80E0                 ldi r24,lo8(pm(my_putc))\r
- 211 00aa 90E0                 ldi r25,hi8(pm(my_putc))\r
- 212 00ac 00D0                 rcall fdevopen\r
-  40:hello.c       **** UDRE) == 0)\r
-  41:hello.c       ****                ;\r
-  42:hello.c       ****        UDR = c;\r
- 213                           .stabn 68,0,42,.LM16-main\r
- 214                   .LM16:\r
- 215 00ae 80E0                 ldi r24,lo8(.LC0)\r
- 216 00b0 90E0                 ldi r25,hi8(.LC0)\r
- 217 00b2 9F93                 push r25\r
- 218 00b4 8F93                 push r24\r
- 219 00b6 00D0                 rcall printf\r
- 220 00b8 0F90                 pop __tmp_reg__\r
- 221 00ba 0F90                 pop __tmp_reg__\r
-  43:hello.c       **** _set(UCSRA, UDRE) == 0)\r
-  44:hello.c       ****                ;\r
-  45:hello.c       ****        UDR = c;\r
-  46:hello.c       ****        return 0;\r
- 222                           .stabn 68,0,46,.LM17-main\r
- 223                   .LM17:\r
- 224                   .L8:\r
- 225 00bc FFCF                 rjmp .L8\r
-  47:hello.c       **** UDRE) == 0)\r
-  48:hello.c       ****                ;\r
- 226                           .stabn 68,0,48,.LM18-main\r
- 227                   .LM18:\r
- 228                   /* epilogue: frame size=0 */\r
- 229                   /* epilogue: noreturn */\r
- 230                   /* epilogue end (size=0) */\r
- 231                   /* function main size 28 (24) */\r
- 232                           .size   main, .-main\r
- 233                   .Lscope2:\r
- 234                           .stabs  "",36,0,0,.Lscope2-main\r
-\fGAS LISTING C:\cygwin\tmp/cc8iaaaa.s                  page 6\r
-\r
-\r
- 235                           .text\r
- 236                           .stabs "",100,0,0,Letext\r
- 237                   Letext:\r
- 238                   /* File "hello.c": code   95 = 0x005f (  53), prologues  24, epilogues  18 */\r
-\fGAS LISTING C:\cygwin\tmp/cc8iaaaa.s                  page 7\r
-\r
-\r
-DEFINED SYMBOLS\r
-                            *ABS*:00000000 hello.c\r
-                            *ABS*:0000003f __SREG__\r
-                            *ABS*:0000003e __SP_H__\r
-                            *ABS*:0000003d __SP_L__\r
-                            *ABS*:00000000 __tmp_reg__\r
-                            *ABS*:00000001 __zero_reg__\r
-C:\cygwin\tmp/cc8iaaaa.s:69     .text:00000000 my_putc\r
-C:\cygwin\tmp/cc8iaaaa.s:122    .text:00000040 my_getc\r
-C:\cygwin\tmp/cc8iaaaa.s:183    .text:00000086 main\r
-C:\cygwin\tmp/cc8iaaaa.s:237    .text:000000be Letext\r
-\r
-UNDEFINED SYMBOLS\r
-__do_copy_data\r
-__do_clear_bss\r
-__stack\r
-fdevopen\r
-printf\r
diff --git a/src/nicktemp/hello.map b/src/nicktemp/hello.map
deleted file mode 100644 (file)
index 3a569e8..0000000
+++ /dev/null
@@ -1,426 +0,0 @@
-Archive member included because of file (symbol)\r
-\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                              hello.o (__do_copy_data)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                              hello.o (__do_clear_bss)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                              hello.o (fdevopen)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                              hello.o (printf)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o) (vfprintf)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o) (calloc)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o) (fputc)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o) (malloc)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(memset.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o) (memset)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_mulhi3.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o) (__mulhi3)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_udivmodsi4.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o) (__udivmodsi4)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_prologue.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o) (__prologue_saves__)\r
-c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_epilogue.o)\r
-                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o) (__epilogue_restores__)\r
-\r
-Allocating common symbols\r
-Common symbol       size              file\r
-\r
-__iob               0x6               c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-\r
-Memory Configuration\r
-\r
-Name             Origin             Length             Attributes\r
-text             0x00000000         0x00002000         xr\r
-data             0x00800060         0x0000ffa0         rw !x\r
-eeprom           0x00810000         0x00010000         rw !x\r
-*default*        0x00000000         0xffffffff\r
-\r
-Linker script and memory map\r
-\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-LOAD hello.o\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a\r
-LOAD c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a\r
-\r
-.hash\r
- *(.hash)\r
-\r
-.dynsym\r
- *(.dynsym)\r
-\r
-.dynstr\r
- *(.dynstr)\r
-\r
-.gnu.version\r
- *(.gnu.version)\r
-\r
-.gnu.version_d\r
- *(.gnu.version_d)\r
-\r
-.gnu.version_r\r
- *(.gnu.version_r)\r
-\r
-.rel.init\r
- *(.rel.init)\r
-\r
-.rela.init\r
- *(.rela.init)\r
-\r
-.rel.text\r
- *(.rel.text)\r
- *(.rel.text.*)\r
- *(.rel.gnu.linkonce.t*)\r
-\r
-.rela.text\r
- *(.rela.text)\r
- *(.rela.text.*)\r
- *(.rela.gnu.linkonce.t*)\r
-\r
-.rel.fini\r
- *(.rel.fini)\r
-\r
-.rela.fini\r
- *(.rela.fini)\r
-\r
-.rel.rodata\r
- *(.rel.rodata)\r
- *(.rel.rodata.*)\r
- *(.rel.gnu.linkonce.r*)\r
-\r
-.rela.rodata\r
- *(.rela.rodata)\r
- *(.rela.rodata.*)\r
- *(.rela.gnu.linkonce.r*)\r
-\r
-.rel.data\r
- *(.rel.data)\r
- *(.rel.data.*)\r
- *(.rel.gnu.linkonce.d*)\r
-\r
-.rela.data\r
- *(.rela.data)\r
- *(.rela.data.*)\r
- *(.rela.gnu.linkonce.d*)\r
-\r
-.rel.ctors\r
- *(.rel.ctors)\r
-\r
-.rela.ctors\r
- *(.rela.ctors)\r
-\r
-.rel.dtors\r
- *(.rel.dtors)\r
-\r
-.rela.dtors\r
- *(.rela.dtors)\r
-\r
-.rel.got\r
- *(.rel.got)\r
-\r
-.rela.got\r
- *(.rela.got)\r
-\r
-.rel.bss\r
- *(.rel.bss)\r
-\r
-.rela.bss\r
- *(.rela.bss)\r
-\r
-.rel.plt\r
- *(.rel.plt)\r
-\r
-.rela.plt\r
- *(.rela.plt)\r
-\r
-.text           0x00000000      0xa6a\r
- *(.vectors)\r
- .vectors       0x00000000       0x1c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                0x00000000                __vectors\r
-                0x00000000                __vector_default\r
-                0x0000001c                __ctors_start = .\r
- *(.ctors)\r
-                0x0000001c                __ctors_end = .\r
-                0x0000001c                __dtors_start = .\r
- *(.dtors)\r
-                0x0000001c                __dtors_end = .\r
- *(.progmem.gcc*)\r
- *(.progmem*)\r
-                0x0000001c                . = ALIGN (0x2)\r
- *(.init0)\r
- *(.init1)\r
- *(.init2)\r
- .init2         0x0000001c        0xc c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- *(.init3)\r
- *(.init4)\r
- .init4         0x00000028       0x18 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                0x00000028                __do_copy_data\r
- .init4         0x00000040       0x10 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                0x00000040                __do_clear_bss\r
- *(.init5)\r
- *(.init6)\r
- *(.init7)\r
- *(.init8)\r
- *(.init9)\r
- .init9         0x00000050        0x2 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- *(.text)\r
- .text          0x00000052        0x2 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                0x00000052                __vector_1\r
-                0x00000052                __vector_12\r
-                0x00000052                __bad_interrupt\r
-                0x00000052                __vector_6\r
-                0x00000052                __vector_3\r
-                0x00000052                __vector_11\r
-                0x00000052                __vector_13\r
-                0x00000052                __vector_7\r
-                0x00000052                __vector_5\r
-                0x00000052                __vector_4\r
-                0x00000052                __vector_9\r
-                0x00000052                __vector_2\r
-                0x00000052                __vector_8\r
-                0x00000052                __vector_10\r
- .text          0x00000054       0xbe hello.o\r
-                0x000000da                main\r
-                0x00000094                my_getc\r
-                0x00000054                my_putc\r
- .text          0x00000112       0x8e c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                0x00000112                fdevopen\r
- .text          0x000001a0       0x2c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                0x000001a0                printf\r
- .text          0x000001cc      0x518 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                0x000001cc                vfprintf\r
- .text          0x000006e4       0x30 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                0x000006e4                calloc\r
- .text          0x00000714       0x5a c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                0x00000714                fputc\r
- .text          0x0000076e      0x20a c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                0x0000076e                malloc\r
-                0x000008a8                free\r
- .text          0x00000978       0x10 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(memset.o)\r
-                0x00000978                memset\r
-                0x00000988                . = ALIGN (0x2)\r
- *(.text.*)\r
- .text.libgcc   0x00000988       0x24 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_mulhi3.o)\r
-                0x00000988                __mulhi3\r
- .text.libgcc   0x000009ac       0x4e c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_udivmodsi4.o)\r
-                0x000009ac                __udivmodsi4\r
- .text.libgcc   0x000009fa       0x38 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_prologue.o)\r
-                0x000009fa                __prologue_saves__\r
- .text.libgcc   0x00000a32       0x38 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_epilogue.o)\r
-                0x00000a32                __epilogue_restores__\r
-                0x00000a6a                . = ALIGN (0x2)\r
- *(.fini9)\r
- *(.fini8)\r
- *(.fini7)\r
- *(.fini6)\r
- *(.fini5)\r
- *(.fini4)\r
- *(.fini3)\r
- *(.fini2)\r
- *(.fini1)\r
- *(.fini0)\r
-                0x00000a6a                _etext = .\r
-\r
-.data           0x00800060       0x16 load address 0x00000a6a\r
-                0x00800060                PROVIDE (__data_start, .)\r
- *(.data)\r
- .data          0x00800060        0xf hello.o\r
- .data          0x0080006f        0x6 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                0x00800071                __malloc_heap_start\r
-                0x00800073                __malloc_heap_end\r
-                0x0080006f                __malloc_margin\r
- *(.gnu.linkonce.d*)\r
-                0x00800076                . = ALIGN (0x2)\r
- *fill*         0x00800075        0x1 00\r
-                0x00800076                _edata = .\r
-                0x00800076                PROVIDE (__data_end, .)\r
-\r
-.bss            0x00800076        0xa\r
-                0x00800076                PROVIDE (__bss_start, .)\r
- *(.bss)\r
- .bss           0x00800076        0x4 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
- *(COMMON)\r
- COMMON         0x0080007a        0x6 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                  0x0 (size before relaxing)\r
-                0x0080007a                __iob\r
-                0x00800080                PROVIDE (__bss_end, .)\r
-                0x00000a6a                __data_load_start = LOADADDR (.data)\r
-                0x00000a80                __data_load_end = (__data_load_start + SIZEOF (.data))\r
-\r
-.noinit         0x00800080        0x0\r
-                0x00800080                PROVIDE (__noinit_start, .)\r
- *(.noinit*)\r
-                0x00800080                PROVIDE (__noinit_end, .)\r
-                0x00800080                _end = .\r
-                0x00800080                PROVIDE (__heap_start, .)\r
-\r
-.eeprom         0x00810000        0x0 load address 0x00000a80\r
- *(.eeprom*)\r
-                0x00810000                __eeprom_end = .\r
-\r
-.stab           0x00000000     0x1db8\r
- *(.stab)\r
- .stab          0x00000000      0x2a0 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
- .stab          0x000002a0      0x3b4 hello.o\r
-                                0x3c0 (size before relaxing)\r
- .stab          0x00000654      0x3e4 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                0x3f0 (size before relaxing)\r
- .stab          0x00000a38      0x1d4 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                0x2ac (size before relaxing)\r
- .stab          0x00000c0c      0x7b0 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                0x8a0 (size before relaxing)\r
- .stab          0x000013bc      0x21c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                                0x264 (size before relaxing)\r
- .stab          0x000015d8      0x204 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                                0x2f4 (size before relaxing)\r
- .stab          0x000017dc      0x570 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                                0x5d0 (size before relaxing)\r
- .stab          0x00001d4c       0x6c c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(memset.o)\r
-                                 0x78 (size before relaxing)\r
-\r
-.stabstr        0x00000000     0x100b\r
- *(.stabstr)\r
- .stabstr       0x00000000     0x100b c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                                  0x0 (size before relaxing)\r
-\r
-.stab.excl\r
- *(.stab.excl)\r
-\r
-.stab.exclstr\r
- *(.stab.exclstr)\r
-\r
-.stab.index\r
- *(.stab.index)\r
-\r
-.stab.indexstr\r
- *(.stab.indexstr)\r
-\r
-.comment\r
- *(.comment)\r
-\r
-.debug\r
- *(.debug)\r
-\r
-.line\r
- *(.line)\r
-\r
-.debug_srcinfo\r
- *(.debug_srcinfo)\r
-\r
-.debug_sfnames\r
- *(.debug_sfnames)\r
-\r
-.debug_aranges\r
- *(.debug_aranges)\r
-\r
-.debug_pubnames\r
- *(.debug_pubnames)\r
-\r
-.debug_info\r
- *(.debug_info)\r
- *(.gnu.linkonce.wi.*)\r
-\r
-.debug_abbrev\r
- *(.debug_abbrev)\r
-\r
-.debug_line\r
- *(.debug_line)\r
-\r
-.debug_frame\r
- *(.debug_frame)\r
-\r
-.debug_str\r
- *(.debug_str)\r
-\r
-.debug_loc\r
- *(.debug_loc)\r
-\r
-.debug_macinfo\r
- *(.debug_macinfo)\r
-OUTPUT(hello.elf elf32-avr)\r
-\r
-Cross Reference Table\r
-\r
-Symbol                                            File\r
-__bad_interrupt                                   c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__bss_end                                         c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-__bss_start                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-__data_end                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__data_load_start                                 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__data_start                                      c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-__do_clear_bss                                    c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_clear_bss.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                                  hello.o\r
-__do_copy_data                                    c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_copy_data.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                                  hello.o\r
-__epilogue_restores__                             c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_epilogue.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-__heap_end                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__heap_start                                      c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__init                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__iob                                             c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-__malloc_heap_end                                 c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__malloc_heap_start                               c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__malloc_margin                                   c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-__mulhi3                                          c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_mulhi3.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-__prologue_saves__                                c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_prologue.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-__stack                                           c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-                                                  hello.o\r
-__udivmodsi4                                      c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\libgcc.a(_udivmodsi4.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-__vector_1                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_10                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_11                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_12                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_13                                       c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_2                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_3                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_4                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_5                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_6                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_7                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_8                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_9                                        c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vector_default                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-__vectors                                         c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-calloc                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-fdevopen                                          c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fdevopen.o)\r
-                                                  hello.o\r
-fputc                                             c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(fputc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-free                                              c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-main                                              hello.o\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\crts4433.o\r
-malloc                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(malloc.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-memset                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(memset.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(calloc.o)\r
-my_getc                                           hello.o\r
-my_putc                                           hello.o\r
-printf                                            c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
-                                                  hello.o\r
-vfprintf                                          c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(vfprintf_std.o)\r
-                                                  c:\WinAVR\bin\..\lib\gcc-lib\avr\3.3\..\..\..\..\avr\lib\libc.a(printf.o)\r
diff --git a/src/nicktemp/hello.o b/src/nicktemp/hello.o
deleted file mode 100644 (file)
index 1e70203..0000000
Binary files a/src/nicktemp/hello.o and /dev/null differ
diff --git a/src/nicktemp/hello.s b/src/nicktemp/hello.s
deleted file mode 100644 (file)
index b87285f..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-       .file   "hello.c"\r
-       .arch at90s4433\r
-__SREG__ = 0x3f\r
-__SP_H__ = 0x3e\r
-__SP_L__ = 0x3d\r
-__tmp_reg__ = 0\r
-__zero_reg__ = 1\r
-       .global __do_copy_data\r
-       .global __do_clear_bss\r
-       .stabs  "c:\\uzi\\src\\nicktemp/",100,0,0,.Ltext0\r
-       .stabs  "hello.c",100,0,0,.Ltext0\r
-       .text\r
-.Ltext0:\r
-       .stabs  "gcc2_compiled.",60,0,0,0\r
-       .stabs  "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0\r
-       .stabs  "char:t(0,2)=r(0,2);0;127;",128,0,0,0\r
-       .stabs  "long int:t(0,3)=@s32;r(0,3);0020000000000;0017777777777;",128,0,0,0\r
-       .stabs  "unsigned int:t(0,4)=r(0,4);0000000000000;0000000177777;",128,0,0,0\r
-       .stabs  "long unsigned int:t(0,5)=@s32;r(0,5);0000000000000;0037777777777;",128,0,0,0\r
-       .stabs  "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,0\r
-       .stabs  "long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,0\r
-       .stabs  "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0\r
-       .stabs  "short unsigned int:t(0,9)=r(0,9);0000000000000;0000000177777;",128,0,0,0\r
-       .stabs  "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0\r
-       .stabs  "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0\r
-       .stabs  "float:t(0,12)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "double:t(0,13)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "long double:t(0,14)=r(0,1);4;0;",128,0,0,0\r
-       .stabs  "complex int:t(0,15)=s4real:(0,1),0,16;imag:(0,1),16,16;;",128,0,0,0\r
-       .stabs  "complex float:t(0,16)=r(0,16);8;0;",128,0,0,0\r
-       .stabs  "complex double:t(0,17)=r(0,17);8;0;",128,0,0,0\r
-       .stabs  "complex long double:t(0,18)=r(0,18);8;0;",128,0,0,0\r
-       .stabs  "__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0\r
-       .stabs  "_Bool:t(0,21)=@s8;-16;",128,0,0,0\r
-       .stabs  "hello.c",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/stdio.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/inttypes.h",130,0,0,0\r
-       .stabs  "int8_t:t(3,1)=(0,10)",128,0,46,0\r
-       .stabs  "uint8_t:t(3,2)=(0,11)",128,0,47,0\r
-       .stabs  "int16_t:t(3,3)=(0,1)",128,0,49,0\r
-       .stabs  "uint16_t:t(3,4)=(0,4)",128,0,50,0\r
-       .stabs  "int32_t:t(3,5)=(0,3)",128,0,52,0\r
-       .stabs  "uint32_t:t(3,6)=(0,5)",128,0,53,0\r
-       .stabs  "int64_t:t(3,7)=(0,6)",128,0,55,0\r
-       .stabs  "uint64_t:t(3,8)=(0,7)",128,0,56,0\r
-       .stabs  "intptr_t:t(3,9)=(3,3)",128,0,58,0\r
-       .stabs  "uintptr_t:t(3,10)=(3,4)",128,0,59,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stdarg.h",130,0,0,0\r
-       .stabs  "__gnuc_va_list:t(4,1)=(0,19)",128,0,43,0\r
-       .stabs  "va_list:t(4,2)=(4,1)",128,0,105,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/lib/gcc-lib/avr/3.3/include/stddef.h",130,0,0,0\r
-       .stabs  "size_t:t(5,1)=(0,4)",128,0,213,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/io.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/io4433.h",130,0,0,0\r
-       .stabs  "c:/WinAVR/avr/include/avr/sfr_defs.h",130,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "hello.h",130,0,0,0\r
-       .stabn  162,0,0,0\r
-       .stabs  "my_putc:F(0,1)",36,0,8,my_putc\r
-       .stabs  "c:p(0,2)",160,0,7,1\r
-.global        my_putc\r
-       .type   my_putc, @function\r
-my_putc:\r
-       .stabn 68,0,8,.LM1-my_putc\r
-.LM1:\r
-/* prologue: frame size=1 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,1\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       std Y+1,r24\r
-       .stabn 68,0,9,.LM2-my_putc\r
-.LM2:\r
-.L2:\r
-       lds r24,43\r
-       clr r25\r
-       andi r24,lo8(32)\r
-       andi r25,hi8(32)\r
-       sbiw r24,0\r
-       breq .L2\r
-       .stabn 68,0,11,.LM3-my_putc\r
-.LM3:\r
-       ldd r24,Y+1\r
-       sts 44,r24\r
-       .stabn 68,0,12,.LM4-my_putc\r
-.LM4:\r
-       ldi r24,lo8(0)\r
-       ldi r25,hi8(0)\r
-       .stabn 68,0,13,.LM5-my_putc\r
-.LM5:\r
-/* epilogue: frame size=1 */\r
-       adiw r28,1\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function my_putc size 32 (13) */\r
-       .size   my_putc, .-my_putc\r
-.Lscope0:\r
-       .stabs  "",36,0,0,.Lscope0-my_putc\r
-       .stabs  "my_getc:F(0,1)",36,0,16,my_getc\r
-.global        my_getc\r
-       .type   my_getc, @function\r
-my_getc:\r
-       .stabn 68,0,16,.LM6-my_getc\r
-.LM6:\r
-/* prologue: frame size=2 */\r
-       push r28\r
-       push r29\r
-       in r28,__SP_L__\r
-       in r29,__SP_H__\r
-       sbiw r28,2\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-/* prologue end (size=10) */\r
-       .stabn 68,0,17,.LM7-my_getc\r
-.LM7:\r
-       lds r24,43\r
-       tst r24\r
-       brlt .L6\r
-       .stabn 68,0,18,.LM8-my_getc\r
-.LM8:\r
-       ldi r24,lo8(-1)\r
-       ldi r25,hi8(-1)\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       rjmp .L5\r
-.L6:\r
-       .stabn 68,0,19,.LM9-my_getc\r
-.LM9:\r
-       lds r24,44\r
-       clr r25\r
-       std Y+1,r24\r
-       std Y+2,r25\r
-       .stabn 68,0,20,.LM10-my_getc\r
-.LM10:\r
-.L5:\r
-       ldd r24,Y+1\r
-       ldd r25,Y+2\r
-/* epilogue: frame size=2 */\r
-       adiw r28,2\r
-       in __tmp_reg__,__SREG__\r
-       cli\r
-       out __SP_H__,r29\r
-       out __SREG__,__tmp_reg__\r
-       out __SP_L__,r28\r
-       pop r29\r
-       pop r28\r
-       ret\r
-/* epilogue end (size=9) */\r
-/* function my_getc size 35 (16) */\r
-       .size   my_getc, .-my_getc\r
-.Lscope1:\r
-       .stabs  "",36,0,0,.Lscope1-my_getc\r
-       .data\r
-.LC0:\r
-       .string "hello, world\r\n"\r
-       .text\r
-       .stabs  "main:F(0,1)",36,0,23,main\r
-.global        main\r
-       .type   main, @function\r
-main:\r
-       .stabn 68,0,23,.LM11-main\r
-.LM11:\r
-/* prologue: frame size=0 */\r
-       ldi r28,lo8(__stack - 0)\r
-       ldi r29,hi8(__stack - 0)\r
-       out __SP_H__,r29\r
-       out __SP_L__,r28\r
-/* prologue end (size=4) */\r
-       .stabn 68,0,25,.LM12-main\r
-.LM12:\r
-       ldi r24,lo8(64)\r
-       sts 43,r24\r
-       .stabn 68,0,26,.LM13-main\r
-.LM13:\r
-       ldi r24,lo8(24)\r
-       sts 42,r24\r
-       .stabn 68,0,27,.LM14-main\r
-.LM14:\r
-       ldi r24,lo8(71)\r
-       sts 41,r24\r
-       .stabn 68,0,39,.LM15-main\r
-.LM15:\r
-       ldi r20,lo8(0)\r
-       ldi r21,hi8(0)\r
-       ldi r22,lo8(pm(my_getc))\r
-       ldi r23,hi8(pm(my_getc))\r
-       ldi r24,lo8(pm(my_putc))\r
-       ldi r25,hi8(pm(my_putc))\r
-       rcall fdevopen\r
-       .stabn 68,0,42,.LM16-main\r
-.LM16:\r
-       ldi r24,lo8(.LC0)\r
-       ldi r25,hi8(.LC0)\r
-       push r25\r
-       push r24\r
-       rcall printf\r
-       pop __tmp_reg__\r
-       pop __tmp_reg__\r
-       .stabn 68,0,46,.LM17-main\r
-.LM17:\r
-.L8:\r
-       rjmp .L8\r
-       .stabn 68,0,48,.LM18-main\r
-.LM18:\r
-/* epilogue: frame size=0 */\r
-/* epilogue: noreturn */\r
-/* epilogue end (size=0) */\r
-/* function main size 28 (24) */\r
-       .size   main, .-main\r
-.Lscope2:\r
-       .stabs  "",36,0,0,.Lscope2-main\r
-       .text\r
-       .stabs "",100,0,0,Letext\r
-Letext:\r
-/* File "hello.c": code   95 = 0x005f (  53), prologues  24, epilogues  18 */\r
diff --git a/src/nicktemp/hello.tar.gz b/src/nicktemp/hello.tar.gz
deleted file mode 100644 (file)
index 4a9cb3b..0000000
Binary files a/src/nicktemp/hello.tar.gz and /dev/null differ
diff --git a/src/nicktemp/makefile b/src/nicktemp/makefile
deleted file mode 100644 (file)
index eda5bc8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# Simple Makefile\r
-# Volker Oth (c) 1999\r
-\r
-\r
-########### change this lines according to your project ##################\r
-\r
-#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)\r
-    MCU = at90s4433\r
-\r
-#put the name of the target file here (without extension)\r
-       TRG     = hello\r
-\r
-#put your C sourcefiles here \r
-#      SRC     = uart.c $(TRG).c\r
-       SRC     = $(TRG).c\r
-\r
-#put additional assembler source file here\r
-       ASRC    =\r
-\r
-#additional libraries and object files to link\r
-       LIB = \r
-\r
-#additional includes to compile\r
-       INC     = \r
-\r
-#compiler flags\r
-#      CPFLAGS = -g -O2 -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)\r
-       CPFLAGS = -g -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)\r
-\r
-#linker flags\r
-       LDFLAGS = -Wl,-Map=$(TRG).map,--cref\r
-\r
-########### you should not need to change the following line #############\r
-include avr_make\r
-                 \r
-###### dependecies, add any dependencies you need here ###################\r
-\r
-#uart.o     : uart.c uart.h\r
-$(TRG).o    : $(TRG).c\r
diff --git a/src/testsystem/login b/src/testsystem/login
new file mode 100644 (file)
index 0000000..4db5704
Binary files /dev/null and b/src/testsystem/login differ
diff --git a/src/testsystem/tter.c.save b/src/testsystem/tter.c.save
deleted file mode 100644 (file)
index 684dd4a..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-/*\r
- * tter.c for uzi180 by Nick & Rob\r
- *\r
- * Allows recording and playback of binary data received from/to a serial port\r
- */\r
-#include <stdio.h>\r
-#include <fcntl.h>\r
-#include <stdlib.h>\r
-\r
-#ifdef POSIX_TERMIOS\r
-#include <termios.h>\r
-#else\r
-#include <sgtty.h>\r
-#endif\r
-\r
-#include <unistd.h>\r
-\r
-#include <sys/time.h>\r
-#include <sys/select.h>\r
-\r
-/* ------------------------------------------------------------------------- */\r
-/* definitions */\r
-\r
-#define DEF_BAUDRATE   38400\r
-#define DEF_DELAY      100  /* ms */\r
-\r
-#define USAGE  "usage: %s <-r>|<-p [-d <delay ms>]> [-s <baudrate>] <devicename> <filename>"\r
-#define BUFSIZE 0x80\r
-#define P_FLAG 1\r
-#define        R_FLAG  2\r
-#define        S_FLAG  4\r
-#define        D_FLAG  8\r
-\r
-typedef struct\r
-{\r
-       int flags;      /* command line options flags */\r
-       int speed;      /* terminal baudrate */\r
-       int delay;      /* delay between characters during playback */\r
-       char *tname;    /* terminal device name */\r
-       char *pname;    /* this program's name */\r
-       char *fname;    /* filename for recording/playback */\r
-} cmdlineT;\r
-\r
-\r
-/* ------------------------------------------------------------------------- */\r
-/* prototypes */\r
-\r
-void process_esc(char *buf, int *count);\r
-void exit_error(char *mess1, char *mess2);\r
-void exit_restore(void);\r
-void entry_setup(void);\r
-int get_baudrate(int speed);\r
-int parse_cmd_line(int argc, char **argv);\r
-int main(int argc, char **argv);\r
-\r
-/* ------------------------------------------------------------------------- */\r
-/* global variables */\r
-\r
-int fd_in, fd_out, fd_ter;\r
-FILE *file;\r
-cmdlineT cmdline;\r
-char buf[BUFSIZE];\r
-char usage[80];\r
-\r
-\r
-#ifdef POSIX_TERMIOS\r
-struct termios state_in, state_ter;\r
-#else\r
-int raw_in, raw_ter;\r
-#endif\r
-\r
-/* ------------------------------------------------------------------------- */\r
-\r
-void exit_error(char *mess1, char *mess2)\r
-{\r
-        char header[20];\r
-       exit_restore();\r
-        sprintf(header, "%s: ", cmdline.pname);\r
-       write(fileno(stderr), header, strlen(header));\r
-       write(fileno(stderr), mess1, strlen(mess1));\r
-       perror(mess2);\r
-       exit(1);\r
-}\r
-\r
-void exit_restore(void)\r
-{\r
-#ifdef POSIX_TERMIOS\r
-       struct termios state;\r
-#else\r
-       struct sgttyb state;\r
-#endif\r
-\r
-       if (fd_in >= 0 && isatty(fd_in))\r
-       {\r
-#ifdef POSIX_TERMIOS\r
-               tcsetattr(fd_in, TCSADRAIN, &state_in);\r
-#else\r
-               gtty(fd_in, &state);\r
-               state.sg_flags = raw_in;\r
-               stty(fd_in, &state);\r
-#endif\r
-       }\r
-\r
-       if (fd_ter >= 0 && isatty(fd_ter))\r
-       {\r
-#ifdef POSIX_TERMIOS\r
-               tcsetattr(fd_ter, TCSADRAIN, &state_ter);\r
-#else\r
-               gtty(fd_ter, &state);\r
-               state.sg_flags = raw_ter;\r
-               stty(fd_ter, &state);\r
-#endif\r
-       }\r
-\r
-       close(fd_ter);\r
-       fclose(file);\r
-}\r
-\r
-void entry_setup(void)\r
-{\r
-#ifdef POSIX_TERMIOS\r
-       struct termios state;\r
-#else\r
-       struct sgttyb state;\r
-#endif\r
-\r
-       fd_in = fileno(stdin);\r
-       fd_out = fileno(stdout);\r
-\r
-       if (isatty(fd_in))\r
-       {\r
-#ifdef POSIX_TERMIOS\r
-               tcgetattr(fd_in, &state);\r
-               memcpy(&state_in, &state, sizeof(struct termios));\r
-\r
-               state.c_iflag &= (IGNBRK | IGNCR | INLCR | ICRNL | IUCLC |\r
-                               IXANY | IXON | IXOFF | INPCK | ISTRIP);\r
-               state.c_iflag |= (BRKINT | IGNPAR);\r
-               state.c_oflag &= ~OPOST;\r
-\r
-#ifdef XCASE   /* Actually non-POSIX */\r
-               state.c_lflag &= ~(XCASE | ECHONL | NOFLSH |\r
-                                ICANON | ISIG | ECHO);\r
-#else\r
-               state.c_lflag &= ~(ECHONL | NOFLSH |\r
-                                ICANON | ISIG | ECHO);\r
-#endif\r
-\r
-               state.c_cflag |= CREAD;\r
-               state.c_cc[VTIME] = 5;\r
-               state.c_cc[VMIN] = 1;\r
-\r
-               tcsetattr(fd_in, TCSADRAIN, &state);\r
-#else\r
-               gtty(fd_in, &state);\r
-               raw_in = state.sg_flags;\r
-               state.sg_flags = RAW | UNBUFF;\r
-               stty(fd_in, &state);\r
-#endif\r
-       }\r
-\r
-       if (isatty(fd_ter))\r
-       {\r
-#ifdef POSIX_TERMIOS\r
-               /* Flush any unread & unwritten data */\r
-               tcflush(fd_ter, TCIOFLUSH);\r
-\r
-               tcgetattr(fd_ter, &state);\r
-               memcpy(&state_ter, &state, sizeof(struct termios));\r
-\r
-#if 0\r
-               cfmakeraw(&state); /* Not always supported (e.g. Cygwin) */\r
-#else\r
-               /* Alternative for cfmakeraw() */\r
-               state.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);\r
-               state.c_oflag &= ~OPOST;\r
-               state.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);\r
-               state.c_cflag &= ~(CSIZE|PARENB);\r
-               state.c_cflag |= CS8;\r
-#endif\r
-\r
-               if (!(cmdline.flags & S_FLAG))\r
-               {\r
-                       /* Set default baudrate */\r
-                       cmdline.speed = DEF_BAUDRATE;\r
-                       fprintf(stderr, "%s: baudrate = %d\n", cmdline.pname, cmdline.speed);\r
-               }\r
-\r
-               state.c_ispeed = translate_speed(cmdline.speed);\r
-               state.c_ospeed = translate_speed(cmdline.speed);\r
-\r
-               tcsetattr(fd_ter, TCSANOW, &state);\r
-\r
-#else\r
-               gtty(fd_ter, &state);\r
-               raw_ter = state.sg_flags;\r
-               state.sg_flags = RAW | UNBUFF;\r
-               stty(fd_ter, &state);\r
-#endif\r
-\r
-       }\r
-}\r
-\r
-void process_esc(char *buf, int *count)\r
-{\r
-       switch(buf[0])\r
-       {\r
-       case 'x':\r
-       case 'X':\r
-               exit_restore();\r
-               fprintf(stderr, "\n%s: exiting\n", cmdline.pname);\r
-               exit(0);\r
-\r
-       case 0x1b:\r
-               return; /* with count = 1, so as to write it */\r
-\r
-       default:\r
-               *count = 0;\r
-               return;\r
-       }\r
-}\r
-\r
-int translate_speed(long speed)\r
-{\r
-       int val;\r
-\r
-       switch(speed)\r
-       {\r
-       case 1200:\r
-               val = B1200;\r
-               break;\r
-       case 1800:\r
-               val = B1800;\r
-               break;\r
-       case 2400:\r
-               val = B2400;\r
-               break;\r
-       case 4800:\r
-               val = B4800;\r
-               break;\r
-       case 9600:\r
-               val = B9600;\r
-               break;\r
-       case 19200:\r
-               val = B19200;\r
-               break;\r
-       case 38400:\r
-               val = B38400;\r
-               break;\r
-       case 57600:\r
-               val = B57600;\r
-               break;\r
-       case 115200:\r
-               val = B115200;\r
-               break;\r
-       case 128000:\r
-               val = B128000;\r
-               break;\r
-       default:\r
-               val = translate_speed(DEF_BAUDRATE);\r
-               break;\r
-       }\r
-\r
-       return(val);\r
-}\r
-\r
-int parse_cmd_line(int argc, char **argv)\r
-{\r
-       int c, errflg = 0;\r
-       extern char *optarg;\r
-       extern int optind;\r
-\r
-       cmdline.flags = 0;\r
-       cmdline.speed = 0;\r
-       cmdline.delay = 0;\r
-       cmdline.tname = NULL;\r
-       cmdline.fname = NULL;\r
-\r
-       while ((c = getopt(argc, argv, "rps:d:")) != EOF)\r
-       {\r
-               switch(c)\r
-               {\r
-               /* 'r' and 'p' opts are mutually exclusive */\r
-               case 'r':\r
-                       if (cmdline.flags & P_FLAG)\r
-                               errflg++;\r
-                       else\r
-                               cmdline.flags |= R_FLAG;\r
-                       break;\r
-               case 'p':\r
-                       if (cmdline.flags & R_FLAG)\r
-                               errflg++;\r
-                       else\r
-                               cmdline.flags |= P_FLAG;\r
-                       break;\r
-               case 's':\r
-                       cmdline.speed = atoi(optarg);\r
-                       cmdline.flags |= S_FLAG;\r
-                       break;\r
-               case 'd':\r
-                       if (cmdline.flags & P_FLAG)\r
-                       {\r
-                               cmdline.delay = atoi(optarg);\r
-                               cmdline.flags |= D_FLAG;\r
-                       }\r
-                       else\r
-                               errflg++;\r
-                       break;\r
-               default:\r
-                       errflg++;\r
-               }\r
-\r
-               if (errflg) return(-1);\r
-       }\r
-\r
-       if (argc - optind != 2) return(-1);\r
-\r
-       cmdline.tname = argv[optind];\r
-       cmdline.fname = argv[++optind];\r
-\r
-       return 0;\r
-}\r
-\r
-int main(int argc, char **argv)\r
-{\r
-       int escflag, count;\r
-       char *mode;\r
-\r
-       cmdline.pname = argv[0];\r
-       sprintf(usage, USAGE, cmdline.pname);\r
-\r
-       if (parse_cmd_line(argc, argv) < 0)\r
-       {\r
-               (void)fprintf(stderr, "%s\n", usage);\r
-               exit(1);\r
-       }\r
-\r
-       fd_in = -1;\r
-       fd_out = -1;\r
-\r
-       fd_ter = open(cmdline.tname, O_RDWR);\r
-\r
-       if (fd_ter < 0)\r
-       {\r
-               exit_error("can't open ", cmdline.tname);\r
-       }\r
-\r
-       entry_setup();\r
-\r
-       escflag = 0;\r
-\r
-       if (cmdline.flags & P_FLAG)\r
-       {\r
-               /*\r
-                * PLAYBACK\r
-                */\r
-               mode = "rb";\r
-               file = fopen(cmdline.fname, mode);\r
-\r
-               if (file == NULL)\r
-               {\r
-                       exit_error("can't open ", cmdline.fname);\r
-               }\r
-\r
-               count = fread(buf, 1, BUFSIZE, file);\r
-\r
-               if (ferror(file) != 0)\r
-               {\r
-                       exit_error("can't read ", cmdline.fname);\r
-               }\r
-\r
-               if (count)\r
-               {\r
-                       int i;\r
-\r
-                       for (i = 0; i < count; i++)\r
-                       {\r
-                               struct timeval t;\r
-\r
-                               t.tv_sec = 0;\r
-\r
-                               if (cmdline.flags & D_FLAG)\r
-                                       t.tv_usec = cmdline.delay*1000; \r
-                               else\r
-                                       t.tv_usec = DEF_DELAY*1000;\r
-\r
-                               if (write(fd_ter, &buf[i], 1) != 1)\r
-                               {\r
-                                       exit_error("can't write ", cmdline.tname);\r
-                               }\r
-\r
-#ifdef POSIX_TERMIOS\r
-                               /* Wait for output to complete */\r
-                               tcdrain(fd_ter);\r
-#endif\r
-\r
-                                /* User selected or default delay */\r
-                               (void)select(0, NULL, NULL, NULL, &t);\r
-                       }\r
-\r
-                       fprintf(stderr, "%s: ready\n", cmdline.pname);\r
-               }\r
-       }\r
-       else if (cmdline.flags & R_FLAG)\r
-       {\r
-               /*\r
-                * RECORDING\r
-                */\r
-               fprintf(stderr, "%s: recording; hit any key to stop\n", cmdline.pname);\r
-               fflush(stderr);\r
-\r
-               /*\r
-                * RPB: The umask() doesn't appear to work correctly under\r
-                * Cygwin hence the weird "wb+" mode to specify a file which\r
-                * permits reading & writing. Should also work under Linux and\r
-                * other UNIX versions.\r
-                */\r
-               //umask(0133); /* == 644 file permission */\r
-               mode = "wb+";\r
-               file = fopen(cmdline.fname, mode);\r
-\r
-               if (file == NULL)\r
-               {\r
-                       exit_error("can't open ", cmdline.fname);\r
-               }\r
-\r
-               while (1)\r
-               {\r
-                       fd_set readfds;\r
-                       int fdmax, fdrdy;\r
-\r
-                       FD_ZERO(&readfds);\r
-                       FD_SET(fd_in, &readfds);\r
-                       FD_SET(fd_ter, &readfds);\r
-\r
-                       fdmax = fd_in > fd_ter ? fd_in : fd_ter;\r
-                       fdrdy = select(fdmax+1, &readfds, NULL, NULL, NULL);\r
-\r
-                       if (fdrdy < 0)\r
-                       {\r
-                               exit_error("can't select on read ", "select");\r
-                       }\r
-\r
-                       if (FD_ISSET(fd_in, &readfds))\r
-                       {\r
-                               fprintf(stderr, "\n%s: stopped\n", cmdline.pname);\r
-                               break;\r
-                       }\r
-\r
-                       if (FD_ISSET(fd_ter, &readfds))\r
-                       {\r
-                               count = read(fd_ter, buf, BUFSIZE);\r
-                               if (count < 0)\r
-                               {\r
-                                       exit_error("can't read ", cmdline.tname);\r
-                               }\r
-\r
-                               if (count)\r
-                               {\r
-                                       if (write(fd_out, buf, count) != count)\r
-                                       {\r
-                                               exit_error("can't write ", "stdout");\r
-                                       }\r
-\r
-                                       if ((fwrite(buf, 1, count, file) != count) ||\r
-                                           (ferror(file) != 0))\r
-                                       {\r
-                                               exit_error("can't write ", cmdline.fname);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-        }\r
-        else\r
-       {\r
-               exit_restore();\r
-               fprintf(stderr, "%s\n", usage);\r
-               exit(1);\r
-       }\r
-\r
-       exit_restore();\r
-       exit(0);\r
-}\r
-\r
-/* ------------------------------------------------------------------------- */\r