Diff of the two buildlogs: -- --- b1/build.log 2025-03-17 23:45:34.434633352 +0000 +++ b2/build.log 2025-03-17 23:11:57.569842549 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Mar 17 11:14:24 -12 2025 -I: pbuilder-time-stamp: 1742253264 +I: Current time: Tue Mar 18 12:24:56 +14 2025 +I: pbuilder-time-stamp: 1742250296 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -38,52 +38,84 @@ dpkg-source: info: applying Version_2_6_15pre17 I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/26953/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/16710/tmp/hooks/D01_modify_environment starting +debug: Running on virt32a. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Mar 17 22:25 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/16710/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/16710/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='0075e0e372844ce68a346bb4036b924b' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='26953' - PS1='# ' - PS2='> ' + INVOCATION_ID=06e4facf8f9c4b1baa9e57bb274a696f + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=16710 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.cqhVRNjE/pbuilderrc_LuQ3 --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.cqhVRNjE/b1 --logfile b1/build.log gcl_2.6.14-18.dsc' - SUDO_GID='110' - SUDO_UID='103' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.cqhVRNjE/pbuilderrc_ANAV --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.cqhVRNjE/b2 --logfile b2/build.log gcl_2.6.14-18.dsc' + SUDO_GID=113 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt64z 6.1.0-32-arm64 #1 SMP Debian 6.1.129-1 (2025-03-06) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-32-armmp-lpae #1 SMP Debian 6.1.129-1 (2025-03-06) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/26953/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/16710/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -253,7 +285,7 @@ Get: 110 http://deb.debian.org/debian trixie/main armhf tcl8.6-dev armhf 8.6.16+dfsg-1 [947 kB] Get: 111 http://deb.debian.org/debian trixie/main armhf tk8.6 armhf 8.6.16-1 [69.5 kB] Get: 112 http://deb.debian.org/debian trixie/main armhf tk8.6-dev armhf 8.6.16-1 [726 kB] -Fetched 42.3 MB in 4s (10.6 MB/s) +Fetched 42.3 MB in 1s (46.5 MB/s) Preconfiguring packages ... Selecting previously unselected package tzdata. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19510 files and directories currently installed.) @@ -622,8 +654,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Mar 17 23:15:04 UTC 2025. -Universal Time is now: Mon Mar 17 23:15:04 UTC 2025. +Local time is now: Mon Mar 17 22:25:47 UTC 2025. +Universal Time is now: Mon Mar 17 22:25:47 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up xtrans-dev (1.4.0-1) ... @@ -731,7 +763,11 @@ fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/gcl-2.6.14/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../gcl_2.6.14-18_source.changes +I: user script /srv/workspace/pbuilder/16710/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/16710/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/gcl-2.6.14/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../gcl_2.6.14-18_source.changes dpkg-buildpackage: info: source package gcl dpkg-buildpackage: info: source version 2.6.14-18 dpkg-buildpackage: info: source distribution unstable @@ -850,7 +886,7 @@ --mandir=\${prefix}/share/man \ --enable-infodir=\${prefix}/share/info \ --enable-emacsdir=\${prefix}/share/emacs/site-lisp -checking build system type... aarch64-unknown-linux-gnu +checking build system type... armv7l-unknown-linux-gnueabihf checking host system type... arm-unknown-linux-gnueabihf host=arm-unknown-linux-gnueabihf use=armhf-linux @@ -890,7 +926,7 @@ checking for CFLAG -fdollars-in-identifiers... yes checking for CFLAG -g... yes checking for makeinfo... no -checking system version (for dynamic loading)... Linux-6.1.0-32-arm64 +checking system version (for dynamic loading)... Linux-6.1.0-32-armmp-lpae checking for setjmp.h... yes checking sizeof jmp_buf... 392 checking for unistd.h... yes @@ -933,15 +969,16 @@ checking CSTACK_DIRECTION... -1 checking finding CSTACK_ALIGNMENT... 8 checking CSTACK_ADDRESS... 0xbfffffff -checking cstack bits... 0 +checking cstack bits... 30 checking NEG_CSTACK_ADDRESS... yes checking finding default linker script... got it checking output_arch... bfd_arch_arm configure: trying to adjust text start configure: min log text start 15 configure: max log text start 29 -configure: max log text start reduced to 0 considering c stack address -checking our linker script... none found or not needed +configure: lowering log text to 0x18000 to maximize data area +checking our linker script... done +checking for LDFLAG -Wl,-T,gcl.script... yes checking mem top... 0xc0000000 checking finding upper mem half range... 0x20000000 checking sizeof long long int... yes @@ -1061,7 +1098,7 @@ CC=gcc GCL_CC=gcc CFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I$(GCLDIR)/o -LDFLAGS=-Wl,-z,relro -no-pie +LDFLAGS=-Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script FINAL_CFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 NIFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I$(GCLDIR)/o O3FLAGS=-O2 @@ -1141,7 +1178,7 @@ sed -e 's,^.* DEFUNB,DEFUNB,g' -e 's/DEF,//g' -e 's:\"[ ]*):\"):g' | ./grab_defs > multival.ini gcc -DINICOMP -DNO_DEFUN -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -I../h -I../gcl-tk -E catch.c |\ sed -e 's,^.* DEFUNB,DEFUNB,g' -e 's/DEF,//g' -e 's:\"[ ]*):\"):g' | ./grab_defs > catch.ini -gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -Wl,-z,relro -no-pie -I../h -I../gcl-tk -o ../bin/dpp ../bin/dpp.c +gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -I../h -I../gcl-tk -o ../bin/dpp ../bin/dpp.c ../bin/dpp symbol dpp: symbol.d -> symbol.c gcc -DINICOMP -DNO_DEFUN -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -I../h -I../gcl-tk -E symbol.c |\ @@ -1470,7 +1507,7 @@ done touch bfdfiles rm -rf libpre_gcl.a -ar rs libpre_gcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o sys_pre_gcl.o +ar rs libpre_gcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o sys_pre_gcl.o ar: creating libpre_gcl.a cp ../o/gcllib.a libgclp.a ranlib libgclp.a @@ -1483,19 +1520,19 @@ -e "s#@LI-RELEASE@#`cat ../release`#1" \ -e "s#@LI-CC@#\"gcc -c -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2\"#1" \ -e "s#@LI-DFP@#\"-pg\"#1" \ - -e "s#@LI-LD@#\"gcc -Wl,-z,relro -no-pie -o \"#1" \ + -e "s#@LI-LD@#\"gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o \"#1" \ -e "s#@LI-LD-LIBS@#\" -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp\"#1" \ -e "s#@LI-OPT-THREE@#\"-O2\"#1" \ -e "s#@LI-OPT-TWO@#\"-O\"#1" \ -e "s#@LI-INIT-LSP@#\"sys_init.lsp\"#1" >sys_init.lsp PATH=/usr/bin:$PATH gcc msys.c -o msys # Unix binary if running wine touch raw_pre_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_pre_gcl -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_pre_gcl -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_pre_gcl\"))" >>foo j=$(ar t libpre_gcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libpre_gcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_pre_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 79813 pages +GCL (GNU Common Lisp) April 1994 76032 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_pre_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_defmacro.lsp @@ -1697,7 +1734,7 @@ COMPILER> NIL -COMPILER>81728512 heap words available +COMPILER>77856768 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -2811,15 +2848,15 @@ make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/unixport' gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -c -o sys_gcl.o sys_gcl.c rm -rf libgcl.a -ar rs libgcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o ../lsp/gcl_sharp.o ../lsp/gcl_fpe.o ../lsp/gcl_assert.o ../lsp/gcl_setf.o ../lsp/gcl_listlib.o ../lsp/gcl_seq.o ../lsp/gcl_serror.o ../lsp/gcl_debug.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_mislib.o ../lsp/gcl_iolib.o ../lsp/gcl_make_pathname.o ../lsp/gcl_loop.o ../lsp/gcl_predlib.o ../lsp/gcl_directory.o ../lsp/gcl_truename.o ../lsp/gcl_module.o ../lsp/gcl_evalmacros.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_rename_file.o ../lsp/gcl_info.o ../lsp/gcl_seqlib.o ../lsp/gcl_numlib.o ../lsp/gcl_defmacro.o ../lsp/gcl_describe.o ../lsp/gcl_restart.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_arraylib.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_namestring.o ../lsp/gcl_top.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_defstruct.o ../lsp/gcl_trace.o ../lsp/gcl_defpackage.o ../lsp/gcl_sloop.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_pathname_match_p.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_X.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/Xutil-2.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_general.o ../xgcl-2/general-c.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/Events.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_tohtml.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpvar.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmptop.o sys_gcl.o +ar rs libgcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o ../lsp/gcl_describe.o ../lsp/gcl_sloop.o ../lsp/gcl_module.o ../lsp/gcl_defmacro.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_truename.o ../lsp/gcl_directory.o ../lsp/gcl_mislib.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_iolib.o ../lsp/gcl_listlib.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_loop.o ../lsp/gcl_defstruct.o ../lsp/gcl_numlib.o ../lsp/gcl_restart.o ../lsp/gcl_seqlib.o ../lsp/gcl_namestring.o ../lsp/gcl_seq.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_pathname_match_p.o ../lsp/gcl_make_pathname.o ../lsp/gcl_serror.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_evalmacros.o ../lsp/gcl_predlib.o ../lsp/gcl_setf.o ../lsp/gcl_assert.o ../lsp/gcl_defpackage.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_arraylib.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_info.o ../lsp/gcl_fpe.o ../lsp/gcl_trace.o ../lsp/gcl_top.o ../lsp/gcl_debug.o ../lsp/gcl_rename_file.o ../lsp/gcl_sharp.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/Xutil-2.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/general-c.o ../xgcl-2/gcl_tohtml.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_general.o ../xgcl-2/Events.o ../xgcl-2/gcl_X.o ../cmpnew/gcl_cmptop.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpvar.o sys_gcl.o ar: creating libgcl.a touch raw_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_gcl -L. -Wl,-Map raw_gcl_map -lgcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_gcl -L. -Wl,-Map raw_gcl_map -lgcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_gcl\"))" >>foo j=$(ar t libgcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libgcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 27681 pages +GCL (GNU Common Lisp) April 1994 27695 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp Initializing gcl_defmacro.o @@ -3023,7 +3060,7 @@ COMPILER> NIL -COMPILER>28345344 heap words available +COMPILER>28359680 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -3202,7 +3239,7 @@ /tmp/ >;; Loading "../tkl.o" -start address -T 0x85a008 ;; Finished loading "../tkl.o" +start address -T 0x86a008 ;; Finished loading "../tkl.o" 51891 > @@ -3212,13 +3249,13 @@ cd info && /usr/bin/make make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/info' TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl-si.dvi make[2]: dvipdfm: No such file or directory make[2]: [makefile:36: gcl-si.pdf] Error 127 (ignored) TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl.dvi make[2]: dvipdfm: No such file or directory @@ -3451,7 +3488,7 @@ --mandir=\${prefix}/share/man \ --enable-infodir=\${prefix}/share/info \ --enable-emacsdir=\${prefix}/share/emacs/site-lisp -checking build system type... aarch64-unknown-linux-gnu +checking build system type... armv7l-unknown-linux-gnueabihf checking host system type... arm-unknown-linux-gnueabihf host=arm-unknown-linux-gnueabihf use=armhf-linux @@ -3491,7 +3528,7 @@ checking for CFLAG -fdollars-in-identifiers... yes checking for CFLAG -g... yes checking for makeinfo... no -checking system version (for dynamic loading)... Linux-6.1.0-32-arm64 +checking system version (for dynamic loading)... Linux-6.1.0-32-armmp-lpae checking for setjmp.h... yes checking sizeof jmp_buf... 392 checking for unistd.h... yes @@ -3534,15 +3571,16 @@ checking CSTACK_DIRECTION... -1 checking finding CSTACK_ALIGNMENT... 8 checking CSTACK_ADDRESS... 0xbfffffff -checking cstack bits... 0 +checking cstack bits... 30 checking NEG_CSTACK_ADDRESS... yes checking finding default linker script... got it checking output_arch... bfd_arch_arm configure: trying to adjust text start configure: min log text start 15 configure: max log text start 29 -configure: max log text start reduced to 0 considering c stack address -checking our linker script... none found or not needed +configure: lowering log text to 0x18000 to maximize data area +checking our linker script... done +checking for LDFLAG -Wl,-T,gcl.script... yes checking mem top... 0xc0000000 checking finding upper mem half range... 0x20000000 checking sizeof long long int... yes @@ -3662,7 +3700,7 @@ CC=gcc GCL_CC=gcc CFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I$(GCLDIR)/o -LDFLAGS=-Wl,-z,relro -no-pie +LDFLAGS=-Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script FINAL_CFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 NIFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I$(GCLDIR)/o O3FLAGS=-O2 @@ -3742,7 +3780,7 @@ sed -e 's,^.* DEFUNB,DEFUNB,g' -e 's/DEF,//g' -e 's:\"[ ]*):\"):g' | ./grab_defs > multival.ini gcc -DINICOMP -DNO_DEFUN -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -I../h -I../gcl-tk -E catch.c |\ sed -e 's,^.* DEFUNB,DEFUNB,g' -e 's/DEF,//g' -e 's:\"[ ]*):\"):g' | ./grab_defs > catch.ini -gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -Wl,-z,relro -no-pie -I../h -I../gcl-tk -o ../bin/dpp ../bin/dpp.c +gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -I../h -I../gcl-tk -o ../bin/dpp ../bin/dpp.c ../bin/dpp symbol dpp: symbol.d -> symbol.c gcc -DINICOMP -DNO_DEFUN -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -I../h -I../gcl-tk -E symbol.c |\ @@ -4071,7 +4109,7 @@ done touch bfdfiles rm -rf libpre_gcl.a -ar rs libpre_gcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o sys_pre_gcl.o +ar rs libpre_gcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o sys_pre_gcl.o ar: creating libpre_gcl.a cp ../o/gcllib.a libgclp.a ranlib libgclp.a @@ -4084,19 +4122,19 @@ -e "s#@LI-RELEASE@#`cat ../release`#1" \ -e "s#@LI-CC@#\"gcc -c -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2\"#1" \ -e "s#@LI-DFP@#\"-pg\"#1" \ - -e "s#@LI-LD@#\"gcc -Wl,-z,relro -no-pie -o \"#1" \ + -e "s#@LI-LD@#\"gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o \"#1" \ -e "s#@LI-LD-LIBS@#\" -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp\"#1" \ -e "s#@LI-OPT-THREE@#\"-O2\"#1" \ -e "s#@LI-OPT-TWO@#\"-O\"#1" \ -e "s#@LI-INIT-LSP@#\"sys_init.lsp\"#1" >sys_init.lsp PATH=/usr/bin:$PATH gcc msys.c -o msys # Unix binary if running wine touch raw_pre_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_pre_gcl -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_pre_gcl -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_pre_gcl\"))" >>foo j=$(ar t libpre_gcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libpre_gcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_pre_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 79813 pages +GCL (GNU Common Lisp) April 1994 76032 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_pre_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_defmacro.lsp @@ -4298,7 +4336,7 @@ COMPILER> NIL -COMPILER>81728512 heap words available +COMPILER>77856768 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -5412,15 +5450,15 @@ make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/unixport' gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -c -o sys_gcl.o sys_gcl.c rm -rf libgcl.a -ar rs libgcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o ../lsp/gcl_sharp.o ../lsp/gcl_fpe.o ../lsp/gcl_assert.o ../lsp/gcl_setf.o ../lsp/gcl_listlib.o ../lsp/gcl_seq.o ../lsp/gcl_serror.o ../lsp/gcl_debug.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_mislib.o ../lsp/gcl_iolib.o ../lsp/gcl_make_pathname.o ../lsp/gcl_loop.o ../lsp/gcl_predlib.o ../lsp/gcl_directory.o ../lsp/gcl_truename.o ../lsp/gcl_module.o ../lsp/gcl_evalmacros.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_rename_file.o ../lsp/gcl_info.o ../lsp/gcl_seqlib.o ../lsp/gcl_numlib.o ../lsp/gcl_defmacro.o ../lsp/gcl_describe.o ../lsp/gcl_restart.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_arraylib.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_namestring.o ../lsp/gcl_top.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_defstruct.o ../lsp/gcl_trace.o ../lsp/gcl_defpackage.o ../lsp/gcl_sloop.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_pathname_match_p.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_X.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/Xutil-2.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_general.o ../xgcl-2/general-c.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/Events.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_tohtml.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpvar.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmptop.o sys_gcl.o +ar rs libgcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o ../lsp/gcl_describe.o ../lsp/gcl_sloop.o ../lsp/gcl_module.o ../lsp/gcl_defmacro.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_truename.o ../lsp/gcl_directory.o ../lsp/gcl_mislib.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_iolib.o ../lsp/gcl_listlib.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_loop.o ../lsp/gcl_defstruct.o ../lsp/gcl_numlib.o ../lsp/gcl_restart.o ../lsp/gcl_seqlib.o ../lsp/gcl_namestring.o ../lsp/gcl_seq.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_pathname_match_p.o ../lsp/gcl_make_pathname.o ../lsp/gcl_serror.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_evalmacros.o ../lsp/gcl_predlib.o ../lsp/gcl_setf.o ../lsp/gcl_assert.o ../lsp/gcl_defpackage.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_arraylib.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_info.o ../lsp/gcl_fpe.o ../lsp/gcl_trace.o ../lsp/gcl_top.o ../lsp/gcl_debug.o ../lsp/gcl_rename_file.o ../lsp/gcl_sharp.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/Xutil-2.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/general-c.o ../xgcl-2/gcl_tohtml.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_general.o ../xgcl-2/Events.o ../xgcl-2/gcl_X.o ../cmpnew/gcl_cmptop.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpvar.o sys_gcl.o ar: creating libgcl.a touch raw_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_gcl -L. -Wl,-Map raw_gcl_map -lgcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_gcl -L. -Wl,-Map raw_gcl_map -lgcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_gcl\"))" >>foo j=$(ar t libgcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libgcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 27681 pages +GCL (GNU Common Lisp) April 1994 27695 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp Initializing gcl_defmacro.o @@ -5624,7 +5662,7 @@ COMPILER> NIL -COMPILER>28345344 heap words available +COMPILER>28359680 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -5693,7 +5731,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_pkg.o. Loading binary of GCL_PCL_PKG... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_pkg.o" -start address -T 0x8b6008 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_pkg.o" +start address -T 0x8c6008 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_pkg.o" Compiling GCL_PCL_WALK... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_walk.lisp. End of Pass 1. @@ -5706,7 +5744,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_walk.o. Loading binary of GCL_PCL_WALK... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_walk.o" -start address -T 0x8b62d8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_walk.o" +start address -T 0x8c62d8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_walk.o" Compiling GCL_PCL_ITERATE... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_iterate.lisp. ; (DEFUN OPTIMIZE-ITERATE-FORM ...) is being compiled. @@ -5718,7 +5756,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_iterate.o. Loading binary of GCL_PCL_ITERATE... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_iterate.o" -start address -T 0x8bc3e0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_iterate.o" +start address -T 0x8cc3e0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_iterate.o" Compiling GCL_PCL_MACROS... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_macros.lisp. ; (DEFUN FIND-WRAPPER ...) is being compiled. @@ -5732,7 +5770,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_macros.o. Loading binary of GCL_PCL_MACROS... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_macros.o" -start address -T 0x8c1fb8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_macros.o" +start address -T 0x8d1fb8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_macros.o" Compiling GCL_PCL_LOW... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_low.lisp. ; (DEFUN PRINT-STD-INSTANCE ...) is being compiled. @@ -5743,7 +5781,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_low.o. Loading binary of GCL_PCL_LOW... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_low.o" -start address -T 0x8c7010 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_low.o" +start address -T 0x8d7010 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_low.o" Compiling GCL_PCL_IMPL_LOW... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/impl/gcl/gcl_pcl_impl_low.lisp. End of Pass 1. @@ -5752,7 +5790,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_impl_low.o. Loading binary of GCL_PCL_IMPL_LOW... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_impl_low.o" -start address -T 0x8c9160 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_impl_low.o" +start address -T 0x8d9160 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_impl_low.o" Compiling GCL_PCL_FIN... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fin.lisp. End of Pass 1. @@ -5761,7 +5799,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fin.o. Loading binary of GCL_PCL_FIN... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fin.o" -start address -T 0x8cb6d0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fin.o" +start address -T 0x8db6d0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fin.o" Compiling GCL_PCL_DEFCLASS... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defclass.lisp. ; (DEFUN EARLY-CLASS-NAME-OF ...) is being compiled. @@ -5774,7 +5812,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defclass.o. Loading binary of GCL_PCL_DEFCLASS... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defclass.o" -start address -T 0x8cc560 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defclass.o" +start address -T 0x8dc560 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defclass.o" Compiling GCL_PCL_DEFS... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defs.lisp. ; (DEFUN SPECIALIZER-FROM-TYPE ...) is being compiled. @@ -5800,7 +5838,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defs.o. Loading binary of GCL_PCL_DEFS... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defs.o" -start address -T 0x8cf878 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defs.o" +start address -T 0x8df878 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defs.o" Compiling GCL_PCL_FNGEN... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fngen.lisp. End of Pass 1. @@ -5809,7 +5847,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fngen.o. Loading binary of GCL_PCL_FNGEN... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fngen.o" -start address -T 0x8d5b88 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fngen.o" +start address -T 0x8e5b88 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fngen.o" Compiling GCL_PCL_CACHE... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cache.lisp. ; (DEFUN RAISE-METATYPE ...) is being compiled. @@ -5825,7 +5863,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cache.o. Loading binary of GCL_PCL_CACHE... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cache.o" -start address -T 0x8d7598 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cache.o" +start address -T 0x8e7598 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cache.o" Compiling GCL_PCL_DLISP... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp.lisp. End of Pass 1. @@ -5834,7 +5872,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp.o. Loading binary of GCL_PCL_DLISP... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp.o" -start address -T 0x8df9b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp.o" +start address -T 0x8ef9b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp.o" Compiling GCL_PCL_DLISP2... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp2.lisp. End of Pass 1. @@ -5843,7 +5881,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp2.o. Loading binary of GCL_PCL_DLISP2... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp2.o" -start address -T 0x8e3030 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp2.o" +start address -T 0x8f3030 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dlisp2.o" Compiling GCL_PCL_BOOT... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_boot.lisp. ; (DEFUN EXPAND-DEFMETHOD ...) is being compiled. @@ -5879,7 +5917,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_boot.o. Loading binary of GCL_PCL_BOOT... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_boot.o" -start address -T 0x8e6b80 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_boot.o" +start address -T 0x8f6b80 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_boot.o" Compiling GCL_PCL_VECTOR... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_vector.lisp. End of Pass 1. @@ -5891,7 +5929,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_vector.o. Loading binary of GCL_PCL_VECTOR... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_vector.o" -start address -T 0x8f7588 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_vector.o" +start address -T 0x907588 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_vector.o" Compiling GCL_PCL_SLOTS_BOOT... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots_boot.lisp. ; (DEFUN ACCESSOR-SLOT-BOUNDP ...) is being compiled. @@ -5928,7 +5966,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots_boot.o. Loading binary of GCL_PCL_SLOTS_BOOT... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots_boot.o" -start address -T 0x900840 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots_boot.o" +start address -T 0x910840 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots_boot.o" Compiling GCL_PCL_COMBIN... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_combin.lisp. ; (DEFUN STANDARD-COMPUTE-EFFECTIVE-METHOD ...) is being compiled. @@ -5941,7 +5979,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_combin.o. Loading binary of GCL_PCL_COMBIN... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_combin.o" -start address -T 0x905a28 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_combin.o" +start address -T 0x915a28 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_combin.o" Compiling GCL_PCL_DFUN... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dfun.lisp. ; (DEFUN DISPATCH-DFUN-COST ...) is being compiled. @@ -5969,7 +6007,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dfun.o. Loading binary of GCL_PCL_DFUN... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dfun.o" -start address -T 0x908d78 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dfun.o" +start address -T 0x918d78 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_dfun.o" Compiling GCL_PCL_FAST_INIT... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fast_init.lisp. ; (DEFUN MAKE-INSTANCE-FUNCTION-SYMBOL ...) is being compiled. @@ -5999,7 +6037,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fast_init.o. Loading binary of GCL_PCL_FAST_INIT... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fast_init.o" -start address -T 0x9197c8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fast_init.o" +start address -T 0x9297c8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fast_init.o" Compiling GCL_PCL_BRAID... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_braid.lisp. ; (DEFUN ALLOCATE-STRUCTURE-INSTANCE ...) is being compiled. @@ -6010,7 +6048,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_braid.o. Loading binary of GCL_PCL_BRAID... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_braid.o" -start address -T 0x924850 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_braid.o" +start address -T 0x934850 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_braid.o" Compiling GCL_PCL_GENERIC_FUNCTIONS... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_generic_functions.lisp. End of Pass 1. @@ -6021,7 +6059,7 @@ ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_generic_functions.o" Warning: ADD-METHOD is being redefined. Warning: REMOVE-METHOD is being redefined. -start address -T 0x92a818 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_generic_functions.o" +start address -T 0x93a818 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_generic_functions.o" Compiling GCL_PCL_SLOTS... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots.lisp. ; (DEFUN SLOT-VALUE-OR-DEFAULT ...) is being compiled. @@ -6033,7 +6071,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots.o. Loading binary of GCL_PCL_SLOTS... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots.o" -start address -T 0x930150 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots.o" +start address -T 0x940150 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_slots.o" Compiling GCL_PCL_INIT... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_init.lisp. End of Pass 1. @@ -6042,7 +6080,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_init.o. Loading binary of GCL_PCL_INIT... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_init.o" -start address -T 0x9324f8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_init.o" +start address -T 0x9424f8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_init.o" Compiling GCL_PCL_STD_CLASS... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_std_class.lisp. End of Pass 1. @@ -6053,7 +6091,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_std_class.o. Loading binary of GCL_PCL_STD_CLASS... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_std_class.o" -start address -T 0x934488 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_std_class.o" +start address -T 0x944488 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_std_class.o" Compiling GCL_PCL_CPL... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cpl.lisp. End of Pass 1. @@ -6062,7 +6100,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cpl.o. Loading binary of GCL_PCL_CPL... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cpl.o" -start address -T 0x9415b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cpl.o" +start address -T 0x9515b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_cpl.o" Compiling GCL_PCL_FSC... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fsc.lisp. End of Pass 1. @@ -6071,7 +6109,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fsc.o. Loading binary of GCL_PCL_FSC... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fsc.o" -start address -T 0x943570 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fsc.o" +start address -T 0x953570 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fsc.o" Compiling GCL_PCL_METHODS... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_methods.lisp. End of Pass 1. @@ -6083,7 +6121,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_methods.o. Loading binary of GCL_PCL_METHODS... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_methods.o" -start address -T 0x943950 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_methods.o" +start address -T 0x953950 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_methods.o" Compiling GCL_PCL_FIXUP... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.lisp. End of Pass 1. @@ -6092,21 +6130,21 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o. Loading binary of GCL_PCL_FIXUP... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" -Compiling gazonk_6567_0.lsp. +Compiling gazonk_28880_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_0.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_0.o" -start address -T 0x952be0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_0.o" -Compiling gazonk_6567_1.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_0.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_0.o" +start address -T 0x962be0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_0.o" +Compiling gazonk_28880_1.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_1.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_1.o" -start address -T 0x953008 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_1.o" -start address -T 0x952b00 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_1.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_1.o" +start address -T 0x963008 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_1.o" +start address -T 0x962b00 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" Compiling GCL_PCL_DEFCOMBIN... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.lisp. End of Pass 1. @@ -6115,35 +6153,35 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o. Loading binary of GCL_PCL_DEFCOMBIN... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" -Compiling gazonk_6567_2.lsp. +Compiling gazonk_28880_2.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_2.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_2.o" -start address -T 0x955a68 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_2.o" -Compiling gazonk_6567_3.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_2.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_2.o" +start address -T 0x965a68 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_2.o" +Compiling gazonk_28880_3.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_3.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_3.o" -start address -T 0x956620 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_3.o" -Compiling gazonk_6567_4.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_3.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_3.o" +start address -T 0x966620 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_3.o" +Compiling gazonk_28880_4.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_4.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_4.o" -start address -T 0x956f18 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_4.o" -Compiling gazonk_6567_5.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_4.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_4.o" +start address -T 0x966f18 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_4.o" +Compiling gazonk_28880_5.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_5.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_5.o" -start address -T 0x957408 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_5.o" -start address -T 0x953418 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_5.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_5.o" +start address -T 0x967408 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_5.o" +start address -T 0x963418 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" Compiling GCL_PCL_CTYPES... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.lisp. End of Pass 1. @@ -6152,14 +6190,14 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o. Loading binary of GCL_PCL_CTYPES... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" -Compiling gazonk_6567_6.lsp. +Compiling gazonk_28880_6.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_6.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_6.o" -start address -T 0x957e10 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_6.o" -start address -T 0x9579b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_6.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_6.o" +start address -T 0x967e10 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_6.o" +start address -T 0x9679b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" Compiling GCL_PCL_ENV... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.lisp. ; (DEFUN DESCRIBE-PACKAGE ...) is being compiled. @@ -6171,15 +6209,15 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o. Loading binary of GCL_PCL_ENV... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" -Compiling gazonk_6567_7.lsp. +Compiling gazonk_28880_7.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_7.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_7.o" -start address -T 0x95bde0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_6567_7.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_7.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_7.o" +start address -T 0x96bde0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_28880_7.o" Warning: DESCRIBE is being redefined. -start address -T 0x958308 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" +start address -T 0x968308 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" Compiling GCL_PCL_COMPAT... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_compat.lisp. End of Pass 1. @@ -6194,7 +6232,7 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_precom1.o. Loading binary of GCL_PCL_PRECOM1... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_precom1.o" -start address -T 0x95c368 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_precom1.o" +start address -T 0x96c368 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_precom1.o" Compiling GCL_PCL_PRECOM2... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_precom2.lisp. ; (DEFUN #:|(PRECOMPILE-INITIALIZE-INSTANCE-SIMPLE PCL 3)8020| ...) is being compiled. @@ -6253,15 +6291,15 @@ make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/unixport' gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -c -o sys_pcl_gcl.o sys_pcl_gcl.c rm -rf libpcl_gcl.a -ar rs libpcl_gcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o ../lsp/gcl_sharp.o ../lsp/gcl_fpe.o ../lsp/gcl_assert.o ../lsp/gcl_setf.o ../lsp/gcl_listlib.o ../lsp/gcl_seq.o ../lsp/gcl_serror.o ../lsp/gcl_debug.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_mislib.o ../lsp/gcl_iolib.o ../lsp/gcl_make_pathname.o ../lsp/gcl_loop.o ../lsp/gcl_predlib.o ../lsp/gcl_directory.o ../lsp/gcl_truename.o ../lsp/gcl_module.o ../lsp/gcl_evalmacros.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_rename_file.o ../lsp/gcl_info.o ../lsp/gcl_seqlib.o ../lsp/gcl_numlib.o ../lsp/gcl_defmacro.o ../lsp/gcl_describe.o ../lsp/gcl_restart.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_arraylib.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_namestring.o ../lsp/gcl_top.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_defstruct.o ../lsp/gcl_trace.o ../lsp/gcl_defpackage.o ../lsp/gcl_sloop.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_pathname_match_p.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_X.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/Xutil-2.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_general.o ../xgcl-2/general-c.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/Events.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_tohtml.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpvar.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmptop.o ../pcl/gcl_pcl_combin.o ../pcl/gcl_pcl_defclass.o ../pcl/gcl_pcl_env.o ../pcl/gcl_pcl_cpl.o ../pcl/gcl_pcl_fngen.o ../pcl/gcl_pcl_gazonk6.o ../pcl/gcl_pcl_init.o ../pcl/gcl_pcl_dlisp.o ../pcl/gcl_pcl_ctypes.o ../pcl/gcl_pcl_vector.o ../pcl/gcl_pcl_generic_functions.o ../pcl/gcl_pcl_low.o ../pcl/gcl_pcl_boot.o ../pcl/gcl_pcl_std_class.o ../pcl/gcl_pcl_compat.o ../pcl/gcl_pcl_gazonk2.o ../pcl/gcl_pcl_braid.o ../pcl/gcl_pcl_fixup.o ../pcl/gcl_pcl_methods.o ../pcl/gcl_pcl_precom2.o ../pcl/gcl_pcl_defs.o ../pcl/gcl_pcl_precom1.o ../pcl/gcl_pcl_iterate.o ../pcl/gcl_pcl_fsc.o ../pcl/gcl_pcl_macros.o ../pcl/gcl_pcl_walk.o ../pcl/gcl_pcl_gazonk1.o ../pcl/gcl_pcl_gazonk5.o ../pcl/gcl_pcl_fin.o ../pcl/gcl_pcl_gazonk4.o ../pcl/gcl_pcl_dfun.o ../pcl/gcl_pcl_gazonk7.o ../pcl/gcl_pcl_defcombin.o ../pcl/gcl_pcl_slots_boot.o ../pcl/gcl_pcl_gazonk3.o ../pcl/gcl_pcl_dlisp2.o ../pcl/gcl_pcl_impl_low.o ../pcl/gcl_pcl_fast_init.o ../pcl/gcl_pcl_slots.o ../pcl/gcl_pcl_cache.o ../pcl/gcl_pcl_pkg.o ../pcl/gcl_pcl_gazonk0.o sys_pcl_gcl.o +ar rs libpcl_gcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o ../lsp/gcl_describe.o ../lsp/gcl_sloop.o ../lsp/gcl_module.o ../lsp/gcl_defmacro.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_truename.o ../lsp/gcl_directory.o ../lsp/gcl_mislib.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_iolib.o ../lsp/gcl_listlib.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_loop.o ../lsp/gcl_defstruct.o ../lsp/gcl_numlib.o ../lsp/gcl_restart.o ../lsp/gcl_seqlib.o ../lsp/gcl_namestring.o ../lsp/gcl_seq.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_pathname_match_p.o ../lsp/gcl_make_pathname.o ../lsp/gcl_serror.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_evalmacros.o ../lsp/gcl_predlib.o ../lsp/gcl_setf.o ../lsp/gcl_assert.o ../lsp/gcl_defpackage.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_arraylib.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_info.o ../lsp/gcl_fpe.o ../lsp/gcl_trace.o ../lsp/gcl_top.o ../lsp/gcl_debug.o ../lsp/gcl_rename_file.o ../lsp/gcl_sharp.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/Xutil-2.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/general-c.o ../xgcl-2/gcl_tohtml.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_general.o ../xgcl-2/Events.o ../xgcl-2/gcl_X.o ../cmpnew/gcl_cmptop.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpvar.o ../pcl/gcl_pcl_fixup.o ../pcl/gcl_pcl_walk.o ../pcl/gcl_pcl_gazonk0.o ../pcl/gcl_pcl_dfun.o ../pcl/gcl_pcl_gazonk1.o ../pcl/gcl_pcl_dlisp.o ../pcl/gcl_pcl_combin.o ../pcl/gcl_pcl_fngen.o ../pcl/gcl_pcl_slots.o ../pcl/gcl_pcl_gazonk6.o ../pcl/gcl_pcl_gazonk7.o ../pcl/gcl_pcl_dlisp2.o ../pcl/gcl_pcl_fin.o ../pcl/gcl_pcl_generic_functions.o ../pcl/gcl_pcl_methods.o ../pcl/gcl_pcl_std_class.o ../pcl/gcl_pcl_ctypes.o ../pcl/gcl_pcl_defcombin.o ../pcl/gcl_pcl_gazonk4.o ../pcl/gcl_pcl_low.o ../pcl/gcl_pcl_impl_low.o ../pcl/gcl_pcl_defs.o ../pcl/gcl_pcl_pkg.o ../pcl/gcl_pcl_cpl.o ../pcl/gcl_pcl_gazonk2.o ../pcl/gcl_pcl_cache.o ../pcl/gcl_pcl_slots_boot.o ../pcl/gcl_pcl_fsc.o ../pcl/gcl_pcl_boot.o ../pcl/gcl_pcl_precom2.o ../pcl/gcl_pcl_braid.o ../pcl/gcl_pcl_iterate.o ../pcl/gcl_pcl_vector.o ../pcl/gcl_pcl_macros.o ../pcl/gcl_pcl_compat.o ../pcl/gcl_pcl_defclass.o ../pcl/gcl_pcl_env.o ../pcl/gcl_pcl_gazonk3.o ../pcl/gcl_pcl_init.o ../pcl/gcl_pcl_fast_init.o ../pcl/gcl_pcl_gazonk5.o ../pcl/gcl_pcl_precom1.o sys_pcl_gcl.o ar: creating libpcl_gcl.a touch raw_pcl_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_pcl_gcl -L. -Wl,-Map raw_pcl_gcl_map -lpcl_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_pcl_gcl -L. -Wl,-Map raw_pcl_gcl_map -lpcl_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_pcl_gcl\"))" >>foo j=$(ar t libpcl_gcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libpcl_gcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_pcl_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 27845 pages +GCL (GNU Common Lisp) April 1994 27860 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_pcl_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp Initializing gcl_defmacro.o @@ -6510,7 +6548,7 @@ COMPILER> NIL -COMPILER>28513280 heap words available +COMPILER>28528640 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -6614,15 +6652,15 @@ make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/unixport' gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -pg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -c -o sys_ansi_gcl.o sys_ansi_gcl.c rm -rf libansi_gcl.a -ar rs libansi_gcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o ../lsp/gcl_sharp.o ../lsp/gcl_fpe.o ../lsp/gcl_assert.o ../lsp/gcl_setf.o ../lsp/gcl_listlib.o ../lsp/gcl_seq.o ../lsp/gcl_serror.o ../lsp/gcl_debug.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_mislib.o ../lsp/gcl_iolib.o ../lsp/gcl_make_pathname.o ../lsp/gcl_loop.o ../lsp/gcl_predlib.o ../lsp/gcl_directory.o ../lsp/gcl_truename.o ../lsp/gcl_module.o ../lsp/gcl_evalmacros.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_rename_file.o ../lsp/gcl_info.o ../lsp/gcl_seqlib.o ../lsp/gcl_numlib.o ../lsp/gcl_defmacro.o ../lsp/gcl_describe.o ../lsp/gcl_restart.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_arraylib.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_namestring.o ../lsp/gcl_top.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_defstruct.o ../lsp/gcl_trace.o ../lsp/gcl_defpackage.o ../lsp/gcl_sloop.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_pathname_match_p.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_X.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/Xutil-2.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_general.o ../xgcl-2/general-c.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/Events.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_tohtml.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpvar.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmptop.o ../pcl/gcl_pcl_combin.o ../pcl/gcl_pcl_defclass.o ../pcl/gcl_pcl_env.o ../pcl/gcl_pcl_cpl.o ../pcl/gcl_pcl_fngen.o ../pcl/gcl_pcl_gazonk6.o ../pcl/gcl_pcl_init.o ../pcl/gcl_pcl_dlisp.o ../pcl/gcl_pcl_ctypes.o ../pcl/gcl_pcl_vector.o ../pcl/gcl_pcl_generic_functions.o ../pcl/gcl_pcl_low.o ../pcl/gcl_pcl_boot.o ../pcl/gcl_pcl_std_class.o ../pcl/gcl_pcl_compat.o ../pcl/gcl_pcl_gazonk2.o ../pcl/gcl_pcl_braid.o ../pcl/gcl_pcl_fixup.o ../pcl/gcl_pcl_methods.o ../pcl/gcl_pcl_precom2.o ../pcl/gcl_pcl_defs.o ../pcl/gcl_pcl_precom1.o ../pcl/gcl_pcl_iterate.o ../pcl/gcl_pcl_fsc.o ../pcl/gcl_pcl_macros.o ../pcl/gcl_pcl_walk.o ../pcl/gcl_pcl_gazonk1.o ../pcl/gcl_pcl_gazonk5.o ../pcl/gcl_pcl_fin.o ../pcl/gcl_pcl_gazonk4.o ../pcl/gcl_pcl_dfun.o ../pcl/gcl_pcl_gazonk7.o ../pcl/gcl_pcl_defcombin.o ../pcl/gcl_pcl_slots_boot.o ../pcl/gcl_pcl_gazonk3.o ../pcl/gcl_pcl_dlisp2.o ../pcl/gcl_pcl_impl_low.o ../pcl/gcl_pcl_fast_init.o ../pcl/gcl_pcl_slots.o ../pcl/gcl_pcl_cache.o ../pcl/gcl_pcl_pkg.o ../pcl/gcl_pcl_gazonk0.o ../clcs/gcl_clcs_handler.o ../clcs/gcl_clcs_condition_definitions.o ../clcs/gcl_clcs_precom.o ../clcs/gcl_clcs_conditions.o sys_ansi_gcl.o +ar rs libansi_gcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o ../lsp/gcl_describe.o ../lsp/gcl_sloop.o ../lsp/gcl_module.o ../lsp/gcl_defmacro.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_truename.o ../lsp/gcl_directory.o ../lsp/gcl_mislib.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_iolib.o ../lsp/gcl_listlib.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_loop.o ../lsp/gcl_defstruct.o ../lsp/gcl_numlib.o ../lsp/gcl_restart.o ../lsp/gcl_seqlib.o ../lsp/gcl_namestring.o ../lsp/gcl_seq.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_pathname_match_p.o ../lsp/gcl_make_pathname.o ../lsp/gcl_serror.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_evalmacros.o ../lsp/gcl_predlib.o ../lsp/gcl_setf.o ../lsp/gcl_assert.o ../lsp/gcl_defpackage.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_arraylib.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_info.o ../lsp/gcl_fpe.o ../lsp/gcl_trace.o ../lsp/gcl_top.o ../lsp/gcl_debug.o ../lsp/gcl_rename_file.o ../lsp/gcl_sharp.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/Xutil-2.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/general-c.o ../xgcl-2/gcl_tohtml.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_general.o ../xgcl-2/Events.o ../xgcl-2/gcl_X.o ../cmpnew/gcl_cmptop.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpvar.o ../pcl/gcl_pcl_fixup.o ../pcl/gcl_pcl_walk.o ../pcl/gcl_pcl_gazonk0.o ../pcl/gcl_pcl_dfun.o ../pcl/gcl_pcl_gazonk1.o ../pcl/gcl_pcl_dlisp.o ../pcl/gcl_pcl_combin.o ../pcl/gcl_pcl_fngen.o ../pcl/gcl_pcl_slots.o ../pcl/gcl_pcl_gazonk6.o ../pcl/gcl_pcl_gazonk7.o ../pcl/gcl_pcl_dlisp2.o ../pcl/gcl_pcl_fin.o ../pcl/gcl_pcl_generic_functions.o ../pcl/gcl_pcl_methods.o ../pcl/gcl_pcl_std_class.o ../pcl/gcl_pcl_ctypes.o ../pcl/gcl_pcl_defcombin.o ../pcl/gcl_pcl_gazonk4.o ../pcl/gcl_pcl_low.o ../pcl/gcl_pcl_impl_low.o ../pcl/gcl_pcl_defs.o ../pcl/gcl_pcl_pkg.o ../pcl/gcl_pcl_cpl.o ../pcl/gcl_pcl_gazonk2.o ../pcl/gcl_pcl_cache.o ../pcl/gcl_pcl_slots_boot.o ../pcl/gcl_pcl_fsc.o ../pcl/gcl_pcl_boot.o ../pcl/gcl_pcl_precom2.o ../pcl/gcl_pcl_braid.o ../pcl/gcl_pcl_iterate.o ../pcl/gcl_pcl_vector.o ../pcl/gcl_pcl_macros.o ../pcl/gcl_pcl_compat.o ../pcl/gcl_pcl_defclass.o ../pcl/gcl_pcl_env.o ../pcl/gcl_pcl_gazonk3.o ../pcl/gcl_pcl_init.o ../pcl/gcl_pcl_fast_init.o ../pcl/gcl_pcl_gazonk5.o ../pcl/gcl_pcl_precom1.o ../clcs/gcl_clcs_precom.o ../clcs/gcl_clcs_conditions.o ../clcs/gcl_clcs_handler.o ../clcs/gcl_clcs_condition_definitions.o sys_ansi_gcl.o ar: creating libansi_gcl.a touch raw_ansi_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_ansi_gcl -L. -Wl,-Map raw_ansi_gcl_map -lansi_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_ansi_gcl -L. -Wl,-Map raw_ansi_gcl_map -lansi_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_ansi_gcl\"))" >>foo j=$(ar t libansi_gcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libansi_gcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_ansi_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 27861 pages +GCL (GNU Common Lisp) April 1994 27875 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_ansi_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp Initializing gcl_defmacro.o @@ -6875,7 +6913,7 @@ COMPILER> NIL -COMPILER>28529664 heap words available +COMPILER>28544000 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -7054,7 +7092,7 @@ /tmp/ >;; Loading "../tkl.o" -start address -T 0xb31f18 ;; Finished loading "../tkl.o" +start address -T 0xb44aa0 ;; Finished loading "../tkl.o" 51915 > @@ -7064,13 +7102,13 @@ cd info && /usr/bin/make make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/info' TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl-si.dvi make[2]: dvipdfm: No such file or directory make[2]: [makefile:36: gcl-si.pdf] Error 127 (ignored) TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl.dvi make[2]: dvipdfm: No such file or directory @@ -7303,7 +7341,7 @@ --mandir=\${prefix}/share/man \ --enable-infodir=\${prefix}/share/info \ --enable-emacsdir=\${prefix}/share/emacs/site-lisp -checking build system type... aarch64-unknown-linux-gnu +checking build system type... armv7l-unknown-linux-gnueabihf checking host system type... arm-unknown-linux-gnueabihf host=arm-unknown-linux-gnueabihf use=armhf-linux @@ -7341,7 +7379,7 @@ checking for CFLAG -fdollars-in-identifiers... yes checking for CFLAG -g... yes checking for makeinfo... no -checking system version (for dynamic loading)... Linux-6.1.0-32-arm64 +checking system version (for dynamic loading)... Linux-6.1.0-32-armmp-lpae checking for setjmp.h... yes checking sizeof jmp_buf... 392 checking for unistd.h... yes @@ -7384,15 +7422,16 @@ checking CSTACK_DIRECTION... -1 checking finding CSTACK_ALIGNMENT... 8 checking CSTACK_ADDRESS... 0xbfffffff -checking cstack bits... 0 +checking cstack bits... 30 checking NEG_CSTACK_ADDRESS... yes checking finding default linker script... got it checking output_arch... bfd_arch_arm configure: trying to adjust text start configure: min log text start 15 configure: max log text start 29 -configure: max log text start reduced to 0 considering c stack address -checking our linker script... none found or not needed +configure: lowering log text to 0x18000 to maximize data area +checking our linker script... done +checking for LDFLAG -Wl,-T,gcl.script... yes checking mem top... 0xc0000000 checking finding upper mem half range... 0x20000000 checking sizeof long long int... yes @@ -7512,7 +7551,7 @@ CC=gcc GCL_CC=gcc CFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I$(GCLDIR)/o -LDFLAGS=-Wl,-z,relro -no-pie +LDFLAGS=-Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script FINAL_CFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 NIFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I$(GCLDIR)/o O3FLAGS=-O2 @@ -7592,7 +7631,7 @@ sed -e 's,^.* DEFUNB,DEFUNB,g' -e 's/DEF,//g' -e 's:\"[ ]*):\"):g' | ./grab_defs > multival.ini gcc -DINICOMP -DNO_DEFUN -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -I../h -I../gcl-tk -E catch.c |\ sed -e 's,^.* DEFUNB,DEFUNB,g' -e 's/DEF,//g' -e 's:\"[ ]*):\"):g' | ./grab_defs > catch.ini -gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -Wl,-z,relro -no-pie -I../h -I../gcl-tk -o ../bin/dpp ../bin/dpp.c +gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -I../h -I../gcl-tk -o ../bin/dpp ../bin/dpp.c ../bin/dpp symbol dpp: symbol.d -> symbol.c gcc -DINICOMP -DNO_DEFUN -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -I../h -I../gcl-tk -E symbol.c |\ @@ -7921,7 +7960,7 @@ done touch bfdfiles rm -rf libpre_gcl.a -ar rs libpre_gcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o sys_pre_gcl.o +ar rs libpre_gcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o sys_pre_gcl.o ar: creating libpre_gcl.a cp ../o/gcllib.a libgclp.a ranlib libgclp.a @@ -7934,19 +7973,19 @@ -e "s#@LI-RELEASE@#`cat ../release`#1" \ -e "s#@LI-CC@#\"gcc -c -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2\"#1" \ -e "s#@LI-DFP@#\"\"#1" \ - -e "s#@LI-LD@#\"gcc -Wl,-z,relro -no-pie -o \"#1" \ + -e "s#@LI-LD@#\"gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o \"#1" \ -e "s#@LI-LD-LIBS@#\" -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp\"#1" \ -e "s#@LI-OPT-THREE@#\"-O2 \"#1" \ -e "s#@LI-OPT-TWO@#\"-O\"#1" \ -e "s#@LI-INIT-LSP@#\"sys_init.lsp\"#1" >sys_init.lsp PATH=/usr/bin:$PATH gcc msys.c -o msys # Unix binary if running wine touch raw_pre_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_pre_gcl -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_pre_gcl -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_pre_gcl\"))" >>foo j=$(ar t libpre_gcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libpre_gcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_pre_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 79799 pages +GCL (GNU Common Lisp) April 1994 76032 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_pre_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_defmacro.lsp @@ -8148,7 +8187,7 @@ COMPILER> NIL -COMPILER>81714176 heap words available +COMPILER>77856768 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -9262,10 +9301,10 @@ make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/unixport' gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -c -o sys_gcl.o sys_gcl.c rm -rf libgcl.a -ar rs libgcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o ../lsp/gcl_sharp.o ../lsp/gcl_fpe.o ../lsp/gcl_assert.o ../lsp/gcl_setf.o ../lsp/gcl_listlib.o ../lsp/gcl_seq.o ../lsp/gcl_serror.o ../lsp/gcl_debug.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_mislib.o ../lsp/gcl_iolib.o ../lsp/gcl_make_pathname.o ../lsp/gcl_loop.o ../lsp/gcl_predlib.o ../lsp/gcl_directory.o ../lsp/gcl_truename.o ../lsp/gcl_module.o ../lsp/gcl_evalmacros.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_rename_file.o ../lsp/gcl_info.o ../lsp/gcl_seqlib.o ../lsp/gcl_numlib.o ../lsp/gcl_defmacro.o ../lsp/gcl_describe.o ../lsp/gcl_restart.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_arraylib.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_namestring.o ../lsp/gcl_top.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_defstruct.o ../lsp/gcl_trace.o ../lsp/gcl_defpackage.o ../lsp/gcl_sloop.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_pathname_match_p.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_X.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/Xutil-2.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_general.o ../xgcl-2/general-c.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/Events.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_tohtml.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpvar.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmptop.o sys_gcl.o +ar rs libgcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o ../lsp/gcl_describe.o ../lsp/gcl_sloop.o ../lsp/gcl_module.o ../lsp/gcl_defmacro.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_truename.o ../lsp/gcl_directory.o ../lsp/gcl_mislib.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_iolib.o ../lsp/gcl_listlib.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_loop.o ../lsp/gcl_defstruct.o ../lsp/gcl_numlib.o ../lsp/gcl_restart.o ../lsp/gcl_seqlib.o ../lsp/gcl_namestring.o ../lsp/gcl_seq.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_pathname_match_p.o ../lsp/gcl_make_pathname.o ../lsp/gcl_serror.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_evalmacros.o ../lsp/gcl_predlib.o ../lsp/gcl_setf.o ../lsp/gcl_assert.o ../lsp/gcl_defpackage.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_arraylib.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_info.o ../lsp/gcl_fpe.o ../lsp/gcl_trace.o ../lsp/gcl_top.o ../lsp/gcl_debug.o ../lsp/gcl_rename_file.o ../lsp/gcl_sharp.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/Xutil-2.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/general-c.o ../xgcl-2/gcl_tohtml.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_general.o ../xgcl-2/Events.o ../xgcl-2/gcl_X.o ../cmpnew/gcl_cmptop.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpvar.o sys_gcl.o ar: creating libgcl.a touch raw_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_gcl -L. -Wl,-Map raw_gcl_map -lgcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_gcl -L. -Wl,-Map raw_gcl_map -lgcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_gcl\"))" >>foo j=$(ar t libgcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libgcl.a $j #accelerator @@ -9663,13 +9702,13 @@ cd info && /usr/bin/make make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/info' TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl-si.dvi make[2]: dvipdfm: No such file or directory make[2]: [makefile:36: gcl-si.pdf] Error 127 (ignored) TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl.dvi make[2]: dvipdfm: No such file or directory @@ -9889,7 +9928,7 @@ --mandir=\${prefix}/share/man \ --enable-infodir=\${prefix}/share/info \ --enable-emacsdir=\${prefix}/share/emacs/site-lisp -checking build system type... aarch64-unknown-linux-gnu +checking build system type... armv7l-unknown-linux-gnueabihf checking host system type... arm-unknown-linux-gnueabihf host=arm-unknown-linux-gnueabihf use=armhf-linux @@ -9927,7 +9966,7 @@ checking for CFLAG -fdollars-in-identifiers... yes checking for CFLAG -g... yes checking for makeinfo... no -checking system version (for dynamic loading)... Linux-6.1.0-32-arm64 +checking system version (for dynamic loading)... Linux-6.1.0-32-armmp-lpae checking for setjmp.h... yes checking sizeof jmp_buf... 392 checking for unistd.h... yes @@ -9970,15 +10009,16 @@ checking CSTACK_DIRECTION... -1 checking finding CSTACK_ALIGNMENT... 8 checking CSTACK_ADDRESS... 0xbfffffff -checking cstack bits... 0 +checking cstack bits... 30 checking NEG_CSTACK_ADDRESS... yes checking finding default linker script... got it checking output_arch... bfd_arch_arm configure: trying to adjust text start configure: min log text start 15 configure: max log text start 29 -configure: max log text start reduced to 0 considering c stack address -checking our linker script... none found or not needed +configure: lowering log text to 0x18000 to maximize data area +checking our linker script... done +checking for LDFLAG -Wl,-T,gcl.script... yes checking mem top... 0xc0000000 checking finding upper mem half range... 0x20000000 checking sizeof long long int... yes @@ -10098,7 +10138,7 @@ CC=gcc GCL_CC=gcc CFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I$(GCLDIR)/o -LDFLAGS=-Wl,-z,relro -no-pie +LDFLAGS=-Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script FINAL_CFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 NIFLAGS=-g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I$(GCLDIR)/o O3FLAGS=-O2 @@ -10178,7 +10218,7 @@ sed -e 's,^.* DEFUNB,DEFUNB,g' -e 's/DEF,//g' -e 's:\"[ ]*):\"):g' | ./grab_defs > multival.ini gcc -DINICOMP -DNO_DEFUN -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -I../h -I../gcl-tk -E catch.c |\ sed -e 's,^.* DEFUNB,DEFUNB,g' -e 's/DEF,//g' -e 's:\"[ ]*):\"):g' | ./grab_defs > catch.ini -gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -Wl,-z,relro -no-pie -I../h -I../gcl-tk -o ../bin/dpp ../bin/dpp.c +gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -I../h -I../gcl-tk -o ../bin/dpp ../bin/dpp.c ../bin/dpp symbol dpp: symbol.d -> symbol.c gcc -DINICOMP -DNO_DEFUN -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -I../h -I../gcl-tk -E symbol.c |\ @@ -10507,7 +10547,7 @@ done touch bfdfiles rm -rf libpre_gcl.a -ar rs libpre_gcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o sys_pre_gcl.o +ar rs libpre_gcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o sys_pre_gcl.o ar: creating libpre_gcl.a cp ../o/gcllib.a libgclp.a ranlib libgclp.a @@ -10520,19 +10560,19 @@ -e "s#@LI-RELEASE@#`cat ../release`#1" \ -e "s#@LI-CC@#\"gcc -c -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2\"#1" \ -e "s#@LI-DFP@#\"\"#1" \ - -e "s#@LI-LD@#\"gcc -Wl,-z,relro -no-pie -o \"#1" \ + -e "s#@LI-LD@#\"gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o \"#1" \ -e "s#@LI-LD-LIBS@#\" -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp\"#1" \ -e "s#@LI-OPT-THREE@#\"-O2 \"#1" \ -e "s#@LI-OPT-TWO@#\"-O\"#1" \ -e "s#@LI-INIT-LSP@#\"sys_init.lsp\"#1" >sys_init.lsp PATH=/usr/bin:$PATH gcc msys.c -o msys # Unix binary if running wine touch raw_pre_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_pre_gcl -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_pre_gcl -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_pre_gcl\"))" >>foo j=$(ar t libpre_gcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libpre_gcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_pre_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 79799 pages +GCL (GNU Common Lisp) April 1994 76032 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_pre_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_defmacro.lsp @@ -10734,7 +10774,7 @@ COMPILER> NIL -COMPILER>81714176 heap words available +COMPILER>77856768 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -11848,10 +11888,10 @@ make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/unixport' gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -c -o sys_gcl.o sys_gcl.c rm -rf libgcl.a -ar rs libgcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o ../lsp/gcl_sharp.o ../lsp/gcl_fpe.o ../lsp/gcl_assert.o ../lsp/gcl_setf.o ../lsp/gcl_listlib.o ../lsp/gcl_seq.o ../lsp/gcl_serror.o ../lsp/gcl_debug.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_mislib.o ../lsp/gcl_iolib.o ../lsp/gcl_make_pathname.o ../lsp/gcl_loop.o ../lsp/gcl_predlib.o ../lsp/gcl_directory.o ../lsp/gcl_truename.o ../lsp/gcl_module.o ../lsp/gcl_evalmacros.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_rename_file.o ../lsp/gcl_info.o ../lsp/gcl_seqlib.o ../lsp/gcl_numlib.o ../lsp/gcl_defmacro.o ../lsp/gcl_describe.o ../lsp/gcl_restart.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_arraylib.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_namestring.o ../lsp/gcl_top.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_defstruct.o ../lsp/gcl_trace.o ../lsp/gcl_defpackage.o ../lsp/gcl_sloop.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_pathname_match_p.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_X.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/Xutil-2.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_general.o ../xgcl-2/general-c.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/Events.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_tohtml.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpvar.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmptop.o sys_gcl.o +ar rs libgcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o ../lsp/gcl_describe.o ../lsp/gcl_sloop.o ../lsp/gcl_module.o ../lsp/gcl_defmacro.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_truename.o ../lsp/gcl_directory.o ../lsp/gcl_mislib.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_iolib.o ../lsp/gcl_listlib.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_loop.o ../lsp/gcl_defstruct.o ../lsp/gcl_numlib.o ../lsp/gcl_restart.o ../lsp/gcl_seqlib.o ../lsp/gcl_namestring.o ../lsp/gcl_seq.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_pathname_match_p.o ../lsp/gcl_make_pathname.o ../lsp/gcl_serror.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_evalmacros.o ../lsp/gcl_predlib.o ../lsp/gcl_setf.o ../lsp/gcl_assert.o ../lsp/gcl_defpackage.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_arraylib.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_info.o ../lsp/gcl_fpe.o ../lsp/gcl_trace.o ../lsp/gcl_top.o ../lsp/gcl_debug.o ../lsp/gcl_rename_file.o ../lsp/gcl_sharp.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/Xutil-2.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/general-c.o ../xgcl-2/gcl_tohtml.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_general.o ../xgcl-2/Events.o ../xgcl-2/gcl_X.o ../cmpnew/gcl_cmptop.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpvar.o sys_gcl.o ar: creating libgcl.a touch raw_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_gcl -L. -Wl,-Map raw_gcl_map -lgcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_gcl -L. -Wl,-Map raw_gcl_map -lgcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_gcl\"))" >>foo j=$(ar t libgcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libgcl.a $j #accelerator @@ -12528,20 +12568,20 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o. Loading binary of GCL_PCL_FIXUP... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" -Compiling gazonk_17885_0.lsp. +Compiling gazonk_8050_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_0.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_0.o" -start address -T 0xa4deb8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_0.o" -Compiling gazonk_17885_1.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_0.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_0.o" +start address -T 0xa4deb8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_0.o" +Compiling gazonk_8050_1.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_1.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_1.o" -start address -T 0xa4e2c0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_1.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_1.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_1.o" +start address -T 0xa4e2c0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_1.o" start address -T 0xa4ddf0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" Compiling GCL_PCL_DEFCOMBIN... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.lisp. @@ -12551,34 +12591,34 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o. Loading binary of GCL_PCL_DEFCOMBIN... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" -Compiling gazonk_17885_2.lsp. +Compiling gazonk_8050_2.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_2.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_2.o" -start address -T 0xa50bd8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_2.o" -Compiling gazonk_17885_3.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_2.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_2.o" +start address -T 0xa50bd8 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_2.o" +Compiling gazonk_8050_3.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_3.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_3.o" -start address -T 0xa51768 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_3.o" -Compiling gazonk_17885_4.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_3.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_3.o" +start address -T 0xa51768 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_3.o" +Compiling gazonk_8050_4.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_4.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_4.o" -start address -T 0xa52038 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_4.o" -Compiling gazonk_17885_5.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_4.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_4.o" +start address -T 0xa52038 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_4.o" +Compiling gazonk_8050_5.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_5.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_5.o" -start address -T 0xa524f0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_5.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_5.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_5.o" +start address -T 0xa524f0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_5.o" start address -T 0xa4e6b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" Compiling GCL_PCL_CTYPES... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.lisp. @@ -12588,13 +12628,13 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o. Loading binary of GCL_PCL_CTYPES... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" -Compiling gazonk_17885_6.lsp. +Compiling gazonk_8050_6.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_6.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_6.o" -start address -T 0xa52e68 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_6.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_6.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_6.o" +start address -T 0xa52e68 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_6.o" start address -T 0xa52a68 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" Compiling GCL_PCL_ENV... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.lisp. @@ -12607,13 +12647,13 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o. Loading binary of GCL_PCL_ENV... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" -Compiling gazonk_17885_7.lsp. +Compiling gazonk_8050_7.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_7.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_7.o" -start address -T 0xa56c88 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_17885_7.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_7.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_7.o" +start address -T 0xa56c88 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_8050_7.o" Warning: DESCRIBE is being redefined. start address -T 0xa53328 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" Compiling GCL_PCL_COMPAT... @@ -12689,15 +12729,15 @@ make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/unixport' gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -c -o sys_pcl_gcl.o sys_pcl_gcl.c rm -rf libpcl_gcl.a -ar rs libpcl_gcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o ../lsp/gcl_sharp.o ../lsp/gcl_fpe.o ../lsp/gcl_assert.o ../lsp/gcl_setf.o ../lsp/gcl_listlib.o ../lsp/gcl_seq.o ../lsp/gcl_serror.o ../lsp/gcl_debug.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_mislib.o ../lsp/gcl_iolib.o ../lsp/gcl_make_pathname.o ../lsp/gcl_loop.o ../lsp/gcl_predlib.o ../lsp/gcl_directory.o ../lsp/gcl_truename.o ../lsp/gcl_module.o ../lsp/gcl_evalmacros.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_rename_file.o ../lsp/gcl_info.o ../lsp/gcl_seqlib.o ../lsp/gcl_numlib.o ../lsp/gcl_defmacro.o ../lsp/gcl_describe.o ../lsp/gcl_restart.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_arraylib.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_namestring.o ../lsp/gcl_top.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_defstruct.o ../lsp/gcl_trace.o ../lsp/gcl_defpackage.o ../lsp/gcl_sloop.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_pathname_match_p.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_X.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/Xutil-2.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_general.o ../xgcl-2/general-c.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/Events.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_tohtml.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpvar.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmptop.o ../pcl/gcl_pcl_combin.o ../pcl/gcl_pcl_defclass.o ../pcl/gcl_pcl_env.o ../pcl/gcl_pcl_cpl.o ../pcl/gcl_pcl_fngen.o ../pcl/gcl_pcl_gazonk6.o ../pcl/gcl_pcl_init.o ../pcl/gcl_pcl_dlisp.o ../pcl/gcl_pcl_ctypes.o ../pcl/gcl_pcl_vector.o ../pcl/gcl_pcl_generic_functions.o ../pcl/gcl_pcl_low.o ../pcl/gcl_pcl_boot.o ../pcl/gcl_pcl_std_class.o ../pcl/gcl_pcl_compat.o ../pcl/gcl_pcl_gazonk2.o ../pcl/gcl_pcl_braid.o ../pcl/gcl_pcl_fixup.o ../pcl/gcl_pcl_methods.o ../pcl/gcl_pcl_precom2.o ../pcl/gcl_pcl_defs.o ../pcl/gcl_pcl_precom1.o ../pcl/gcl_pcl_iterate.o ../pcl/gcl_pcl_fsc.o ../pcl/gcl_pcl_macros.o ../pcl/gcl_pcl_walk.o ../pcl/gcl_pcl_gazonk1.o ../pcl/gcl_pcl_gazonk5.o ../pcl/gcl_pcl_fin.o ../pcl/gcl_pcl_gazonk4.o ../pcl/gcl_pcl_dfun.o ../pcl/gcl_pcl_gazonk7.o ../pcl/gcl_pcl_defcombin.o ../pcl/gcl_pcl_slots_boot.o ../pcl/gcl_pcl_gazonk3.o ../pcl/gcl_pcl_dlisp2.o ../pcl/gcl_pcl_impl_low.o ../pcl/gcl_pcl_fast_init.o ../pcl/gcl_pcl_slots.o ../pcl/gcl_pcl_cache.o ../pcl/gcl_pcl_pkg.o ../pcl/gcl_pcl_gazonk0.o sys_pcl_gcl.o +ar rs libpcl_gcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o ../lsp/gcl_describe.o ../lsp/gcl_sloop.o ../lsp/gcl_module.o ../lsp/gcl_defmacro.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_truename.o ../lsp/gcl_directory.o ../lsp/gcl_mislib.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_iolib.o ../lsp/gcl_listlib.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_loop.o ../lsp/gcl_defstruct.o ../lsp/gcl_numlib.o ../lsp/gcl_restart.o ../lsp/gcl_seqlib.o ../lsp/gcl_namestring.o ../lsp/gcl_seq.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_pathname_match_p.o ../lsp/gcl_make_pathname.o ../lsp/gcl_serror.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_evalmacros.o ../lsp/gcl_predlib.o ../lsp/gcl_setf.o ../lsp/gcl_assert.o ../lsp/gcl_defpackage.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_arraylib.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_info.o ../lsp/gcl_fpe.o ../lsp/gcl_trace.o ../lsp/gcl_top.o ../lsp/gcl_debug.o ../lsp/gcl_rename_file.o ../lsp/gcl_sharp.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/Xutil-2.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/general-c.o ../xgcl-2/gcl_tohtml.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_general.o ../xgcl-2/Events.o ../xgcl-2/gcl_X.o ../cmpnew/gcl_cmptop.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpvar.o ../pcl/gcl_pcl_fixup.o ../pcl/gcl_pcl_walk.o ../pcl/gcl_pcl_gazonk0.o ../pcl/gcl_pcl_dfun.o ../pcl/gcl_pcl_gazonk1.o ../pcl/gcl_pcl_dlisp.o ../pcl/gcl_pcl_combin.o ../pcl/gcl_pcl_fngen.o ../pcl/gcl_pcl_slots.o ../pcl/gcl_pcl_gazonk6.o ../pcl/gcl_pcl_gazonk7.o ../pcl/gcl_pcl_dlisp2.o ../pcl/gcl_pcl_fin.o ../pcl/gcl_pcl_generic_functions.o ../pcl/gcl_pcl_methods.o ../pcl/gcl_pcl_std_class.o ../pcl/gcl_pcl_ctypes.o ../pcl/gcl_pcl_defcombin.o ../pcl/gcl_pcl_gazonk4.o ../pcl/gcl_pcl_low.o ../pcl/gcl_pcl_impl_low.o ../pcl/gcl_pcl_defs.o ../pcl/gcl_pcl_pkg.o ../pcl/gcl_pcl_cpl.o ../pcl/gcl_pcl_gazonk2.o ../pcl/gcl_pcl_cache.o ../pcl/gcl_pcl_slots_boot.o ../pcl/gcl_pcl_fsc.o ../pcl/gcl_pcl_boot.o ../pcl/gcl_pcl_precom2.o ../pcl/gcl_pcl_braid.o ../pcl/gcl_pcl_iterate.o ../pcl/gcl_pcl_vector.o ../pcl/gcl_pcl_macros.o ../pcl/gcl_pcl_compat.o ../pcl/gcl_pcl_defclass.o ../pcl/gcl_pcl_env.o ../pcl/gcl_pcl_gazonk3.o ../pcl/gcl_pcl_init.o ../pcl/gcl_pcl_fast_init.o ../pcl/gcl_pcl_gazonk5.o ../pcl/gcl_pcl_precom1.o sys_pcl_gcl.o ar: creating libpcl_gcl.a touch raw_pcl_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_pcl_gcl -L. -Wl,-Map raw_pcl_gcl_map -lpcl_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_pcl_gcl -L. -Wl,-Map raw_pcl_gcl_map -lpcl_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_pcl_gcl\"))" >>foo j=$(ar t libpcl_gcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libpcl_gcl.a $j #accelerator /build/reproducible-path/gcl-2.6.14/unixport/raw_pcl_gcl /build/reproducible-path/gcl-2.6.14/unixport/ -libdir /build/reproducible-path/gcl-2.6.14/ < foo -GCL (GNU Common Lisp) April 1994 27831 pages +GCL (GNU Common Lisp) April 1994 27845 pages Building symbol table for /build/reproducible-path/gcl-2.6.14/unixport/raw_pcl_gcl .. loading /build/reproducible-path/gcl-2.6.14/unixport/../lsp/gcl_export.lsp Initializing gcl_defmacro.o @@ -12946,7 +12986,7 @@ COMPILER> NIL -COMPILER>28498944 heap words available +COMPILER>28513280 heap words available NIL COMPILER>[ "t" = "" ] || \ @@ -13050,10 +13090,10 @@ make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/unixport' gcc -g -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gcl-2.6.14=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-empty-body -Wno-unused-but-set-variable -fdollars-in-identifiers -g -I/usr/include/tirpc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I/build/reproducible-path/gcl-2.6.14/o -c -o sys_ansi_gcl.o sys_ansi_gcl.c rm -rf libansi_gcl.a -ar rs libansi_gcl.a ../o/prog.o ../o/prelink.o ../o/sockets.o ../o/funlink.o ../o/num_log.o ../o/pathname.o ../o/unixfasl.o ../o/num_sfun.o ../o/frame.o ../o/alloc.o ../o/lex.o ../o/mapfun.o ../o/regexpr.o ../o/num_co.o ../o/format.o ../o/number.o ../o/num_arith.o ../o/bind.o ../o/new_init.o ../o/block.o ../o/predicate.o ../o/earith.o ../o/num_rand.o ../o/init_pari.o ../o/print.o ../o/gprof.o ../o/num_pred.o ../o/catch.o ../o/array.o ../o/assignment.o ../o/conditional.o ../o/macros.o ../o/big.o ../o/bds.o ../o/symbol.o ../o/eval.o ../o/nsocket.o ../o/read.o ../o/package.o ../o/structure.o ../o/unixfsys.o ../o/character.o ../o/typespec.o ../o/num_comp.o ../o/iteration.o ../o/nfunlink.o ../o/main.o ../o/unixtime.o ../o/backq.o ../o/run_process.o ../o/cfun.o ../o/clxsocket.o ../o/gcl_readline.o ../o/sfasl.o ../o/reference.o ../o/bitop.o ../o/let.o ../o/gbc.o ../o/list.o ../o/utils.o ../o/file.o ../o/unixsave.o ../o/hash.o ../o/cmpaux.o ../o/sequence.o ../o/toplevel.o ../o/usig.o ../o/error.o ../o/multival.o ../o/usig2.o ../o/makefun.o ../o/fat_string.o ../o/unixsys.o ../o/string.o ../lsp/gcl_sharp.o ../lsp/gcl_fpe.o ../lsp/gcl_assert.o ../lsp/gcl_setf.o ../lsp/gcl_listlib.o ../lsp/gcl_seq.o ../lsp/gcl_serror.o ../lsp/gcl_debug.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_mislib.o ../lsp/gcl_iolib.o ../lsp/gcl_make_pathname.o ../lsp/gcl_loop.o ../lsp/gcl_predlib.o ../lsp/gcl_directory.o ../lsp/gcl_truename.o ../lsp/gcl_module.o ../lsp/gcl_evalmacros.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_rename_file.o ../lsp/gcl_info.o ../lsp/gcl_seqlib.o ../lsp/gcl_numlib.o ../lsp/gcl_defmacro.o ../lsp/gcl_describe.o ../lsp/gcl_restart.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_arraylib.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_namestring.o ../lsp/gcl_top.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_defstruct.o ../lsp/gcl_trace.o ../lsp/gcl_defpackage.o ../lsp/gcl_sloop.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_pathname_match_p.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_X.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/Xutil-2.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_general.o ../xgcl-2/general-c.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/Events.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_tohtml.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpvar.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmptop.o ../pcl/gcl_pcl_combin.o ../pcl/gcl_pcl_defclass.o ../pcl/gcl_pcl_env.o ../pcl/gcl_pcl_cpl.o ../pcl/gcl_pcl_fngen.o ../pcl/gcl_pcl_gazonk6.o ../pcl/gcl_pcl_init.o ../pcl/gcl_pcl_dlisp.o ../pcl/gcl_pcl_ctypes.o ../pcl/gcl_pcl_vector.o ../pcl/gcl_pcl_generic_functions.o ../pcl/gcl_pcl_low.o ../pcl/gcl_pcl_boot.o ../pcl/gcl_pcl_std_class.o ../pcl/gcl_pcl_compat.o ../pcl/gcl_pcl_gazonk2.o ../pcl/gcl_pcl_braid.o ../pcl/gcl_pcl_fixup.o ../pcl/gcl_pcl_methods.o ../pcl/gcl_pcl_precom2.o ../pcl/gcl_pcl_defs.o ../pcl/gcl_pcl_precom1.o ../pcl/gcl_pcl_iterate.o ../pcl/gcl_pcl_fsc.o ../pcl/gcl_pcl_macros.o ../pcl/gcl_pcl_walk.o ../pcl/gcl_pcl_gazonk1.o ../pcl/gcl_pcl_gazonk5.o ../pcl/gcl_pcl_fin.o ../pcl/gcl_pcl_gazonk4.o ../pcl/gcl_pcl_dfun.o ../pcl/gcl_pcl_gazonk7.o ../pcl/gcl_pcl_defcombin.o ../pcl/gcl_pcl_slots_boot.o ../pcl/gcl_pcl_gazonk3.o ../pcl/gcl_pcl_dlisp2.o ../pcl/gcl_pcl_impl_low.o ../pcl/gcl_pcl_fast_init.o ../pcl/gcl_pcl_slots.o ../pcl/gcl_pcl_cache.o ../pcl/gcl_pcl_pkg.o ../pcl/gcl_pcl_gazonk0.o ../clcs/gcl_clcs_handler.o ../clcs/gcl_clcs_condition_definitions.o ../clcs/gcl_clcs_precom.o ../clcs/gcl_clcs_conditions.o sys_ansi_gcl.o +ar rs libansi_gcl.a ../o/prog.o ../o/bitop.o ../o/reference.o ../o/funlink.o ../o/hash.o ../o/alloc.o ../o/big.o ../o/format.o ../o/eval.o ../o/init_pari.o ../o/macros.o ../o/toplevel.o ../o/print.o ../o/num_co.o ../o/character.o ../o/num_arith.o ../o/block.o ../o/nsocket.o ../o/num_pred.o ../o/bind.o ../o/sequence.o ../o/array.o ../o/unixfsys.o ../o/unixtime.o ../o/iteration.o ../o/structure.o ../o/typespec.o ../o/clxsocket.o ../o/num_comp.o ../o/gbc.o ../o/read.o ../o/unixsave.o ../o/nfunlink.o ../o/predicate.o ../o/mapfun.o ../o/num_rand.o ../o/bds.o ../o/fat_string.o ../o/multival.o ../o/usig2.o ../o/symbol.o ../o/unixfasl.o ../o/package.o ../o/error.o ../o/prelink.o ../o/num_log.o ../o/let.o ../o/backq.o ../o/new_init.o ../o/frame.o ../o/usig.o ../o/file.o ../o/pathname.o ../o/list.o ../o/run_process.o ../o/string.o ../o/gprof.o ../o/makefun.o ../o/assignment.o ../o/cmpaux.o ../o/main.o ../o/number.o ../o/sfasl.o ../o/unixsys.o ../o/num_sfun.o ../o/cfun.o ../o/lex.o ../o/earith.o ../o/sockets.o ../o/regexpr.o ../o/utils.o ../o/conditional.o ../o/catch.o ../o/gcl_readline.o ../lsp/gcl_describe.o ../lsp/gcl_sloop.o ../lsp/gcl_module.o ../lsp/gcl_defmacro.o ../lsp/gcl_packlib.o ../lsp/gcl_merge_pathnames.o ../lsp/gcl_truename.o ../lsp/gcl_directory.o ../lsp/gcl_mislib.o ../lsp/gcl_parse_namestring.o ../lsp/gcl_iolib.o ../lsp/gcl_listlib.o ../lsp/gcl_make_defpackage.o ../lsp/gcl_loop.o ../lsp/gcl_defstruct.o ../lsp/gcl_numlib.o ../lsp/gcl_restart.o ../lsp/gcl_seqlib.o ../lsp/gcl_namestring.o ../lsp/gcl_seq.o ../lsp/gcl_translate_pathname.o ../lsp/gcl_sharp_uv.o ../lsp/gcl_pathname_match_p.o ../lsp/gcl_make_pathname.o ../lsp/gcl_serror.o ../lsp/gcl_wild_pathname_p.o ../lsp/gcl_evalmacros.o ../lsp/gcl_predlib.o ../lsp/gcl_setf.o ../lsp/gcl_assert.o ../lsp/gcl_defpackage.o ../lsp/gcl_destructuring_bind.o ../lsp/gcl_arraylib.o ../lsp/gcl_logical_pathname_translations.o ../lsp/gcl_info.o ../lsp/gcl_fpe.o ../lsp/gcl_trace.o ../lsp/gcl_top.o ../lsp/gcl_debug.o ../lsp/gcl_rename_file.o ../lsp/gcl_sharp.o ../xgcl-2/gcl_dwtrans.o ../xgcl-2/gcl_Xutil.o ../xgcl-2/gcl_Xlib.o ../xgcl-2/Xutil-2.o ../xgcl-2/XStruct-4.o ../xgcl-2/gcl_index.o ../xgcl-2/gcl_Xinit.o ../xgcl-2/gcl_defentry_events.o ../xgcl-2/gcl_XAtom.o ../xgcl-2/gcl_X10.o ../xgcl-2/gcl_XStruct_l_3.o ../xgcl-2/gcl_keysymdef.o ../xgcl-2/gcl_Xstruct.o ../xgcl-2/general-c.o ../xgcl-2/gcl_tohtml.o ../xgcl-2/XStruct-2.o ../xgcl-2/gcl_general.o ../xgcl-2/Events.o ../xgcl-2/gcl_X.o ../cmpnew/gcl_cmptop.o ../cmpnew/gcl_cmplabel.o ../cmpnew/gcl_cmpmulti.o ../cmpnew/gcl_cmplet.o ../cmpnew/gcl_cmpbind.o ../cmpnew/gcl_cmpspecial.o ../cmpnew/gcl_cmpeval.o ../cmpnew/gcl_cmpenv.o ../cmpnew/gcl_cmploc.o ../cmpnew/gcl_cmpcatch.o ../cmpnew/gcl_cmpcall.o ../cmpnew/gcl_cmpblock.o ../cmpnew/gcl_cmpflet.o ../cmpnew/gcl_cmpmain.o ../cmpnew/gcl_cmptype.o ../cmpnew/gcl_cmpfun.o ../cmpnew/gcl_cmplam.o ../cmpnew/gcl_cmpmap.o ../cmpnew/gcl_cmpvs.o ../cmpnew/gcl_cmpinline.o ../cmpnew/gcl_cmpif.o ../cmpnew/gcl_cmputil.o ../cmpnew/gcl_cmptag.o ../cmpnew/gcl_cmpwt.o ../cmpnew/gcl_cmpvar.o ../pcl/gcl_pcl_fixup.o ../pcl/gcl_pcl_walk.o ../pcl/gcl_pcl_gazonk0.o ../pcl/gcl_pcl_dfun.o ../pcl/gcl_pcl_gazonk1.o ../pcl/gcl_pcl_dlisp.o ../pcl/gcl_pcl_combin.o ../pcl/gcl_pcl_fngen.o ../pcl/gcl_pcl_slots.o ../pcl/gcl_pcl_gazonk6.o ../pcl/gcl_pcl_gazonk7.o ../pcl/gcl_pcl_dlisp2.o ../pcl/gcl_pcl_fin.o ../pcl/gcl_pcl_generic_functions.o ../pcl/gcl_pcl_methods.o ../pcl/gcl_pcl_std_class.o ../pcl/gcl_pcl_ctypes.o ../pcl/gcl_pcl_defcombin.o ../pcl/gcl_pcl_gazonk4.o ../pcl/gcl_pcl_low.o ../pcl/gcl_pcl_impl_low.o ../pcl/gcl_pcl_defs.o ../pcl/gcl_pcl_pkg.o ../pcl/gcl_pcl_cpl.o ../pcl/gcl_pcl_gazonk2.o ../pcl/gcl_pcl_cache.o ../pcl/gcl_pcl_slots_boot.o ../pcl/gcl_pcl_fsc.o ../pcl/gcl_pcl_boot.o ../pcl/gcl_pcl_precom2.o ../pcl/gcl_pcl_braid.o ../pcl/gcl_pcl_iterate.o ../pcl/gcl_pcl_vector.o ../pcl/gcl_pcl_macros.o ../pcl/gcl_pcl_compat.o ../pcl/gcl_pcl_defclass.o ../pcl/gcl_pcl_env.o ../pcl/gcl_pcl_gazonk3.o ../pcl/gcl_pcl_init.o ../pcl/gcl_pcl_fast_init.o ../pcl/gcl_pcl_gazonk5.o ../pcl/gcl_pcl_precom1.o ../clcs/gcl_clcs_precom.o ../clcs/gcl_clcs_conditions.o ../clcs/gcl_clcs_handler.o ../clcs/gcl_clcs_condition_definitions.o sys_ansi_gcl.o ar: creating libansi_gcl.a touch raw_ansi_gcl_map -gcc -Wl,-z,relro -no-pie -o raw_ansi_gcl -L. -Wl,-Map raw_ansi_gcl_map -lansi_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp +gcc -Wl,-z,relro -no-pie -Wl,-T,../unixport/gcl.script -o raw_ansi_gcl -L. -Wl,-Map raw_ansi_gcl_map -lansi_gcl -lX11 -lm -ldl -lgmp -ltirpc -lreadline -lc -lgclp cp sys_init.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_ansi_gcl\"))" >>foo j=$(ar t libansi_gcl.a |grep ^gcl_);[ "$j" = "" ] || ar x libansi_gcl.a $j #accelerator @@ -13490,7 +13530,7 @@ /tmp/ >;; Loading "../tkl.o" -start address -T 0xad1130 ;; Finished loading "../tkl.o" +start address -T 0xb25070 ;; Finished loading "../tkl.o" 50367 > @@ -13500,13 +13540,13 @@ cd info && /usr/bin/make make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/info' TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl-si.dvi make[2]: dvipdfm: No such file or directory make[2]: [makefile:36: gcl-si.pdf] Error 127 (ignored) TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl.dvi make[2]: dvipdfm: No such file or directory @@ -13663,17 +13703,6 @@ ;; Note: Tail-recursive call of EQUALP-WITH-CASE was replaced by iteration. End of Pass 2. tail: 'ansi-tests/test_results' has appeared; following new file -OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/rt.o. -;; Loading #p"rt.o" -start address -T 0x7fb948 ;; Finished loading #p"rt.o" -;; Loading "cl-test-package.lsp" -;; Finished loading "cl-test-package.lsp" -;; Loading "universe.lsp" -;; Finished loading "universe.lsp" -Compiling random-aux.lsp. -End of Pass 1. -End of Pass 2. GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 ANSI git: Version_2_6_15pre17 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) @@ -13699,7 +13728,18 @@ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/rt.o. ;; Loading #p"rt.o" -start address -T 0x7fb948 ;; Finished loading #p"rt.o" +start address -T 0x9630e8 ;; Finished loading #p"rt.o" +;; Loading "cl-test-package.lsp" +;; Finished loading "cl-test-package.lsp" +;; Loading "universe.lsp" +;; Finished loading "universe.lsp" +Compiling random-aux.lsp. +End of Pass 1. +End of Pass 2. +OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 +Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/rt.o. +;; Loading #p"rt.o" +start address -T 0x9630e8 ;; Finished loading #p"rt.o" ;; Loading "cl-test-package.lsp" ;; Finished loading "cl-test-package.lsp" ;; Loading "universe.lsp" @@ -13710,7 +13750,7 @@ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/random-aux.o. ;; Loading #p"random-aux.o" -start address -T 0x7a0dc0 ;; Finished loading #p"random-aux.o" +start address -T 0x946aa0 ;; Finished loading #p"random-aux.o" Compiling ansi-aux.lsp. ; (DEFUN CHECK-VALUES-LENGTH ...) is being compiled. ;; Warning: The ignored variable E is used. @@ -13721,7 +13761,7 @@ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/random-aux.o. ;; Loading #p"random-aux.o" -start address -T 0x7a0dc0 ;; Finished loading #p"random-aux.o" +start address -T 0x946aa0 ;; Finished loading #p"random-aux.o" Compiling ansi-aux.lsp. ; (DEFUN CHECK-VALUES-LENGTH ...) is being compiled. ;; Warning: The ignored variable E is used. @@ -13732,14 +13772,14 @@ OPTIMIZE levels: Safety=3, Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/ansi-aux.o. ;; Loading #p"ansi-aux.o" -start address -T 0xb224f8 ;; Finished loading #p"ansi-aux.o" +start address -T 0xb25070 ;; Finished loading #p"ansi-aux.o" ;; Loading "cl-symbol-names.lsp" ;; Finished loading "cl-symbol-names.lsp" ;; Finished loading "gclload1.lsp" OPTIMIZE levels: Safety=3, Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/ansi-aux.o. ;; Loading #p"ansi-aux.o" -start address -T 0xb224f8 ;; Finished loading #p"ansi-aux.o" +start address -T 0xb25070 ;; Finished loading #p"ansi-aux.o" ;; Loading "cl-symbol-names.lsp" ;; Finished loading "cl-symbol-names.lsp" ;; Finished loading "gclload1.lsp" @@ -14233,143 +14273,7 @@ Form: (REMOVE-IF #'MACRO-FUNCTION *EVAL-AND-COMPILE-MACROS*) Expected value: NIL Actual value: (DEFINE-SYMBOL-MACRO). - COMPILE.1 COMPILE.2 COMPILE.3 COMPILE.4 COMPILE.5 COMPILE.6 COMPILE.7 - COMPILE.8 COMPILE.9 -Test COMPILE.ERROR.1 failed -Form: (CLASSIFY-ERROR (COMPILE)) -Expected value: PROGRAM-ERROR -Actual value: ERROR. -Test COMPILE.ERROR.2 failed -Form: (CLASSIFY-ERROR (COMPILE NIL '(LAMBDA () NIL) 'GARBAGE)) -Expected value: PROGRAM-ERROR -Actual values: # - NIL - NIL. - CONSTANTP.ERROR.1 CONSTANTP.ERROR.2 CONSTANTP.1 CONSTANTP.2 - CONSTANTP.3 CONSTANTP.4 CONSTANTP.5 -Test CONSTANTP.6 failed -Form: (CONSTANTP-MACRO CONSTANTP-TEST-SYMBOL) -Expected value: T -Actual value: #. - CONSTANTP.7 -Test CONSTANTP.8 failed -Form: (NOTNOT-MV (CONSTANTP 1 NIL)) -Expected value: T -Actual value: #. - CONSTANTP.9 CONSTANTP.10 CONSTANTP.ORDER.1 -Test CONSTANTP.ORDER.2 failed -Form: (LET ((I 0) X Y) - (VALUES (NOTNOT (CONSTANTP (PROGN (SETF X (INCF I)) 1) - (PROGN (SETF Y (INCF I)) NIL))) - I X Y)) -Expected values: T - 2 - 1 - 2 -Actual value: #. - LAMBDA.1 LAMBDA.2 LAMBDA.3 LAMBDA.4 LAMBDA.5 LAMBDA.6 LAMBDA.7 - LAMBDA.8 LAMBDA.9 LAMBDA.10 LAMBDA.MACRO.1 LAMBDA.MACRO.2 -Test DCF-FUNS failed -Form: (REMOVE-IF #'FBOUNDP *DCF-FNS*) -Expected value: NIL -Actual value: (FUNCTION-LAMBDA-EXPRESSION). -Test DCF-MACROS failed -Form: (REMOVE-IF #'MACRO-FUNCTION *DCF-MACROS*) -Expected value: NIL -Actual value: (DEFINE-SETF-EXPANDER). - SETF-ORDER SETF-ORDER.2 PUSH-ORDER PUSHNEW-ORDER PUSHNEW-ORDER.2 - REMF-ORDER INCF-ORDER DECF-ORDER SHIFTF-ORDER.1 SHIFTF-ORDER.2 - ROTATEF-ORDER.1 ROTATEF-ORDER.2 PSETF-ORDER PSETF-ORDER.2 POP-ORDER - SETF-VAR SETF-VALUES.1 SETF-VALUES.2 SETF-VALUES.3 SETF-VALUES.4 -Test SETF-VALUES.5 failed -Form: (LET ((A (VECTOR NIL NIL)) (I 0) X Y Z) - (SETF (VALUES (AREF A (PROGN (SETF X (INCF I)) 0)) - (AREF A (PROGN (SETF Y (INCF I)) 1))) - (PROGN (SETF Z (INCF I)) (VALUES 'FOO 'BAR))) - (VALUES A I X Y Z)) -Expected values: #(FOO BAR) - 3 - 1 - 2 - 3 -Actual values: #(FOO BAR) - 3 - 2 - 3 - 1. - SETF-VALUES.6 SETF-THE.1 SETF-THE.2 SETF-APPLY.1 SETF-APPLY.2 - SETF-APPLY.3 SETF-APPLY.4 SETF-EXPANDER.1 SETF-MACRO.1 SETF-MACRO.2 - SETF-MACRO.3 SETF-MACRO.4 SETF-SYMBOL-MACRO.1 SETF-SYMBOL-MACRO.2 - SETF-SYMBOL-MACRO.3 SETQ.1 SETQ.2 SETQ.3 SETQ.4 SETF.1 SETF.2 SETF.3 - SETF.4 PSETQ.1 PSETQ.2 PSETQ.3 PSETQ.4 PSETQ.5 PSETQ.6 -Test PSETQ.7 failed -Form: (SYMBOL-MACROLET ((X (AREF A (INCF I))) (Y (AREF A (INCF I)))) - (LET ((A (COPY-SEQ #(0 1 2 3 4 5 6 7 8 9))) (I 0)) - (PSETQ X (AREF A (INCF I)) Y (AREF A (INCF I))) - (VALUES A I))) -Expected values: #(0 2 2 4 4 5 6 7 8 9) - 4 -Actual values: #(0 1 2 1 2 5 6 7 8 9) - 4. - PSETF.1 PSETF.2 PSETF.3 PSETF.4 PSETF.5 PSETF.6 -Test PSETF.7 failed -Form: (SYMBOL-MACROLET ((X (AREF A (INCF I))) (Y (AREF A (INCF I)))) - (LET ((A (COPY-SEQ #(0 1 2 3 4 5 6 7 8 9))) (I 0)) - (PSETF X (AREF A (INCF I)) Y (AREF A (INCF I))) - (VALUES A I))) -Expected values: #(0 2 2 4 4 5 6 7 8 9) - 4 -Actual values: #(0 1 2 1 2 5 6 7 8 9) - 4. - PSETF.8 PSETF.9 AND.1 AND.2 AND.3 AND.4 AND.5 AND.6 AND.7 AND.8 AND.9 - AND.ORDER.1 AND.ORDER.2 APPLY.ERROR.1 APPLY.ERROR.2 APPLY.ERROR.3 - APPLY.ERROR.4 APPLY.1 APPLY.2 APPLY.3 APPLY.4 APPLY.5 APPLY.ORDER.1 - BLOCK.1 BLOCK.2 BLOCK.3 BLOCK.4 BLOCK.5 BLOCK.6 BLOCK.7 BLOCK.8 - BLOCK.9 BLOCK.10 CALL-ARGUMENTS-LIMIT.1 CALL-ARGUMENTS-LIMIT.2 - CALL-ARGUMENTS-LIMIT.3 CALL-ARGUMENTS-LIMIT.4 CALL-ARGUMENTS-LIMIT.5 - CASE.1 CASE.2 CASE.3 CASE.4 CASE.5 CASE.6 CASE.7 CASE.8 CASE.9 CASE.10 - CASE.11 CASE.12 CASE.13 CASE.14 CASE.15 CASE.16 CASE.17 CASE.18 - CASE.19 CASE.20 CASE.21 CASE.22 CASE.23 CASE.24 CASE.25 CASE.26 - CASE.27 CASE.28 CASE.29 CASE.30 CASE.31 CASE.32 CASE.33 CASE.34 - CATCH.1 CATCH.2 CATCH.3 CATCH.4 CATCH.5 CATCH.6 CATCH.7 CATCH.8 - CATCH.9 CATCH.10 CATCH.11 CATCH.12 -Test THROW-ERROR failed -Form: (CLASSIFY-ERROR (THROW (GENSYM) NIL)) -Expected value: CONTROL-ERROR -Actual value: ERROR. - CCASE.1 CCASE.2 CCASE.3 CCASE.4 CCASE.5 CCASE.6 CCASE.7 CCASE.8 - CCASE.9 CCASE.10 CCASE.11 CCASE.12 CCASE.13 CCASE.14 CCASE.15 CCASE.16 - CCASE.17 CCASE.19 CCASE.20 CCASE.21 CCASE.23 CCASE.25 CCASE.26 - CCASE.27 CCASE.28 CCASE.29 CCASE.30 CCASE.31 COMPILED-FUNCTION-P.1 - COMPILED-FUNCTION-P.2 COMPILED-FUNCTION-P.3 - COMPILED-FUNCTION-P.ORDER.1 COMPILED-FUNCTION-P.ERROR.1 - COMPILED-FUNCTION-P.ERROR.2 COMPLEMENT.1 COMPLEMENT.2 COMPLEMENT.3 - COMPLEMENT.4 COMPLEMENT.5 COMPLEMENT.ORDER.1 COMPLEMENT.ERROR.1 - COMPLEMENT.ERROR.2 COMPLEMENT.ERROR.3 COMPLEMENT.ERROR.4 COND.1 COND.2 - COND.3 COND.4 COND.5 COND.6 COND.7 COND.8 COND.9 COND.10 COND.11 - COND.12 COND.13 COND.14 CONSTANTLY.1 CONSTANTLY.2 CONSTANTLY.3 - CONSTANTLY.ERROR.1 CONSTANTLY.ERROR.2 CTYPECASE.1 CTYPECASE.2 - CTYPECASE.3 CTYPECASE.4 CTYPECASE.5 CTYPECASE.6 CTYPECASE.7 - CTYPECASE.8 CTYPECASE.9 CTYPECASE.10 CTYPECASE.11 CTYPECASE.12 - CTYPECASE.13 DEFCONSTANT.1 DEFCONSTANT.2 DEFCONSTANT.3 DEFCONSTANT.4 - DEFCONSTANT.5 DEFINE-MODIFY-MACRO.1 DEFINE-MODIFY-MACRO.2 - DEFINE-MODIFY-MACRO.3 DEFINE-MODIFY-MACRO.4 DEFPARAMETER.1 - DEFPARAMETER.2 DEFPARAMETER.3 DEFPARAMETER.4 DEFPARAMETER.5 DEFVAR.1 - DEFVAR.2 DEFVAR.3 DEFVAR.4 DEFVAR.5 DESTRUCTURING-BIND.1 - DESTRUCTURING-BIND.2 DESTRUCTURING-BIND.3 DESTRUCTURING-BIND.4 - DESTRUCTURING-BIND.5 DESTRUCTURING-BIND.6 DESTRUCTURING-BIND.7 - DESTRUCTURING-BIND.8 DESTRUCTURING-BIND.9 DESTRUCTURING-BIND.10 - DESTRUCTURING-BIND.11 DESTRUCTURING-BIND.12 DESTRUCTURING-BIND.13 - DESTRUCTURING-BIND.14 DESTRUCTURING-BIND.15 DESTRUCTURING-BIND.16 - DESTRUCTURING-BIND.17 DESTRUCTURING-BIND.18 ECASE.1 ECASE.2 ECASE.3 - ECASE.4 ECASE.5 ECASE.6 ECASE.7 ECASE.8 ECASE.9 ECASE.10 ECASE.11 - ECASE.12 ECASE.13 ECASE.14 ECASE.15 ECASE.16 ECASE.17 ECASE.18 - ECASE.19 ECASE.20 ECASE.21 ECASE.23 ECASE.25 ECASE.26 ECASE.27 - ECASE.28 ECASE.29 ECASE.31 ECASE.32 EQL.1 EQL.2 EQL.3 EQL.4 EQL.5 - EQL.7 EQL.8 EQL.9 EQL.10 EQL.11 EQL.ORDER.1 EQL.ERROR.1 EQL.ERROR.2 - EQL.ERROR.3 EQ.ERROR.1 EQ.ERROR.2 EQ.ERROR.3 EQUAL.1 EQUAL.2 EQUAL.3 - EQUAL.4 EQUAL.5 EQUAL.6 EQUAL.7 EQUAL.8 EQUAL.9 EQUAL.10 EQUAL.11 - EQUAL.12 EQUAL.ORDER.1 EQUAL.ERROR.1 EQUAL.ERROR.2 EQUAL.ERROR.3Doing 11799 pending tests of 11799 tests total. + COMPILE.1 COMPILE.2 COMPILE.3 COMPILE.4 COMPILE.5 COMPILE.6Doing 11799 pending tests of 11799 tests total. SYMBOL-&ALLOW-OTHER-KEYS SYMBOL-&AUX SYMBOL-&BODY SYMBOL-&ENVIRONMENT SYMBOL-&KEY SYMBOL-&OPTIONAL SYMBOL-&REST SYMBOL-&WHOLE SYMBOL-* SYMBOL-** SYMBOL-*** SYMBOL-*BREAK-ON-SIGNALS* @@ -15480,6 +15384,627 @@ PROG.10 PROG*.1 PROG*.2 PROG*.3 PROG*.4 PROG*.5 PROG*.6 PROG*.7 PROG*.8 PROG*.9 PROG*.10 PROG1.1 PROG1.2 PROG1.3 PROG1.4 PROG1.5 PROG2.1 PROG2.2 PROG2.3 PROG2.4 PROG2.5 PROG2.6 PROGN.1 PROGN.2 + PROGN.3 PROGN.4 PROGN.5 PROGN.6 PROGN.7 PROGV.1 PROGV.2 COMPILE.7 + COMPILE.8 COMPILE.9 +Test COMPILE.ERROR.1 failed +Form: (CLASSIFY-ERROR (COMPILE)) +Expected value: PROGRAM-ERROR +Actual value: ERROR. +Test COMPILE.ERROR.2 failed +Form: (CLASSIFY-ERROR (COMPILE NIL '(LAMBDA () NIL) 'GARBAGE)) +Expected value: PROGRAM-ERROR +Actual values: # + NIL + NIL. + CONSTANTP.ERROR.1 CONSTANTP.ERROR.2 CONSTANTP.1 CONSTANTP.2 + CONSTANTP.3 CONSTANTP.4 CONSTANTP.5 +Test CONSTANTP.6 failed +Form: (CONSTANTP-MACRO CONSTANTP-TEST-SYMBOL) +Expected value: T +Actual value: #. + CONSTANTP.7 +Test CONSTANTP.8 failed +Form: (NOTNOT-MV (CONSTANTP 1 NIL)) +Expected value: T +Actual value: #. + CONSTANTP.9 CONSTANTP.10 CONSTANTP.ORDER.1 +Test CONSTANTP.ORDER.2 failed +Form: (LET ((I 0) X Y) + (VALUES (NOTNOT (CONSTANTP (PROGN (SETF X (INCF I)) 1) + (PROGN (SETF Y (INCF I)) NIL))) + I X Y)) +Expected values: T + 2 + 1 + 2 +Actual value: #. + LAMBDA.1 LAMBDA.2 LAMBDA.3 LAMBDA.4 LAMBDA.5 LAMBDA.6 LAMBDA.7 + LAMBDA.8 LAMBDA.9 LAMBDA.10 LAMBDA.MACRO.1 LAMBDA.MACRO.2 +Test DCF-FUNS failed +Form: (REMOVE-IF #'FBOUNDP *DCF-FNS*) +Expected value: NIL +Actual value: (FUNCTION-LAMBDA-EXPRESSION). +Test DCF-MACROS failed +Form: (REMOVE-IF #'MACRO-FUNCTION *DCF-MACROS*) +Expected value: NIL +Actual value: (DEFINE-SETF-EXPANDER). + SETF-ORDER SETF-ORDER.2 PUSH-ORDER PUSHNEW-ORDER PUSHNEW-ORDER.2 + REMF-ORDER INCF-ORDER DECF-ORDER SHIFTF-ORDER.1 SHIFTF-ORDER.2 + ROTATEF-ORDER.1 ROTATEF-ORDER.2 PSETF-ORDER PSETF-ORDER.2 POP-ORDER + SETF-VAR SETF-VALUES.1 SETF-VALUES.2 SETF-VALUES.3 SETF-VALUES.4 +Test SETF-VALUES.5 failed +Form: (LET ((A (VECTOR NIL NIL)) (I 0) X Y Z) + (SETF (VALUES (AREF A (PROGN (SETF X (INCF I)) 0)) + (AREF A (PROGN (SETF Y (INCF I)) 1))) + (PROGN (SETF Z (INCF I)) (VALUES 'FOO 'BAR))) + (VALUES A I X Y Z)) +Expected values: #(FOO BAR) + 3 + 1 + 2 + 3 +Actual values: #(FOO BAR) + 3 + 2 + 3 + 1. + SETF-VALUES.6 SETF-THE.1 SETF-THE.2 SETF-APPLY.1 SETF-APPLY.2 + SETF-APPLY.3 SETF-APPLY.4 SETF-EXPANDER.1 SETF-MACRO.1 SETF-MACRO.2 + SETF-MACRO.3 SETF-MACRO.4 SETF-SYMBOL-MACRO.1 SETF-SYMBOL-MACRO.2 + SETF-SYMBOL-MACRO.3 SETQ.1 SETQ.2 SETQ.3 SETQ.4 SETF.1 SETF.2 SETF.3 + SETF.4 PSETQ.1 PSETQ.2 PSETQ.3 PSETQ.4 PSETQ.5 PSETQ.6 +Test PSETQ.7 failed +Form: (SYMBOL-MACROLET ((X (AREF A (INCF I))) (Y (AREF A (INCF I)))) + (LET ((A (COPY-SEQ #(0 1 2 3 4 5 6 7 8 9))) (I 0)) + (PSETQ X (AREF A (INCF I)) Y (AREF A (INCF I))) + (VALUES A I))) +Expected values: #(0 2 2 4 4 5 6 7 8 9) + 4 +Actual values: #(0 1 2 1 2 5 6 7 8 9) + 4. + PSETF.1 PSETF.2 PSETF.3 PSETF.4 PSETF.5 PSETF.6 +Test PSETF.7 failed +Form: (SYMBOL-MACROLET ((X (AREF A (INCF I))) (Y (AREF A (INCF I)))) + (LET ((A (COPY-SEQ #(0 1 2 3 4 5 6 7 8 9))) (I 0)) + (PSETF X (AREF A (INCF I)) Y (AREF A (INCF I))) + (VALUES A I))) +Expected values: #(0 2 2 4 4 5 6 7 8 9) + 4 +Actual values: #(0 1 2 1 2 5 6 7 8 9) + 4. + PSETF.8 PSETF.9 AND.1 AND.2 AND.3 AND.4 AND.5 AND.6 AND.7 AND.8 AND.9 + AND.ORDER.1 AND.ORDER.2 APPLY.ERROR.1 APPLY.ERROR.2 APPLY.ERROR.3 + APPLY.ERROR.4 APPLY.1 APPLY.2 APPLY.3 APPLY.4 APPLY.5 APPLY.ORDER.1 + BLOCK.1 BLOCK.2 BLOCK.3 BLOCK.4 BLOCK.5 BLOCK.6 BLOCK.7 BLOCK.8 + BLOCK.9 BLOCK.10 CALL-ARGUMENTS-LIMIT.1 CALL-ARGUMENTS-LIMIT.2 + CALL-ARGUMENTS-LIMIT.3 CALL-ARGUMENTS-LIMIT.4 CALL-ARGUMENTS-LIMIT.5 + CASE.1 CASE.2 CASE.3 CASE.4 CASE.5 CASE.6 CASE.7 CASE.8 CASE.9 CASE.10 + CASE.11 CASE.12 CASE.13 CASE.14 CASE.15 CASE.16 CASE.17 CASE.18 + CASE.19 CASE.20 CASE.21 CASE.22 CASE.23 CASE.24 CASE.25 CASE.26 + CASE.27 CASE.28 CASE.29 CASE.30 CASE.31 CASE.32 CASE.33 CASE.34 + CATCH.1 CATCH.2 CATCH.3 CATCH.4 CATCH.5 CATCH.6 CATCH.7 CATCH.8 + CATCH.9 CATCH.10 CATCH.11 CATCH.12 +Test THROW-ERROR failed +Form: (CLASSIFY-ERROR (THROW (GENSYM) NIL)) +Expected value: CONTROL-ERROR +Actual value: ERROR. + CCASE.1 CCASE.2 CCASE.3 CCASE.4 CCASE.5 CCASE.6 CCASE.7 CCASE.8 + CCASE.9 CCASE.10 CCASE.11 CCASE.12 CCASE.13 CCASE.14 CCASE.15 CCASE.16 + CCASE.17 CCASE.19 CCASE.20 CCASE.21 CCASE.23 CCASE.25 CCASE.26 + CCASE.27 CCASE.28 CCASE.29 CCASE.30 CCASE.31 COMPILED-FUNCTION-P.1 + COMPILED-FUNCTION-P.2 COMPILED-FUNCTION-P.3 + COMPILED-FUNCTION-P.ORDER.1 COMPILED-FUNCTION-P.ERROR.1 + COMPILED-FUNCTION-P.ERROR.2 COMPLEMENT.1 COMPLEMENT.2 COMPLEMENT.3 + COMPLEMENT.4 COMPLEMENT.5 COMPLEMENT.ORDER.1 COMPLEMENT.ERROR.1 + COMPLEMENT.ERROR.2 COMPLEMENT.ERROR.3 COMPLEMENT.ERROR.4 COND.1 COND.2 + COND.3 COND.4 COND.5 COND.6 COND.7 COND.8 COND.9 COND.10 COND.11 + COND.12 COND.13 COND.14 CONSTANTLY.1 CONSTANTLY.2 CONSTANTLY.3 + CONSTANTLY.ERROR.1 CONSTANTLY.ERROR.2 CTYPECASE.1 CTYPECASE.2 + CTYPECASE.3 CTYPECASE.4 CTYPECASE.5 CTYPECASE.6 CTYPECASE.7 + CTYPECASE.8 CTYPECASE.9 CTYPECASE.10 CTYPECASE.11 CTYPECASE.12 + CTYPECASE.13 DEFCONSTANT.1 DEFCONSTANT.2 DEFCONSTANT.3 DEFCONSTANT.4 + DEFCONSTANT.5 DEFINE-MODIFY-MACRO.1 DEFINE-MODIFY-MACRO.2 + DEFINE-MODIFY-MACRO.3 DEFINE-MODIFY-MACRO.4 DEFPARAMETER.1 + DEFPARAMETER.2 DEFPARAMETER.3 DEFPARAMETER.4 DEFPARAMETER.5 DEFVAR.1 + DEFVAR.2 DEFVAR.3 DEFVAR.4 DEFVAR.5 DESTRUCTURING-BIND.1 + DESTRUCTURING-BIND.2 DESTRUCTURING-BIND.3 DESTRUCTURING-BIND.4 + DESTRUCTURING-BIND.5 DESTRUCTURING-BIND.6 DESTRUCTURING-BIND.7 + DESTRUCTURING-BIND.8 DESTRUCTURING-BIND.9 DESTRUCTURING-BIND.10 + DESTRUCTURING-BIND.11 DESTRUCTURING-BIND.12 DESTRUCTURING-BIND.13 + DESTRUCTURING-BIND.14 DESTRUCTURING-BIND.15 DESTRUCTURING-BIND.16 + DESTRUCTURING-BIND.17 DESTRUCTURING-BIND.18 ECASE.1 ECASE.2 ECASE.3 + ECASE.4 ECASE.5 ECASE.6 ECASE.7 ECASE.8 ECASE.9 ECASE.10 ECASE.11 + ECASE.12 ECASE.13 ECASE.14 ECASE.15 ECASE.16 ECASE.17 ECASE.18 + ECASE.19 ECASE.20 ECASE.21 ECASE.23 ECASE.25 ECASE.26 ECASE.27 + ECASE.28 ECASE.29 ECASE.31 ECASE.32 EQL.1 EQL.2 EQL.3 EQL.4 EQL.5 + EQL.7 EQL.8 EQL.9 EQL.10 EQL.11 EQL.ORDER.1 EQL.ERROR.1 EQL.ERROR.2 + EQL.ERROR.3 EQ.ERROR.1 EQ.ERROR.2 EQ.ERROR.3 EQUAL.1 EQUAL.2 EQUAL.3 + EQUAL.4 EQUAL.5 EQUAL.6 EQUAL.7 EQUAL.8 EQUAL.9 EQUAL.10 EQUAL.11 + EQUAL.12 EQUAL.ORDER.1 EQUAL.ERROR.1 EQUAL.ERROR.2 EQUAL.ERROR.3 + EQUALP.1 EQUALP.2 EQUALP.3 EQUALP.4 EQUALP.ORDER.1 EQUALP.ERROR.1 + EQUALP.ERROR.2 EQUALP.ERROR.3 ETYPECASE.1 ETYPECASE.2 ETYPECASE.3 + ETYPECASE.4 ETYPECASE.5 ETYPECASE.6 ETYPECASE.7 ETYPECASE.8 + ETYPECASE.9 ETYPECASE.10 ETYPECASE.11 ETYPECASE.12 EVERY.1 EVERY.2 + EVERY.3 EVERY.4 EVERY.5 EVERY.6 EVERY.7 EVERY.8 EVERY.9 EVERY.10 + EVERY.11 EVERY.12 EVERY.13 EVERY.14 EVERY.15 EVERY.16 EVERY.ORDER.1 + EVERY.ORDER.2 EVERY.ERROR.1 EVERY.ERROR.2 EVERY.ERROR.3 EVERY.ERROR.4 + EVERY.ERROR.5 EVERY.ERROR.6 EVERY.ERROR.7 EVERY.ERROR.9 EVERY.ERROR.10 + EVERY.ERROR.11 EVERY.ERROR.12 EVERY.ERROR.13 FBOUNDP.1 FBOUNDP.2 + FBOUNDP.3 FBOUNDP.4 FBOUNDP.5 +Test FBOUNDP.6 failed +Form: (NOT-MV (FBOUNDP '(SETF FBOUNDP-6-ACCESSOR))) +Expected value: NIL +Actual value: #. +Test FBOUNDP.7 failed +Form: (LET ((G (GENSYM))) (FBOUNDP (LIST 'SETF G))) +Expected value: NIL +Actual value: #. + FBOUNDP.ORDER.1 FBOUNDP.ERROR.1 FBOUNDP.ERROR.2 FBOUNDP.ERROR.3 + FBOUNDP.ERROR.4 FBOUNDP.ERROR.5 FBOUNDP.ERROR.6 +Test FDEFINITION.ERROR.1 failed +Form: (CLASSIFY-ERROR (FDEFINITION)) +Expected value: PROGRAM-ERROR +Actual value: UNDEFINED-FUNCTION. +Test FDEFINITION.ERROR.2 failed +Form: (CLASSIFY-ERROR (FDEFINITION 'CONS NIL)) +Expected value: PROGRAM-ERROR +Actual value: UNDEFINED-FUNCTION. + FDEFINITION.ERROR.3 +Test FDEFINITION.ERROR.4 failed +Form: (CLASSIFY-ERROR (FDEFINITION 10)) +Expected value: TYPE-ERROR +Actual value: UNDEFINED-FUNCTION. + FDEFINITION.ERROR.5 +Test FDEFINITION.ERROR.6 failed +Form: (CLASSIFY-ERROR (LOCALLY (FDEFINITION 10) T)) +Expected value: TYPE-ERROR +Actual value: UNDEFINED-FUNCTION. +Test FDEFINITION.1 failed +Form: (LET ((FUN (FDEFINITION 'CONS))) (FUNCALL FUN 'A 'B)) +Expected value: (A . B) +Actual value: #. +Test FDEFINITION.2 failed +Form: (PROGN (FDEFINITION 'COND) :GOOD) +Expected value: :GOOD +Actual value: #. +Test FDEFINITION.3 failed +Form: (PROGN (FDEFINITION 'SETQ) :GOOD) +Expected value: :GOOD +Actual value: #. +Test FDEFINITION.4 failed +Form: (LET ((SYM (GENSYM))) + (VALUES (FBOUNDP SYM) + (PROGN + (SETF (FDEFINITION SYM) (FDEFINITION 'CONS)) + (FUNCALL (SYMBOL-FUNCTION SYM) 'A 'B)) + (NOTNOT (FBOUNDP SYM)))) +Expected values: NIL + (A . B) + T +Actual value: #. +Test FDEFINITION.5 failed +Form: (LET* ((SYM (GENSYM)) (FNAME (LIST 'SETF SYM))) + (VALUES (FBOUNDP FNAME) + (PROGN + (SETF (FDEFINITION FNAME) (FDEFINITION 'CONS)) + (EVAL (LIST 'SETF (LIST SYM ''A) ''B))) + (NOTNOT (FBOUNDP FNAME)))) +Expected values: NIL + (B . A) + T +Actual value: #. +Test FDEFINITION.ORDER.1 failed +Form: (LET ((I 0)) (FDEFINITION (PROGN (INCF I) 'SETQ)) I) +Expected value: 1 +Actual value: #. + FLET.1 FLET.2 FLET.3 FLET.4 FLET.5 FLET.6 FLET.7 FLET.8 FLET.9 FLET.10 + FLET.11 FLET.12 FLET.13 FLET.14 FLET.15 FLET.16 +Test FLET.17 failed +Form: (FLET (((SETF %F) (X Y) (SETF (CAR Y) X))) + (LET ((Z (LIST 1 2))) (SETF (%F Z) 'A) Z)) +Expected value: (A 2) +Actual value: #. + FLET.18 FLET.19 FLET.20 FLET.21 FLET.22 FLET.23 FLET.24 FLET.25 + FLET.26 FLET.27 FLET.28 FLET.29 FLET.30 FLET.31 FLET.32 FLET.33 + FLET.34 FLET.35 FLET.36 FLET.37 FLET.38 FLET.39 FLET.40 FLET.45 + FLET.46 FLET.47 FLET.48 FLET.49 FLET.50 +Test FLET.51 failed +Form: (LOOP + FOR + S + IN + *CL-NON-FUNCTION-MACRO-SPECIAL-OPERATOR-SYMBOLS* + FOR + FORM + = + (LIST 'CLASSIFY-ERROR + (LIST 'FLET + (LIST (LIST* (LIST 'SETF S) + '((&REST ARGS) (DECLARE (IGNORE ARGS)) + 'A))) + (LIST 'SETF (LIST S) 10))) + UNLESS + (EQ (EVAL FORM) 'A) + COLLECT + S) +Expected value: NIL +Actual value: (&ALLOW-OTHER-KEYS &AUX &BODY &ENVIRONMENT &KEY &OPTIONAL + &REST &WHOLE ** *** *BREAK-ON-SIGNALS* + *COMPILE-FILE-PATHNAME* *COMPILE-FILE-TRUENAME* + *COMPILE-PRINT* *COMPILE-VERBOSE* *DEBUG-IO* + *DEBUGGER-HOOK* *DEFAULT-PATHNAME-DEFAULTS* + *ERROR-OUTPUT* *FEATURES* *GENSYM-COUNTER* + *LOAD-PATHNAME* *LOAD-PRINT* *LOAD-TRUENAME* + *LOAD-VERBOSE* *MACROEXPAND-HOOK* *MODULES* *PACKAGE* + *PRINT-ARRAY* *PRINT-BASE* *PRINT-CASE* + *PRINT-CIRCLE* *PRINT-ESCAPE* *PRINT-GENSYM* + *PRINT-LENGTH* *PRINT-LEVEL* *PRINT-LINES* + *PRINT-MISER-WIDTH* *PRINT-PPRINT-DISPATCH* + *PRINT-PRETTY* *PRINT-RADIX* *PRINT-READABLY* + *PRINT-RIGHT-MARGIN* *QUERY-IO* *RANDOM-STATE* + *READ-BASE* *READ-DEFAULT-FLOAT-FORMAT* *READ-EVAL* + *READ-SUPPRESS* *READTABLE* *STANDARD-INPUT* + *STANDARD-OUTPUT* *TERMINAL-IO* *TRACE-OUTPUT* ++ +++ + // /// ARITHMETIC-ERROR ARRAY ARRAY-DIMENSION-LIMIT + ARRAY-RANK-LIMIT ARRAY-TOTAL-SIZE-LIMIT BASE-CHAR + BASE-STRING BIGNUM BIT-VECTOR BOOLE-1 BOOLE-2 + BOOLE-AND BOOLE-ANDC1 BOOLE-ANDC2 BOOLE-C1 BOOLE-C2 + BOOLE-CLR BOOLE-EQV BOOLE-IOR BOOLE-NAND BOOLE-NOR + BOOLE-ORC1 BOOLE-ORC2 BOOLE-SET BOOLE-XOR BOOLEAN + BROADCAST-STREAM BUILT-IN-CLASS CALL-ARGUMENTS-LIMIT + CELL-ERROR CHAR-CODE-LIMIT CLASS COMPILATION-SPEED + COMPILED-FUNCTION COMPILER-MACRO CONCATENATED-STREAM + CONDITION CONTROL-ERROR DEBUG DECLARATION + DIVISION-BY-ZERO DOUBLE-FLOAT DOUBLE-FLOAT-EPSILON + DOUBLE-FLOAT-NEGATIVE-EPSILON DYNAMIC-EXTENT + ECHO-STREAM ED END-OF-FILE EXTENDED-CHAR FILE-ERROR + FILE-STREAM FILE-STRING-LENGTH FILL FIXNUM + FLOATING-POINT-INEXACT + FLOATING-POINT-INVALID-OPERATION + FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW + FTYPE GENERIC-FUNCTION HASH-TABLE IGNORABLE IGNORE + INLINE INTEGER INTERNAL-TIME-UNITS-PER-SECOND KEYWORD + LAMBDA-LIST-KEYWORDS LAMBDA-PARAMETERS-LIMIT + LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-LONG-FLOAT + LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT + LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT + LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT + LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT + LEAST-NEGATIVE-SHORT-FLOAT + LEAST-NEGATIVE-SINGLE-FLOAT + LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-LONG-FLOAT + LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT + LEAST-POSITIVE-NORMALIZED-LONG-FLOAT + LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT + LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT + LEAST-POSITIVE-SHORT-FLOAT + LEAST-POSITIVE-SINGLE-FLOAT LONG-FLOAT + LONG-FLOAT-EPSILON LONG-FLOAT-NEGATIVE-EPSILON METHOD + METHOD-COMBINATION MOST-NEGATIVE-DOUBLE-FLOAT + MOST-NEGATIVE-FIXNUM MOST-NEGATIVE-LONG-FLOAT + MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT + MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-FIXNUM + MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SHORT-FLOAT + MOST-POSITIVE-SINGLE-FLOAT MULTIPLE-VALUES-LIMIT NIL + NOTINLINE NUMBER OPTIMIZE OTHERWISE PACKAGE + PACKAGE-ERROR PARSE-ERROR PI PRINT-NOT-READABLE + PROGRAM-ERROR RANDOM RANDOM-STATE RATIO READER-ERROR + READTABLE REAL RESTART SAFETY SATISFIES SEQUENCE + SERIOUS-CONDITION SHORT-FLOAT SHORT-FLOAT-EPSILON + SHORT-FLOAT-NEGATIVE-EPSILON SIGNED-BYTE SIMPLE-ARRAY + SIMPLE-BASE-STRING SIMPLE-BIT-VECTOR SIMPLE-CONDITION + SIMPLE-ERROR SIMPLE-STRING SIMPLE-TYPE-ERROR + SIMPLE-VECTOR SIMPLE-WARNING SINGLE-FLOAT + SINGLE-FLOAT-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON + SPACE SPECIAL SPEED STANDARD STANDARD-CHAR + STANDARD-CLASS STANDARD-GENERIC-FUNCTION + STANDARD-METHOD STANDARD-OBJECT STORAGE-CONDITION + STREAM STREAM-ERROR STRING-STREAM STRUCTURE + STRUCTURE-CLASS STRUCTURE-OBJECT STYLE-WARNING SYMBOL + SYNONYM-STREAM T TWO-WAY-STREAM TYPE TYPE-ERROR + UNBOUND-SLOT UNBOUND-VARIABLE UNDEFINED-FUNCTION + UNSIGNED-BYTE VARIABLE WARNING). + FMAKUNBOUND.1 FMAKUNBOUND.2 FMAKUNBOUND.3 +Test FMAKUNBOUND.4 failed +Form: (LET* ((G (GENSYM)) (N (LIST 'SETF G))) + (AND (NOT (FBOUNDP N)) (EVAL (LIST* 'DEFUN N '(NIL NIL))) + (FBOUNDP N) + (VALUES (EQUAL (CHECK-VALUES (FMAKUNBOUND N)) N) + (FBOUNDP N)))) +Expected values: T + NIL +Actual value: #. + FMAKUNBOUND.ERROR.1 FMAKUNBOUND.ERROR.2 FMAKUNBOUND.ERROR.3 + FMAKUNBOUND.ERROR.4 FMAKUNBOUND.ERROR.5 FMAKUNBOUND.ERROR.6 FUNCALL.1 + FUNCALL.2 FUNCALL.3 FUNCALL.4 FUNCALL.5 FUNCALL.6 FUNCALL.7 FUNCALL.8 + FUNCALL.9 FUNCALL.ORDER.1 FUNCALL.ORDER.2 FUNCALL.ERROR.1 + FUNCALL.ERROR.2 +Test FUNCALL.ERROR.3 failed +Form: (CLASSIFY-ERROR (FUNCALL 'DEFCONSTANT '(DEFCONSTANT X 10))) +Expected value: UNDEFINED-FUNCTION +Actual value: PROGRAM-ERROR. + FUNCALL.ERROR.4 FUNCALL.ERROR.5 FUNCALL.ERROR.6 FUNCALL.ERROR.7 +Test FUNCTION-LAMBDA-EXPRESSION.1 failed +Form: (LENGTH (MULTIPLE-VALUE-LIST (FUNCTION-LAMBDA-EXPRESSION #'CONS))) +Expected value: 3 +Actual value: #. +Test FUNCTION-LAMBDA-EXPRESSION.2 failed +Form: (LET ((X NIL)) + (FLET ((%F NIL X)) + (LET ((RET-VALS + (MULTIPLE-VALUE-LIST + (FUNCTION-LAMBDA-EXPRESSION #'%F)))) + (VALUES (LENGTH RET-VALS) (NOTNOT (SECOND RET-VALS)))))) +Expected values: 3 + T +Actual value: #. +Test FUNCTION-LAMBDA-EXPRESSION.ORDER.1 failed +Form: (LET ((I 0)) + (FUNCTION-LAMBDA-EXPRESSION (PROGN (INCF I) #'CONS)) + I) +Expected value: 1 +Actual value: #. +Test FUNCTION-LAMBDA-EXPRESSION.ERROR.1 failed +Form: (CLASSIFY-ERROR (FUNCTION-LAMBDA-EXPRESSION)) +Expected value: PROGRAM-ERROR +Actual value: UNDEFINED-FUNCTION. +Test FUNCTION-LAMBDA-EXPRESSION.ERROR.2 failed +Form: (CLASSIFY-ERROR (FUNCTION-LAMBDA-EXPRESSION #'CONS NIL)) +Expected value: PROGRAM-ERROR +Actual value: UNDEFINED-FUNCTION. + FUNCTION.1 +Test FUNCTION.2 failed +Form: (TYPEP 'IDENTITY 'FUNCTION) +Expected value: NIL +Actual value: T. + FUNCTION.3 FUNCTION.4 FUNCTION.5 +Test FUNCTION.6 failed +Form: (TYPEP '(LAMBDA (X) X) 'FUNCTION) +Expected value: NIL +Actual value: T. +Test FUNCTION.7 failed +Form: (NOT-MV (TYPEP #'(SETF FUNCTION-7-ACCESSOR) 'FUNCTION)) +Expected value: NIL +Actual value: #. + FUNCTION.8 FUNCTION.9 +Test FUNCTION.10 failed +Form: (LOOP + FOR + X + IN + *UNIVERSE* + WHEN + (AND (OR (NUMBERP X) (CHARACTERP X) (SYMBOLP X) (CONSP X) + (TYPEP X 'ARRAY)) + (TYPEP X 'FUNCTION)) + COLLECT + X) +Expected value: NIL +Actual value: (CONS (SYSTEM:LAMBDA-CLOSURE () () () (X) X)). + FUNCTION.11 FUNCTION.12 FUNCTION.13 FUNCTIONP.1 +Test FUNCTIONP.2 failed +Form: (FUNCTIONP 'IDENTITY) +Expected value: NIL +Actual value: T. + FUNCTIONP.3 FUNCTIONP.4 FUNCTIONP.5 +Test FUNCTIONP.6 failed +Form: (FUNCTIONP '(LAMBDA (X) X)) +Expected value: NIL +Actual value: T. +Test FUNCTIONP.7 failed +Form: (NOT-MV (FUNCTIONP #'(SETF FUNCTIONP-7-ACCESSOR))) +Expected value: NIL +Actual value: #. + FUNCTIONP.8 FUNCTIONP.9 +Test FUNCTIONP.10 failed +Form: (LOOP + FOR + X + IN + *UNIVERSE* + WHEN + (AND (OR (NUMBERP X) (CHARACTERP X) (SYMBOLP X) (CONSP X) + (TYPEP X 'ARRAY)) + (FUNCTIONP X)) + COLLECT + X) +Expected value: NIL +Actual value: (CONS (SYSTEM:LAMBDA-CLOSURE () () () (X) X)). + FUNCTIONP.11 FUNCTIONP.12 FUNCTIONP.ORDER.1 FUNCTIONP.ERROR.1 + FUNCTIONP.ERROR.2 GET-SETF-EXPANSION.ERROR.1 + GET-SETF-EXPANSION.ERROR.2 IDENTITY.1 IDENTITY.2 IDENTITY.3 + IDENTITY.ORDER.1 IDENTITY.ERROR.1 IDENTITY.ERROR.2 IF.1 IF.2 IF.3 IF.4 + IF.5 IF.6 IF.7 IF.ORDER.1 LABELS.1 LABELS.2 LABELS.3 LABELS.4 LABELS.5 + LABELS.6 LABELS.7 LABELS.8 LABELS.9 LABELS.10 LABELS.11 LABELS.12 + LABELS.13 LABELS.14 LABELS.15 LABELS.16 +Test LABELS.17 failed +Form: (LABELS (((SETF %F) (X Y) (SETF (CAR Y) X))) + (LET ((Z (LIST 1 2))) (SETF (%F Z) 'A) Z)) +Expected value: (A 2) +Actual value: #. + LABELS.7B LABELS.18 LABELS.19 LABELS.20 LABELS.21 LABELS.22 LABELS.23 + LABELS.24 LABELS.25 +Test LABELS.26 failed +Form: (LOOP + FOR + S + IN + *CL-NON-FUNCTION-MACRO-SPECIAL-OPERATOR-SYMBOLS* + FOR + FORM + = + (LIST 'CLASSIFY-ERROR + (LIST 'LABELS + (LIST (LIST* (LIST 'SETF S) + '((&REST ARGS) (DECLARE (IGNORE ARGS)) + 'A))) + (LIST 'SETF (LIST S) 10))) + UNLESS + (EQ (EVAL FORM) 'A) + COLLECT + S) +Expected value: NIL +Actual value: (&ALLOW-OTHER-KEYS &AUX &BODY &ENVIRONMENT &KEY &OPTIONAL + &REST &WHOLE ** *** *BREAK-ON-SIGNALS* + *COMPILE-FILE-PATHNAME* *COMPILE-FILE-TRUENAME* + *COMPILE-PRINT* *COMPILE-VERBOSE* *DEBUG-IO* + *DEBUGGER-HOOK* *DEFAULT-PATHNAME-DEFAULTS* + *ERROR-OUTPUT* *FEATURES* *GENSYM-COUNTER* + *LOAD-PATHNAME* *LOAD-PRINT* *LOAD-TRUENAME* + *LOAD-VERBOSE* *MACROEXPAND-HOOK* *MODULES* *PACKAGE* + *PRINT-ARRAY* *PRINT-BASE* *PRINT-CASE* + *PRINT-CIRCLE* *PRINT-ESCAPE* *PRINT-GENSYM* + *PRINT-LENGTH* *PRINT-LEVEL* *PRINT-LINES* + *PRINT-MISER-WIDTH* *PRINT-PPRINT-DISPATCH* + *PRINT-PRETTY* *PRINT-RADIX* *PRINT-READABLY* + *PRINT-RIGHT-MARGIN* *QUERY-IO* *RANDOM-STATE* + *READ-BASE* *READ-DEFAULT-FLOAT-FORMAT* *READ-EVAL* + *READ-SUPPRESS* *READTABLE* *STANDARD-INPUT* + *STANDARD-OUTPUT* *TERMINAL-IO* *TRACE-OUTPUT* ++ +++ + // /// ARITHMETIC-ERROR ARRAY ARRAY-DIMENSION-LIMIT + ARRAY-RANK-LIMIT ARRAY-TOTAL-SIZE-LIMIT BASE-CHAR + BASE-STRING BIGNUM BIT-VECTOR BOOLE-1 BOOLE-2 + BOOLE-AND BOOLE-ANDC1 BOOLE-ANDC2 BOOLE-C1 BOOLE-C2 + BOOLE-CLR BOOLE-EQV BOOLE-IOR BOOLE-NAND BOOLE-NOR + BOOLE-ORC1 BOOLE-ORC2 BOOLE-SET BOOLE-XOR BOOLEAN + BROADCAST-STREAM BUILT-IN-CLASS CALL-ARGUMENTS-LIMIT + CELL-ERROR CHAR-CODE-LIMIT CLASS COMPILATION-SPEED + COMPILED-FUNCTION COMPILER-MACRO CONCATENATED-STREAM + CONDITION CONTROL-ERROR DEBUG DECLARATION + DIVISION-BY-ZERO DOUBLE-FLOAT DOUBLE-FLOAT-EPSILON + DOUBLE-FLOAT-NEGATIVE-EPSILON DYNAMIC-EXTENT + ECHO-STREAM ED END-OF-FILE EXTENDED-CHAR FILE-ERROR + FILE-STREAM FILE-STRING-LENGTH FILL FIXNUM + FLOATING-POINT-INEXACT + FLOATING-POINT-INVALID-OPERATION + FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW + FTYPE GENERIC-FUNCTION HASH-TABLE IGNORABLE IGNORE + INLINE INTEGER INTERNAL-TIME-UNITS-PER-SECOND KEYWORD + LAMBDA-LIST-KEYWORDS LAMBDA-PARAMETERS-LIMIT + LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-LONG-FLOAT + LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT + LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT + LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT + LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT + LEAST-NEGATIVE-SHORT-FLOAT + LEAST-NEGATIVE-SINGLE-FLOAT + LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-LONG-FLOAT + LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT + LEAST-POSITIVE-NORMALIZED-LONG-FLOAT + LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT + LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT + LEAST-POSITIVE-SHORT-FLOAT + LEAST-POSITIVE-SINGLE-FLOAT LONG-FLOAT + LONG-FLOAT-EPSILON LONG-FLOAT-NEGATIVE-EPSILON METHOD + METHOD-COMBINATION MOST-NEGATIVE-DOUBLE-FLOAT + MOST-NEGATIVE-FIXNUM MOST-NEGATIVE-LONG-FLOAT + MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT + MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-FIXNUM + MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SHORT-FLOAT + MOST-POSITIVE-SINGLE-FLOAT MULTIPLE-VALUES-LIMIT NIL + NOTINLINE NUMBER OPTIMIZE OTHERWISE PACKAGE + PACKAGE-ERROR PARSE-ERROR PI PRINT-NOT-READABLE + PROGRAM-ERROR RANDOM RANDOM-STATE RATIO READER-ERROR + READTABLE REAL RESTART SAFETY SATISFIES SEQUENCE + SERIOUS-CONDITION SHORT-FLOAT SHORT-FLOAT-EPSILON + SHORT-FLOAT-NEGATIVE-EPSILON SIGNED-BYTE SIMPLE-ARRAY + SIMPLE-BASE-STRING SIMPLE-BIT-VECTOR SIMPLE-CONDITION + SIMPLE-ERROR SIMPLE-STRING SIMPLE-TYPE-ERROR + SIMPLE-VECTOR SIMPLE-WARNING SINGLE-FLOAT + SINGLE-FLOAT-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON + SPACE SPECIAL SPEED STANDARD STANDARD-CHAR + STANDARD-CLASS STANDARD-GENERIC-FUNCTION + STANDARD-METHOD STANDARD-OBJECT STORAGE-CONDITION + STREAM STREAM-ERROR STRING-STREAM STRUCTURE + STRUCTURE-CLASS STRUCTURE-OBJECT STYLE-WARNING SYMBOL + SYNONYM-STREAM T TWO-WAY-STREAM TYPE TYPE-ERROR + UNBOUND-SLOT UNBOUND-VARIABLE UNDEFINED-FUNCTION + UNSIGNED-BYTE VARIABLE WARNING). + LAMBDA-LIST-KEYWORDS.1 LAMBDA-LIST-KEYWORDS.2 LAMBDA-LIST-KEYWORDS.3 + LAMBDA-LIST-KEYWORDS.4 LAMBDA-LIST-KEYWORDS.5 + LAMBDA-PARAMETERS-LIMIT.1 LAMBDA-PARAMETERS-LIMIT.2 LET.1 LET.2 LET.3 + LET.4 LET.5 LET.6 LET.7 LET.9 LET.11 LET.14 LET.15 LET*.1 LET*.2 + LET*.3 LET*.4 LET*.5 LET*.6 LET*.7 LET*.8 LET*.9 LET*.10 LET*.11 + LET*.12 LET*.14 LET*.15 MACROLET.1 MACROLET.2 MACROLET.3 MACROLET.4 +Test MACROLET.5 failed +Form: (LET ((X NIL)) + (MACROLET + ((%M ((&WHOLE W ARG)) + (LIST 'PROGN (LIST 'SETQ 'X (LIST 'QUOTE W)) ARG))) + (VALUES (%M (1)) X))) +Expected values: 1 + (1) +Actual value: #. + MACROLET.6 MACROLET.7 MACROLET.8 MACROLET.9 MACROLET.10 MACROLET.11 + MACROLET.12 +Test MACROLET.13 failed +Form: (SYMBOL-MACROLET ((A B)) + (MACROLET + ((FOO (X &ENVIRONMENT ENV) + (LET ((Y (MACROEXPAND X ENV))) (IF (EQ Y 'A) 1 2)))) + (FOO A))) +Expected value: 2 +Actual value: 1. +Test MACROLET.14 failed +Form: (SYMBOL-MACROLET ((A B)) + (MACROLET + ((FOO (X &ENVIRONMENT ENV) + (LET ((Y (MACROEXPAND-1 X ENV))) + (IF (EQ Y 'A) 1 2)))) + (FOO A))) +Expected value: 2 +Actual value: 1. + MACROLET.15 MACROLET.16 SYMBOL-MACROLET.1 MULTIPLE-VALUE-BIND.1 + MULTIPLE-VALUE-BIND.2 MULTIPLE-VALUE-BIND.3 MULTIPLE-VALUE-BIND.4 + MULTIPLE-VALUE-BIND.5 MULTIPLE-VALUE-BIND.6 MULTIPLE-VALUE-BIND.7 + MULTIPLE-VALUE-CALL.1 MULTIPLE-VALUE-CALL.2 MULTIPLE-VALUE-CALL.3 + MULTIPLE-VALUE-LIST.1 MULTIPLE-VALUE-LIST.2 MULTIPLE-VALUE-LIST.3 + MULTIPLE-VALUE-LIST.4 MULTIPLE-VALUE-PROG1.1 MULTIPLE-VALUE-PROG1.2 + MULTIPLE-VALUE-PROG1.3 MULTIPLE-VALUE-PROG1.4 MULTIPLE-VALUE-PROG1.5 + MULTIPLE-VALUE-PROG1.6 MULTIPLE-VALUE-PROG1.7 MULTIPLE-VALUE-PROG1.8 + MULTIPLE-VALUE-PROG1.9 MULTIPLE-VALUE-SETQ.1 MULTIPLE-VALUE-SETQ.2 + MULTIPLE-VALUE-SETQ.3 MULTIPLE-VALUE-SETQ.4 +Test MULTIPLE-VALUE-SETQ.5 failed +Form: (LET ((I 0) (X (LIST NIL))) + (SYMBOL-MACROLET ((Y (CAR (PROGN (INCF I) X)))) + (MULTIPLE-VALUE-SETQ (Y) I)) + X) +Expected value: (1) +Actual value: (0). + MULTIPLE-VALUE-SETQ.6 MULTIPLE-VALUE-SETQ.7 +Test MULTIPLE-VALUE-SETQ.8 failed +Form: (LET ((X (LIST NIL)) (Z (LIST NIL)) (I 0)) + (SYMBOL-MACROLET + ((Y (CAR (PROGN (INCF I 3) X))) + (W (CAR (PROGN (INCF I I) Z)))) + (MULTIPLE-VALUE-SETQ (Y W) (VALUES I 10))) + (VALUES X Z)) +Expected values: (6) + (10) +Actual values: (0) + (10). + MULTIPLE-VALUE-SETQ.9 MULTIPLE-VALUE-SETQ.10 MULTIPLE-VALUE-SETQ.11 + MULTIPLE-VALUE-SETQ.12 NIL.1 NIL.2 NIL.3 NIL.4 NIL.5 NIL.6 NIL.7 NIL.8 + NULL.1 NULL.2 NULL.3 NULL.4 NULL.ERROR.1 NULL.ERROR.2 NOT.1 NOT.2 + NOT.3 NOT.4 NOT.ERROR.1 NOT.ERROR.2 NOTANY.1 NOTANY.2 NOTANY.3 + NOTANY.4 NOTANY.5 NOTANY.6 NOTANY.7 NOTANY.8 NOTANY.9 NOTANY.10 + NOTANY.11 NOTANY.12 NOTANY.13 NOTANY.14 NOTANY.15 NOTANY.16 + NOTANY.ORDER.1 NOTANY.ERROR.1 NOTANY.ERROR.2 NOTANY.ERROR.3 + NOTANY.ERROR.4 NOTANY.ERROR.5 NOTANY.ERROR.6 NOTANY.ERROR.7 + NOTANY.ERROR.8 NOTANY.ERROR.9 NOTANY.ERROR.10 NOTANY.ERROR.11 + NOTANY.ERROR.12 NOTANY.ERROR.13 NOTEVERY.1 NOTEVERY.2 NOTEVERY.3 + NOTEVERY.4 NOTEVERY.5 NOTEVERY.6 NOTEVERY.7 NOTEVERY.8 NOTEVERY.9 + NOTEVERY.10 NOTEVERY.11 NOTEVERY.12 NOTEVERY.13 NOTEVERY.14 + NOTEVERY.15 NOTEVERY.16 NOTEVERY.ORDER.1 NOTEVERY.ERROR.1 + NOTEVERY.ERROR.2 NOTEVERY.ERROR.3 NOTEVERY.ERROR.4 NOTEVERY.ERROR.5 + NOTEVERY.ERROR.6 NOTEVERY.ERROR.7 NOTEVERY.ERROR.8 NOTEVERY.ERROR.9 + NOTEVERY.ERROR.10 NOTEVERY.ERROR.11 NOTEVERY.ERROR.12 + NOTEVERY.ERROR.13 NTH-VALUE.1 NTH-VALUE.2 NTH-VALUE.3 NTH-VALUE.4 + NTH-VALUE.5 NTH-VALUE.ORDER.1 OR.1 OR.2 OR.3 OR.4 OR.5 OR.6 OR.7 OR.8 + OR.9 PROG.1 PROG.2 PROG.3 PROG.4 PROG.5 PROG.6 PROG.7 PROG.8 PROG.9 + PROG.10 PROG*.1 PROG*.2 PROG*.3 PROG*.4 PROG*.5 PROG*.6 PROG*.7 + PROG*.8 PROG*.9 PROG*.10 PROG1.1 PROG1.2 PROG1.3 PROG1.4 PROG1.5 + PROG2.1 PROG2.2 PROG2.3 PROG2.4 PROG2.5 PROG2.6 PROGN.1 PROGN.2 PROGN.3 PROGN.4 PROGN.5 PROGN.6 PROGN.7 PROGV.1 PROGV.2 PROGV.3 PROGV.4 PROGV.5 PROGV.6 PROGV.6A PROGV.7 PROGV.8 PROGV.9 PROGV.10 SOME.1 SOME.2 SOME.3 SOME.4 SOME.5 SOME.6 SOME.7 SOME.8 SOME.9 SOME.10 @@ -16530,492 +17055,17 @@ UNION.1 UNION.2 UNION.3 UNION-4 UNION.5 UNION.6 UNION.6-A UNION.7 UNION.8 UNION.9 UNION.10 UNION.11 UNION.12 UNION.13 UNION.14 UNION.15 UNION.16 UNION.17 UNION.18 UNION.19 UNION.20 UNION.21 UNION.22 - UNION.23 - EQUALP.1 EQUALP.2 EQUALP.3 EQUALP.4 EQUALP.ORDER.1 EQUALP.ERROR.1 - EQUALP.ERROR.2 EQUALP.ERROR.3 ETYPECASE.1 ETYPECASE.2 ETYPECASE.3 - ETYPECASE.4 ETYPECASE.5 ETYPECASE.6 ETYPECASE.7 ETYPECASE.8 - ETYPECASE.9 ETYPECASE.10 ETYPECASE.11 ETYPECASE.12 EVERY.1 EVERY.2 - EVERY.3 EVERY.4 EVERY.5 EVERY.6 EVERY.7 EVERY.8 EVERY.9 EVERY.10 - EVERY.11 EVERY.12 EVERY.13 EVERY.14 EVERY.15 EVERY.16 EVERY.ORDER.1 - EVERY.ORDER.2 EVERY.ERROR.1 EVERY.ERROR.2 EVERY.ERROR.3 EVERY.ERROR.4 - EVERY.ERROR.5 EVERY.ERROR.6 EVERY.ERROR.7 EVERY.ERROR.9 EVERY.ERROR.10 - EVERY.ERROR.11 EVERY.ERROR.12 EVERY.ERROR.13 FBOUNDP.1 FBOUNDP.2 - FBOUNDP.3 FBOUNDP.4 FBOUNDP.5 -Test FBOUNDP.6 failed -Form: (NOT-MV (FBOUNDP '(SETF FBOUNDP-6-ACCESSOR))) -Expected value: NIL -Actual value: #. -Test FBOUNDP.7 failed -Form: (LET ((G (GENSYM))) (FBOUNDP (LIST 'SETF G))) -Expected value: NIL -Actual value: #. - FBOUNDP.ORDER.1 FBOUNDP.ERROR.1 FBOUNDP.ERROR.2 FBOUNDP.ERROR.3 - FBOUNDP.ERROR.4 FBOUNDP.ERROR.5 FBOUNDP.ERROR.6 -Test FDEFINITION.ERROR.1 failed -Form: (CLASSIFY-ERROR (FDEFINITION)) -Expected value: PROGRAM-ERROR -Actual value: UNDEFINED-FUNCTION. -Test FDEFINITION.ERROR.2 failed -Form: (CLASSIFY-ERROR (FDEFINITION 'CONS NIL)) -Expected value: PROGRAM-ERROR -Actual value: UNDEFINED-FUNCTION. - FDEFINITION.ERROR.3 -Test FDEFINITION.ERROR.4 failed -Form: (CLASSIFY-ERROR (FDEFINITION 10)) -Expected value: TYPE-ERROR -Actual value: UNDEFINED-FUNCTION. - FDEFINITION.ERROR.5 -Test FDEFINITION.ERROR.6 failed -Form: (CLASSIFY-ERROR (LOCALLY (FDEFINITION 10) T)) -Expected value: TYPE-ERROR -Actual value: UNDEFINED-FUNCTION. -Test FDEFINITION.1 failed -Form: (LET ((FUN (FDEFINITION 'CONS))) (FUNCALL FUN 'A 'B)) -Expected value: (A . B) -Actual value: #. -Test FDEFINITION.2 failed -Form: (PROGN (FDEFINITION 'COND) :GOOD) -Expected value: :GOOD -Actual value: #. -Test FDEFINITION.3 failed -Form: (PROGN (FDEFINITION 'SETQ) :GOOD) -Expected value: :GOOD -Actual value: #. -Test FDEFINITION.4 failed -Form: (LET ((SYM (GENSYM))) - (VALUES (FBOUNDP SYM) - (PROGN - (SETF (FDEFINITION SYM) (FDEFINITION 'CONS)) - (FUNCALL (SYMBOL-FUNCTION SYM) 'A 'B)) - (NOTNOT (FBOUNDP SYM)))) -Expected values: NIL - (A . B) - T -Actual value: #. -Test FDEFINITION.5 failed -Form: (LET* ((SYM (GENSYM)) (FNAME (LIST 'SETF SYM))) - (VALUES (FBOUNDP FNAME) - (PROGN - (SETF (FDEFINITION FNAME) (FDEFINITION 'CONS)) - (EVAL (LIST 'SETF (LIST SYM ''A) ''B))) - (NOTNOT (FBOUNDP FNAME)))) -Expected values: NIL - (B . A) - T -Actual value: #. -Test FDEFINITION.ORDER.1 failed -Form: (LET ((I 0)) (FDEFINITION (PROGN (INCF I) 'SETQ)) I) -Expected value: 1 -Actual value: #. - FLET.1 FLET.2 FLET.3 FLET.4 FLET.5 FLET.6 FLET.7 FLET.8 FLET.9 FLET.10 - FLET.11 FLET.12 FLET.13 FLET.14 FLET.15 FLET.16 -Test FLET.17 failed -Form: (FLET (((SETF %F) (X Y) (SETF (CAR Y) X))) - (LET ((Z (LIST 1 2))) (SETF (%F Z) 'A) Z)) -Expected value: (A 2) -Actual value: #. - FLET.18 FLET.19 FLET.20 FLET.21 FLET.22 FLET.23 FLET.24 FLET.25 - FLET.26 FLET.27 FLET.28 FLET.29 FLET.30 FLET.31 FLET.32 FLET.33 - FLET.34 FLET.35 FLET.36 FLET.37 FLET.38 FLET.39 FLET.40 FLET.45 - FLET.46 FLET.47 FLET.48 FLET.49 FLET.50 -Test FLET.51 failed -Form: (LOOP - FOR - S - IN - *CL-NON-FUNCTION-MACRO-SPECIAL-OPERATOR-SYMBOLS* - FOR - FORM - = - (LIST 'CLASSIFY-ERROR - (LIST 'FLET - (LIST (LIST* (LIST 'SETF S) - '((&REST ARGS) (DECLARE (IGNORE ARGS)) - 'A))) - (LIST 'SETF (LIST S) 10))) - UNLESS - (EQ (EVAL FORM) 'A) - COLLECT - S) -Expected value: NIL -Actual value: (&ALLOW-OTHER-KEYS &AUX &BODY &ENVIRONMENT &KEY &OPTIONAL - &REST &WHOLE ** *** *BREAK-ON-SIGNALS* - *COMPILE-FILE-PATHNAME* *COMPILE-FILE-TRUENAME* - *COMPILE-PRINT* *COMPILE-VERBOSE* *DEBUG-IO* - *DEBUGGER-HOOK* *DEFAULT-PATHNAME-DEFAULTS* - *ERROR-OUTPUT* *FEATURES* *GENSYM-COUNTER* - *LOAD-PATHNAME* *LOAD-PRINT* *LOAD-TRUENAME* - *LOAD-VERBOSE* *MACROEXPAND-HOOK* *MODULES* *PACKAGE* - *PRINT-ARRAY* *PRINT-BASE* *PRINT-CASE* - *PRINT-CIRCLE* *PRINT-ESCAPE* *PRINT-GENSYM* - *PRINT-LENGTH* *PRINT-LEVEL* *PRINT-LINES* - *PRINT-MISER-WIDTH* *PRINT-PPRINT-DISPATCH* - *PRINT-PRETTY* *PRINT-RADIX* *PRINT-READABLY* - *PRINT-RIGHT-MARGIN* *QUERY-IO* *RANDOM-STATE* - *READ-BASE* *READ-DEFAULT-FLOAT-FORMAT* *READ-EVAL* - *READ-SUPPRESS* *READTABLE* *STANDARD-INPUT* - *STANDARD-OUTPUT* *TERMINAL-IO* *TRACE-OUTPUT* ++ +++ - // /// ARITHMETIC-ERROR ARRAY ARRAY-DIMENSION-LIMIT - ARRAY-RANK-LIMIT ARRAY-TOTAL-SIZE-LIMIT BASE-CHAR - BASE-STRING BIGNUM BIT-VECTOR BOOLE-1 BOOLE-2 - BOOLE-AND BOOLE-ANDC1 BOOLE-ANDC2 BOOLE-C1 BOOLE-C2 - BOOLE-CLR BOOLE-EQV BOOLE-IOR BOOLE-NAND BOOLE-NOR - BOOLE-ORC1 BOOLE-ORC2 BOOLE-SET BOOLE-XOR BOOLEAN - BROADCAST-STREAM BUILT-IN-CLASS CALL-ARGUMENTS-LIMIT - CELL-ERROR CHAR-CODE-LIMIT CLASS COMPILATION-SPEED - COMPILED-FUNCTION COMPILER-MACRO CONCATENATED-STREAM - CONDITION CONTROL-ERROR DEBUG DECLARATION - DIVISION-BY-ZERO DOUBLE-FLOAT DOUBLE-FLOAT-EPSILON - DOUBLE-FLOAT-NEGATIVE-EPSILON DYNAMIC-EXTENT - ECHO-STREAM ED END-OF-FILE EXTENDED-CHAR FILE-ERROR - FILE-STREAM FILE-STRING-LENGTH FILL FIXNUM - FLOATING-POINT-INEXACT - FLOATING-POINT-INVALID-OPERATION - FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW - FTYPE GENERIC-FUNCTION HASH-TABLE IGNORABLE IGNORE - INLINE INTEGER INTERNAL-TIME-UNITS-PER-SECOND KEYWORD - LAMBDA-LIST-KEYWORDS LAMBDA-PARAMETERS-LIMIT - LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-LONG-FLOAT - LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT - LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT - LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT - LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT - LEAST-NEGATIVE-SHORT-FLOAT - LEAST-NEGATIVE-SINGLE-FLOAT - LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-LONG-FLOAT - LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT - LEAST-POSITIVE-NORMALIZED-LONG-FLOAT - LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT - LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT - LEAST-POSITIVE-SHORT-FLOAT - LEAST-POSITIVE-SINGLE-FLOAT LONG-FLOAT - LONG-FLOAT-EPSILON LONG-FLOAT-NEGATIVE-EPSILON METHOD - METHOD-COMBINATION MOST-NEGATIVE-DOUBLE-FLOAT - MOST-NEGATIVE-FIXNUM MOST-NEGATIVE-LONG-FLOAT - MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT - MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-FIXNUM - MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SHORT-FLOAT - MOST-POSITIVE-SINGLE-FLOAT MULTIPLE-VALUES-LIMIT NIL - NOTINLINE NUMBER OPTIMIZE OTHERWISE PACKAGE - PACKAGE-ERROR PARSE-ERROR PI PRINT-NOT-READABLE - PROGRAM-ERROR RANDOM RANDOM-STATE RATIO READER-ERROR - READTABLE REAL RESTART SAFETY SATISFIES SEQUENCE - SERIOUS-CONDITION SHORT-FLOAT SHORT-FLOAT-EPSILON - SHORT-FLOAT-NEGATIVE-EPSILON SIGNED-BYTE SIMPLE-ARRAY - SIMPLE-BASE-STRING SIMPLE-BIT-VECTOR SIMPLE-CONDITION - SIMPLE-ERROR SIMPLE-STRING SIMPLE-TYPE-ERROR - SIMPLE-VECTOR SIMPLE-WARNING SINGLE-FLOAT - SINGLE-FLOAT-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON - SPACE SPECIAL SPEED STANDARD STANDARD-CHAR - STANDARD-CLASS STANDARD-GENERIC-FUNCTION - STANDARD-METHOD STANDARD-OBJECT STORAGE-CONDITION - STREAM STREAM-ERROR STRING-STREAM STRUCTURE - STRUCTURE-CLASS STRUCTURE-OBJECT STYLE-WARNING SYMBOL - SYNONYM-STREAM T TWO-WAY-STREAM TYPE TYPE-ERROR - UNBOUND-SLOT UNBOUND-VARIABLE UNDEFINED-FUNCTION - UNSIGNED-BYTE VARIABLE WARNING). - FMAKUNBOUND.1 FMAKUNBOUND.2 FMAKUNBOUND.3 -Test FMAKUNBOUND.4 failed -Form: (LET* ((G (GENSYM)) (N (LIST 'SETF G))) - (AND (NOT (FBOUNDP N)) (EVAL (LIST* 'DEFUN N '(NIL NIL))) - (FBOUNDP N) - (VALUES (EQUAL (CHECK-VALUES (FMAKUNBOUND N)) N) - (FBOUNDP N)))) -Expected values: T - NIL -Actual value: #. - FMAKUNBOUND.ERROR.1 FMAKUNBOUND.ERROR.2 FMAKUNBOUND.ERROR.3 - FMAKUNBOUND.ERROR.4 FMAKUNBOUND.ERROR.5 FMAKUNBOUND.ERROR.6 FUNCALL.1 - FUNCALL.2 FUNCALL.3 FUNCALL.4 FUNCALL.5 FUNCALL.6 FUNCALL.7 FUNCALL.8 - FUNCALL.9 FUNCALL.ORDER.1 FUNCALL.ORDER.2 FUNCALL.ERROR.1 - FUNCALL.ERROR.2 -Test FUNCALL.ERROR.3 failed -Form: (CLASSIFY-ERROR (FUNCALL 'DEFCONSTANT '(DEFCONSTANT X 10))) -Expected value: UNDEFINED-FUNCTION -Actual value: PROGRAM-ERROR. - FUNCALL.ERROR.4 FUNCALL.ERROR.5 FUNCALL.ERROR.6 FUNCALL.ERROR.7 -Test FUNCTION-LAMBDA-EXPRESSION.1 failed -Form: (LENGTH (MULTIPLE-VALUE-LIST (FUNCTION-LAMBDA-EXPRESSION #'CONS))) -Expected value: 3 -Actual value: #. -Test FUNCTION-LAMBDA-EXPRESSION.2 failed -Form: (LET ((X NIL)) - (FLET ((%F NIL X)) - (LET ((RET-VALS - (MULTIPLE-VALUE-LIST - (FUNCTION-LAMBDA-EXPRESSION #'%F)))) - (VALUES (LENGTH RET-VALS) (NOTNOT (SECOND RET-VALS)))))) -Expected values: 3 - T -Actual value: #. -Test FUNCTION-LAMBDA-EXPRESSION.ORDER.1 failed -Form: (LET ((I 0)) - (FUNCTION-LAMBDA-EXPRESSION (PROGN (INCF I) #'CONS)) - I) -Expected value: 1 -Actual value: #. -Test FUNCTION-LAMBDA-EXPRESSION.ERROR.1 failed -Form: (CLASSIFY-ERROR (FUNCTION-LAMBDA-EXPRESSION)) -Expected value: PROGRAM-ERROR -Actual value: UNDEFINED-FUNCTION. -Test FUNCTION-LAMBDA-EXPRESSION.ERROR.2 failed -Form: (CLASSIFY-ERROR (FUNCTION-LAMBDA-EXPRESSION #'CONS NIL)) -Expected value: PROGRAM-ERROR -Actual value: UNDEFINED-FUNCTION. - FUNCTION.1 -Test FUNCTION.2 failed -Form: (TYPEP 'IDENTITY 'FUNCTION) -Expected value: NIL -Actual value: T. - FUNCTION.3 FUNCTION.4 FUNCTION.5 -Test FUNCTION.6 failed -Form: (TYPEP '(LAMBDA (X) X) 'FUNCTION) -Expected value: NIL -Actual value: T. -Test FUNCTION.7 failed -Form: (NOT-MV (TYPEP #'(SETF FUNCTION-7-ACCESSOR) 'FUNCTION)) -Expected value: NIL -Actual value: #. - FUNCTION.8 FUNCTION.9 -Test FUNCTION.10 failed -Form: (LOOP - FOR - X - IN - *UNIVERSE* - WHEN - (AND (OR (NUMBERP X) (CHARACTERP X) (SYMBOLP X) (CONSP X) - (TYPEP X 'ARRAY)) - (TYPEP X 'FUNCTION)) - COLLECT - X) -Expected value: NIL -Actual value: (CONS (SYSTEM:LAMBDA-CLOSURE () () () (X) X)). - FUNCTION.11 FUNCTION.12 FUNCTION.13 FUNCTIONP.1 -Test FUNCTIONP.2 failed -Form: (FUNCTIONP 'IDENTITY) -Expected value: NIL -Actual value: T. - FUNCTIONP.3 FUNCTIONP.4 FUNCTIONP.5 -Test FUNCTIONP.6 failed -Form: (FUNCTIONP '(LAMBDA (X) X)) -Expected value: NIL -Actual value: T. -Test FUNCTIONP.7 failed -Form: (NOT-MV (FUNCTIONP #'(SETF FUNCTIONP-7-ACCESSOR))) -Expected value: NIL -Actual value: #. - FUNCTIONP.8 FUNCTIONP.9 -Test FUNCTIONP.10 failed -Form: (LOOP - FOR - X - IN - *UNIVERSE* - WHEN - (AND (OR (NUMBERP X) (CHARACTERP X) (SYMBOLP X) (CONSP X) - (TYPEP X 'ARRAY)) - (FUNCTIONP X)) - COLLECT - X) -Expected value: NIL -Actual value: (CONS (SYSTEM:LAMBDA-CLOSURE () () () (X) X)). - FUNCTIONP.11 FUNCTIONP.12 FUNCTIONP.ORDER.1 FUNCTIONP.ERROR.1 - FUNCTIONP.ERROR.2 GET-SETF-EXPANSION.ERROR.1 - GET-SETF-EXPANSION.ERROR.2 IDENTITY.1 IDENTITY.2 IDENTITY.3 - IDENTITY.ORDER.1 IDENTITY.ERROR.1 IDENTITY.ERROR.2 IF.1 IF.2 IF.3 IF.4 - IF.5 IF.6 IF.7 IF.ORDER.1 LABELS.1 LABELS.2 LABELS.3 LABELS.4 LABELS.5 - LABELS.6 LABELS.7 LABELS.8 LABELS.9 LABELS.10 LABELS.11 LABELS.12 - LABELS.13 LABELS.14 LABELS.15 LABELS.16 -Test LABELS.17 failed -Form: (LABELS (((SETF %F) (X Y) (SETF (CAR Y) X))) - (LET ((Z (LIST 1 2))) (SETF (%F Z) 'A) Z)) -Expected value: (A 2) -Actual value: #. - LABELS.7B LABELS.18 LABELS.19 LABELS.20 LABELS.21 LABELS.22 LABELS.23 - LABELS.24 LABELS.25 -Test LABELS.26 failed -Form: (LOOP - FOR - S - IN - *CL-NON-FUNCTION-MACRO-SPECIAL-OPERATOR-SYMBOLS* - FOR - FORM - = - (LIST 'CLASSIFY-ERROR - (LIST 'LABELS - (LIST (LIST* (LIST 'SETF S) - '((&REST ARGS) (DECLARE (IGNORE ARGS)) - 'A))) - (LIST 'SETF (LIST S) 10))) - UNLESS - (EQ (EVAL FORM) 'A) - COLLECT - S) -Expected value: NIL -Actual value: (&ALLOW-OTHER-KEYS &AUX &BODY &ENVIRONMENT &KEY &OPTIONAL - &REST &WHOLE ** *** *BREAK-ON-SIGNALS* - *COMPILE-FILE-PATHNAME* *COMPILE-FILE-TRUENAME* - *COMPILE-PRINT* *COMPILE-VERBOSE* *DEBUG-IO* - *DEBUGGER-HOOK* *DEFAULT-PATHNAME-DEFAULTS* - *ERROR-OUTPUT* *FEATURES* *GENSYM-COUNTER* - *LOAD-PATHNAME* *LOAD-PRINT* *LOAD-TRUENAME* - *LOAD-VERBOSE* *MACROEXPAND-HOOK* *MODULES* *PACKAGE* - *PRINT-ARRAY* *PRINT-BASE* *PRINT-CASE* - *PRINT-CIRCLE* *PRINT-ESCAPE* *PRINT-GENSYM* - *PRINT-LENGTH* *PRINT-LEVEL* *PRINT-LINES* - *PRINT-MISER-WIDTH* *PRINT-PPRINT-DISPATCH* - *PRINT-PRETTY* *PRINT-RADIX* *PRINT-READABLY* - *PRINT-RIGHT-MARGIN* *QUERY-IO* *RANDOM-STATE* - *READ-BASE* *READ-DEFAULT-FLOAT-FORMAT* *READ-EVAL* - *READ-SUPPRESS* *READTABLE* *STANDARD-INPUT* - *STANDARD-OUTPUT* *TERMINAL-IO* *TRACE-OUTPUT* ++ +++ - // /// ARITHMETIC-ERROR ARRAY ARRAY-DIMENSION-LIMIT - ARRAY-RANK-LIMIT ARRAY-TOTAL-SIZE-LIMIT BASE-CHAR - BASE-STRING BIGNUM BIT-VECTOR BOOLE-1 BOOLE-2 - BOOLE-AND BOOLE-ANDC1 BOOLE-ANDC2 BOOLE-C1 BOOLE-C2 - BOOLE-CLR BOOLE-EQV BOOLE-IOR BOOLE-NAND BOOLE-NOR - BOOLE-ORC1 BOOLE-ORC2 BOOLE-SET BOOLE-XOR BOOLEAN - BROADCAST-STREAM BUILT-IN-CLASS CALL-ARGUMENTS-LIMIT - CELL-ERROR CHAR-CODE-LIMIT CLASS COMPILATION-SPEED - COMPILED-FUNCTION COMPILER-MACRO CONCATENATED-STREAM - CONDITION CONTROL-ERROR DEBUG DECLARATION - DIVISION-BY-ZERO DOUBLE-FLOAT DOUBLE-FLOAT-EPSILON - DOUBLE-FLOAT-NEGATIVE-EPSILON DYNAMIC-EXTENT - ECHO-STREAM ED END-OF-FILE EXTENDED-CHAR FILE-ERROR - FILE-STREAM FILE-STRING-LENGTH FILL FIXNUM - FLOATING-POINT-INEXACT - FLOATING-POINT-INVALID-OPERATION - FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW - FTYPE GENERIC-FUNCTION HASH-TABLE IGNORABLE IGNORE - INLINE INTEGER INTERNAL-TIME-UNITS-PER-SECOND KEYWORD - LAMBDA-LIST-KEYWORDS LAMBDA-PARAMETERS-LIMIT - LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-LONG-FLOAT - LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT - LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT - LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT - LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT - LEAST-NEGATIVE-SHORT-FLOAT - LEAST-NEGATIVE-SINGLE-FLOAT - LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-LONG-FLOAT - LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT - LEAST-POSITIVE-NORMALIZED-LONG-FLOAT - LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT - LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT - LEAST-POSITIVE-SHORT-FLOAT - LEAST-POSITIVE-SINGLE-FLOAT LONG-FLOAT - LONG-FLOAT-EPSILON LONG-FLOAT-NEGATIVE-EPSILON METHOD - METHOD-COMBINATION MOST-NEGATIVE-DOUBLE-FLOAT - MOST-NEGATIVE-FIXNUM MOST-NEGATIVE-LONG-FLOAT - MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT - MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-FIXNUM - MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SHORT-FLOAT - MOST-POSITIVE-SINGLE-FLOAT MULTIPLE-VALUES-LIMIT NIL - NOTINLINE NUMBER OPTIMIZE OTHERWISE PACKAGE - PACKAGE-ERROR PARSE-ERROR PI PRINT-NOT-READABLE - PROGRAM-ERROR RANDOM RANDOM-STATE RATIO READER-ERROR - READTABLE REAL RESTART SAFETY SATISFIES SEQUENCE - SERIOUS-CONDITION SHORT-FLOAT SHORT-FLOAT-EPSILON - SHORT-FLOAT-NEGATIVE-EPSILON SIGNED-BYTE SIMPLE-ARRAY - SIMPLE-BASE-STRING SIMPLE-BIT-VECTOR SIMPLE-CONDITION - SIMPLE-ERROR SIMPLE-STRING SIMPLE-TYPE-ERROR - SIMPLE-VECTOR SIMPLE-WARNING SINGLE-FLOAT - SINGLE-FLOAT-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON - SPACE SPECIAL SPEED STANDARD STANDARD-CHAR - STANDARD-CLASS STANDARD-GENERIC-FUNCTION - STANDARD-METHOD STANDARD-OBJECT STORAGE-CONDITION - STREAM STREAM-ERROR STRING-STREAM STRUCTURE - STRUCTURE-CLASS STRUCTURE-OBJECT STYLE-WARNING SYMBOL - SYNONYM-STREAM T TWO-WAY-STREAM TYPE TYPE-ERROR - UNBOUND-SLOT UNBOUND-VARIABLE UNDEFINED-FUNCTION - UNSIGNED-BYTE VARIABLE WARNING). - LAMBDA-LIST-KEYWORDS.1 LAMBDA-LIST-KEYWORDS.2 LAMBDA-LIST-KEYWORDS.3 - LAMBDA-LIST-KEYWORDS.4 LAMBDA-LIST-KEYWORDS.5 - LAMBDA-PARAMETERS-LIMIT.1 LAMBDA-PARAMETERS-LIMIT.2 LET.1 LET.2 LET.3 - LET.4 LET.5 LET.6 LET.7 LET.9 LET.11 LET.14 LET.15 LET*.1 LET*.2 - LET*.3 LET*.4 LET*.5 LET*.6 LET*.7 LET*.8 LET*.9 LET*.10 LET*.11 - LET*.12 LET*.14 LET*.15 MACROLET.1 MACROLET.2 MACROLET.3 MACROLET.4 -Test MACROLET.5 failed -Form: (LET ((X NIL)) - (MACROLET - ((%M ((&WHOLE W ARG)) - (LIST 'PROGN (LIST 'SETQ 'X (LIST 'QUOTE W)) ARG))) - (VALUES (%M (1)) X))) -Expected values: 1 - (1) -Actual value: #. - MACROLET.6 MACROLET.7 MACROLET.8 MACROLET.9 MACROLET.10 MACROLET.11 - MACROLET.12 -Test MACROLET.13 failed -Form: (SYMBOL-MACROLET ((A B)) - (MACROLET - ((FOO (X &ENVIRONMENT ENV) - (LET ((Y (MACROEXPAND X ENV))) (IF (EQ Y 'A) 1 2)))) - (FOO A))) -Expected value: 2 -Actual value: 1. -Test MACROLET.14 failed -Form: (SYMBOL-MACROLET ((A B)) - (MACROLET - ((FOO (X &ENVIRONMENT ENV) - (LET ((Y (MACROEXPAND-1 X ENV))) - (IF (EQ Y 'A) 1 2)))) - (FOO A))) -Expected value: 2 -Actual value: 1. - MACROLET.15 MACROLET.16 SYMBOL-MACROLET.1 MULTIPLE-VALUE-BIND.1 - MULTIPLE-VALUE-BIND.2 MULTIPLE-VALUE-BIND.3 MULTIPLE-VALUE-BIND.4 - MULTIPLE-VALUE-BIND.5 MULTIPLE-VALUE-BIND.6 MULTIPLE-VALUE-BIND.7 - MULTIPLE-VALUE-CALL.1 MULTIPLE-VALUE-CALL.2 MULTIPLE-VALUE-CALL.3 - MULTIPLE-VALUE-LIST.1 MULTIPLE-VALUE-LIST.2 MULTIPLE-VALUE-LIST.3 - MULTIPLE-VALUE-LIST.4 MULTIPLE-VALUE-PROG1.1 MULTIPLE-VALUE-PROG1.2 - MULTIPLE-VALUE-PROG1.3 MULTIPLE-VALUE-PROG1.4 MULTIPLE-VALUE-PROG1.5 - MULTIPLE-VALUE-PROG1.6 MULTIPLE-VALUE-PROG1.7 MULTIPLE-VALUE-PROG1.8 - MULTIPLE-VALUE-PROG1.9 MULTIPLE-VALUE-SETQ.1 MULTIPLE-VALUE-SETQ.2 - MULTIPLE-VALUE-SETQ.3 MULTIPLE-VALUE-SETQ.4 -Test MULTIPLE-VALUE-SETQ.5 failed -Form: (LET ((I 0) (X (LIST NIL))) - (SYMBOL-MACROLET ((Y (CAR (PROGN (INCF I) X)))) - (MULTIPLE-VALUE-SETQ (Y) I)) - X) -Expected value: (1) -Actual value: (0). - MULTIPLE-VALUE-SETQ.6 MULTIPLE-VALUE-SETQ.7 -Test MULTIPLE-VALUE-SETQ.8 failed -Form: (LET ((X (LIST NIL)) (Z (LIST NIL)) (I 0)) - (SYMBOL-MACROLET - ((Y (CAR (PROGN (INCF I 3) X))) - (W (CAR (PROGN (INCF I I) Z)))) - (MULTIPLE-VALUE-SETQ (Y W) (VALUES I 10))) - (VALUES X Z)) -Expected values: (6) - (10) -Actual values: (0) - (10). - MULTIPLE-VALUE-SETQ.9 MULTIPLE-VALUE-SETQ.10 MULTIPLE-VALUE-SETQ.11 - MULTIPLE-VALUE-SETQ.12 NIL.1 NIL.2 NIL.3 NIL.4 NIL.5 NIL.6 NIL.7 NIL.8 - NULL.1 NULL.2 NULL.3 NULL.4 NULL.ERROR.1 NULL.ERROR.2 NOT.1 NOT.2 - NOT.3 NOT.4 NOT.ERROR.1 NOT.ERROR.2 NOTANY.1 NOTANY.2 NOTANY.3 - NOTANY.4 NOTANY.5 NOTANY.6 NOTANY.7 NOTANY.8 NOTANY.9 NOTANY.10 - NOTANY.11 NOTANY.12 NOTANY.13 NOTANY.14 NOTANY.15 NOTANY.16 - NOTANY.ORDER.1 NOTANY.ERROR.1 NOTANY.ERROR.2 NOTANY.ERROR.3 - NOTANY.ERROR.4 NOTANY.ERROR.5 NOTANY.ERROR.6 NOTANY.ERROR.7 - NOTANY.ERROR.8 NOTANY.ERROR.9 NOTANY.ERROR.10 NOTANY.ERROR.11 - NOTANY.ERROR.12 NOTANY.ERROR.13 NOTEVERY.1 NOTEVERY.2 NOTEVERY.3 - NOTEVERY.4 NOTEVERY.5 NOTEVERY.6 NOTEVERY.7 NOTEVERY.8 NOTEVERY.9 - NOTEVERY.10 NOTEVERY.11 NOTEVERY.12 NOTEVERY.13 NOTEVERY.14 - NOTEVERY.15 NOTEVERY.16 NOTEVERY.ORDER.1 NOTEVERY.ERROR.1 - NOTEVERY.ERROR.2 NOTEVERY.ERROR.3 NOTEVERY.ERROR.4 NOTEVERY.ERROR.5 - NOTEVERY.ERROR.6 NOTEVERY.ERROR.7 NOTEVERY.ERROR.8 NOTEVERY.ERROR.9 - NOTEVERY.ERROR.10 NOTEVERY.ERROR.11 NOTEVERY.ERROR.12 - NOTEVERY.ERROR.13 NTH-VALUE.1 NTH-VALUE.2 NTH-VALUE.3 NTH-VALUE.4 - NTH-VALUE.5 NTH-VALUE.ORDER.1 OR.1 OR.2 OR.3 OR.4 OR.5 OR.6 OR.7 OR.8 - OR.9 PROG.1 PROG.2 PROG.3 PROG.4 PROG.5 PROG.6 PROG.7 PROG.8 PROG.9 - PROG.10 PROG*.1 PROG*.2 PROG*.3 PROG*.4 PROG*.5 PROG*.6 PROG*.7 - PROG*.8 PROG*.9 PROG*.10 PROG1.1 PROG1.2 PROG1.3 PROG1.4 PROG1.5 - PROG2.1 PROG2.2 PROG2.3 PROG2.4 PROG2.5 PROG2.6 PROGN.1 PROGN.2 - PROGN.3 PROGN.4 PROGN.5 PROGN.6 PROGN.7 PROGV.1 PROGV.2 PROGV.3 + UNION.23 UNION.24 UNION.25 UNION.26 UNION.27 UNION.28 UNION.29 + UNION.30 UNION.31 UNION.ORDER.1 UNION.ORDER.2 UNION.ORDER.3 + UNION.ALLOW-OTHER-KEYS.1 UNION.ALLOW-OTHER-KEYS.2 + UNION.ALLOW-OTHER-KEYS.3 UNION.ALLOW-OTHER-KEYS.4 + UNION.ALLOW-OTHER-KEYS.5 UNION.ALLOW-OTHER-KEYS.6 + UNION.ALLOW-OTHER-KEYS.7 UNION.KEYWORDS.9 UNION.ERROR.1 UNION.ERROR.2 + UNION.ERROR.3 UNION.ERROR.4 UNION.ERROR.5 UNION.ERROR.6 UNION.ERROR.7 + UNION.ERROR.8 UNION.ERROR.9 UNION.ERROR.10 NUNION.1 NUNION.2 NUNION.3 + NUNION.4 NUNION.5 NUNION.6 NUNION.6-A NUNION.7 NUNION.8 NUNION.9 + NUNION.10 NUNION.11 NUNION.12 NUNION.13 NUNION.14 NUNION.15 NUNION.16 + NUNION.17 NUNION.18 NUNION.19 NUNION.20 NUNION.21 NUNION.22 NUNION.23 PROGV.3 PROGV.4 PROGV.5 PROGV.6 PROGV.6A PROGV.7 PROGV.8 PROGV.9 PROGV.10 SOME.1 SOME.2 SOME.3 SOME.4 SOME.5 SOME.6 SOME.7 SOME.8 SOME.9 SOME.10 SOME.11 SOME.12 SOME.13 SOME.14 SOME.15 SOME.16 SOME.ORDER.1 @@ -18120,17 +18170,7 @@ SET-EXCLUSIVE-OR.5 SET-EXCLUSIVE-OR.6 SET-EXCLUSIVE-OR.7 SET-EXCLUSIVE-OR.7-A SET-EXCLUSIVE-OR.8 SET-EXCLUSIVE-OR.8-A SET-EXCLUSIVE-OR.8-B SET-EXCLUSIVE-OR.9 SET-EXCLUSIVE-OR.10 - SET-EXCLUSIVE-OR.11 SET-EXCLUSIVE-OR.12 UNION.24 UNION.25 UNION.26 UNION.27 UNION.28 UNION.29 - UNION.30 UNION.31 UNION.ORDER.1 UNION.ORDER.2 UNION.ORDER.3 - UNION.ALLOW-OTHER-KEYS.1 UNION.ALLOW-OTHER-KEYS.2 - UNION.ALLOW-OTHER-KEYS.3 UNION.ALLOW-OTHER-KEYS.4 - UNION.ALLOW-OTHER-KEYS.5 UNION.ALLOW-OTHER-KEYS.6 - UNION.ALLOW-OTHER-KEYS.7 UNION.KEYWORDS.9 UNION.ERROR.1 UNION.ERROR.2 - UNION.ERROR.3 UNION.ERROR.4 UNION.ERROR.5 UNION.ERROR.6 UNION.ERROR.7 - UNION.ERROR.8 UNION.ERROR.9 UNION.ERROR.10 NUNION.1 NUNION.2 NUNION.3 - NUNION.4 NUNION.5 NUNION.6 NUNION.6-A NUNION.7 NUNION.8 NUNION.9 - NUNION.10 NUNION.11 NUNION.12 NUNION.13 NUNION.14 NUNION.15 NUNION.16 - NUNION.17 NUNION.18 NUNION.19 NUNION.20 NUNION.21 NUNION.22 NUNION.23 + SET-EXCLUSIVE-OR.11 SET-EXCLUSIVE-OR.12 NUNION.24 NUNION.25 NUNION.26 NUNION.27 NUNION.28 NUNION.29 NUNION.30 NUNION.31 NUNION.ORDER.1 NUNION.ORDER.2 NUNION.ORDER.3 NUNION.ALLOW-OTHER-KEYS.1 NUNION.ALLOW-OTHER-KEYS.2 @@ -18195,383 +18235,7 @@ NSET-EXCLUSIVE-OR.6 NSET-EXCLUSIVE-OR.7 NSET-EXCLUSIVE-OR.7-A NSET-EXCLUSIVE-OR.8 NSET-EXCLUSIVE-OR.8-A NSET-EXCLUSIVE-OR.8-B NSET-EXCLUSIVE-OR.9 NSET-EXCLUSIVE-OR.10 NSET-EXCLUSIVE-OR.11 - NSET-EXCLUSIVE-OR.12 NSET-EXCLUSIVE-OR.13 NSET-EXCLUSIVE-OR.14 - NSET-EXCLUSIVE-OR.15 NSET-EXCLUSIVE-OR.16 NSET-EXCLUSIVE-OR.17 - NSET-EXCLUSIVE-OR.17-A NSET-EXCLUSIVE-OR.18 NSET-EXCLUSIVE-OR.18-A - NSET-EXCLUSIVE-OR.ORDER.1 NSET-EXCLUSIVE-OR.ORDER.2 - NSET-EXCLUSIVE-OR.ORDER.3 NSET-EXCLUSIVE-OR.ORDER.4 - NSET-EXCLUSIVE-OR.ORDER.5 NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.1 - NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.2 NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.3 - NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.4 NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.5 - NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.6 NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.7 - NSET-EXCLUSIVE.KEYWORDS.8 NSET-EXCLUSIVE.KEYWORDS.9 - NSET-EXCLUSIVE-OR.ERROR.1 NSET-EXCLUSIVE-OR.ERROR.2 - NSET-EXCLUSIVE-OR.ERROR.3 NSET-EXCLUSIVE-OR.ERROR.4 - NSET-EXCLUSIVE-OR.ERROR.5 NSET-EXCLUSIVE-OR.ERROR.6 - NSET-EXCLUSIVE-OR.ERROR.7 NSET-EXCLUSIVE-OR.ERROR.8 - NSET-EXCLUSIVE-OR.ERROR.9 NSET-EXCLUSIVE-OR.ERROR.10 SUBSETP.1 - SUBSETP.2 SUBSETP.3 SUBSETP.4 SUBSETP.5 SUBSETP.6 SUBSETP.7 SUBSETP.8 - SUBSETP.9 SUBSETP.10 SUBSETP.11 SUBSETP.12 SUBSETP.13 SUBSETP.14 - SUBSETP.15 SUBSETP.ORDER.1 SUBSETP.ORDER.2 SUBSETP.ORDER.3 - SUBSETP.ALLOW-OTHER-KEYS.1 SUBSETP.ALLOW-OTHER-KEYS.2 - SUBSETP.ALLOW-OTHER-KEYS.3 SUBSETP.ALLOW-OTHER-KEYS.4 - SUBSETP.ALLOW-OTHER-KEYS.5 SUBSETP.ALLOW-OTHER-KEYS.6 - SUBSETP.KEYWORDS.7 SUBSETP.KEYWORDS.8 SUBSETP.ERROR.1 SUBSETP.ERROR.2 - SUBSETP.ERROR.3 SUBSETP.ERROR.4 SUBSETP.ERROR.5 SUBSETP.ERROR.6 - SUBSETP.ERROR.7 SUBSETP.ERROR.8 SUBSETP.ERROR.9 SUBSETP.ERROR.10 - CAR-SET-ALT CDR-SET-ALT CAAR-SET-ALT CADR-SET-ALT CDAR-SET-ALT - CDDR-SET-ALT CAAAR-SET-ALT CAADR-SET-ALT CADAR-SET-ALT CADDR-SET-ALT - CDAAR-SET-ALT CDADR-SET-ALT CDDAR-SET-ALT CDDDR-SET-ALT CAAAAR-SET-ALT - CAAADR-SET-ALT CAADAR-SET-ALT CAADDR-SET-ALT CADAAR-SET-ALT - CADADR-SET-ALT CADDAR-SET-ALT CADDDR-SET-ALT CDAAAR-SET-ALT - CDAADR-SET-ALT CDADAR-SET-ALT CDADDR-SET-ALT CDDAAR-SET-ALT - CDDADR-SET-ALT CDDDAR-SET-ALT CDDDDR-SET-ALT FIRST-SET-ALT - SECOND-SET-ALT THIRD-SET-ALT FOURTH-SET-ALT FIFTH-SET-ALT - SIXTH-SET-ALT SEVENTH-SET-ALT EIGHTH-SET-ALT NINTH-SET-ALT - TENTH-SET-ALT AREF.1 AREF.2 AREF.3 AREF.4 AREF.5 AREF.6 AREF.7 - AREF.ORDER.1 AREF.ORDER.2 SETF-AREF.1 SETF-AREF.2 SETF-AREF.3 - SETF-AREF.4 SETF-AREF.5 SETF-AREF.6 SETF-AREF.7 SETF-AREF.ORDER.1 - AREF.ERROR.1 AREF.ERROR.2 ARRAY.1.1 ARRAY.1.2 ARRAY.1.3 ARRAY.1.4 - ARRAY.1.5 ARRAY.1.6 ARRAY.1.7 ARRAY.1.8 ARRAY.1.9 ARRAY.1.10 - ARRAY.1.11 ARRAY.1.12 ARRAY.1.13 ARRAY.2.1 ARRAY.2.2 ARRAY.2.3 - ARRAY.2.4 ARRAY.2.5 ARRAY.2.6 ARRAY.3.1 ARRAY.3.2 ARRAY.3.3 ARRAY.3.4 - ARRAY.3.5 ARRAY.3.6 ARRAY.4.1 ARRAY.4.2 ARRAY.4.3 ARRAY.4.4 ARRAY.4.5 - ARRAY.4.6 ARRAY.5.1 ARRAY.5.2 ARRAY.5.3 ARRAY.5.4 ARRAY.5.5 ARRAY.5.6 - ARRAY.6.1 ARRAY.6.2 ARRAY.6.3 ARRAY.6.4 ARRAY.6.5 ARRAY.6.6 ARRAY.7.1 - ARRAY.7.2 ARRAY.7.3 ARRAY.7.4 ARRAY.7.5 ARRAY.7.6 ARRAY.8.1 ARRAY.8.2 - ARRAY.8.3 ARRAY.8.4 ARRAY.8.5 ARRAY.8.6 ARRAY.8.7 ARRAY.8.8 ARRAY.8.9 - ARRAY.8.10 ARRAY.8.11 ARRAY.8.12 ARRAY.8.13 ARRAY.8.14 ARRAY.9.1 - ARRAY.9.2 ARRAY.9.3 ARRAY.9.4 ARRAY.9.5 ARRAY.9.6 ARRAY.9.7 ARRAY.9.8 - ARRAY.9.9 ARRAY.9.10 ARRAY.9.11 ARRAY.9.12 ARRAY.9.13 ARRAY-T.2.1 - ARRAY-T.2.2 ARRAY-T.2.3 ARRAY-T.2.4 ARRAY-T.2.5 ARRAY-T.2.6 - ARRAY-T.3.1 ARRAY-T.3.2 ARRAY-T.3.3 ARRAY-T.3.4 ARRAY-T.3.5 - ARRAY-T.3.6 ARRAY-T.4.1 ARRAY-T.4.2 ARRAY-T.4.3 ARRAY-T.4.4 - ARRAY-T.4.5 ARRAY-T.4.6 ARRAY-T.5.1 ARRAY-T.5.2 ARRAY-T.5.3 - ARRAY-T.5.4 ARRAY-T.5.5 ARRAY-T.5.6 ARRAY-T.6.1 ARRAY-T.6.2 - ARRAY-T.6.3 ARRAY-T.6.4 ARRAY-T.6.5 ARRAY-T.6.6 ARRAY-T.7.1 - ARRAY-T.7.2 ARRAY-T.7.3 ARRAY-T.7.4 ARRAY-T.7.5 ARRAY-T.7.6 - ARRAY-T.8.1 ARRAY-T.8.2 ARRAY-T.8.3 ARRAY-T.8.4 ARRAY-T.8.5 - ARRAY-T.8.6 ARRAY-T.8.7 ARRAY-T.8.8 ARRAY-T.8.9 ARRAY-T.8.10 - ARRAY-T.8.11 ARRAY-T.8.12 ARRAY-T.8.13 ARRAY-T.8.14 ARRAY-T.9.1 - ARRAY-T.9.2 ARRAY-T.9.3 ARRAY-T.9.4 ARRAY-T.9.5 ARRAY-T.9.6 - ARRAY-T.9.7 ARRAY-T.9.8 ARRAY-T.9.9 ARRAY-T.9.10 ARRAY-T.9.11 - ARRAY-T.9.12 ARRAY-T.9.13 ARRAY-AS-CLASS.1 ARRAY-AS-CLASS.2 - ARRAY-AS-CLASS.3 ARRAY-AS-CLASS.4 ARRAY-AS-CLASS.5 ARRAY-AS-CLASS.6 -Test ARRAY-AS-CLASS.7 failed -Form: (SUBTYPEP* 'ARRAY (FIND-CLASS 'ARRAY)) -Expected values: T - T -Actual values: NIL - T. -Test ARRAY-AS-CLASS.8 failed -Form: (SUBTYPEP* (FIND-CLASS 'ARRAY) 'ARRAY) -Expected values: T - T -Actual values: NIL - T. - ARRAY-AS-CLASS.9 ARRAY-AS-CLASS.10 ARRAY-AS-CLASS.11 ARRAY-AS-CLASS.12 - ARRAY-AS-CLASS.13 ARRAY-AS-CLASS.14 ARRAY-AS-CLASS.15 SIMPLE-ARRAY.1.1 - SIMPLE-ARRAY.1.2 SIMPLE-ARRAY.1.3 SIMPLE-ARRAY.1.4 SIMPLE-ARRAY.1.5 - SIMPLE-ARRAY.1.6 SIMPLE-ARRAY.1.7 SIMPLE-ARRAY.1.8 SIMPLE-ARRAY.1.9 - SIMPLE-ARRAY.1.10 SIMPLE-ARRAY.1.11 SIMPLE-ARRAY.1.12 - SIMPLE-ARRAY.1.13 SIMPLE-ARRAY.2.1 SIMPLE-ARRAY.2.2 SIMPLE-ARRAY.2.3 - SIMPLE-ARRAY.2.4 SIMPLE-ARRAY.2.5 SIMPLE-ARRAY.2.6 SIMPLE-ARRAY.3.1 - SIMPLE-ARRAY.3.2 SIMPLE-ARRAY.3.3 SIMPLE-ARRAY.3.4 SIMPLE-ARRAY.3.5 - SIMPLE-ARRAY.3.6 SIMPLE-ARRAY.4.1 SIMPLE-ARRAY.4.2 SIMPLE-ARRAY.4.3 - SIMPLE-ARRAY.4.4 SIMPLE-ARRAY.4.5 SIMPLE-ARRAY.4.6 SIMPLE-ARRAY.5.1 - SIMPLE-ARRAY.5.2 SIMPLE-ARRAY.5.3 SIMPLE-ARRAY.5.4 SIMPLE-ARRAY.5.5 - SIMPLE-ARRAY.5.6 SIMPLE-ARRAY.6.1 SIMPLE-ARRAY.6.2 SIMPLE-ARRAY.6.3 - SIMPLE-ARRAY.6.4 SIMPLE-ARRAY.6.5 SIMPLE-ARRAY.6.6 SIMPLE-ARRAY.7.1 - SIMPLE-ARRAY.7.2 SIMPLE-ARRAY.7.3 SIMPLE-ARRAY.7.4 SIMPLE-ARRAY.7.5 - SIMPLE-ARRAY.7.6 SIMPLE-ARRAY.8.1 SIMPLE-ARRAY.8.2 SIMPLE-ARRAY.8.3 - SIMPLE-ARRAY.8.4 SIMPLE-ARRAY.8.5 SIMPLE-ARRAY.8.6 SIMPLE-ARRAY.8.7 - SIMPLE-ARRAY.8.8 SIMPLE-ARRAY.8.9 SIMPLE-ARRAY.8.10 SIMPLE-ARRAY.8.11 - SIMPLE-ARRAY.8.12 SIMPLE-ARRAY.8.13 SIMPLE-ARRAY.8.14 SIMPLE-ARRAY.9.1 - SIMPLE-ARRAY.9.2 SIMPLE-ARRAY.9.3 SIMPLE-ARRAY.9.4 SIMPLE-ARRAY.9.5 - SIMPLE-ARRAY.9.6 SIMPLE-ARRAY.9.7 SIMPLE-ARRAY.9.8 SIMPLE-ARRAY.9.9 - SIMPLE-ARRAY.9.10 SIMPLE-ARRAY.9.11 SIMPLE-ARRAY.9.12 - SIMPLE-ARRAY.9.13 SIMPLE-ARRAY-T.2.1 SIMPLE-ARRAY-T.2.2 - SIMPLE-ARRAY-T.2.3 SIMPLE-ARRAY-T.2.4 SIMPLE-ARRAY-T.2.5 - SIMPLE-ARRAY-T.2.6 SIMPLE-ARRAY-T.3.1 SIMPLE-ARRAY-T.3.2 - SIMPLE-ARRAY-T.3.3 SIMPLE-ARRAY-T.3.4 SIMPLE-ARRAY-T.3.5 - SIMPLE-ARRAY-T.3.6 SIMPLE-ARRAY-T.4.1 SIMPLE-ARRAY-T.4.2 - SIMPLE-ARRAY-T.4.3 SIMPLE-ARRAY-T.4.4 SIMPLE-ARRAY-T.4.5 - SIMPLE-ARRAY-T.4.6 SIMPLE-ARRAY-T.5.1 SIMPLE-ARRAY-T.5.2 - SIMPLE-ARRAY-T.5.3 SIMPLE-ARRAY-T.5.4 SIMPLE-ARRAY-T.5.5 - SIMPLE-ARRAY-T.5.6 SIMPLE-ARRAY-T.6.1 SIMPLE-ARRAY-T.6.2 - SIMPLE-ARRAY-T.6.3 SIMPLE-ARRAY-T.6.4 SIMPLE-ARRAY-T.6.5 - SIMPLE-ARRAY-T.6.6 SIMPLE-ARRAY-T.7.1 SIMPLE-ARRAY-T.7.2 - SIMPLE-ARRAY-T.7.3 SIMPLE-ARRAY-T.7.4 SIMPLE-ARRAY-T.7.5 - SIMPLE-ARRAY-T.7.6 SIMPLE-ARRAY-T.8.1 SIMPLE-ARRAY-T.8.2 - SIMPLE-ARRAY-T.8.3 SIMPLE-ARRAY-T.8.4 SIMPLE-ARRAY-T.8.5 - SIMPLE-ARRAY-T.8.6 SIMPLE-ARRAY-T.8.7 SIMPLE-ARRAY-T.8.8 - SIMPLE-ARRAY-T.8.9 SIMPLE-ARRAY-T.8.10 SIMPLE-ARRAY-T.8.11 - SIMPLE-ARRAY-T.8.12 SIMPLE-ARRAY-T.8.13 SIMPLE-ARRAY-T.8.14 - SIMPLE-ARRAY-T.9.1 SIMPLE-ARRAY-T.9.2 SIMPLE-ARRAY-T.9.3 - SIMPLE-ARRAY-T.9.4 SIMPLE-ARRAY-T.9.5 SIMPLE-ARRAY-T.9.6 - SIMPLE-ARRAY-T.9.7 SIMPLE-ARRAY-T.9.8 SIMPLE-ARRAY-T.9.9 - SIMPLE-ARRAY-T.9.10 SIMPLE-ARRAY-T.9.11 SIMPLE-ARRAY-T.9.12 - SIMPLE-ARRAY-T.9.13 BIT-VECTOR.1 BIT-VECTOR.2 BIT-VECTOR.3 - BIT-VECTOR.4 BIT-VECTOR.5 BIT-VECTOR.6 BIT-VECTOR.7 BIT-VECTOR.8 - BIT-VECTOR.9 BIT-VECTOR.10 BIT-VECTOR.11 BIT-VECTOR.12 BIT-VECTOR.13 - BIT-VECTOR.14 BIT-VECTOR.15 BIT-VECTOR.16 BIT-VECTOR.17 - BIT-VECTOR.CLASS.2 BIT-VECTOR.CLASS.3 BIT-VECTOR.CLASS.4 - BIT-VECTOR.CLASS.5 BIT-VECTOR.CLASS.6 BIT-VECTOR.CLASS.7 - BIT-VECTOR.CLASS.8 BIT-VECTOR.CLASS.9 BIT-VECTOR.CLASS.10 - BIT-VECTOR.CLASS.11 SIMPLE-BIT-VECTOR.2 SIMPLE-BIT-VECTOR.3 - SIMPLE-BIT-VECTOR.4 SIMPLE-BIT-VECTOR.5 SIMPLE-BIT-VECTOR.6 - SIMPLE-BIT-VECTOR.7 SIMPLE-BIT-VECTOR.8 SIMPLE-BIT-VECTOR.9 - SIMPLE-BIT-VECTOR.10 SIMPLE-BIT-VECTOR.11 SIMPLE-BIT-VECTOR.12 - SIMPLE-BIT-VECTOR.13 SIMPLE-BIT-VECTOR.14 SIMPLE-BIT-VECTOR.15 - SIMPLE-BIT-VECTOR.16 SIMPLE-BIT-VECTOR.17 MAKE-ARRAY.1 MAKE-ARRAY.1A - MAKE-ARRAY.2 MAKE-ARRAY.2A MAKE-ARRAY.2B MAKE-ARRAY.2C MAKE-ARRAY.2D - MAKE-ARRAY.3 MAKE-ARRAY.4 MAKE-ARRAY.4A MAKE-ARRAY.4B MAKE-ARRAY.4C - MAKE-ARRAY.5 MAKE-ARRAY.5A MAKE-ARRAY.6 MAKE-ARRAY.6A MAKE-ARRAY.6B - MAKE-ARRAY.7 MAKE-ARRAY.7A MAKE-ARRAY.7B MAKE-ARRAY.8 MAKE-ARRAY.8A - MAKE-ARRAY.8B MAKE-ARRAY.9 MAKE-ARRAY.10 MAKE-ARRAY.11 MAKE-ARRAY.12 - MAKE-ARRAY.13 MAKE-ARRAY.14 MAKE-ARRAY.15 MAKE-ARRAY.16 MAKE-ARRAY.17 - MAKE-ARRAY.18 MAKE-ARRAY.19 MAKE-ARRAY.20 MAKE-ARRAY.21 MAKE-ARRAY.22 - MAKE-ARRAY.23 MAKE-ARRAY.24 MAKE-ARRAY.25 MAKE-ARRAY.26 MAKE-ARRAY.27 -Test MAKE-ARRAY.28 failed -Form: (LET ((*PACKAGE* (FIND-PACKAGE :CL-TEST))) - (LET ((LEN (1- (MIN 10000 ARRAY-RANK-LIMIT)))) - (EQUALPT (MAKE-ARRAY (MAKE-LIST LEN :INITIAL-ELEMENT 1) - :INITIAL-ELEMENT 'X) - (READ-FROM-STRING - (CONCATENATE 'STRING (FORMAT NIL "#~dA" LEN) - (MAKE-STRING LEN :INITIAL-ELEMENT #\() "x" - (MAKE-STRING LEN :INITIAL-ELEMENT #\))))))) -Expected value: T -Actual value: #. - MAKE-ARRAY.29 MAKE-ARRAY.30 MAKE-ARRAY.31 MAKE-ARRAY.32 MAKE-ARRAY.33 - MAKE-ARRAY.34 MAKE-ARRAY.35 MAKE-ARRAY.36 MAKE-ARRAY.ADJUSTABLE.1 - MAKE-ARRAY.ADJUSTABLE.2 MAKE-ARRAY.ADJUSTABLE.3 - MAKE-ARRAY.ADJUSTABLE.4 MAKE-ARRAY.ADJUSTABLE.5 - MAKE-ARRAY.ADJUSTABLE.6 MAKE-ARRAY.ADJUSTABLE.7 - MAKE-ARRAY.ADJUSTABLE.8 MAKE-ARRAY.ADJUSTABLE.9 - MAKE-ARRAY.ADJUSTABLE.10 MAKE-ARRAY.ADJUSTABLE.11 - MAKE-ARRAY.DISPLACED.1 MAKE-ARRAY.DISPLACED.2 MAKE-ARRAY.DISPLACED.3 - MAKE-ARRAY.DISPLACED.4 MAKE-ARRAY.DISPLACED.5 MAKE-ARRAY.DISPLACED.6 - MAKE-ARRAY.DISPLACED.7 MAKE-ARRAY.DISPLACED.8 -Test MAKE-ARRAY.DISPLACED.9 failed -Form: (LET ((A (MAKE-ARRAY '(10) :ELEMENT-TYPE 'BIT :INITIAL-CONTENTS - '(0 1 1 0 1 1 1 0 1 0)))) - (LOOP - FOR - I - FROM - 0 - TO - 5 - COLLECT - (MAKE-ARRAY-WITH-CHECKS '(5) :ELEMENT-TYPE 'BIT :DISPLACED-TO - A :DISPLACED-INDEX-OFFSET I))) -Expected value: (#*01101 #*11011 #*10111 #*01110 #*11101 #*11010) -Actual value: (#*01101 :FAIL-DISPLACED-INDEX-OFFSET - :FAIL-DISPLACED-INDEX-OFFSET - :FAIL-DISPLACED-INDEX-OFFSET - :FAIL-DISPLACED-INDEX-OFFSET - :FAIL-DISPLACED-INDEX-OFFSET). -Test MAKE-ARRAY.DISPLACED.10 failed -Form: (LET ((A (MAKE-ARRAY '(10) :ELEMENT-TYPE 'BIT :INITIAL-CONTENTS - '(0 1 1 0 1 1 1 0 1 0)))) - (MAKE-ARRAY-WITH-CHECKS '(0) :ELEMENT-TYPE 'BIT :DISPLACED-TO A - :DISPLACED-INDEX-OFFSET 10)) -Expected value: #* -Actual value: :FAIL-DISPLACED-INDEX-OFFSET. - MAKE-ARRAY.DISPLACED.11 MAKE-ARRAY.DISPLACED.12 - MAKE-ARRAY.DISPLACED.13 MAKE-ARRAY.DISPLACED.14 - MAKE-ARRAY.DISPLACED.15 MAKE-ARRAY.DISPLACED.16 - MAKE-ARRAY.DISPLACED.17 MAKE-ARRAY.DISPLACED.18 - MAKE-ARRAY.DISPLACED.19 MAKE-ARRAY.DISPLACED.20 - MAKE-ARRAY.DISPLACED.21 MAKE-ARRAY.DISPLACED.22 - MAKE-ARRAY.DISPLACED.23 MAKE-ARRAY.DISPLACED.24 - MAKE-ARRAY.DISPLACED.25 MAKE-ARRAY.DISPLACED.26 - MAKE-ARRAY.DISPLACED.27 MAKE-ARRAY.DISPLACED.28 - MAKE-ARRAY.DISPLACED.29 MAKE-ARRAY.DISPLACED.30 - MAKE-ARRAY.DISPLACED.31 MAKE-ARRAY.ALLOW-OTHER-KEYS.1 - MAKE-ARRAY.ALLOW-OTHER-KEYS.2 MAKE-ARRAY.ALLOW-OTHER-KEYS.3 - MAKE-ARRAY.ALLOW-OTHER-KEYS.4 MAKE-ARRAY.ALLOW-OTHER-KEYS.5 - MAKE-ARRAY.ALLOW-OTHER-KEYS.6 MAKE-ARRAY.ALLOW-OTHER-KEYS.7 - MAKE-ARRAY.KEYWORDS.8. MAKE-ARRAY.ERROR.1 MAKE-ARRAY.ERROR.2 - MAKE-ARRAY.ERROR.3 MAKE-ARRAY.ERROR.4 MAKE-ARRAY.ERROR.5 - MAKE-ARRAY.ERROR.6 MAKE-ARRAY.ORDER.1 MAKE-ARRAY.ORDER.2 - ADJUSTABLE-ARRAY-P.1 ADJUSTABLE-ARRAY-P.2 ADJUSTABLE-ARRAY-P.3 - ADJUSTABLE-ARRAY-P.4 ADJUSTABLE-ARRAY-P.5 ADJUSTABLE-ARRAY-P.ORDER.1 - ADJUSTABLE-ARRAY-P.ERROR.1 ADJUSTABLE-ARRAY-P.ERROR.2 - ADJUSTABLE-ARRAY-P.ERROR.3 ADJUSTABLE-ARRAY-P.ERROR.4 - ADJUSTABLE-ARRAY-P.ERROR.5 ADJUSTABLE-ARRAY-P.ERROR.6 - ARRAY-DISPLACEMENT.7 ARRAY-DISPLACEMENT.8 ARRAY-DISPLACEMENT.9 - ARRAY-DISPLACEMENT.10 -Test ARRAY-DISPLACEMENT.11 failed -Form: (LET* ((A (MAKE-ARRAY '(10) :ELEMENT-TYPE 'BIT)) - (B (MAKE-ARRAY '(5) :DISPLACED-TO A - :DISPLACED-INDEX-OFFSET 2 :ELEMENT-TYPE 'BIT))) - (MULTIPLE-VALUE-BIND* (DT DISP) (ARRAY-DISPLACEMENT B) - (AND (EQT A DT) (EQLT DISP 2)))) -Expected value: T -Actual value: NIL. - ARRAY-DISPLACEMENT.12 ARRAY-DISPLACEMENT.13 ARRAY-DISPLACEMENT.14 - ARRAY-DISPLACEMENT.ORDER.1 ARRAY-DISPLACEMENT.ERROR.1 - ARRAY-DISPLACEMENT.ERROR.2 ARRAY-DISPLACEMENT.ERROR.3 - ARRAY-DISPLACEMENT.ERROR.4 ARRAY-DISPLACEMENT.ERROR.5 - ARRAY-DIMENSION.1 ARRAY-DIMENSION.2 ARRAY-DIMENSION.3 - ARRAY-DIMENSION.4 ARRAY-DIMENSION.5 ARRAY-DIMENSION.6 - ARRAY-DIMENSION.ORDER.1 ARRAY-DIMENSION.ERROR.1 - ARRAY-DIMENSION.ERROR.2 ARRAY-DIMENSION.ERROR.3 ARRAY-DIMENSIONS.1 - ARRAY-DIMENSIONS.2 ARRAY-DIMENSIONS.3 ARRAY-DIMENSIONS.4 - ARRAY-DIMENSIONS.5 ARRAY-DIMENSIONS.6 ARRAY-DIMENSIONS.7 - ARRAY-DIMENSIONS.ERROR.1 ARRAY-DIMENSIONS.ERROR.2 - ARRAY-DIMENSIONS.ERROR.3 ARRAY-DIMENSIONS.ERROR.4 - ARRAY-DIMENSIONS.ERROR.5 ARRAY-IN-BOUNDS-P.1 ARRAY-IN-BOUNDS-P.2 - ARRAY-IN-BOUNDS-P.3 ARRAY-IN-BOUNDS-P.4 ARRAY-IN-BOUNDS-P.5 - ARRAY-IN-BOUNDS-P.6 ARRAY-IN-BOUNDS-P.7 ARRAY-IN-BOUNDS-P.8 - ARRAY-IN-BOUNDS-P.9 ARRAY-IN-BOUNDS-P.10 ARRAY-IN-BOUNDS-P.11 - ARRAY-IN-BOUNDS-P.12 ARRAY-IN-BOUNDS-P.13 ARRAY-IN-BOUNDS-P.14 - ARRAY-IN-BOUNDS-P.15 ARRAY-IN-BOUNDS-P.16 ARRAY-IN-BOUNDS-P.17 - ARRAY-IN-BOUNDS-P.18 ARRAY-IN-BOUNDS-P.19 ARRAY-IN-BOUNDS-P.20 - ARRAY-IN-BOUNDS-P.21 ARRAY-IN-BOUNDS-P.22 ARRAY-IN-BOUNDS-P.23 - ARRAY-IN-BOUNDS-P.ORDER.1 ARRAY-IN-BOUNDS-P.ERROR.1 - ARRAY-DIMENSION-LIMIT.1 ARRAY-DIMENSION-LIMIT.2 - ARRAY-TOTAL-SIZE-LIMIT.1 ARRAY-TOTAL-SIZE-LIMIT.2 ARRAY-RANK-LIMIT.1 - ARRAY-RANK-LIMIT.2 ARRAY-RANK.1 ARRAY-RANK.2 ARRAY-RANK.ORDER.1 - ARRAY-RANK.ERROR.1 ARRAY-RANK.ERROR.2 ARRAY-RANK.ERROR.3 - ARRAY-RANK.ERROR.4 ARRAY-RANK.ERROR.5 ARRAY-ROW-MAJOR-INDEX.1 - ARRAY-ROW-MAJOR-INDEX.2 ARRAY-ROW-MAJOR-INDEX.3 - ARRAY-ROW-MAJOR-INDEX.ORDER.1 ARRAY-ROW-MAJOR-INDEX.ERROR.1 - ARRAY-TOTAL-SIZE.1 ARRAY-TOTAL-SIZE.2 ARRAY-TOTAL-SIZE.3 - ARRAY-TOTAL-SIZE.4 ARRAY-TOTAL-SIZE.5 ARRAY-TOTAL-SIZE.ORDER.1 - ARRAY-TOTAL-SIZE.ERROR.1 ARRAY-TOTAL-SIZE.ERROR.2 - ARRAY-TOTAL-SIZE.ERROR.3 ARRAY-TOTAL-SIZE.ERROR.4 - ARRAY-TOTAL-SIZE.ERROR.5 ARRAYP.1 ARRAYP.2 ARRAYP.3 ARRAYP.4 ARRAYP.5 - ARRAYP.6 ARRAYP.ORDER.1 ARRAYP.ERROR.1 ARRAYP.ERROR.2 FILL-POINTER.1 - FILL-POINTER.2 FILL-POINTER.3 FILL-POINTER.ORDER.1 - FILL-POINTER.ORDER.2 FILL-POINTER.ERROR.1 FILL-POINTER.ERROR.2 - FILL-POINTER.ERROR.3 FILL-POINTER.ERROR.4 FILL-POINTER.ERROR.5 - FILL-POINTER.ERROR.6 FILL-POINTER.ERROR.7 ROW-MAJOR-AREF.1 - ROW-MAJOR-AREF.2 ROW-MAJOR-AREF.3 ROW-MAJOR-AREF.4 ROW-MAJOR-AREF.5 - ROW-MAJOR-AREF.6 ROW-MAJOR-AREF.7 ROW-MAJOR-AREF.8 ROW-MAJOR-AREF.9 - ROW-MAJOR-AREF.10 ROW-MAJOR-AREF.ORDER.1 ROW-MAJOR-AREF.ORDER.2 - ROW-MAJOR-AREF.ERROR.1 SIMPLE-VECTOR-P.1 SIMPLE-VECTOR-P.2 - SIMPLE-VECTOR-P.4 SIMPLE-VECTOR-P.7 SIMPLE-VECTOR-P.8 - SIMPLE-VECTOR-P.9 SIMPLE-VECTOR-P.10 SIMPLE-VECTOR-P.11 - SIMPLE-VECTOR-P.12 SIMPLE-VECTOR-P.ERROR.1 SIMPLE-VECTOR-P.ERROR.2 - SVREF.1 SVREF.2 SVREF.ORDER.1 SVREF.ORDER.2 SVREF.ERROR.1 - SVREF.ERROR.2 SVREF.ERROR.3 SVREF.ERROR.4 - UPGRADED-ARRAY-ELEMENT-TYPE.1 -Test UPGRADED-ARRAY-ELEMENT-TYPE.2 failed -Form: (LET ((UPGRADED-BASE-CHAR - (UPGRADED-ARRAY-ELEMENT-TYPE 'BASE-CHAR))) - (AND (EMPIRICAL-SUBTYPEP 'BASE-CHAR UPGRADED-BASE-CHAR) - (EMPIRICAL-SUBTYPEP UPGRADED-BASE-CHAR 'BASE-CHAR))) -Expected value: T -Actual value: NIL. - UPGRADED-ARRAY-ELEMENT-TYPE.3 UPGRADED-ARRAY-ELEMENT-TYPE.4 - UPGRADED-ARRAY-ELEMENT-TYPE.5 UPGRADED-ARRAY-ELEMENT-TYPE.6 - UPGRADED-ARRAY-ELEMENT-TYPE.7 -Test UPGRADED-ARRAY-ELEMENT-TYPE.NIL.1 failed -Form: (LET ((UAET-NIL (UPGRADED-ARRAY-ELEMENT-TYPE NIL))) - (LOOP FOR E IN *UNIVERSE* WHEN (TYPEP E UAET-NIL) COLLECT E)) -Expected value: NIL -Actual value: (NIL T :A :B :|| :|a| :|1234| #:NIL #:T #:FOO #:|| |a| || - |a| |a| |ab| - COMMON-LISP-USER::FOO COMMON-LISP-USER::X CONS - LAMBDA *PRINT-READABLY* PUSH 0 2147483642 2147483643 - 2147483644 2147483645 2147483646 2147483649 - 2147483650 2147483651 2147483652 -2147483653 - -2147483652 -2147483651 -2147483650 -2147483649 - -2147483646 -2147483645 -2147483644 -2147483643 2 4 - 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 - 32768 65536 131072 262144 524288 1048576 2097152 - 4194304 8388608 16777216 33554432 67108864 134217728 - 268435456 536870912 1073741824 2147483648 4294967296 - 8589934592 17179869184 34359738368 68719476736 - 137438953472 274877906944 549755813888 1099511627776 - 2199023255552 4398046511104 8796093022208 - 17592186044416 35184372088832 70368744177664 - 140737488355328 281474976710656 562949953421312 - 1125899906842624 2251799813685248 4503599627370496 - 9007199254740992 18014398509481984 36028797018963968 - 72057594037927936 144115188075855872 - 288230376151711744 576460752303423488 - 1152921504606846976 2305843009213693952 - 4611686018427387904 9223372036854775808 - 18446744073709551616 1 3 7 15 31 63 127 255 511 1023 - 2047 4095 8191 16383 32767 65535 131071 262143 - 524287 1048575 2097151 4194303 8388607 16777215 - 33554431 67108863 134217727 268435455 536870911 - 1073741823 2147483647 4294967295 8589934591 - 17179869183 34359738367 68719476735 137438953471 - 274877906943 549755813887 1099511627775 - 2199023255551 4398046511103 8796093022207 - 17592186044415 35184372088831 70368744177663 - 140737488355327 281474976710655 562949953421311 - 1125899906842623 2251799813685247 4503599627370495 - 9007199254740991 18014398509481983 36028797018963967 - 72057594037927935 144115188075855871 - 288230376151711743 576460752303423487 - 1152921504606846975 2305843009213693951 - 4611686018427387903 9223372036854775807 - 18446744073709551615 -2 -4 -8 -16 -32 -64 -128 -256 - -512 -1024 -2048 -4096 -8192 -16384 -32768 -65536 - -131072 -262144 -524288 -1048576 -2097152 -4194304 - -8388608 -16777216 -33554432 -67108864 -134217728 - -268435456 -536870912 -1073741824 -2147483648 - -4294967296 -8589934592 -17179869184 -34359738368 - -68719476736 -137438953472 -274877906944 - -549755813888 -1099511627776 -2199023255552 - -4398046511104 -8796093022208 -17592186044416 - -35184372088832 -70368744177664 -140737488355328 - -281474976710656 -562949953421312 -1125899906842624 - -2251799813685248 -4503599627370496 - -9007199254740992 -18014398509481984 - -36028797018963968 -72057594037927936 - -144115188075855872 -288230376151711744 - -576460752303423488 -1152921504606846976 - -2305843009213693952 -4611686018427387904 - -9223372036854775808 -18446744073709551616 -1 -3 -7 - -15 -31 -63 -127 -255 -511 -1023 -2047 -4095 -8191 - -16383 -32767 -65535 -131071 -262143 -524287 - -1048575 -2097151 -4194303 -8388607 -16777215 - -33554431 -67108863 -134217727 -268435455 -536870911 - -1073741823 -2147483647 -4294967295 -8589934591 - -17179869183 -34359738367 -68719476735 -137438953471 - -274877906943 -549755813887 -1099511627775 - -2199023255551 -4398046511103 -8796093022207 - -17592186044415 -35184372088831 -70368744177663 - -140737488355327 -281474976710655 -562949953421311 - -1125899906842623 -2251799813685247 - -4503599627370495 -9007199254740991 - -18014398509481983 -36028797018963967 - -72057594037927935 -144115188075855871 - -288230376151711743 -576460752303423487 - -1152921504606846975 -2305843009213693951 - -4611686018427387903 -9223372036854775807 - -18446744073709551615 - 33300140732146818380750772381422989832214186835186851059977249 - 12387131 1272314 231 -131 -561823 23713 - -1234611312123 444121 991 3.141592653589793 - 3.402824S38 1.0S-45 1.175494S-38 - 1.7976931348623158E308 4.0E-324 - 2.2250738585072016E-308 -3.402823S38 -1.401298S-45 - -1.175494S-38 -1.7976931348623157E308 - -4.9406564584124654E-324 -2.2250738585072014E-308 - 5.960465S-8 2.980233S-8 1.1102230246251569E-16 - 5.551115123125784E-17 0.0 1.0 -1.0 313123.13 - 283143.231 -314781.90000000002 131.283 8.3413812E-43 - 8.1312381E20 -46189.262309999998 -3.7818131E7 - 8.1318231E-18 1312.73S0 0.001236112S0 6124.124 - 1.31231E-19 1/3 1/1000 1/1000000000000000 -10/3 - -1000/7 -987129387912381/13612986912361 - 189729874978126783786123/1234678123487612347896123467851234671234 - #C(0.0 0.0) #C(1.0 0.0) #C(0.0 1.0) #C(1.0 1.0) - #C(-1.0 -1.0) #C(1289713.12312 -9.1268127099999994) - #C(1.0E100 1.0E100) #C(-1.0E-100 -1.0E-100) #\Space - #\Rubout #\Page #\Tab #\Backspace #\Return #\Newline - #\a #\A #\0 #\9 #\. #\( #\) #\[ #\] "" "" - "" "A" "a" "0" "abcdef" - "~!@#$%^&*()_+`1234567890-=<,>.?/:;\"'{[}]|\\ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ" - "gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg SET-EXCLUSIVE-OR.13 + NSET-EXCLUSIVE-OR.12 SET-EXCLUSIVE-OR.13 SET-EXCLUSIVE-OR.14 SET-EXCLUSIVE-OR.15 SET-EXCLUSIVE-OR.16 SET-EXCLUSIVE-OR.17 SET-EXCLUSIVE-OR.17-A SET-EXCLUSIVE-OR.18 SET-EXCLUSIVE-OR.18-A SET-EXCLUSIVE-OR.ORDER.1 @@ -18967,7 +18631,7 @@ #\a #\A #\0 #\9 #\. #\( #\) #\[ #\] "" "" "" "A" "a" "0" "abcdef" "~!@#$%^&*()_+`1234567890-=<,>.?/:;\"'{[}]|\\ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ" - "gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg" + "gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg" "  !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" (A B) (NIL) (1 2 3 4 5 6) @@ -19907,16 +19571,16 @@ #2A((34 98) (14 119)) #(1.0S0 2.0S0 3.0S0 4.0S0 5.0S0) #(1.0 2.0 3.0 4.0 5.0) #(1.0 2.0 3.0 4.0 5.0) - #(1.0 2.0 3.0 4.0 5.0) # - # # - # #p"foo" #p"foo" #p"bar" + #(1.0 2.0 3.0 4.0 5.0) # + # # + # #p"foo" #p"foo" #p"bar" #p"foo.txt" #p"bar.txt" #p"xyz.txt" #p"" #p"*" #p".txt" #p"*.txt" #p"*.txt" #p"*.ABC" #p"/**/" #p".*" #p"" #p"" # # # # - # # + # # #S(FOO-STRUCTURE X 1 Y A Z NIL) #S(FOO-STRUCTURE X 1 Y A Z NIL) #S(BAR-STRUCTURE X 1 Y A Z NIL) @@ -19925,7 +19589,7 @@ # # (SYSTEM:LAMBDA-CLOSURE () () () (X) X) - #$45494163362398791925322656219476407425941431111855659575900989793595586071870442539831715396493538364545409908494925572148768577031075927355110972579368154986499925235528614437107659309540337735891523168434539989270254911755937613261597440120093279260546694252236693660159487399114422445924019960086991211150531324094513949299884273515176087949180265389646250852929065562580762781653235810809847174000314658933188065733398870199191520676680077435412293964754531498392222147680482952445215912053027342174130284929871395582335952617998679485299251393910570223031049948174442540732194405650182905059538200980311616208827781802584862554256640452731280237594858219225089916170639505448740693243522887197036430683186461117920468938062684576385185311261359927415882413552584288472766808759074935969664970340445226830906372649764814368484408465436266225375897150105870383966025993141500476631845435255438483566324310960861814520249042338844072083382206388268905464872861078956859255056367817026849914983607749200898478572241661945844273607229615325471528154146782023232607177430766680484265503741530117860324803999183347865194979956086872158827057717644759018762828253760883437543611713767967056456976427180227233268539970043009025231733970686678016935346740190427385088426268949910137175034850734753183586347262427698999600755068055340439778268634144830182690950598926307299722427416747815566010987550670221909362172844643121468060067324503958723057208873152031138256306507421100162911952144026433493921496497550836344789745222779819665642825387421441031701870167154542129491114061087039111375522450586336151997291802235837603563750232848127408980000671788773453666250841929446309464294740246866286540423187486394460261061056817935216077022192784213884582872605372871092179934103278873173768118479034382878025091240750866846515477232387752855096613639045905859738966551639135527430595306645939892749382855668310649981508198872063290556292516677301665509228620597437065613481996678425198839311638847469981740171686867245523129329697497722052524267073454502986386109933878888704607785179269363481749531863888309295552558324163465322092428700120267164055836806515349416097480073296671447450375120945334535740253285077068410388232759972333893122795789257242336499150775973882842889878357539722008305159092114212639808940430246500382584826049220690164885305888564304570242169757465289073515947862238502019464007156634672693050753398214956835518347680843183601422768242443348752404884176886456472843533070572233560890136139030217091109298233648691474450063527450832346090022457183519667387780424988782849872491081166489203519367066211901433198533926982571824925574144802852085881701725145077480866036482331517837400669778579801084632278694392645594293513777017894334014321796180978490569872742611222657776097063688827021247803429322350267572037613080984649278750593398386127031116588878281454422251891998345247964372497126063451779832261381119845693892158707093473191500127095033706051257535881804981970313897130562951227181701894999482090063923892646023305056399112996765978637000004708537051935568302042713423492557447144005990669269832511249049761676146966037239447760308368773514035645461632476419568095292143768788165067012599217506492381369574848587299315438689343630182548425741823101552876010158410717783015308944050549631159988687810973603780815470569291481633241007273269180523627927232203788010553424542654651481612472563961494592210905667113805180166241717290214320560046540952570939187483651365421098350499382081984511502973067608077439685332466002676547555209924619115245313373607456611034636086194526308290768457108484096077537985542821771464055753785182330958316069876688941157778975394093611073143113288376511875481424617451466421668730087224783136345648100171201810412473148195514031008072109744145988835232912000687905475938540799591807276143329871478120417262988686886918710666672582641469277544036915888702359213480788434184668276871994870936436606438026673483256934699912775284362706858418776423601675461807446991606900043545772993621517359471403827696677462180155740978632235528664934669650460466434987302880883312776376360922731113844945846632994009011342996695118852026438292662405255885449518370126523078701542248001314092979386589787293052735103599563145527218274006324276514481964176439889916101671073006488177646497319568481141118877706720714278793035795866202506109416664495099953353138974113509578762431611205432050726355255553690701669083404303901268295774193303048029851699395828876316738940600637918061876922455089320178599833231910742902610334379299403060844884431470286623168252910227889157467455726893660511703348467313527923166659048795159450474415795128056392249989677706489864837647658490429916105344218218331641837715281281293235057220452423301309245013701316531549637147685677575235628077912735755753418405286092749447381841154390053908112808725998819022007627742579554587496622430688212234912833302357948032256353924738433463813180065430113160295001269835253581567568928613052138909088418876277981954020169731452531754222898027284831895781664064910183261643843880152996204704468929432856156935268844197936710054517355712370416273523180813028163342419102200983391261885618325788484563834045892060738847174675528407368019868724064171091154945847704882278265057576768927981870076455953158918431381607648445287569417445887054405810572206627956077324686585725825948722524730493955316161943929262767079119068074314098558199033351958932896460222767884115436770329651970017419222706735909363248938715026676892841703246408791994291966540000115362767227640627062837150296949433757377188506637694731929319150910343879328337021916391569802295797055067873782131556813685846759068752684768167616159876988911890322481493102513078058825150819138351433448175975765937596694128963074693609238575265434609212214785070485139731923917693908606994841453359948217833919610576572646947543199718778311354213700889572987480627695385481976526281635364924525115959460558103201522857174735495453526182091831365208). + #$29828694432147568388050081878454533995319528432340575185362000459211551104447206930627480288988022791420146036619034615565914806937092971658662846060165527712533400457151358769052194303486727609527409176788681838566037168967393964218234919806258848750209533093806073254317908900723255075799344124735561415773024881582638058330349693573474674077086463754815537025438724351470905910813076622857869216025040994886398713893069657085721870440411400328552176469124134298054148087993290503870011698794537719099640361325800285287095740762565794094483686134917176834498864692895930024656533304570428732840372969192862186776690824520938370574684854102281708728692248167760435939667145431319133163457097326540969834453163456274163701416419028663765492671169356222273821282547396951991726769182739532966111550280597860233465180650523211498020100784192664046858207879375896358058428868409785754661989231843050835092356325650661431988848681056374904853426037124271066639680314710538871137708702826307317907393661514512357979653606363410043608750520016590921803167633472533139989205756225630037419306924093087533757098151137102756930480803772331320016790241961534156257055168863300305914719743264208778844474574318512545882807302672095441890299953236927111203475142222052625697437470860152201773640070568718857091819230835880124818564625815466488140467982843789467424206767329296501373104880532138310998089421287300318644097411564898451567091654679334364068068140808017074297535000492468110665902163796401569118783086996870030948249723492536148812433463110898453649030456155010751716477506027732418065414802875781883756303750448702034128778877280425620447202311922352214890582059622167475661791452897029927284610697375279471455947585356683100190905127024704805451459531285588740308438810738673610626027025267369065747792408329349909037247627152840738255180127074707513440507775784617268752973447970959959395622856287227619305568947148328191656811774481468930153153489417190225361791503720358348099659538962777432720688339397571023146541494407776027136195469033943218532124798796934688482064570992356698962021869380292285835034870304954235523235422562307846505605641889470420139102747589466775890007136559657013319264189403736507846743919151449852009830504371792638157947355139466754496089959343406861558873871809842219036785750140517351371179799074934521144685627232934469806593127876952145503937725939349382187484409372318090147316743965640722840238591709598911515578246822290777915960909038678493588510505382871108208914489901556096272269617169791467664495424469936881845410272109670835012652715329022247002500938854687471962703943295221738484743339882992635046184879811469107660295692840624292324034522685032448585438309865725650685808892218945420579647062935921179887880236322345467482700698013558777414025907753175251864560388105769996770225660775955734887286218226119251753942311895223102438599106302947298058780136878787260568419937471631471513013041187201776137200994179237969772770322388137369588478562289865907529290462809321714663252925770077940203441862109783357060261441169852939675656184261984901660910521767708319667234711124021169816245657867105973997211776849522138389920797667011994610802471488300373826651552149270992222663125581038308004759684365715970701719852201294981310959676508005397104584947399247161576230781988564437722331978841318494514561672198045945826850259114769668395149644232720675731943507926796077982437986228521510412500459517821855125369292892032529353526546973493836784388098976787650707181099969150602931829322561823645124324544306107192920025110904331411832479722099802959186608852022741901123664498836395983115982975134406654008243848654921800288212401556764834368884420995137439522953352662888779615959302395069851282468086978316093769744570626317254767526967032817692568771170834169812338174422029457277925494408034363966462466831293222526065360480545465722286111861524786310659418132779280333907502906278956808666079635876591609675768078064185259713217859740827242323768999159252083075319264502350549857159237999813499198197653185312926413032994380837671380832126291641548815709075004014454156332158669418839850966993419618639062282958445900046347917813939297127068225745148839788752818721693217779164025486726535768390617136285802178917643747285494592431313176782546017287513606582113799825967837458084351611395958116699996771344963923188699298023774449311718587154753985453295894251592753444357473316637368558590666216422390365274049090314004199050836613500649620939649078325075058328936227019478346074619007581110454650321782031279852366052064638687534520909278511416116466431684874956354896218920136913551465570235948015258403358721128312061177735595665164884946395505328637528715840741669291237639287291528273443402848243617823194770336808895785058148186800868096779115448700970872321325444643841539742319943325325440418144974618028092345459131365629413395588379366657529113289945279054574181899711115474700607573565480644011775823641938485615703626502488875374913122605786111469053719634940828330898927889217654046921101461785403827024389184187509108883744105281390661001488832759732282360198455322198968478493177012893128726203758724326883520267702433639496486894575570016306319597993198760945329243692543150707282629085232059522346647596978077198165381414009990673748191632432492529180494502978557780625181913382977789335098408135398495394271830797248354425035024407585598959780859736041955429959454433480501712038178219702282612734959046772061660723732901849809981509271898946817265057759279082473080233883349644886392380060487043444467140426435723993206514826784472630526927310533963205467667326095518151405242839253202023487855712589460241672280447540363183613796011384433949247046110128863817768761882811642846372948197732374179139500817440142237455361230954649576278932639873705320456769360507174646039052982544845998752487894237925373022457375030809842859875108785343849060689947605622143546492172837438395794765771343130140362866089212901154112902799866836447258566004). UPGRADED-ARRAY-ELEMENT-TYPE.ERROR.1 UPGRADED-ARRAY-ELEMENT-TYPE.ERROR.2 VECTOR.TYPE.1 VECTOR.TYPE.2 VECTOR.TYPE.3 VECTOR.TYPE.4 VECTOR.TYPE.5 VECTOR.TYPE.6 VECTOR.TYPE.7 @@ -20253,101 +19917,383 @@ Package #<"LOOP.CL-TEST.2" package> Package #<"LOOP.CL-TEST.1" package> Package #<"CL-TEST" package> -Package #<"REGRESSION-TEST" package> -Package #<"CONDITIONS" package> -Package #<"SLOT-ACCESSOR-NAME" package> -Package #<"PCL" package> -Package #<"ITERATE" package> -Package #<"WALKER" package> -Package #<"XLIB" package> -Package #<"CLTL1-COMPAT" package> -Package #<"FPE" package> -Package #<"TK" package> -Package #<"DEFPACKAGE" package> -Package #<"ANSI-LOOP" package> -Package #<"SLOOP" package> -Package #<"COMPILER" package> -Package #<"SYSTEM" package> -Package #<"KEYWORD" package> -Package #<"COMMON-LISP-USER" package> -Package #<"COMMON-LISP" package> - WITH-PACKAGE-ITERATOR.13Package #<"MPE11" package> -Package #<"TEST-DPE2" package> -Package #<"LOOP.16.PACKAGE" package> -Package #<"LOOP.15.PACKAGE" package> -Package #<"STRUCT-TEST-PACKAGE" package> -Package #<"DS4" package> -Package #<"DS3" package> -Package #<"DS2" package> -Package #<"DS1" package> -Package #<"B" package> -Package #<"A" package> -Package #<"LOOP.CL-TEST.2" package> -Package #<"LOOP.CL-TEST.1" package> -Package #<"CL-TEST" package> -Package #<"REGRESSION-TEST" package> -Package #<"CONDITIONS" package> -Package #<"SLOT-ACCESSOR-NAME" package> -Package #<"PCL" package> -Package #<"ITERATE" package> -Package #<"WALKER" package> -Package #<"XLIB" package> -Package #<"CLTL1-COMPAT" package> -Package #<"FPE" package> -Package #<"TK" package> -Package #<"DEFPACKAGE" package> -Package #<"ANSI-LOOP" package> -Package #<"SLOOP" package> -Package #<"COMPILER" package> -Package #<"SYSTEM" package> -Package #<"KEYWORD" package> -Package #<"COMMON-LISP-USER" package> -Package #<"COMMON-LISP" package> - WITH-PACKAGE-ITERATOR.14 UNEXPORT.1 UNEXPORT.2 UNEXPORT.3 UNEXPORT.4 - UNEXPORT.5 UNEXPORT.6 UNEXPORT.ERROR.1 UNEXPORT.ERROR.2 UNINTERN.1 - UNINTERN.2 UNINTERN.3 UNINTERN.4 UNINTERN.5 UNINTERN.6 UNINTERN.7Properly threw an error: # - UNINTERN.8 UNINTERN.9 UNINTERN.ERROR.1 UNINTERN.ERROR.2 IN-PACKAGE.1 - IN-PACKAGE.2 IN-PACKAGE.3 IN-PACKAGE.4 IN-PACKAGE.5 UNUSE-PACKAGE.1 - UNUSE-PACKAGE.2 UNUSE-PACKAGE.3 UNUSE-PACKAGE.4 UNUSE-PACKAGE.5 - UNUSE-PACKAGE.6 UNUSE-PACKAGE.7 UNUSE-PACKAGE.8 UNUSE-PACKAGE.9 - UNUSE-PACKAGE.ERROR.1 UNUSE-PACKAGE.ERROR.2 USE-PACKAGE.1 - USE-PACKAGE.2 USE-PACKAGE.3 USE-PACKAGE.4 USE-PACKAGE.5 USE-PACKAGE.6 - USE-PACKAGE.ERROR.1 USE-PACKAGE.ERROR.2 DEFPACKAGE.1 DEFPACKAGE.2 - DEFPACKAGE.3 DEFPACKAGE.4 DEFPACKAGE.5 DEFPACKAGE.6 DEFPACKAGE.7 - DEFPACKAGE.8 DEFPACKAGE.9 DEFPACKAGE.10 DEFPACKAGE.11 DEFPACKAGE.12 - DEFPACKAGE.13 DEFPACKAGE.14 DEFPACKAGE.15 DEFPACKAGE.16 DEFPACKAGE.17 - DEFPACKAGE.18 DEFPACKAGE.19 DEFPACKAGE.20 DEFPACKAGE.21 DEFPACKAGE.22 - DEFPACKAGE.23 DEFPACKAGE.24 DEFPACKAGE.25Making G1... -Making G2... -Making G3... -Making G1... -Making G2... -Making G3... - DEFPACKAGE.26 DO-SYMBOLS.1 DO-SYMBOLS.2 DO-SYMBOLS.3 DO-SYMBOLS.4 - DO-SYMBOLS.5 DO-EXTERNAL-SYMBOLS.1 DO-EXTERNAL-SYMBOLS.2 - DO-EXTERNAL-SYMBOLS.3 DO-EXTERNAL-SYMBOLS.4 DO-EXTERNAL-SYMBOLS.5 - DO-SYMBOLS.6 DO-EXTERNAL-SYMBOLS.6 DO-SYMBOLS.7 DO-EXTERNAL-SYMBOLS.7 - DO-SYMBOLS.8 DO-EXTERNAL-SYMBOLS.8 PACKAGEP.1 PACKAGEP.2 - PACKAGEP.ERROR.1 PACKAGEP.ERROR.2 PACKAGE-ERROR.1 PACKAGE-ERROR.2 -Test PACKAGE-ERROR.3 failed -Form: (SUBTYPEP* 'PACKAGE-ERROR 'ERROR) + NSET-EXCLUSIVE-OR.13 NSET-EXCLUSIVE-OR.14 + NSET-EXCLUSIVE-OR.15 NSET-EXCLUSIVE-OR.16 NSET-EXCLUSIVE-OR.17 + NSET-EXCLUSIVE-OR.17-A NSET-EXCLUSIVE-OR.18 NSET-EXCLUSIVE-OR.18-A + NSET-EXCLUSIVE-OR.ORDER.1 NSET-EXCLUSIVE-OR.ORDER.2 + NSET-EXCLUSIVE-OR.ORDER.3 NSET-EXCLUSIVE-OR.ORDER.4 + NSET-EXCLUSIVE-OR.ORDER.5 NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.1 + NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.2 NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.3 + NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.4 NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.5 + NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.6 NSET-EXCLUSIVE.ALLOW-OTHER-KEYS.7 + NSET-EXCLUSIVE.KEYWORDS.8 NSET-EXCLUSIVE.KEYWORDS.9 + NSET-EXCLUSIVE-OR.ERROR.1 NSET-EXCLUSIVE-OR.ERROR.2 + NSET-EXCLUSIVE-OR.ERROR.3 NSET-EXCLUSIVE-OR.ERROR.4 + NSET-EXCLUSIVE-OR.ERROR.5 NSET-EXCLUSIVE-OR.ERROR.6 + NSET-EXCLUSIVE-OR.ERROR.7 NSET-EXCLUSIVE-OR.ERROR.8 + NSET-EXCLUSIVE-OR.ERROR.9 NSET-EXCLUSIVE-OR.ERROR.10 SUBSETP.1 + SUBSETP.2 SUBSETP.3 SUBSETP.4 SUBSETP.5 SUBSETP.6 SUBSETP.7 SUBSETP.8 + SUBSETP.9 SUBSETP.10 SUBSETP.11 SUBSETP.12 SUBSETP.13 SUBSETP.14 + SUBSETP.15 SUBSETP.ORDER.1 SUBSETP.ORDER.2 SUBSETP.ORDER.3 + SUBSETP.ALLOW-OTHER-KEYS.1 SUBSETP.ALLOW-OTHER-KEYS.2 + SUBSETP.ALLOW-OTHER-KEYS.3 SUBSETP.ALLOW-OTHER-KEYS.4 + SUBSETP.ALLOW-OTHER-KEYS.5 SUBSETP.ALLOW-OTHER-KEYS.6 + SUBSETP.KEYWORDS.7 SUBSETP.KEYWORDS.8 SUBSETP.ERROR.1 SUBSETP.ERROR.2 + SUBSETP.ERROR.3 SUBSETP.ERROR.4 SUBSETP.ERROR.5 SUBSETP.ERROR.6 + SUBSETP.ERROR.7 SUBSETP.ERROR.8 SUBSETP.ERROR.9 SUBSETP.ERROR.10 + CAR-SET-ALT CDR-SET-ALT CAAR-SET-ALT CADR-SET-ALT CDAR-SET-ALT + CDDR-SET-ALT CAAAR-SET-ALT CAADR-SET-ALT CADAR-SET-ALT CADDR-SET-ALT + CDAAR-SET-ALT CDADR-SET-ALT CDDAR-SET-ALT CDDDR-SET-ALT CAAAAR-SET-ALT + CAAADR-SET-ALT CAADAR-SET-ALT CAADDR-SET-ALT CADAAR-SET-ALT + CADADR-SET-ALT CADDAR-SET-ALT CADDDR-SET-ALT CDAAAR-SET-ALT + CDAADR-SET-ALT CDADAR-SET-ALT CDADDR-SET-ALT CDDAAR-SET-ALT + CDDADR-SET-ALT CDDDAR-SET-ALT CDDDDR-SET-ALT FIRST-SET-ALT + SECOND-SET-ALT THIRD-SET-ALT FOURTH-SET-ALT FIFTH-SET-ALT + SIXTH-SET-ALT SEVENTH-SET-ALT EIGHTH-SET-ALT NINTH-SET-ALT + TENTH-SET-ALT AREF.1 AREF.2 AREF.3 AREF.4 AREF.5 AREF.6 AREF.7 + AREF.ORDER.1 AREF.ORDER.2 SETF-AREF.1 SETF-AREF.2 SETF-AREF.3 + SETF-AREF.4 SETF-AREF.5 SETF-AREF.6 SETF-AREF.7 SETF-AREF.ORDER.1 + AREF.ERROR.1 AREF.ERROR.2 ARRAY.1.1 ARRAY.1.2 ARRAY.1.3 ARRAY.1.4 + ARRAY.1.5 ARRAY.1.6 ARRAY.1.7 ARRAY.1.8 ARRAY.1.9 ARRAY.1.10 + ARRAY.1.11 ARRAY.1.12 ARRAY.1.13 ARRAY.2.1 ARRAY.2.2 ARRAY.2.3 + ARRAY.2.4 ARRAY.2.5 ARRAY.2.6 ARRAY.3.1 ARRAY.3.2 ARRAY.3.3 ARRAY.3.4 + ARRAY.3.5 ARRAY.3.6 ARRAY.4.1 ARRAY.4.2 ARRAY.4.3 ARRAY.4.4 ARRAY.4.5 + ARRAY.4.6 ARRAY.5.1 ARRAY.5.2 ARRAY.5.3 ARRAY.5.4 ARRAY.5.5 ARRAY.5.6 + ARRAY.6.1 ARRAY.6.2 ARRAY.6.3 ARRAY.6.4 ARRAY.6.5 ARRAY.6.6 ARRAY.7.1 + ARRAY.7.2 ARRAY.7.3 ARRAY.7.4 ARRAY.7.5 ARRAY.7.6 ARRAY.8.1 ARRAY.8.2 + ARRAY.8.3 ARRAY.8.4 ARRAY.8.5 ARRAY.8.6 ARRAY.8.7 ARRAY.8.8 ARRAY.8.9 + ARRAY.8.10 ARRAY.8.11 ARRAY.8.12 ARRAY.8.13 ARRAY.8.14 ARRAY.9.1 + ARRAY.9.2 ARRAY.9.3 ARRAY.9.4 ARRAY.9.5 ARRAY.9.6 ARRAY.9.7 ARRAY.9.8 + ARRAY.9.9 ARRAY.9.10 ARRAY.9.11 ARRAY.9.12 ARRAY.9.13 ARRAY-T.2.1 + ARRAY-T.2.2 ARRAY-T.2.3 ARRAY-T.2.4 ARRAY-T.2.5 ARRAY-T.2.6 + ARRAY-T.3.1 ARRAY-T.3.2 ARRAY-T.3.3 ARRAY-T.3.4 ARRAY-T.3.5 + ARRAY-T.3.6 ARRAY-T.4.1 ARRAY-T.4.2 ARRAY-T.4.3 ARRAY-T.4.4 + ARRAY-T.4.5 ARRAY-T.4.6 ARRAY-T.5.1 ARRAY-T.5.2 ARRAY-T.5.3 + ARRAY-T.5.4 ARRAY-T.5.5 ARRAY-T.5.6 ARRAY-T.6.1 ARRAY-T.6.2 + ARRAY-T.6.3 ARRAY-T.6.4 ARRAY-T.6.5 ARRAY-T.6.6 ARRAY-T.7.1 + ARRAY-T.7.2 ARRAY-T.7.3 ARRAY-T.7.4 ARRAY-T.7.5 ARRAY-T.7.6 + ARRAY-T.8.1 ARRAY-T.8.2 ARRAY-T.8.3 ARRAY-T.8.4 ARRAY-T.8.5 + ARRAY-T.8.6 ARRAY-T.8.7 ARRAY-T.8.8 ARRAY-T.8.9 ARRAY-T.8.10 + ARRAY-T.8.11 ARRAY-T.8.12 ARRAY-T.8.13 ARRAY-T.8.14 ARRAY-T.9.1 + ARRAY-T.9.2 ARRAY-T.9.3 ARRAY-T.9.4 ARRAY-T.9.5 ARRAY-T.9.6 + ARRAY-T.9.7 ARRAY-T.9.8 ARRAY-T.9.9 ARRAY-T.9.10 ARRAY-T.9.11 + ARRAY-T.9.12 ARRAY-T.9.13 ARRAY-AS-CLASS.1 ARRAY-AS-CLASS.2 + ARRAY-AS-CLASS.3 ARRAY-AS-CLASS.4 ARRAY-AS-CLASS.5 ARRAY-AS-CLASS.6 +Test ARRAY-AS-CLASS.7 failed +Form: (SUBTYPEP* 'ARRAY (FIND-CLASS 'ARRAY)) Expected values: T T Actual values: NIL - NIL. - PACKAGE-ERROR.4 PACKAGE-ERROR-PACKAGE.1 PACKAGE-ERROR-PACKAGE.2 - PACKAGE-ERROR-PACKAGE.3 PACKAGE-ERROR-PACKAGE.4 - PACKAGE-ERROR-PACKAGE.ERROR.1 PACKAGE-ERROR-PACKAGE.ERROR.2 KEYWORD.1 - KEYWORD.2 KEYWORD.3 PACKAGE-SHADOWING-SYMBOLS.ERROR.1 - PACKAGE-SHADOWING-SYMBOLS.ERROR.2 PACKAGE-USE-LIST.ERROR.1 - PACKAGE-USE-LIST.ERROR.2 PACKAGE-USED-BY-LIST.ERROR.1 - PACKAGE-USED-BY-LIST.ERROR.2 COPY-SEQ.1 COPY-SEQ.2 COPY-SEQ.3 - COPY-SEQ.4 COPY-SEQ.5 COPY-SEQ.6 COPY-SEQ.7 COPY-SEQ.8 COPY-SEQ.9 - COPY-SEQ.10 COPY-SEQ.11 COPY-SEQ.12 COPY-SEQ.13 COPY-SEQ.14 - COPY-SEQ.15 COPY-SEQ.16 COPY-SEQ.17 COPY-SEQ.18 COPY-SEQ.ORDER.1 - COPY-SEQ.ERROR.1 COPY-SEQ.ERROR.2 COPY-SEQ.ERROR.3 COPY-SEQ.ERROR.4 - COPY-SEQ.ERROR.5 COPY-SEQ.ERROR.6 ELT.1 ELT.1A ELT.1B ELT.2 ELT.3 - ELT.4 ELT.5 ELT.5A ELT.6 ELT.7 ELT.8 ELT.9 ELT.10 ELT.11gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg" + T. +Test ARRAY-AS-CLASS.8 failed +Form: (SUBTYPEP* (FIND-CLASS 'ARRAY) 'ARRAY) +Expected values: T + T +Actual values: NIL + T. + ARRAY-AS-CLASS.9 ARRAY-AS-CLASS.10 ARRAY-AS-CLASS.11 ARRAY-AS-CLASS.12 + ARRAY-AS-CLASS.13 ARRAY-AS-CLASS.14 ARRAY-AS-CLASS.15 SIMPLE-ARRAY.1.1 + SIMPLE-ARRAY.1.2 SIMPLE-ARRAY.1.3 SIMPLE-ARRAY.1.4 SIMPLE-ARRAY.1.5 + SIMPLE-ARRAY.1.6 SIMPLE-ARRAY.1.7 SIMPLE-ARRAY.1.8 SIMPLE-ARRAY.1.9 + SIMPLE-ARRAY.1.10 SIMPLE-ARRAY.1.11 SIMPLE-ARRAY.1.12 + SIMPLE-ARRAY.1.13 SIMPLE-ARRAY.2.1 SIMPLE-ARRAY.2.2 SIMPLE-ARRAY.2.3 + SIMPLE-ARRAY.2.4 SIMPLE-ARRAY.2.5 SIMPLE-ARRAY.2.6 SIMPLE-ARRAY.3.1 + SIMPLE-ARRAY.3.2 SIMPLE-ARRAY.3.3 SIMPLE-ARRAY.3.4 SIMPLE-ARRAY.3.5 + SIMPLE-ARRAY.3.6 SIMPLE-ARRAY.4.1 SIMPLE-ARRAY.4.2 SIMPLE-ARRAY.4.3 + SIMPLE-ARRAY.4.4 SIMPLE-ARRAY.4.5 SIMPLE-ARRAY.4.6 SIMPLE-ARRAY.5.1 + SIMPLE-ARRAY.5.2 SIMPLE-ARRAY.5.3 SIMPLE-ARRAY.5.4 SIMPLE-ARRAY.5.5 + SIMPLE-ARRAY.5.6 SIMPLE-ARRAY.6.1 SIMPLE-ARRAY.6.2 SIMPLE-ARRAY.6.3 + SIMPLE-ARRAY.6.4 SIMPLE-ARRAY.6.5 SIMPLE-ARRAY.6.6 SIMPLE-ARRAY.7.1 + SIMPLE-ARRAY.7.2 SIMPLE-ARRAY.7.3 SIMPLE-ARRAY.7.4 SIMPLE-ARRAY.7.5 + SIMPLE-ARRAY.7.6 SIMPLE-ARRAY.8.1 SIMPLE-ARRAY.8.2 SIMPLE-ARRAY.8.3 + SIMPLE-ARRAY.8.4 SIMPLE-ARRAY.8.5 SIMPLE-ARRAY.8.6 SIMPLE-ARRAY.8.7 + SIMPLE-ARRAY.8.8 SIMPLE-ARRAY.8.9 SIMPLE-ARRAY.8.10 SIMPLE-ARRAY.8.11 + SIMPLE-ARRAY.8.12 SIMPLE-ARRAY.8.13 SIMPLE-ARRAY.8.14 SIMPLE-ARRAY.9.1 + SIMPLE-ARRAY.9.2 SIMPLE-ARRAY.9.3 SIMPLE-ARRAY.9.4 SIMPLE-ARRAY.9.5 + SIMPLE-ARRAY.9.6 SIMPLE-ARRAY.9.7 SIMPLE-ARRAY.9.8 SIMPLE-ARRAY.9.9 + SIMPLE-ARRAY.9.10 SIMPLE-ARRAY.9.11 SIMPLE-ARRAY.9.12 + SIMPLE-ARRAY.9.13 SIMPLE-ARRAY-T.2.1 SIMPLE-ARRAY-T.2.2 + SIMPLE-ARRAY-T.2.3 SIMPLE-ARRAY-T.2.4 SIMPLE-ARRAY-T.2.5 + SIMPLE-ARRAY-T.2.6 SIMPLE-ARRAY-T.3.1 SIMPLE-ARRAY-T.3.2 + SIMPLE-ARRAY-T.3.3 SIMPLE-ARRAY-T.3.4 SIMPLE-ARRAY-T.3.5 + SIMPLE-ARRAY-T.3.6 SIMPLE-ARRAY-T.4.1 SIMPLE-ARRAY-T.4.2 + SIMPLE-ARRAY-T.4.3 SIMPLE-ARRAY-T.4.4 SIMPLE-ARRAY-T.4.5 + SIMPLE-ARRAY-T.4.6 SIMPLE-ARRAY-T.5.1 SIMPLE-ARRAY-T.5.2 + SIMPLE-ARRAY-T.5.3 SIMPLE-ARRAY-T.5.4 SIMPLE-ARRAY-T.5.5 + SIMPLE-ARRAY-T.5.6 SIMPLE-ARRAY-T.6.1 SIMPLE-ARRAY-T.6.2 + SIMPLE-ARRAY-T.6.3 SIMPLE-ARRAY-T.6.4 SIMPLE-ARRAY-T.6.5 + SIMPLE-ARRAY-T.6.6 SIMPLE-ARRAY-T.7.1 SIMPLE-ARRAY-T.7.2 + SIMPLE-ARRAY-T.7.3 SIMPLE-ARRAY-T.7.4 SIMPLE-ARRAY-T.7.5 + SIMPLE-ARRAY-T.7.6 SIMPLE-ARRAY-T.8.1 SIMPLE-ARRAY-T.8.2 + SIMPLE-ARRAY-T.8.3 SIMPLE-ARRAY-T.8.4 SIMPLE-ARRAY-T.8.5 + SIMPLE-ARRAY-T.8.6 SIMPLE-ARRAY-T.8.7 SIMPLE-ARRAY-T.8.8 + SIMPLE-ARRAY-T.8.9 SIMPLE-ARRAY-T.8.10 SIMPLE-ARRAY-T.8.11 + SIMPLE-ARRAY-T.8.12 SIMPLE-ARRAY-T.8.13 SIMPLE-ARRAY-T.8.14 + SIMPLE-ARRAY-T.9.1 SIMPLE-ARRAY-T.9.2 SIMPLE-ARRAY-T.9.3 + SIMPLE-ARRAY-T.9.4 SIMPLE-ARRAY-T.9.5 SIMPLE-ARRAY-T.9.6 + SIMPLE-ARRAY-T.9.7 SIMPLE-ARRAY-T.9.8 SIMPLE-ARRAY-T.9.9 + SIMPLE-ARRAY-T.9.10 SIMPLE-ARRAY-T.9.11 SIMPLE-ARRAY-T.9.12 + SIMPLE-ARRAY-T.9.13 BIT-VECTOR.1 BIT-VECTOR.2 BIT-VECTOR.3 + BIT-VECTOR.4 BIT-VECTOR.5 BIT-VECTOR.6 BIT-VECTOR.7 BIT-VECTOR.8 + BIT-VECTOR.9 BIT-VECTOR.10 BIT-VECTOR.11 BIT-VECTOR.12 BIT-VECTOR.13 + BIT-VECTOR.14 BIT-VECTOR.15 BIT-VECTOR.16 BIT-VECTOR.17 + BIT-VECTOR.CLASS.2 BIT-VECTOR.CLASS.3 BIT-VECTOR.CLASS.4 + BIT-VECTOR.CLASS.5 BIT-VECTOR.CLASS.6 BIT-VECTOR.CLASS.7 + BIT-VECTOR.CLASS.8 BIT-VECTOR.CLASS.9 BIT-VECTOR.CLASS.10 + BIT-VECTOR.CLASS.11 SIMPLE-BIT-VECTOR.2 SIMPLE-BIT-VECTOR.3 + SIMPLE-BIT-VECTOR.4 SIMPLE-BIT-VECTOR.5 SIMPLE-BIT-VECTOR.6 + SIMPLE-BIT-VECTOR.7 SIMPLE-BIT-VECTOR.8 SIMPLE-BIT-VECTOR.9 + SIMPLE-BIT-VECTOR.10 SIMPLE-BIT-VECTOR.11 SIMPLE-BIT-VECTOR.12 + SIMPLE-BIT-VECTOR.13 SIMPLE-BIT-VECTOR.14 SIMPLE-BIT-VECTOR.15 + SIMPLE-BIT-VECTOR.16 SIMPLE-BIT-VECTOR.17 MAKE-ARRAY.1 MAKE-ARRAY.1A + MAKE-ARRAY.2 MAKE-ARRAY.2A MAKE-ARRAY.2B MAKE-ARRAY.2C MAKE-ARRAY.2D + MAKE-ARRAY.3 MAKE-ARRAY.4 MAKE-ARRAY.4A MAKE-ARRAY.4B MAKE-ARRAY.4C + MAKE-ARRAY.5 MAKE-ARRAY.5A MAKE-ARRAY.6 MAKE-ARRAY.6A MAKE-ARRAY.6B + MAKE-ARRAY.7 MAKE-ARRAY.7A MAKE-ARRAY.7B MAKE-ARRAY.8 MAKE-ARRAY.8A + MAKE-ARRAY.8B MAKE-ARRAY.9 MAKE-ARRAY.10 MAKE-ARRAY.11 MAKE-ARRAY.12 + MAKE-ARRAY.13 MAKE-ARRAY.14 MAKE-ARRAY.15 MAKE-ARRAY.16 MAKE-ARRAY.17 + MAKE-ARRAY.18 MAKE-ARRAY.19 MAKE-ARRAY.20 MAKE-ARRAY.21 MAKE-ARRAY.22 + MAKE-ARRAY.23 MAKE-ARRAY.24 MAKE-ARRAY.25 MAKE-ARRAY.26 MAKE-ARRAY.27 +Test MAKE-ARRAY.28 failed +Form: (LET ((*PACKAGE* (FIND-PACKAGE :CL-TEST))) + (LET ((LEN (1- (MIN 10000 ARRAY-RANK-LIMIT)))) + (EQUALPT (MAKE-ARRAY (MAKE-LIST LEN :INITIAL-ELEMENT 1) + :INITIAL-ELEMENT 'X) + (READ-FROM-STRING + (CONCATENATE 'STRING (FORMAT NIL "#~dA" LEN) + (MAKE-STRING LEN :INITIAL-ELEMENT #\() "x" + (MAKE-STRING LEN :INITIAL-ELEMENT #\))))))) +Expected value: T +Actual value: #. + MAKE-ARRAY.29 MAKE-ARRAY.30 MAKE-ARRAY.31 MAKE-ARRAY.32 MAKE-ARRAY.33 + MAKE-ARRAY.34 MAKE-ARRAY.35 MAKE-ARRAY.36 MAKE-ARRAY.ADJUSTABLE.1 + MAKE-ARRAY.ADJUSTABLE.2 MAKE-ARRAY.ADJUSTABLE.3 + MAKE-ARRAY.ADJUSTABLE.4 MAKE-ARRAY.ADJUSTABLE.5 + MAKE-ARRAY.ADJUSTABLE.6 MAKE-ARRAY.ADJUSTABLE.7 + MAKE-ARRAY.ADJUSTABLE.8 MAKE-ARRAY.ADJUSTABLE.9 + MAKE-ARRAY.ADJUSTABLE.10 MAKE-ARRAY.ADJUSTABLE.11 + MAKE-ARRAY.DISPLACED.1 MAKE-ARRAY.DISPLACED.2 MAKE-ARRAY.DISPLACED.3 + MAKE-ARRAY.DISPLACED.4 MAKE-ARRAY.DISPLACED.5 MAKE-ARRAY.DISPLACED.6 + MAKE-ARRAY.DISPLACED.7 MAKE-ARRAY.DISPLACED.8 +Test MAKE-ARRAY.DISPLACED.9 failed +Form: (LET ((A (MAKE-ARRAY '(10) :ELEMENT-TYPE 'BIT :INITIAL-CONTENTS + '(0 1 1 0 1 1 1 0 1 0)))) + (LOOP + FOR + I + FROM + 0 + TO + 5 + COLLECT + (MAKE-ARRAY-WITH-CHECKS '(5) :ELEMENT-TYPE 'BIT :DISPLACED-TO + A :DISPLACED-INDEX-OFFSET I))) +Expected value: (#*01101 #*11011 #*10111 #*01110 #*11101 #*11010) +Actual value: (#*01101 :FAIL-DISPLACED-INDEX-OFFSET + :FAIL-DISPLACED-INDEX-OFFSET + :FAIL-DISPLACED-INDEX-OFFSET + :FAIL-DISPLACED-INDEX-OFFSET + :FAIL-DISPLACED-INDEX-OFFSET). +Test MAKE-ARRAY.DISPLACED.10 failed +Form: (LET ((A (MAKE-ARRAY '(10) :ELEMENT-TYPE 'BIT :INITIAL-CONTENTS + '(0 1 1 0 1 1 1 0 1 0)))) + (MAKE-ARRAY-WITH-CHECKS '(0) :ELEMENT-TYPE 'BIT :DISPLACED-TO A + :DISPLACED-INDEX-OFFSET 10)) +Expected value: #* +Actual value: :FAIL-DISPLACED-INDEX-OFFSET. + MAKE-ARRAY.DISPLACED.11 MAKE-ARRAY.DISPLACED.12 + MAKE-ARRAY.DISPLACED.13 MAKE-ARRAY.DISPLACED.14 + MAKE-ARRAY.DISPLACED.15 MAKE-ARRAY.DISPLACED.16 + MAKE-ARRAY.DISPLACED.17 MAKE-ARRAY.DISPLACED.18 + MAKE-ARRAY.DISPLACED.19 MAKE-ARRAY.DISPLACED.20 + MAKE-ARRAY.DISPLACED.21 MAKE-ARRAY.DISPLACED.22 + MAKE-ARRAY.DISPLACED.23 MAKE-ARRAY.DISPLACED.24 + MAKE-ARRAY.DISPLACED.25 MAKE-ARRAY.DISPLACED.26 + MAKE-ARRAY.DISPLACED.27 MAKE-ARRAY.DISPLACED.28 + MAKE-ARRAY.DISPLACED.29 MAKE-ARRAY.DISPLACED.30 + MAKE-ARRAY.DISPLACED.31 MAKE-ARRAY.ALLOW-OTHER-KEYS.1 + MAKE-ARRAY.ALLOW-OTHER-KEYS.2 MAKE-ARRAY.ALLOW-OTHER-KEYS.3 + MAKE-ARRAY.ALLOW-OTHER-KEYS.4 MAKE-ARRAY.ALLOW-OTHER-KEYS.5 + MAKE-ARRAY.ALLOW-OTHER-KEYS.6 MAKE-ARRAY.ALLOW-OTHER-KEYS.7 + MAKE-ARRAY.KEYWORDS.8. MAKE-ARRAY.ERROR.1 MAKE-ARRAY.ERROR.2 + MAKE-ARRAY.ERROR.3 MAKE-ARRAY.ERROR.4 MAKE-ARRAY.ERROR.5 + MAKE-ARRAY.ERROR.6 MAKE-ARRAY.ORDER.1 MAKE-ARRAY.ORDER.2 + ADJUSTABLE-ARRAY-P.1 ADJUSTABLE-ARRAY-P.2 ADJUSTABLE-ARRAY-P.3 + ADJUSTABLE-ARRAY-P.4 ADJUSTABLE-ARRAY-P.5 ADJUSTABLE-ARRAY-P.ORDER.1 + ADJUSTABLE-ARRAY-P.ERROR.1 ADJUSTABLE-ARRAY-P.ERROR.2 + ADJUSTABLE-ARRAY-P.ERROR.3 ADJUSTABLE-ARRAY-P.ERROR.4 + ADJUSTABLE-ARRAY-P.ERROR.5 ADJUSTABLE-ARRAY-P.ERROR.6 + ARRAY-DISPLACEMENT.7 ARRAY-DISPLACEMENT.8 ARRAY-DISPLACEMENT.9 + ARRAY-DISPLACEMENT.10 +Test ARRAY-DISPLACEMENT.11 failed +Form: (LET* ((A (MAKE-ARRAY '(10) :ELEMENT-TYPE 'BIT)) + (B (MAKE-ARRAY '(5) :DISPLACED-TO A + :DISPLACED-INDEX-OFFSET 2 :ELEMENT-TYPE 'BIT))) + (MULTIPLE-VALUE-BIND* (DT DISP) (ARRAY-DISPLACEMENT B) + (AND (EQT A DT) (EQLT DISP 2)))) +Expected value: T +Actual value: NIL. + ARRAY-DISPLACEMENT.12 ARRAY-DISPLACEMENT.13 ARRAY-DISPLACEMENT.14 + ARRAY-DISPLACEMENT.ORDER.1 ARRAY-DISPLACEMENT.ERROR.1 + ARRAY-DISPLACEMENT.ERROR.2 ARRAY-DISPLACEMENT.ERROR.3 + ARRAY-DISPLACEMENT.ERROR.4 ARRAY-DISPLACEMENT.ERROR.5 + ARRAY-DIMENSION.1 ARRAY-DIMENSION.2 ARRAY-DIMENSION.3 + ARRAY-DIMENSION.4 ARRAY-DIMENSION.5 ARRAY-DIMENSION.6 + ARRAY-DIMENSION.ORDER.1 ARRAY-DIMENSION.ERROR.1 + ARRAY-DIMENSION.ERROR.2 ARRAY-DIMENSION.ERROR.3 ARRAY-DIMENSIONS.1 + ARRAY-DIMENSIONS.2 ARRAY-DIMENSIONS.3 ARRAY-DIMENSIONS.4 + ARRAY-DIMENSIONS.5 ARRAY-DIMENSIONS.6 ARRAY-DIMENSIONS.7 + ARRAY-DIMENSIONS.ERROR.1 ARRAY-DIMENSIONS.ERROR.2 + ARRAY-DIMENSIONS.ERROR.3 ARRAY-DIMENSIONS.ERROR.4 + ARRAY-DIMENSIONS.ERROR.5 ARRAY-IN-BOUNDS-P.1 ARRAY-IN-BOUNDS-P.2 + ARRAY-IN-BOUNDS-P.3 ARRAY-IN-BOUNDS-P.4 ARRAY-IN-BOUNDS-P.5 + ARRAY-IN-BOUNDS-P.6 ARRAY-IN-BOUNDS-P.7 ARRAY-IN-BOUNDS-P.8 + ARRAY-IN-BOUNDS-P.9 ARRAY-IN-BOUNDS-P.10 ARRAY-IN-BOUNDS-P.11 + ARRAY-IN-BOUNDS-P.12 ARRAY-IN-BOUNDS-P.13 ARRAY-IN-BOUNDS-P.14 + ARRAY-IN-BOUNDS-P.15 ARRAY-IN-BOUNDS-P.16 ARRAY-IN-BOUNDS-P.17 + ARRAY-IN-BOUNDS-P.18 ARRAY-IN-BOUNDS-P.19 ARRAY-IN-BOUNDS-P.20 + ARRAY-IN-BOUNDS-P.21 ARRAY-IN-BOUNDS-P.22 ARRAY-IN-BOUNDS-P.23 + ARRAY-IN-BOUNDS-P.ORDER.1 ARRAY-IN-BOUNDS-P.ERROR.1 + ARRAY-DIMENSION-LIMIT.1 ARRAY-DIMENSION-LIMIT.2 + ARRAY-TOTAL-SIZE-LIMIT.1 ARRAY-TOTAL-SIZE-LIMIT.2 ARRAY-RANK-LIMIT.1 + ARRAY-RANK-LIMIT.2 ARRAY-RANK.1 ARRAY-RANK.2 ARRAY-RANK.ORDER.1 + ARRAY-RANK.ERROR.1 ARRAY-RANK.ERROR.2 ARRAY-RANK.ERROR.3 + ARRAY-RANK.ERROR.4 ARRAY-RANK.ERROR.5 ARRAY-ROW-MAJOR-INDEX.1 + ARRAY-ROW-MAJOR-INDEX.2 ARRAY-ROW-MAJOR-INDEX.3 + ARRAY-ROW-MAJOR-INDEX.ORDER.1 ARRAY-ROW-MAJOR-INDEX.ERROR.1 + ARRAY-TOTAL-SIZE.1 ARRAY-TOTAL-SIZE.2 ARRAY-TOTAL-SIZE.3 + ARRAY-TOTAL-SIZE.4 ARRAY-TOTAL-SIZE.5 ARRAY-TOTAL-SIZE.ORDER.1 + ARRAY-TOTAL-SIZE.ERROR.1 ARRAY-TOTAL-SIZE.ERROR.2 + ARRAY-TOTAL-SIZE.ERROR.3 ARRAY-TOTAL-SIZE.ERROR.4 + ARRAY-TOTAL-SIZE.ERROR.5 ARRAYP.1 ARRAYP.2 ARRAYP.3 ARRAYP.4 ARRAYP.5 + ARRAYP.6 ARRAYP.ORDER.1 ARRAYP.ERROR.1 ARRAYP.ERROR.2 FILL-POINTER.1 + FILL-POINTER.2 FILL-POINTER.3 FILL-POINTER.ORDER.1 + FILL-POINTER.ORDER.2 FILL-POINTER.ERROR.1 FILL-POINTER.ERROR.2 + FILL-POINTER.ERROR.3 FILL-POINTER.ERROR.4 FILL-POINTER.ERROR.5 + FILL-POINTER.ERROR.6 FILL-POINTER.ERROR.7 ROW-MAJOR-AREF.1 + ROW-MAJOR-AREF.2 ROW-MAJOR-AREF.3 ROW-MAJOR-AREF.4 ROW-MAJOR-AREF.5 + ROW-MAJOR-AREF.6 ROW-MAJOR-AREF.7 ROW-MAJOR-AREF.8 ROW-MAJOR-AREF.9 + ROW-MAJOR-AREF.10 ROW-MAJOR-AREF.ORDER.1 ROW-MAJOR-AREF.ORDER.2 + ROW-MAJOR-AREF.ERROR.1 SIMPLE-VECTOR-P.1 SIMPLE-VECTOR-P.2 + SIMPLE-VECTOR-P.4 SIMPLE-VECTOR-P.7 SIMPLE-VECTOR-P.8 + SIMPLE-VECTOR-P.9 SIMPLE-VECTOR-P.10 SIMPLE-VECTOR-P.11 + SIMPLE-VECTOR-P.12 SIMPLE-VECTOR-P.ERROR.1 SIMPLE-VECTOR-P.ERROR.2 + SVREF.1 SVREF.2 SVREF.ORDER.1 SVREF.ORDER.2 SVREF.ERROR.1 + SVREF.ERROR.2 SVREF.ERROR.3 SVREF.ERROR.4 + UPGRADED-ARRAY-ELEMENT-TYPE.1 +Test UPGRADED-ARRAY-ELEMENT-TYPE.2 failed +Form: (LET ((UPGRADED-BASE-CHAR + (UPGRADED-ARRAY-ELEMENT-TYPE 'BASE-CHAR))) + (AND (EMPIRICAL-SUBTYPEP 'BASE-CHAR UPGRADED-BASE-CHAR) + (EMPIRICAL-SUBTYPEP UPGRADED-BASE-CHAR 'BASE-CHAR))) +Expected value: T +Actual value: NIL. + UPGRADED-ARRAY-ELEMENT-TYPE.3 UPGRADED-ARRAY-ELEMENT-TYPE.4 + UPGRADED-ARRAY-ELEMENT-TYPE.5 UPGRADED-ARRAY-ELEMENT-TYPE.6 + UPGRADED-ARRAY-ELEMENT-TYPE.7 +Test UPGRADED-ARRAY-ELEMENT-TYPE.NIL.1 failed +Form: (LET ((UAET-NIL (UPGRADED-ARRAY-ELEMENT-TYPE NIL))) + (LOOP FOR E IN *UNIVERSE* WHEN (TYPEP E UAET-NIL) COLLECT E)) +Expected value: NIL +Actual value: (NIL T :A :B :|| :|a| :|1234| #:NIL #:T #:FOO #:|| |a| || + |a| |a| |ab| + COMMON-LISP-USER::FOO COMMON-LISP-USER::X CONS + LAMBDA *PRINT-READABLY* PUSH 0 2147483642 2147483643 + 2147483644 2147483645 2147483646 2147483649 + 2147483650 2147483651 2147483652 -2147483653 + -2147483652 -2147483651 -2147483650 -2147483649 + -2147483646 -2147483645 -2147483644 -2147483643 2 4 + 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 + 32768 65536 131072 262144 524288 1048576 2097152 + 4194304 8388608 16777216 33554432 67108864 134217728 + 268435456 536870912 1073741824 2147483648 4294967296 + 8589934592 17179869184 34359738368 68719476736 + 137438953472 274877906944 549755813888 1099511627776 + 2199023255552 4398046511104 8796093022208 + 17592186044416 35184372088832 70368744177664 + 140737488355328 281474976710656 562949953421312 + 1125899906842624 2251799813685248 4503599627370496 + 9007199254740992 18014398509481984 36028797018963968 + 72057594037927936 144115188075855872 + 288230376151711744 576460752303423488 + 1152921504606846976 2305843009213693952 + 4611686018427387904 9223372036854775808 + 18446744073709551616 1 3 7 15 31 63 127 255 511 1023 + 2047 4095 8191 16383 32767 65535 131071 262143 + 524287 1048575 2097151 4194303 8388607 16777215 + 33554431 67108863 134217727 268435455 536870911 + 1073741823 2147483647 4294967295 8589934591 + 17179869183 34359738367 68719476735 137438953471 + 274877906943 549755813887 1099511627775 + 2199023255551 4398046511103 8796093022207 + 17592186044415 35184372088831 70368744177663 + 140737488355327 281474976710655 562949953421311 + 1125899906842623 2251799813685247 4503599627370495 + 9007199254740991 18014398509481983 36028797018963967 + 72057594037927935 144115188075855871 + 288230376151711743 576460752303423487 + 1152921504606846975 2305843009213693951 + 4611686018427387903 9223372036854775807 + 18446744073709551615 -2 -4 -8 -16 -32 -64 -128 -256 + -512 -1024 -2048 -4096 -8192 -16384 -32768 -65536 + -131072 -262144 -524288 -1048576 -2097152 -4194304 + -8388608 -16777216 -33554432 -67108864 -134217728 + -268435456 -536870912 -1073741824 -2147483648 + -4294967296 -8589934592 -17179869184 -34359738368 + -68719476736 -137438953472 -274877906944 + -549755813888 -1099511627776 -2199023255552 + -4398046511104 -8796093022208 -17592186044416 + -35184372088832 -70368744177664 -140737488355328 + -281474976710656 -562949953421312 -1125899906842624 + -2251799813685248 -4503599627370496 + -9007199254740992 -18014398509481984 + -36028797018963968 -72057594037927936 + -144115188075855872 -288230376151711744 + -576460752303423488 -1152921504606846976 + -2305843009213693952 -4611686018427387904 + -9223372036854775808 -18446744073709551616 -1 -3 -7 + -15 -31 -63 -127 -255 -511 -1023 -2047 -4095 -8191 + -16383 -32767 -65535 -131071 -262143 -524287 + -1048575 -2097151 -4194303 -8388607 -16777215 + -33554431 -67108863 -134217727 -268435455 -536870911 + -1073741823 -2147483647 -4294967295 -8589934591 + -17179869183 -34359738367 -68719476735 -137438953471 + -274877906943 -549755813887 -1099511627775 + -2199023255551 -4398046511103 -8796093022207 + -17592186044415 -35184372088831 -70368744177663 + -140737488355327 -281474976710655 -562949953421311 + -1125899906842623 -2251799813685247 + -4503599627370495 -9007199254740991 + -18014398509481983 -36028797018963967 + -72057594037927935 -144115188075855871 + -288230376151711743 -576460752303423487 + -1152921504606846975 -2305843009213693951 + -4611686018427387903 -9223372036854775807 + -18446744073709551615 + 33300140732146818380750772381422989832214186835186851059977249 + 12387131 1272314 231 -131 -561823 23713 + -1234611312123 444121 991 3.141592653589793 + 3.402824S38 1.0S-45 1.175494S-38 + 1.7976931348623158E308 4.0E-324 + 2.2250738585072016E-308 -3.402823S38 -1.401298S-45 + -1.175494S-38 -1.7976931348623157E308 + -4.9406564584124654E-324 -2.2250738585072014E-308 + 5.960465S-8 2.980233S-8 1.1102230246251569E-16 + 5.551115123125784E-17 0.0 1.0 -1.0 313123.13 + 283143.231 -314781.90000000002 131.283 8.3413812E-43 + 8.1312381E20 -46189.262309999998 -3.7818131E7 + 8.1318231E-18 1312.73S0 0.001236112S0 6124.124 + 1.31231E-19 1/3 1/1000 1/1000000000000000 -10/3 + -1000/7 -987129387912381/13612986912361 + 189729874978126783786123/1234678123487612347896123467851234671234 + #C(0.0 0.0) #C(1.0 0.0) #C(0.0 1.0) #C(1.0 1.0) + #C(-1.0 -1.0) #C(1289713.12312 -9.1268127099999994) + #C(1.0E100 1.0E100) #C(-1.0E-100 -1.0E-100) #\Space + #\Rubout #\Page #\Tab #\Backspace #\Return #\Newline + #\a #\A #\0 #\9 #\. #\( #\) #\[ #\] "" "" + "" "A" "a" "0" "abcdef" + "~!@#$%^&*()_+`1234567890-=<,>.?/:;\"'{[}]|\\ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ" + "gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg" "  !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" (A B) (NIL) (1 2 3 4 5 6) @@ -21287,16 +21233,16 @@ #2A((34 98) (14 119)) #(1.0S0 2.0S0 3.0S0 4.0S0 5.0S0) #(1.0 2.0 3.0 4.0 5.0) #(1.0 2.0 3.0 4.0 5.0) - #(1.0 2.0 3.0 4.0 5.0) # - # # - # #p"foo" #p"foo" #p"bar" + #(1.0 2.0 3.0 4.0 5.0) # + # # + # #p"foo" #p"foo" #p"bar" #p"foo.txt" #p"bar.txt" #p"xyz.txt" #p"" #p"*" #p".txt" #p"*.txt" #p"*.txt" #p"*.ABC" #p"/**/" #p".*" #p"" #p"" # # # # - # # + # # #S(FOO-STRUCTURE X 1 Y A Z NIL) #S(FOO-STRUCTURE X 1 Y A Z NIL) #S(BAR-STRUCTURE X 1 Y A Z NIL) @@ -21305,7 +21251,7 @@ # # (SYSTEM:LAMBDA-CLOSURE () () () (X) X) - #$45494163362398791925322656219476407425941431111855659575900989793595586071870442539831715396493538364545409908494925572148768577031075927355110972579368154986499925235528614437107659309540337735891523168434539989270254911755937613261597440120093279260546694252236693660159487399114422445924019960086991211150531324094513949299884273515176087949180265389646250852929065562580762781653235810809847174000314658933188065733398870199191520676680077435412293964754531498392222147680482952445215912053027342174130284929871395582335952617998679485299251393910570223031049948174442540732194405650182905059538200980311616208827781802584862554256640452731280237594858219225089916170639505448740693243522887197036430683186461117920468938062684576385185311261359927415882413552584288472766808759074935969664970340445226830906372649764814368484408465436266225375897150105870383966025993141500476631845435255438483566324310960861814520249042338844072083382206388268905464872861078956859255056367817026849914983607749200898478572241661945844273607229615325471528154146782023232607177430766680484265503741530117860324803999183347865194979956086872158827057717644759018762828253760883437543611713767967056456976427180227233268539970043009025231733970686678016935346740190427385088426268949910137175034850734753183586347262427698999600755068055340439778268634144830182690950598926307299722427416747815566010987550670221909362172844643121468060067324503958723057208873152031138256306507421100162911952144026433493921496497550836344789745222779819665642825387421441031701870167154542129491114061087039111375522450586336151997291802235837603563750232848127408980000671788773453666250841929446309464294740246866286540423187486394460261061056817935216077022192784213884582872605372871092179934103278873173768118479034382878025091240750866846515477232387752855096613639045905859738966551639135527430595306645939892749382855668310649981508198872063290556292516677301665509228620597437065613481996678425198839311638847469981740171686867245523129329697497722052524267073454502986386109933878888704607785179269363481749531863888309295552558324163465322092428700120267164055836806515349416097480073296671447450375120945334535740253285077068410388232759972333893122795789257242336499150775973882842889878357539722008305159092114212639808940430246500382584826049220690164885305888564304570242169757465289073515947862238502019464007156634672693050753398214956835518347680843183601422768242443348752404884176886456472843533070572233560890136139030217091109298233648691474450063527450832346090022457183519667387780424988782849872491081166489203519367066211901433198533926982571824925574144802852085881701725145077480866036482331517837400669778579801084632278694392645594293513777017894334014321796180978490569872742611222657776097063688827021247803429322350267572037613080984649278750593398386127031116588878281454422251891998345247964372497126063451779832261381119845693892158707093473191500127095033706051257535881804981970313897130562951227181701894999482090063923892646023305056399112996765978637000004708537051935568302042713423492557447144005990669269832511249049761676146966037239447760308368773514035645461632476419568095292143768788165067012599217506492381369574848587299315438689343630182548425741823101552876010158410717783015308944050549631159988687810973603780815470569291481633241007273269180523627927232203788010553424542654651481612472563961494592210905667113805180166241717290214320560046540952570939187483651365421098350499382081984511502973067608077439685332466002676547555209924619115245313373607456611034636086194526308290768457108484096077537985542821771464055753785182330958316069876688941157778975394093611073143113288376511875481424617451466421668730087224783136345648100171201810412473148195514031008072109744145988835232912000687905475938540799591807276143329871478120417262988686886918710666672582641469277544036915888702359213480788434184668276871994870936436606438026673483256934699912775284362706858418776423601675461807446991606900043545772993621517359471403827696677462180155740978632235528664934669650460466434987302880883312776376360922731113844945846632994009011342996695118852026438292662405255885449518370126523078701542248001314092979386589787293052735103599563145527218274006324276514481964176439889916101671073006488177646497319568481141118877706720714278793035795866202506109416664495099953353138974113509578762431611205432050726355255553690701669083404303901268295774193303048029851699395828876316738940600637918061876922455089320178599833231910742902610334379299403060844884431470286623168252910227889157467455726893660511703348467313527923166659048795159450474415795128056392249989677706489864837647658490429916105344218218331641837715281281293235057220452423301309245013701316531549637147685677575235628077912735755753418405286092749447381841154390053908112808725998819022007627742579554587496622430688212234912833302357948032256353924738433463813180065430113160295001269835253581567568928613052138909088418876277981954020169731452531754222898027284831895781664064910183261643843880152996204704468929432856156935268844197936710054517355712370416273523180813028163342419102200983391261885618325788484563834045892060738847174675528407368019868724064171091154945847704882278265057576768927981870076455953158918431381607648445287569417445887054405810572206627956077324686585725825948722524730493955316161943929262767079119068074314098558199033351958932896460222767884115436770329651970017419222706735909363248938715026676892841703246408791994291966540000115362767227640627062837150296949433757377188506637694731929319150910343879328337021916391569802295797055067873782131556813685846759068752684768167616159876988911890322481493102513078058825150819138351433448175975765937596694128963074693609238575265434609212214785070485139731923917693908606994841453359948217833919610576572646947543199718778311354213700889572987480627695385481976526281635364924525115959460558103201522857174735495453526182091831365208). + #$29828694432147568388050081878454533995319528432340575185362000459211551104447206930627480288988022791420146036619034615565914806937092971658662846060165527712533400457151358769052194303486727609527409176788681838566037168967393964218234919806258848750209533093806073254317908900723255075799344124735561415773024881582638058330349693573474674077086463754815537025438724351470905910813076622857869216025040994886398713893069657085721870440411400328552176469124134298054148087993290503870011698794537719099640361325800285287095740762565794094483686134917176834498864692895930024656533304570428732840372969192862186776690824520938370574684854102281708728692248167760435939667145431319133163457097326540969834453163456274163701416419028663765492671169356222273821282547396951991726769182739532966111550280597860233465180650523211498020100784192664046858207879375896358058428868409785754661989231843050835092356325650661431988848681056374904853426037124271066639680314710538871137708702826307317907393661514512357979653606363410043608750520016590921803167633472533139989205756225630037419306924093087533757098151137102756930480803772331320016790241961534156257055168863300305914719743264208778844474574318512545882807302672095441890299953236927111203475142222052625697437470860152201773640070568718857091819230835880124818564625815466488140467982843789467424206767329296501373104880532138310998089421287300318644097411564898451567091654679334364068068140808017074297535000492468110665902163796401569118783086996870030948249723492536148812433463110898453649030456155010751716477506027732418065414802875781883756303750448702034128778877280425620447202311922352214890582059622167475661791452897029927284610697375279471455947585356683100190905127024704805451459531285588740308438810738673610626027025267369065747792408329349909037247627152840738255180127074707513440507775784617268752973447970959959395622856287227619305568947148328191656811774481468930153153489417190225361791503720358348099659538962777432720688339397571023146541494407776027136195469033943218532124798796934688482064570992356698962021869380292285835034870304954235523235422562307846505605641889470420139102747589466775890007136559657013319264189403736507846743919151449852009830504371792638157947355139466754496089959343406861558873871809842219036785750140517351371179799074934521144685627232934469806593127876952145503937725939349382187484409372318090147316743965640722840238591709598911515578246822290777915960909038678493588510505382871108208914489901556096272269617169791467664495424469936881845410272109670835012652715329022247002500938854687471962703943295221738484743339882992635046184879811469107660295692840624292324034522685032448585438309865725650685808892218945420579647062935921179887880236322345467482700698013558777414025907753175251864560388105769996770225660775955734887286218226119251753942311895223102438599106302947298058780136878787260568419937471631471513013041187201776137200994179237969772770322388137369588478562289865907529290462809321714663252925770077940203441862109783357060261441169852939675656184261984901660910521767708319667234711124021169816245657867105973997211776849522138389920797667011994610802471488300373826651552149270992222663125581038308004759684365715970701719852201294981310959676508005397104584947399247161576230781988564437722331978841318494514561672198045945826850259114769668395149644232720675731943507926796077982437986228521510412500459517821855125369292892032529353526546973493836784388098976787650707181099969150602931829322561823645124324544306107192920025110904331411832479722099802959186608852022741901123664498836395983115982975134406654008243848654921800288212401556764834368884420995137439522953352662888779615959302395069851282468086978316093769744570626317254767526967032817692568771170834169812338174422029457277925494408034363966462466831293222526065360480545465722286111861524786310659418132779280333907502906278956808666079635876591609675768078064185259713217859740827242323768999159252083075319264502350549857159237999813499198197653185312926413032994380837671380832126291641548815709075004014454156332158669418839850966993419618639062282958445900046347917813939297127068225745148839788752818721693217779164025486726535768390617136285802178917643747285494592431313176782546017287513606582113799825967837458084351611395958116699996771344963923188699298023774449311718587154753985453295894251592753444357473316637368558590666216422390365274049090314004199050836613500649620939649078325075058328936227019478346074619007581110454650321782031279852366052064638687534520909278511416116466431684874956354896218920136913551465570235948015258403358721128312061177735595665164884946395505328637528715840741669291237639287291528273443402848243617823194770336808895785058148186800868096779115448700970872321325444643841539742319943325325440418144974618028092345459131365629413395588379366657529113289945279054574181899711115474700607573565480644011775823641938485615703626502488875374913122605786111469053719634940828330898927889217654046921101461785403827024389184187509108883744105281390661001488832759732282360198455322198968478493177012893128726203758724326883520267702433639496486894575570016306319597993198760945329243692543150707282629085232059522346647596978077198165381414009990673748191632432492529180494502978557780625181913382977789335098408135398495394271830797248354425035024407585598959780859736041955429959454433480501712038178219702282612734959046772061660723732901849809981509271898946817265057759279082473080233883349644886392380060487043444467140426435723993206514826784472630526927310533963205467667326095518151405242839253202023487855712589460241672280447540363183613796011384433949247046110128863817768761882811642846372948197732374179139500817440142237455361230954649576278932639873705320456769360507174646039052982544845998752487894237925373022457375030809842859875108785343849060689947605622143546492172837438395794765771343130140362866089212901154112902799866836447258566004). UPGRADED-ARRAY-ELEMENT-TYPE.ERROR.1 UPGRADED-ARRAY-ELEMENT-TYPE.ERROR.2 VECTOR.TYPE.1 VECTOR.TYPE.2 VECTOR.TYPE.3 VECTOR.TYPE.4 VECTOR.TYPE.5 VECTOR.TYPE.6 VECTOR.TYPE.7 @@ -22082,56 +22028,101 @@ POSITION-LIST.20 POSITION-LIST.21 POSITION-LIST.22 POSITION-LIST.23 POSITION-LIST.24 POSITION-LIST.25 POSITION-LIST.26 POSITION-LIST.27 POSITION-LIST.28 POSITION-VECTOR.1 POSITION-VECTOR.2 POSITION-VECTOR.3 - POSITION-VECTOR.4 POSITION-VECTOR.5 POSITION-VECTOR.6 - POSITION-VECTOR.7 POSITION-VECTOR.8 POSITION-VECTOR.9 - POSITION-VECTOR.10 POSITION-VECTOR.11 POSITION-VECTOR.12 - POSITION-VECTOR.13 POSITION-VECTOR.14 POSITION-VECTOR.15 - POSITION-VECTOR.16 POSITION-VECTOR.17 POSITION-VECTOR.18 - POSITION-VECTOR.19 POSITION-VECTOR.20 POSITION-VECTOR.21 - POSITION-VECTOR.22 POSITION-VECTOR.23 POSITION-VECTOR.24 - POSITION-VECTOR.25 POSITION-VECTOR.26 POSITION-VECTOR.27 - POSITION-VECTOR.28 POSITION-VECTOR.29 POSITION-VECTOR.30 - POSITION-VECTOR.31 POSITION-BIT-VECTOR.1 POSITION-BIT-VECTOR.2 - POSITION-BIT-VECTOR.3 POSITION-BIT-VECTOR.4 POSITION-BIT-VECTOR.5 - POSITION-BIT-VECTOR.6 POSITION-BIT-VECTOR.7 POSITION-BIT-VECTOR.8 - POSITION-BIT-VECTOR.9 POSITION-BIT-VECTOR.10 POSITION-BIT-VECTOR.11 - POSITION-BIT-VECTOR.12 POSITION-BIT-VECTOR.13 POSITION-BIT-VECTOR.14 - POSITION-BIT-VECTOR.15 POSITION-BIT-VECTOR.16 POSITION-BIT-VECTOR.17 - POSITION-BIT-VECTOR.18 POSITION-BIT-VECTOR.19 POSITION-BIT-VECTOR.20 - POSITION-BIT-VECTOR.21 POSITION-BIT-VECTOR.22 POSITION-BIT-VECTOR.23 - POSITION-BIT-VECTOR.24 POSITION-BIT-VECTOR.25 POSITION-BIT-VECTOR.27 - POSITION-BIT-VECTOR.28 POSITION-BIT-VECTOR.29 POSITION-BIT-VECTOR.30 - POSITION-BIT-VECTOR.31 POSITION-BIT-VECTOR.32 POSITION-STRING.1 - POSITION-STRING.2 POSITION-STRING.3 POSITION-STRING.4 - POSITION-STRING.5 POSITION-STRING.6 POSITION-STRING.7 - POSITION-STRING.8 POSITION-STRING.9 POSITION-STRING.10 - POSITION-STRING.11 POSITION-STRING.13 POSITION-STRING.14 - POSITION-STRING.15 POSITION-STRING.16 POSITION-STRING.17 - POSITION-STRING.18 POSITION-STRING.19 POSITION-STRING.20 - POSITION-STRING.21 POSITION-STRING.22 POSITION-STRING.23 - POSITION-STRING.24 POSITION-STRING.25 POSITION-STRING.26 - POSITION-STRING.27 POSITION-STRING.28 POSITION.ORDER.1 - POSITION.ORDER.2 POSITION.ALLOW-OTHER-KEYS.1 - POSITION.ALLOW-OTHER-KEYS.2 POSITION.ALLOW-OTHER-KEYS.3 - POSITION.ALLOW-OTHER-KEYS.4 POSITION.ALLOW-OTHER-KEYS.5 - POSITION.KEYWORDS.6 POSITION.ALLOW-OTHER-KEYS.7 - POSITION.ALLOW-OTHER-KEYS.8 POSITION.ALLOW-OTHER-KEYS.9 - POSITION.ERROR.1 POSITION.ERROR.2 POSITION.ERROR.3 POSITION.ERROR.4 - POSITION.ERROR.5 POSITION.ERROR.6 POSITION.ERROR.7 POSITION.ERROR.8 - POSITION.ERROR.9 POSITION.ERROR.10 POSITION.ERROR.11 POSITION.ERROR.12 - POSITION.ERROR.13 POSITION.ERROR.14 POSITION.ERROR.15 SEARCH-LIST.1 - SEARCH-LIST.2 SEARCH-LIST.3 SEARCH-LIST.4 SEARCH-LIST.5 SEARCH-LIST.6 - SEARCH-LIST.7 SEARCH-LIST.8 SEARCH-LIST.9 SEARCH-LIST.10 - SEARCH-LIST.11 SEARCH-LIST.12 SEARCH-LIST.13 SEARCH-LIST.14 - SEARCH.ALLOW-OTHER-KEYS.1 SEARCH.ALLOW-OTHER-KEYS.2 - SEARCH.ALLOW-OTHER-KEYS.3 SEARCH.ALLOW-OTHER-KEYS.4 - SEARCH.ALLOW-OTHER-KEYS.5 SEARCH.ALLOW-OTHER-KEYS.6 - SEARCH.ALLOW-OTHER-KEYS.7 SEARCH.KEYWORDS.8 SEARCH.ERROR.1 - SEARCH.ERROR.2 SEARCH.ERROR.3 SEARCH.ERROR.4 SEARCH.ERROR.5 - SEARCH.ERROR.6 SEARCH.ERROR.7 SEARCH.ERROR.8 SEARCH.ERROR.9 - SEARCH.ERROR.10 SEARCH.ORDER.1 SEARCH.ORDER.2 SEARCH-VECTOR.1 - SEARCH-VECTOR.2 SEARCH-VECTOR.3 SEARCH-VECTOR.4 SEARCH-VECTOR.5 - SEARCH-VECTOR.6 SEARCH-VECTOR.7 SEARCH-VECTOR.8 SEARCH-VECTOR.9 ELT.12 ELT.13 + POSITION-VECTOR.4Package #<"REGRESSION-TEST" package> +Package #<"CONDITIONS" package> +Package #<"SLOT-ACCESSOR-NAME" package> +Package #<"PCL" package> +Package #<"ITERATE" package> +Package #<"WALKER" package> +Package #<"XLIB" package> +Package #<"CLTL1-COMPAT" package> +Package #<"FPE" package> +Package #<"TK" package> +Package #<"DEFPACKAGE" package> +Package #<"ANSI-LOOP" package> +Package #<"SLOOP" package> +Package #<"COMPILER" package> +Package #<"SYSTEM" package> +Package #<"KEYWORD" package> +Package #<"COMMON-LISP-USER" package> +Package #<"COMMON-LISP" package> + WITH-PACKAGE-ITERATOR.13Package #<"MPE11" package> +Package #<"TEST-DPE2" package> +Package #<"LOOP.16.PACKAGE" package> +Package #<"LOOP.15.PACKAGE" package> +Package #<"STRUCT-TEST-PACKAGE" package> +Package #<"DS4" package> +Package #<"DS3" package> +Package #<"DS2" package> +Package #<"DS1" package> +Package #<"B" package> +Package #<"A" package> +Package #<"LOOP.CL-TEST.2" package> +Package #<"LOOP.CL-TEST.1" package> +Package #<"CL-TEST" package> +Package #<"REGRESSION-TEST" package> +Package #<"CONDITIONS" package> +Package #<"SLOT-ACCESSOR-NAME" package> +Package #<"PCL" package> +Package #<"ITERATE" package> +Package #<"WALKER" package> +Package #<"XLIB" package> +Package #<"CLTL1-COMPAT" package> +Package #<"FPE" package> +Package #<"TK" package> +Package #<"DEFPACKAGE" package> +Package #<"ANSI-LOOP" package> +Package #<"SLOOP" package> +Package #<"COMPILER" package> +Package #<"SYSTEM" package> +Package #<"KEYWORD" package> +Package #<"COMMON-LISP-USER" package> +Package #<"COMMON-LISP" package> + WITH-PACKAGE-ITERATOR.14 UNEXPORT.1 UNEXPORT.2 UNEXPORT.3 UNEXPORT.4 + UNEXPORT.5 UNEXPORT.6 UNEXPORT.ERROR.1 UNEXPORT.ERROR.2 UNINTERN.1 + UNINTERN.2 UNINTERN.3 UNINTERN.4 UNINTERN.5 UNINTERN.6 UNINTERN.7Properly threw an error: # + UNINTERN.8 UNINTERN.9 UNINTERN.ERROR.1 UNINTERN.ERROR.2 IN-PACKAGE.1 + IN-PACKAGE.2 IN-PACKAGE.3 IN-PACKAGE.4 IN-PACKAGE.5 UNUSE-PACKAGE.1 + UNUSE-PACKAGE.2 UNUSE-PACKAGE.3 UNUSE-PACKAGE.4 UNUSE-PACKAGE.5 + UNUSE-PACKAGE.6 UNUSE-PACKAGE.7 UNUSE-PACKAGE.8 UNUSE-PACKAGE.9 + UNUSE-PACKAGE.ERROR.1 UNUSE-PACKAGE.ERROR.2 USE-PACKAGE.1 + USE-PACKAGE.2 USE-PACKAGE.3 USE-PACKAGE.4 USE-PACKAGE.5 USE-PACKAGE.6 + USE-PACKAGE.ERROR.1 USE-PACKAGE.ERROR.2 DEFPACKAGE.1 DEFPACKAGE.2 + DEFPACKAGE.3 DEFPACKAGE.4 DEFPACKAGE.5 DEFPACKAGE.6 DEFPACKAGE.7 + DEFPACKAGE.8 DEFPACKAGE.9 DEFPACKAGE.10 DEFPACKAGE.11 DEFPACKAGE.12 + DEFPACKAGE.13 DEFPACKAGE.14 DEFPACKAGE.15 DEFPACKAGE.16 DEFPACKAGE.17 + DEFPACKAGE.18 DEFPACKAGE.19 DEFPACKAGE.20 DEFPACKAGE.21 DEFPACKAGE.22 + DEFPACKAGE.23 DEFPACKAGE.24 DEFPACKAGE.25Making G1... +Making G2... +Making G3... +Making G1... +Making G2... +Making G3... + DEFPACKAGE.26 DO-SYMBOLS.1 DO-SYMBOLS.2 DO-SYMBOLS.3 DO-SYMBOLS.4 + DO-SYMBOLS.5 DO-EXTERNAL-SYMBOLS.1 DO-EXTERNAL-SYMBOLS.2 + DO-EXTERNAL-SYMBOLS.3 DO-EXTERNAL-SYMBOLS.4 DO-EXTERNAL-SYMBOLS.5 + DO-SYMBOLS.6 DO-EXTERNAL-SYMBOLS.6 DO-SYMBOLS.7 DO-EXTERNAL-SYMBOLS.7 + DO-SYMBOLS.8 DO-EXTERNAL-SYMBOLS.8 PACKAGEP.1 PACKAGEP.2 + PACKAGEP.ERROR.1 PACKAGEP.ERROR.2 PACKAGE-ERROR.1 PACKAGE-ERROR.2 +Test PACKAGE-ERROR.3 failed +Form: (SUBTYPEP* 'PACKAGE-ERROR 'ERROR) +Expected values: T + T +Actual values: NIL + NIL. + PACKAGE-ERROR.4 PACKAGE-ERROR-PACKAGE.1 PACKAGE-ERROR-PACKAGE.2 + PACKAGE-ERROR-PACKAGE.3 PACKAGE-ERROR-PACKAGE.4 + PACKAGE-ERROR-PACKAGE.ERROR.1 PACKAGE-ERROR-PACKAGE.ERROR.2 KEYWORD.1 + KEYWORD.2 KEYWORD.3 PACKAGE-SHADOWING-SYMBOLS.ERROR.1 + PACKAGE-SHADOWING-SYMBOLS.ERROR.2 PACKAGE-USE-LIST.ERROR.1 + PACKAGE-USE-LIST.ERROR.2 PACKAGE-USED-BY-LIST.ERROR.1 + PACKAGE-USED-BY-LIST.ERROR.2 COPY-SEQ.1 COPY-SEQ.2 COPY-SEQ.3 + COPY-SEQ.4 COPY-SEQ.5 COPY-SEQ.6 COPY-SEQ.7 COPY-SEQ.8 COPY-SEQ.9 + COPY-SEQ.10 COPY-SEQ.11 COPY-SEQ.12 COPY-SEQ.13 COPY-SEQ.14 + COPY-SEQ.15 COPY-SEQ.16 COPY-SEQ.17 COPY-SEQ.18 COPY-SEQ.ORDER.1 + COPY-SEQ.ERROR.1 COPY-SEQ.ERROR.2 COPY-SEQ.ERROR.3 COPY-SEQ.ERROR.4 + COPY-SEQ.ERROR.5 COPY-SEQ.ERROR.6 ELT.1 ELT.1A ELT.1B ELT.2 ELT.3 + ELT.4 ELT.5 ELT.5A ELT.6 ELT.7 ELT.8 ELT.9 ELT.10 ELT.11 ELT.12 ELT.13 ELT.14 ELT.15 ELT.16 ELT.17 ELT.18 ELT.19 ELT.ORDER.1 ELT.ORDER.2 ELT-V.1 ELT-V.3 ELT-V.4 ELT-V.5 ELT-V.6 ELT-V.7 ELT-V.8 ELT-V.9 ELT-V.10 ELT-V.11 ELT-V.12 ELT-V.13 ELT-ADJ-ARRAY.1 ELT-ADJ-ARRAY.3 @@ -22535,6 +22526,55 @@ SEARCH.ERROR.6 SEARCH.ERROR.7 SEARCH.ERROR.8 SEARCH.ERROR.9 SEARCH.ERROR.10 SEARCH.ORDER.1 SEARCH.ORDER.2 SEARCH-VECTOR.1 SEARCH-VECTOR.2 SEARCH-VECTOR.3 SEARCH-VECTOR.4 SEARCH-VECTOR.5 + SEARCH-VECTOR.6 SEARCH-VECTOR.7 SEARCH-VECTOR.8 SEARCH-VECTOR.9 POSITION-VECTOR.5 POSITION-VECTOR.6 + POSITION-VECTOR.7 POSITION-VECTOR.8 POSITION-VECTOR.9 + POSITION-VECTOR.10 POSITION-VECTOR.11 POSITION-VECTOR.12 + POSITION-VECTOR.13 POSITION-VECTOR.14 POSITION-VECTOR.15 + POSITION-VECTOR.16 POSITION-VECTOR.17 POSITION-VECTOR.18 + POSITION-VECTOR.19 POSITION-VECTOR.20 POSITION-VECTOR.21 + POSITION-VECTOR.22 POSITION-VECTOR.23 POSITION-VECTOR.24 + POSITION-VECTOR.25 POSITION-VECTOR.26 POSITION-VECTOR.27 + POSITION-VECTOR.28 POSITION-VECTOR.29 POSITION-VECTOR.30 + POSITION-VECTOR.31 POSITION-BIT-VECTOR.1 POSITION-BIT-VECTOR.2 + POSITION-BIT-VECTOR.3 POSITION-BIT-VECTOR.4 POSITION-BIT-VECTOR.5 + POSITION-BIT-VECTOR.6 POSITION-BIT-VECTOR.7 POSITION-BIT-VECTOR.8 + POSITION-BIT-VECTOR.9 POSITION-BIT-VECTOR.10 POSITION-BIT-VECTOR.11 + POSITION-BIT-VECTOR.12 POSITION-BIT-VECTOR.13 POSITION-BIT-VECTOR.14 + POSITION-BIT-VECTOR.15 POSITION-BIT-VECTOR.16 POSITION-BIT-VECTOR.17 + POSITION-BIT-VECTOR.18 POSITION-BIT-VECTOR.19 POSITION-BIT-VECTOR.20 + POSITION-BIT-VECTOR.21 POSITION-BIT-VECTOR.22 POSITION-BIT-VECTOR.23 + POSITION-BIT-VECTOR.24 POSITION-BIT-VECTOR.25 POSITION-BIT-VECTOR.27 + POSITION-BIT-VECTOR.28 POSITION-BIT-VECTOR.29 POSITION-BIT-VECTOR.30 + POSITION-BIT-VECTOR.31 POSITION-BIT-VECTOR.32 POSITION-STRING.1 + POSITION-STRING.2 POSITION-STRING.3 POSITION-STRING.4 + POSITION-STRING.5 POSITION-STRING.6 POSITION-STRING.7 + POSITION-STRING.8 POSITION-STRING.9 POSITION-STRING.10 + POSITION-STRING.11 POSITION-STRING.13 POSITION-STRING.14 + POSITION-STRING.15 POSITION-STRING.16 POSITION-STRING.17 + POSITION-STRING.18 POSITION-STRING.19 POSITION-STRING.20 + POSITION-STRING.21 POSITION-STRING.22 POSITION-STRING.23 + POSITION-STRING.24 POSITION-STRING.25 POSITION-STRING.26 + POSITION-STRING.27 POSITION-STRING.28 POSITION.ORDER.1 + POSITION.ORDER.2 POSITION.ALLOW-OTHER-KEYS.1 + POSITION.ALLOW-OTHER-KEYS.2 POSITION.ALLOW-OTHER-KEYS.3 + POSITION.ALLOW-OTHER-KEYS.4 POSITION.ALLOW-OTHER-KEYS.5 + POSITION.KEYWORDS.6 POSITION.ALLOW-OTHER-KEYS.7 + POSITION.ALLOW-OTHER-KEYS.8 POSITION.ALLOW-OTHER-KEYS.9 + POSITION.ERROR.1 POSITION.ERROR.2 POSITION.ERROR.3 POSITION.ERROR.4 + POSITION.ERROR.5 POSITION.ERROR.6 POSITION.ERROR.7 POSITION.ERROR.8 + POSITION.ERROR.9 POSITION.ERROR.10 POSITION.ERROR.11 POSITION.ERROR.12 + POSITION.ERROR.13 POSITION.ERROR.14 POSITION.ERROR.15 SEARCH-LIST.1 + SEARCH-LIST.2 SEARCH-LIST.3 SEARCH-LIST.4 SEARCH-LIST.5 SEARCH-LIST.6 + SEARCH-LIST.7 SEARCH-LIST.8 SEARCH-LIST.9 SEARCH-LIST.10 + SEARCH-LIST.11 SEARCH-LIST.12 SEARCH-LIST.13 SEARCH-LIST.14 + SEARCH.ALLOW-OTHER-KEYS.1 SEARCH.ALLOW-OTHER-KEYS.2 + SEARCH.ALLOW-OTHER-KEYS.3 SEARCH.ALLOW-OTHER-KEYS.4 + SEARCH.ALLOW-OTHER-KEYS.5 SEARCH.ALLOW-OTHER-KEYS.6 + SEARCH.ALLOW-OTHER-KEYS.7 SEARCH.KEYWORDS.8 SEARCH.ERROR.1 + SEARCH.ERROR.2 SEARCH.ERROR.3 SEARCH.ERROR.4 SEARCH.ERROR.5 + SEARCH.ERROR.6 SEARCH.ERROR.7 SEARCH.ERROR.8 SEARCH.ERROR.9 + SEARCH.ERROR.10 SEARCH.ORDER.1 SEARCH.ORDER.2 SEARCH-VECTOR.1 + SEARCH-VECTOR.2 SEARCH-VECTOR.3 SEARCH-VECTOR.4 SEARCH-VECTOR.5 SEARCH-VECTOR.6 SEARCH-VECTOR.7 SEARCH-VECTOR.8 SEARCH-VECTOR.9 SEARCH-VECTOR.10 SEARCH-VECTOR.11 SEARCH-VECTOR.12 SEARCH-VECTOR.13 SEARCH-VECTOR.14 SEARCH-VECTOR.15 SEARCH-VECTOR.16 SEARCH-BITVECTOR.1 @@ -22544,54 +22584,7 @@ SEARCH-BITVECTOR.11 SEARCH-BITVECTOR.12 SEARCH-BITVECTOR.13 SEARCH-BITVECTOR.14 SEARCH-BITVECTOR.15 SEARCH-BITVECTOR.16 SEARCH-STRING.2 SEARCH-STRING.3 SEARCH-STRING.4 SEARCH-STRING.5 - SEARCH-STRING.6 SEARCH-STRING.7 SEARCH-STRING.8 SEARCH-STRING.9 - SEARCH-STRING.10 SEARCH-STRING.11 SEARCH-STRING.13 SEARCH-STRING.14 - SEARCH-STRING.15 SEARCH-STRING.16 MISMATCH-LIST.1 MISMATCH-LIST.2 - MISMATCH-LIST.3 MISMATCH-LIST.4 MISMATCH-LIST.5 MISMATCH-LIST.6 - MISMATCH-LIST.7 MISMATCH-LIST.8 MISMATCH-LIST.9 MISMATCH-LIST.10 - MISMATCH-LIST.11 MISMATCH-LIST.12 MISMATCH-LIST.13 MISMATCH-LIST.14 - MISMATCH-LIST.15 MISMATCH-LIST.16 MISMATCH-LIST.17 MISMATCH-LIST.18 - MISMATCH-LIST.19 MISMATCH-LIST.20 MISMATCH-LIST.21 MISMATCH-LIST.22 - MISMATCH-VECTOR.1 MISMATCH-VECTOR.2 MISMATCH-VECTOR.3 - MISMATCH-VECTOR.4 MISMATCH-VECTOR.5 MISMATCH-VECTOR.6 - MISMATCH-VECTOR.7 MISMATCH-VECTOR.8 MISMATCH-VECTOR.9 - MISMATCH-VECTOR.10 MISMATCH-VECTOR.11 MISMATCH-VECTOR.12 - MISMATCH-VECTOR.13 MISMATCH-VECTOR.14 MISMATCH-VECTOR.15 - MISMATCH-VECTOR.16 MISMATCH-VECTOR.17 MISMATCH-VECTOR.18 - MISMATCH-VECTOR.19 MISMATCH-VECTOR.20 MISMATCH-VECTOR.21 - MISMATCH-VECTOR.22 MISMATCH-VECTOR.23 MISMATCH-VECTOR.24 - MISMATCH-BIT-VECTOR.1 MISMATCH-BIT-VECTOR.1A MISMATCH-BIT-VECTOR.1B - MISMATCH-BIT-VECTOR.2 MISMATCH-BIT-VECTOR.2A MISMATCH-BIT-VECTOR.2B - MISMATCH-BIT-VECTOR.3 MISMATCH-BIT-VECTOR.4 MISMATCH-BIT-VECTOR.5 - MISMATCH-BIT-VECTOR.6 MISMATCH-BIT-VECTOR.7 MISMATCH-BIT-VECTOR.7A - MISMATCH-BIT-VECTOR.7B MISMATCH-BIT-VECTOR.8 MISMATCH-BIT-VECTOR.8A - MISMATCH-BIT-VECTOR.9 MISMATCH-BIT-VECTOR.9A MISMATCH-BIT-VECTOR.9B - MISMATCH-BIT-VECTOR.10 MISMATCH-BIT-VECTOR.10A MISMATCH-BIT-VECTOR.11 - MISMATCH-BIT-VECTOR.11A MISMATCH-BIT-VECTOR.11B - MISMATCH-BIT-VECTOR.11C MISMATCH-BIT-VECTOR.11D MISMATCH-BIT-VECTOR.12 - MISMATCH-BIT-VECTOR.12A MISMATCH-BIT-VECTOR.12B MISMATCH-BIT-VECTOR.13 - MISMATCH-BIT-VECTOR.14 MISMATCH-BIT-VECTOR.15 MISMATCH-BIT-VECTOR.16 - MISMATCH-BIT-VECTOR.17 MISMATCH-BIT-VECTOR.18 MISMATCH-BIT-VECTOR.19 - MISMATCH-BIT-VECTOR.20 MISMATCH-BIT-VECTOR.21 MISMATCH-BIT-VECTOR.22 - MISMATCH-BIT-VECTOR.23 MISMATCH-BIT-VECTOR.24 MISMATCH-STRING.1 - MISMATCH-STRING.1A MISMATCH-STRING.1B MISMATCH-STRING.2 - MISMATCH-STRING.2A MISMATCH-STRING.2B MISMATCH-STRING.3 - MISMATCH-STRING.4 MISMATCH-STRING.5 MISMATCH-STRING.6 - MISMATCH-STRING.7 MISMATCH-STRING.7A MISMATCH-STRING.7B - MISMATCH-STRING.8 MISMATCH-STRING.8A MISMATCH-STRING.9 - MISMATCH-STRING.9A MISMATCH-STRING.9B MISMATCH-STRING.10 - MISMATCH-STRING.10A MISMATCH-STRING.11 MISMATCH-STRING.11A - MISMATCH-STRING.11B MISMATCH-STRING.11C MISMATCH-STRING.11D - MISMATCH-STRING.11E MISMATCH-STRING.12 MISMATCH-STRING.12A - MISMATCH-STRING.12B MISMATCH-STRING.13 MISMATCH-STRING.14 - MISMATCH-STRING.15 MISMATCH-STRING.16 MISMATCH-STRING.17 - MISMATCH-STRING.18 MISMATCH-STRING.19 MISMATCH-STRING.20 - MISMATCH-STRING.20A MISMATCH-STRING.21 MISMATCH-STRING.22 - MISMATCH-STRING.23 MISMATCH-STRING.24 MISMATCH.ALLOW-OTHER-KEYS.1 - MISMATCH.ALLOW-OTHER-KEYS.2 MISMATCH.ALLOW-OTHER-KEYS.3 - MISMATCH.ALLOW-OTHER-KEYS.4 MISMATCH.ALLOW-OTHER-KEYS.5 - MISMATCH.KEYWORDS.6 MISMATCH.ALLOW-OTHER-KEYS.7 MISMATCH.ORDER.1 - MISMATCH.ORDER.2 MISMATCH.ORDER.3 + SEARCH-STRING.6 SEARCH-STRING.7 SEARCH-VECTOR.10 SEARCH-VECTOR.11 SEARCH-VECTOR.12 SEARCH-VECTOR.13 SEARCH-VECTOR.14 SEARCH-VECTOR.15 SEARCH-VECTOR.16 SEARCH-BITVECTOR.1 SEARCH-BITVECTOR.2 SEARCH-BITVECTOR.3 SEARCH-BITVECTOR.4 @@ -23122,8 +23115,54 @@ DELETE-BIT-VECTOR.2 DELETE-BIT-VECTOR.3 REMOVE.ORDER.1 REMOVE.ORDER.2 DELETE.ORDER.1 DELETE.ORDER.2 REMOVE-IF.ORDER.1 REMOVE-IF.ORDER.2 DELETE-IF.ORDER.1 DELETE-IF.ORDER.2 REMOVE-IF-NOT.ORDER.1 - REMOVE-IF-NOT.ORDER.2 DELETE-IF-NOT.ORDER.1 DELETE-IF-NOT.ORDER.2 - REMOVE-RANDOM MISMATCH.ERROR.1 MISMATCH.ERROR.2 + REMOVE-IF-NOT.ORDER.2 DELETE-IF-NOT.ORDER.1 DELETE-IF-NOT.ORDER.2 SEARCH-STRING.8 SEARCH-STRING.9 + SEARCH-STRING.10 SEARCH-STRING.11 SEARCH-STRING.13 SEARCH-STRING.14 + SEARCH-STRING.15 SEARCH-STRING.16 MISMATCH-LIST.1 MISMATCH-LIST.2 + MISMATCH-LIST.3 MISMATCH-LIST.4 MISMATCH-LIST.5 MISMATCH-LIST.6 + MISMATCH-LIST.7 MISMATCH-LIST.8 MISMATCH-LIST.9 MISMATCH-LIST.10 + MISMATCH-LIST.11 MISMATCH-LIST.12 MISMATCH-LIST.13 MISMATCH-LIST.14 + MISMATCH-LIST.15 MISMATCH-LIST.16 MISMATCH-LIST.17 MISMATCH-LIST.18 + MISMATCH-LIST.19 MISMATCH-LIST.20 MISMATCH-LIST.21 MISMATCH-LIST.22 + MISMATCH-VECTOR.1 MISMATCH-VECTOR.2 MISMATCH-VECTOR.3 + MISMATCH-VECTOR.4 MISMATCH-VECTOR.5 MISMATCH-VECTOR.6 + MISMATCH-VECTOR.7 MISMATCH-VECTOR.8 MISMATCH-VECTOR.9 + MISMATCH-VECTOR.10 MISMATCH-VECTOR.11 MISMATCH-VECTOR.12 + MISMATCH-VECTOR.13 MISMATCH-VECTOR.14 MISMATCH-VECTOR.15 + MISMATCH-VECTOR.16 MISMATCH-VECTOR.17 MISMATCH-VECTOR.18 + MISMATCH-VECTOR.19 MISMATCH-VECTOR.20 MISMATCH-VECTOR.21 + MISMATCH-VECTOR.22 MISMATCH-VECTOR.23 MISMATCH-VECTOR.24 + MISMATCH-BIT-VECTOR.1 MISMATCH-BIT-VECTOR.1A MISMATCH-BIT-VECTOR.1B + MISMATCH-BIT-VECTOR.2 MISMATCH-BIT-VECTOR.2A MISMATCH-BIT-VECTOR.2B + MISMATCH-BIT-VECTOR.3 MISMATCH-BIT-VECTOR.4 MISMATCH-BIT-VECTOR.5 + MISMATCH-BIT-VECTOR.6 MISMATCH-BIT-VECTOR.7 MISMATCH-BIT-VECTOR.7A + MISMATCH-BIT-VECTOR.7B MISMATCH-BIT-VECTOR.8 MISMATCH-BIT-VECTOR.8A + MISMATCH-BIT-VECTOR.9 MISMATCH-BIT-VECTOR.9A MISMATCH-BIT-VECTOR.9B + MISMATCH-BIT-VECTOR.10 MISMATCH-BIT-VECTOR.10A MISMATCH-BIT-VECTOR.11 + MISMATCH-BIT-VECTOR.11A MISMATCH-BIT-VECTOR.11B + MISMATCH-BIT-VECTOR.11C MISMATCH-BIT-VECTOR.11D MISMATCH-BIT-VECTOR.12 + MISMATCH-BIT-VECTOR.12A MISMATCH-BIT-VECTOR.12B MISMATCH-BIT-VECTOR.13 + MISMATCH-BIT-VECTOR.14 MISMATCH-BIT-VECTOR.15 MISMATCH-BIT-VECTOR.16 + MISMATCH-BIT-VECTOR.17 MISMATCH-BIT-VECTOR.18 MISMATCH-BIT-VECTOR.19 + MISMATCH-BIT-VECTOR.20 MISMATCH-BIT-VECTOR.21 MISMATCH-BIT-VECTOR.22 + MISMATCH-BIT-VECTOR.23 MISMATCH-BIT-VECTOR.24 MISMATCH-STRING.1 + MISMATCH-STRING.1A MISMATCH-STRING.1B MISMATCH-STRING.2 + MISMATCH-STRING.2A MISMATCH-STRING.2B MISMATCH-STRING.3 + MISMATCH-STRING.4 MISMATCH-STRING.5 MISMATCH-STRING.6 + MISMATCH-STRING.7 MISMATCH-STRING.7A MISMATCH-STRING.7B + MISMATCH-STRING.8 MISMATCH-STRING.8A MISMATCH-STRING.9 + MISMATCH-STRING.9A MISMATCH-STRING.9B MISMATCH-STRING.10 + MISMATCH-STRING.10A MISMATCH-STRING.11 MISMATCH-STRING.11A + MISMATCH-STRING.11B MISMATCH-STRING.11C MISMATCH-STRING.11D + MISMATCH-STRING.11E MISMATCH-STRING.12 MISMATCH-STRING.12A + MISMATCH-STRING.12B MISMATCH-STRING.13 MISMATCH-STRING.14 + MISMATCH-STRING.15 MISMATCH-STRING.16 MISMATCH-STRING.17 + MISMATCH-STRING.18 MISMATCH-STRING.19 MISMATCH-STRING.20 + MISMATCH-STRING.20A MISMATCH-STRING.21 MISMATCH-STRING.22 + MISMATCH-STRING.23 MISMATCH-STRING.24 MISMATCH.ALLOW-OTHER-KEYS.1 + MISMATCH.ALLOW-OTHER-KEYS.2 MISMATCH.ALLOW-OTHER-KEYS.3 + MISMATCH.ALLOW-OTHER-KEYS.4 MISMATCH.ALLOW-OTHER-KEYS.5 + MISMATCH.KEYWORDS.6 MISMATCH.ALLOW-OTHER-KEYS.7 MISMATCH.ORDER.1 + MISMATCH.ORDER.2 MISMATCH.ORDER.3 MISMATCH.ERROR.1 MISMATCH.ERROR.2 MISMATCH.ERROR.3 MISMATCH.ERROR.4 MISMATCH.ERROR.5 MISMATCH.ERROR.6 MISMATCH.ERROR.7 MISMATCH.ERROR.8 MISMATCH.ERROR.9 MISMATCH.ERROR.10 REPLACE-LIST.1 REPLACE-LIST.2 REPLACE-LIST.3 REPLACE-LIST.4 @@ -23599,7 +23638,8 @@ DELETE.ORDER.1 DELETE.ORDER.2 REMOVE-IF.ORDER.1 REMOVE-IF.ORDER.2 DELETE-IF.ORDER.1 DELETE-IF.ORDER.2 REMOVE-IF-NOT.ORDER.1 REMOVE-IF-NOT.ORDER.2 DELETE-IF-NOT.ORDER.1 DELETE-IF-NOT.ORDER.2 - REMOVE-RANDOM REMOVE-IF-RANDOM REMOVE-IF-NOT-RANDOM DELETE-RANDOM REMOVE-IF-RANDOM REMOVE-IF-NOT-RANDOM DELETE-RANDOM + REMOVE-RANDOM REMOVE-IF-RANDOM + REMOVE-RANDOM REMOVE-IF-RANDOM REMOVE-IF-NOT-RANDOM DELETE-RANDOM REMOVE-IF-NOT-RANDOM DELETE-RANDOM DELETE-IF-RANDOM DELETE-IF-NOT-RANDOM REMOVE-IF-LIST.1 REMOVE-IF-LIST.2 REMOVE-IF-NOT-LIST.1 REMOVE-IF-NOT-LIST.2 DELETE-IF-LIST.1 DELETE-IF-LIST.2 DELETE-IF-NOT-LIST.1 @@ -25253,1276 +25293,7 @@ (((SUBTYPEP 'PRINT-NOT-READABLE 'ATOM) ==> NIL NIL)) (((SUBTYPEP 'READER-ERROR 'ATOM) ==> NIL NIL)) (((SUBTYPEP 'READER-ERROR 'ATOM) ==> NIL NIL))). - TYPES.7B TYPES.7C -Should be atomic, but isn't: CONDITION -Test TYPES.8 failed -Form: (LOOP - FOR - TP - IN - *DISJOINT-TYPES-LIST* - COUNT - (COND - ((AND (NOT (EQT TP 'CONS)) (NOT (SUBTYPEP* TP 'ATOM))) - (FORMAT T "~%Should be atomic, but isn't: ~S" TP) T))) -Expected value: 0 -Actual value: 1. - TYPES.9Found element of FUNCTION not in ATOM: (SYSTEM:LAMBDA-CLOSURE - () () () (X) - X) -Found element of ARRAY not in SIMPLE-ARRAY: #0ANIL -Found element of ARRAY not in SIMPLE-ARRAY: #(NIL NIL) -Found element of ARRAY not in SIMPLE-ARRAY: #2A((NIL NIL) (NIL NIL)) -Found element of ARRAY not in SIMPLE-ARRAY: #3A(((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))) -Found element of ARRAY not in SIMPLE-ARRAY: #4A((((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))) - (((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL)))) -Found element of ARRAY not in SIMPLE-ARRAY: #5A(((((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))) - (((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL)))) - ((((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))) - (((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))))) -Found element of ARRAY not in SIMPLE-ARRAY: #6A((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))) -Found element of ARRAY not in SIMPLE-ARRAY: #7A(((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))) - ((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))))) -Found element of ARRAY not in SIMPLE-ARRAY: #8A((((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))) - ((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))))) - (((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))) - ((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))))) -Found element of VECTOR not in SIMPLE-ARRAY: #(NIL NIL) -Test TYPES.9A failed -Form: (TYPES.9A-BODY) -Expected value: 0 -Actual value: 11. -Test ALL-CLASSES-ARE-TYPE-EQUIVALENT-TO-THEIR-NAMES failed -Form: (LOOP - FOR - SYM - BEING - THE - EXTERNAL-SYMBOLS - OF - "COMMON-LISP" - FOR - CLASS - = - (FIND-CLASS SYM NIL) - WHEN - CLASS - APPEND - (CHECK-EQUIVALENCE SYM CLASS)) -Expected value: NIL -Actual value: (((SUBTYPEP 'STRUCTURE-OBJECT - #) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STRUCTURE-OBJECT)) - ==> NIL T) - ((SUBTYPEP 'ARITHMETIC-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'ARITHMETIC-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT ARITHMETIC-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT ARITHMETIC-ERROR)) - ==> NIL T) - ((SUBTYPEP 'SYMBOL - #) - ==> NIL T) - ((SUBTYPEP - # 'SYMBOL) - ==> NIL T) - ((SUBTYPEP '(NOT SYMBOL) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SYMBOL)) - ==> NIL T) - ((SUBTYPEP 'CONTROL-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'CONTROL-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT CONTROL-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CONTROL-ERROR)) - ==> NIL T) - ((SUBTYPEP 'CLASS - #) - ==> NIL T) - ((SUBTYPEP - # 'CLASS) - ==> NIL T) - ((SUBTYPEP '(NOT CLASS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CLASS)) - ==> NIL T) - ((SUBTYPEP 'SIMPLE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'SIMPLE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT SIMPLE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SIMPLE-ERROR)) - ==> NIL T) - ((SUBTYPEP T - #) - ==> NIL T) - ((SUBTYPEP - # T) - ==> NIL T) - ((SUBTYPEP '(NOT T) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT T)) - ==> NIL T) - ((SUBTYPEP 'COMPLEX - #) - ==> NIL T) - ((SUBTYPEP - # 'COMPLEX) - ==> NIL T) - ((SUBTYPEP '(NOT COMPLEX) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT COMPLEX)) - ==> NIL T) - ((SUBTYPEP 'ARRAY - #) - ==> NIL T) - ((SUBTYPEP - # 'ARRAY) - ==> NIL T) - ((SUBTYPEP '(NOT ARRAY) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT ARRAY)) - ==> NIL T) - ((SUBTYPEP 'FLOATING-POINT-INEXACT - #) - ==> NIL T) - ((SUBTYPEP - # - 'FLOATING-POINT-INEXACT) - ==> NIL T) - ((SUBTYPEP '(NOT FLOATING-POINT-INEXACT) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOATING-POINT-INEXACT)) - ==> NIL T) - ((SUBTYPEP 'NUMBER - #) - ==> NIL T) - ((SUBTYPEP - # 'NUMBER) - ==> NIL T) - ((SUBTYPEP '(NOT NUMBER) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT NUMBER)) - ==> NIL T) - ((SUBTYPEP 'NULL - #) - ==> NIL T) - ((SUBTYPEP - # 'NULL) - ==> NIL T) - ((SUBTYPEP '(NOT NULL) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT NULL)) - ==> NIL T) - ((SUBTYPEP 'FLOATING-POINT-UNDERFLOW - #) - ==> NIL T) - ((SUBTYPEP - # - 'FLOATING-POINT-UNDERFLOW) - ==> NIL T) - ((SUBTYPEP '(NOT FLOATING-POINT-UNDERFLOW) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOATING-POINT-UNDERFLOW)) - ==> NIL T) - ((SUBTYPEP 'FLOATING-POINT-OVERFLOW - #) - ==> NIL T) - ((SUBTYPEP - # - 'FLOATING-POINT-OVERFLOW) - ==> NIL T) - ((SUBTYPEP '(NOT FLOATING-POINT-OVERFLOW) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOATING-POINT-OVERFLOW)) - ==> NIL T) - ((SUBTYPEP 'RATIONAL - #) - ==> NIL T) - ((SUBTYPEP - # 'RATIONAL) - ==> NIL T) - ((SUBTYPEP '(NOT RATIONAL) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT RATIONAL)) - ==> NIL T) - ((SUBTYPEP 'RATIO - #) - ==> NIL T) - ((SUBTYPEP - # 'RATIO) - ==> NIL T) - ((SUBTYPEP '(NOT RATIO) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT RATIO)) - ==> NIL T) - ((SUBTYPEP 'STANDARD-METHOD - #) - ==> NIL T) - ((SUBTYPEP - # - 'STANDARD-METHOD) - ==> NIL T) - ((SUBTYPEP '(NOT STANDARD-METHOD) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STANDARD-METHOD)) - ==> NIL T) - ((SUBTYPEP 'STRUCTURE-CLASS - #) - ==> NIL T) - ((SUBTYPEP - # - 'STRUCTURE-CLASS) - ==> NIL T) - ((SUBTYPEP '(NOT STRUCTURE-CLASS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STRUCTURE-CLASS)) - ==> NIL T) - ((SUBTYPEP 'BUILT-IN-CLASS - #) - ==> NIL T) - ((SUBTYPEP - # - 'BUILT-IN-CLASS) - ==> NIL T) - ((SUBTYPEP '(NOT BUILT-IN-CLASS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT BUILT-IN-CLASS)) - ==> NIL T) - ((SUBTYPEP 'UNBOUND-SLOT - #) - ==> NIL T) - ((SUBTYPEP - # - 'UNBOUND-SLOT) - ==> NIL T) - ((SUBTYPEP '(NOT UNBOUND-SLOT) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT UNBOUND-SLOT)) - ==> NIL T) - ((SUBTYPEP 'ERROR - #) - ==> NIL T) - ((SUBTYPEP - # 'ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT ERROR)) - ==> NIL T) - ((SUBTYPEP 'STANDARD-GENERIC-FUNCTION - #) - ==> NIL T) - ((SUBTYPEP - # - 'STANDARD-GENERIC-FUNCTION) - ==> NIL T) - ((SUBTYPEP '(NOT STANDARD-GENERIC-FUNCTION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STANDARD-GENERIC-FUNCTION)) - ==> NIL T) - ((SUBTYPEP 'CHARACTER - #) - ==> NIL T) - ((SUBTYPEP - # 'CHARACTER) - ==> NIL T) - ((SUBTYPEP '(NOT CHARACTER) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CHARACTER)) - ==> NIL T) - ((SUBTYPEP 'DIVISION-BY-ZERO - #) - ==> NIL T) - ((SUBTYPEP - # - 'DIVISION-BY-ZERO) - ==> NIL T) - ((SUBTYPEP '(NOT DIVISION-BY-ZERO) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT DIVISION-BY-ZERO)) - ==> NIL T) - ((SUBTYPEP 'SEQUENCE - #) - ==> NIL T) - ((SUBTYPEP - # 'SEQUENCE) - ==> NIL T) - ((SUBTYPEP '(NOT SEQUENCE) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SEQUENCE)) - ==> NIL T) - ((SUBTYPEP 'PRINT-NOT-READABLE - #) - ==> NIL T) - ((SUBTYPEP - # - 'PRINT-NOT-READABLE) - ==> NIL T) - ((SUBTYPEP '(NOT PRINT-NOT-READABLE) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT PRINT-NOT-READABLE)) - ==> NIL T) - ((SUBTYPEP 'UNDEFINED-FUNCTION - #) - ==> NIL T) - ((SUBTYPEP - # - 'UNDEFINED-FUNCTION) - ==> NIL T) - ((SUBTYPEP '(NOT UNDEFINED-FUNCTION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT UNDEFINED-FUNCTION)) - ==> NIL T) - ((SUBTYPEP 'END-OF-FILE - #) - ==> NIL T) - ((SUBTYPEP - # - 'END-OF-FILE) - ==> NIL T) - ((SUBTYPEP '(NOT END-OF-FILE) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT END-OF-FILE)) - ==> NIL T) - ((SUBTYPEP 'INTEGER - #) - ==> NIL T) - ((SUBTYPEP - # 'INTEGER) - ==> NIL T) - ((SUBTYPEP '(NOT INTEGER) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT INTEGER)) - ==> NIL T) - ((SUBTYPEP 'FLOAT - #) - ==> NIL T) - ((SUBTYPEP - # 'FLOAT) - ==> NIL T) - ((SUBTYPEP '(NOT FLOAT) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOAT)) - ==> NIL T) - ((SUBTYPEP 'BIT-VECTOR - #) - ==> NIL T) - ((SUBTYPEP - # 'BIT-VECTOR) - ==> NIL T) - ((SUBTYPEP '(NOT BIT-VECTOR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT BIT-VECTOR)) - ==> NIL T) - ((SUBTYPEP 'STYLE-WARNING - #) - ==> NIL T) - ((SUBTYPEP - # - 'STYLE-WARNING) - ==> NIL T) - ((SUBTYPEP '(NOT STYLE-WARNING) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STYLE-WARNING)) - ==> NIL T) - ((SUBTYPEP 'SIMPLE-TYPE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'SIMPLE-TYPE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT SIMPLE-TYPE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SIMPLE-TYPE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'CELL-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # 'CELL-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT CELL-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CELL-ERROR)) - ==> NIL T) - ((SUBTYPEP 'FILE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # 'FILE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT FILE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FILE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'RESTART - #) - ==> NIL T) - ((SUBTYPEP - # 'RESTART) - ==> NIL T) - ((SUBTYPEP '(NOT RESTART) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT RESTART)) - ==> NIL T) - ((SUBTYPEP 'TYPE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # 'TYPE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT TYPE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT TYPE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'LIST - #) - ==> NIL T) - ((SUBTYPEP - # 'LIST) - ==> NIL T) - ((SUBTYPEP '(NOT LIST) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT LIST)) - ==> NIL T) - ((SUBTYPEP 'STANDARD-OBJECT - #) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STANDARD-OBJECT)) - ==> NIL T) - ((SUBTYPEP 'STRING - #) - ==> NIL T) - ((SUBTYPEP - # 'STRING) - ==> NIL T) - ((SUBTYPEP '(NOT STRING) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STRING)) - ==> NIL T) - ((SUBTYPEP 'METHOD-COMBINATION - #) - ==> NIL T) - ((SUBTYPEP - # - 'METHOD-COMBINATION) - ==> NIL T) - ((SUBTYPEP '(NOT METHOD-COMBINATION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT METHOD-COMBINATION)) - ==> NIL T) - ((SUBTYPEP 'CONS - #) - ==> NIL T) - ((SUBTYPEP - # 'CONS) - ==> NIL T) - ((SUBTYPEP '(NOT CONS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT CONS)) - ==> NIL T) - ((SUBTYPEP 'SIMPLE-CONDITION - #) - ==> NIL T) - ((SUBTYPEP - # - 'SIMPLE-CONDITION) - ==> NIL T) - ((SUBTYPEP '(NOT SIMPLE-CONDITION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SIMPLE-CONDITION)) - ==> NIL T) - ((SUBTYPEP 'SIMPLE-WARNING - #) - ==> NIL T) - ((SUBTYPEP - # - 'SIMPLE-WARNING) - ==> NIL T) - ((SUBTYPEP '(NOT SIMPLE-WARNING) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SIMPLE-WARNING)) - ==> NIL T) - ((SUBTYPEP 'PACKAGE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'PACKAGE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT PACKAGE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT PACKAGE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'PARSE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'PARSE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT PARSE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT PARSE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'WARNING - #) - ==> NIL T) - ((SUBTYPEP - # 'WARNING) - ==> NIL T) - ((SUBTYPEP '(NOT WARNING) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT WARNING)) - ==> NIL T) - ((SUBTYPEP 'STORAGE-CONDITION - #) - ==> NIL T) - ((SUBTYPEP - # - 'STORAGE-CONDITION) - ==> NIL T) - ((SUBTYPEP '(NOT STORAGE-CONDITION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STORAGE-CONDITION)) - ==> NIL T) - ((SUBTYPEP 'FLOATING-POINT-INVALID-OPERATION - #) - ==> NIL T) - ((SUBTYPEP - # - 'FLOATING-POINT-INVALID-OPERATION) - ==> NIL T) - ((SUBTYPEP '(NOT FLOATING-POINT-INVALID-OPERATION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOATING-POINT-INVALID-OPERATION)) - ==> NIL T) - ((SUBTYPEP 'PROGRAM-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'PROGRAM-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT PROGRAM-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT PROGRAM-ERROR)) - ==> NIL T) - ((SUBTYPEP 'METHOD - #) - ==> NIL T) - ((SUBTYPEP - # 'METHOD) - ==> NIL T) - ((SUBTYPEP '(NOT METHOD) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT METHOD)) - ==> NIL T) - ((SUBTYPEP 'STANDARD-CLASS - #) - ==> NIL T) - ((SUBTYPEP - # - 'STANDARD-CLASS) - ==> NIL T) - ((SUBTYPEP '(NOT STANDARD-CLASS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STANDARD-CLASS)) - ==> NIL T) - ((SUBTYPEP 'GENERIC-FUNCTION - #) - ==> NIL T) - ((SUBTYPEP - # - 'GENERIC-FUNCTION) - ==> NIL T) - ((SUBTYPEP '(NOT GENERIC-FUNCTION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT GENERIC-FUNCTION)) - ==> NIL T) - ((SUBTYPEP 'STREAM-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'STREAM-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT STREAM-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STREAM-ERROR)) - ==> NIL T) - ((SUBTYPEP 'SERIOUS-CONDITION - #) - ==> NIL T) - ((SUBTYPEP - # - 'SERIOUS-CONDITION) - ==> NIL T) - ((SUBTYPEP '(NOT SERIOUS-CONDITION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SERIOUS-CONDITION)) - ==> NIL T) - ((SUBTYPEP 'READER-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'READER-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT READER-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT READER-ERROR)) - ==> NIL T) - ((SUBTYPEP 'REAL - #) - ==> NIL T) - ((SUBTYPEP - # 'REAL) - ==> NIL T) - ((SUBTYPEP '(NOT REAL) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT REAL)) - ==> NIL T) - ((SUBTYPEP 'VECTOR - #) - ==> NIL T) - ((SUBTYPEP - # 'VECTOR) - ==> NIL T) - ((SUBTYPEP '(NOT VECTOR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT VECTOR)) - ==> NIL T) - ((SUBTYPEP 'CONDITION - #) - ==> NIL T) - ((SUBTYPEP - # 'CONDITION) - ==> NIL T) - ((SUBTYPEP '(NOT CONDITION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CONDITION)) - ==> NIL T) - ((SUBTYPEP 'UNBOUND-VARIABLE - #) - ==> NIL T) - ((SUBTYPEP - # - 'UNBOUND-VARIABLE) - ==> NIL T) - ((SUBTYPEP '(NOT UNBOUND-VARIABLE) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT UNBOUND-VARIABLE)) - ==> NIL T)). -Test ALL-STANDARD-CLASSES-ARE-SUBTYPES-OF-STANDARD-OBJECT failed -Form: (LOOP - FOR - SYM - BEING - THE - EXTERNAL-SYMBOLS - OF - "COMMON-LISP" - FOR - CLASS - = - (FIND-CLASS SYM NIL) - WHEN - (AND CLASS (TYPEP CLASS 'STANDARD-CLASS) - (OR (NOT (SUBTYPEP SYM 'STANDARD-OBJECT)) - (NOT (SUBTYPEP CLASS 'STANDARD-OBJECT)))) - COLLECT - SYM) -Expected value: NIL -Actual value: (ARITHMETIC-ERROR CONTROL-ERROR CLASS SIMPLE-ERROR - FLOATING-POINT-INEXACT FLOATING-POINT-UNDERFLOW - FLOATING-POINT-OVERFLOW STANDARD-METHOD - STRUCTURE-CLASS BUILT-IN-CLASS UNBOUND-SLOT ERROR - DIVISION-BY-ZERO PRINT-NOT-READABLE - UNDEFINED-FUNCTION END-OF-FILE STYLE-WARNING - SIMPLE-TYPE-ERROR CELL-ERROR FILE-ERROR TYPE-ERROR - METHOD-COMBINATION SIMPLE-CONDITION SIMPLE-WARNING - PACKAGE-ERROR PARSE-ERROR WARNING STORAGE-CONDITION - FLOATING-POINT-INVALID-OPERATION PROGRAM-ERROR METHOD - STANDARD-CLASS STREAM-ERROR SERIOUS-CONDITION - READER-ERROR CONDITION UNBOUND-VARIABLE). - ALL-STRUCTURE-CLASSES-ARE-SUBTYPES-OF-STRUCTURE-OBJECT - ALL-EXPORTED-CL-CLASS-NAMES-ARE-VALID -Test ALL-STANDARD-GENERIC-FUNCTIONS-ARE-INSTANCES-OF-THAT-CLASS failed -Form: (LOOP - FOR - SYM - IN - *CL-STANDARD-GENERIC-FUNCTION-SYMBOLS* - FOR - FUN - = - (AND (FBOUNDP SYM) (SYMBOL-FUNCTION SYM)) - UNLESS - (AND (TYPEP FUN 'GENERIC-FUNCTION) - (TYPEP FUN 'STANDARD-GENERIC-FUNCTION)) - COLLECT - (LIST SYM FUN)) -Expected value: NIL -Actual value: ((DOCUMENTATION #) - (FIND-METHOD NIL) (NO-NEXT-METHOD NIL)). - STRUCTURE-OBJECT-IS-IN-STRUCTURE-CLASS - STANDARD-OBJECT-IS-IN-STANDARD-CLASS DEFTYPE.1 DEFTYPE.2 DEFTYPE.3 - DEFTYPE.4 DEFTYPE.5 DEFTYPE.6 TYPE-AND-CLASS-FNS TYPE-AND-CLASS-MACROS - TYPEP-NIL-NULL TYPEP-T-NULL TYPE-OF.ERROR.1 TYPE-OF.ERROR.2 - TYPEP.ERROR.1 TYPEP.ERROR.2 TYPEP.ERROR.3 TYPE-ERROR-DATUM.ERROR.1 - TYPE-ERROR-DATUM.ERROR.2 TYPE-ERROR-EXPECTED-TYPE.ERROR.1 - TYPE-ERROR-EXPECTED-TYPE.ERROR.2 TYPEP.ENV.1 TYPEP.ENV.2 TYPEP.ENV.3 - TYPEP.1 TYPEP.2 TYPEP.3 TYPEP.4 TYPEP.5 TYPEP.6 TYPEP.7 TYPEP.8 - TYPEP.9 TYPEP.10 TYPEP.11 TYPEP.12 TYPEP.13 TYPEP.14 TYPEP.15 TYPEP.16 - TYPEP.17 TYPE-OR-NOT-TYPE-IS-EVERYTHING USER-CLASS-DISJOINTNESS - USER-CLASS-DISJOINTNESS-2 USER-STRUCT-DISJOINTNESS - USER-STRUCT-DISJOINTNESS-2 -Test TAC-3.1 failed -Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-A) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.2 failed -Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-B) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.3 failed -Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-C) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.4 failed -Form: (SUBTYPEP* 'TAC-3-A 'TAC-3-AB) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.5 failed -Form: (SUBTYPEP* 'TAC-3-B 'TAC-3-AB) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.6 failed -Form: (SUBTYPEP* 'TAC-3-C 'TAC-3-AB) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.7 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-A) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.8 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-B) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.9 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-C) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.10 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-AB) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.11 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-AC) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.12 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-BC) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.13 failed -Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-ABC) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.14 failed -Form: (SUBTYPEP* 'TAC-3-AC 'TAC-3-ABC) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.15 failed -Form: (SUBTYPEP* 'TAC-3-BC 'TAC-3-ABC) -Expected values: NIL - T -Actual values: NIL - NIL. - TAC-3.16 TAC-3.17 -Test UNIVERSE-ELEMENTS-IN-AT-MOST-ONE-DISJOINT-TYPE failed -Form: (LOOP - FOR - E - IN - *UNIVERSE* - FOR - TYPES - = - (REMOVE-IF-NOT #'(LAMBDA (X) (TYPEP E X)) - *DISJOINT-TYPES-LIST*) - WHEN - (> (LENGTH TYPES) 1) - COLLECT - (LIST E TYPES)) -Expected value: NIL -Actual value: ((CONS (SYMBOL FUNCTION)) - ((SYSTEM:LAMBDA-CLOSURE () () () (X) X) (CONS FUNCTION))). - INTEGER-AND-RATIO-ARE-DISJOINT BIGNUM-AND-RATIO-ARE-DISJOINT - BIGNUM-AND-FIXNUM-ARE-DISJOINT FIXNUM-AND-RATIO-ARE-DISJOINT - BYTE8-AND-RATIO-ARE-DISJOINT BIT-AND-RATIO-ARE-DISJOINT - INTEGER-AND-FLOAT-ARE-DISJOINT RATIO-AND-FLOAT-ARE-DISJOINT - COMPLEX-AND-FLOAT-ARE-DISJOINT INTEGER-SUBRANGES-ARE-DISJOINT - KEYWORD-AND-NULL-ARE-DISJOINT KEYWORD-AND-BOOLEAN-ARE-DISJOINT - COERCE.1 COERCE.2 COERCE.3 COERCE.4 COERCE.5 COERCE.6 COERCE.7 - COERCE.8 COERCE.9 COERCE.10 COERCE.11 COERCE.12 COERCE.13 COERCE.14 - COERCE.15 COERCE.16 COERCE.17 COERCE.18 COERCE.19 COERCE.20 COERCE.21 - COERCE.22 COERCE.ORDER.1 COERCE.ERROR.2 COERCE.ERROR.3 COERCE.ERROR.4 - COERCE.ERROR.5 COERCE.ERROR.6 COERCE.ERROR.7 COERCE.ERROR.8 - COERCE.ERROR.9 SUBTYPEP.ORDER.1 SIMPLE-BASE-STRING-IS-SEQUENCE - SUBTYPE.ENV.1 SUBTYPE.ENV.2 SUBTYPE.ENV.3 SUBTYPE.ENV.4 SUBTYPE.ENV.5 - SUBTYPEP.ERROR.1 SUBTYPEP.ERROR.2 SUBTYPEP.ERROR.3 - KEYWORD-IS-SUBTYPE-OF-ATOM RATIO-IS-SUBTYPE-OF-ATOM - EXTENDED-CHAR-IS-SUBTYPE-OF-ATOM STRING-IS-NOT-SIMPLE-VECTOR - BASE-STRING-IS-NOT-SIMPLE-VECTOR SIMPLE-STRING-IS-NOT-SIMPLE-VECTOR - SIMPLE-BASE-STRING-IS-NOT-SIMPLE-VECTOR - BIT-VECTOR-IS-NOT-SIMPLE-VECTOR SIMPLE-BIT-VECTOR-IS-NOT-SIMPLE-VECTOR - SUBTYPEP.EXTENDED-CHAR.1 SUBTYPEP.AND/OR.1 SUBTYPEP.AND/OR.2 - SUBTYPEP.AND.1 SUBTYPEP.OR.1 SUBTYPEP.AND.2 SUBTYPEP.OR.2 - SUBTYPEP.AND.3 SUBTYPEP.OR.3 SUBTYPEP.AND.4 RANDOM-DELETE-DUPLICATES REMOVE-DUPLICATES.1 + TYPES.7B RANDOM-DELETE-DUPLICATES REMOVE-DUPLICATES.1 DELETE-DUPLICATES.1 REMOVE-DUPLICATES.ORDER.1 REMOVE-DUPLICATES.ORDER.2 REMOVE-DUPLICATES.ALLOW-OTHER-KEYS.1 REMOVE-DUPLICATES.ALLOW-OTHER-KEYS.2 @@ -28433,44 +27204,1313 @@ '(NOT STRUCTURE-OBJECT)) ==> NIL T) ((SUBTYPEP 'ARITHMETIC-ERROR - #) + #) + ==> NIL T) + ((SUBTYPEP + # + 'ARITHMETIC-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT ARITHMETIC-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT ARITHMETIC-ERROR)) + ==> NIL T) + ((SUBTYPEP 'SYMBOL + #) + ==> NIL T) + ((SUBTYPEP + # 'SYMBOL) + ==> NIL T) + ((SUBTYPEP '(NOT SYMBOL) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SYMBOL)) + ==> NIL T) + ((SUBTYPEP 'CONTROL-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'CONTROL-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT CONTROL-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CONTROL-ERROR)) + ==> NIL T) + ((SUBTYPEP 'CLASS + #) + ==> NIL T) + ((SUBTYPEP + # 'CLASS) + ==> NIL T) + ((SUBTYPEP '(NOT CLASS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CLASS)) + ==> NIL T) + ((SUBTYPEP 'SIMPLE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'SIMPLE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT SIMPLE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SIMPLE-ERROR)) + ==> NIL T) + ((SUBTYPEP T + #) + ==> NIL T) + ((SUBTYPEP + # T) + ==> NIL T) + ((SUBTYPEP '(NOT T) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT T)) + ==> NIL T) + ((SUBTYPEP 'COMPLEX + #) + ==> NIL T) + ((SUBTYPEP + # 'COMPLEX) + ==> NIL T) + ((SUBTYPEP '(NOT COMPLEX) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT COMPLEX)) + ==> NIL T) + ((SUBTYPEP 'ARRAY + #) + ==> NIL T) + ((SUBTYPEP + # 'ARRAY) + ==> NIL T) + ((SUBTYPEP '(NOT ARRAY) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT ARRAY)) + ==> NIL T) + ((SUBTYPEP 'FLOATING-POINT-INEXACT + #) + ==> NIL T) + ((SUBTYPEP + # + 'FLOATING-POINT-INEXACT) + ==> NIL T) + ((SUBTYPEP '(NOT FLOATING-POINT-INEXACT) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOATING-POINT-INEXACT)) + ==> NIL T) + ((SUBTYPEP 'NUMBER + #) + ==> NIL T) + ((SUBTYPEP + # 'NUMBER) + ==> NIL T) + ((SUBTYPEP '(NOT NUMBER) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT NUMBER)) + ==> NIL T) + ((SUBTYPEP 'NULL + #) + ==> NIL T) + ((SUBTYPEP + # 'NULL) + ==> NIL T) + ((SUBTYPEP '(NOT NULL) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT NULL)) + ==> NIL T) + ((SUBTYPEP 'FLOATING-POINT-UNDERFLOW + #) + ==> NIL T) + ((SUBTYPEP + # + 'FLOATING-POINT-UNDERFLOW) + ==> NIL T) + ((SUBTYPEP '(NOT FLOATING-POINT-UNDERFLOW) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOATING-POINT-UNDERFLOW)) + ==> NIL T) + ((SUBTYPEP 'FLOATING-POINT-OVERFLOW + #) + ==> NIL T) + ((SUBTYPEP + # + 'FLOATING-POINT-OVERFLOW) + ==> NIL T) + ((SUBTYPEP '(NOT FLOATING-POINT-OVERFLOW) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOATING-POINT-OVERFLOW)) + ==> NIL T) + ((SUBTYPEP 'RATIONAL + #) + ==> NIL T) + ((SUBTYPEP + # 'RATIONAL) + ==> NIL T) + ((SUBTYPEP '(NOT RATIONAL) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT RATIONAL)) + ==> NIL T) + ((SUBTYPEP 'RATIO + #) + ==> NIL T) + ((SUBTYPEP + # 'RATIO) + ==> NIL T) + ((SUBTYPEP '(NOT RATIO) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT RATIO)) + ==> NIL T) + ((SUBTYPEP 'STANDARD-METHOD + #) + ==> NIL T) + ((SUBTYPEP + # + 'STANDARD-METHOD) + ==> NIL T) + ((SUBTYPEP '(NOT STANDARD-METHOD) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STANDARD-METHOD)) + ==> NIL T) + ((SUBTYPEP 'STRUCTURE-CLASS + #) + ==> NIL T) + ((SUBTYPEP + # + 'STRUCTURE-CLASS) + ==> NIL T) + ((SUBTYPEP '(NOT STRUCTURE-CLASS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STRUCTURE-CLASS)) + ==> NIL T) + ((SUBTYPEP 'BUILT-IN-CLASS + #) + ==> NIL T) + ((SUBTYPEP + # + 'BUILT-IN-CLASS) + ==> NIL T) + ((SUBTYPEP '(NOT BUILT-IN-CLASS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT BUILT-IN-CLASS)) + ==> NIL T) + ((SUBTYPEP 'UNBOUND-SLOT + #) + ==> NIL T) + ((SUBTYPEP + # + 'UNBOUND-SLOT) + ==> NIL T) + ((SUBTYPEP '(NOT UNBOUND-SLOT) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT UNBOUND-SLOT)) + ==> NIL T) + ((SUBTYPEP 'ERROR + #) + ==> NIL T) + ((SUBTYPEP + # 'ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT ERROR)) + ==> NIL T) + ((SUBTYPEP 'STANDARD-GENERIC-FUNCTION + #) + ==> NIL T) + ((SUBTYPEP + # + 'STANDARD-GENERIC-FUNCTION) + ==> NIL T) + ((SUBTYPEP '(NOT STANDARD-GENERIC-FUNCTION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STANDARD-GENERIC-FUNCTION)) + ==> NIL T) + ((SUBTYPEP 'CHARACTER + #) + ==> NIL T) + ((SUBTYPEP + # 'CHARACTER) + ==> NIL T) + ((SUBTYPEP '(NOT CHARACTER) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CHARACTER)) + ==> NIL T) + ((SUBTYPEP 'DIVISION-BY-ZERO + #) + ==> NIL T) + ((SUBTYPEP + # + 'DIVISION-BY-ZERO) + ==> NIL T) + ((SUBTYPEP '(NOT DIVISION-BY-ZERO) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT DIVISION-BY-ZERO)) + ==> NIL T) + ((SUBTYPEP 'SEQUENCE + #) + ==> NIL T) + ((SUBTYPEP + # 'SEQUENCE) + ==> NIL T) + ((SUBTYPEP '(NOT SEQUENCE) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SEQUENCE)) + ==> NIL T) + ((SUBTYPEP 'PRINT-NOT-READABLE + #) + ==> NIL T) + ((SUBTYPEP + # + 'PRINT-NOT-READABLE) + ==> NIL T) + ((SUBTYPEP '(NOT PRINT-NOT-READABLE) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT PRINT-NOT-READABLE)) + ==> NIL T) + ((SUBTYPEP 'UNDEFINED-FUNCTION + #) + ==> NIL T) + ((SUBTYPEP + # + 'UNDEFINED-FUNCTION) + ==> NIL T) + ((SUBTYPEP '(NOT UNDEFINED-FUNCTION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT UNDEFINED-FUNCTION)) + ==> NIL T) + ((SUBTYPEP 'END-OF-FILE + #) + ==> NIL T) + ((SUBTYPEP + # + 'END-OF-FILE) + ==> NIL T) + ((SUBTYPEP '(NOT END-OF-FILE) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT END-OF-FILE)) + ==> NIL T) + ((SUBTYPEP 'INTEGER + #) + ==> NIL T) + ((SUBTYPEP + # 'INTEGER) + ==> NIL T) + ((SUBTYPEP '(NOT INTEGER) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT INTEGER)) + ==> NIL T) + ((SUBTYPEP 'FLOAT + #) + ==> NIL T) + ((SUBTYPEP + # 'FLOAT) + ==> NIL T) + ((SUBTYPEP '(NOT FLOAT) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOAT)) + ==> NIL T) + ((SUBTYPEP 'BIT-VECTOR + #) + ==> NIL T) + ((SUBTYPEP + # 'BIT-VECTOR) + ==> NIL T) + ((SUBTYPEP '(NOT BIT-VECTOR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT BIT-VECTOR)) + ==> NIL T) + ((SUBTYPEP 'STYLE-WARNING + #) + ==> NIL T) + ((SUBTYPEP + # + 'STYLE-WARNING) + ==> NIL T) + ((SUBTYPEP '(NOT STYLE-WARNING) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STYLE-WARNING)) + ==> NIL T) + ((SUBTYPEP 'SIMPLE-TYPE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'SIMPLE-TYPE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT SIMPLE-TYPE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SIMPLE-TYPE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'CELL-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # 'CELL-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT CELL-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CELL-ERROR)) + ==> NIL T) + ((SUBTYPEP 'FILE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # 'FILE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT FILE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FILE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'RESTART + #) + ==> NIL T) + ((SUBTYPEP + # 'RESTART) + ==> NIL T) + ((SUBTYPEP '(NOT RESTART) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT RESTART)) + ==> NIL T) + ((SUBTYPEP 'TYPE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # 'TYPE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT TYPE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT TYPE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'LIST + #) + ==> NIL T) + ((SUBTYPEP + # 'LIST) + ==> NIL T) + ((SUBTYPEP '(NOT LIST) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT LIST)) + ==> NIL T) + ((SUBTYPEP 'STANDARD-OBJECT + #) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STANDARD-OBJECT)) + ==> NIL T) + ((SUBTYPEP 'STRING + #) + ==> NIL T) + ((SUBTYPEP + # 'STRING) + ==> NIL T) + ((SUBTYPEP '(NOT STRING) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STRING)) + ==> NIL T) + ((SUBTYPEP 'METHOD-COMBINATION + #) + ==> NIL T) + ((SUBTYPEP + # + 'METHOD-COMBINATION) + ==> NIL T) + ((SUBTYPEP '(NOT METHOD-COMBINATION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT METHOD-COMBINATION)) + ==> NIL T) + ((SUBTYPEP 'CONS + #) + ==> NIL T) + ((SUBTYPEP + # 'CONS) + ==> NIL T) + ((SUBTYPEP '(NOT CONS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT CONS)) + ==> NIL T) + ((SUBTYPEP 'SIMPLE-CONDITION + #) + ==> NIL T) + ((SUBTYPEP + # + 'SIMPLE-CONDITION) + ==> NIL T) + ((SUBTYPEP '(NOT SIMPLE-CONDITION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SIMPLE-CONDITION)) + ==> NIL T) + ((SUBTYPEP 'SIMPLE-WARNING + #) + ==> NIL T) + ((SUBTYPEP + # + 'SIMPLE-WARNING) + ==> NIL T) + ((SUBTYPEP '(NOT SIMPLE-WARNING) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SIMPLE-WARNING)) + ==> NIL T) + ((SUBTYPEP 'PACKAGE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'PACKAGE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT PACKAGE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT PACKAGE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'PARSE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'PARSE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT PARSE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT PARSE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'WARNING + #) + ==> NIL T) + ((SUBTYPEP + # 'WARNING) + ==> NIL T) + ((SUBTYPEP '(NOT WARNING) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT WARNING)) + ==> NIL T) + ((SUBTYPEP 'STORAGE-CONDITION + #) + ==> NIL T) + ((SUBTYPEP + # + 'STORAGE-CONDITION) + ==> NIL T) + ((SUBTYPEP '(NOT STORAGE-CONDITION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STORAGE-CONDITION)) + ==> NIL T) + ((SUBTYPEP 'FLOATING-POINT-INVALID-OPERATION + #) + ==> NIL T) + ((SUBTYPEP + # + 'FLOATING-POINT-INVALID-OPERATION) + ==> NIL T) + ((SUBTYPEP '(NOT FLOATING-POINT-INVALID-OPERATION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOATING-POINT-INVALID-OPERATION)) + ==> NIL T) + ((SUBTYPEP 'PROGRAM-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'PROGRAM-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT PROGRAM-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT PROGRAM-ERROR)) + ==> NIL T) + ((SUBTYPEP 'METHOD + #) + ==> NIL T) + ((SUBTYPEP + # 'METHOD) + ==> NIL T) + ((SUBTYPEP '(NOT METHOD) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT METHOD)) + ==> NIL T) + ((SUBTYPEP 'STANDARD-CLASS + #) + ==> NIL T) + ((SUBTYPEP + # + 'STANDARD-CLASS) + ==> NIL T) + ((SUBTYPEP '(NOT STANDARD-CLASS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STANDARD-CLASS)) + ==> NIL T) + ((SUBTYPEP 'GENERIC-FUNCTION + #) + ==> NIL T) + ((SUBTYPEP + # + 'GENERIC-FUNCTION) + ==> NIL T) + ((SUBTYPEP '(NOT GENERIC-FUNCTION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT GENERIC-FUNCTION)) + ==> NIL T) + ((SUBTYPEP 'STREAM-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'STREAM-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT STREAM-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STREAM-ERROR)) + ==> NIL T) + ((SUBTYPEP 'SERIOUS-CONDITION + #) + ==> NIL T) + ((SUBTYPEP + # + 'SERIOUS-CONDITION) + ==> NIL T) + ((SUBTYPEP '(NOT SERIOUS-CONDITION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SERIOUS-CONDITION)) + ==> NIL T) + ((SUBTYPEP 'READER-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'READER-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT READER-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT READER-ERROR)) + ==> NIL T) + ((SUBTYPEP 'REAL + #) + ==> NIL T) + ((SUBTYPEP + # 'REAL) + ==> NIL T) + ((SUBTYPEP '(NOT REAL) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT REAL)) + ==> NIL T) + ((SUBTYPEP 'VECTOR + #) + ==> NIL T) + ((SUBTYPEP + # 'VECTOR) + ==> NIL T) + ((SUBTYPEP '(NOT VECTOR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT VECTOR)) + ==> NIL T) + ((SUBTYPEP 'CONDITION + #) + ==> NIL T) + ((SUBTYPEP + # 'CONDITION) + ==> NIL T) + ((SUBTYPEP '(NOT CONDITION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CONDITION)) + ==> NIL T) + ((SUBTYPEP 'UNBOUND-VARIABLE + #) + ==> NIL T) + ((SUBTYPEP + # + 'UNBOUND-VARIABLE) + ==> NIL T) + ((SUBTYPEP '(NOT UNBOUND-VARIABLE) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT UNBOUND-VARIABLE)) + ==> NIL T)). +Test ALL-STANDARD-CLASSES-ARE-SUBTYPES-OF-STANDARD-OBJECT failed +Form: (LOOP + FOR + SYM + BEING + THE + EXTERNAL-SYMBOLS + OF + "COMMON-LISP" + FOR + CLASS + = + (FIND-CLASS SYM NIL) + WHEN + (AND CLASS (TYPEP CLASS 'STANDARD-CLASS) + (OR (NOT (SUBTYPEP SYM 'STANDARD-OBJECT)) + (NOT (SUBTYPEP CLASS 'STANDARD-OBJECT)))) + COLLECT + SYM) +Expected value: NIL +Actual value: (ARITHMETIC-ERROR CONTROL-ERROR CLASS SIMPLE-ERROR + FLOATING-POINT-INEXACT FLOATING-POINT-UNDERFLOW + FLOATING-POINT-OVERFLOW STANDARD-METHOD + STRUCTURE-CLASS BUILT-IN-CLASS UNBOUND-SLOT ERROR + DIVISION-BY-ZERO PRINT-NOT-READABLE + UNDEFINED-FUNCTION END-OF-FILE STYLE-WARNING + SIMPLE-TYPE-ERROR CELL-ERROR FILE-ERROR TYPE-ERROR + METHOD-COMBINATION SIMPLE-CONDITION SIMPLE-WARNING + PACKAGE-ERROR PARSE-ERROR WARNING STORAGE-CONDITION + FLOATING-POINT-INVALID-OPERATION PROGRAM-ERROR METHOD + STANDARD-CLASS STREAM-ERROR SERIOUS-CONDITION + READER-ERROR CONDITION UNBOUND-VARIABLE). + ALL-STRUCTURE-CLASSES-ARE-SUBTYPES-OF-STRUCTURE-OBJECT + ALL-EXPORTED-CL-CLASS-NAMES-ARE-VALID +Test ALL-STANDARD-GENERIC-FUNCTIONS-ARE-INSTANCES-OF-THAT-CLASS failed +Form: (LOOP + FOR + SYM + IN + *CL-STANDARD-GENERIC-FUNCTION-SYMBOLS* + FOR + FUN + = + (AND (FBOUNDP SYM) (SYMBOL-FUNCTION SYM)) + UNLESS + (AND (TYPEP FUN 'GENERIC-FUNCTION) + (TYPEP FUN 'STANDARD-GENERIC-FUNCTION)) + COLLECT + (LIST SYM FUN)) +Expected value: NIL +Actual value: ((DOCUMENTATION #) + (FIND-METHOD NIL) (NO-NEXT-METHOD NIL)). + STRUCTURE-OBJECT-IS-IN-STRUCTURE-CLASS + STANDARD-OBJECT-IS-IN-STANDARD-CLASS DEFTYPE.1 DEFTYPE.2 DEFTYPE.3 + DEFTYPE.4 DEFTYPE.5 DEFTYPE.6 TYPE-AND-CLASS-FNS TYPE-AND-CLASS-MACROS + TYPEP-NIL-NULL TYPEP-T-NULL TYPE-OF.ERROR.1 TYPE-OF.ERROR.2 + TYPEP.ERROR.1 TYPEP.ERROR.2 TYPEP.ERROR.3 TYPE-ERROR-DATUM.ERROR.1 + TYPE-ERROR-DATUM.ERROR.2 TYPE-ERROR-EXPECTED-TYPE.ERROR.1 + TYPE-ERROR-EXPECTED-TYPE.ERROR.2 TYPEP.ENV.1 TYPEP.ENV.2 TYPEP.ENV.3 + TYPEP.1 TYPEP.2 TYPEP.3 TYPEP.4 TYPEP.5 TYPEP.6 TYPEP.7 TYPEP.8 + TYPEP.9 TYPEP.10 TYPEP.11 TYPEP.12 TYPEP.13 TYPEP.14 TYPEP.15 TYPEP.16 + TYPEP.17 TYPE-OR-NOT-TYPE-IS-EVERYTHING USER-CLASS-DISJOINTNESS + USER-CLASS-DISJOINTNESS-2 USER-STRUCT-DISJOINTNESS + USER-STRUCT-DISJOINTNESS-2 +Test TAC-3.1 failed +Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-A) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.2 failed +Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-B) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.3 failed +Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-C) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.4 failed +Form: (SUBTYPEP* 'TAC-3-A 'TAC-3-AB) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.5 failed +Form: (SUBTYPEP* 'TAC-3-B 'TAC-3-AB) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.6 failed +Form: (SUBTYPEP* 'TAC-3-C 'TAC-3-AB) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.7 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-A) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.8 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-B) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.9 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-C) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.10 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-AB) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.11 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-AC) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.12 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-BC) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.13 failed +Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-ABC) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.14 failed +Form: (SUBTYPEP* 'TAC-3-AC 'TAC-3-ABC) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.15 failed +Form: (SUBTYPEP* 'TAC-3-BC 'TAC-3-ABC) +Expected values: NIL + T +Actual values: NIL + NIL. + TAC-3.16 TAC-3.17 +Test UNIVERSE-ELEMENTS-IN-AT-MOST-ONE-DISJOINT-TYPE failed +Form: (LOOP + FOR + E + IN + *UNIVERSE* + FOR + TYPES + = + (REMOVE-IF-NOT #'(LAMBDA (X) (TYPEP E X)) + *DISJOINT-TYPES-LIST*) + WHEN + (> (LENGTH TYPES) 1) + COLLECT + (LIST E TYPES)) +Expected value: NIL +Actual value: ((CONS (SYMBOL FUNCTION)) + ((SYSTEM:LAMBDA-CLOSURE () () () (X) X) (CONS FUNCTION))). + INTEGER-AND-RATIO-ARE-DISJOINT BIGNUM-AND-RATIO-ARE-DISJOINT + BIGNUM-AND-FIXNUM-ARE-DISJOINT FIXNUM-AND-RATIO-ARE-DISJOINT + BYTE8-AND-RATIO-ARE-DISJOINT BIT-AND-RATIO-ARE-DISJOINT + INTEGER-AND-FLOAT-ARE-DISJOINT RATIO-AND-FLOAT-ARE-DISJOINT + COMPLEX-AND-FLOAT-ARE-DISJOINT INTEGER-SUBRANGES-ARE-DISJOINT + KEYWORD-AND-NULL-ARE-DISJOINT KEYWORD-AND-BOOLEAN-ARE-DISJOINT + COERCE.1 COERCE.2 COERCE.3 COERCE.4 COERCE.5 COERCE.6 COERCE.7 + COERCE.8 COERCE.9 COERCE.10 COERCE.11 COERCE.12 COERCE.13 COERCE.14 + COERCE.15 COERCE.16 COERCE.17 COERCE.18 COERCE.19 COERCE.20 COERCE.21 + COERCE.22 COERCE.ORDER.1 COERCE.ERROR.2 COERCE.ERROR.3 COERCE.ERROR.4 + COERCE.ERROR.5 COERCE.ERROR.6 COERCE.ERROR.7 COERCE.ERROR.8 + COERCE.ERROR.9 SUBTYPEP.ORDER.1 SIMPLE-BASE-STRING-IS-SEQUENCE + SUBTYPE.ENV.1 SUBTYPE.ENV.2 SUBTYPE.ENV.3 SUBTYPE.ENV.4 SUBTYPE.ENV.5 + SUBTYPEP.ERROR.1 SUBTYPEP.ERROR.2 SUBTYPEP.ERROR.3 + KEYWORD-IS-SUBTYPE-OF-ATOM RATIO-IS-SUBTYPE-OF-ATOM + EXTENDED-CHAR-IS-SUBTYPE-OF-ATOM STRING-IS-NOT-SIMPLE-VECTOR + BASE-STRING-IS-NOT-SIMPLE-VECTOR SIMPLE-STRING-IS-NOT-SIMPLE-VECTOR + SIMPLE-BASE-STRING-IS-NOT-SIMPLE-VECTOR + BIT-VECTOR-IS-NOT-SIMPLE-VECTOR SIMPLE-BIT-VECTOR-IS-NOT-SIMPLE-VECTOR + SUBTYPEP.EXTENDED-CHAR.1 SUBTYPEP.AND/OR.1 SUBTYPEP.AND/OR.2 + SUBTYPEP.AND.1 SUBTYPEP.OR.1 SUBTYPEP.AND.2 SUBTYPEP.OR.2 + SUBTYPEP.AND.3 SUBTYPEP.OR.3 SUBTYPEP.AND.4 TYPES.7C +Should be atomic, but isn't: CONDITION +Test TYPES.8 failed +Form: (LOOP + FOR + TP + IN + *DISJOINT-TYPES-LIST* + COUNT + (COND + ((AND (NOT (EQT TP 'CONS)) (NOT (SUBTYPEP* TP 'ATOM))) + (FORMAT T "~%Should be atomic, but isn't: ~S" TP) T))) +Expected value: 0 +Actual value: 1. + TYPES.9Found element of FUNCTION not in ATOM: (SYSTEM:LAMBDA-CLOSURE + () () () (X) + X) +Found element of ARRAY not in SIMPLE-ARRAY: #0ANIL +Found element of ARRAY not in SIMPLE-ARRAY: #(NIL NIL) +Found element of ARRAY not in SIMPLE-ARRAY: #2A((NIL NIL) (NIL NIL)) +Found element of ARRAY not in SIMPLE-ARRAY: #3A(((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))) +Found element of ARRAY not in SIMPLE-ARRAY: #4A((((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))) + (((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL)))) +Found element of ARRAY not in SIMPLE-ARRAY: #5A(((((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))) + (((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL)))) + ((((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))) + (((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))))) +Found element of ARRAY not in SIMPLE-ARRAY: #6A((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))) +Found element of ARRAY not in SIMPLE-ARRAY: #7A(((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))) + ((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))))) +Found element of ARRAY not in SIMPLE-ARRAY: #8A((((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))) + ((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))))) + (((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))) + ((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))))) +Found element of VECTOR not in SIMPLE-ARRAY: #(NIL NIL) +Test TYPES.9A failed +Form: (TYPES.9A-BODY) +Expected value: 0 +Actual value: 11. +Test ALL-CLASSES-ARE-TYPE-EQUIVALENT-TO-THEIR-NAMES failed +Form: (LOOP + FOR + SYM + BEING + THE + EXTERNAL-SYMBOLS + OF + "COMMON-LISP" + FOR + CLASS + = + (FIND-CLASS SYM NIL) + WHEN + CLASS + APPEND + (CHECK-EQUIVALENCE SYM CLASS)) +Expected value: NIL +Actual value: (((SUBTYPEP 'STRUCTURE-OBJECT + #) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STRUCTURE-OBJECT)) + ==> NIL T) + ((SUBTYPEP 'ARITHMETIC-ERROR + #) ==> NIL T) ((SUBTYPEP - # + # 'ARITHMETIC-ERROR) ==> NIL T) ((SUBTYPEP '(NOT ARITHMETIC-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT ARITHMETIC-ERROR)) ==> NIL T) ((SUBTYPEP 'SYMBOL - #) + #) ==> NIL T) ((SUBTYPEP - # 'SYMBOL) + # 'SYMBOL) ==> NIL T) ((SUBTYPEP '(NOT SYMBOL) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SYMBOL)) ==> NIL T) ((SUBTYPEP 'CONTROL-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'CONTROL-ERROR) ==> NIL T) ((SUBTYPEP '(NOT CONTROL-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT CONTROL-ERROR)) ==> NIL T) ((SUBTYPEP 'CLASS @@ -28487,17 +28527,17 @@ '(NOT CLASS)) ==> NIL T) ((SUBTYPEP 'SIMPLE-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'SIMPLE-ERROR) ==> NIL T) ((SUBTYPEP '(NOT SIMPLE-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SIMPLE-ERROR)) ==> NIL T) ((SUBTYPEP T @@ -28513,122 +28553,122 @@ '(NOT #) '(NOT T)) ==> NIL T) ((SUBTYPEP 'COMPLEX - #) + #) ==> NIL T) ((SUBTYPEP - # 'COMPLEX) + # 'COMPLEX) ==> NIL T) ((SUBTYPEP '(NOT COMPLEX) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT COMPLEX)) ==> NIL T) ((SUBTYPEP 'ARRAY - #) + #) ==> NIL T) ((SUBTYPEP - # 'ARRAY) + # 'ARRAY) ==> NIL T) ((SUBTYPEP '(NOT ARRAY) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT ARRAY)) ==> NIL T) ((SUBTYPEP 'FLOATING-POINT-INEXACT - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'FLOATING-POINT-INEXACT) ==> NIL T) ((SUBTYPEP '(NOT FLOATING-POINT-INEXACT) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT FLOATING-POINT-INEXACT)) ==> NIL T) ((SUBTYPEP 'NUMBER - #) + #) ==> NIL T) ((SUBTYPEP - # 'NUMBER) + # 'NUMBER) ==> NIL T) ((SUBTYPEP '(NOT NUMBER) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT NUMBER)) ==> NIL T) ((SUBTYPEP 'NULL - #) + #) ==> NIL T) ((SUBTYPEP - # 'NULL) + # 'NULL) ==> NIL T) ((SUBTYPEP '(NOT NULL) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) '(NOT NULL)) + '(NOT #) '(NOT NULL)) ==> NIL T) ((SUBTYPEP 'FLOATING-POINT-UNDERFLOW - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'FLOATING-POINT-UNDERFLOW) ==> NIL T) ((SUBTYPEP '(NOT FLOATING-POINT-UNDERFLOW) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT FLOATING-POINT-UNDERFLOW)) ==> NIL T) ((SUBTYPEP 'FLOATING-POINT-OVERFLOW - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'FLOATING-POINT-OVERFLOW) ==> NIL T) ((SUBTYPEP '(NOT FLOATING-POINT-OVERFLOW) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT FLOATING-POINT-OVERFLOW)) ==> NIL T) ((SUBTYPEP 'RATIONAL - #) + #) ==> NIL T) ((SUBTYPEP - # 'RATIONAL) + # 'RATIONAL) ==> NIL T) ((SUBTYPEP '(NOT RATIONAL) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT RATIONAL)) ==> NIL T) ((SUBTYPEP 'RATIO - #) + #) ==> NIL T) ((SUBTYPEP - # 'RATIO) + # 'RATIO) ==> NIL T) ((SUBTYPEP '(NOT RATIO) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT RATIO)) ==> NIL T) ((SUBTYPEP 'STANDARD-METHOD @@ -28674,30 +28714,30 @@ '(NOT BUILT-IN-CLASS)) ==> NIL T) ((SUBTYPEP 'UNBOUND-SLOT - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'UNBOUND-SLOT) ==> NIL T) ((SUBTYPEP '(NOT UNBOUND-SLOT) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT UNBOUND-SLOT)) ==> NIL T) ((SUBTYPEP 'ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # 'ERROR) + # 'ERROR) ==> NIL T) ((SUBTYPEP '(NOT ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT ERROR)) ==> NIL T) ((SUBTYPEP 'STANDARD-GENERIC-FUNCTION @@ -28715,217 +28755,217 @@ '(NOT STANDARD-GENERIC-FUNCTION)) ==> NIL T) ((SUBTYPEP 'CHARACTER - #) + #) ==> NIL T) ((SUBTYPEP - # 'CHARACTER) + # 'CHARACTER) ==> NIL T) ((SUBTYPEP '(NOT CHARACTER) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT CHARACTER)) ==> NIL T) ((SUBTYPEP 'DIVISION-BY-ZERO - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'DIVISION-BY-ZERO) ==> NIL T) ((SUBTYPEP '(NOT DIVISION-BY-ZERO) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT DIVISION-BY-ZERO)) ==> NIL T) ((SUBTYPEP 'SEQUENCE - #) + #) ==> NIL T) ((SUBTYPEP - # 'SEQUENCE) + # 'SEQUENCE) ==> NIL T) ((SUBTYPEP '(NOT SEQUENCE) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SEQUENCE)) ==> NIL T) ((SUBTYPEP 'PRINT-NOT-READABLE - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'PRINT-NOT-READABLE) ==> NIL T) ((SUBTYPEP '(NOT PRINT-NOT-READABLE) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT PRINT-NOT-READABLE)) ==> NIL T) ((SUBTYPEP 'UNDEFINED-FUNCTION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'UNDEFINED-FUNCTION) ==> NIL T) ((SUBTYPEP '(NOT UNDEFINED-FUNCTION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT UNDEFINED-FUNCTION)) ==> NIL T) ((SUBTYPEP 'END-OF-FILE - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'END-OF-FILE) ==> NIL T) ((SUBTYPEP '(NOT END-OF-FILE) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT END-OF-FILE)) ==> NIL T) ((SUBTYPEP 'INTEGER - #) + #) ==> NIL T) ((SUBTYPEP - # 'INTEGER) + # 'INTEGER) ==> NIL T) ((SUBTYPEP '(NOT INTEGER) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT INTEGER)) ==> NIL T) ((SUBTYPEP 'FLOAT - #) + #) ==> NIL T) ((SUBTYPEP - # 'FLOAT) + # 'FLOAT) ==> NIL T) ((SUBTYPEP '(NOT FLOAT) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT FLOAT)) ==> NIL T) ((SUBTYPEP 'BIT-VECTOR - #) + #) ==> NIL T) ((SUBTYPEP - # 'BIT-VECTOR) + # 'BIT-VECTOR) ==> NIL T) ((SUBTYPEP '(NOT BIT-VECTOR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT BIT-VECTOR)) ==> NIL T) ((SUBTYPEP 'STYLE-WARNING - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'STYLE-WARNING) ==> NIL T) ((SUBTYPEP '(NOT STYLE-WARNING) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT STYLE-WARNING)) ==> NIL T) ((SUBTYPEP 'SIMPLE-TYPE-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'SIMPLE-TYPE-ERROR) ==> NIL T) ((SUBTYPEP '(NOT SIMPLE-TYPE-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SIMPLE-TYPE-ERROR)) ==> NIL T) ((SUBTYPEP 'CELL-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # 'CELL-ERROR) + # 'CELL-ERROR) ==> NIL T) ((SUBTYPEP '(NOT CELL-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT CELL-ERROR)) ==> NIL T) ((SUBTYPEP 'FILE-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # 'FILE-ERROR) + # 'FILE-ERROR) ==> NIL T) ((SUBTYPEP '(NOT FILE-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT FILE-ERROR)) ==> NIL T) ((SUBTYPEP 'RESTART - #) + #) ==> NIL T) ((SUBTYPEP - # 'RESTART) + # 'RESTART) ==> NIL T) ((SUBTYPEP '(NOT RESTART) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT RESTART)) ==> NIL T) ((SUBTYPEP 'TYPE-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # 'TYPE-ERROR) + # 'TYPE-ERROR) ==> NIL T) ((SUBTYPEP '(NOT TYPE-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT TYPE-ERROR)) ==> NIL T) ((SUBTYPEP 'LIST - #) + #) ==> NIL T) ((SUBTYPEP - # 'LIST) + # 'LIST) ==> NIL T) ((SUBTYPEP '(NOT LIST) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) '(NOT LIST)) + '(NOT #) '(NOT LIST)) ==> NIL T) ((SUBTYPEP 'STANDARD-OBJECT #) @@ -28935,16 +28975,16 @@ '(NOT STANDARD-OBJECT)) ==> NIL T) ((SUBTYPEP 'STRING - #) + #) ==> NIL T) ((SUBTYPEP - # 'STRING) + # 'STRING) ==> NIL T) ((SUBTYPEP '(NOT STRING) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT STRING)) ==> NIL T) ((SUBTYPEP 'METHOD-COMBINATION @@ -28962,126 +29002,126 @@ '(NOT METHOD-COMBINATION)) ==> NIL T) ((SUBTYPEP 'CONS - #) + #) ==> NIL T) ((SUBTYPEP - # 'CONS) + # 'CONS) ==> NIL T) ((SUBTYPEP '(NOT CONS) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) '(NOT CONS)) + '(NOT #) '(NOT CONS)) ==> NIL T) ((SUBTYPEP 'SIMPLE-CONDITION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'SIMPLE-CONDITION) ==> NIL T) ((SUBTYPEP '(NOT SIMPLE-CONDITION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SIMPLE-CONDITION)) ==> NIL T) ((SUBTYPEP 'SIMPLE-WARNING - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'SIMPLE-WARNING) ==> NIL T) ((SUBTYPEP '(NOT SIMPLE-WARNING) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SIMPLE-WARNING)) ==> NIL T) ((SUBTYPEP 'PACKAGE-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'PACKAGE-ERROR) ==> NIL T) ((SUBTYPEP '(NOT PACKAGE-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT PACKAGE-ERROR)) ==> NIL T) ((SUBTYPEP 'PARSE-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'PARSE-ERROR) ==> NIL T) ((SUBTYPEP '(NOT PARSE-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT PARSE-ERROR)) ==> NIL T) ((SUBTYPEP 'WARNING - #) + #) ==> NIL T) ((SUBTYPEP - # 'WARNING) + # 'WARNING) ==> NIL T) ((SUBTYPEP '(NOT WARNING) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT WARNING)) ==> NIL T) ((SUBTYPEP 'STORAGE-CONDITION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'STORAGE-CONDITION) ==> NIL T) ((SUBTYPEP '(NOT STORAGE-CONDITION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT STORAGE-CONDITION)) ==> NIL T) ((SUBTYPEP 'FLOATING-POINT-INVALID-OPERATION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'FLOATING-POINT-INVALID-OPERATION) ==> NIL T) ((SUBTYPEP '(NOT FLOATING-POINT-INVALID-OPERATION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT FLOATING-POINT-INVALID-OPERATION)) ==> NIL T) ((SUBTYPEP 'PROGRAM-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'PROGRAM-ERROR) ==> NIL T) ((SUBTYPEP '(NOT PROGRAM-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT PROGRAM-ERROR)) ==> NIL T) ((SUBTYPEP 'METHOD @@ -29126,97 +29166,97 @@ '(NOT GENERIC-FUNCTION)) ==> NIL T) ((SUBTYPEP 'STREAM-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'STREAM-ERROR) ==> NIL T) ((SUBTYPEP '(NOT STREAM-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT STREAM-ERROR)) ==> NIL T) ((SUBTYPEP 'SERIOUS-CONDITION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'SERIOUS-CONDITION) ==> NIL T) ((SUBTYPEP '(NOT SERIOUS-CONDITION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SERIOUS-CONDITION)) ==> NIL T) ((SUBTYPEP 'READER-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'READER-ERROR) ==> NIL T) ((SUBTYPEP '(NOT READER-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT READER-ERROR)) ==> NIL T) ((SUBTYPEP 'REAL - #) + #) ==> NIL T) ((SUBTYPEP - # 'REAL) + # 'REAL) ==> NIL T) ((SUBTYPEP '(NOT REAL) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) '(NOT REAL)) + '(NOT #) '(NOT REAL)) ==> NIL T) ((SUBTYPEP 'VECTOR - #) + #) ==> NIL T) ((SUBTYPEP - # 'VECTOR) + # 'VECTOR) ==> NIL T) ((SUBTYPEP '(NOT VECTOR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT VECTOR)) ==> NIL T) ((SUBTYPEP 'CONDITION - #) + #) ==> NIL T) ((SUBTYPEP - # 'CONDITION) + # 'CONDITION) ==> NIL T) ((SUBTYPEP '(NOT CONDITION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT CONDITION)) ==> NIL T) ((SUBTYPEP 'UNBOUND-VARIABLE - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'UNBOUND-VARIABLE) ==> NIL T) ((SUBTYPEP '(NOT UNBOUND-VARIABLE) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT UNBOUND-VARIABLE)) ==> NIL T)). Test ALL-STANDARD-CLASSES-ARE-SUBTYPES-OF-STANDARD-OBJECT failed @@ -29600,17 +29640,17 @@ COLLECT (LIST TP1 TP2)))) Expected value: NIL -Actual value: ((# ARRAY) - (# (ARRAY)) - (# (ARRAY *)) - (# (ARRAY * *)) - (ARRAY #) +Actual value: ((# ARRAY) + (# (ARRAY)) + (# (ARRAY *)) + (# (ARRAY * *)) + (ARRAY #) ((ARRAY) - #) + #) ((ARRAY *) - #) + #) ((ARRAY * *) - #)). + #)). SUBTYPEP.ARRAY.2 Test SUBTYPEP.ARRAY.3 failed Form: (LOOP @@ -29987,17 +30027,17 @@ COLLECT (LIST TP1 TP2)))) Expected value: NIL -Actual value: ((# ARRAY) - (# (ARRAY)) - (# (ARRAY *)) - (# (ARRAY * *)) - (ARRAY #) +Actual value: ((# ARRAY) + (# (ARRAY)) + (# (ARRAY *)) + (# (ARRAY * *)) + (ARRAY #) ((ARRAY) - #) + #) ((ARRAY *) - #) + #) ((ARRAY * *) - #)). + #)). SUBTYPEP.ARRAY.2 Test SUBTYPEP.ARRAY.3 failed Form: (LOOP @@ -30433,7 +30473,7 @@ FILE-WRITE-DATE.3 FILE-WRITE-DATE.4 FILE-WRITE-DATE.5 FILE-WRITE-DATE.6 FILE-WRITE-DATE.ERROR.1 FILE-WRITE-DATE.ERROR.2 FILE-WRITE-DATE.ERROR.3 FILE-WRITE-DATE.ERROR.4 RENAME-FILE.1 - RENAME-FILE.2 RENAME-FILE.3 RENAME-FILE.4 RENAME-FILE.5 RENAME-FILE.6 + RENAME-FILE.2 RENAME-FILE.3 RENAME-FILE.4 RENAME-FILE.5 RENAME-FILE.5 RENAME-FILE.6 RENAME-FILE.7 RENAME-FILE.ERROR.1 DELETE-FILE.1 DELETE-FILE.2 DELETE-FILE.3 DELETE-FILE.4 DELETE-FILE.5 DELETE-FILE.ERROR.1 DELETE-FILE.ERROR.2 FILE-ERROR.1 FILE-ERROR-PATHNAME.1 @@ -30449,7 +30489,7 @@ INTERACTIVE-STREAM-P.ERROR.3 OPEN-STREAM-P.1 OPEN-STREAM-P.2 OPEN-STREAM-P.3 OPEN-STREAM-P.4 OPEN-STREAM-P.5 OPEN-STREAM-P.ERROR.1 OPEN-STREAM-P.ERROR.2 OPEN-STREAM-P.ERROR.3 STREAM-ELEMENT-TYPE.1 - STREAM-ELEMENT-TYPE.2 RENAME-FILE.5 RENAME-FILE.6 + STREAM-ELEMENT-TYPE.2 RENAME-FILE.6 RENAME-FILE.7 RENAME-FILE.ERROR.1 DELETE-FILE.1 DELETE-FILE.2 DELETE-FILE.3 DELETE-FILE.4 DELETE-FILE.5 DELETE-FILE.ERROR.1 DELETE-FILE.ERROR.2 FILE-ERROR.1 FILE-ERROR-PATHNAME.1 @@ -30611,13 +30651,7 @@ FILE-LENGTH.ERROR.10 FILE-LENGTH.ERROR.11 FILE-LENGTH.ERROR.12 FILE-LENGTH.1 FILE-LENGTH.2 FILE-LENGTH.3 FILE-LENGTH.4 FILE-LENGTH.5 FILE-LENGTH.6 FILE-POSITION.1 FILE-POSITION.2 FILE-POSITION.3 - FILE-POSITION.4 FILE-POSITION.5 FILE-POSITION.6 FILE-POSITION.7 - FILE-POSITION.8 FILE-POSITION.9 FILE-POSITION.10 FILE-POSITION.ERROR.1 - FILE-POSITION.ERROR.2 FILE-STRING-LENGTH.1 FILE-STRING-LENGTH.2 - FILE-STRING-LENGTH.3 FILE-STRING-LENGTH.ERROR.1 - FILE-STRING-LENGTH.ERROR.2 FILE-STRING-LENGTH.ERROR.3 OPEN.1 OPEN.2 - OPEN.3 OPEN.4 OPEN.5 OPEN.6 OPEN.7 OPEN.8 OPEN.9 OPEN.10 OPEN.11 - OPEN.12 OPEN.13 OPEN.14 OPEN.15 OPEN.16 OPEN.17 OPEN.18 STREAM-ELEMENT-TYPE.3 STREAM-ELEMENT-TYPE.4 + FILE-POSITION.4 FILE-POSITION.5 FILE-POSITION.6 FILE-POSITION.7 STREAM-ELEMENT-TYPE.3 STREAM-ELEMENT-TYPE.4 STREAM-ELEMENT-TYPE.5 STREAM-ELEMENT-TYPE.6 STREAM-ELEMENT-TYPE.ERROR.1 STREAM-ELEMENT-TYPE.ERROR.2 STREAM-ELEMENT-TYPE.ERROR.3 STREAMP.1 STREAMP.2 STREAMP.3 STREAMP.4 @@ -30814,6 +30848,57 @@ OPEN.OUTPUT.34 OPEN.OUTPUT.35 OPEN.IO.1 OPEN.IO.2 OPEN.IO.3 OPEN.IO.4 OPEN.IO.5 OPEN.IO.6 OPEN.IO.7 OPEN.IO.8 OPEN.IO.9 OPEN.IO.10 OPEN.IO.11 OPEN.IO.12 OPEN.IO.13 OPEN.IO.14 OPEN.IO.15 OPEN.IO.16 + OPEN.IO.17 + FILE-POSITION.8 FILE-POSITION.9 FILE-POSITION.10 FILE-POSITION.ERROR.1 + FILE-POSITION.ERROR.2 FILE-STRING-LENGTH.1 FILE-STRING-LENGTH.2 + FILE-STRING-LENGTH.3 FILE-STRING-LENGTH.ERROR.1 + FILE-STRING-LENGTH.ERROR.2 FILE-STRING-LENGTH.ERROR.3 OPEN.1 OPEN.2 + OPEN.3 OPEN.4 OPEN.5 OPEN.6 OPEN.7 OPEN.8 OPEN.9 OPEN.10 OPEN.11 + OPEN.12 OPEN.13 OPEN.14 OPEN.15 OPEN.16 OPEN.17 OPEN.18 OPEN.19 + OPEN.20 OPEN.21 OPEN.22 OPEN.23 OPEN.24 OPEN.25 OPEN.26 OPEN.27 + OPEN.28 OPEN.29 OPEN.30 OPEN.31 OPEN.32 OPEN.33 OPEN.34 OPEN.35 + OPEN.36 OPEN.37 OPEN.38 OPEN.39 OPEN.40 OPEN.41 OPEN.42 OPEN.43 + OPEN.44 OPEN.45 OPEN.46 OPEN.47 OPEN.48 OPEN.49 OPEN.50 OPEN.51 + OPEN.52 OPEN.53 OPEN.54 OPEN.55 OPEN.56 OPEN.57 OPEN.58 OPEN.59 + OPEN.60 OPEN.61 OPEN.62 OPEN.63 OPEN.64 OPEN.65 OPEN.66 OPEN.67 + OPEN.OUTPUT.1 OPEN.OUTPUT.2 OPEN.OUTPUT.3 OPEN.OUTPUT.4 OPEN.OUTPUT.5 + OPEN.OUTPUT.6 OPEN.OUTPUT.7 OPEN.OUTPUT.8 OPEN.OUTPUT.9 OPEN.OUTPUT.10 + OPEN.OUTPUT.11 OPEN.OUTPUT.12 OPEN.OUTPUT.13 OPEN.OUTPUT.14 + OPEN.OUTPUT.15 OPEN.OUTPUT.16 OPEN.OUTPUT.17 OPEN.OUTPUT.18 + OPEN.OUTPUT.19 OPEN.OUTPUT.20 OPEN.OUTPUT.21 +Test OPEN.OUTPUT.22 failed +Form: (LET ((PN #p"tmp.dat")) + (DELETE-ALL-VERSIONS PN) + (WITH-OPEN-FILE + (OS PN :DIRECTION :OUTPUT :IF-EXISTS :SUPERSEDE) + (ASSERT (OPEN-STREAM-P OS)) + (DOTIMES (I 10) + (WRITE-CHAR + (FUNCALL (THE FUNCTION + (GENERATOR-FOR-ELEMENT-TYPE 'CHARACTER)) + I) + OS)) + (FINISH-OUTPUT OS)) + (LET ((S (OPEN PN :IF-EXISTS :RENAME :DIRECTION :OUTPUT))) + (UNWIND-PROTECT + (PROGN + (ASSERT (OPEN-STREAM-P S)) + (ASSERT (TYPEP S 'FILE-STREAM)) + (ASSERT (SUBTYPEP 'CHARACTER (STREAM-ELEMENT-TYPE S))) + (PROGN + (WRITE-SEQUENCE "wxyz" S) + (CLOSE S) + (WITH-OPEN-FILE (S PN :DIRECTION :INPUT) + (VALUES (READ-LINE S NIL))))) + (CLOSE S)))) +Expected value: "wxyz" +Actual value: #. + OPEN.OUTPUT.23 OPEN.OUTPUT.24 OPEN.OUTPUT.25 OPEN.OUTPUT.26 + OPEN.OUTPUT.27 OPEN.OUTPUT.28 OPEN.OUTPUT.28A OPEN.OUTPUT.29 + OPEN.OUTPUT.30 OPEN.OUTPUT.31 OPEN.OUTPUT.32 OPEN.OUTPUT.33 + OPEN.OUTPUT.34 OPEN.OUTPUT.35 OPEN.IO.1 OPEN.IO.2 OPEN.IO.3 OPEN.IO.4 + OPEN.IO.5 OPEN.IO.6 OPEN.IO.7 OPEN.IO.8 OPEN.IO.9 OPEN.IO.10 + OPEN.IO.11 OPEN.IO.12 OPEN.IO.13 OPEN.IO.14 OPEN.IO.15 OPEN.IO.16 OPEN.IO.17 OPEN.IO.18 OPEN.IO.19 OPEN.IO.20 OPEN.IO.21 Test OPEN.IO.22 failed Form: (LET ((PN #p"tmp.dat")) @@ -31097,52 +31182,28 @@ UPPER-CASE-P.ERROR.2 LOWER-CASE-P.1 LOWER-CASE-P.2 LOWER-CASE-P.3 LOWER-CASE-P.ORDER.1 LOWER-CASE-P.ERROR.1 LOWER-CASE-P.ERROR.2 BOTH-CASE-P.1 BOTH-CASE-P.2 BOTH-CASE-P.3 BOTH-CASE-P.ORDER.1 - BOTH-CASE-P.ERROR.1 BOTH-CASE-P.ERROR.2 OPEN.19 - OPEN.20 OPEN.21 OPEN.22 OPEN.23 OPEN.24 OPEN.25 OPEN.26 OPEN.27 - OPEN.28 OPEN.29 OPEN.30 OPEN.31 OPEN.32 OPEN.33 OPEN.34 OPEN.35 - OPEN.36 OPEN.37 OPEN.38 OPEN.39 OPEN.40 OPEN.41 OPEN.42 OPEN.43 - OPEN.44 OPEN.45 OPEN.46 OPEN.47 OPEN.48 OPEN.49 OPEN.50 OPEN.51 - OPEN.52 OPEN.53 OPEN.54 OPEN.55 OPEN.56 OPEN.57 OPEN.58 OPEN.59 - OPEN.60 OPEN.61 OPEN.62 OPEN.63 OPEN.64 OPEN.65 OPEN.66 OPEN.67 - OPEN.OUTPUT.1 OPEN.OUTPUT.2 OPEN.OUTPUT.3 OPEN.OUTPUT.4 OPEN.OUTPUT.5 - OPEN.OUTPUT.6 OPEN.OUTPUT.7 OPEN.OUTPUT.8 OPEN.OUTPUT.9 OPEN.OUTPUT.10 - OPEN.OUTPUT.11 OPEN.OUTPUT.12 OPEN.OUTPUT.13 OPEN.OUTPUT.14 - OPEN.OUTPUT.15 OPEN.OUTPUT.16 OPEN.OUTPUT.17 OPEN.OUTPUT.18 - OPEN.OUTPUT.19 OPEN.OUTPUT.20 OPEN.OUTPUT.21 -Test OPEN.OUTPUT.22 failed -Form: (LET ((PN #p"tmp.dat")) - (DELETE-ALL-VERSIONS PN) - (WITH-OPEN-FILE - (OS PN :DIRECTION :OUTPUT :IF-EXISTS :SUPERSEDE) - (ASSERT (OPEN-STREAM-P OS)) - (DOTIMES (I 10) - (WRITE-CHAR - (FUNCALL (THE FUNCTION - (GENERATOR-FOR-ELEMENT-TYPE 'CHARACTER)) - I) - OS)) - (FINISH-OUTPUT OS)) - (LET ((S (OPEN PN :IF-EXISTS :RENAME :DIRECTION :OUTPUT))) - (UNWIND-PROTECT - (PROGN - (ASSERT (OPEN-STREAM-P S)) - (ASSERT (TYPEP S 'FILE-STREAM)) - (ASSERT (SUBTYPEP 'CHARACTER (STREAM-ELEMENT-TYPE S))) - (PROGN - (WRITE-SEQUENCE "wxyz" S) - (CLOSE S) - (WITH-OPEN-FILE (S PN :DIRECTION :INPUT) - (VALUES (READ-LINE S NIL))))) - (CLOSE S)))) -Expected value: "wxyz" -Actual value: #. - OPEN.OUTPUT.23 OPEN.OUTPUT.24 OPEN.OUTPUT.25 OPEN.OUTPUT.26 - OPEN.OUTPUT.27 OPEN.OUTPUT.28 OPEN.OUTPUT.28A OPEN.OUTPUT.29 - OPEN.OUTPUT.30 OPEN.OUTPUT.31 OPEN.OUTPUT.32 OPEN.OUTPUT.33 - OPEN.OUTPUT.34 OPEN.OUTPUT.35 OPEN.IO.1 OPEN.IO.2 OPEN.IO.3 OPEN.IO.4 - OPEN.IO.5 OPEN.IO.6 OPEN.IO.7 OPEN.IO.8 OPEN.IO.9 OPEN.IO.10 - OPEN.IO.11 OPEN.IO.12 OPEN.IO.13 OPEN.IO.14 OPEN.IO.15 OPEN.IO.16 - OPEN.IO.17 OPEN.IO.18 OPEN.IO.19 OPEN.IO.20 OPEN.IO.21 + BOTH-CASE-P.ERROR.1 BOTH-CASE-P.ERROR.2 CHAR-CODE.1 CHAR-CODE.2 + CHAR-CODE.ORDER.1 CHAR-CODE.ERROR.1 CHAR-CODE.ERROR.2 CODE-CHAR.1 + CODE-CHAR.ORDER.1 CODE-CHAR.ERROR.1 +Test CODE-CHAR.ERROR.2 failed +Form: (CLASSIFY-ERROR (CODE-CHAR 1 1)) +Expected value: PROGRAM-ERROR +Actual value: NIL. + CHAR-INT.1 CHAR-INT.2 CHAR-INT.ORDER.1 CHAR-INT.ERROR.1 + CHAR-INT.ERROR.2 CHAR-NAME.1 CHAR-NAME.2 CHAR-NAME.3 CHAR-NAME.4 + CHAR-NAME.5 CHAR-NAME.ORDER.1 CHAR-NAME.ERROR.1 CHAR-NAME.ERROR.2 + NAME-CHAR.1 NAME-CHAR.2 NAME-CHAR.ORDER.1 NAME-CHAR.ERROR.1 + NAME-CHAR.ERROR.2 CHAR-COMPARE-NO-ARGS CHAR=.1 CHAR=.2 CHAR=.3 CHAR=.4 + CHAR=.ORDER.1 CHAR=.ORDER.2 CHAR=.ORDER.3 CHAR/=.1 CHAR/=.2 CHAR/=.3 + CHAR/=.4 CHAR/=.ORDER.1 CHAR/=.ORDER.2 CHAR/=.ORDER.3 CHAR<=.1 + CHAR<=.2 CHAR<=.3 CHAR<=.4 CHAR<=.5 CHAR<=.6 CHAR<=.7 CHAR<=.8 + CHAR<=.ORDER.1 CHAR<=.ORDER.2 CHAR<=.ORDER.3 CHAR<.1 CHAR<.2 CHAR<.3 + CHAR<.4 CHAR<.5 CHAR<.6 CHAR<.7 CHAR<.8 CHAR<.ORDER.1 CHAR<.ORDER.2 + CHAR<.ORDER.3 CHAR<.ORDER.4 CHAR>=.1 CHAR>=.2 CHAR>=.3 CHAR>=.4 + CHAR>=.5 CHAR>=.6 CHAR>=.7 CHAR>=.8 CHAR>=.ORDER.1 CHAR>=.ORDER.2 + CHAR>=.ORDER.3 CHAR>=.ORDER.4 CHAR>.1 CHAR>.2 CHAR>.3 CHAR>.4 CHAR>.5 + CHAR>.6 CHAR>.7 CHAR>.8 CHAR>.ORDER.1 CHAR>.ORDER.2 CHAR>.ORDER.3 + CHAR>.ORDER.4 OPEN.IO.18 OPEN.IO.19 OPEN.IO.20 OPEN.IO.21 Test OPEN.IO.22 failed Form: (LET ((PN #p"tmp.dat")) (DELETE-ALL-VERSIONS PN) @@ -31465,28 +31526,7 @@ CHAR-GREATERP.2 CHAR-GREATERP.3 CHAR-GREATERP.4 CHAR-GREATERP.5 CHAR-GREATERP.6 CHAR-GREATERP.7 CHAR-GREATERP.8 CHAR-GREATERP.ORDER.1 CHAR-GREATERP.ORDER.2 CHAR-GREATERP.ORDER.3 CHAR-GREATERP.ORDER.4 - FEATURES.1 FEATURES.2 FEATURES.3 CHAR-CODE.1 CHAR-CODE.2 - CHAR-CODE.ORDER.1 CHAR-CODE.ERROR.1 CHAR-CODE.ERROR.2 CODE-CHAR.1 - CODE-CHAR.ORDER.1 CODE-CHAR.ERROR.1 -Test CODE-CHAR.ERROR.2 failed -Form: (CLASSIFY-ERROR (CODE-CHAR 1 1)) -Expected value: PROGRAM-ERROR -Actual value: NIL. - CHAR-INT.1 CHAR-INT.2 CHAR-INT.ORDER.1 CHAR-INT.ERROR.1 - CHAR-INT.ERROR.2 CHAR-NAME.1 CHAR-NAME.2 CHAR-NAME.3 CHAR-NAME.4 - CHAR-NAME.5 CHAR-NAME.ORDER.1 CHAR-NAME.ERROR.1 CHAR-NAME.ERROR.2 - NAME-CHAR.1 NAME-CHAR.2 NAME-CHAR.ORDER.1 NAME-CHAR.ERROR.1 - NAME-CHAR.ERROR.2 CHAR-COMPARE-NO-ARGS CHAR=.1 CHAR=.2 CHAR=.3 CHAR=.4 - CHAR=.ORDER.1 CHAR=.ORDER.2 CHAR=.ORDER.3 CHAR/=.1 CHAR/=.2 CHAR/=.3 - CHAR/=.4 CHAR/=.ORDER.1 CHAR/=.ORDER.2 CHAR/=.ORDER.3 CHAR<=.1 - CHAR<=.2 CHAR<=.3 CHAR<=.4 CHAR<=.5 CHAR<=.6 CHAR<=.7 CHAR<=.8 - CHAR<=.ORDER.1 CHAR<=.ORDER.2 CHAR<=.ORDER.3 CHAR<.1 CHAR<.2 CHAR<.3 - CHAR<.4 CHAR<.5 CHAR<.6 CHAR<.7 CHAR<.8 CHAR<.ORDER.1 CHAR<.ORDER.2 - CHAR<.ORDER.3 CHAR<.ORDER.4 CHAR>=.1 CHAR>=.2 CHAR>=.3 CHAR>=.4 - CHAR>=.5 CHAR>=.6 CHAR>=.7 CHAR>=.8 CHAR>=.ORDER.1 CHAR>=.ORDER.2 - CHAR>=.ORDER.3 CHAR>=.ORDER.4 CHAR>.1 CHAR>.2 CHAR>.3 CHAR>.4 CHAR>.5 - CHAR>.6 CHAR>.7 CHAR>.8 CHAR>.ORDER.1 CHAR>.ORDER.2 CHAR>.ORDER.3 - CHAR>.ORDER.4 CHAR-EQUAL.1 CHAR-EQUAL.2 CHAR-EQUAL.3 CHAR-EQUAL.4 + FEATURES.1 FEATURES.2 FEATURES.3 CHAR-EQUAL.1 CHAR-EQUAL.2 CHAR-EQUAL.3 CHAR-EQUAL.4 CHAR-EQUAL.ORDER.1 CHAR-EQUAL.ORDER.2 CHAR-EQUAL.ORDER.3 CHAR-EQUAL.ORDER.4 CHAR-NOT-EQUAL.1 CHAR-NOT-EQUAL.2 CHAR-NOT-EQUAL.3 CHAR-NOT-EQUAL.4 CHAR-NOT-EQUAL.ORDER.1 CHAR-NOT-EQUAL.ORDER.2 @@ -31629,7 +31669,6 @@ dh_installdirs: warning: Use of debian/compat is deprecated and will be removed in debhelper (>= 14~). mkdir -p debian/tmp cp -a debian/ansi/* debian/tmp/ -cp -a debian/trad/* debian/tmp/ 287 out of 11799 total tests failed: SYMBOL-SLOT-BOUNDP, SYMBOL-SLOT-VALUE, SPECIAL-OPERATOR-P.1, SPECIAL-OPERATOR-P.2, CL-FUNCTION-SYMBOLS.1, CL-MACRO-SYMBOLS.1, @@ -31725,7 +31764,8 @@ WITH-OUTPUT-TO-STRING.16, DIGIT-CHAR.ERROR.2, CODE-CHAR.ERROR.2.;; Finished loading "gclload.lsp" T ->cp -a debian/gprof/* debian/tmp/ +>cp -a debian/trad/* debian/tmp/ +cp -a debian/gprof/* debian/tmp/ cp -a debian/ansi-gprof/* debian/tmp/ mv debian/tmp/usr/share/emacs/site-lisp debian/tmp/usr/share/emacs/foo mkdir -p debian/tmp/usr/share/emacs/site-lisp @@ -31821,8 +31861,8 @@ dh_gencontrol -a -u"-Vgcc=gcc" dh_md5sums -a dh_builddeb -a -dpkg-deb: building package 'gcl' in '../gcl_2.6.14-18_armhf.deb'. dpkg-deb: building package 'gcl-dbgsym' in '../gcl-dbgsym_2.6.14-18_armhf.deb'. +dpkg-deb: building package 'gcl' in '../gcl_2.6.14-18_armhf.deb'. dpkg-genbuildinfo --build=binary -O../gcl_2.6.14-18_armhf.buildinfo dpkg-genchanges --build=binary -O../gcl_2.6.14-18_armhf.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -31830,12 +31870,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/16710/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/16710/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/26953 and its subdirectories -I: Current time: Mon Mar 17 11:45:30 -12 2025 -I: pbuilder-time-stamp: 1742255130 +I: removing directory /srv/workspace/pbuilder/16710 and its subdirectories +I: Current time: Tue Mar 18 13:11:44 +14 2025 +I: pbuilder-time-stamp: 1742253104