diff --git a/src/stub/amd64-darwin.dylib-entry.h b/src/stub/amd64-darwin.dylib-entry.h index b18717d4..9c82e981 100644 --- a/src/stub/amd64-darwin.dylib-entry.h +++ b/src/stub/amd64-darwin.dylib-entry.h @@ -1,5 +1,5 @@ /* amd64-darwin.dylib-entry.h - created from amd64-darwin.dylib-entry.bin, 9853 (0x267d) bytes + created from amd64-darwin.dylib-entry.bin, 9549 (0x254d) bytes This file is part of the UPX executable compressor. @@ -31,14 +31,14 @@ */ -#define STUB_AMD64_DARWIN_DYLIB_ENTRY_SIZE 9853 -#define STUB_AMD64_DARWIN_DYLIB_ENTRY_ADLER32 0xf748f292 -#define STUB_AMD64_DARWIN_DYLIB_ENTRY_CRC32 0xfe1c1381 +#define STUB_AMD64_DARWIN_DYLIB_ENTRY_SIZE 9549 +#define STUB_AMD64_DARWIN_DYLIB_ENTRY_ADLER32 0xe5dcb7aa +#define STUB_AMD64_DARWIN_DYLIB_ENTRY_CRC32 0x48a6bd27 -unsigned char stub_amd64_darwin_dylib_entry[9853] = { +unsigned char stub_amd64_darwin_dylib_entry[9549] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,152, 24, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,136, 24, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 22, 0, 19, 0, /* 0x0040 */ 204, 80, 85, 83,232, 0, 0, 0, 0, 85, 83, 81, 82, 72, 1,254, /* 0x0050 */ 86, 72,137,254, 72,137,215, 49,219, 49,201, 72,131,205,255,232, @@ -407,249 +407,230 @@ unsigned char stub_amd64_darwin_dylib_entry[9853] = { /* 0x1700 */ 215,201, 89, 72,137,240, 72, 41,200, 90, 72, 41,215, 89,137, 57, /* 0x1710 */ 91, 93,195, 93, 72,141, 93,243,139, 67,252, 5, 0, 0, 0, 0, /* 0x1720 */ 45, 0, 0, 0, 0, 80, 69, 41,201, 69, 41,192,185, 2, 16, 0, -/* 0x1730 */ 0,186, 3, 0, 0, 0,137,198, 41,255,104, 0, 0, 0, 0, 88, -/* 0x1740 */ 15, 5, 80, 72,137,238, 72,137,197, 72,199,199, 0, 0, 0, 0, -/* 0x1750 */ 185, 0, 0, 0, 0,129,233, 0, 0, 0, 0,252,243,164, 72,141, -/* 0x1760 */ 135,118,255,255,255,255,224, 87, 72,137,218,139, 67,244, 43, 19, -/* 0x1770 */ 72, 1,208, 72,137, 68, 36, 44,139,115,248, 72, 1,214,139, 75, -/* 0x1780 */ 252,243,164, 94, 72,137,215,173, 72, 1,199,173, 72, 1,198,173, -/* 0x1790 */ 86, 87,173,133,192,116, 68, 80, 72,137,225, 80, 81, 87, 72, 1, -/* 0x17a0 */ 199,173, 80, 72,137,193,173, 72,137, 68, 36, 12, 86, 72, 1,206, -/* 0x17b0 */ 255,213, 72,131,196, 24, 90, 88, 15,182, 72, 9,103,227,209, 81, -/* 0x17c0 */ 15,182, 72, 10,255, 52, 37, 0, 0, 0, 0,255,112, 0, 82, 72, -/* 0x17d0 */ 141, 69, 2,255,208, 72,131,196, 16,235,181, 88, 72,141, 87,251, -/* 0x17e0 */ 198, 2, 91,199, 66, 1, 88, 88, 97,195,106, 73, 88, 15, 5,255, -/* 0x17f0 */ 226,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, -/* 0x1800 */ 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116,105, -/* 0x1810 */ 111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, -/* 0x1820 */ 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, -/* 0x1830 */ 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1840 */ 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1850 */ 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65, -/* 0x1860 */ 108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 77, -/* 0x1870 */ 65, 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x1880 */ 48, 48, 48, 49, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1890 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x18a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x18b0 */ 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x18c0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x18d0 */ 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, -/* 0x18e0 */ 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, 54, 32, -/* 0x18f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1900 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1910 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 49, 32, 32, 50, -/* 0x1920 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x1930 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, -/* 0x1940 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1950 */ 98, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1960 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1970 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, 55, -/* 0x1980 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1990 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x19a0 */ 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, -/* 0x19b0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57,101, 32, 32, 48, 48, -/* 0x19c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19e0 */ 32, 32, 48, 48, 48, 48, 48, 49, 54,101, 32, 32, 50, 42, 42, 48, -/* 0x19f0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x1a00 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, -/* 0x1a10 */ 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x1a20 */ 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1a50 */ 48, 50, 48, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1a60 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1a70 */ 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, -/* 0x1a80 */ 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, 52, -/* 0x1a90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1aa0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ab0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 57, 99, 32, 32, -/* 0x1ac0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1ad0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1ae0 */ 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, -/* 0x1af0 */ 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, 48, 48, 48, -/* 0x1b00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1b10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1b20 */ 48, 48, 48, 48, 48, 51, 48, 48, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1b30 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x1b40 */ 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x1b50 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, -/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1b70 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b80 */ 48, 32, 32, 48, 48, 48, 48, 48, 99,102, 55, 32, 32, 50, 42, 42, -/* 0x1b90 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x1ba0 */ 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, -/* 0x1bb0 */ 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 52, -/* 0x1bc0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1bd0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1be0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 54,101,101, 32, 32, -/* 0x1bf0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1c00 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, -/* 0x1c10 */ 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1c20 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c30 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c40 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 48, -/* 0x1c50 */ 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1c60 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, -/* 0x1c70 */ 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 48, 48, -/* 0x1c80 */ 48, 48, 48, 48, 49, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c90 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1ca0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1cb0 */ 49, 55, 48, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1cc0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x1cd0 */ 49, 49, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 32, 32, 32, 32, -/* 0x1ce0 */ 32, 48, 48, 48, 48, 48, 48,100,101, 32, 32, 48, 48, 48, 48, 48, -/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1d00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1d10 */ 48, 48, 48, 49, 55, 49, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1d20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x1d30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, -/* 0x1d40 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1d60 */ 77, 65, 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, -/* 0x1d70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, -/* 0x1d80 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d90 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, -/* 0x1da0 */ 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, -/* 0x1dc0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1dd0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1de0 */ 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1df0 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, -/* 0x1e00 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e10 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, -/* 0x1e20 */ 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e30 */ 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 48, -/* 0x1e40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1e50 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, -/* 0x1e60 */ 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e70 */ 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 10, 48, 48, 48, -/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1e90 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, -/* 0x1ea0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, -/* 0x1eb0 */ 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ec0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, -/* 0x1ed0 */ 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ee0 */ 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ef0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1f00 */ 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, -/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1f30 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, -/* 0x1f40 */ 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f50 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, -/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1f70 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x1f80 */ 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f90 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1fb0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x1fc0 */ 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fd0 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x1fe0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1ff0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, -/* 0x2000 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2010 */ 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, -/* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, -/* 0x2030 */ 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, -/* 0x2040 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95, -/* 0x2050 */ 115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2060 */ 48, 48, 48, 48, 49, 49, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, -/* 0x2070 */ 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x2080 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95,100,101, -/* 0x2090 */ 99,111,109,112,114,101,115,115, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, -/* 0x20b0 */ 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 95, 95, 78, 82, 95,109,109, -/* 0x20d0 */ 97,112, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20e0 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x20f0 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2100 */ 48, 48, 32,114, 97,120, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2120 */ 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2130 */ 48, 48, 48, 48, 48, 48, 32,101, 99,120, 10, 10, 82, 69, 76, 79, -/* 0x2140 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x2150 */ 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, 10, -/* 0x2160 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2170 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2180 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 53, 32, 82, 95, 88, 56, 54, 95, -/* 0x21a0 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, -/* 0x21b0 */ 77, 65, 73, 78, 90, 43, 48,120,102,102,102,102,102,102,102,102, -/* 0x21c0 */ 102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x21d0 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x21e0 */ 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x21f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x2200 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x2210 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2220 */ 48, 97,101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, -/* 0x2230 */ 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48, -/* 0x2240 */ 120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, -/* 0x2250 */ 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2260 */ 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, -/* 0x2270 */ 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48, -/* 0x2280 */ 120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102, -/* 0x2290 */ 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x22a0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, -/* 0x22b0 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, -/* 0x22c0 */ 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x22d0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x22e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 53, 32, 82, 95, 88, -/* 0x22f0 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, -/* 0x2300 */ 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, -/* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, -/* 0x2320 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, -/* 0x2330 */ 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, -/* 0x2340 */ 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102,102,102, -/* 0x2350 */ 102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, -/* 0x2360 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x2370 */ 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, -/* 0x2380 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, -/* 0x2390 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x23a0 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x23b0 */ 48, 48, 48, 56, 97, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, -/* 0x23c0 */ 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, -/* 0x23d0 */ 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x23e0 */ 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x23f0 */ 48, 48, 53, 50, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, -/* 0x2400 */ 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, -/* 0x2410 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102, -/* 0x2420 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x2430 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, -/* 0x2440 */ 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x2450 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x2460 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x2470 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2480 */ 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, -/* 0x2490 */ 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, -/* 0x24a0 */ 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x24b0 */ 48, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x24c0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 77, 65, 67, -/* 0x24d0 */ 72, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x24e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x24f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x2500 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2510 */ 48, 57, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, -/* 0x2520 */ 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 43, 48, -/* 0x2530 */ 120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,100, -/* 0x2540 */ 101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2550 */ 48,101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, -/* 0x2560 */ 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 43, 48, -/* 0x2570 */ 120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2580 */ 57, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2590 */ 50, 56, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, -/* 0x25a0 */ 32, 32, 32, 32, 32, 95, 95, 78, 82, 95,109,109, 97,112, 10, 48, -/* 0x25b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 51, 57, 32, -/* 0x25c0 */ 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 83, 32, 32, 32, 32, -/* 0x25d0 */ 32, 32,114, 97,120, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x25e0 */ 48, 48, 48, 48, 51,101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x25f0 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, -/* 0x2600 */ 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2610 */ 48, 48, 48,100,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2620 */ 48, 48, 48, 48, 52, 52, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x2630 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, -/* 0x2640 */ 78, 88, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2650 */ 48, 48, 48, 48, 57, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2660 */ 48, 48, 48, 48, 98, 52, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x2670 */ 51, 50, 83, 32, 32, 32, 32, 32, 32,101, 99,120, 10 +/* 0x1730 */ 0,186, 3, 0, 0, 0,137,198, 41,255,104,197, 0, 0, 0, 88, +/* 0x1740 */ 15, 5, 80, 72,137,238, 72,137,197, 72,137,199,185, 0, 0, 0, +/* 0x1750 */ 0,129,233, 0, 0, 0, 0,252,243,164, 72,141,135,133,255,255, +/* 0x1760 */ 255,255,224, 87, 72,137,218,139, 67,244, 43, 19, 72, 1,208, 72, +/* 0x1770 */ 137, 68, 36, 44,139,115,248, 72, 1,214,139, 75,252,243,164, 94, +/* 0x1780 */ 72,137,215,173, 72, 1,199,173, 72, 1,198,173, 86, 87,173,133, +/* 0x1790 */ 192,116, 61, 80, 72,137,225, 72,137,250, 72, 1,248, 80,173,137, +/* 0x17a0 */ 198, 72,137,193,173, 65,137,192, 72,137,247, 72, 1,241, 81,255, +/* 0x17b0 */ 213, 94, 95, 89, 90, 88, 15,182, 72, 9,133,201,116,206, 15,182, +/* 0x17c0 */ 80, 10,139,112, 0, 72,137,215, 72,141, 69, 2,255,208,235,188, +/* 0x17d0 */ 88, 89, 72,141, 87,252,199, 2, 91, 93,195,144,255,226,102,105, +/* 0x17e0 */ 108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45, +/* 0x17f0 */ 120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, +/* 0x1800 */ 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, +/* 0x1810 */ 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, +/* 0x1820 */ 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1830 */ 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1840 */ 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, +/* 0x1850 */ 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 77, 65, 67, 72, +/* 0x1860 */ 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1870 */ 49, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1880 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1890 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, +/* 0x18a0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x18b0 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x18c0 */ 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, +/* 0x18d0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, 54, 32, 32, 48, 48, +/* 0x18e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x18f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1900 */ 32, 32, 48, 48, 48, 48, 48, 48, 53, 49, 32, 32, 50, 42, 42, 48, +/* 0x1910 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, +/* 0x1920 */ 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, +/* 0x1930 */ 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 98, 55, 32, +/* 0x1940 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1950 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1960 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, 55, 32, 32, 50, +/* 0x1970 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1980 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1990 */ 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x19a0 */ 32, 48, 48, 48, 48, 48, 48, 57,101, 32, 32, 48, 48, 48, 48, 48, +/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x19c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x19d0 */ 48, 48, 48, 48, 49, 54,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x19e0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, +/* 0x19f0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, +/* 0x1a00 */ 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1a10 */ 48, 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a20 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 48, +/* 0x1a40 */ 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1a50 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1a60 */ 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, +/* 0x1a70 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, 52, 32, 32, 48, +/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1a90 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1aa0 */ 48, 32, 32, 48, 48, 48, 48, 48, 50, 57, 99, 32, 32, 50, 42, 42, +/* 0x1ab0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x1ac0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, +/* 0x1ad0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, +/* 0x1ae0 */ 48, 48, 48, 48, 57,102, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1b00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1b10 */ 48, 48, 51, 48, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x1b20 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1b30 */ 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, +/* 0x1b40 */ 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, 48, 48, 48, +/* 0x1b50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1b70 */ 48, 48, 48, 48, 48, 99,102, 55, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1b80 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1b90 */ 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, +/* 0x1ba0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 52, 32, 32, 48, +/* 0x1bb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1bc0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bd0 */ 48, 32, 32, 48, 48, 48, 48, 49, 54,101,101, 32, 32, 50, 42, 42, +/* 0x1be0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1bf0 */ 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, +/* 0x1c00 */ 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c10 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c20 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c30 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 48, 50, 32, 32, +/* 0x1c40 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1c50 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 77, 65, 67, +/* 0x1c60 */ 72, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1c70 */ 48, 49, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c80 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c90 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 48, +/* 0x1ca0 */ 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1cb0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, +/* 0x1cc0 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 48, 48, +/* 0x1cd0 */ 48, 48, 48, 48, 99, 98, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ce0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1d00 */ 49, 55, 49, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1d10 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, +/* 0x1d20 */ 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, +/* 0x1d30 */ 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d40 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, +/* 0x1d50 */ 72, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d60 */ 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, +/* 0x1d70 */ 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d80 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, +/* 0x1d90 */ 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1da0 */ 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, +/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, +/* 0x1dc0 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, +/* 0x1dd0 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1de0 */ 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, +/* 0x1df0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, +/* 0x1e00 */ 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, +/* 0x1e10 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e20 */ 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, +/* 0x1e30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, +/* 0x1e40 */ 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 9, 48, +/* 0x1e50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1e60 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, +/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1e80 */ 100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, +/* 0x1ea0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1eb0 */ 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, +/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1ed0 */ 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, +/* 0x1ef0 */ 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f00 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, +/* 0x1f10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, +/* 0x1f20 */ 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, +/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f40 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, +/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, +/* 0x1f60 */ 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, +/* 0x1f70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f80 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, +/* 0x1fa0 */ 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, +/* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fc0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x1fd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, +/* 0x1fe0 */ 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, +/* 0x1ff0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, +/* 0x2000 */ 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, +/* 0x2020 */ 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, +/* 0x2030 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97, +/* 0x2040 */ 114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2050 */ 48, 49, 49, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, +/* 0x2060 */ 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2070 */ 48, 48, 48, 48, 48, 48, 32,101,110,100, 95,100,101, 99,111,109, +/* 0x2080 */ 112,114,101,115,115, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, +/* 0x2090 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 77, +/* 0x20a0 */ 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x20b0 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, +/* 0x20c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, +/* 0x20d0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x20e0 */ 48, 48, 48, 53, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, +/* 0x20f0 */ 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, +/* 0x2100 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102, +/* 0x2110 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, +/* 0x2120 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, +/* 0x2130 */ 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x2140 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2150 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97,101, 32, 82, +/* 0x2170 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, +/* 0x2180 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, +/* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, +/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, +/* 0x21b0 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, +/* 0x21c0 */ 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102, +/* 0x21d0 */ 102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, +/* 0x21e0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x21f0 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, +/* 0x2200 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, +/* 0x2210 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2220 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2230 */ 48, 48, 48, 48, 48, 57, 53, 32, 82, 95, 88, 56, 54, 95, 54, 52, +/* 0x2240 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, +/* 0x2250 */ 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2260 */ 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2270 */ 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, +/* 0x2280 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, +/* 0x2290 */ 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102, +/* 0x22a0 */ 102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, +/* 0x22b0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, +/* 0x22c0 */ 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x22d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x22e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x22f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, 97, +/* 0x2300 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, +/* 0x2310 */ 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, +/* 0x2320 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, +/* 0x2330 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 50, 32, +/* 0x2340 */ 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, +/* 0x2350 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102, +/* 0x2360 */ 102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, +/* 0x2370 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2380 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, +/* 0x2390 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x23a0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x23b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, +/* 0x23d0 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, +/* 0x23e0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, +/* 0x23f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 48, 10, 10, +/* 0x2400 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2410 */ 68, 83, 32, 70, 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, +/* 0x2420 */ 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, +/* 0x2430 */ 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, +/* 0x2440 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, +/* 0x2450 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 32, 82, 95, +/* 0x2460 */ 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, +/* 0x2470 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, +/* 0x2480 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 98, 10, 48, 48, 48, +/* 0x2490 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, +/* 0x24a0 */ 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, +/* 0x24b0 */ 77, 65, 67, 72, 77, 65, 73, 78, 88, 43, 48,120, 48, 48, 48, 48, +/* 0x24c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 10, 48, 48, 48, +/* 0x24d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 51, 97, 32, 82, 95, +/* 0x24e0 */ 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, +/* 0x24f0 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, +/* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 98, 10, 48, 48, 48, +/* 0x2510 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 48, 32, 82, 95, +/* 0x2520 */ 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, +/* 0x2530 */ 77, 65, 67, 72, 77, 65, 73, 78, 88, 43, 48,120, 48, 48, 48, 48, +/* 0x2540 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 10 }; diff --git a/src/stub/src/amd64-darwin.dylib-entry.S b/src/stub/src/amd64-darwin.dylib-entry.S index f2d0fb5a..b41ddfb2 100644 --- a/src/stub/src/amd64-darwin.dylib-entry.S +++ b/src/stub/src/amd64-darwin.dylib-entry.S @@ -180,6 +180,7 @@ end_decompress: .globl end_decompress /* IDENTSTR goes here */ section MACHMAINZ +SYS_mmap =197 #define PAGE_SIZE ( 1<<12) sz_Mach_header= 7*4 @@ -219,7 +220,7 @@ main: mov $PROT_READ|PROT_WRITE,%arg3l mov %eax,%arg2l # length sub %arg1l,%arg1l # 0 addr - push $__NR_mmap; pop %rax + push $SYS_mmap; pop %rax syscall push %rax # addr for eventual munmap @@ -227,7 +228,7 @@ main: // Copy interval [decompress, dy_top). mov %rbp,%rsi # decompressor mov %rax,%rbp # new location - mov $rax,%rdi # dst for decompressor + mov %rax,%rdi # dst for decompressor mov $dy_top,%ecx sub $decompress,%ecx cld; rep movsb @@ -259,37 +260,37 @@ dy_uncpr: push %rsi; push %rdi # save in case unfilter lodsl; test %eax,%eax; jz dy_done - push %rax // sz_uncompressed (maximum dstlen for lzma) - mov %rsp,%rcx // save &dstlen - push %rax // space for 5th param b_info.misc - push %rcx // &dstlen - push %rdi // dst - add %rax,%rdi // next dst - lodsl; push %rax // sz_compressed (srclen) + push %rax // sz_uncompressed (maximum dstlen for lzma) + mov %rsp,%arg4 // &dstlen + mov %rdi,%arg3 // dst + add %rdi,%rax; push %rax // next dst + lodsl; mov %eax,%arg2l // sz_compressed (srclen) mov %rax,%rcx - lodsl; mov %rax,3*4(%rsp) // last 4 bytes of b_info - push %rsi // &compressed __TEXT - add %rcx,%rsi // next src - call *%rbp // decompress(src, srclen, dst, &dstlen, b_info.misc) - add $(5+1)*4,%rsp // (5+1) args to decompress + lodsl; mov %eax,%arg5l // last 4 bytes of b_info + mov %rsi,%arg1 // &compressed __TEXT + add %rsi,%rcx; push %rcx // next src + call *%rbp // decompress(1=rdi=src, 2=rsi=srclen, 3=rdx=dst, 4=rcx=&dstlen, 5=r8=b_info.misc) + pop %rsi // next src + pop %rdi // next dst + pop %rcx // dstlen (junk) pop %rdx; pop %rax # rdx= old dst; rax= old &b_info - movzbl 1+ b_method(%rax),%ecx; jecxz dy_uncpr; push %rcx # ftid - movzbl 2+ b_method(%rax),%ecx; push ecx # cto8 - push sz_unc(%rax) - push %rdx # dst - lea 2(%rbp),%rax; call *%rax # f_unfilter(dst, dstlen, cto8, ftid) - add $4*4,%rsp + movzbl 1+ b_method(%rax),%arg4l # ftid + test %arg4l,%arg4l; je dy_uncpr # no filter + movzbl 2+ b_method(%rax),%arg3l # cto8 + mov sz_unc(%rax),%arg2l + mov %rdx,%arg1 # dst + # FIXME: only i386 has f_unfilter==(2+ f_decompress) + lea 2(%rbp),%rax; call *%rax # f_unfilter(1=rdi=dst, 2=rsi=dstlen, 3=rdx=cto8, 4=rcx=ftid) jmp dy_uncpr SYS_munmap=73 dy_done: - pop %rax # discard, leaving 1 junk word below the regs for POPA - lea -5(%rdi),%rdx # steal some space at high end of __TEXT - movb $0x5b,(%rdx) # pop eax - movl $0xc3615858,1(%rdx) # pop eax; pop eax; popa; ret - push $SYS_munmap; pop %rax - syscall + pop %rax; pop %rcx # discard + lea -4(%rdi),%rdx # steal some space at high end of __TEXT + movl $0x90c35d5b,(%rdx) # pop %rbx; pop %rbp; ret; nop + # FIXME push $SYS_munmap; pop %rax + # FIXME syscall jmp *%rdx dy_top: