Fix auxv_up() to avoid SIGSEGV under valgrind

https://github.com/upx/upx/issues/784
	modified:   stub/src/amd64-linux.elf-main.c
	modified:   stub/src/i386-linux.elf-main.c
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
           plus all generated stub/*-linux.elf-fold.{h,map}
This commit is contained in:
John Reiser
2024-02-03 13:58:53 -08:00
committed by Markus F.X.J. Oberhumer
parent 718ec468ff
commit 41f6945be1
26 changed files with 1984 additions and 1929 deletions
+159 -157
View File
@@ -1,5 +1,5 @@
/* powerpc-linux.elf-fold.h
created from powerpc-linux.elf-fold.bin, 4432 (0x1150) bytes
created from powerpc-linux.elf-fold.bin, 4460 (0x116c) bytes
This file is part of the UPX executable compressor.
@@ -32,17 +32,17 @@
/* clang-format off */
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 4432
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x89648b8c
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x4b5e47d4
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 4460
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x746888bd
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x75a30434
unsigned char stub_powerpc_linux_elf_fold[4432] = {
unsigned char stub_powerpc_linux_elf_fold[4460] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 0, 2, 0, 20, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0,
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 17, 80, 0, 0, 17, 80, 0, 0, 0, 5,
/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 17, 80, 0, 0, 0, 0,
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 17,108, 0, 0, 17,108, 0, 0, 0, 5,
/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 17,108, 0, 0, 0, 0,
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 56, 96,255,248, 84, 99, 72, 44, 78,128, 0, 32, 96, 0, 0, 0,
@@ -70,7 +70,7 @@ unsigned char stub_powerpc_linux_elf_fold[4432] = {
/* 0x01e0 */ 132, 4,255,252,127,132, 8, 64,148, 3,255,252, 65,157,255,244,
/* 0x01f0 */ 124, 97, 27,120,148, 33,247,240,127, 3,195,120,126,228,187,120,
/* 0x0200 */ 56,161, 0, 16,127, 70,211,120,127,231,251,120,126,200,179,120,
/* 0x0210 */ 127, 41,203,120, 72, 0, 13, 61, 56, 33, 8, 16,124,127, 27,120,
/* 0x0210 */ 127, 41,203,120, 72, 0, 13, 89, 56, 33, 8, 16,124,127, 27,120,
/* 0x0220 */ 128,153, 0,104,127, 35,203,120, 72, 0, 0,161,127, 35,203,120,
/* 0x0230 */ 72, 0, 0,209, 57, 0, 0, 0,127,103,219,120, 44, 7, 0, 0,
/* 0x0240 */ 65,128, 0, 32, 56,192, 0, 2, 56,160, 0, 1,124,158, 0,208,
@@ -165,153 +165,155 @@ unsigned char stub_powerpc_linux_elf_fold[4432] = {
/* 0x07d0 */ 56, 0, 0, 0,152, 11, 0, 0, 57, 41, 0, 1,145, 63, 0, 8,
/* 0x07e0 */ 129, 63, 0, 12, 56, 9,255,255,144, 31, 0, 12, 47,128, 0, 0,
/* 0x07f0 */ 65,158, 0, 8, 75,255,255,212,129, 97, 0, 0,131,235,255,252,
/* 0x0800 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28,
/* 0x0810 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, 56, 0, 0, 0,
/* 0x0820 */ 144, 31, 0, 16,128, 31, 0, 8, 47,128, 0, 0, 65,158, 0, 76,
/* 0x0830 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 12,127,137, 0, 0,
/* 0x0840 */ 64,158, 0, 16,128, 31, 0, 8,144, 31, 0, 20, 72, 0, 0, 52,
/* 0x0850 */ 129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 12,
/* 0x0860 */ 128, 31, 0, 8,144, 31, 0, 16,129, 63, 0, 8, 56, 9, 0, 8,
/* 0x0870 */ 144, 31, 0, 8, 75,255,255,188, 56, 0, 0, 0,144, 31, 0, 20,
/* 0x0880 */ 128,127, 0, 20,129, 97, 0, 0,131,235,255,252,125, 97, 91,120,
/* 0x0890 */ 78,128, 0, 32,148, 33,255,224,124, 8, 2,166,147,225, 0, 28,
/* 0x08a0 */ 144, 1, 0, 36,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x08b0 */ 144,191, 0, 16,128,127, 0, 8,128,159, 0, 12, 75,255,255, 77,
/* 0x08c0 */ 124, 96, 27,120,144, 31, 0, 8,128, 31, 0, 8, 47,128, 0, 0,
/* 0x08d0 */ 65,158, 0, 16,129, 63, 0, 8,128, 31, 0, 16,144, 9, 0, 4,
/* 0x08e0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x08f0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,208,124, 8, 2,166,
/* 0x0900 */ 147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8,
/* 0x0910 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, 75,255,247,101,
/* 0x0920 */ 124, 96, 27,120,144, 31, 0, 24, 56, 0,255,255,144, 31, 0, 28,
/* 0x0930 */ 56, 0, 0, 0,144, 31, 0, 32, 56, 0, 0, 0,144, 31, 0, 36,
/* 0x0940 */ 129, 63, 0, 16, 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0,
/* 0x0950 */ 65,156, 0,124,129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1,
/* 0x0960 */ 64,158, 0, 92,129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 28,
/* 0x0970 */ 127,137, 0, 64, 64,156, 0, 16,129, 63, 0, 12,128, 9, 0, 8,
/* 0x0980 */ 144, 31, 0, 28,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,
/* 0x0990 */ 128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 32,127,137, 0, 64,
/* 0x09a0 */ 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,
/* 0x09b0 */ 128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 32,129, 63, 0, 12,
/* 0x09c0 */ 56, 9, 0, 32,144, 31, 0, 12, 75,255,255,120,129, 63, 0, 28,
/* 0x09d0 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 28,129, 63, 0, 32,
/* 0x09e0 */ 128, 31, 0, 28,125, 32, 72, 80,128, 31, 0, 24,125, 32, 72, 80,
/* 0x09f0 */ 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 32,
/* 0x0a00 */ 128, 31, 0, 8, 96, 0, 0, 34,128,127, 0, 28,128,159, 0, 32,
/* 0x0a10 */ 56,160, 0, 0,124, 6, 3,120, 56,224,255,255, 57, 0, 0, 0,
/* 0x0a20 */ 75,255,248,141,144,127, 0, 36,129,127, 0, 20,129, 63, 0, 32,
/* 0x0a30 */ 128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 0,129, 63, 0, 36,
/* 0x0a40 */ 128, 31, 0, 28,124, 0, 72, 80,124, 3, 3,120,129, 97, 0, 0,
/* 0x0a50 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120,
/* 0x0a60 */ 78,128, 0, 32,148, 33,255,144,124, 8, 2,166,147,225, 0,108,
/* 0x0a70 */ 144, 1, 0,116,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x0a80 */ 144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,
/* 0x0a90 */ 75,255,245,241,124, 96, 27,120,124, 0, 0,248,144, 31, 0, 32,
/* 0x0aa0 */ 129, 63, 0, 12,129, 41, 0, 28,128, 31, 0, 12,124, 9, 2, 20,
/* 0x0ab0 */ 144, 31, 0, 36,128, 31, 0, 16, 47,128, 0, 0, 65,158, 0,144,
/* 0x0ac0 */ 129, 63, 0, 24,128, 9, 0, 0,144, 31, 0, 48,129, 63, 0, 48,
/* 0x0ad0 */ 56, 9, 0, 52,144, 31, 0, 52,129, 63, 0, 48,160, 9, 0, 16,
/* 0x0ae0 */ 84, 0, 4, 62, 47,128, 0, 2, 64,158, 0, 28,129, 63, 0, 52,
/* 0x0af0 */ 128, 9, 0, 8,144, 31, 0, 48, 56, 0, 0, 0,144, 31, 0, 44,
/* 0x0b00 */ 72, 0, 0, 36,129, 63, 0, 52, 57, 41, 0, 32,129,127, 0, 48,
/* 0x0b10 */ 128, 9, 0, 8,124, 0, 88, 80,144, 31, 0, 48,128, 31, 0, 48,
/* 0x0b20 */ 144, 31, 0, 44,129, 63, 0, 52,129, 41, 0, 20,128, 31, 0, 48,
/* 0x0b30 */ 124, 9, 2, 20,144, 31, 0, 40,129, 63, 0, 52,128,127, 0, 48,
/* 0x0b40 */ 128,137, 0, 20, 75,255,247,189, 72, 0, 0, 84,129, 63, 0, 12,
/* 0x0b50 */ 160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 3, 65,158, 0, 16,
/* 0x0b60 */ 56, 0, 0, 16,144, 31, 0, 84, 72, 0, 0, 12, 56, 0, 0, 0,
/* 0x0b70 */ 144, 31, 0, 84,129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62,
/* 0x0b80 */ 57, 63, 0, 40,128,127, 0, 84,128,159, 0, 36,124, 5, 3,120,
/* 0x0b90 */ 125, 38, 75,120, 75,255,253,101,144,127, 0, 44, 56, 0, 0, 0,
/* 0x0ba0 */ 144, 31, 0, 52,129, 63, 0, 12,160, 9, 0, 44, 84, 9, 4, 62,
/* 0x0bb0 */ 128, 31, 0, 52,127,137, 0, 0, 64,157, 3, 84,128, 31, 0, 16,
/* 0x0bc0 */ 47,128, 0, 0, 65,158, 0, 56,129, 63, 0, 36,128, 9, 0, 0,
/* 0x0bd0 */ 47,128, 0, 6, 64,158, 0, 40,129, 63, 0, 36,129, 41, 0, 8,
/* 0x0be0 */ 128, 31, 0, 44,124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3,
/* 0x0bf0 */ 124, 5, 3,120, 75,255,252,161, 72, 0, 2,248,129, 63, 0, 36,
/* 0x0c00 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 2,232,129, 63, 0, 36,
/* 0x0c10 */ 128, 9, 0, 20, 47,128, 0, 0, 65,158, 2,216,128, 31, 0, 16,
/* 0x0c20 */ 47,128, 0, 0, 65,158, 0,120,129, 63, 0, 36,128, 9, 0, 4,
/* 0x0c30 */ 47,128, 0, 0, 64,158, 0,104,129, 63, 0, 36,129, 41, 0, 8,
/* 0x0c40 */ 128, 31, 0, 44,125,105, 2, 20,129, 63, 0, 12,128, 9, 0, 28,
/* 0x0c50 */ 124, 11, 2, 20,128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120,
/* 0x0c60 */ 75,255,252, 53,129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62,
/* 0x0c70 */ 128,127, 0, 20, 56,128, 0, 5,124, 5, 3,120, 75,255,252, 25,
/* 0x0c80 */ 129, 63, 0, 12,160, 9, 0, 42, 84, 0, 4, 62,128,127, 0, 20,
/* 0x0c90 */ 56,128, 0, 4,124, 5, 3,120, 75,255,251,253,129, 63, 0, 36,
/* 0x0ca0 */ 128, 9, 0, 24, 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81,
/* 0x0cb0 */ 96, 0, 98, 64,124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 48,
/* 0x0cc0 */ 129, 63, 0, 36,128, 9, 0, 16,144, 31, 0, 56,144, 31, 0, 64,
/* 0x0cd0 */ 129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44,124, 9, 2, 20,
/* 0x0ce0 */ 144, 31, 0, 60,144, 31, 0, 68,129, 63, 0, 36,129, 41, 0, 20,
/* 0x0cf0 */ 128, 31, 0, 68,124, 9, 2, 20,144, 31, 0, 72,129, 63, 0, 68,
/* 0x0d00 */ 128, 31, 0, 32,125, 32, 0, 56,144, 31, 0, 76,129, 63, 0, 64,
/* 0x0d10 */ 128, 31, 0, 76,124, 9, 2, 20,144, 31, 0, 64,129, 63, 0, 68,
/* 0x0d20 */ 128, 31, 0, 76,124, 0, 72, 80,144, 31, 0, 68,128, 31, 0, 16,
/* 0x0d30 */ 47,128, 0, 0, 65,158, 0,120,128,127, 0, 68,128,159, 0, 64,
/* 0x0d40 */ 56,160, 0, 3, 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0,
/* 0x0d50 */ 75,255,245, 93,124, 96, 27,120,129, 63, 0, 68,127,128, 72, 0,
/* 0x0d60 */ 65,158, 0, 8, 72, 0, 1, 32, 56, 31, 0, 56,144, 31, 0, 88,
/* 0x0d70 */ 128, 31, 0, 48, 84, 0, 7,122, 47,128, 0, 0, 65,158, 0, 16,
/* 0x0d80 */ 128, 31, 0, 28,144, 31, 0, 92, 72, 0, 0, 12, 56, 0, 0, 0,
/* 0x0d90 */ 144, 31, 0, 92,128,127, 0, 16,128,159, 0, 88,128,191, 0, 8,
/* 0x0da0 */ 128,223, 0, 92, 75,255,246, 85, 72, 0, 0, 68,129, 63, 0, 36,
/* 0x0db0 */ 129, 41, 0, 4,128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 68,
/* 0x0dc0 */ 128,159, 0, 64,128,191, 0, 48, 56,192, 0, 18,128,255, 0, 8,
/* 0x0dd0 */ 124, 8, 3,120, 75,255,244,217,124,105, 27,120,128, 31, 0, 68,
/* 0x0de0 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0,156,128, 31, 0, 64,
/* 0x0df0 */ 125, 32, 0,208,128, 31, 0, 32,125, 32, 0, 56,144, 31, 0, 76,
/* 0x0e00 */ 128, 31, 0, 48, 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28,
/* 0x0e10 */ 128, 31, 0, 68,129, 63, 0, 64,124, 0, 74, 20,124, 3, 3,120,
/* 0x0e20 */ 128,159, 0, 76, 75,255,249,133,128, 31, 0, 16, 47,128, 0, 0,
/* 0x0e30 */ 65,158, 0, 92,128,127, 0, 36,128,159, 0, 44,128,191, 0, 32,
/* 0x0e40 */ 75,255,247,229,124, 96, 27,120,144, 31, 0, 80,128, 31, 0, 80,
/* 0x0e50 */ 47,128, 0, 0, 65,158, 0, 20,128,127, 0, 20, 56,128, 0, 0,
/* 0x0e60 */ 128,191, 0, 80, 75,255,250, 49,128,127, 0, 68,128,159, 0, 64,
/* 0x0e70 */ 128,191, 0, 48, 75,255,244, 37,124, 96, 27,120, 47,128, 0, 0,
/* 0x0e80 */ 65,158, 0, 12, 56, 96, 0,127, 75,255,244, 57,129, 63, 0, 64,
/* 0x0e90 */ 128, 31, 0, 76,125, 41, 2, 20,128, 31, 0, 68,124, 0, 74, 20,
/* 0x0ea0 */ 144, 31, 0, 68,129, 63, 0, 68,128, 31, 0, 72,127,137, 0, 64,
/* 0x0eb0 */ 64,156, 0, 64,129, 63, 0, 72,128, 31, 0, 68,124, 0, 72, 80,
/* 0x0ec0 */ 128,127, 0, 68,124, 4, 3,120,128,191, 0, 48, 56,192, 0, 50,
/* 0x0ed0 */ 56,224,255,255, 57, 0, 0, 0, 75,255,243,213,124,105, 27,120,
/* 0x0ee0 */ 128, 31, 0, 68,127,137, 0, 0, 65,158, 0, 8, 72, 0, 0, 0,
/* 0x0ef0 */ 129, 63, 0, 36, 56, 9, 0, 32,144, 31, 0, 36,129, 63, 0, 52,
/* 0x0f00 */ 56, 9, 0, 1,144, 31, 0, 52, 75,255,252,156,128, 31, 0, 24,
/* 0x0f10 */ 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 24,128, 31, 0, 44,
/* 0x0f20 */ 144, 9, 0, 0,129, 63, 0, 12,129, 41, 0, 24,128, 31, 0, 44,
/* 0x0f30 */ 124, 9, 2, 20,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,
/* 0x0f40 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x0f50 */ 148, 33,255,160,124, 8, 2,166,147,225, 0, 92,144, 1, 0,100,
/* 0x0f60 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x0f70 */ 144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32,
/* 0x0f80 */ 129, 63, 0, 8,129, 41, 0, 4, 56, 9, 0, 12,144, 31, 0, 36,
/* 0x0f90 */ 128, 31, 0, 16,144, 31, 0, 44,129, 63, 0, 8,128, 9, 0, 0,
/* 0x0fa0 */ 144, 31, 0, 40,128, 31, 0, 8,144, 31, 0, 52,128, 31, 0, 12,
/* 0x0fb0 */ 144, 31, 0, 48, 56, 31, 0, 48, 57, 63, 0, 40,124, 3, 3,120,
/* 0x0fc0 */ 125, 36, 75,120,128,191, 0, 24, 56,192, 0, 0, 75,255,244, 45,
/* 0x0fd0 */ 129, 63, 0, 52,128, 31, 0, 36,124, 0, 72, 80,144, 31, 0, 52,
/* 0x0fe0 */ 128, 31, 0, 12,144, 31, 0, 48,128, 31, 0, 32,144, 31, 0, 56,
/* 0x0ff0 */ 129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 60, 56, 31, 0, 48,
/* 0x1000 */ 57, 63, 0, 56,128,127, 0, 24,128,159, 0, 16,124, 5, 3,120,
/* 0x1010 */ 128,223, 0, 20,125, 39, 75,120,129, 31, 0, 28, 75,255,250, 73,
/* 0x1020 */ 124, 96, 27,120,144, 31, 0, 64,128,127, 0, 20, 56,128, 0, 9,
/* 0x1030 */ 128,191, 0, 64, 75,255,248, 97, 56, 0, 0, 0,144, 31, 0, 68,
/* 0x1040 */ 129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 60,129, 63, 0, 16,
/* 0x1050 */ 160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 68,127,137, 0, 0,
/* 0x1060 */ 64,157, 0,208,129, 63, 0, 60,128, 9, 0, 0, 47,128, 0, 3,
/* 0x1070 */ 64,158, 0,164,129, 63, 0, 60,129, 41, 0, 8,128, 31, 0, 56,
/* 0x1080 */ 124, 9, 2, 20,124, 3, 3,120, 56,128, 0, 0, 56,160, 0, 0,
/* 0x1090 */ 75,255,242, 89,124, 96, 27,120,144, 31, 0, 72,128, 31, 0, 72,
/* 0x10a0 */ 47,128, 0, 0, 64,156, 0, 8, 72, 0, 0, 32,128,127, 0, 72,
/* 0x10b0 */ 128,159, 0, 16, 56,160, 2, 0, 75,255,242, 41,124, 96, 27,120,
/* 0x10c0 */ 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0,127, 75,255,241,245,
/* 0x10d0 */ 56, 31, 0, 56,128,127, 0, 72,128,159, 0, 16, 56,160, 0, 0,
/* 0x10e0 */ 128,223, 0, 20,124, 7, 3,120, 57, 0, 0, 0, 75,255,249,121,
/* 0x10f0 */ 124, 96, 27,120,144, 31, 0, 64,128,127, 0, 20, 56,128, 0, 7,
/* 0x1100 */ 128,191, 0, 56, 75,255,247,145,128,127, 0, 72, 75,255,241,229,
/* 0x1110 */ 72, 0, 0, 32,129, 63, 0, 60, 56, 9, 0, 32,144, 31, 0, 60,
/* 0x1120 */ 129, 63, 0, 68, 56, 9, 0, 1,144, 31, 0, 68, 75,255,255, 32,
/* 0x1130 */ 128, 31, 0, 64,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,
/* 0x1140 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32
/* 0x0800 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,208,124, 8, 2,166,
/* 0x0810 */ 147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8,
/* 0x0820 */ 144,159, 0, 12,144,191, 0, 16,128, 31, 0, 8, 47,128, 0, 0,
/* 0x0830 */ 65,158, 0,204,128, 31, 0, 8, 84, 0, 7,254, 47,128, 0, 0,
/* 0x0840 */ 64,158, 0,188, 56, 0, 0, 0,144, 31, 0, 20, 56, 0, 0, 0,
/* 0x0850 */ 144, 31, 0, 24,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 12,
/* 0x0860 */ 127,137, 0, 0, 64,158, 0, 32,129, 63, 0, 8,128, 31, 0, 16,
/* 0x0870 */ 144, 9, 0, 4,129, 63, 0, 24, 56, 9, 0, 1,144, 31, 0, 24,
/* 0x0880 */ 72, 0, 0, 28,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1,
/* 0x0890 */ 64,158, 0, 12,128, 31, 0, 8,144, 31, 0, 20,129, 63, 0, 8,
/* 0x08a0 */ 128, 9, 0, 0, 47,128, 0, 0, 64,158, 0, 68,128, 31, 0, 24,
/* 0x08b0 */ 47,128, 0, 0, 65,158, 0, 8, 72, 0, 0, 68,128, 31, 0, 20,
/* 0x08c0 */ 47,128, 0, 0, 65,158, 0, 32,129, 63, 0, 20,128, 31, 0, 12,
/* 0x08d0 */ 144, 9, 0, 0,129, 63, 0, 20,128, 31, 0, 16,144, 9, 0, 4,
/* 0x08e0 */ 72, 0, 0, 28, 56, 96, 0,127, 75,255,249,217,129, 63, 0, 8,
/* 0x08f0 */ 56, 9, 0, 8,144, 31, 0, 8, 75,255,255, 92,129, 97, 0, 0,
/* 0x0900 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120,
/* 0x0910 */ 78,128, 0, 32,148, 33,255,208,124, 8, 2,166,147,225, 0, 44,
/* 0x0920 */ 144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x0930 */ 144,191, 0, 16,144,223, 0, 20, 75,255,247, 73,124, 96, 27,120,
/* 0x0940 */ 144, 31, 0, 24, 56, 0,255,255,144, 31, 0, 28, 56, 0, 0, 0,
/* 0x0950 */ 144, 31, 0, 32, 56, 0, 0, 0,144, 31, 0, 36,129, 63, 0, 16,
/* 0x0960 */ 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,124,
/* 0x0970 */ 129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 92,
/* 0x0980 */ 129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 28,127,137, 0, 64,
/* 0x0990 */ 64,156, 0, 16,129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 28,
/* 0x09a0 */ 129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,
/* 0x09b0 */ 125, 41, 2, 20,128, 31, 0, 32,127,137, 0, 64, 64,157, 0, 28,
/* 0x09c0 */ 129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,
/* 0x09d0 */ 124, 9, 2, 20,144, 31, 0, 32,129, 63, 0, 12, 56, 9, 0, 32,
/* 0x09e0 */ 144, 31, 0, 12, 75,255,255,120,129, 63, 0, 28,128, 31, 0, 24,
/* 0x09f0 */ 125, 32, 0, 56,144, 31, 0, 28,129, 63, 0, 32,128, 31, 0, 28,
/* 0x0a00 */ 125, 32, 72, 80,128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255,
/* 0x0a10 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 32,128, 31, 0, 8,
/* 0x0a20 */ 96, 0, 0, 34,128,127, 0, 28,128,159, 0, 32, 56,160, 0, 0,
/* 0x0a30 */ 124, 6, 3,120, 56,224,255,255, 57, 0, 0, 0, 75,255,248,113,
/* 0x0a40 */ 144,127, 0, 36,129,127, 0, 20,129, 63, 0, 32,128, 31, 0, 36,
/* 0x0a50 */ 124, 9, 2, 20,144, 11, 0, 0,129, 63, 0, 36,128, 31, 0, 28,
/* 0x0a60 */ 124, 0, 72, 80,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,
/* 0x0a70 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x0a80 */ 148, 33,255,144,124, 8, 2,166,147,225, 0,108,144, 1, 0,116,
/* 0x0a90 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x0aa0 */ 144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28, 75,255,245,213,
/* 0x0ab0 */ 124, 96, 27,120,124, 0, 0,248,144, 31, 0, 32,129, 63, 0, 12,
/* 0x0ac0 */ 129, 41, 0, 28,128, 31, 0, 12,124, 9, 2, 20,144, 31, 0, 36,
/* 0x0ad0 */ 128, 31, 0, 16, 47,128, 0, 0, 65,158, 0,144,129, 63, 0, 24,
/* 0x0ae0 */ 128, 9, 0, 0,144, 31, 0, 48,129, 63, 0, 48, 56, 9, 0, 52,
/* 0x0af0 */ 144, 31, 0, 52,129, 63, 0, 48,160, 9, 0, 16, 84, 0, 4, 62,
/* 0x0b00 */ 47,128, 0, 2, 64,158, 0, 28,129, 63, 0, 52,128, 9, 0, 8,
/* 0x0b10 */ 144, 31, 0, 48, 56, 0, 0, 0,144, 31, 0, 44, 72, 0, 0, 36,
/* 0x0b20 */ 129, 63, 0, 52, 57, 41, 0, 32,129,127, 0, 48,128, 9, 0, 8,
/* 0x0b30 */ 124, 0, 88, 80,144, 31, 0, 48,128, 31, 0, 48,144, 31, 0, 44,
/* 0x0b40 */ 129, 63, 0, 52,129, 41, 0, 20,128, 31, 0, 48,124, 9, 2, 20,
/* 0x0b50 */ 144, 31, 0, 40,129, 63, 0, 52,128,127, 0, 48,128,137, 0, 20,
/* 0x0b60 */ 75,255,247,161, 72, 0, 0, 84,129, 63, 0, 12,160, 9, 0, 16,
/* 0x0b70 */ 84, 0, 4, 62, 47,128, 0, 3, 65,158, 0, 16, 56, 0, 0, 16,
/* 0x0b80 */ 144, 31, 0, 84, 72, 0, 0, 12, 56, 0, 0, 0,144, 31, 0, 84,
/* 0x0b90 */ 129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62, 57, 63, 0, 40,
/* 0x0ba0 */ 128,127, 0, 84,128,159, 0, 36,124, 5, 3,120,125, 38, 75,120,
/* 0x0bb0 */ 75,255,253,101,144,127, 0, 44, 56, 0, 0, 0,144, 31, 0, 52,
/* 0x0bc0 */ 129, 63, 0, 12,160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 52,
/* 0x0bd0 */ 127,137, 0, 0, 64,157, 3, 84,128, 31, 0, 16, 47,128, 0, 0,
/* 0x0be0 */ 65,158, 0, 56,129, 63, 0, 36,128, 9, 0, 0, 47,128, 0, 6,
/* 0x0bf0 */ 64,158, 0, 40,129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44,
/* 0x0c00 */ 124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120,
/* 0x0c10 */ 75,255,251,249, 72, 0, 2,248,129, 63, 0, 36,128, 9, 0, 0,
/* 0x0c20 */ 47,128, 0, 1, 64,158, 2,232,129, 63, 0, 36,128, 9, 0, 20,
/* 0x0c30 */ 47,128, 0, 0, 65,158, 2,216,128, 31, 0, 16, 47,128, 0, 0,
/* 0x0c40 */ 65,158, 0,120,129, 63, 0, 36,128, 9, 0, 4, 47,128, 0, 0,
/* 0x0c50 */ 64,158, 0,104,129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44,
/* 0x0c60 */ 125,105, 2, 20,129, 63, 0, 12,128, 9, 0, 28,124, 11, 2, 20,
/* 0x0c70 */ 128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, 75,255,251,141,
/* 0x0c80 */ 129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62,128,127, 0, 20,
/* 0x0c90 */ 56,128, 0, 5,124, 5, 3,120, 75,255,251,113,129, 63, 0, 12,
/* 0x0ca0 */ 160, 9, 0, 42, 84, 0, 4, 62,128,127, 0, 20, 56,128, 0, 4,
/* 0x0cb0 */ 124, 5, 3,120, 75,255,251, 85,129, 63, 0, 36,128, 9, 0, 24,
/* 0x0cc0 */ 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64,
/* 0x0cd0 */ 124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 48,129, 63, 0, 36,
/* 0x0ce0 */ 128, 9, 0, 16,144, 31, 0, 56,144, 31, 0, 64,129, 63, 0, 36,
/* 0x0cf0 */ 129, 41, 0, 8,128, 31, 0, 44,124, 9, 2, 20,144, 31, 0, 60,
/* 0x0d00 */ 144, 31, 0, 68,129, 63, 0, 36,129, 41, 0, 20,128, 31, 0, 68,
/* 0x0d10 */ 124, 9, 2, 20,144, 31, 0, 72,129, 63, 0, 68,128, 31, 0, 32,
/* 0x0d20 */ 125, 32, 0, 56,144, 31, 0, 76,129, 63, 0, 64,128, 31, 0, 76,
/* 0x0d30 */ 124, 9, 2, 20,144, 31, 0, 64,129, 63, 0, 68,128, 31, 0, 76,
/* 0x0d40 */ 124, 0, 72, 80,144, 31, 0, 68,128, 31, 0, 16, 47,128, 0, 0,
/* 0x0d50 */ 65,158, 0,120,128,127, 0, 68,128,159, 0, 64, 56,160, 0, 3,
/* 0x0d60 */ 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, 75,255,245, 65,
/* 0x0d70 */ 124, 96, 27,120,129, 63, 0, 68,127,128, 72, 0, 65,158, 0, 8,
/* 0x0d80 */ 72, 0, 1, 32, 56, 31, 0, 56,144, 31, 0, 88,128, 31, 0, 48,
/* 0x0d90 */ 84, 0, 7,122, 47,128, 0, 0, 65,158, 0, 16,128, 31, 0, 28,
/* 0x0da0 */ 144, 31, 0, 92, 72, 0, 0, 12, 56, 0, 0, 0,144, 31, 0, 92,
/* 0x0db0 */ 128,127, 0, 16,128,159, 0, 88,128,191, 0, 8,128,223, 0, 92,
/* 0x0dc0 */ 75,255,246, 57, 72, 0, 0, 68,129, 63, 0, 36,129, 41, 0, 4,
/* 0x0dd0 */ 128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 68,128,159, 0, 64,
/* 0x0de0 */ 128,191, 0, 48, 56,192, 0, 18,128,255, 0, 8,124, 8, 3,120,
/* 0x0df0 */ 75,255,244,189,124,105, 27,120,128, 31, 0, 68,127,137, 0, 0,
/* 0x0e00 */ 65,158, 0, 8, 72, 0, 0,156,128, 31, 0, 64,125, 32, 0,208,
/* 0x0e10 */ 128, 31, 0, 32,125, 32, 0, 56,144, 31, 0, 76,128, 31, 0, 48,
/* 0x0e20 */ 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 68,
/* 0x0e30 */ 129, 63, 0, 64,124, 0, 74, 20,124, 3, 3,120,128,159, 0, 76,
/* 0x0e40 */ 75,255,249,105,128, 31, 0, 16, 47,128, 0, 0, 65,158, 0, 92,
/* 0x0e50 */ 128,127, 0, 36,128,159, 0, 44,128,191, 0, 32, 75,255,247,201,
/* 0x0e60 */ 124, 96, 27,120,144, 31, 0, 80,128, 31, 0, 80, 47,128, 0, 0,
/* 0x0e70 */ 65,158, 0, 20,128,127, 0, 20, 56,128, 0, 0,128,191, 0, 80,
/* 0x0e80 */ 75,255,249,137,128,127, 0, 68,128,159, 0, 64,128,191, 0, 48,
/* 0x0e90 */ 75,255,244, 9,124, 96, 27,120, 47,128, 0, 0, 65,158, 0, 12,
/* 0x0ea0 */ 56, 96, 0,127, 75,255,244, 29,129, 63, 0, 64,128, 31, 0, 76,
/* 0x0eb0 */ 125, 41, 2, 20,128, 31, 0, 68,124, 0, 74, 20,144, 31, 0, 68,
/* 0x0ec0 */ 129, 63, 0, 68,128, 31, 0, 72,127,137, 0, 64, 64,156, 0, 64,
/* 0x0ed0 */ 129, 63, 0, 72,128, 31, 0, 68,124, 0, 72, 80,128,127, 0, 68,
/* 0x0ee0 */ 124, 4, 3,120,128,191, 0, 48, 56,192, 0, 50, 56,224,255,255,
/* 0x0ef0 */ 57, 0, 0, 0, 75,255,243,185,124,105, 27,120,128, 31, 0, 68,
/* 0x0f00 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0, 0,129, 63, 0, 36,
/* 0x0f10 */ 56, 9, 0, 32,144, 31, 0, 36,129, 63, 0, 52, 56, 9, 0, 1,
/* 0x0f20 */ 144, 31, 0, 52, 75,255,252,156,128, 31, 0, 24, 47,128, 0, 0,
/* 0x0f30 */ 65,158, 0, 16,129, 63, 0, 24,128, 31, 0, 44,144, 9, 0, 0,
/* 0x0f40 */ 129, 63, 0, 12,129, 41, 0, 24,128, 31, 0, 44,124, 9, 2, 20,
/* 0x0f50 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,
/* 0x0f60 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,160,
/* 0x0f70 */ 124, 8, 2,166,147,225, 0, 92,144, 1, 0,100,124, 63, 11,120,
/* 0x0f80 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,
/* 0x0f90 */ 144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32,129, 63, 0, 8,
/* 0x0fa0 */ 129, 41, 0, 4, 56, 9, 0, 12,144, 31, 0, 36,128, 31, 0, 16,
/* 0x0fb0 */ 144, 31, 0, 44,129, 63, 0, 8,128, 9, 0, 0,144, 31, 0, 40,
/* 0x0fc0 */ 128, 31, 0, 8,144, 31, 0, 52,128, 31, 0, 12,144, 31, 0, 48,
/* 0x0fd0 */ 56, 31, 0, 48, 57, 63, 0, 40,124, 3, 3,120,125, 36, 75,120,
/* 0x0fe0 */ 128,191, 0, 24, 56,192, 0, 0, 75,255,244, 17,129, 63, 0, 52,
/* 0x0ff0 */ 128, 31, 0, 36,124, 0, 72, 80,144, 31, 0, 52,128, 31, 0, 12,
/* 0x1000 */ 144, 31, 0, 48,128, 31, 0, 32,144, 31, 0, 56,129, 63, 0, 16,
/* 0x1010 */ 56, 9, 0, 52,144, 31, 0, 60, 56, 31, 0, 48, 57, 63, 0, 56,
/* 0x1020 */ 128,127, 0, 24,128,159, 0, 16,124, 5, 3,120,128,223, 0, 20,
/* 0x1030 */ 125, 39, 75,120,129, 31, 0, 28, 75,255,250, 73,124, 96, 27,120,
/* 0x1040 */ 144, 31, 0, 64,128,127, 0, 20, 56,128, 0, 9,128,191, 0, 64,
/* 0x1050 */ 75,255,247,185, 56, 0, 0, 0,144, 31, 0, 68,129, 63, 0, 16,
/* 0x1060 */ 56, 9, 0, 52,144, 31, 0, 60,129, 63, 0, 16,160, 9, 0, 44,
/* 0x1070 */ 84, 9, 4, 62,128, 31, 0, 68,127,137, 0, 0, 64,157, 0,208,
/* 0x1080 */ 129, 63, 0, 60,128, 9, 0, 0, 47,128, 0, 3, 64,158, 0,164,
/* 0x1090 */ 129, 63, 0, 60,129, 41, 0, 8,128, 31, 0, 56,124, 9, 2, 20,
/* 0x10a0 */ 124, 3, 3,120, 56,128, 0, 0, 56,160, 0, 0, 75,255,242, 61,
/* 0x10b0 */ 124, 96, 27,120,144, 31, 0, 72,128, 31, 0, 72, 47,128, 0, 0,
/* 0x10c0 */ 64,156, 0, 8, 72, 0, 0, 32,128,127, 0, 72,128,159, 0, 16,
/* 0x10d0 */ 56,160, 2, 0, 75,255,242, 13,124, 96, 27,120, 47,128, 2, 0,
/* 0x10e0 */ 65,158, 0, 12, 56, 96, 0,127, 75,255,241,217, 56, 31, 0, 56,
/* 0x10f0 */ 128,127, 0, 72,128,159, 0, 16, 56,160, 0, 0,128,223, 0, 20,
/* 0x1100 */ 124, 7, 3,120, 57, 0, 0, 0, 75,255,249,121,124, 96, 27,120,
/* 0x1110 */ 144, 31, 0, 64,128,127, 0, 20, 56,128, 0, 7,128,191, 0, 56,
/* 0x1120 */ 75,255,246,233,128,127, 0, 72, 75,255,241,201, 72, 0, 0, 32,
/* 0x1130 */ 129, 63, 0, 60, 56, 9, 0, 32,144, 31, 0, 60,129, 63, 0, 68,
/* 0x1140 */ 56, 9, 0, 1,144, 31, 0, 68, 75,255,255, 32,128, 31, 0, 64,
/* 0x1150 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,
/* 0x1160 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32
};