Fix brk+munmap in folded stubs for main programs

qemu emulating a compressed ET_EXEC revealed an access to ElfXX_Phdr
on the discarded side of brk() during cleanup. qemu was more aggressive
than the Linux kernel implementation of brk().
        https://github.com/upx/upx/issues/683

	modified:   stub/src/i386-linux.elf-main.c
	modified:   stub/src/include/linux.h

	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh

	modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/arm64-linux.elf-fold.S
	modified:   stub/src/i386-linux.elf-fold.S
	modified:   stub/src/mipsel.r3000-linux.elf-fold.S
	modified:   stub/src/powerpc-linux.elf-fold.S
	modified:   stub/src/powerpc64le-linux.elf-fold.S

	modified:   stub/amd64-linux.elf-fold.h
	modified:   stub/arm.v4a-linux.elf-fold.h
	modified:   stub/arm.v5a-linux.elf-fold.h
	modified:   stub/arm64-linux.elf-fold.h
	modified:   stub/armeb.v4a-linux.elf-fold.h
	modified:   stub/i386-linux.elf-fold.h
	modified:   stub/mips.r3000-linux.elf-fold.h
	modified:   stub/mipsel.r3000-linux.elf-fold.h
	modified:   stub/powerpc-linux.elf-fold.h
	modified:   stub/powerpc64-linux.elf-fold.h
	modified:   stub/powerpc64le-linux.elf-fold.h

	modified:   stub/tmp/amd64-linux.elf-fold.map
	modified:   stub/tmp/arm.v4a-linux.elf-fold.map
	modified:   stub/tmp/arm.v5a-linux.elf-fold.map
	modified:   stub/tmp/arm64-linux.elf-fold.map
	modified:   stub/tmp/armeb.v4a-linux.elf-fold.map
	modified:   stub/tmp/i386-linux.elf-fold.map
	modified:   stub/tmp/mips.r3000-linux.elf-fold.map
	modified:   stub/tmp/mipsel.r3000-linux.elf-fold.map
	modified:   stub/tmp/powerpc-linux.elf-fold.map
	modified:   stub/tmp/powerpc64-linux.elf-fold.map
	modified:   stub/tmp/powerpc64le-linux.elf-fold.map
This commit is contained in:
John Reiser
2023-07-16 16:39:52 -07:00
committed by Markus F.X.J. Oberhumer
parent 3f7f26c74b
commit 067895fa5f
32 changed files with 2190 additions and 2176 deletions
+113 -116
View File
@@ -1,5 +1,5 @@
/* mipsel.r3000-linux.elf-fold.h
created from mipsel.r3000-linux.elf-fold.bin, 2940 (0xb7c) bytes
created from mipsel.r3000-linux.elf-fold.bin, 2888 (0xb48) bytes
This file is part of the UPX executable compressor.
@@ -31,17 +31,17 @@
*/
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2940
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x1cb68790
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0x55d8c254
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2888
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x0c507a74
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0xb1206160
unsigned char stub_mipsel_r3000_linux_elf_fold[2940] = {
unsigned char stub_mipsel_r3000_linux_elf_fold[2888] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 8, 0, 1, 0, 0, 0,128, 0, 16, 0, 52, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 1, 48, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
/* 0x0040 */ 0, 0, 16, 0,124, 11, 0, 0,128, 11, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,124, 11, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 0, 0, 16, 0, 72, 11, 0, 0, 80, 11, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 72, 11, 0, 0, 0, 0, 0, 0,
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 0, 0, 2, 36, 8, 0,224, 3, 64, 18, 2, 0, 0, 0, 0, 0,
@@ -59,9 +59,9 @@ unsigned char stub_mipsel_r3000_linux_elf_fold[2940] = {
/* 0x0140 */ 2, 0,224, 4, 33, 8,162, 0, 0, 0, 32,160, 0,254,189, 39,
/* 0x0150 */ 33, 88,128, 3, 33, 80,160, 2, 33, 72, 0, 0, 33, 64,192, 3,
/* 0x0160 */ 33, 56,192, 2, 33, 48,160, 3, 33, 40, 32, 2, 1, 0, 16, 4,
/* 0x0170 */ 116, 1, 2, 36, 35, 16,226, 3,228, 9, 66, 36, 9,248, 64, 0,
/* 0x0180 */ 33, 32, 0, 2, 0, 2,189, 39, 33,240, 64, 0, 92, 0,165,142,
/* 0x0190 */ 60, 0,162,142, 33, 32,160, 2, 35, 40,162, 0,251, 15, 2, 36,
/* 0x0170 */ 116, 1, 2, 36, 35, 16,226, 3,176, 9, 66, 36, 9,248, 64, 0,
/* 0x0180 */ 33, 32, 0, 2, 0, 2,189, 39, 33,240, 64, 0,104, 0,165,142,
/* 0x0190 */ 33, 32,160, 2,205, 15, 2, 36, 12, 0, 0, 0,251, 15, 2, 36,
/* 0x01a0 */ 12, 0, 0, 0, 20, 0,168,143, 33, 72, 0, 0, 16, 0,168,175,
/* 0x01b0 */ 20, 0,169,175, 2, 0, 7, 36, 1, 0, 6, 36, 34, 40, 28, 0,
/* 0x01c0 */ 33, 32, 0, 0,250, 15, 2, 36, 12, 0, 0, 0, 16, 0,164,143,
@@ -113,111 +113,108 @@ unsigned char stub_mipsel_r3000_linux_elf_fold[2940] = {
/* 0x04a0 */ 16, 0,176,143, 8, 0,224, 3, 40, 0,189, 39, 8, 0,128, 16,
/* 0x04b0 */ 0, 0, 0, 0, 0, 0,130,140, 0, 0, 0, 0, 3, 0, 69, 16,
/* 0x04c0 */ 0, 0, 0, 0,251,255, 0, 16, 8, 0,132, 36, 4, 0,134,172,
/* 0x04d0 */ 8, 0,224, 3, 0, 0, 0, 0,168,255,189, 39, 72, 0,182,175,
/* 0x04e0 */ 64, 0,180,175, 56, 0,178,175, 84, 0,191,175, 80, 0,190,175,
/* 0x04f0 */ 76, 0,183,175, 68, 0,181,175, 60, 0,179,175, 52, 0,177,175,
/* 0x0500 */ 48, 0,176,175, 28, 0,162,140, 33,160,160, 0, 33,144,162, 0,
/* 0x0510 */ 39, 16, 10, 0, 33,176,192, 0, 28, 0,164,175, 32, 0,167,175,
/* 0x0520 */ 36, 0,168,175, 40, 0,169,175, 24, 0,192, 16, 24, 0,162,175,
/* 0x04d0 */ 8, 0,224, 3, 0, 0, 0, 0,176,255,189, 39, 56, 0,180,175,
/* 0x04e0 */ 44, 0,177,175, 76, 0,191,175, 72, 0,190,175, 68, 0,183,175,
/* 0x04f0 */ 64, 0,182,175, 60, 0,181,175, 52, 0,179,175, 48, 0,178,175,
/* 0x0500 */ 40, 0,176,175, 28, 0,162,140, 33,160,160, 0, 33,136,162, 0,
/* 0x0510 */ 39, 16, 10, 0, 24, 0,166,175, 20, 0,164,175, 28, 0,167,175,
/* 0x0520 */ 32, 0,168,175, 36, 0,169,175, 19, 0,192, 16, 16, 0,162,175,
/* 0x0530 */ 0, 0, 6,141, 2, 0, 2, 36, 16, 0,195,148, 0, 0, 0, 0,
/* 0x0540 */ 4, 0, 98, 20, 52, 0,196, 36, 8, 0,145,140, 6, 0, 0, 16,
/* 0x0550 */ 16, 0,160,175, 40, 0,130,140, 0, 0, 0, 0, 35, 48,194, 0,
/* 0x0560 */ 16, 0,166,175, 33,136,192, 0, 20, 0,130,140, 33, 32, 32, 2,
/* 0x0570 */ 33, 40, 64, 0, 33, 16, 81, 0, 20, 0,162,175, 55,255, 17, 4,
/* 0x0580 */ 251, 15, 2, 36,217, 0, 0, 16, 12, 0,160,175, 16, 0,162,148,
/* 0x0590 */ 44, 0,163,148, 3, 0, 66, 56, 43, 16, 2, 0, 0, 57, 2, 0,
/* 0x05a0 */ 255,255, 99, 36, 33, 40, 64, 2, 33,136, 0, 0,255,255, 6, 36,
/* 0x05b0 */ 19, 0, 0, 16, 1, 0, 8, 36, 0, 0,162,140, 0, 0, 0, 0,
/* 0x05c0 */ 14, 0, 72, 20,255,255, 99, 36, 8, 0,164,140, 0, 0, 0, 0,
/* 0x05d0 */ 43, 16,134, 0, 2, 0, 64, 16, 0, 0, 0, 0, 33, 48,128, 0,
/* 0x05e0 */ 20, 0,162,140, 0, 0, 0, 0, 33, 32,130, 0, 43, 16, 36, 2,
/* 0x05f0 */ 2, 0, 64, 16, 0, 0, 0, 0, 33,136,128, 0, 32, 0,165, 36,
/* 0x0600 */ 237,255, 97, 4, 36,128, 70, 1, 35,136, 48, 2, 35,136, 42, 2,
/* 0x0610 */ 255,255, 49, 38, 36,136, 81, 1, 33, 32, 0, 2, 33, 40, 32, 2,
/* 0x0620 */ 2, 8,231, 52, 33, 48, 0, 0,255,255, 8, 36, 4,255, 17, 4,
/* 0x0630 */ 33, 72, 0, 0, 35,128, 80, 0, 33,136, 34, 2, 16, 0,176,175,
/* 0x0640 */ 20, 0,177,175,169, 0, 0, 16, 12, 0,160,175, 13, 0,192, 18,
/* 0x0650 */ 6, 0, 2, 36, 0, 0, 67,142, 0, 0, 0, 0, 11, 0, 98, 20,
/* 0x0660 */ 1, 0, 2, 36, 8, 0, 70,142, 16, 0,163,143, 32, 0,164,143,
/* 0x0670 */ 33, 48,102, 0,141,255, 17, 4, 3, 0, 5, 36,151, 0, 0, 16,
/* 0x0680 */ 0, 0, 0, 0, 0, 0, 67,142, 1, 0, 2, 36,147, 0, 98, 20,
/* 0x0690 */ 0, 0, 0, 0, 20, 0, 66,142, 0, 0, 0, 0,143, 0, 64, 16,
/* 0x06a0 */ 0, 0, 0, 0, 21, 0,192, 18, 0, 0, 0, 0, 4, 0, 66,142,
/* 0x06b0 */ 0, 0, 0, 0, 17, 0, 64, 20, 0, 0, 0, 0, 28, 0,130,142,
/* 0x06c0 */ 8, 0, 70,142, 16, 0,164,143, 33, 48,194, 0, 33, 48,134, 0,
/* 0x06d0 */ 32, 0,164,143,117,255, 17, 4, 3, 0, 5, 36, 32, 0,164,143,
/* 0x06e0 */ 44, 0,134,150,113,255, 17, 4, 5, 0, 5, 36, 32, 0,164,143,
/* 0x06f0 */ 42, 0,134,150,109,255, 17, 4, 4, 0, 5, 36, 8, 0, 66,142,
/* 0x0700 */ 16, 0,164,143, 24, 0, 67,142, 33,240,130, 0, 81,115, 2, 60,
/* 0x0710 */ 128, 24, 3, 0, 64, 98, 66, 52, 6,128, 98, 0, 24, 0,163,143,
/* 0x0720 */ 16, 0, 68,142, 36, 16,195, 3, 0, 0,164,175, 33,152,130, 0,
/* 0x0730 */ 20, 0, 68,142, 4, 0,190,175, 7, 0, 23, 50, 8, 0,164,175,
/* 0x0740 */ 22, 0,192, 18, 35,136,194, 3, 33, 32, 32, 2, 33, 40, 96, 2,
/* 0x0750 */ 3, 0, 6, 36, 18, 8, 7, 36,255,255, 8, 36,184,254, 17, 4,
/* 0x0760 */ 33, 72, 0, 0, 71, 0, 34, 22, 4, 0, 2, 50, 4, 0, 64, 16,
/* 0x0770 */ 0, 0, 0, 0, 40, 0,167,143, 2, 0, 0, 16, 0, 0, 0, 0,
/* 0x0780 */ 33, 56, 0, 0, 28, 0,166,143, 33, 32,192, 2,224,254, 17, 4,
/* 0x0790 */ 33, 40,160, 3, 11, 0, 0, 16, 0, 0, 0, 0, 4, 0, 73,142,
/* 0x07a0 */ 28, 0,168,143, 33, 32, 32, 2, 35, 72, 34, 1, 33, 40, 96, 2,
/* 0x07b0 */ 33, 48,224, 2,162,254, 17, 4, 18, 0, 7, 36, 50, 0, 34, 22,
/* 0x07c0 */ 127, 0, 4, 36, 24, 0,164,143, 35, 16, 19, 0, 2, 0,227, 50,
/* 0x07d0 */ 8, 0, 96, 16, 36,168, 68, 0, 6, 0,160, 18, 33, 24, 51, 2,
/* 0x07e0 */ 33, 16,160, 2,255,255, 66, 36, 0, 0, 96,160,253,255, 64, 20,
/* 0x07f0 */ 1, 0, 99, 36, 40, 0,192, 18, 1, 0, 2, 36, 0, 0, 67,142,
/* 0x0800 */ 0, 0, 0, 0, 26, 0, 98, 20, 33, 32, 32, 2, 24, 0, 66,142,
/* 0x0810 */ 0, 0, 0, 0, 1, 0, 66, 48, 22, 0, 64, 16, 33, 40, 96, 2,
/* 0x0820 */ 20, 0, 68,142, 16, 0, 66,142, 8, 0, 67,142, 69, 0,130, 20,
/* 0x0830 */ 33, 16,131, 0, 16, 0,163,143, 24, 0,164,143, 33,128, 67, 0,
/* 0x0840 */ 35, 16, 16, 0, 36, 16,130, 0, 12, 0, 66, 44, 61, 0, 64, 20,
/* 0x0850 */ 12, 0, 2, 36, 0, 0, 2,174,192, 3, 2, 60, 8, 0, 66, 52,
/* 0x0860 */ 4, 0, 2,174, 74, 0, 0, 16, 8, 0, 0,174, 33, 32, 32, 2,
/* 0x0870 */ 33, 40, 96, 2,126,254, 17, 4, 33, 48,224, 2, 6, 0, 64, 16,
/* 0x0880 */ 0, 0, 0, 0,127, 0, 4, 36,116,254, 17, 4,161, 15, 2, 36,
/* 0x0890 */ 255,255, 0, 16, 0, 0, 0, 0, 8, 0,163,143, 33, 16,117, 2,
/* 0x08a0 */ 33, 40,195, 3, 33,128, 34, 2, 43, 16, 5, 2, 11, 0, 64, 16,
/* 0x08b0 */ 35, 40,176, 0, 33, 48,224, 2, 33, 32, 0, 2, 18, 8, 7, 36,
/* 0x08c0 */ 255,255, 8, 36, 94,254, 17, 4, 33, 72, 0, 0, 3, 0, 2, 18,
/* 0x08d0 */ 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0, 12, 0,164,143,
/* 0x08e0 */ 32, 0, 82, 38, 1, 0,132, 36, 12, 0,164,175, 44, 0,130,150,
/* 0x08f0 */ 12, 0,163,143, 0, 0, 0, 0, 42, 16, 98, 0, 83,255, 64, 20,
/* 0x0900 */ 0, 0, 0, 0, 8, 0,192, 18, 3, 0, 2, 36, 16, 0,131,150,
/* 0x0910 */ 0, 0, 0, 0, 4, 0, 98, 16,205, 15, 2, 36, 20, 0,164,143,
/* 0x0920 */ 78,254, 17, 4, 0, 0, 0, 0, 36, 0,164,143, 0, 0, 0, 0,
/* 0x0930 */ 29, 0,128, 16, 0, 0, 0, 0, 16, 0,162,143, 26, 0, 0, 16,
/* 0x0940 */ 0, 0,130,172, 33, 32, 0, 0, 1, 0, 5, 60, 3, 0, 6, 36,
/* 0x0950 */ 2, 8, 7, 36,255,255, 8, 36, 57,254, 17, 4, 33, 72, 0, 0,
/* 0x0960 */ 194,255, 64, 16, 33,128, 64, 0, 12, 0, 2, 36, 0, 0, 2,174,
/* 0x0970 */ 192, 3, 2, 60, 8, 0, 66, 52, 4, 0, 2,174, 8, 0, 0,174,
/* 0x0980 */ 33, 32, 0, 2, 12, 0, 5, 36, 57,254, 17, 4, 5, 0, 6, 36,
/* 0x0990 */ 32, 0,164,143, 33, 48, 0, 2,196,254, 17, 4, 33, 40, 0, 0,
/* 0x09a0 */ 179,255, 0, 16, 33, 32, 32, 2, 24, 0,130,142, 16, 0,163,143,
/* 0x09b0 */ 84, 0,191,143, 80, 0,190,143, 76, 0,183,143, 72, 0,182,143,
/* 0x09c0 */ 68, 0,181,143, 64, 0,180,143, 60, 0,179,143, 56, 0,178,143,
/* 0x09d0 */ 52, 0,177,143, 48, 0,176,143, 33, 16, 98, 0, 8, 0,224, 3,
/* 0x09e0 */ 88, 0,189, 39,192,255,189, 39, 56, 0,191,175, 52, 0,181,175,
/* 0x09f0 */ 48, 0,180,175, 44, 0,179,175, 40, 0,178,175, 36, 0,177,175,
/* 0x0a00 */ 32, 0,176,175, 4, 0,130,140, 33,144, 0, 1, 0, 0,136,140,
/* 0x0a10 */ 33, 24,128, 0, 33,152,192, 0, 33,168, 96, 1, 33,160,224, 0,
/* 0x0a20 */ 33,136, 32, 1, 12, 0, 66, 36, 12, 0,165,175, 20, 0,164, 39,
/* 0x0a30 */ 4, 0,165, 39, 33, 48, 64, 2, 33, 56, 0, 0, 33,128, 64, 1,
/* 0x0a40 */ 16, 0,163,175, 24, 0,163,175, 4, 0,168,175, 20, 0,162,175,
/* 0x0a50 */ 47,254, 17, 4, 8, 0,179,175, 33, 72, 32, 2, 33, 32, 64, 2,
/* 0x0a60 */ 33, 40, 96, 2, 12, 0,166, 39, 33, 56,128, 2, 33, 64,160, 3,
/* 0x0a70 */ 33, 80,160, 2,152,254, 17, 4, 0, 0,176,175, 33, 48, 64, 0,
/* 0x0a80 */ 33, 32,128, 2, 9, 0, 5, 36,136,254, 17, 4, 33,136, 64, 0,
/* 0x0a90 */ 44, 0,102,150, 52, 0,100, 38, 43, 0, 0, 16, 33, 40, 0, 0,
/* 0x0aa0 */ 0, 0,131,140, 3, 0, 2, 36, 39, 0, 98, 20, 32, 0,132, 36,
/* 0x0ab0 */ 224,255,132, 36, 8, 0,130,140, 0, 0,164,143, 33, 40, 0, 0,
/* 0x0ac0 */ 33, 32, 68, 0, 33, 48, 0, 0,228,253, 17, 4,165, 15, 2, 36,
/* 0x0ad0 */ 9, 0, 64, 4, 33,128, 64, 0, 33, 32, 64, 0, 33, 40, 96, 2,
/* 0x0ae0 */ 0, 2, 6, 36,221,253, 17, 4,163, 15, 2, 36, 0, 2, 3, 36,
/* 0x0af0 */ 6, 0, 67, 16, 33, 80,160, 2,127, 0, 4, 36,215,253, 17, 4,
/* 0x0b00 */ 161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, 33, 56,128, 2,
/* 0x0b10 */ 33, 64,160, 3, 33, 72, 0, 0,111,254, 17, 4, 33, 48, 0, 0,
/* 0x0b20 */ 0, 0,166,143, 33, 32,128, 2, 7, 0, 5, 36, 95,254, 17, 4,
/* 0x0b30 */ 33,136, 64, 0, 33, 32, 0, 2,200,253, 17, 4,166, 15, 2, 36,
/* 0x0b40 */ 5, 0, 0, 16, 33, 16, 32, 2, 42, 16,166, 0,212,255, 64, 20,
/* 0x0b50 */ 1, 0,165, 36, 33, 16, 32, 2, 56, 0,191,143, 52, 0,181,143,
/* 0x0b60 */ 48, 0,180,143, 44, 0,179,143, 40, 0,178,143, 36, 0,177,143,
/* 0x0b70 */ 32, 0,176,143, 8, 0,224, 3, 64, 0,189, 39
/* 0x0540 */ 4, 0, 98, 20, 52, 0,197, 36, 8, 0,164,140, 5, 0, 0, 16,
/* 0x0550 */ 33,240, 0, 0, 40, 0,162,140, 0, 0, 0, 0, 35,240,194, 0,
/* 0x0560 */ 33, 32,192, 3, 20, 0,165,140, 60,255, 17, 4,251, 15, 2, 36,
/* 0x0570 */ 218, 0, 0, 16, 12, 0,160,175, 16, 0,162,148, 44, 0,163,148,
/* 0x0580 */ 3, 0, 66, 56, 43, 16, 2, 0, 0, 57, 2, 0,255,255, 99, 36,
/* 0x0590 */ 33, 48, 32, 2,255,255, 8, 36, 33, 40, 0, 0, 19, 0, 0, 16,
/* 0x05a0 */ 1, 0, 9, 36, 0, 0,194,140, 0, 0, 0, 0, 14, 0, 73, 20,
/* 0x05b0 */ 255,255, 99, 36, 8, 0,196,140, 0, 0, 0, 0, 43, 16,136, 0,
/* 0x05c0 */ 2, 0, 64, 16, 0, 0, 0, 0, 33, 64,128, 0, 20, 0,194,140,
/* 0x05d0 */ 0, 0, 0, 0, 33, 32,130, 0, 43, 16,164, 0, 2, 0, 64, 16,
/* 0x05e0 */ 0, 0, 0, 0, 33, 40,128, 0, 32, 0,198, 36,237,255, 97, 4,
/* 0x05f0 */ 36,128, 72, 1, 35, 40,176, 0, 35, 40,170, 0,255,255,165, 36,
/* 0x0600 */ 36, 40, 69, 1, 2, 8,231, 52, 33, 32, 0, 2, 33, 48, 0, 0,
/* 0x0610 */ 255,255, 8, 36, 10,255, 17, 4, 33, 72, 0, 0, 35,240, 80, 0,
/* 0x0620 */ 174, 0, 0, 16, 12, 0,160,175, 24, 0,163,143, 0, 0, 0, 0,
/* 0x0630 */ 12, 0, 96, 16, 6, 0, 2, 36, 0, 0, 35,142, 0, 0, 0, 0,
/* 0x0640 */ 10, 0, 98, 20, 1, 0, 2, 36, 8, 0, 38,142, 28, 0,164,143,
/* 0x0650 */ 33, 48,198, 3,149,255, 17, 4, 3, 0, 5, 36,155, 0, 0, 16,
/* 0x0660 */ 0, 0, 0, 0, 0, 0, 35,142, 1, 0, 2, 36,151, 0, 98, 20,
/* 0x0670 */ 0, 0, 0, 0, 20, 0, 34,142, 0, 0, 0, 0,147, 0, 64, 16,
/* 0x0680 */ 0, 0, 0, 0, 24, 0,164,143, 0, 0, 0, 0, 19, 0,128, 16,
/* 0x0690 */ 0, 0, 0, 0, 4, 0, 34,142, 0, 0, 0, 0, 15, 0, 64, 20,
/* 0x06a0 */ 3, 0, 5, 36, 28, 0,130,142, 8, 0, 38,142, 28, 0,164,143,
/* 0x06b0 */ 33, 48,194, 0,125,255, 17, 4, 33, 48,198, 3, 28, 0,164,143,
/* 0x06c0 */ 44, 0,134,150,121,255, 17, 4, 5, 0, 5, 36, 28, 0,164,143,
/* 0x06d0 */ 42, 0,134,150,117,255, 17, 4, 4, 0, 5, 36, 8, 0, 34,142,
/* 0x06e0 */ 24, 0, 35,142, 33,184,194, 3, 81,115, 2, 60,128, 24, 3, 0,
/* 0x06f0 */ 64, 98, 66, 52, 6,128, 98, 0, 16, 0,163,143, 16, 0, 36,142,
/* 0x0700 */ 36, 16,227, 2, 0, 0,164,175, 33,152,130, 0, 24, 0,163,143,
/* 0x0710 */ 20, 0, 36,142, 4, 0,183,175, 7, 0, 22, 50, 8, 0,164,175,
/* 0x0720 */ 22, 0, 96, 16, 35,144,226, 2, 33, 32, 64, 2, 33, 40, 96, 2,
/* 0x0730 */ 3, 0, 6, 36, 18, 8, 7, 36,255,255, 8, 36,192,254, 17, 4,
/* 0x0740 */ 33, 72, 0, 0, 75, 0, 66, 22, 4, 0, 2, 50, 4, 0, 64, 16,
/* 0x0750 */ 0, 0, 0, 0, 36, 0,167,143, 2, 0, 0, 16, 0, 0, 0, 0,
/* 0x0760 */ 33, 56, 0, 0, 24, 0,164,143, 20, 0,166,143,232,254, 17, 4,
/* 0x0770 */ 33, 40,160, 3, 11, 0, 0, 16, 0, 0, 0, 0, 4, 0, 41,142,
/* 0x0780 */ 20, 0,168,143, 33, 32, 64, 2, 35, 72, 34, 1, 33, 40, 96, 2,
/* 0x0790 */ 33, 48,192, 2,170,254, 17, 4, 18, 0, 7, 36, 54, 0, 66, 22,
/* 0x07a0 */ 127, 0, 4, 36, 16, 0,164,143, 35, 16, 19, 0, 2, 0,195, 50,
/* 0x07b0 */ 8, 0, 96, 16, 36,168, 68, 0, 6, 0,160, 18, 33, 24, 83, 2,
/* 0x07c0 */ 33, 16,160, 2,255,255, 66, 36, 0, 0, 96,160,253,255, 64, 20,
/* 0x07d0 */ 1, 0, 99, 36, 24, 0,162,143, 0, 0, 0, 0, 42, 0, 64, 16,
/* 0x07e0 */ 1, 0, 2, 36, 0, 0, 35,142, 0, 0, 0, 0, 28, 0, 98, 20,
/* 0x07f0 */ 33, 32, 64, 2, 24, 0, 34,142, 0, 0, 0, 0, 1, 0, 66, 48,
/* 0x0800 */ 24, 0, 64, 16, 33, 40, 96, 2, 20, 0, 36,142, 16, 0, 34,142,
/* 0x0810 */ 8, 0, 35,142, 61, 0,130, 20, 33, 16,131, 0, 33, 24, 94, 0,
/* 0x0820 */ 16, 0,164,143, 35, 16, 3, 0, 36, 16,130, 0, 12, 0, 66, 44,
/* 0x0830 */ 54, 0, 64, 20,252,255, 2, 36, 3, 0, 99, 36, 36,128, 98, 0,
/* 0x0840 */ 12, 0, 2, 36, 0, 0, 2,174,192, 3, 2, 60, 8, 0, 66, 52,
/* 0x0850 */ 4, 0, 2,174, 66, 0, 0, 16, 8, 0, 0,174, 33, 32, 64, 2,
/* 0x0860 */ 33, 40, 96, 2,130,254, 17, 4, 33, 48,192, 2, 6, 0, 64, 16,
/* 0x0870 */ 0, 0, 0, 0,127, 0, 4, 36,120,254, 17, 4,161, 15, 2, 36,
/* 0x0880 */ 255,255, 0, 16, 0, 0, 0, 0, 8, 0,163,143, 33, 16,117, 2,
/* 0x0890 */ 33, 40,227, 2, 33,128, 66, 2, 43, 16, 5, 2, 11, 0, 64, 16,
/* 0x08a0 */ 35, 40,176, 0, 33, 48,192, 2, 33, 32, 0, 2, 18, 8, 7, 36,
/* 0x08b0 */ 255,255, 8, 36, 98,254, 17, 4, 33, 72, 0, 0, 3, 0, 2, 18,
/* 0x08c0 */ 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0, 12, 0,164,143,
/* 0x08d0 */ 32, 0, 49, 38, 1, 0,132, 36, 12, 0,164,175, 44, 0,130,150,
/* 0x08e0 */ 12, 0,163,143, 0, 0, 0, 0, 42, 16, 98, 0, 78,255, 64, 20,
/* 0x08f0 */ 0, 0, 0, 0, 32, 0,164,143, 0, 0, 0, 0, 30, 0,128, 16,
/* 0x0900 */ 0, 0, 0, 0, 28, 0, 0, 16, 0, 0,158,172, 33, 32, 0, 0,
/* 0x0910 */ 1, 0, 5, 60, 3, 0, 6, 36, 2, 8, 7, 36,255,255, 8, 36,
/* 0x0920 */ 71,254, 17, 4, 33, 72, 0, 0,204,255, 64, 16, 3, 0, 67, 36,
/* 0x0930 */ 252,255, 2, 36, 36,128, 98, 0, 12, 0, 2, 36, 0, 0, 2,174,
/* 0x0940 */ 192, 3, 2, 60, 8, 0, 66, 52, 4, 0, 2,174, 8, 0, 0,174,
/* 0x0950 */ 33, 32, 0, 2, 12, 0, 5, 36, 69,254, 17, 4, 5, 0, 6, 36,
/* 0x0960 */ 28, 0,164,143, 33, 48, 0, 2,208,254, 17, 4, 33, 40, 0, 0,
/* 0x0970 */ 187,255, 0, 16, 33, 32, 64, 2, 24, 0,130,142, 76, 0,191,143,
/* 0x0980 */ 33, 16,194, 3, 68, 0,183,143, 72, 0,190,143, 64, 0,182,143,
/* 0x0990 */ 60, 0,181,143, 56, 0,180,143, 52, 0,179,143, 48, 0,178,143,
/* 0x09a0 */ 44, 0,177,143, 40, 0,176,143, 8, 0,224, 3, 80, 0,189, 39,
/* 0x09b0 */ 192,255,189, 39, 56, 0,191,175, 52, 0,181,175, 48, 0,180,175,
/* 0x09c0 */ 44, 0,179,175, 40, 0,178,175, 36, 0,177,175, 32, 0,176,175,
/* 0x09d0 */ 4, 0,130,140, 33,144, 0, 1, 0, 0,136,140, 33, 24,128, 0,
/* 0x09e0 */ 33,152,192, 0, 33,168, 96, 1, 33,160,224, 0, 33,136, 32, 1,
/* 0x09f0 */ 12, 0, 66, 36, 12, 0,165,175, 20, 0,164, 39, 4, 0,165, 39,
/* 0x0a00 */ 33, 48, 64, 2, 33, 56, 0, 0, 33,128, 64, 1, 16, 0,163,175,
/* 0x0a10 */ 24, 0,163,175, 4, 0,168,175, 20, 0,162,175, 60,254, 17, 4,
/* 0x0a20 */ 8, 0,179,175, 33, 72, 32, 2, 33, 32, 64, 2, 33, 40, 96, 2,
/* 0x0a30 */ 12, 0,166, 39, 33, 56,128, 2, 33, 64,160, 3, 33, 80,160, 2,
/* 0x0a40 */ 165,254, 17, 4, 0, 0,176,175, 33, 48, 64, 0, 33, 32,128, 2,
/* 0x0a50 */ 9, 0, 5, 36,149,254, 17, 4, 33,136, 64, 0, 44, 0,102,150,
/* 0x0a60 */ 52, 0,100, 38, 43, 0, 0, 16, 33, 40, 0, 0, 0, 0,131,140,
/* 0x0a70 */ 3, 0, 2, 36, 39, 0, 98, 20, 32, 0,132, 36,224,255,132, 36,
/* 0x0a80 */ 8, 0,130,140, 0, 0,164,143, 33, 40, 0, 0, 33, 32, 68, 0,
/* 0x0a90 */ 33, 48, 0, 0,241,253, 17, 4,165, 15, 2, 36, 9, 0, 64, 4,
/* 0x0aa0 */ 33,128, 64, 0, 33, 32, 64, 0, 33, 40, 96, 2, 0, 2, 6, 36,
/* 0x0ab0 */ 234,253, 17, 4,163, 15, 2, 36, 0, 2, 3, 36, 6, 0, 67, 16,
/* 0x0ac0 */ 33, 80,160, 2,127, 0, 4, 36,228,253, 17, 4,161, 15, 2, 36,
/* 0x0ad0 */ 255,255, 0, 16, 0, 0, 0, 0, 33, 56,128, 2, 33, 64,160, 3,
/* 0x0ae0 */ 33, 72, 0, 0,124,254, 17, 4, 33, 48, 0, 0, 0, 0,166,143,
/* 0x0af0 */ 33, 32,128, 2, 7, 0, 5, 36,108,254, 17, 4, 33,136, 64, 0,
/* 0x0b00 */ 33, 32, 0, 2,213,253, 17, 4,166, 15, 2, 36, 5, 0, 0, 16,
/* 0x0b10 */ 33, 16, 32, 2, 42, 16,166, 0,212,255, 64, 20, 1, 0,165, 36,
/* 0x0b20 */ 33, 16, 32, 2, 56, 0,191,143, 52, 0,181,143, 48, 0,180,143,
/* 0x0b30 */ 44, 0,179,143, 40, 0,178,143, 36, 0,177,143, 32, 0,176,143,
/* 0x0b40 */ 8, 0,224, 3, 64, 0,189, 39
};