arm64 spills a few registers because syscall can trash x18

modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
This commit is contained in:
John Reiser 2017-10-10 20:31:11 -07:00
parent c59c8a1ea2
commit b72dda4ada
6 changed files with 453 additions and 441 deletions

View File

@ -1,5 +1,5 @@
/* arm64-linux.elf-entry.h
created from arm64-linux.elf-entry.bin, 8098 (0x1fa2) bytes
created from arm64-linux.elf-entry.bin, 8094 (0x1f9e) bytes
This file is part of the UPX executable compressor.
@ -31,11 +31,11 @@
*/
#define STUB_ARM64_LINUX_ELF_ENTRY_SIZE 8098
#define STUB_ARM64_LINUX_ELF_ENTRY_ADLER32 0x769ac8b7
#define STUB_ARM64_LINUX_ELF_ENTRY_CRC32 0xa44f7fd7
#define STUB_ARM64_LINUX_ELF_ENTRY_SIZE 8094
#define STUB_ARM64_LINUX_ELF_ENTRY_ADLER32 0x9d8fc8d1
#define STUB_ARM64_LINUX_ELF_ENTRY_CRC32 0xf2a80a59
unsigned char stub_arm64_linux_elf_entry[8098] = {
unsigned char stub_arm64_linux_elf_entry[8094] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0,183, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 72, 23, 0, 0, 0, 0, 0, 0,
@ -334,213 +334,212 @@ unsigned char stub_arm64_linux_elf_entry[8098] = {
/* 0x1270 */ 80, 82, 79, 84, 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87,
/* 0x1280 */ 82, 73, 84, 69, 32,102, 97,105,108,101,100, 46, 10, 0, 0, 0,
/* 0x1290 */ 5, 0,128,210, 98, 0,128, 82,200, 27,128, 82, 1, 0, 0,212,
/* 0x12a0 */ 192, 3, 95,214,243, 3, 30,170,128, 67, 95,184,150, 51, 0,209,
/* 0x12b0 */ 214, 2, 0,203, 96, 6, 64,185, 97, 2, 22,203, 4, 0,128, 18,
/* 0x12c0 */ 242, 3, 0, 42, 67, 4,128, 82, 33, 0, 0,139,249, 3, 1, 42,
/* 0x12d0 */ 0, 0,128,210,239,255,255,151,250, 3, 0,170,104, 10, 64,185,
/* 0x12e0 */ 97, 2, 22,203,228, 3, 24, 42, 67, 2,128, 82, 33, 0, 8,139,
/* 0x12f0 */ 232,255,255,151, 17, 0, 22,203,232, 3, 28,170,156, 3, 17,139,
/* 0x1300 */ 112, 2, 64,185, 96, 66, 0,145,115, 2, 17,139,116, 66, 50,139,
/* 0x1310 */ 149, 3, 27,138,148, 2, 21,203,100, 50, 64, 57,228, 15, 31,248,
/* 0x1320 */ 227, 3, 0,145,226, 3, 19,170, 97, 10, 64,185, 0, 1, 63,214,
/* 0x1330 */ 232, 7, 65,248, 96, 66, 64,248, 97, 3,192,218, 33, 16,192,218,
/* 0x1340 */ 33, 4, 0,145, 33,212,118,211, 0, 0, 1,170, 96, 66, 0,248,
/* 0x1350 */ 162, 0,128, 82,225, 3, 20, 42,224, 3, 21,170, 72, 28,128, 82,
/* 0x1360 */ 1, 0, 0,212,148, 67, 95,184,213, 66, 48,139,181, 2, 17,139,
/* 0x1370 */ 96, 66, 0,145, 0, 0, 31,214, 47,112,114,111, 99, 47,115,101,
/* 0x1380 */ 108,102, 47,101,120,101, 0, 0, 1,132, 64,248,225,255,255,181,
/* 0x1390 */ 192, 3, 95,214,252, 3, 30,170,224, 3, 0,145,251,255,255,151,
/* 0x13a0 */ 250,255,255,151,247, 3, 0,170, 1,136,192,168, 63, 24, 0,113,
/* 0x13b0 */ 96, 0, 0, 84,161,255,255, 53, 34, 0,160,210,251, 3, 2,203,
/* 0x13c0 */ 96, 12,128, 18,161,253,255, 16, 2, 0,128, 82, 8, 7,128, 82,
/* 0x13d0 */ 1, 0, 0,212,248, 3, 0, 42,179,255,255,151, 0, 0, 0, 0,
/* 0x13e0 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 54,
/* 0x13f0 */ 52, 45,108,105,116,116,108,101, 97, 97,114, 99,104, 54, 52, 10,
/* 0x1400 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78,
/* 0x1410 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,
/* 0x1420 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32,
/* 0x1430 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32,
/* 0x1440 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,
/* 0x1450 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115,
/* 0x1460 */ 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32,
/* 0x1470 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48,
/* 0x1480 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
/* 0x1490 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x14a0 */ 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32,
/* 0x14b0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67,
/* 0x14c0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78,
/* 0x14d0 */ 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48,
/* 0x14e0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x14f0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x1500 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
/* 0x1510 */ 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
/* 0x1520 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
/* 0x1530 */ 50, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32,
/* 0x1540 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1550 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
/* 0x1560 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1570 */ 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x1580 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
/* 0x1590 */ 10, 32, 32, 51, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32,
/* 0x15a0 */ 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, 56, 32, 32, 48, 48, 48,
/* 0x15b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
/* 0x15c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x15d0 */ 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32,
/* 0x15e0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79,
/* 0x15f0 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32,
/* 0x1600 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 49, 99, 32, 32,
/* 0x1610 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1620 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1630 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 48, 32, 32, 50, 42,
/* 0x1640 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
/* 0x1650 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 78, 82, 86, 50, 66,
/* 0x1660 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102,
/* 0x1670 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1680 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1690 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 56, 99, 32,
/* 0x16a0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
/* 0x16b0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90,
/* 0x16c0 */ 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48,
/* 0x16d0 */ 48, 48,100, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x16e0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x16f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51,
/* 0x1700 */ 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x1710 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
/* 0x1720 */ 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67,
/* 0x1730 */ 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 54, 56, 32, 32,
/* 0x1740 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1750 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1760 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 52, 99, 32, 32, 50, 42,
/* 0x1770 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
/* 0x1780 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95,
/* 0x1790 */ 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 52, 57,
/* 0x17a0 */ 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x17b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x17c0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 98, 52, 32,
/* 0x17d0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
/* 0x17e0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90,
/* 0x17f0 */ 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48,
/* 0x1800 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1810 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1820 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 50,
/* 0x1830 */ 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x1840 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48,
/* 0x1850 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48,
/* 0x1860 */ 48, 48, 48, 48, 48, 51,101, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x1870 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
/* 0x1880 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1890 */ 48, 49, 50, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
/* 0x18a0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
/* 0x18b0 */ 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32,
/* 0x18c0 */ 32, 32, 48, 48, 48, 48, 48, 49, 53, 48, 32, 32, 48, 48, 48, 48,
/* 0x18d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 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, 49, 50, 57, 48, 32, 32, 50, 42, 42, 50, 32, 32,
/* 0x1900 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44,
/* 0x1910 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76,
/* 0x1920 */ 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1930 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
/* 0x1940 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48,
/* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77,
/* 0x1960 */ 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1970 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
/* 0x1980 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48,
/* 0x1990 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65,
/* 0x19a0 */ 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19b0 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70,
/* 0x19c0 */ 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10,
/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19f0 */ 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65,
/* 0x1a00 */ 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a10 */ 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48,
/* 0x1a20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32,
/* 0x1a30 */ 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48,
/* 0x1a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78,
/* 0x1a50 */ 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a60 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
/* 0x1a70 */ 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48,
/* 0x1a90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
/* 0x1aa0 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48,
/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82,
/* 0x1ac0 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ad0 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86,
/* 0x1ae0 */ 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1af0 */ 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48,
/* 0x1b00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x1b10 */ 100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48,
/* 0x1b20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,
/* 0x1b30 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48,
/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x1b50 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48,
/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,
/* 0x1b70 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48,
/* 0x1b80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x1b90 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48,
/* 0x1ba0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,
/* 0x1bb0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48,
/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x1bd0 */ 100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48,
/* 0x1be0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70,
/* 0x1bf0 */ 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c00 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42,
/* 0x1c10 */ 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c20 */ 48, 48, 48, 48, 48, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48,
/* 0x1c30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32,103, 32, 32, 32,
/* 0x1c40 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48,
/* 0x1c50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,
/* 0x1c60 */ 116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c70 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82,
/* 0x1c80 */ 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c90 */ 48, 49, 50, 56, 32,117, 99,108, 95,110,114,118, 50,101, 95,100,
/* 0x1ca0 */ 101, 99,111,109,112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48,
/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
/* 0x1cc0 */ 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48,
/* 0x1cd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 99, 32,117, 99,108,
/* 0x1ce0 */ 95,110,114,118, 50,100, 95,100,101, 99,111,109,112,114,101,115,
/* 0x1cf0 */ 115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1d00 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82,
/* 0x1d10 */ 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1d20 */ 48, 48,102, 48, 32,117, 99,108, 95,110,114,118, 50, 98, 95,100,
/* 0x1d30 */ 101, 99,111,109,112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48,
/* 0x1d40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
/* 0x1d50 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48,
/* 0x1d60 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1d70 */ 48, 32, 76,122,109, 97, 68,101, 99,111,100,101, 10, 48, 48, 48,
/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
/* 0x1d90 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48,
/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1db0 */ 101,110,100, 95,100,101, 99,111,109,112,114,101,115,115, 10, 48,
/* 0x1dc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1dd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48,
/* 0x1de0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79,
/* 0x1df0 */ 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
/* 0x1e00 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
/* 0x1e10 */ 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69,
/* 0x1e20 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69,
/* 0x1e30 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x1e40 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1e50 */ 48, 48, 48, 48, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65,
/* 0x1e60 */ 66, 83, 51, 50, 32, 32, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48,
/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 65,
/* 0x1e80 */ 65, 82, 67, 72, 54, 52, 95, 67, 65, 76, 76, 50, 54, 32, 32, 69,
/* 0x1e90 */ 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48,
/* 0x1ea0 */ 48, 48, 48, 48, 48, 48, 48, 49, 48, 52, 10, 10, 82, 69, 76, 79,
/* 0x1eb0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
/* 0x1ec0 */ 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58,
/* 0x1ed0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1ee0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1ef0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 65, 65, 82,
/* 0x1f10 */ 67, 72, 54, 52, 95, 67, 79, 78, 68, 66, 82, 49, 57, 32, 32, 76,
/* 0x1f20 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67,
/* 0x1f30 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79,
/* 0x1f40 */ 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70,
/* 0x1f50 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84,
/* 0x1f60 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1f70 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f80 */ 48, 48, 48, 48, 49, 52, 99, 32, 82, 95, 65, 65, 82, 67, 72, 54,
/* 0x1f90 */ 52, 95, 65, 66, 83, 51, 50, 32, 32, 32, 79, 95, 66, 73, 78, 70,
/* 0x1fa0 */ 79, 10
/* 0x12a0 */ 192, 3, 95,214,244, 3, 30,170, 0, 67, 95,184, 25, 51, 0,209,
/* 0x12b0 */ 57, 3, 0,203,149, 6, 64,185,129, 2, 25,203, 4, 0,128, 18,
/* 0x12c0 */ 67, 4,128, 82, 33, 64, 53,139, 0, 0,128,210,241,255,255,151,
/* 0x12d0 */ 224, 7,191,169,136, 10, 64,185,129, 2, 25,203,228, 3, 27, 42,
/* 0x12e0 */ 67, 2,128, 82,250,111,191,169, 33, 0, 8,139,233,255,255,151,
/* 0x12f0 */ 23, 0, 25,203,232, 3, 24,170, 24, 3, 23,139,155, 2, 64,185,
/* 0x1300 */ 128, 66, 0,145,148, 2, 23,139,157, 66, 53,139, 28, 3, 26,138,
/* 0x1310 */ 189, 3, 28,203,132, 50, 64, 57,245, 15, 31,248,227, 3, 0,145,
/* 0x1320 */ 226, 3, 20,170,129, 10, 64,185, 0, 1, 63,214,232, 7, 65,248,
/* 0x1330 */ 128, 66, 64,248, 65, 3,192,218, 33, 16,192,218, 33, 4, 0,145,
/* 0x1340 */ 33,212,118,211, 0, 0, 1,170,128, 66, 0,248,162, 0,128, 82,
/* 0x1350 */ 225, 3, 29, 42,224, 3, 28,170, 72, 28,128, 82, 1, 0, 0,212,
/* 0x1360 */ 29, 67, 95,184, 60, 67, 59,139,156, 3, 23,139,128, 66, 0,145,
/* 0x1370 */ 0, 0, 31,214, 47,112,114,111, 99, 47,115,101,108,102, 47,101,
/* 0x1380 */ 120,101, 0, 0, 1,132, 64,248,225,255,255,181,192, 3, 95,214,
/* 0x1390 */ 248, 3, 30,170,224, 3, 0,145,251,255,255,151,250,255,255,151,
/* 0x13a0 */ 246, 3, 0,170, 1,136,192,168, 63, 24, 0,113, 96, 0, 0, 84,
/* 0x13b0 */ 161,255,255, 53, 34, 0,160,210,250, 3, 2,203, 96, 12,128, 18,
/* 0x13c0 */ 161,253,255, 16, 2, 0,128, 82, 8, 7,128, 82, 1, 0, 0,212,
/* 0x13d0 */ 251, 3, 0, 42,180,255,255,151, 0, 0, 0, 0,102,105,108,101,
/* 0x13e0 */ 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45,108,105,
/* 0x13f0 */ 116,116,108,101, 97, 97,114, 99,104, 54, 52, 10, 10, 83,101, 99,
/* 0x1400 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32,
/* 0x1410 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32,
/* 0x1420 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1430 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1440 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32,
/* 0x1450 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48,
/* 0x1460 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48,
/* 0x1470 */ 48, 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x1480 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
/* 0x1490 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x14a0 */ 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
/* 0x14b0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69,
/* 0x14c0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72,
/* 0x14d0 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x14e0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x14f0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1500 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32,
/* 0x1510 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
/* 0x1520 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82,
/* 0x1530 */ 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
/* 0x1540 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1550 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1560 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1570 */ 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x1580 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51,
/* 0x1590 */ 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48,
/* 0x15a0 */ 48, 48, 48, 48, 49, 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x15b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
/* 0x15c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x15d0 */ 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
/* 0x15e0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
/* 0x15f0 */ 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32,
/* 0x1600 */ 32, 32, 48, 48, 48, 48, 48, 49, 49, 99, 32, 32, 48, 48, 48, 48,
/* 0x1610 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1620 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1630 */ 48, 48, 48, 48, 48, 49, 55, 48, 32, 32, 50, 42, 42, 48, 32, 32,
/* 0x1640 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78,
/* 0x1650 */ 76, 89, 10, 32, 32, 53, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32,
/* 0x1660 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, 32, 32, 48,
/* 0x1670 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1680 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1690 */ 48, 32, 32, 48, 48, 48, 48, 48, 50, 56, 99, 32, 32, 50, 42, 42,
/* 0x16a0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65,
/* 0x16b0 */ 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 69,
/* 0x16c0 */ 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,100, 48,
/* 0x16d0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x16e0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x16f0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 55, 99, 32, 32,
/* 0x1700 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
/* 0x1710 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
/* 0x1720 */ 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32,
/* 0x1730 */ 32, 32, 48, 48, 48, 48, 48, 57, 54, 56, 32, 32, 48, 48, 48, 48,
/* 0x1740 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1750 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1760 */ 48, 48, 48, 48, 48, 52, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32,
/* 0x1770 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78,
/* 0x1780 */ 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49,
/* 0x1790 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 52, 57, 99, 32, 32, 48,
/* 0x17a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x17b0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x17c0 */ 48, 32, 32, 48, 48, 48, 48, 48,100, 98, 52, 32, 32, 50, 42, 42,
/* 0x17d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65,
/* 0x17e0 */ 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68,
/* 0x17f0 */ 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1800 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1810 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1820 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 50, 53, 48, 32, 32,
/* 0x1830 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
/* 0x1840 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 69, 76, 70,
/* 0x1850 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48,
/* 0x1860 */ 48, 51,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1870 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1880 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 50, 53,
/* 0x1890 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x18a0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32,
/* 0x18b0 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48,
/* 0x18c0 */ 48, 48, 48, 49, 52, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x18d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x18e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
/* 0x18f0 */ 49, 50, 57, 48, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84,
/* 0x1900 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65,
/* 0x1910 */ 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66,
/* 0x1920 */ 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1930 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77,
/* 0x1940 */ 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69,
/* 0x1960 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1970 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70,
/* 0x1980 */ 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1990 */ 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10,
/* 0x19a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19b0 */ 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x19c0 */ 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19d0 */ 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32,
/* 0x19f0 */ 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48,
/* 0x1a00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78,
/* 0x1a10 */ 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
/* 0x1a30 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48,
/* 0x1a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84,
/* 0x1a50 */ 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a60 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86,
/* 0x1a70 */ 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a80 */ 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,
/* 0x1a90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x1aa0 */ 100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10,
/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ad0 */ 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48,
/* 0x1ae0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1af0 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b00 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76,
/* 0x1b10 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48,
/* 0x1b20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95,
/* 0x1b30 */ 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76,
/* 0x1b50 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48,
/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95,
/* 0x1b70 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b80 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76,
/* 0x1b90 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48,
/* 0x1ba0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95,
/* 0x1bb0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69,
/* 0x1bd0 */ 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1be0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1bf0 */ 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c00 */ 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42,
/* 0x1c10 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c20 */ 48, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c30 */ 48, 48, 48, 48, 48, 48, 52, 32,103, 32, 32, 32, 32, 32, 32, 32,
/* 0x1c40 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116,
/* 0x1c60 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c70 */ 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 69, 9,
/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 50, 56,
/* 0x1c90 */ 32,117, 99,108, 95,110,114,118, 50,101, 95,100,101, 99,111,109,
/* 0x1ca0 */ 112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32,
/* 0x1cc0 */ 70, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1cd0 */ 48, 48, 48, 48, 48, 49, 49, 99, 32,117, 99,108, 95,110,114,118,
/* 0x1ce0 */ 50,100, 95,100,101, 99,111,109,112,114,101,115,115, 95, 51, 50,
/* 0x1cf0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1d00 */ 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 66, 9,
/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,102, 48,
/* 0x1d20 */ 32,117, 99,108, 95,110,114,118, 50, 98, 95,100,101, 99,111,109,
/* 0x1d30 */ 112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1d40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32,
/* 0x1d50 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48,
/* 0x1d60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,122,
/* 0x1d70 */ 109, 97, 68,101, 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32,
/* 0x1d90 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48,
/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95,
/* 0x1db0 */ 100,101, 99,111,109,112,114,101,115,115, 10, 48, 48, 48, 48, 48,
/* 0x1dc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32,
/* 0x1dd0 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48,
/* 0x1de0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78,
/* 0x1df0 */ 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82,
/* 0x1e00 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77,
/* 0x1e10 */ 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32,
/* 0x1e20 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32,
/* 0x1e30 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10,
/* 0x1e40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1e50 */ 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65, 66, 83, 51, 50,
/* 0x1e60 */ 32, 32, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 65, 65, 82, 67, 72,
/* 0x1e80 */ 54, 52, 95, 67, 65, 76, 76, 50, 54, 32, 32, 69, 76, 70, 77, 65,
/* 0x1e90 */ 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ea0 */ 48, 48, 48, 49, 48, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
/* 0x1eb0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
/* 0x1ec0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70,
/* 0x1ed0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
/* 0x1ee0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1ef0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f00 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52,
/* 0x1f10 */ 95, 67, 79, 78, 68, 66, 82, 49, 57, 32, 32, 76, 90, 77, 65, 95,
/* 0x1f20 */ 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79,
/* 0x1f30 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69,
/* 0x1f40 */ 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84,
/* 0x1f50 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32,
/* 0x1f60 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
/* 0x1f70 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f80 */ 49, 52, 56, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65, 66,
/* 0x1f90 */ 83, 51, 50, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
};

View File

@ -1,5 +1,5 @@
/* arm64-linux.elf-fold.h
created from arm64-linux.elf-fold.bin, 2528 (0x9e0) bytes
created from arm64-linux.elf-fold.bin, 2536 (0x9e8) bytes
This file is part of the UPX executable compressor.
@ -31,167 +31,168 @@
*/
#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2528
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0x4d5d7c01
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0x6247915f
#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2536
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0xc76f825d
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0xd99a5039
unsigned char stub_arm64_linux_elf_fold[2528] = {
unsigned char stub_arm64_linux_elf_fold[2536] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0,183, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x0060 */ 224, 9, 0, 0, 0, 0, 0, 0,224, 9, 0, 0, 0, 0, 0, 0,
/* 0x0060 */ 232, 9, 0, 0, 0, 0, 0, 0,232, 9, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 224, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 232, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,146,
/* 0x00c0 */ 1, 0, 0,145, 0, 32,193,154,192, 3, 95,214,231, 3, 64,249,
/* 0x00d0 */ 224, 3, 0,145,225, 3, 23,170, 34, 4, 65,248,226,255,255,181,
/* 0x00e0 */ 32, 4, 64,209, 6, 16, 0,209, 33, 0, 6,203,192, 0, 1,203,
/* 0x00f0 */ 0, 32, 0,209, 0,236,124,146,225, 35, 0,145, 31, 0, 0,145,
/* 0x0100 */ 7,132, 0,248, 34,132, 64,248, 2,132, 0,248,194,255,255,181,
/* 0x0110 */ 34,132, 64,248, 2,132, 0,248,194,255,255,181, 4, 32, 0,209,
/* 0x0120 */ 31,132, 0,248,231, 3, 0,170,247, 3, 0,170, 34, 12,193,168,
/* 0x0130 */ 2, 12,129,168,194,255,255,181,243, 3, 0,170,225, 3, 6,170,
/* 0x0140 */ 129, 0, 0,249, 98, 4, 0, 24, 34, 68, 0,184,226,255,129, 82,
/* 0x0150 */ 32, 4, 0, 16, 88, 0, 0,148, 31, 4, 64,177, 66, 0, 0, 84,
/* 0x0160 */ 95,104, 32, 56,231, 3, 27,170,230, 3, 22,170,255, 3, 40,209,
/* 0x0170 */ 165, 3, 0, 16,228, 3, 28,170,227, 3, 23,170,226, 3, 0,145,
/* 0x0180 */ 225, 3, 20, 42,224, 3, 21,170,189, 1, 0,148,255, 3, 40,145,
/* 0x0190 */ 252, 3, 0,170, 5, 0,128,210,228, 3, 24, 42, 67, 0,128, 82,
/* 0x01a0 */ 34, 0,128, 82, 1, 0,130,210, 0, 0,128,210, 58, 0, 0,148,
/* 0x01b0 */ 224, 3, 24, 42, 37, 0, 0,148,254, 3, 28,170,224, 3, 26,170,
/* 0x01c0 */ 225, 3, 25, 42, 98,130, 95,248,232, 26,128, 82, 64, 0, 31,214,
/* 0x01d0 */ 32, 32, 32, 61, 47,112,114,111, 99, 47,115,101,108,102, 47,101,
/* 0x01e0 */ 120,101, 0, 0, 99, 28, 0, 18,127, 72, 1,113,129, 1, 0, 84,
/* 0x01f0 */ 33,252, 66,211, 65, 1, 0,180, 33, 4, 0,209, 2,120, 97,184,
/* 0x0200 */ 67,120, 26, 83,127, 20, 0,113,129, 0, 0, 84, 67, 0, 1, 75,
/* 0x0210 */ 98,100, 0, 51, 2,120, 33,184, 1,255,255,181,192, 3, 95,214,
/* 0x0220 */ 0, 0, 32,212,192, 3, 95,214,168, 11,128, 82, 1, 0, 0,212,
/* 0x0230 */ 232, 7,128, 82, 1, 0, 0,212,192, 3, 95,214, 8, 8,128, 82,
/* 0x0240 */ 1, 0, 0,212,192, 3, 95,214, 40, 7,128, 82, 1, 0, 0,212,
/* 0x0250 */ 192, 3, 95,214,168, 21,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0260 */ 200, 26,128, 82, 1, 0, 0,212,192, 3, 95,214,232, 26,128, 82,
/* 0x0270 */ 1, 0, 0,212,192, 3, 95,214, 72, 28,128, 82, 1, 0, 0,212,
/* 0x0280 */ 192, 3, 95,214, 38,242,255, 24, 5, 0,128,210, 4, 0,128,146,
/* 0x0290 */ 99, 0, 6, 42,200, 27,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x02a0 */ 2, 0,128,210,225, 3, 0,170, 96, 12,128, 18,104, 4,128, 82,
/* 0x02b0 */ 4, 0, 0, 20,200, 9,128, 82, 2, 0, 0, 20, 8, 7,128, 82,
/* 0x02c0 */ 227, 3, 2,170,226, 3, 1,170,225, 3, 0,170, 96, 12,128,146,
/* 0x02d0 */ 1, 0, 0,212,192, 3, 95,214, 0, 0, 64,212, 2, 0,128, 82,
/* 0x02e0 */ 8, 0,128, 82, 1, 0, 0,212,192, 3, 95,214,160, 1, 0,180,
/* 0x02f0 */ 227, 3, 1, 42, 4, 0, 64,249,159, 0, 3,235,129, 0, 0, 84,
/* 0x0300 */ 3, 0, 0,249, 2, 4, 0,249, 6, 0, 0, 20,159, 4, 0,241,
/* 0x0310 */ 65, 0, 0, 84, 97,255,255, 53, 0, 64, 0,145,246,255,255, 23,
/* 0x0320 */ 192, 3, 95,214,253,123,191,169, 3, 0,128,210,253, 3, 0,145,
/* 0x0330 */ 5, 0, 64,249, 4, 4, 64,249,191, 0, 2,235, 98, 0, 0, 84,
/* 0x0340 */ 224, 15,128, 82,185,255,255,151,127, 0, 2,235,160, 0, 0, 84,
/* 0x0350 */ 133,104, 99, 56, 37,104, 35, 56, 99, 4, 0,145,251,255,255, 23,
/* 0x0360 */ 1, 4, 64,249, 33, 0, 3,139, 1, 4, 0,249, 1, 0, 64,249,
/* 0x0370 */ 35, 0, 3,203, 3, 0, 0,249,253,123,193,168,192, 3, 95,214,
/* 0x0380 */ 253,123,187,169,253, 3, 0,145,243, 83, 1,169,245, 91, 2,169,
/* 0x0390 */ 244, 3, 0,170,243, 3, 1,170,246, 3, 2,170,245, 3, 3,170,
/* 0x03a0 */ 96, 2, 64,249,160, 8, 0,180,224, 3, 20,170,130, 1,128,210,
/* 0x03b0 */ 161, 3, 1,145,220,255,255,151,160, 67, 64,185,162, 71, 64,185,
/* 0x03c0 */ 0, 1, 0, 53,160, 10,138, 82, 0, 43,164,114, 95, 0, 0,107,
/* 0x03d0 */ 225, 0, 0, 84,128, 2, 64,249, 0, 7, 0,180, 4, 0, 0, 20,
/* 0x03e0 */ 98, 0, 0, 52, 95, 0, 0,107,105, 0, 0, 84,224, 15,128, 82,
/* 0x03f0 */ 142,255,255,151, 99, 2, 64,249,225, 3, 0, 42, 63, 0, 3,235,
/* 0x0400 */ 104,255,255, 84, 95, 0, 0,107, 2, 4, 0, 84,161, 31, 0,249,
/* 0x0410 */ 225, 3, 2, 42,128, 6, 64,249,163,227, 0,145, 98, 6, 64,249,
/* 0x0420 */ 164, 35, 65, 57,192, 2, 63,214, 32,254,255, 53,161, 31, 64,249,
/* 0x0430 */ 160, 67, 64,185, 63, 0, 0,235,161,253,255, 84,163, 39, 65, 57,
/* 0x0440 */ 85, 1, 0,180, 35, 1, 0, 52, 63, 0, 8,241,136, 0, 0, 84,
/* 0x0450 */ 96, 2, 64,249, 31, 0, 1,235,129, 0, 0, 84, 96, 6, 64,249,
/* 0x0460 */ 162, 43, 65, 57,160, 2, 63,214,163, 71, 64,185,129, 6, 64,249,
/* 0x0470 */ 128, 2, 64,249, 33, 0, 3,139,129, 6, 0,249, 0, 0, 3,203,
/* 0x0480 */ 128, 2, 0,249, 5, 0, 0, 20, 97, 6, 64,249,224, 3, 20,170,
/* 0x0490 */ 226, 3, 2, 42,164,255,255,151,163, 67, 64,185, 97, 6, 64,249,
/* 0x04a0 */ 96, 2, 64,249, 33, 0, 3,139, 97, 6, 0,249, 0, 0, 3,203,
/* 0x04b0 */ 96, 2, 0,249,187,255,255, 23,243, 83, 65,169,245, 91, 66,169,
/* 0x04c0 */ 253,123,197,168,192, 3, 95,214,253,123,180,169,253, 3, 0,145,
/* 0x04d0 */ 234, 47, 7,109,202, 0,103,158, 6, 16, 64,249,236, 55, 8,109,
/* 0x04e0 */ 245, 91, 2,169,232, 39, 6,109,245, 3, 0,170,249,107, 4,169,
/* 0x04f0 */ 26, 0, 6,139, 0, 32, 64,121,247, 99, 3,169, 31, 12, 0,113,
/* 0x0500 */ 248, 3, 3,170, 64, 1,102,158, 3, 2,128, 82,141, 0,103,158,
/* 0x0510 */ 99, 16,159, 26,238, 75, 0,253,247, 3, 1,170,174, 0,103,158,
/* 0x0520 */ 165,114, 64,121, 0, 0, 64,249, 99,136, 0, 17,243, 83, 1,169,
/* 0x0530 */ 251,115, 5,169, 76, 0, 39, 30,251, 3, 7,170,226, 3, 26,170,
/* 0x0540 */ 1, 0,128,210, 19, 0,128,146,165, 4, 0, 81,191, 4, 0, 49,
/* 0x0550 */ 160, 1, 0, 84, 68, 0, 64,185,159, 4, 0,113, 1, 1, 0, 84,
/* 0x0560 */ 71, 8, 64,249, 68, 20, 64,249,127, 2, 7,235,228, 0, 4,139,
/* 0x0570 */ 115,146,135,154, 63, 0, 4,235, 33, 32,132,154, 66,224, 0,145,
/* 0x0580 */ 242,255,255, 23,226, 3, 59,170,115, 2, 27,138, 65, 0, 1,139,
/* 0x0590 */ 33, 0, 19,203, 72, 0,103,158, 33, 0, 27,138,163, 0, 32, 55,
/* 0x05a0 */ 83, 0, 0,181,160, 0, 0,181, 0, 0,128,210, 4, 0, 0, 20,
/* 0x05b0 */ 224, 3, 19,170, 2, 0, 0, 20, 67, 6,128, 82, 2, 0,128, 82,
/* 0x05c0 */ 4, 0,128, 18, 5, 0,128,210, 28, 0,128, 82, 50,255,255,151,
/* 0x05d0 */ 19, 0, 19,203, 96,230,122,211, 11, 0,103,158,160,114, 64,121,
/* 0x05e0 */ 159, 3, 0,107,234, 18, 0, 84, 64, 3, 64,185, 55, 1, 0,180,
/* 0x05f0 */ 31, 24, 0,113,225, 0, 0, 84, 66, 11, 64,249,224, 3, 24,170,
/* 0x0600 */ 97, 0,128, 82, 98, 2, 2,139, 57,255,255,151,132, 0, 0, 20,
/* 0x0610 */ 31, 4, 0,113, 65, 16, 0, 84, 87, 2, 0,180, 64, 7, 64,249,
/* 0x0620 */ 0, 2, 0,181,162, 18, 64,249,224, 3, 24,170, 67, 11, 64,249,
/* 0x0630 */ 97, 0,128, 82, 98, 2, 2,139, 66, 0, 3,139, 44,255,255,151,
/* 0x0640 */ 162,114, 64,121,224, 3, 24,170,161, 0,128, 82, 40,255,255,151,
/* 0x0650 */ 162,110, 64,121,224, 3, 24,170,129, 0,128, 82, 36,255,255,151,
/* 0x0660 */ 89, 7, 64,185, 0, 72,140, 82, 32,106,174,114, 84, 11, 64,249,
/* 0x0670 */ 57, 11, 30, 83,255, 2, 31,235, 0, 36,217, 26,160,163, 0,185,
/* 0x0680 */ 25, 8, 0, 18, 64, 23, 64,249,116, 2, 20,139, 86, 19, 64,249,
/* 0x0690 */ 128, 2, 0,139, 71, 7, 64,249,182, 91, 0,249, 70, 6,128, 82,
/* 0x06a0 */ 9, 0,103,158,180, 95, 0,249, 0, 1,102,158, 67, 2,128, 82,
/* 0x06b0 */ 133, 2, 0,138, 64, 0,128, 82, 2, 16,159, 26,255, 2, 31,235,
/* 0x06c0 */ 128, 1, 38, 30,148, 2, 5,203,182, 0, 22,139, 66, 0, 25, 42,
/* 0x06d0 */ 225, 3, 22,170,229, 0, 5,203, 4, 0,159, 90,255, 2, 31,235,
/* 0x06e0 */ 195, 16,131, 26,224, 3, 20,170,235,254,255,151,159, 2, 0,235,
/* 0x06f0 */ 96, 0, 0, 84,224, 15,128, 82,204,254,255,151,215, 0, 0,180,
/* 0x0700 */ 162, 1,102,158,224, 3, 23,170,195, 1,102,158,161,195, 2,145,
/* 0x0710 */ 28,255,255,151, 0, 1,102,158,227, 3, 22,203, 99, 0, 0,138,
/* 0x0720 */ 160, 83, 64,249, 96, 0, 8, 55, 87, 1, 0,181, 45, 0, 0, 20,
/* 0x0730 */ 195,255,255,180,129, 2, 22,139, 0, 0,128,210, 63,104, 32, 56,
/* 0x0740 */ 0, 4, 0,145, 31, 0, 3,235,161,255,255, 84,247,255,255, 23,
/* 0x0750 */ 64, 3, 64,249,225, 3, 0,178, 0,128, 64,146, 31, 0, 1,235,
/* 0x0760 */ 33, 3, 0, 84, 65, 23, 64,249, 66, 19, 64,249, 64, 11, 64,249,
/* 0x0770 */ 63, 0, 2,235,161, 5, 0, 84, 98, 14, 0,145, 66, 0, 1,139,
/* 0x0780 */ 66, 0, 0,139, 66,244,126,146,225, 3, 2, 75, 33, 0, 59, 10,
/* 0x0790 */ 63, 28, 0,113,169, 4, 0, 84, 32, 0,128, 82, 1, 0,128, 82,
/* 0x07a0 */ 0,128,186,114, 64, 0, 0,185, 0,120,128, 82,163, 83, 0,249,
/* 0x07b0 */ 224,203,186,114, 64, 4, 0,185,224, 3, 24,170,204,254,255,151,
/* 0x07c0 */ 163, 83, 64,249,224, 3, 20,170,225, 3, 22,170,226, 3, 25, 42,
/* 0x07d0 */ 163, 83, 0,249,169,254,255,151,163, 83, 64,249,192,248,255, 53,
/* 0x07e0 */ 32, 1,102,158,118, 0, 22,139,148, 2, 22,139,159, 2, 0,235,
/* 0x07f0 */ 98, 1, 0, 84, 33, 1,102,158,224, 3, 20,170,226, 3, 25, 42,
/* 0x0800 */ 67, 6,128, 82, 4, 0,128, 18, 5, 0,128,210, 33, 0, 20,203,
/* 0x0810 */ 161,254,255,151,159, 2, 0,235,225,246,255, 84, 90,227, 0,145,
/* 0x0820 */ 156, 7, 0, 17,110,255,255, 23, 97, 1,102,158, 2, 0, 1,139,
/* 0x0830 */ 64, 7, 64,249, 66, 32, 0,145, 0,251,255,180,226,255,255, 23,
/* 0x0840 */ 64, 1,102,158,232, 39, 70,109,247, 99, 67,169,234, 47, 71,109,
/* 0x0850 */ 249,107, 68,169,236, 55, 72,109,251,115, 69,169, 19, 0, 0,249,
/* 0x0860 */ 238, 75, 64,253,160, 14, 64,249,245, 91, 66,169, 96, 2, 0,139,
/* 0x0870 */ 243, 83, 65,169,253,123,204,168,192, 3, 95,214,253,123,182,169,
/* 0x0880 */ 253, 3, 0,145,243, 83, 1,169,243, 3, 2,170,249, 35, 0,249,
/* 0x0890 */ 162, 63, 0,249,249, 3, 7,170, 2, 0, 64,185,116, 2, 1,145,
/* 0x08a0 */ 162, 59, 0,249, 2, 4, 64,185,247, 99, 3,169,160, 79, 0,249,
/* 0x08b0 */ 247, 3, 3,170,162, 75, 0,249, 3, 0,128,210,226, 3, 4,170,
/* 0x08c0 */ 160, 71, 0,249,161, 67, 0,249,160, 67, 2,145,161,195, 1,145,
/* 0x08d0 */ 165, 47, 0,249,245, 91, 2,169,166, 55, 0,249, 22, 0,128, 82,
/* 0x08e0 */ 164, 51, 0,249,167,254,255,151,164, 51, 64,249,161, 3, 2,145,
/* 0x08f0 */ 165, 47, 64,249, 2, 0,128, 82,227, 3, 23,170,166,163, 1,145,
/* 0x0900 */ 231, 3, 25,170,224, 3, 19,170,240,254,255,151,245, 3, 0,170,
/* 0x0910 */ 33, 1,128, 82,224, 3, 23,170,226, 3, 21,170,116,254,255,151,
/* 0x0920 */ 96,114, 64,121,223, 2, 0,107,226, 4, 0, 84,128, 2, 64,185,
/* 0x0930 */ 31, 12, 0,113, 33, 4, 0, 84,129, 10, 64,249,160, 55, 64,249,
/* 0x0940 */ 32, 0, 0,139, 1, 0,128, 82,226, 3, 1, 42, 92,254,255,151,
/* 0x0950 */ 248, 3, 0, 42, 96, 0,248, 54,224, 15,128, 82, 51,254,255,151,
/* 0x0960 */ 225, 3, 19,170, 2,128,128,210, 50,254,255,151, 31, 0, 16,241,
/* 0x0970 */ 65,255,255, 84, 1, 0,128,210,226, 3, 24, 42,227, 3, 1,170,
/* 0x0980 */ 228, 3, 1,170,229, 3, 1,170,166,163, 1,145,231, 3, 25,170,
/* 0x0990 */ 224, 3, 19,170,191, 55, 0,249,204,254,255,151,245, 3, 0,170,
/* 0x09a0 */ 162, 55, 64,249,224, 3, 23,170,225, 0,128, 82, 80,254,255,151,
/* 0x09b0 */ 224, 3, 24, 42, 37,254,255,151,148,226, 0,145,214, 6, 0, 17,
/* 0x09c0 */ 216,255,255, 23,224, 3, 21,170,249, 35, 64,249,243, 83, 65,169,
/* 0x09d0 */ 245, 91, 66,169,247, 99, 67,169,253,123,202,168,192, 3, 95,214
/* 0x00c0 */ 1, 0, 0,145, 0, 32,193,154,192, 3, 95,214,250,111, 65,169,
/* 0x00d0 */ 244, 87,194,168,231, 3, 64,249,224, 3, 0,145,225, 3, 22,170,
/* 0x00e0 */ 34, 4, 65,248,226,255,255,181, 32, 4, 64,209, 6, 16, 0,209,
/* 0x00f0 */ 33, 0, 6,203,192, 0, 1,203, 0, 32, 0,209, 0,236,124,146,
/* 0x0100 */ 225, 35, 0,145, 31, 0, 0,145, 7,132, 0,248, 34,132, 64,248,
/* 0x0110 */ 2,132, 0,248,194,255,255,181, 34,132, 64,248, 2,132, 0,248,
/* 0x0120 */ 194,255,255,181, 4, 32, 0,209, 31,132, 0,248,231, 3, 0,170,
/* 0x0130 */ 246, 3, 0,170, 34, 12,193,168, 2, 12,129,168,194,255,255,181,
/* 0x0140 */ 247, 3, 0,170,225, 3, 6,170,129, 0, 0,249, 98, 4, 0, 24,
/* 0x0150 */ 34, 68, 0,184,226,255,129, 82, 32, 4, 0, 16, 88, 0, 0,148,
/* 0x0160 */ 31, 4, 64,177, 66, 0, 0, 84, 95,104, 32, 56,231, 3, 20,170,
/* 0x0170 */ 230, 3, 25,170,255, 3, 40,209,165, 3, 0, 16,228, 3, 24,170,
/* 0x0180 */ 227, 3, 22,170,226, 3, 0,145,225, 3, 29, 42,224, 3, 28,170,
/* 0x0190 */ 189, 1, 0,148,255, 3, 40,145,248, 3, 0,170, 5, 0,128,210,
/* 0x01a0 */ 228, 3, 21, 42, 67, 0,128, 82, 34, 0,128, 82, 1, 0,130,210,
/* 0x01b0 */ 0, 0,128,210, 58, 0, 0,148,224, 3, 21, 42, 37, 0, 0,148,
/* 0x01c0 */ 254, 3, 24,170,224, 3, 26,170,225, 3, 27, 42,226,130, 95,248,
/* 0x01d0 */ 232, 26,128, 82, 64, 0, 31,214, 32, 32, 32, 61, 47,112,114,111,
/* 0x01e0 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0, 99, 28, 0, 18,
/* 0x01f0 */ 127, 72, 1,113,129, 1, 0, 84, 33,252, 66,211, 65, 1, 0,180,
/* 0x0200 */ 33, 4, 0,209, 2,120, 97,184, 67,120, 26, 83,127, 20, 0,113,
/* 0x0210 */ 129, 0, 0, 84, 67, 0, 1, 75, 98,100, 0, 51, 2,120, 33,184,
/* 0x0220 */ 1,255,255,181,192, 3, 95,214, 0, 0, 32,212,192, 3, 95,214,
/* 0x0230 */ 168, 11,128, 82, 1, 0, 0,212,232, 7,128, 82, 1, 0, 0,212,
/* 0x0240 */ 192, 3, 95,214, 8, 8,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0250 */ 40, 7,128, 82, 1, 0, 0,212,192, 3, 95,214,168, 21,128, 82,
/* 0x0260 */ 1, 0, 0,212,192, 3, 95,214,200, 26,128, 82, 1, 0, 0,212,
/* 0x0270 */ 192, 3, 95,214,232, 26,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0280 */ 72, 28,128, 82, 1, 0, 0,212,192, 3, 95,214,230,241,255, 24,
/* 0x0290 */ 5, 0,128,210, 4, 0,128,146, 99, 0, 6, 42,200, 27,128, 82,
/* 0x02a0 */ 1, 0, 0,212,192, 3, 95,214, 2, 0,128,210,225, 3, 0,170,
/* 0x02b0 */ 96, 12,128, 18,104, 4,128, 82, 4, 0, 0, 20,200, 9,128, 82,
/* 0x02c0 */ 2, 0, 0, 20, 8, 7,128, 82,227, 3, 2,170,226, 3, 1,170,
/* 0x02d0 */ 225, 3, 0,170, 96, 12,128,146, 1, 0, 0,212,192, 3, 95,214,
/* 0x02e0 */ 0, 0, 64,212, 2, 0,128, 82, 8, 0,128, 82, 1, 0, 0,212,
/* 0x02f0 */ 192, 3, 95,214,160, 1, 0,180,227, 3, 1, 42, 4, 0, 64,249,
/* 0x0300 */ 159, 0, 3,235,129, 0, 0, 84, 3, 0, 0,249, 2, 4, 0,249,
/* 0x0310 */ 6, 0, 0, 20,159, 4, 0,241, 65, 0, 0, 84, 97,255,255, 53,
/* 0x0320 */ 0, 64, 0,145,246,255,255, 23,192, 3, 95,214,253,123,191,169,
/* 0x0330 */ 3, 0,128,210,253, 3, 0,145, 5, 0, 64,249, 4, 4, 64,249,
/* 0x0340 */ 191, 0, 2,235, 98, 0, 0, 84,224, 15,128, 82,185,255,255,151,
/* 0x0350 */ 127, 0, 2,235,160, 0, 0, 84,133,104, 99, 56, 37,104, 35, 56,
/* 0x0360 */ 99, 4, 0,145,251,255,255, 23, 1, 4, 64,249, 33, 0, 3,139,
/* 0x0370 */ 1, 4, 0,249, 1, 0, 64,249, 35, 0, 3,203, 3, 0, 0,249,
/* 0x0380 */ 253,123,193,168,192, 3, 95,214,253,123,187,169,253, 3, 0,145,
/* 0x0390 */ 243, 83, 1,169,245, 91, 2,169,244, 3, 0,170,243, 3, 1,170,
/* 0x03a0 */ 246, 3, 2,170,245, 3, 3,170, 96, 2, 64,249,160, 8, 0,180,
/* 0x03b0 */ 224, 3, 20,170,130, 1,128,210,161, 3, 1,145,220,255,255,151,
/* 0x03c0 */ 160, 67, 64,185,162, 71, 64,185, 0, 1, 0, 53,160, 10,138, 82,
/* 0x03d0 */ 0, 43,164,114, 95, 0, 0,107,225, 0, 0, 84,128, 2, 64,249,
/* 0x03e0 */ 0, 7, 0,180, 4, 0, 0, 20, 98, 0, 0, 52, 95, 0, 0,107,
/* 0x03f0 */ 105, 0, 0, 84,224, 15,128, 82,142,255,255,151, 99, 2, 64,249,
/* 0x0400 */ 225, 3, 0, 42, 63, 0, 3,235,104,255,255, 84, 95, 0, 0,107,
/* 0x0410 */ 2, 4, 0, 84,161, 31, 0,249,225, 3, 2, 42,128, 6, 64,249,
/* 0x0420 */ 163,227, 0,145, 98, 6, 64,249,164, 35, 65, 57,192, 2, 63,214,
/* 0x0430 */ 32,254,255, 53,161, 31, 64,249,160, 67, 64,185, 63, 0, 0,235,
/* 0x0440 */ 161,253,255, 84,163, 39, 65, 57, 85, 1, 0,180, 35, 1, 0, 52,
/* 0x0450 */ 63, 0, 8,241,136, 0, 0, 84, 96, 2, 64,249, 31, 0, 1,235,
/* 0x0460 */ 129, 0, 0, 84, 96, 6, 64,249,162, 43, 65, 57,160, 2, 63,214,
/* 0x0470 */ 163, 71, 64,185,129, 6, 64,249,128, 2, 64,249, 33, 0, 3,139,
/* 0x0480 */ 129, 6, 0,249, 0, 0, 3,203,128, 2, 0,249, 5, 0, 0, 20,
/* 0x0490 */ 97, 6, 64,249,224, 3, 20,170,226, 3, 2, 42,164,255,255,151,
/* 0x04a0 */ 163, 67, 64,185, 97, 6, 64,249, 96, 2, 64,249, 33, 0, 3,139,
/* 0x04b0 */ 97, 6, 0,249, 0, 0, 3,203, 96, 2, 0,249,187,255,255, 23,
/* 0x04c0 */ 243, 83, 65,169,245, 91, 66,169,253,123,197,168,192, 3, 95,214,
/* 0x04d0 */ 253,123,180,169,253, 3, 0,145,234, 47, 7,109,202, 0,103,158,
/* 0x04e0 */ 6, 16, 64,249,236, 55, 8,109,245, 91, 2,169,232, 39, 6,109,
/* 0x04f0 */ 245, 3, 0,170,249,107, 4,169, 26, 0, 6,139, 0, 32, 64,121,
/* 0x0500 */ 247, 99, 3,169, 31, 12, 0,113,248, 3, 3,170, 64, 1,102,158,
/* 0x0510 */ 3, 2,128, 82,141, 0,103,158, 99, 16,159, 26,238, 75, 0,253,
/* 0x0520 */ 247, 3, 1,170,174, 0,103,158,165,114, 64,121, 0, 0, 64,249,
/* 0x0530 */ 99,136, 0, 17,243, 83, 1,169,251,115, 5,169, 76, 0, 39, 30,
/* 0x0540 */ 251, 3, 7,170,226, 3, 26,170, 1, 0,128,210, 19, 0,128,146,
/* 0x0550 */ 165, 4, 0, 81,191, 4, 0, 49,160, 1, 0, 84, 68, 0, 64,185,
/* 0x0560 */ 159, 4, 0,113, 1, 1, 0, 84, 71, 8, 64,249, 68, 20, 64,249,
/* 0x0570 */ 127, 2, 7,235,228, 0, 4,139,115,146,135,154, 63, 0, 4,235,
/* 0x0580 */ 33, 32,132,154, 66,224, 0,145,242,255,255, 23,226, 3, 59,170,
/* 0x0590 */ 115, 2, 27,138, 65, 0, 1,139, 33, 0, 19,203, 72, 0,103,158,
/* 0x05a0 */ 33, 0, 27,138,163, 0, 32, 55, 83, 0, 0,181,160, 0, 0,181,
/* 0x05b0 */ 0, 0,128,210, 4, 0, 0, 20,224, 3, 19,170, 2, 0, 0, 20,
/* 0x05c0 */ 67, 6,128, 82, 2, 0,128, 82, 4, 0,128, 18, 5, 0,128,210,
/* 0x05d0 */ 28, 0,128, 82, 50,255,255,151, 19, 0, 19,203, 96,230,122,211,
/* 0x05e0 */ 11, 0,103,158,160,114, 64,121,159, 3, 0,107,234, 18, 0, 84,
/* 0x05f0 */ 64, 3, 64,185, 55, 1, 0,180, 31, 24, 0,113,225, 0, 0, 84,
/* 0x0600 */ 66, 11, 64,249,224, 3, 24,170, 97, 0,128, 82, 98, 2, 2,139,
/* 0x0610 */ 57,255,255,151,132, 0, 0, 20, 31, 4, 0,113, 65, 16, 0, 84,
/* 0x0620 */ 87, 2, 0,180, 64, 7, 64,249, 0, 2, 0,181,162, 18, 64,249,
/* 0x0630 */ 224, 3, 24,170, 67, 11, 64,249, 97, 0,128, 82, 98, 2, 2,139,
/* 0x0640 */ 66, 0, 3,139, 44,255,255,151,162,114, 64,121,224, 3, 24,170,
/* 0x0650 */ 161, 0,128, 82, 40,255,255,151,162,110, 64,121,224, 3, 24,170,
/* 0x0660 */ 129, 0,128, 82, 36,255,255,151, 89, 7, 64,185, 0, 72,140, 82,
/* 0x0670 */ 32,106,174,114, 84, 11, 64,249, 57, 11, 30, 83,255, 2, 31,235,
/* 0x0680 */ 0, 36,217, 26,160,163, 0,185, 25, 8, 0, 18, 64, 23, 64,249,
/* 0x0690 */ 116, 2, 20,139, 86, 19, 64,249,128, 2, 0,139, 71, 7, 64,249,
/* 0x06a0 */ 182, 91, 0,249, 70, 6,128, 82, 9, 0,103,158,180, 95, 0,249,
/* 0x06b0 */ 0, 1,102,158, 67, 2,128, 82,133, 2, 0,138, 64, 0,128, 82,
/* 0x06c0 */ 2, 16,159, 26,255, 2, 31,235,128, 1, 38, 30,148, 2, 5,203,
/* 0x06d0 */ 182, 0, 22,139, 66, 0, 25, 42,225, 3, 22,170,229, 0, 5,203,
/* 0x06e0 */ 4, 0,159, 90,255, 2, 31,235,195, 16,131, 26,224, 3, 20,170,
/* 0x06f0 */ 235,254,255,151,159, 2, 0,235, 96, 0, 0, 84,224, 15,128, 82,
/* 0x0700 */ 204,254,255,151,215, 0, 0,180,162, 1,102,158,224, 3, 23,170,
/* 0x0710 */ 195, 1,102,158,161,195, 2,145, 28,255,255,151, 0, 1,102,158,
/* 0x0720 */ 227, 3, 22,203, 99, 0, 0,138,160, 83, 64,249, 96, 0, 8, 55,
/* 0x0730 */ 87, 1, 0,181, 45, 0, 0, 20,195,255,255,180,129, 2, 22,139,
/* 0x0740 */ 0, 0,128,210, 63,104, 32, 56, 0, 4, 0,145, 31, 0, 3,235,
/* 0x0750 */ 161,255,255, 84,247,255,255, 23, 64, 3, 64,249,225, 3, 0,178,
/* 0x0760 */ 0,128, 64,146, 31, 0, 1,235, 33, 3, 0, 84, 65, 23, 64,249,
/* 0x0770 */ 66, 19, 64,249, 64, 11, 64,249, 63, 0, 2,235,161, 5, 0, 84,
/* 0x0780 */ 98, 14, 0,145, 66, 0, 1,139, 66, 0, 0,139, 66,244,126,146,
/* 0x0790 */ 225, 3, 2, 75, 33, 0, 59, 10, 63, 28, 0,113,169, 4, 0, 84,
/* 0x07a0 */ 32, 0,128, 82, 1, 0,128, 82, 0,128,186,114, 64, 0, 0,185,
/* 0x07b0 */ 0,120,128, 82,163, 83, 0,249,224,203,186,114, 64, 4, 0,185,
/* 0x07c0 */ 224, 3, 24,170,204,254,255,151,163, 83, 64,249,224, 3, 20,170,
/* 0x07d0 */ 225, 3, 22,170,226, 3, 25, 42,163, 83, 0,249,169,254,255,151,
/* 0x07e0 */ 163, 83, 64,249,192,248,255, 53, 32, 1,102,158,118, 0, 22,139,
/* 0x07f0 */ 148, 2, 22,139,159, 2, 0,235, 98, 1, 0, 84, 33, 1,102,158,
/* 0x0800 */ 224, 3, 20,170,226, 3, 25, 42, 67, 6,128, 82, 4, 0,128, 18,
/* 0x0810 */ 5, 0,128,210, 33, 0, 20,203,161,254,255,151,159, 2, 0,235,
/* 0x0820 */ 225,246,255, 84, 90,227, 0,145,156, 7, 0, 17,110,255,255, 23,
/* 0x0830 */ 97, 1,102,158, 2, 0, 1,139, 64, 7, 64,249, 66, 32, 0,145,
/* 0x0840 */ 0,251,255,180,226,255,255, 23, 64, 1,102,158,232, 39, 70,109,
/* 0x0850 */ 247, 99, 67,169,234, 47, 71,109,249,107, 68,169,236, 55, 72,109,
/* 0x0860 */ 251,115, 69,169, 19, 0, 0,249,238, 75, 64,253,160, 14, 64,249,
/* 0x0870 */ 245, 91, 66,169, 96, 2, 0,139,243, 83, 65,169,253,123,204,168,
/* 0x0880 */ 192, 3, 95,214,253,123,182,169,253, 3, 0,145,243, 83, 1,169,
/* 0x0890 */ 243, 3, 2,170,249, 35, 0,249,162, 63, 0,249,249, 3, 7,170,
/* 0x08a0 */ 2, 0, 64,185,116, 2, 1,145,162, 59, 0,249, 2, 4, 64,185,
/* 0x08b0 */ 247, 99, 3,169,160, 79, 0,249,247, 3, 3,170,162, 75, 0,249,
/* 0x08c0 */ 3, 0,128,210,226, 3, 4,170,160, 71, 0,249,161, 67, 0,249,
/* 0x08d0 */ 160, 67, 2,145,161,195, 1,145,165, 47, 0,249,245, 91, 2,169,
/* 0x08e0 */ 166, 55, 0,249, 22, 0,128, 82,164, 51, 0,249,167,254,255,151,
/* 0x08f0 */ 164, 51, 64,249,161, 3, 2,145,165, 47, 64,249, 2, 0,128, 82,
/* 0x0900 */ 227, 3, 23,170,166,163, 1,145,231, 3, 25,170,224, 3, 19,170,
/* 0x0910 */ 240,254,255,151,245, 3, 0,170, 33, 1,128, 82,224, 3, 23,170,
/* 0x0920 */ 226, 3, 21,170,116,254,255,151, 96,114, 64,121,223, 2, 0,107,
/* 0x0930 */ 226, 4, 0, 84,128, 2, 64,185, 31, 12, 0,113, 33, 4, 0, 84,
/* 0x0940 */ 129, 10, 64,249,160, 55, 64,249, 32, 0, 0,139, 1, 0,128, 82,
/* 0x0950 */ 226, 3, 1, 42, 92,254,255,151,248, 3, 0, 42, 96, 0,248, 54,
/* 0x0960 */ 224, 15,128, 82, 51,254,255,151,225, 3, 19,170, 2,128,128,210,
/* 0x0970 */ 50,254,255,151, 31, 0, 16,241, 65,255,255, 84, 1, 0,128,210,
/* 0x0980 */ 226, 3, 24, 42,227, 3, 1,170,228, 3, 1,170,229, 3, 1,170,
/* 0x0990 */ 166,163, 1,145,231, 3, 25,170,224, 3, 19,170,191, 55, 0,249,
/* 0x09a0 */ 204,254,255,151,245, 3, 0,170,162, 55, 64,249,224, 3, 23,170,
/* 0x09b0 */ 225, 0,128, 82, 80,254,255,151,224, 3, 24, 42, 37,254,255,151,
/* 0x09c0 */ 148,226, 0,145,214, 6, 0, 17,216,255,255, 23,224, 3, 21,170,
/* 0x09d0 */ 249, 35, 64,249,243, 83, 65,169,245, 91, 66,169,247, 99, 67,169,
/* 0x09e0 */ 253,123,202,168,192, 3, 95,214
};

View File

@ -86,24 +86,34 @@ __NR_write = 0x40 // 64
#define TRACE(arg) /*empty*/
#endif //}
//lr .req x30
wLENU .req w29
xLENU .req x29
xADRU .req x28
wfd .req w27
xfd .req x27
xPMASK .req x26
// The above 4 registers are passed on stack to unfolded code.
xfexp .req x28
xPMASK .req x27
xADRU .req x26
wLENU .req w25
wfd .req w24
xauxv .req x23
xelfa .req x22
xADRM .req x21
xADRX .req xADRM
wLENM .req w20
xelfa .req x25
xfexp .req x24
// xPMASK, xlefa, xfexp still are used here.
wLENM .req w29 // overlaps wLENU
xLENM .req x29
wLENX .req wLENM
xLENM .req x20
xLENX .req xLENM
xFOLD .req x19
wszuf .req w18
xrelo .req x17
wobinf .req w16
xADRM .req x28 // overlaps xADRU
xADRX .req xADRM
wobinf .req w27 // overlaps wfd
xrelo .req x23
xauxv .req x22
wszuf .req w21
xszuf .req x21
xFOLD .req x20
// http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055b/IHI0055B_aapcs64.pdf
// x18 is CLOBBERED: "The platform register"
wmeth .req w4
xmeth .req x4
@ -178,22 +188,23 @@ unfold:
ldr w0, [xfexp,#sz_pack2 - f_exp]
add xelfa,xfexp,#sz_pack2 - f_exp
sub xelfa,xelfa,x0 // &Elf64_Ehdr of stub
ldr w0,[xFOLD,#sz_unc + LBINFO - LxFOLD] // sz_unc of fold
ldr wszuf,[xFOLD,#sz_unc + LBINFO - LxFOLD] // sz_unc of fold
sub x1,xFOLD,xelfa // offset(FOLD)
mov w4,#-1 // fd
mov wszuf,w0 // save sz_unc of fold
mov w3,#MAP_PRIVATE|MAP_ANONYMOUS
add x1,x1,x0; mov wLENU,w1 // length needed
add x1,x1,wszuf,uxtw // length needed
mov x0,#0 // kernel chooses addr
call mmapRW0; mov xADRU,x0
call mmapRW0
PUSH2(x0,x1) // ADRU, LENU
// Duplicate the input data.
ldr w8,[xFOLD,#sz_cpr + LBINFO - LxFOLD] // sz_cpr of fold
sub x1,xFOLD,xelfa // offset(FOLD)
mov w4,wfd // from file
mov w3,#MAP_PRIVATE|MAP_FIXED
PUSH2(xPMASK,xfd)
add x1,x1,x8 // + sz_cpr of fold; x1 <= .st_size
call mmapRW0
call mmapRW0 // IN: x0= ADRU; OUT: x0= ADRU
sub xrelo,x0,xelfa // relocation amount
mov x8,xfexp; add xfexp,xfexp,xrelo // use old f_exp; xfexp= new &f_exp
@ -207,7 +218,7 @@ unfold:
// The new f_exp has PROT_WRITE, so use the old f_exp to decompress
ldrb wmeth,[xFOLD,#b_method + LBINFO - LxFOLD]
PUSH1(xmeth) // lzma uses for EOF
PUSH1(xszuf) // lzma uses for EOF
mov ldst,sp // &slot on stack
mov dst,xFOLD // dst for unfolding
ldr lsrc,[xFOLD,#sz_cpr + LBINFO - LxFOLD]
@ -231,8 +242,8 @@ unfold:
// Use the unfolded code
ldr wLENX,[xfexp,#sz_pack2 - f_exp]
add xADRX,xelfa,wobinf,uxtw // old compressed data
add xADRX,xADRX,xrelo // new compressed data
add xADRX,xelfa,wobinf,uxtw // old compressed &b_info
add xADRX,xADRX,xrelo // new compressed &b_info
add x0,xFOLD,#4*4 // jmp over get_page_mask()
jr x0

View File

@ -73,24 +73,25 @@ get_page_size:
fold_begin:
//// brk #0 // DEBUG
// In: sp/ argc,argv,...
xfexp .req x28
xPMASK .req x27
// In: sp/ PMASK,fd,ADRU,LENU, argc,argv,...
//lr .req x30
wLENX .req w29
xADRX .req x28
wLENU .req w27
xLENU .req x27
xADRU .req x26
wLENU .req w25
wfd .req w24
xauxv .req x23
xelfa .req x22
xADRM .req x21
xADRX .req xADRM
wLENM .req w20
wLENX .req wLENM
xLENM .req x20
xLENX .req xLENM
xFOLD .req x19 // unused
xauxe .req xFOLD // past new auxv
xrelo .req x17
wobinf .req w16
xelfa .req x25
xfexp .req x24
xauxe .req x23 // past new auxv
xauxv .req x22
wfd .req w21
xfd .req x21
xPMASK .req x20
POP4(xPMASK,xfd, xADRU,xLENU)
ldr x7,[sp,#0] // argc
mov x0,sp // current stack pointer

View File

@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn
8 LZMA_DEC10 0000049c 0000000000000000 0000000000000000 00000db4 2**0 CONTENTS, READONLY
9 LZMA_DEC30 00000000 0000000000000000 0000000000000000 00001250 2**0 CONTENTS, READONLY
10 ELFMAINY 0000003e 0000000000000000 0000000000000000 00001250 2**0 CONTENTS, READONLY
11 ELFMAINZ 00000150 0000000000000000 0000000000000000 00001290 2**2 CONTENTS, RELOC, READONLY
11 ELFMAINZ 0000014c 0000000000000000 0000000000000000 00001290 2**2 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
0000000000000000 l d ELFMAINZ 0000000000000000 ELFMAINZ
@ -39,7 +39,7 @@ SYMBOL TABLE:
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
0000000000000000 R_AARCH64_ABS32 MFLG
0000000000000004 R_AARCH64_CALL26 ELFMAINZ+0x0000000000000104
0000000000000004 R_AARCH64_CALL26 ELFMAINZ+0x0000000000000100
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
@ -47,4 +47,4 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
000000000000014c R_AARCH64_ABS32 O_BINFO
0000000000000148 R_AARCH64_ABS32 O_BINFO

View File

@ -8,44 +8,44 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x924
.text 0x00000000001000bc 0x92c
*(.text)
.text 0x00000000001000bc 0x230 tmp/arm64-linux.elf-fold.o
0x0000000000100220 my_bkpt
0x0000000000100228 exit
0x0000000000100230 read
0x000000000010023c write
0x0000000000100248 close
0x0000000000100254 getpid
0x0000000000100260 brk
0x000000000010026c munmap
0x0000000000100278 mprotect
0x0000000000100284 mmap_privanon
0x0000000000100294 mmap
0x00000000001002a0 unlink
0x00000000001002b4 readlink
0x00000000001002bc open
0x00000000001002d8 __clear_cache
.text 0x00000000001002ec 0x6f4 tmp/arm64-linux.elf-main.o
0x000000000010087c upx_main
.text 0x00000000001000bc 0x238 tmp/arm64-linux.elf-fold.o
0x0000000000100228 my_bkpt
0x0000000000100230 exit
0x0000000000100238 read
0x0000000000100244 write
0x0000000000100250 close
0x000000000010025c getpid
0x0000000000100268 brk
0x0000000000100274 munmap
0x0000000000100280 mprotect
0x000000000010028c mmap_privanon
0x000000000010029c mmap
0x00000000001002a8 unlink
0x00000000001002bc readlink
0x00000000001002c4 open
0x00000000001002e0 __clear_cache
.text 0x00000000001002f4 0x6f4 tmp/arm64-linux.elf-main.o
0x0000000000100884 upx_main
*(.data)
.data 0x00000000001009e0 0x0 tmp/arm64-linux.elf-fold.o
.data 0x00000000001009e0 0x0 tmp/arm64-linux.elf-main.o
.data 0x00000000001009e8 0x0 tmp/arm64-linux.elf-fold.o
.data 0x00000000001009e8 0x0 tmp/arm64-linux.elf-main.o
.iplt 0x00000000001009e0 0x0
.iplt 0x00000000001009e0 0x0 tmp/arm64-linux.elf-fold.o
.iplt 0x00000000001009e8 0x0
.iplt 0x00000000001009e8 0x0 tmp/arm64-linux.elf-fold.o
.rela.dyn 0x00000000001009e0 0x0
.rela.iplt 0x00000000001009e0 0x0 tmp/arm64-linux.elf-fold.o
.rela.dyn 0x00000000001009e8 0x0
.rela.iplt 0x00000000001009e8 0x0 tmp/arm64-linux.elf-fold.o
.data
LOAD tmp/arm64-linux.elf-fold.o
LOAD tmp/arm64-linux.elf-main.o
OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
.igot.plt 0x00000000001009e0 0x0
.igot.plt 0x00000000001009e0 0x0 tmp/arm64-linux.elf-fold.o
.igot.plt 0x00000000001009e8 0x0
.igot.plt 0x00000000001009e8 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x00000000001009e0 0x0
.bss 0x00000000001009e0 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x00000000001009e0 0x0 tmp/arm64-linux.elf-main.o
.bss 0x00000000001009e8 0x0
.bss 0x00000000001009e8 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x00000000001009e8 0x0 tmp/arm64-linux.elf-main.o