diff --git a/src/p_mach.cpp b/src/p_mach.cpp index ce297ca5..84ec3443 100644 --- a/src/p_mach.cpp +++ b/src/p_mach.cpp @@ -570,20 +570,13 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader super::pack4(fo, ft); if (Mach_header::MH_EXECUTE == my_filetype) { - upx_uint64_t const zero = 0; - unsigned const len = fo->getBytesWritten(); - fo->write(&zero, 7& (0u-len)); + unsigned len = fo->getBytesWritten(); + char page[~PAGE_MASK]; memset(page, 0, sizeof(page)); + fo->write(page, ~PAGE_MASK & (0u - len)); + len += ~PAGE_MASK & (0u - len) ; - unsigned const eofcmpr = fo->getBytesWritten(); - if (Mach_header::CPU_TYPE_X86_64 == my_cputype) { - // sneak in a little below 4GiB - segTEXT.vmaddr = segZERO.vmaddr + segZERO.vmsize; - } - else { - // ::pack1 set segTEXT.vmaddr to be va_hi: no conflict - } - segTEXT.filesize = eofcmpr; - segTEXT.vmsize += eofcmpr; // utilize GAP + NO_LAP + sz_unc - sz_cpr + segTEXT.filesize = len; + segTEXT.vmsize = len; // FIXME? utilize GAP + NO_LAP + sz_unc - sz_cpr secTEXT.offset = overlay_offset - sizeof(linfo); secTEXT.addr = segTEXT.vmaddr + secTEXT.offset; secTEXT.size = segTEXT.filesize - secTEXT.offset; @@ -593,7 +586,13 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader } secXHDR.addr += secXHDR.offset; unsigned offLINK = segLINK.fileoff; - segLINK.vmaddr = segTEXT.vmaddr + offLINK; + + + segLINK.fileoff = len; // must be in the file + segLINK.vmaddr = len + segTEXT.vmaddr; + fo->write(page, 16); len += 16; + segLINK.vmsize = 16; + segLINK.filesize = 16; // Get a writeable copy of the stub to make editing easier. ByteArray(upxstub, sz_stub_main); @@ -602,7 +601,6 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader Mach_header *const mhp = (Mach_header *)upxstub; mhp->cpusubtype = my_cpusubtype; char *tail = (char *)(1+ mhp); - Mach_segment_command *segtxt = 0; // in temp for output Mach_section_command *sectxt = 0; // in temp for output unsigned txt_addr = 0; char *const lcp_end = mhdro.sizeofcmds + tail; @@ -612,7 +610,6 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader //unsigned cmdsize = mhdro.sizeofcmds; unsigned delta = 0; - unsigned va_next = 0; for (unsigned j = 0; j < ncmds; ++j) { unsigned skip = 0; unsigned sz_cmd = lcp->cmdsize; @@ -622,94 +619,19 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader case Mach_command::LC_SEGMENT: // fall through case Mach_command::LC_SEGMENT_64: { Mach_segment_command *const segptr = (Mach_segment_command *)lcp; - if (!strcmp("__PAGEZERO", segptr->segname)) { - if (pagezero_vmsize < 0xF0000000ull) { - segptr->vmsize = pagezero_vmsize; - } - } if (!strcmp("__TEXT", segptr->segname)) { - segtxt = segptr; // remember base for appending sectxt = (Mach_section_command *)(1+ segptr); txt_addr = sectxt->addr; - // Collapse into 1 section by appending onto the first section. - unsigned off_hi = sectxt->size + sectxt->offset; - Mach_section_command const *scpk = 1+ sectxt; - for (unsigned k = 1; k < segptr->nsects; ++scpk, ++k) { - if (off_hi == scpk->offset || scpk->size==0) { - off_hi += scpk->size; - sectxt->size += scpk->size; - } - else { - if (!(Mach_header::CPU_TYPE_POWERPC == my_cputype - && 12==(unsigned)scpk->size - && !strcmp("__cstring", (char const *)&scpk->sectname))) { - printWarn(fi->getName(), "Unexpected .text section %s size=%u\n", - (char const *)&scpk->sectname, (unsigned)scpk->size); - } - // Assume the maximum size: to end of the page. - sectxt->size = (segptr->vmsize + segptr->vmaddr) - sectxt->addr; - // Try to stop the cascade of errors. - off_hi = scpk->size + scpk->offset; - break; - } - } - int const d = (-1+ segptr->nsects) * sizeof(secTEXT); - if (0 < d) { - segptr->nsects = 1; - sz_cmd -= d; - segptr->cmdsize -= d; - mhp->sizeofcmds -= d; - } - if (Mach_header::CPU_TYPE_I386 == my_cputype - || Mach_header::CPU_TYPE_POWERPC == my_cputype ) { - // Avoid overlap by moving to va_hi. - upx_uint64_t const delt2 = segTEXT.vmaddr - segptr->vmaddr; - segptr->vmaddr += delt2; - sectxt->addr += delt2; - } - memcpy(&segTEXT, segptr, sizeof(segTEXT)); - memcpy(&secTEXT, sectxt, sizeof(secTEXT)); - va_next = segTEXT.vmsize + segTEXT.vmaddr; - break; - } - if (!strcmp("__DATA", segptr->segname) && !segptr->vmsize) { - // __DATA with no pages. - // Use the space as Mach_segment_command for new segXHDR, or elide. - segXHDR.cmdsize = sizeof(segXHDR); // no need for sections - segXHDR.vmaddr = segTEXT.vmsize + segTEXT.vmaddr; // XXX FIXME - segXHDR.vmsize = offLINK - segTEXT.vmsize; - segXHDR.fileoff = segTEXT.filesize + segTEXT.fileoff; // XXX FIXME: assumes no __DATA in stub - segXHDR.filesize = offLINK - segTEXT.filesize; // XXX FIXME: assumes no __DATA in stub; - segXHDR.maxprot = Mach_command::VM_PROT_READ; - segXHDR.nsects = 0; - if (!segtxt) { // replace __DATA with segXHDR - va_next = segXHDR.vmsize + segXHDR.vmaddr; - memcpy(tail, &segXHDR, sizeof(segXHDR)); - tail += sizeof(segXHDR); - goto next; - } - else { // append to .text - segtxt->vmsize = offLINK; - segtxt->filesize = offLINK; - sectxt->size = offLINK - (~PAGE_MASK & sectxt->offset); - va_next = segtxt->vmsize + segtxt->vmaddr; - skip = 1; - } + sz_cmd = (segTEXT.nsects * sizeof(secTEXT)) + sizeof(segTEXT); + memcpy(tail, &segTEXT, sz_cmd); tail += sz_cmd; + goto next; } if (!strcmp("__LINKEDIT", segptr->segname)) { - segLINK.initprot = Mach_command::VM_PROT_READ - | Mach_command::VM_PROT_EXECUTE; + segLINK.initprot = Mach_command::VM_PROT_READ; delta = offLINK - segptr->fileoff; // relocation constant - // Update the __LINKEDIT header - segLINK.filesize = eofcmpr - offLINK; - segLINK.vmsize = PAGE_MASK64 & (~PAGE_MASK64 + eofcmpr - offLINK); - if (Mach_header::CPU_TYPE_I386 == my_cputype) { - segLINK.fileoff = offLINK; // otherwise written by ::pack3 - } - segLINK.vmaddr = va_next; - memcpy(tail, &segLINK, sizeof(segLINK)); - tail += sizeof(segLINK); + sz_cmd = sizeof(segLINK); + memcpy(tail, &segLINK, sz_cmd); tail += sz_cmd; goto next; } } break; @@ -808,6 +730,7 @@ next: unsigned const sz_threado = threado_size(); mhp->ncmds += 1; mhp->sizeofcmds += sz_threado; + sz_mach_headers += sz_threado; fo->seek(0, SEEK_SET); fo->rewrite(mhp, tail - (char *)mhp); threado_rewrite(fo); @@ -826,7 +749,8 @@ next: } } -// At 2013-02-03 part of the source for codesign was // http://opensource.apple.com/source/cctools/cctools-836/libstuff/ofile.c +// At 2013-02-03 part of the source for codesign was: +// http://opensource.apple.com/source/cctools/cctools-836/libstuff/ofile.c template void PackMachBase::pack4dylib( // append PackHeader @@ -1023,22 +947,16 @@ off_t PackMachBase::pack3(OutputFile *fo, Filter &ft) // append loader fo->write(&zero, 3& (0u-len)); len += (3& (0u-len)); - disp = len - sz_mach_headers; + disp = len; // backward offset to Mach_header fo->write(&disp, sizeof(disp)); len += sizeof(disp); - if (Mach_header::MH_DYLIB != my_filetype) { - // Why does MH_EXECUTE do this? - char page[~PAGE_MASK]; memset(page, 0, sizeof(page)); - fo->write(page, ~PAGE_MASK & (0u - len)); - len += ~PAGE_MASK & (0u - len); - segLINK.fileoff = len; - } + disp = len - sz_mach_headers; // backward offset to start of compressed data + fo->write(&disp, sizeof(disp)); + len += sizeof(disp); + threado_setPC(entryVMA= len + segTEXT.vmaddr); - threado_setPC(entryVMA= len + segTEXT.vmaddr); /* entry address */ - super::pack3(fo, ft); - fo->write(&zero, 7& (0u-len)); // FIXME: align(4) ? - return segTEXT.vmsize = len = fo->getBytesWritten(); + return segTEXT.vmsize = super::pack3(fo, ft); } off_t PackDylibI386::pack3(OutputFile *fo, Filter &ft) // append loader @@ -1359,7 +1277,7 @@ void PackMachBase::pack1(OutputFile *const fo, Filter &/*ft*/) // generate e strncpy((char *)segTEXT.segname, "__TEXT", sizeof(segTEXT.segname)); if (my_filetype==Mach_header::MH_EXECUTE) { int k; // must ignore zero-length segments, which sort last - for (k=n_segment; --k>=0; ) + for (k=1 /*n_segment*/; --k>=0; ) if (msegcmd[k].vmsize!=0) break; segTEXT.vmaddr = PAGE_MASK64 & (~PAGE_MASK64 + @@ -1408,12 +1326,11 @@ void PackMachBase::pack1(OutputFile *const fo, Filter &/*ft*/) // generate e segLINK.cmdsize = sizeof(segLINK); strncpy((char *)segLINK.segname, "__LINKEDIT", sizeof(segLINK.segname)); segLINK.nsects = 0; - segLINK.initprot = Mach_command::VM_PROT_READ - | Mach_command::VM_PROT_EXECUTE; + segLINK.initprot = Mach_command::VM_PROT_READ; // Adjust later: .vmaddr .vmsize .fileoff .filesize if (my_filetype == Mach_header::MH_EXECUTE) { - unsigned cmdsize = mhdro.sizeofcmds - sizeof(segXHDR); + unsigned cmdsize = mhdro.sizeofcmds; Mach_header const *const ptr0 = (Mach_header const *)stub_main; Mach_command const *ptr1 = (Mach_command const *)(1+ ptr0); for (unsigned j = 0; j < mhdro.ncmds -1; ++j, (cmdsize -= ptr1->cmdsize), @@ -1433,13 +1350,11 @@ void PackMachBase::pack1(OutputFile *const fo, Filter &/*ft*/) // generate e // Mach_command before __LINKEDIT pos += (char const *)ptr1 - (char const *)(1+ ptr0); fo->write((1+ ptr0), (char const *)ptr1 - (char const *)(1+ ptr0)); - pos += sizeof(segXHDR); - fo->write(&segXHDR, sizeof(segXHDR)); + // Mach_command __LINKEDIT and after pos += cmdsize; fo->write((char const *)ptr1, cmdsize); - // Contents before __LINKEDIT; put non-headers at same offset in file - fo->write(&stub_main[pos], segptr->fileoff - pos); + sz_mach_headers = fo->getBytesWritten(); break; } @@ -1824,6 +1739,9 @@ int PackMachBase::canUnpack() return true; } +#define WANT_MACH_SEGMENT_ENUM +#define WANT_MACH_SECTION_ENUM +#include "p_mach_enum.h" template bool PackMachBase::canPack() @@ -1972,10 +1890,10 @@ bool PackMachBase::canPack() {CPU_TYPE_X86_64, MH_EXECUTE, sizeof(stub_amd64_darwin_macho_entry), sizeof(stub_amd64_darwin_macho_fold), - sizeof(stub_amd64_darwin_macho_upxmain_exe), + 0, //sizeof(stub_amd64_darwin_macho_upxmain_exe), stub_amd64_darwin_macho_entry, stub_amd64_darwin_macho_fold, - stub_amd64_darwin_macho_upxmain_exe + 0 // stub_amd64_darwin_macho_upxmain_exe }, {CPU_TYPE_X86_64, MH_DYLIB, sizeof(stub_amd64_darwin_dylib_entry), 0, 0, @@ -2024,6 +1942,86 @@ bool PackMachBase::canPack() stub_fold = stub_list[j].stub_fold; sz_stub_main = stub_list[j].sz_stub_main; stub_main = stub_list[j].stub_main; + if (!stub_main) { // development stub + static struct { + Mach_header mhdri; + Mach_segment_command segZERO; + Mach_segment_command segTEXT; + Mach_section_command secTEXT; + Mach_segment_command segLINK; + Mach_version_min_command cmdVERMIN; + Mach_source_version_command cmdSRCVER; + } fsm; // fake_stub_main + fsm.mhdri = mhdri; + fsm.mhdri.ncmds = 5; + fsm.mhdri.sizeofcmds = sizeof(fsm) - sizeof(fsm.mhdri); + fsm.mhdri.flags = MH_NOUNDEFS | MH_PIE; + + fsm.segZERO.cmd = LC_SEGMENT + (fsm.mhdri.cputype >> 24) + * (LC_SEGMENT_64 - LC_SEGMENT); + fsm.segZERO.cmdsize = sizeof(Mach_segment_command); + strncpy(fsm.segZERO.segname, "__PAGEZERO", sizeof(fsm.segZERO.segname)); + fsm.segZERO.vmaddr = 0; + fsm.segZERO.vmsize = (4<<16); + if (8==sizeof(void *)) fsm.segZERO.vmsize <<= (32 - 18); + fsm.segZERO.fileoff = 0; + fsm.segZERO.filesize = 0; + fsm.segZERO.maxprot = 0; + fsm.segZERO.initprot = 0; + fsm.segZERO.nsects = 0; + fsm.segZERO.flags = 0; + + fsm.segTEXT.cmd = fsm.segZERO.cmd; + fsm.segTEXT.cmdsize = sizeof(Mach_segment_command) + + sizeof(Mach_section_command); + strncpy(fsm.segTEXT.segname, "__TEXT", sizeof(fsm.segTEXT.segname)); + fsm.segTEXT.vmaddr = fsm.segZERO.vmsize; // dummy? + fsm.segTEXT.vmsize = 0; + fsm.segTEXT.fileoff = 0; + fsm.segTEXT.filesize = fsm.segTEXT.vmsize; // dummy + fsm.segTEXT.maxprot = VM_PROT_EXECUTE | VM_PROT_READ; + fsm.segTEXT.initprot = VM_PROT_EXECUTE | VM_PROT_READ; + fsm.segTEXT.nsects = 1; + fsm.segTEXT.flags = 0; + + strncpy(fsm.secTEXT.sectname, "__text", sizeof(fsm.secTEXT.sectname)); + memcpy(fsm.secTEXT.segname, fsm.segTEXT.segname, sizeof(fsm.secTEXT.segname)); + unsigned const d = 400 + fsm.mhdri.sizeofcmds; + fsm.secTEXT.addr = fsm.segTEXT.vmaddr + d; // dummy + fsm.secTEXT.size = fsm.segTEXT.vmsize - d; // dummy + fsm.secTEXT.offset = d; // dummy + fsm.secTEXT.align = 3; // (1<<2) + fsm.secTEXT.reloff = 0; + fsm.secTEXT.nreloc = 0; + fsm.secTEXT.flags = S_REGULAR | S_ATTR_PURE_INSTRUCTIONS | S_ATTR_SOME_INSTRUCTIONS; + fsm.secTEXT.reserved1 = 0; + fsm.secTEXT.reserved2 = 0; + + fsm.segLINK = fsm.segTEXT; + fsm.segLINK.cmdsize = sizeof(Mach_segment_command); + strncpy(fsm.segLINK.segname, "__LINKEDIT", sizeof(fsm.segLINK.segname)); + fsm.segLINK.vmaddr = fsm.segTEXT.vmaddr + fsm.segTEXT.vmsize; // dummy + fsm.segLINK.vmsize = 0x1000; // dummy + fsm.segLINK.fileoff = fsm.segTEXT.fileoff + fsm.segTEXT.filesize; + fsm.segLINK.filesize = fsm.segLINK.vmsize; + fsm.segLINK.maxprot = VM_PROT_READ; + fsm.segLINK.initprot = VM_PROT_READ; + fsm.segLINK.nsects = 0; + + fsm.cmdVERMIN.cmd = LC_VERSION_MIN_MACOSX; // LC_VERSION_MIN_IPHONEOS + fsm.cmdVERMIN.cmdsize = 4*4; + fsm.cmdVERMIN.version = (10<<16)|(12<<8); + fsm.cmdVERMIN.sdk = fsm.cmdVERMIN.version; + + fsm.cmdSRCVER.cmd = LC_SOURCE_VERSION; + fsm.cmdSRCVER.cmdsize = 4*4; + fsm.cmdSRCVER.version = 0; + fsm.cmdSRCVER.__pad = 0; + + sz_stub_main = sizeof(fsm); + stub_main = (unsigned char const *)&fsm; + } + break; } } return true; diff --git a/src/p_mach.h b/src/p_mach.h index b7f2daaf..d4b5f203 100644 --- a/src/p_mach.h +++ b/src/p_mach.h @@ -336,6 +336,7 @@ __packed_struct(Mach_source_version_command) Word cmd; // LC_SOURCE_VERSION Word cmdsize; // 16 Word version; + Word __pad; // to 0 mod 8 __packed_struct_end() template diff --git a/src/p_mach_enum.h b/src/p_mach_enum.h index 2ce760aa..c9e6e966 100644 --- a/src/p_mach_enum.h +++ b/src/p_mach_enum.h @@ -45,7 +45,8 @@ enum { // cputype CPU_TYPE_I386 = 7, CPU_TYPE_X86_64 = 0x01000007, - CPU_TYPE_ARM = 12, + CPU_TYPE_ARM = 0x0000000c, + CPU_TYPE_ARM64 = 0x0100000c, CPU_TYPE_POWERPC = 0x00000012, CPU_TYPE_POWERPC64 = 0x01000012, CPU_TYPE_POWERPC64LE = 0x01000021 diff --git a/src/stub/amd64-darwin.macho-entry.h b/src/stub/amd64-darwin.macho-entry.h index 0847ee10..75752a0e 100644 --- a/src/stub/amd64-darwin.macho-entry.h +++ b/src/stub/amd64-darwin.macho-entry.h @@ -1,5 +1,5 @@ /* amd64-darwin.macho-entry.h - created from amd64-darwin.macho-entry.bin, 9461 (0x24f5) bytes + created from amd64-darwin.macho-entry.bin, 10143 (0x279f) bytes This file is part of the UPX executable compressor. @@ -31,601 +31,643 @@ */ -#define STUB_AMD64_DARWIN_MACHO_ENTRY_SIZE 9461 -#define STUB_AMD64_DARWIN_MACHO_ENTRY_ADLER32 0xaefa8e82 -#define STUB_AMD64_DARWIN_MACHO_ENTRY_CRC32 0x36dd9b86 +#define STUB_AMD64_DARWIN_MACHO_ENTRY_SIZE 10143 +#define STUB_AMD64_DARWIN_MACHO_ENTRY_ADLER32 0x72e03f47 +#define STUB_AMD64_DARWIN_MACHO_ENTRY_CRC32 0xfd26a952 -unsigned char stub_amd64_darwin_macho_entry[9461] = { +unsigned char stub_amd64_darwin_macho_entry[10143] = { /* 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, 88, 24, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 8, 25, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0040 */ 76, 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55,253, 94, 86, /* 0x0050 */ 91,235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128,114, 10, 60, /* 0x0060 */ 143,119, 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, /* 0x0070 */ 57,206,115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1, -/* 0x0080 */ 216,171, 72, 57,206,115, 3,172,235,223, 91,195,232, 0, 0, 0, -/* 0x0090 */ 0, 85, 83, 81, 82, 72, 1,254, 86, 72,137,254, 72,137,215, 49, -/* 0x00a0 */ 219, 49,201, 72,131,205,255,232, 81, 0, 0, 0, 1,219,116, 2, -/* 0x00b0 */ 243,195,139, 30, 72,131,238,252, 17,219,138, 22,243,195, 72,141, -/* 0x00c0 */ 4, 47,131,249, 5,138, 16,118, 33, 72,131,253,252,119, 27,131, -/* 0x00d0 */ 233, 4,139, 16, 72,131,192, 4,131,233, 4,137, 23, 72,141,127, -/* 0x00e0 */ 4,115,239,131,193, 4,138, 16,116, 17, 72,131,192, 1,136, 23, -/* 0x00f0 */ 131,233, 1,138, 16, 72,141,127, 1,117,239,243,195,252, 65, 91, -/* 0x0100 */ 65,128,248, 8,116, 13,233,172, 0, 0, 0, 72,255,198,136, 23, -/* 0x0110 */ 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131,238,252, 17, -/* 0x0120 */ 219,138, 22,114,230,141, 65, 1,235, 7,255,200, 65,255,211, 17, -/* 0x0130 */ 192, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238,252, -/* 0x0140 */ 17,219,138, 22,115,228,131,232, 3,114, 29,193,224, 8, 15,182, -/* 0x0150 */ 210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0,209, -/* 0x0160 */ 248, 72, 99,232,114, 56,235, 14, 1,219,117, 8,139, 30, 72,131, -/* 0x0170 */ 238,252, 17,219,114, 40,255,193, 1,219,117, 8,139, 30, 72,131, -/* 0x0180 */ 238,252, 17,219,114, 24, 65,255,211, 17,201, 1,219,117, 8,139, -/* 0x0190 */ 30, 72,131,238,252, 17,219,115,237,131,193, 2,235, 5, 65,255, -/* 0x01a0 */ 211, 17,201, 72,129,253, 0,251,255,255,131,209, 2,232, 0, 0, -/* 0x01b0 */ 0, 0,233, 92,255,255,255, 65,128,248, 5,116, 13,233,147, 0, -/* 0x01c0 */ 0, 0, 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10, -/* 0x01d0 */ 139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1,235, -/* 0x01e0 */ 7,255,200, 65,255,211, 17,192, 65,255,211, 17,192, 1,219,117, -/* 0x01f0 */ 10,139, 30, 72,131,238,252, 17,219,138, 22,115,228,131,232, 3, -/* 0x0200 */ 114, 27,193,224, 8, 15,182,210, 9,208, 72,255,198,131,240,255, -/* 0x0210 */ 15,132, 0, 0, 0, 0,209,248, 72, 99,232,235, 3, 65,255,211, -/* 0x0220 */ 17,201, 65,255,211, 17,201,117, 24,255,193, 65,255,211, 17,201, -/* 0x0230 */ 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115,237,131,193, -/* 0x0240 */ 2, 72,129,253, 0,251,255,255,131,209, 1,232, 0, 0, 0, 0, -/* 0x0250 */ 233,117,255,255,255, 65,128,248, 2,116, 13,233,133, 0, 0, 0, -/* 0x0260 */ 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, -/* 0x0270 */ 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1, 65,255,211, -/* 0x0280 */ 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22, -/* 0x0290 */ 115,235,131,232, 3,114, 23,193,224, 8, 15,182,210, 9,208, 72, -/* 0x02a0 */ 255,198,131,240,255, 15,132, 0, 0, 0, 0, 72, 99,232,141, 65, -/* 0x02b0 */ 1, 65,255,211, 17,201, 65,255,211, 17,201,117, 24,137,193,131, -/* 0x02c0 */ 192, 2, 65,255,211, 17,201, 1,219,117, 8,139, 30, 72,131,238, -/* 0x02d0 */ 252, 17,219,115,237, 72,129,253, 0,243,255,255, 17,193,232, 0, -/* 0x02e0 */ 0, 0, 0,235,131, 65,128,248, 14, 15,133, 0, 0, 0, 0, 85, -/* 0x02f0 */ 72,137,229, 68,139, 9, 73,137,208, 72,137,242, 72,141,119, 2, -/* 0x0300 */ 86,138, 7,255,202,136,193, 36, 7,192,233, 3, 72,199,195, 0, -/* 0x0310 */ 253,255,255, 72,211,227,136,193, 72,141,156, 92,136,241,255,255, -/* 0x0320 */ 72,131,227,192,106, 0, 72, 57,220,117,249, 83, 72,141,123, 8, -/* 0x0330 */ 138, 78,255,255,202,136, 71, 2,136,200,192,233, 4,136, 79, 1, -/* 0x0340 */ 36, 15,136, 7, 72,141, 79,252, 80, 65, 87, 72,141, 71, 4, 69, -/* 0x0350 */ 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, 85, 69, 49,237, 65, -/* 0x0360 */ 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, 36,216,184, 1, 0, -/* 0x0370 */ 0, 0, 72,137,116, 36,248, 76,137, 68, 36,232,137,195, 68,137, -/* 0x0380 */ 76, 36,228, 15,182, 79, 2,211,227,137,217, 72,139, 92, 36, 56, -/* 0x0390 */ 255,201,137, 76, 36,212, 15,182, 79, 1,211,224, 72,139, 76, 36, -/* 0x03a0 */ 240,255,200,137, 68, 36,208, 15,182, 7,199, 1, 0, 0, 0, 0, -/* 0x03b0 */ 199, 68, 36,200, 0, 0, 0, 0,199, 68, 36,196, 1, 0, 0, 0, -/* 0x03c0 */ 199, 68, 36,192, 1, 0, 0, 0,199, 68, 36,188, 1, 0, 0, 0, -/* 0x03d0 */ 199, 3, 0, 0, 0, 0,137, 68, 36,204, 15,182, 79, 1, 1,193, -/* 0x03e0 */ 184, 0, 3, 0, 0,211,224, 49,201,141,184, 54, 7, 0, 0, 65, -/* 0x03f0 */ 57,255,115, 19, 72,139, 92, 36,216,137,200,255,193, 57,249,102, -/* 0x0400 */ 199, 4, 67, 0, 4,235,235, 72,139,124, 36,248,137,208, 69, 49, -/* 0x0410 */ 210, 65,131,203,255, 49,210, 73,137,252, 73, 1,196, 76, 57,231, -/* 0x0420 */ 15,132,239, 8, 0, 0, 15,182, 7, 65,193,226, 8,255,194, 72, -/* 0x0430 */ 255,199, 65, 9,194,131,250, 4,126,227, 68, 59,124, 36,228, 15, -/* 0x0440 */ 131,218, 8, 0, 0,139, 68, 36,212, 72, 99, 92, 36,200, 72,139, -/* 0x0450 */ 84, 36,216, 68, 33,248,137, 68, 36,184, 72, 99,108, 36,184, 72, -/* 0x0460 */ 137,216, 72,193,224, 4, 72, 1,232, 65,129,251,255,255,255, 0, -/* 0x0470 */ 76,141, 12, 66,119, 26, 76, 57,231, 15,132,150, 8, 0, 0, 15, -/* 0x0480 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x0490 */ 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x04a0 */ 65, 57,194, 15,131,197, 1, 0, 0, 65,137,195,184, 0, 8, 0, -/* 0x04b0 */ 0, 72,139, 92, 36,216, 41,200, 15,182, 76, 36,204,190, 1, 0, -/* 0x04c0 */ 0, 0,193,248, 5,141, 4, 2, 65, 15,182,213,102, 65,137, 1, -/* 0x04d0 */ 139, 68, 36,208, 68, 33,248,211,224,185, 8, 0, 0, 0, 43, 76, -/* 0x04e0 */ 36,204,211,250, 1,208,105,192, 0, 3, 0, 0,131,124, 36,200, -/* 0x04f0 */ 6,137,192, 76,141,140, 67,108, 14, 0, 0, 15,142,184, 0, 0, -/* 0x0500 */ 0, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 15,182, 44, 2, -/* 0x0510 */ 1,237, 72, 99,214,137,235,129,227, 0, 1, 0, 0, 65,129,251, -/* 0x0520 */ 255,255,255, 0, 72, 99,195, 73,141, 4, 65, 76,141, 4, 80,119, -/* 0x0530 */ 26, 76, 57,231, 15,132,219, 7, 0, 0, 15,182, 7, 65,193,226, -/* 0x0540 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183,144, 0, -/* 0x0550 */ 2, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x0560 */ 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200, -/* 0x0570 */ 193,248, 5,133,219,141, 4, 2,102, 65,137,128, 0, 2, 0, 0, -/* 0x0580 */ 116, 33,235, 45, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, -/* 0x0590 */ 141,116, 54, 1,102, 41,194,133,219,102, 65,137,144, 0, 2, 0, -/* 0x05a0 */ 0,116, 14,129,254,255, 0, 0, 0, 15,142, 97,255,255,255,235, -/* 0x05b0 */ 120,129,254,255, 0, 0, 0,127,112, 72, 99,198, 65,129,251,255, -/* 0x05c0 */ 255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132, 67, 7, -/* 0x05d0 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, -/* 0x05e0 */ 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, -/* 0x05f0 */ 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, -/* 0x0600 */ 1,246, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235,161, -/* 0x0610 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1, -/* 0x0620 */ 102, 41,194,102, 65,137, 16,235,136, 72,139, 76, 36,232, 68,137, -/* 0x0630 */ 248, 65,255,199, 65,137,245, 64,136, 52, 1,131,124, 36,200, 3, -/* 0x0640 */ 127, 13,199, 68, 36,200, 0, 0, 0, 0,233,166, 6, 0, 0,139, -/* 0x0650 */ 84, 36,200,139, 68, 36,200,131,234, 3,131,232, 6,131,124, 36, -/* 0x0660 */ 200, 9, 15, 79,208,137, 84, 36,200,233,135, 6, 0, 0, 65, 41, -/* 0x0670 */ 195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 72,139, 68, -/* 0x0680 */ 36,216, 65,129,251,255,255,255, 0,102, 65,137, 17, 72,141, 52, -/* 0x0690 */ 88,119, 26, 76, 57,231, 15,132,121, 6, 0, 0, 15,182, 7, 65, -/* 0x06a0 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, -/* 0x06b0 */ 128, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x06c0 */ 65, 57,194,115, 78, 65,137,195,184, 0, 8, 0, 0, 76,139, 76, -/* 0x06d0 */ 36,216, 41,200,139, 76, 36,196, 68,137,116, 36,196,193,248, 5, -/* 0x06e0 */ 141, 4, 2,139, 84, 36,192,137, 76, 36,192,102,137,134,128, 1, -/* 0x06f0 */ 0, 0, 49,192,131,124, 36,200, 6,137, 84, 36,188, 15,159,192, -/* 0x0700 */ 73,129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36,200,233, 84, -/* 0x0710 */ 2, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, -/* 0x0720 */ 41,194, 65,129,251,255,255,255, 0,102,137,150,128, 1, 0, 0, -/* 0x0730 */ 119, 26, 76, 57,231, 15,132,218, 5, 0, 0, 15,182, 7, 65,193, -/* 0x0740 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,152, -/* 0x0750 */ 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x0760 */ 57,194, 15,131,208, 0, 0, 0, 65,184, 0, 8, 0, 0, 65,137, -/* 0x0770 */ 195, 72,193,227, 5, 68,137,192, 41,200,193,248, 5,141, 4, 2, -/* 0x0780 */ 102,137,134,152, 1, 0, 0, 72,139, 68, 36,216, 72, 1,216, 65, -/* 0x0790 */ 129,251,255,255,255, 0, 72,141, 52,104,119, 26, 76, 57,231, 15, -/* 0x07a0 */ 132,112, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x07b0 */ 72,255,199, 65, 9,194, 15,183,150,224, 1, 0, 0, 68,137,216, -/* 0x07c0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 79, 65, 41, -/* 0x07d0 */ 200, 65,137,195, 65,193,248, 5, 69,133,255, 66,141, 4, 2,102, -/* 0x07e0 */ 137,134,224, 1, 0, 0, 15,132, 41, 5, 0, 0, 49,192,131,124, -/* 0x07f0 */ 36,200, 6, 72,139, 92, 36,232, 15,159,192,141, 68, 0, 9,137, -/* 0x0800 */ 68, 36,200, 68,137,248, 68, 41,240, 68, 15,182, 44, 3, 68,137, -/* 0x0810 */ 248, 65,255,199, 68,136, 44, 3,233,216, 4, 0, 0, 65, 41,195, -/* 0x0820 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194,102,137,150,224, -/* 0x0830 */ 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, 65, 41,194,137,208, -/* 0x0840 */ 102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137, -/* 0x0850 */ 150,152, 1, 0, 0,119, 26, 76, 57,231, 15,132,181, 4, 0, 0, -/* 0x0860 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, -/* 0x0870 */ 194, 15,183,150,176, 1, 0, 0, 68,137,216,193,232, 11, 15,183, -/* 0x0880 */ 202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, -/* 0x0890 */ 0, 41,200,193,248, 5,141, 4, 2,102,137,134,176, 1, 0, 0, -/* 0x08a0 */ 139, 68, 36,196,233,152, 0, 0, 0, 65, 41,195, 65, 41,194,137, -/* 0x08b0 */ 208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, -/* 0x08c0 */ 137,150,176, 1, 0, 0,119, 26, 76, 57,231, 15,132, 68, 4, 0, -/* 0x08d0 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x08e0 */ 9,194, 15,183,150,200, 1, 0, 0, 68,137,216,193,232, 11, 15, -/* 0x08f0 */ 183,202, 15,175,193, 65, 57,194,115, 29, 65,137,195,184, 0, 8, -/* 0x0900 */ 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134,200, 1, 0, -/* 0x0910 */ 0,139, 68, 36,192,235, 34, 65, 41,195, 65, 41,194,137,208,102, -/* 0x0920 */ 193,232, 5,102, 41,194,139, 68, 36,188,102,137,150,200, 1, 0, -/* 0x0930 */ 0,139, 84, 36,192,137, 84, 36,188,139, 76, 36,196,137, 76, 36, -/* 0x0940 */ 192, 68,137,116, 36,196, 65,137,198, 49,192,131,124, 36,200, 6, -/* 0x0950 */ 76,139, 76, 36,216, 15,159,192, 73,129,193,104, 10, 0, 0,141, -/* 0x0960 */ 68, 64, 8,137, 68, 36,200, 65,129,251,255,255,255, 0,119, 26, -/* 0x0970 */ 76, 57,231, 15,132,156, 3, 0, 0, 15,182, 7, 65,193,226, 8, -/* 0x0980 */ 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137, -/* 0x0990 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 39, 65, -/* 0x09a0 */ 137,195,184, 0, 8, 0, 0, 69, 49,237, 41,200,193,248, 5,141, -/* 0x09b0 */ 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, 72,193,224, 4, 77, -/* 0x09c0 */ 141, 68, 1, 4,235,120, 65, 41,195, 65, 41,194,137,208,102,193, -/* 0x09d0 */ 232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, 65,137, 17, -/* 0x09e0 */ 119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, 15,182, 7, 65,193, -/* 0x09f0 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 81, -/* 0x0a00 */ 2, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, -/* 0x0a10 */ 115, 52, 65,137,195,184, 0, 8, 0, 0, 65,189, 8, 0, 0, 0, -/* 0x0a20 */ 41,200,193,248, 5,141, 4, 2,102, 65,137, 65, 2, 72, 99, 68, -/* 0x0a30 */ 36,184, 72,193,224, 4, 77,141,132, 1, 4, 1, 0, 0, 65,185, -/* 0x0a40 */ 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41,194,137,208,102,193, -/* 0x0a50 */ 232, 5, 77,141,129, 4, 2, 0, 0, 65,189, 16, 0, 0, 0,102, -/* 0x0a60 */ 41,194,102, 65,137, 81, 2, 65,185, 8, 0, 0, 0, 68,137,203, -/* 0x0a70 */ 189, 1, 0, 0, 0, 72, 99,197, 65,129,251,255,255,255, 0, 73, -/* 0x0a80 */ 141, 52, 64,119, 26, 76, 57,231, 15,132,135, 2, 0, 0, 15,182, -/* 0x0a90 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, -/* 0x0aa0 */ 183, 14, 68,137,216,193,232, 11, 15,183,209, 15,175,194, 65, 57, -/* 0x0ab0 */ 194,115, 23, 65,137,195,184, 0, 8, 0, 0, 1,237, 41,208,193, -/* 0x0ac0 */ 248, 5,141, 4, 1,102,137, 6,235, 22, 65, 41,195, 65, 41,194, -/* 0x0ad0 */ 137,200,102,193,232, 5,141,108, 45, 1,102, 41,193,102,137, 14, -/* 0x0ae0 */ 255,203,117,145,184, 1, 0, 0, 0, 68,137,201,211,224, 41,197, -/* 0x0af0 */ 68, 1,237,131,124, 36,200, 3, 15,143,194, 1, 0, 0,131, 68, -/* 0x0b00 */ 36,200, 7,184, 3, 0, 0, 0,131,253, 4, 15, 76,197, 72,139, -/* 0x0b10 */ 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, 72,193,224, 7, 76, -/* 0x0b20 */ 141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, 0, 73, 99,192, 65, -/* 0x0b30 */ 129,251,255,255,255, 0, 73,141, 52, 65,119, 26, 76, 57,231, 15, -/* 0x0b40 */ 132,208, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x0b50 */ 72,255,199, 65, 9,194, 15,183, 22, 68,137,216,193,232, 11, 15, -/* 0x0b60 */ 183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, -/* 0x0b70 */ 0, 0, 69, 1,192, 41,200,193,248, 5,141, 4, 2,102,137, 6, -/* 0x0b80 */ 235, 23, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 71,141, -/* 0x0b90 */ 68, 0, 1,102, 41,194,102,137, 22,255,203,117,143, 65,131,232, -/* 0x0ba0 */ 64, 65,131,248, 3, 69,137,198, 15,142, 13, 1, 0, 0, 65,131, -/* 0x0bb0 */ 230, 1, 68,137,192,209,248, 65,131,206, 2, 65,131,248, 13,141, -/* 0x0bc0 */ 112,255,127, 35,137,241, 72,139, 92, 36,216, 73, 99,192, 65,211, -/* 0x0bd0 */ 230, 72, 1,192, 68,137,242, 72,141, 20, 83, 72, 41,194, 76,141, -/* 0x0be0 */ 138, 94, 5, 0, 0,235, 81,141,112,251, 65,129,251,255,255,255, -/* 0x0bf0 */ 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, 0, 15,182, 7, 65, -/* 0x0c00 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65,209,235, -/* 0x0c10 */ 69, 1,246, 69, 57,218,114, 7, 69, 41,218, 65,131,206, 1,255, -/* 0x0c20 */ 206,117,199, 76,139, 76, 36,216, 65,193,230, 4,190, 4, 0, 0, -/* 0x0c30 */ 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, 0, 0, 0,187, 1, -/* 0x0c40 */ 0, 0, 0, 72, 99,195, 65,129,251,255,255,255, 0, 77,141, 4, -/* 0x0c50 */ 65,119, 26, 76, 57,231, 15,132,185, 0, 0, 0, 15,182, 7, 65, -/* 0x0c60 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, -/* 0x0c70 */ 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, -/* 0x0c80 */ 115, 24, 65,137,195,184, 0, 8, 0, 0, 1,219, 41,200,193,248, -/* 0x0c90 */ 5,141, 4, 2,102, 65,137, 0,235, 26, 65, 41,195, 65, 41,194, -/* 0x0ca0 */ 137,208,102,193,232, 5,141, 92, 27, 1, 69, 9,238,102, 41,194, -/* 0x0cb0 */ 102, 65,137, 16, 69, 1,237,255,206,117,136, 65,255,198,116, 64, -/* 0x0cc0 */ 131,197, 2, 69, 57,254,119, 77, 72,139, 84, 36,232, 68,137,248, -/* 0x0cd0 */ 68, 41,240, 68, 15,182, 44, 2, 68,137,248, 65,255,199,255,205, -/* 0x0ce0 */ 68,136, 44, 2, 15,149,194, 49,192, 68, 59,124, 36,228, 15,146, -/* 0x0cf0 */ 192,133,194,117,211, 68, 59,124, 36,228, 15,130, 69,247,255,255, -/* 0x0d00 */ 65,129,251,255,255,255, 0,119, 22, 76, 57,231,184, 1, 0, 0, -/* 0x0d10 */ 0,116, 35,235, 7,184, 1, 0, 0, 0,235, 26, 72,255,199,137, -/* 0x0d20 */ 248, 43, 68, 36,248, 72,139, 76, 36,240, 72,139, 92, 36, 56,137, -/* 0x0d30 */ 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, -/* 0x0d40 */ 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, -/* 0x0d50 */ 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72,137, 76, 36,240, 72, -/* 0x0d60 */ 137, 68, 36,216,184, 1, 0, 0, 0, 72,137,116, 36,248, 76,137, -/* 0x0d70 */ 68, 36,232,137,195, 68,137, 76, 36,228, 15,182, 79, 2,211,227, -/* 0x0d80 */ 137,217, 72,139, 92, 36, 56,255,201,137, 76, 36,212, 15,182, 79, -/* 0x0d90 */ 1,211,224, 72,139, 76, 36,240,255,200,137, 68, 36,208, 15,182, -/* 0x0da0 */ 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, -/* 0x0db0 */ 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, -/* 0x0dc0 */ 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36, -/* 0x0dd0 */ 204, 15,182, 79, 1, 1,193,184, 0, 3, 0, 0,211,224, 49,201, -/* 0x0de0 */ 141,184, 54, 7, 0, 0, 65, 57,255,115, 19, 72,139, 92, 36,216, -/* 0x0df0 */ 137,200,255,193, 57,249,102,199, 4, 67, 0, 4,235,235, 72,139, -/* 0x0e00 */ 124, 36,248,137,208, 69, 49,210, 65,131,203,255, 49,210, 73,137, -/* 0x0e10 */ 252, 73, 1,196, 76, 57,231, 15,132,239, 8, 0, 0, 15,182, 7, -/* 0x0e20 */ 65,193,226, 8,255,194, 72,255,199, 65, 9,194,131,250, 4,126, -/* 0x0e30 */ 227, 68, 59,124, 36,228, 15,131,218, 8, 0, 0,139, 68, 36,212, -/* 0x0e40 */ 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, 33,248,137, 68, 36, -/* 0x0e50 */ 184, 72, 99,108, 36,184, 72,137,216, 72,193,224, 4, 72, 1,232, -/* 0x0e60 */ 65,129,251,255,255,255, 0, 76,141, 12, 66,119, 26, 76, 57,231, -/* 0x0e70 */ 15,132,150, 8, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, -/* 0x0e80 */ 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, -/* 0x0e90 */ 11, 15,183,202, 15,175,193, 65, 57,194, 15,131,197, 1, 0, 0, -/* 0x0ea0 */ 65,137,195,184, 0, 8, 0, 0, 72,139, 92, 36,216, 41,200, 15, -/* 0x0eb0 */ 182, 76, 36,204,190, 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, -/* 0x0ec0 */ 15,182,213,102, 65,137, 1,139, 68, 36,208, 68, 33,248,211,224, -/* 0x0ed0 */ 185, 8, 0, 0, 0, 43, 76, 36,204,211,250, 1,208,105,192, 0, -/* 0x0ee0 */ 3, 0, 0,131,124, 36,200, 6,137,192, 76,141,140, 67,108, 14, -/* 0x0ef0 */ 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, 36,232, 68,137,248, -/* 0x0f00 */ 68, 41,240, 15,182, 44, 2, 1,237, 72, 99,214,137,235,129,227, -/* 0x0f10 */ 0, 1, 0, 0, 65,129,251,255,255,255, 0, 72, 99,195, 73,141, -/* 0x0f20 */ 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, 15,132,219, 7, 0, -/* 0x0f30 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x0f40 */ 9,194, 65, 15,183,144, 0, 2, 0, 0, 68,137,216,193,232, 11, -/* 0x0f50 */ 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, -/* 0x0f60 */ 8, 0, 0, 1,246, 41,200,193,248, 5,133,219,141, 4, 2,102, -/* 0x0f70 */ 65,137,128, 0, 2, 0, 0,116, 33,235, 45, 65, 41,195, 65, 41, -/* 0x0f80 */ 194,137,208,102,193,232, 5,141,116, 54, 1,102, 41,194,133,219, -/* 0x0f90 */ 102, 65,137,144, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, -/* 0x0fa0 */ 15,142, 97,255,255,255,235,120,129,254,255, 0, 0, 0,127,112, -/* 0x0fb0 */ 72, 99,198, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, -/* 0x0fc0 */ 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, -/* 0x0fd0 */ 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137, -/* 0x0fe0 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65, -/* 0x0ff0 */ 137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,141, 4, -/* 0x1000 */ 2,102, 65,137, 0,235,161, 65, 41,195, 65, 41,194,137,208,102, -/* 0x1010 */ 193,232, 5,141,116, 54, 1,102, 41,194,102, 65,137, 16,235,136, -/* 0x1020 */ 72,139, 76, 36,232, 68,137,248, 65,255,199, 65,137,245, 64,136, -/* 0x1030 */ 52, 1,131,124, 36,200, 3,127, 13,199, 68, 36,200, 0, 0, 0, -/* 0x1040 */ 0,233,166, 6, 0, 0,139, 84, 36,200,139, 68, 36,200,131,234, -/* 0x1050 */ 3,131,232, 6,131,124, 36,200, 9, 15, 79,208,137, 84, 36,200, -/* 0x1060 */ 233,135, 6, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, -/* 0x1070 */ 5,102, 41,194, 72,139, 68, 36,216, 65,129,251,255,255,255, 0, -/* 0x1080 */ 102, 65,137, 17, 72,141, 52, 88,119, 26, 76, 57,231, 15,132,121, -/* 0x1090 */ 6, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x10a0 */ 199, 65, 9,194, 15,183,150,128, 1, 0, 0, 68,137,216,193,232, -/* 0x10b0 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 78, 65,137,195,184, -/* 0x10c0 */ 0, 8, 0, 0, 76,139, 76, 36,216, 41,200,139, 76, 36,196, 68, -/* 0x10d0 */ 137,116, 36,196,193,248, 5,141, 4, 2,139, 84, 36,192,137, 76, -/* 0x10e0 */ 36,192,102,137,134,128, 1, 0, 0, 49,192,131,124, 36,200, 6, -/* 0x10f0 */ 137, 84, 36,188, 15,159,192, 73,129,193,100, 6, 0, 0,141, 4, -/* 0x1100 */ 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, 41,195, 65, 41,194, -/* 0x1110 */ 137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0, -/* 0x1120 */ 102,137,150,128, 1, 0, 0,119, 26, 76, 57,231, 15,132,218, 5, -/* 0x1130 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, -/* 0x1140 */ 65, 9,194, 15,183,150,152, 1, 0, 0, 68,137,216,193,232, 11, -/* 0x1150 */ 15,183,202, 15,175,193, 65, 57,194, 15,131,208, 0, 0, 0, 65, -/* 0x1160 */ 184, 0, 8, 0, 0, 65,137,195, 72,193,227, 5, 68,137,192, 41, -/* 0x1170 */ 200,193,248, 5,141, 4, 2,102,137,134,152, 1, 0, 0, 72,139, -/* 0x1180 */ 68, 36,216, 72, 1,216, 65,129,251,255,255,255, 0, 72,141, 52, -/* 0x1190 */ 104,119, 26, 76, 57,231, 15,132,112, 5, 0, 0, 15,182, 7, 65, -/* 0x11a0 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, -/* 0x11b0 */ 224, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x11c0 */ 65, 57,194,115, 79, 65, 41,200, 65,137,195, 65,193,248, 5, 69, -/* 0x11d0 */ 133,255, 66,141, 4, 2,102,137,134,224, 1, 0, 0, 15,132, 41, -/* 0x11e0 */ 5, 0, 0, 49,192,131,124, 36,200, 6, 72,139, 92, 36,232, 15, -/* 0x11f0 */ 159,192,141, 68, 0, 9,137, 68, 36,200, 68,137,248, 68, 41,240, -/* 0x1200 */ 68, 15,182, 44, 3, 68,137,248, 65,255,199, 68,136, 44, 3,233, -/* 0x1210 */ 216, 4, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, -/* 0x1220 */ 102, 41,194,102,137,150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, -/* 0x1230 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129, -/* 0x1240 */ 251,255,255,255, 0,102,137,150,152, 1, 0, 0,119, 26, 76, 57, -/* 0x1250 */ 231, 15,132,181, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, -/* 0x1260 */ 227, 8, 72,255,199, 65, 9,194, 15,183,150,176, 1, 0, 0, 68, -/* 0x1270 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, -/* 0x1280 */ 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2, -/* 0x1290 */ 102,137,134,176, 1, 0, 0,139, 68, 36,196,233,152, 0, 0, 0, -/* 0x12a0 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65, -/* 0x12b0 */ 129,251,255,255,255, 0,102,137,150,176, 1, 0, 0,119, 26, 76, -/* 0x12c0 */ 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x12d0 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,200, 1, 0, 0, -/* 0x12e0 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, -/* 0x12f0 */ 29, 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, -/* 0x1300 */ 2,102,137,134,200, 1, 0, 0,139, 68, 36,192,235, 34, 65, 41, -/* 0x1310 */ 195, 65, 41,194,137,208,102,193,232, 5,102, 41,194,139, 68, 36, -/* 0x1320 */ 188,102,137,150,200, 1, 0, 0,139, 84, 36,192,137, 84, 36,188, -/* 0x1330 */ 139, 76, 36,196,137, 76, 36,192, 68,137,116, 36,196, 65,137,198, -/* 0x1340 */ 49,192,131,124, 36,200, 6, 76,139, 76, 36,216, 15,159,192, 73, -/* 0x1350 */ 129,193,104, 10, 0, 0,141, 68, 64, 8,137, 68, 36,200, 65,129, -/* 0x1360 */ 251,255,255,255, 0,119, 26, 76, 57,231, 15,132,156, 3, 0, 0, -/* 0x1370 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, -/* 0x1380 */ 194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175, -/* 0x1390 */ 193, 65, 57,194,115, 39, 65,137,195,184, 0, 8, 0, 0, 69, 49, -/* 0x13a0 */ 237, 41,200,193,248, 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, -/* 0x13b0 */ 36,184, 72,193,224, 4, 77,141, 68, 1, 4,235,120, 65, 41,195, -/* 0x13c0 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255, -/* 0x13d0 */ 255,255, 0,102, 65,137, 17,119, 26, 76, 57,231, 15,132, 42, 3, -/* 0x13e0 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, -/* 0x13f0 */ 65, 9,194, 65, 15,183, 81, 2, 68,137,216,193,232, 11, 15,183, -/* 0x1400 */ 202, 15,175,193, 65, 57,194,115, 52, 65,137,195,184, 0, 8, 0, -/* 0x1410 */ 0, 65,189, 8, 0, 0, 0, 41,200,193,248, 5,141, 4, 2,102, -/* 0x1420 */ 65,137, 65, 2, 72, 99, 68, 36,184, 72,193,224, 4, 77,141,132, -/* 0x1430 */ 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, -/* 0x1440 */ 65, 41,194,137,208,102,193,232, 5, 77,141,129, 4, 2, 0, 0, -/* 0x1450 */ 65,189, 16, 0, 0, 0,102, 41,194,102, 65,137, 81, 2, 65,185, -/* 0x1460 */ 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, 0, 72, 99,197, 65, -/* 0x1470 */ 129,251,255,255,255, 0, 73,141, 52, 64,119, 26, 76, 57,231, 15, -/* 0x1480 */ 132,135, 2, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x1490 */ 72,255,199, 65, 9,194, 15,183, 14, 68,137,216,193,232, 11, 15, -/* 0x14a0 */ 183,209, 15,175,194, 65, 57,194,115, 23, 65,137,195,184, 0, 8, -/* 0x14b0 */ 0, 0, 1,237, 41,208,193,248, 5,141, 4, 1,102,137, 6,235, -/* 0x14c0 */ 22, 65, 41,195, 65, 41,194,137,200,102,193,232, 5,141,108, 45, -/* 0x14d0 */ 1,102, 41,193,102,137, 14,255,203,117,145,184, 1, 0, 0, 0, -/* 0x14e0 */ 68,137,201,211,224, 41,197, 68, 1,237,131,124, 36,200, 3, 15, -/* 0x14f0 */ 143,194, 1, 0, 0,131, 68, 36,200, 7,184, 3, 0, 0, 0,131, -/* 0x1500 */ 253, 4, 15, 76,197, 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, -/* 0x1510 */ 72,152, 72,193,224, 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, -/* 0x1520 */ 0, 0, 0, 73, 99,192, 65,129,251,255,255,255, 0, 73,141, 52, -/* 0x1530 */ 65,119, 26, 76, 57,231, 15,132,208, 1, 0, 0, 15,182, 7, 65, -/* 0x1540 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 22, -/* 0x1550 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, -/* 0x1560 */ 24, 65,137,195,184, 0, 8, 0, 0, 69, 1,192, 41,200,193,248, -/* 0x1570 */ 5,141, 4, 2,102,137, 6,235, 23, 65, 41,195, 65, 41,194,137, -/* 0x1580 */ 208,102,193,232, 5, 71,141, 68, 0, 1,102, 41,194,102,137, 22, -/* 0x1590 */ 255,203,117,143, 65,131,232, 64, 65,131,248, 3, 69,137,198, 15, -/* 0x15a0 */ 142, 13, 1, 0, 0, 65,131,230, 1, 68,137,192,209,248, 65,131, -/* 0x15b0 */ 206, 2, 65,131,248, 13,141,112,255,127, 35,137,241, 72,139, 92, -/* 0x15c0 */ 36,216, 73, 99,192, 65,211,230, 72, 1,192, 68,137,242, 72,141, -/* 0x15d0 */ 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, 0,235, 81,141,112, -/* 0x15e0 */ 251, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15,132, 25, -/* 0x15f0 */ 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x1600 */ 199, 65, 9,194, 65,209,235, 69, 1,246, 69, 57,218,114, 7, 69, -/* 0x1610 */ 41,218, 65,131,206, 1,255,206,117,199, 76,139, 76, 36,216, 65, -/* 0x1620 */ 193,230, 4,190, 4, 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65, -/* 0x1630 */ 189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, 99,195, 65,129,251, -/* 0x1640 */ 255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132,185, -/* 0x1650 */ 0, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x1660 */ 199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183, -/* 0x1670 */ 202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, -/* 0x1680 */ 0, 1,219, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235, -/* 0x1690 */ 26, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141, 92, 27, -/* 0x16a0 */ 1, 69, 9,238,102, 41,194,102, 65,137, 16, 69, 1,237,255,206, -/* 0x16b0 */ 117,136, 65,255,198,116, 64,131,197, 2, 69, 57,254,119, 77, 72, -/* 0x16c0 */ 139, 84, 36,232, 68,137,248, 68, 41,240, 68, 15,182, 44, 2, 68, -/* 0x16d0 */ 137,248, 65,255,199,255,205, 68,136, 44, 2, 15,149,194, 49,192, -/* 0x16e0 */ 68, 59,124, 36,228, 15,146,192,133,194,117,211, 68, 59,124, 36, -/* 0x16f0 */ 228, 15,130, 69,247,255,255, 65,129,251,255,255,255, 0,119, 22, -/* 0x1700 */ 76, 57,231,184, 1, 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, -/* 0x1710 */ 0,235, 26, 72,255,199,137,248, 43, 68, 36,248, 72,139, 76, 36, -/* 0x1720 */ 240, 72,139, 92, 36, 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, -/* 0x1730 */ 92, 65, 93, 65, 94, 65, 95, 72,139,117,248, 72,139,125, 16,139, -/* 0x1740 */ 75, 4, 72, 1,206,139, 19, 72, 1,215,201, 89, 72,137,240, 72, -/* 0x1750 */ 41,200, 90, 72, 41,215, 89,137, 57, 91, 93,195, 91,139, 75, 4, -/* 0x1760 */ 72,141,116, 25, 11,139, 59, 72,141,188, 31,203, 0, 0, 0,253, -/* 0x1770 */ 243,164, 72,141,147,128, 0, 0, 0, 72,137,222, 72,141,127, 1, -/* 0x1780 */ 82,252,173, 80, 72,137,225,173, 80,173, 68, 15,182,192, 94,255, -/* 0x1790 */ 213, 89, 72,141, 93,247,195, 93,232,191,255,255,255,102,105,108, -/* 0x17a0 */ 101, 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45,120, -/* 0x17b0 */ 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, 58, -/* 0x17c0 */ 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, -/* 0x17d0 */ 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, -/* 0x17e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x17f0 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1800 */ 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, -/* 0x1810 */ 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 65, 77, 68, 54, 52, -/* 0x1820 */ 66, 88, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 52, -/* 0x1830 */ 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1840 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1850 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, -/* 0x1860 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1870 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 77, 65, -/* 0x1880 */ 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1890 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x18a0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x18b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x18c0 */ 56, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x18d0 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x18e0 */ 78, 76, 89, 10, 32, 32, 50, 32, 77, 65, 67, 72, 95, 85, 78, 67, -/* 0x18f0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, 32, -/* 0x1900 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1910 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1920 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 57, 49, 32, 32, 50, 42, -/* 0x1930 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x1940 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 95, 72, -/* 0x1950 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, -/* 0x1960 */ 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1970 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1980 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 57, 57, 32, -/* 0x1990 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x19a0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, -/* 0x19b0 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x19c0 */ 48, 48, 98, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x19f0 */ 48, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1a00 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x1a10 */ 78, 76, 89, 10, 32, 32, 53, 32, 78, 82, 86, 50, 68, 32, 32, 32, -/* 0x1a20 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57,101, 32, 32, -/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a40 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a50 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 98, 55, 32, 32, 50, 42, -/* 0x1a60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x1a70 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x1a80 */ 54, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1a90 */ 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1ac0 */ 48, 48, 48, 50, 53, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1ad0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x1ae0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, -/* 0x1af0 */ 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1b00 */ 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b10 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b20 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, 53, -/* 0x1b30 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1b40 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x1b50 */ 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x1b60 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, 48, -/* 0x1b70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1b80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b90 */ 32, 32, 48, 48, 48, 48, 48, 51, 52, 57, 32, 32, 50, 42, 42, 48, -/* 0x1ba0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x1bb0 */ 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x1bc0 */ 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, -/* 0x1bd0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1be0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1bf0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 52, 48, 32, 32, 50, -/* 0x1c00 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x1c10 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 76, 90, 77, 65, -/* 0x1c20 */ 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1c30 */ 49, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c40 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 51, 55, -/* 0x1c60 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1c70 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 78, -/* 0x1c80 */ 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x1c90 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ca0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x1cc0 */ 55, 52, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1cd0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, -/* 0x1ce0 */ 50, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, -/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 49, 49, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1d00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1d20 */ 48, 48, 49, 55, 52, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1d30 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1d40 */ 10, 32, 49, 51, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 32, 32, -/* 0x1d50 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 52, 49, 32, 32, 48, 48, 48, -/* 0x1d60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1d70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1d80 */ 32, 48, 48, 48, 48, 49, 55, 53, 99, 32, 32, 50, 42, 42, 48, 32, -/* 0x1d90 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x1da0 */ 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, -/* 0x1db0 */ 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1dc0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, -/* 0x1dd0 */ 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1de0 */ 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 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, 76, 90, 77, 65, 95, 68, 69, 67, 51, -/* 0x1e10 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e20 */ 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, -/* 0x1e30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1e40 */ 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, -/* 0x1e50 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e60 */ 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, -/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, -/* 0x1e80 */ 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 9, 48, -/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1ea0 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, -/* 0x1eb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, -/* 0x1ec0 */ 100, 32, 32, 65, 77, 68, 54, 52, 66, 88, 88, 9, 48, 48, 48, 48, -/* 0x1ed0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 77, 68, -/* 0x1ee0 */ 54, 52, 66, 88, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ef0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, -/* 0x1f00 */ 65, 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, -/* 0x1f20 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f30 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, -/* 0x1f40 */ 72, 95, 85, 78, 67, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 95, 85, 78, 67, 10, -/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f70 */ 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, -/* 0x1f80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1f90 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, -/* 0x1fb0 */ 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fc0 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 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, 50, 66, 9, 48, 48, 48, 48, 48, -/* 0x1ff0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, -/* 0x2000 */ 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2010 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, -/* 0x2020 */ 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2030 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, -/* 0x2040 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2050 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, -/* 0x2060 */ 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2070 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x2080 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2090 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, -/* 0x20a0 */ 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20b0 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x20c0 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20d0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, -/* 0x20e0 */ 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20f0 */ 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, -/* 0x2100 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, -/* 0x2110 */ 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, -/* 0x2120 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2130 */ 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 49, 49, 32,103, 32, 32, 32, 32, 32, -/* 0x2150 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, -/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, -/* 0x2170 */ 95,100,101, 99,111,109,112,114,101,115,115, 10, 10, 82, 69, 76, -/* 0x2180 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x2190 */ 70, 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, -/* 0x21a0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x21b0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x21c0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 88, 56, 54, -/* 0x21e0 */ 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, -/* 0x21f0 */ 72, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, -/* 0x2200 */ 48, 48, 48, 48, 48, 48, 48, 51, 55, 10, 10, 82, 69, 76, 79, 67, -/* 0x2210 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, -/* 0x2220 */ 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x2230 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, -/* 0x2240 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x2250 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2260 */ 48, 48, 97,101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, -/* 0x2270 */ 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, -/* 0x2280 */ 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2290 */ 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22a0 */ 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, -/* 0x22b0 */ 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, -/* 0x22c0 */ 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102, -/* 0x22d0 */ 102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, -/* 0x22e0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, -/* 0x22f0 */ 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, -/* 0x2300 */ 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x2310 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x2320 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 53, 32, 82, 95, -/* 0x2330 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, -/* 0x2340 */ 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, -/* 0x2350 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, -/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, -/* 0x2370 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, -/* 0x2380 */ 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102,102, -/* 0x2390 */ 102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, -/* 0x23a0 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x23b0 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, -/* 0x23c0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, -/* 0x23d0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x23e0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x23f0 */ 48, 48, 48, 48, 56, 97, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x2400 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, -/* 0x2410 */ 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2420 */ 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2430 */ 48, 48, 48, 53, 50, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, -/* 0x2440 */ 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, -/* 0x2450 */ 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102, -/* 0x2460 */ 102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x2470 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, -/* 0x2480 */ 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x2490 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, -/* 0x24a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x24b0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x24c0 */ 48, 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, -/* 0x24d0 */ 51, 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, -/* 0x24e0 */ 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x24f0 */ 48, 48, 49, 48, 10 +/* 0x0080 */ 216,171, 72, 57,206,115, 3,172,235,223, 91,195, 72,141, 45, 0, +/* 0x0090 */ 0, 0, 0,139, 69, 0, 72, 41,197, 68,139,165, 0, 0, 0, 0, +/* 0x00a0 */ 72,141,157, 0, 0, 0, 0,129,123, 0, 0, 0, 0, 0,117,127, +/* 0x00b0 */ 129,123, 10, 84, 69, 88, 84,117,102, 41,255, 73,137,249, 76,141, +/* 0x00c0 */ 71,255, 65,186, 2, 16, 0, 0,186, 3, 0, 0, 0, 72,139,115, +/* 0x00d0 */ 32,184,197, 0, 0, 0, 15, 5, 73,137,199, 72,139, 83, 32, 72, +/* 0x00e0 */ 139,179, 0, 0, 0, 0, 72,137,199,232, 38, 0, 0, 0,139, 20, +/* 0x00f0 */ 37, 60, 0, 0, 0, 72,139,115, 32, 72,137,199,184, 74, 0, 0, +/* 0x0100 */ 0, 15, 5, 76, 43,124, 36, 16,232, 2, 0, 0, 0,235, 32, 76, +/* 0x0110 */ 1, 60, 36,195, 72,137,209, 72,193,233, 3,243, 72,165,195, 72, +/* 0x0120 */ 185, 76, 73, 78, 75, 69, 68, 73, 84, 72, 57, 75, 10,117, 0,139, +/* 0x0130 */ 67, 4, 72, 1,195,131,237, 1, 15,133,105,255,255,255,232, 0, +/* 0x0140 */ 0, 0, 0, 85, 83, 81, 82, 72, 1,254, 86, 72,137,254, 72,137, +/* 0x0150 */ 215, 49,219, 49,201, 72,131,205,255,232, 81, 0, 0, 0, 1,219, +/* 0x0160 */ 116, 2,243,195,139, 30, 72,131,238,252, 17,219,138, 22,243,195, +/* 0x0170 */ 72,141, 4, 47,131,249, 5,138, 16,118, 33, 72,131,253,252,119, +/* 0x0180 */ 27,131,233, 4,139, 16, 72,131,192, 4,131,233, 4,137, 23, 72, +/* 0x0190 */ 141,127, 4,115,239,131,193, 4,138, 16,116, 17, 72,131,192, 1, +/* 0x01a0 */ 136, 23,131,233, 1,138, 16, 72,141,127, 1,117,239,243,195,252, +/* 0x01b0 */ 65, 91, 65,128,248, 8,116, 13,233,172, 0, 0, 0, 72,255,198, +/* 0x01c0 */ 136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131,238, +/* 0x01d0 */ 252, 17,219,138, 22,114,230,141, 65, 1,235, 7,255,200, 65,255, +/* 0x01e0 */ 211, 17,192, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72,131, +/* 0x01f0 */ 238,252, 17,219,138, 22,115,228,131,232, 3,114, 29,193,224, 8, +/* 0x0200 */ 15,182,210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, 0, +/* 0x0210 */ 0,209,248, 72, 99,232,114, 56,235, 14, 1,219,117, 8,139, 30, +/* 0x0220 */ 72,131,238,252, 17,219,114, 40,255,193, 1,219,117, 8,139, 30, +/* 0x0230 */ 72,131,238,252, 17,219,114, 24, 65,255,211, 17,201, 1,219,117, +/* 0x0240 */ 8,139, 30, 72,131,238,252, 17,219,115,237,131,193, 2,235, 5, +/* 0x0250 */ 65,255,211, 17,201, 72,129,253, 0,251,255,255,131,209, 2,232, +/* 0x0260 */ 0, 0, 0, 0,233, 92,255,255,255, 65,128,248, 5,116, 13,233, +/* 0x0270 */ 147, 0, 0, 0, 72,255,198,136, 23, 72,255,199,138, 22, 1,219, +/* 0x0280 */ 117, 10,139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, 65, +/* 0x0290 */ 1,235, 7,255,200, 65,255,211, 17,192, 65,255,211, 17,192, 1, +/* 0x02a0 */ 219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,115,228,131, +/* 0x02b0 */ 232, 3,114, 27,193,224, 8, 15,182,210, 9,208, 72,255,198,131, +/* 0x02c0 */ 240,255, 15,132, 0, 0, 0, 0,209,248, 72, 99,232,235, 3, 65, +/* 0x02d0 */ 255,211, 17,201, 65,255,211, 17,201,117, 24,255,193, 65,255,211, +/* 0x02e0 */ 17,201, 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115,237, +/* 0x02f0 */ 131,193, 2, 72,129,253, 0,251,255,255,131,209, 1,232, 0, 0, +/* 0x0300 */ 0, 0,233,117,255,255,255, 65,128,248, 2,116, 13,233,133, 0, +/* 0x0310 */ 0, 0, 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10, +/* 0x0320 */ 139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1, 65, +/* 0x0330 */ 255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219, +/* 0x0340 */ 138, 22,115,235,131,232, 3,114, 23,193,224, 8, 15,182,210, 9, +/* 0x0350 */ 208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0, 72, 99,232, +/* 0x0360 */ 141, 65, 1, 65,255,211, 17,201, 65,255,211, 17,201,117, 24,137, +/* 0x0370 */ 193,131,192, 2, 65,255,211, 17,201, 1,219,117, 8,139, 30, 72, +/* 0x0380 */ 131,238,252, 17,219,115,237, 72,129,253, 0,243,255,255, 17,193, +/* 0x0390 */ 232, 0, 0, 0, 0,235,131, 65,128,248, 14, 15,133, 0, 0, 0, +/* 0x03a0 */ 0, 85, 72,137,229, 68,139, 9, 73,137,208, 72,137,242, 72,141, +/* 0x03b0 */ 119, 2, 86,138, 7,255,202,136,193, 36, 7,192,233, 3, 72,199, +/* 0x03c0 */ 195, 0,253,255,255, 72,211,227,136,193, 72,141,156, 92,136,241, +/* 0x03d0 */ 255,255, 72,131,227,192,106, 0, 72, 57,220,117,249, 83, 72,141, +/* 0x03e0 */ 123, 8,138, 78,255,255,202,136, 71, 2,136,200,192,233, 4,136, +/* 0x03f0 */ 79, 1, 36, 15,136, 7, 72,141, 79,252, 80, 65, 87, 72,141, 71, +/* 0x0400 */ 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, 85, 69, 49, +/* 0x0410 */ 237, 65, 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, 36,216,184, +/* 0x0420 */ 1, 0, 0, 0, 72,137,116, 36,248, 76,137, 68, 36,232,137,195, +/* 0x0430 */ 68,137, 76, 36,228, 15,182, 79, 2,211,227,137,217, 72,139, 92, +/* 0x0440 */ 36, 56,255,201,137, 76, 36,212, 15,182, 79, 1,211,224, 72,139, +/* 0x0450 */ 76, 36,240,255,200,137, 68, 36,208, 15,182, 7,199, 1, 0, 0, +/* 0x0460 */ 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, 68, 36,196, 1, 0, +/* 0x0470 */ 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, 68, 36,188, 1, 0, +/* 0x0480 */ 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36,204, 15,182, 79, 1, +/* 0x0490 */ 1,193,184, 0, 3, 0, 0,211,224, 49,201,141,184, 54, 7, 0, +/* 0x04a0 */ 0, 65, 57,255,115, 19, 72,139, 92, 36,216,137,200,255,193, 57, +/* 0x04b0 */ 249,102,199, 4, 67, 0, 4,235,235, 72,139,124, 36,248,137,208, +/* 0x04c0 */ 69, 49,210, 65,131,203,255, 49,210, 73,137,252, 73, 1,196, 76, +/* 0x04d0 */ 57,231, 15,132,239, 8, 0, 0, 15,182, 7, 65,193,226, 8,255, +/* 0x04e0 */ 194, 72,255,199, 65, 9,194,131,250, 4,126,227, 68, 59,124, 36, +/* 0x04f0 */ 228, 15,131,218, 8, 0, 0,139, 68, 36,212, 72, 99, 92, 36,200, +/* 0x0500 */ 72,139, 84, 36,216, 68, 33,248,137, 68, 36,184, 72, 99,108, 36, +/* 0x0510 */ 184, 72,137,216, 72,193,224, 4, 72, 1,232, 65,129,251,255,255, +/* 0x0520 */ 255, 0, 76,141, 12, 66,119, 26, 76, 57,231, 15,132,150, 8, 0, +/* 0x0530 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x0540 */ 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x0550 */ 175,193, 65, 57,194, 15,131,197, 1, 0, 0, 65,137,195,184, 0, +/* 0x0560 */ 8, 0, 0, 72,139, 92, 36,216, 41,200, 15,182, 76, 36,204,190, +/* 0x0570 */ 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, 15,182,213,102, 65, +/* 0x0580 */ 137, 1,139, 68, 36,208, 68, 33,248,211,224,185, 8, 0, 0, 0, +/* 0x0590 */ 43, 76, 36,204,211,250, 1,208,105,192, 0, 3, 0, 0,131,124, +/* 0x05a0 */ 36,200, 6,137,192, 76,141,140, 67,108, 14, 0, 0, 15,142,184, +/* 0x05b0 */ 0, 0, 0, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 15,182, +/* 0x05c0 */ 44, 2, 1,237, 72, 99,214,137,235,129,227, 0, 1, 0, 0, 65, +/* 0x05d0 */ 129,251,255,255,255, 0, 72, 99,195, 73,141, 4, 65, 76,141, 4, +/* 0x05e0 */ 80,119, 26, 76, 57,231, 15,132,219, 7, 0, 0, 15,182, 7, 65, +/* 0x05f0 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, +/* 0x0600 */ 144, 0, 2, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175, +/* 0x0610 */ 193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 1,246, +/* 0x0620 */ 41,200,193,248, 5,133,219,141, 4, 2,102, 65,137,128, 0, 2, +/* 0x0630 */ 0, 0,116, 33,235, 45, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x0640 */ 232, 5,141,116, 54, 1,102, 41,194,133,219,102, 65,137,144, 0, +/* 0x0650 */ 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, 97,255,255, +/* 0x0660 */ 255,235,120,129,254,255, 0, 0, 0,127,112, 72, 99,198, 65,129, +/* 0x0670 */ 251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132, +/* 0x0680 */ 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, +/* 0x0690 */ 255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15, +/* 0x06a0 */ 183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, +/* 0x06b0 */ 0, 0, 1,246, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0, +/* 0x06c0 */ 235,161, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, +/* 0x06d0 */ 54, 1,102, 41,194,102, 65,137, 16,235,136, 72,139, 76, 36,232, +/* 0x06e0 */ 68,137,248, 65,255,199, 65,137,245, 64,136, 52, 1,131,124, 36, +/* 0x06f0 */ 200, 3,127, 13,199, 68, 36,200, 0, 0, 0, 0,233,166, 6, 0, +/* 0x0700 */ 0,139, 84, 36,200,139, 68, 36,200,131,234, 3,131,232, 6,131, +/* 0x0710 */ 124, 36,200, 9, 15, 79,208,137, 84, 36,200,233,135, 6, 0, 0, +/* 0x0720 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 72, +/* 0x0730 */ 139, 68, 36,216, 65,129,251,255,255,255, 0,102, 65,137, 17, 72, +/* 0x0740 */ 141, 52, 88,119, 26, 76, 57,231, 15,132,121, 6, 0, 0, 15,182, +/* 0x0750 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, +/* 0x0760 */ 183,150,128, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x0770 */ 175,193, 65, 57,194,115, 78, 65,137,195,184, 0, 8, 0, 0, 76, +/* 0x0780 */ 139, 76, 36,216, 41,200,139, 76, 36,196, 68,137,116, 36,196,193, +/* 0x0790 */ 248, 5,141, 4, 2,139, 84, 36,192,137, 76, 36,192,102,137,134, +/* 0x07a0 */ 128, 1, 0, 0, 49,192,131,124, 36,200, 6,137, 84, 36,188, 15, +/* 0x07b0 */ 159,192, 73,129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36,200, +/* 0x07c0 */ 233, 84, 2, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, +/* 0x07d0 */ 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,128, 1, +/* 0x07e0 */ 0, 0,119, 26, 76, 57,231, 15,132,218, 5, 0, 0, 15,182, 7, +/* 0x07f0 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, +/* 0x0800 */ 150,152, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175, +/* 0x0810 */ 193, 65, 57,194, 15,131,208, 0, 0, 0, 65,184, 0, 8, 0, 0, +/* 0x0820 */ 65,137,195, 72,193,227, 5, 68,137,192, 41,200,193,248, 5,141, +/* 0x0830 */ 4, 2,102,137,134,152, 1, 0, 0, 72,139, 68, 36,216, 72, 1, +/* 0x0840 */ 216, 65,129,251,255,255,255, 0, 72,141, 52,104,119, 26, 76, 57, +/* 0x0850 */ 231, 15,132,112, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x0860 */ 227, 8, 72,255,199, 65, 9,194, 15,183,150,224, 1, 0, 0, 68, +/* 0x0870 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 79, +/* 0x0880 */ 65, 41,200, 65,137,195, 65,193,248, 5, 69,133,255, 66,141, 4, +/* 0x0890 */ 2,102,137,134,224, 1, 0, 0, 15,132, 41, 5, 0, 0, 49,192, +/* 0x08a0 */ 131,124, 36,200, 6, 72,139, 92, 36,232, 15,159,192,141, 68, 0, +/* 0x08b0 */ 9,137, 68, 36,200, 68,137,248, 68, 41,240, 68, 15,182, 44, 3, +/* 0x08c0 */ 68,137,248, 65,255,199, 68,136, 44, 3,233,216, 4, 0, 0, 65, +/* 0x08d0 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194,102,137, +/* 0x08e0 */ 150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, 65, 41,194, +/* 0x08f0 */ 137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0, +/* 0x0900 */ 102,137,150,152, 1, 0, 0,119, 26, 76, 57,231, 15,132,181, 4, +/* 0x0910 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, +/* 0x0920 */ 65, 9,194, 15,183,150,176, 1, 0, 0, 68,137,216,193,232, 11, +/* 0x0930 */ 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, +/* 0x0940 */ 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134,176, 1, +/* 0x0950 */ 0, 0,139, 68, 36,196,233,152, 0, 0, 0, 65, 41,195, 65, 41, +/* 0x0960 */ 194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, +/* 0x0970 */ 0,102,137,150,176, 1, 0, 0,119, 26, 76, 57,231, 15,132, 68, +/* 0x0980 */ 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, +/* 0x0990 */ 199, 65, 9,194, 15,183,150,200, 1, 0, 0, 68,137,216,193,232, +/* 0x09a0 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 29, 65,137,195,184, +/* 0x09b0 */ 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134,200, +/* 0x09c0 */ 1, 0, 0,139, 68, 36,192,235, 34, 65, 41,195, 65, 41,194,137, +/* 0x09d0 */ 208,102,193,232, 5,102, 41,194,139, 68, 36,188,102,137,150,200, +/* 0x09e0 */ 1, 0, 0,139, 84, 36,192,137, 84, 36,188,139, 76, 36,196,137, +/* 0x09f0 */ 76, 36,192, 68,137,116, 36,196, 65,137,198, 49,192,131,124, 36, +/* 0x0a00 */ 200, 6, 76,139, 76, 36,216, 15,159,192, 73,129,193,104, 10, 0, +/* 0x0a10 */ 0,141, 68, 64, 8,137, 68, 36,200, 65,129,251,255,255,255, 0, +/* 0x0a20 */ 119, 26, 76, 57,231, 15,132,156, 3, 0, 0, 15,182, 7, 65,193, +/* 0x0a30 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, +/* 0x0a40 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, +/* 0x0a50 */ 39, 65,137,195,184, 0, 8, 0, 0, 69, 49,237, 41,200,193,248, +/* 0x0a60 */ 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, 72,193,224, +/* 0x0a70 */ 4, 77,141, 68, 1, 4,235,120, 65, 41,195, 65, 41,194,137,208, +/* 0x0a80 */ 102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, 65, +/* 0x0a90 */ 137, 17,119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, 15,182, 7, +/* 0x0aa0 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15, +/* 0x0ab0 */ 183, 81, 2, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, +/* 0x0ac0 */ 57,194,115, 52, 65,137,195,184, 0, 8, 0, 0, 65,189, 8, 0, +/* 0x0ad0 */ 0, 0, 41,200,193,248, 5,141, 4, 2,102, 65,137, 65, 2, 72, +/* 0x0ae0 */ 99, 68, 36,184, 72,193,224, 4, 77,141,132, 1, 4, 1, 0, 0, +/* 0x0af0 */ 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41,194,137,208, +/* 0x0b00 */ 102,193,232, 5, 77,141,129, 4, 2, 0, 0, 65,189, 16, 0, 0, +/* 0x0b10 */ 0,102, 41,194,102, 65,137, 81, 2, 65,185, 8, 0, 0, 0, 68, +/* 0x0b20 */ 137,203,189, 1, 0, 0, 0, 72, 99,197, 65,129,251,255,255,255, +/* 0x0b30 */ 0, 73,141, 52, 64,119, 26, 76, 57,231, 15,132,135, 2, 0, 0, +/* 0x0b40 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, +/* 0x0b50 */ 194, 15,183, 14, 68,137,216,193,232, 11, 15,183,209, 15,175,194, +/* 0x0b60 */ 65, 57,194,115, 23, 65,137,195,184, 0, 8, 0, 0, 1,237, 41, +/* 0x0b70 */ 208,193,248, 5,141, 4, 1,102,137, 6,235, 22, 65, 41,195, 65, +/* 0x0b80 */ 41,194,137,200,102,193,232, 5,141,108, 45, 1,102, 41,193,102, +/* 0x0b90 */ 137, 14,255,203,117,145,184, 1, 0, 0, 0, 68,137,201,211,224, +/* 0x0ba0 */ 41,197, 68, 1,237,131,124, 36,200, 3, 15,143,194, 1, 0, 0, +/* 0x0bb0 */ 131, 68, 36,200, 7,184, 3, 0, 0, 0,131,253, 4, 15, 76,197, +/* 0x0bc0 */ 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, 72,193,224, +/* 0x0bd0 */ 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, 0, 73, 99, +/* 0x0be0 */ 192, 65,129,251,255,255,255, 0, 73,141, 52, 65,119, 26, 76, 57, +/* 0x0bf0 */ 231, 15,132,208, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x0c00 */ 227, 8, 72,255,199, 65, 9,194, 15,183, 22, 68,137,216,193,232, +/* 0x0c10 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, +/* 0x0c20 */ 0, 8, 0, 0, 69, 1,192, 41,200,193,248, 5,141, 4, 2,102, +/* 0x0c30 */ 137, 6,235, 23, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, +/* 0x0c40 */ 71,141, 68, 0, 1,102, 41,194,102,137, 22,255,203,117,143, 65, +/* 0x0c50 */ 131,232, 64, 65,131,248, 3, 69,137,198, 15,142, 13, 1, 0, 0, +/* 0x0c60 */ 65,131,230, 1, 68,137,192,209,248, 65,131,206, 2, 65,131,248, +/* 0x0c70 */ 13,141,112,255,127, 35,137,241, 72,139, 92, 36,216, 73, 99,192, +/* 0x0c80 */ 65,211,230, 72, 1,192, 68,137,242, 72,141, 20, 83, 72, 41,194, +/* 0x0c90 */ 76,141,138, 94, 5, 0, 0,235, 81,141,112,251, 65,129,251,255, +/* 0x0ca0 */ 255,255, 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, 0, 15,182, +/* 0x0cb0 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, +/* 0x0cc0 */ 209,235, 69, 1,246, 69, 57,218,114, 7, 69, 41,218, 65,131,206, +/* 0x0cd0 */ 1,255,206,117,199, 76,139, 76, 36,216, 65,193,230, 4,190, 4, +/* 0x0ce0 */ 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, 0, 0, 0, +/* 0x0cf0 */ 187, 1, 0, 0, 0, 72, 99,195, 65,129,251,255,255,255, 0, 77, +/* 0x0d00 */ 141, 4, 65,119, 26, 76, 57,231, 15,132,185, 0, 0, 0, 15,182, +/* 0x0d10 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, +/* 0x0d20 */ 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, +/* 0x0d30 */ 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,219, 41,200, +/* 0x0d40 */ 193,248, 5,141, 4, 2,102, 65,137, 0,235, 26, 65, 41,195, 65, +/* 0x0d50 */ 41,194,137,208,102,193,232, 5,141, 92, 27, 1, 69, 9,238,102, +/* 0x0d60 */ 41,194,102, 65,137, 16, 69, 1,237,255,206,117,136, 65,255,198, +/* 0x0d70 */ 116, 64,131,197, 2, 69, 57,254,119, 77, 72,139, 84, 36,232, 68, +/* 0x0d80 */ 137,248, 68, 41,240, 68, 15,182, 44, 2, 68,137,248, 65,255,199, +/* 0x0d90 */ 255,205, 68,136, 44, 2, 15,149,194, 49,192, 68, 59,124, 36,228, +/* 0x0da0 */ 15,146,192,133,194,117,211, 68, 59,124, 36,228, 15,130, 69,247, +/* 0x0db0 */ 255,255, 65,129,251,255,255,255, 0,119, 22, 76, 57,231,184, 1, +/* 0x0dc0 */ 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, 0,235, 26, 72,255, +/* 0x0dd0 */ 199,137,248, 43, 68, 36,248, 72,139, 76, 36,240, 72,139, 92, 36, +/* 0x0de0 */ 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, 93, 65, 94, +/* 0x0df0 */ 65, 95, 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, 65,190, 1, +/* 0x0e00 */ 0, 0, 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72,137, 76, 36, +/* 0x0e10 */ 240, 72,137, 68, 36,216,184, 1, 0, 0, 0, 72,137,116, 36,248, +/* 0x0e20 */ 76,137, 68, 36,232,137,195, 68,137, 76, 36,228, 15,182, 79, 2, +/* 0x0e30 */ 211,227,137,217, 72,139, 92, 36, 56,255,201,137, 76, 36,212, 15, +/* 0x0e40 */ 182, 79, 1,211,224, 72,139, 76, 36,240,255,200,137, 68, 36,208, +/* 0x0e50 */ 15,182, 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, 0, 0, 0, +/* 0x0e60 */ 0,199, 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, 1, 0, 0, +/* 0x0e70 */ 0,199, 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, 0, 0,137, +/* 0x0e80 */ 68, 36,204, 15,182, 79, 1, 1,193,184, 0, 3, 0, 0,211,224, +/* 0x0e90 */ 49,201,141,184, 54, 7, 0, 0, 65, 57,255,115, 19, 72,139, 92, +/* 0x0ea0 */ 36,216,137,200,255,193, 57,249,102,199, 4, 67, 0, 4,235,235, +/* 0x0eb0 */ 72,139,124, 36,248,137,208, 69, 49,210, 65,131,203,255, 49,210, +/* 0x0ec0 */ 73,137,252, 73, 1,196, 76, 57,231, 15,132,239, 8, 0, 0, 15, +/* 0x0ed0 */ 182, 7, 65,193,226, 8,255,194, 72,255,199, 65, 9,194,131,250, +/* 0x0ee0 */ 4,126,227, 68, 59,124, 36,228, 15,131,218, 8, 0, 0,139, 68, +/* 0x0ef0 */ 36,212, 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, 33,248,137, +/* 0x0f00 */ 68, 36,184, 72, 99,108, 36,184, 72,137,216, 72,193,224, 4, 72, +/* 0x0f10 */ 1,232, 65,129,251,255,255,255, 0, 76,141, 12, 66,119, 26, 76, +/* 0x0f20 */ 57,231, 15,132,150, 8, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x0f30 */ 193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216, +/* 0x0f40 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131,197, 1, +/* 0x0f50 */ 0, 0, 65,137,195,184, 0, 8, 0, 0, 72,139, 92, 36,216, 41, +/* 0x0f60 */ 200, 15,182, 76, 36,204,190, 1, 0, 0, 0,193,248, 5,141, 4, +/* 0x0f70 */ 2, 65, 15,182,213,102, 65,137, 1,139, 68, 36,208, 68, 33,248, +/* 0x0f80 */ 211,224,185, 8, 0, 0, 0, 43, 76, 36,204,211,250, 1,208,105, +/* 0x0f90 */ 192, 0, 3, 0, 0,131,124, 36,200, 6,137,192, 76,141,140, 67, +/* 0x0fa0 */ 108, 14, 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, 36,232, 68, +/* 0x0fb0 */ 137,248, 68, 41,240, 15,182, 44, 2, 1,237, 72, 99,214,137,235, +/* 0x0fc0 */ 129,227, 0, 1, 0, 0, 65,129,251,255,255,255, 0, 72, 99,195, +/* 0x0fd0 */ 73,141, 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, 15,132,219, +/* 0x0fe0 */ 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, +/* 0x0ff0 */ 199, 65, 9,194, 65, 15,183,144, 0, 2, 0, 0, 68,137,216,193, +/* 0x1000 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137,195, +/* 0x1010 */ 184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,133,219,141, 4, +/* 0x1020 */ 2,102, 65,137,128, 0, 2, 0, 0,116, 33,235, 45, 65, 41,195, +/* 0x1030 */ 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1,102, 41,194, +/* 0x1040 */ 133,219,102, 65,137,144, 0, 2, 0, 0,116, 14,129,254,255, 0, +/* 0x1050 */ 0, 0, 15,142, 97,255,255,255,235,120,129,254,255, 0, 0, 0, +/* 0x1060 */ 127,112, 72, 99,198, 65,129,251,255,255,255, 0, 77,141, 4, 65, +/* 0x1070 */ 119, 26, 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, 7, 65,193, +/* 0x1080 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, +/* 0x1090 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, +/* 0x10a0 */ 24, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5, +/* 0x10b0 */ 141, 4, 2,102, 65,137, 0,235,161, 65, 41,195, 65, 41,194,137, +/* 0x10c0 */ 208,102,193,232, 5,141,116, 54, 1,102, 41,194,102, 65,137, 16, +/* 0x10d0 */ 235,136, 72,139, 76, 36,232, 68,137,248, 65,255,199, 65,137,245, +/* 0x10e0 */ 64,136, 52, 1,131,124, 36,200, 3,127, 13,199, 68, 36,200, 0, +/* 0x10f0 */ 0, 0, 0,233,166, 6, 0, 0,139, 84, 36,200,139, 68, 36,200, +/* 0x1100 */ 131,234, 3,131,232, 6,131,124, 36,200, 9, 15, 79,208,137, 84, +/* 0x1110 */ 36,200,233,135, 6, 0, 0, 65, 41,195, 65, 41,194,137,208,102, +/* 0x1120 */ 193,232, 5,102, 41,194, 72,139, 68, 36,216, 65,129,251,255,255, +/* 0x1130 */ 255, 0,102, 65,137, 17, 72,141, 52, 88,119, 26, 76, 57,231, 15, +/* 0x1140 */ 132,121, 6, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x1150 */ 72,255,199, 65, 9,194, 15,183,150,128, 1, 0, 0, 68,137,216, +/* 0x1160 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 78, 65,137, +/* 0x1170 */ 195,184, 0, 8, 0, 0, 76,139, 76, 36,216, 41,200,139, 76, 36, +/* 0x1180 */ 196, 68,137,116, 36,196,193,248, 5,141, 4, 2,139, 84, 36,192, +/* 0x1190 */ 137, 76, 36,192,102,137,134,128, 1, 0, 0, 49,192,131,124, 36, +/* 0x11a0 */ 200, 6,137, 84, 36,188, 15,159,192, 73,129,193,100, 6, 0, 0, +/* 0x11b0 */ 141, 4, 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, 41,195, 65, +/* 0x11c0 */ 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255, +/* 0x11d0 */ 255, 0,102,137,150,128, 1, 0, 0,119, 26, 76, 57,231, 15,132, +/* 0x11e0 */ 218, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, +/* 0x11f0 */ 255,199, 65, 9,194, 15,183,150,152, 1, 0, 0, 68,137,216,193, +/* 0x1200 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131,208, 0, 0, +/* 0x1210 */ 0, 65,184, 0, 8, 0, 0, 65,137,195, 72,193,227, 5, 68,137, +/* 0x1220 */ 192, 41,200,193,248, 5,141, 4, 2,102,137,134,152, 1, 0, 0, +/* 0x1230 */ 72,139, 68, 36,216, 72, 1,216, 65,129,251,255,255,255, 0, 72, +/* 0x1240 */ 141, 52,104,119, 26, 76, 57,231, 15,132,112, 5, 0, 0, 15,182, +/* 0x1250 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, +/* 0x1260 */ 183,150,224, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x1270 */ 175,193, 65, 57,194,115, 79, 65, 41,200, 65,137,195, 65,193,248, +/* 0x1280 */ 5, 69,133,255, 66,141, 4, 2,102,137,134,224, 1, 0, 0, 15, +/* 0x1290 */ 132, 41, 5, 0, 0, 49,192,131,124, 36,200, 6, 72,139, 92, 36, +/* 0x12a0 */ 232, 15,159,192,141, 68, 0, 9,137, 68, 36,200, 68,137,248, 68, +/* 0x12b0 */ 41,240, 68, 15,182, 44, 3, 68,137,248, 65,255,199, 68,136, 44, +/* 0x12c0 */ 3,233,216, 4, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x12d0 */ 232, 5,102, 41,194,102,137,150,224, 1, 0, 0,233, 17, 1, 0, +/* 0x12e0 */ 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, +/* 0x12f0 */ 65,129,251,255,255,255, 0,102,137,150,152, 1, 0, 0,119, 26, +/* 0x1300 */ 76, 57,231, 15,132,181, 4, 0, 0, 15,182, 7, 65,193,226, 8, +/* 0x1310 */ 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,176, 1, 0, +/* 0x1320 */ 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, +/* 0x1330 */ 115, 32, 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, +/* 0x1340 */ 4, 2,102,137,134,176, 1, 0, 0,139, 68, 36,196,233,152, 0, +/* 0x1350 */ 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, +/* 0x1360 */ 194, 65,129,251,255,255,255, 0,102,137,150,176, 1, 0, 0,119, +/* 0x1370 */ 26, 76, 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, 65,193,226, +/* 0x1380 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,200, 1, +/* 0x1390 */ 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, +/* 0x13a0 */ 194,115, 29, 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5, +/* 0x13b0 */ 141, 4, 2,102,137,134,200, 1, 0, 0,139, 68, 36,192,235, 34, +/* 0x13c0 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194,139, +/* 0x13d0 */ 68, 36,188,102,137,150,200, 1, 0, 0,139, 84, 36,192,137, 84, +/* 0x13e0 */ 36,188,139, 76, 36,196,137, 76, 36,192, 68,137,116, 36,196, 65, +/* 0x13f0 */ 137,198, 49,192,131,124, 36,200, 6, 76,139, 76, 36,216, 15,159, +/* 0x1400 */ 192, 73,129,193,104, 10, 0, 0,141, 68, 64, 8,137, 68, 36,200, +/* 0x1410 */ 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15,132,156, 3, +/* 0x1420 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, +/* 0x1430 */ 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, +/* 0x1440 */ 15,175,193, 65, 57,194,115, 39, 65,137,195,184, 0, 8, 0, 0, +/* 0x1450 */ 69, 49,237, 41,200,193,248, 5,141, 4, 2,102, 65,137, 1, 72, +/* 0x1460 */ 99, 68, 36,184, 72,193,224, 4, 77,141, 68, 1, 4,235,120, 65, +/* 0x1470 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129, +/* 0x1480 */ 251,255,255,255, 0,102, 65,137, 17,119, 26, 76, 57,231, 15,132, +/* 0x1490 */ 42, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, +/* 0x14a0 */ 255,199, 65, 9,194, 65, 15,183, 81, 2, 68,137,216,193,232, 11, +/* 0x14b0 */ 15,183,202, 15,175,193, 65, 57,194,115, 52, 65,137,195,184, 0, +/* 0x14c0 */ 8, 0, 0, 65,189, 8, 0, 0, 0, 41,200,193,248, 5,141, 4, +/* 0x14d0 */ 2,102, 65,137, 65, 2, 72, 99, 68, 36,184, 72,193,224, 4, 77, +/* 0x14e0 */ 141,132, 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0,235, 39, 65, +/* 0x14f0 */ 41,195, 65, 41,194,137,208,102,193,232, 5, 77,141,129, 4, 2, +/* 0x1500 */ 0, 0, 65,189, 16, 0, 0, 0,102, 41,194,102, 65,137, 81, 2, +/* 0x1510 */ 65,185, 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, 0, 72, 99, +/* 0x1520 */ 197, 65,129,251,255,255,255, 0, 73,141, 52, 64,119, 26, 76, 57, +/* 0x1530 */ 231, 15,132,135, 2, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x1540 */ 227, 8, 72,255,199, 65, 9,194, 15,183, 14, 68,137,216,193,232, +/* 0x1550 */ 11, 15,183,209, 15,175,194, 65, 57,194,115, 23, 65,137,195,184, +/* 0x1560 */ 0, 8, 0, 0, 1,237, 41,208,193,248, 5,141, 4, 1,102,137, +/* 0x1570 */ 6,235, 22, 65, 41,195, 65, 41,194,137,200,102,193,232, 5,141, +/* 0x1580 */ 108, 45, 1,102, 41,193,102,137, 14,255,203,117,145,184, 1, 0, +/* 0x1590 */ 0, 0, 68,137,201,211,224, 41,197, 68, 1,237,131,124, 36,200, +/* 0x15a0 */ 3, 15,143,194, 1, 0, 0,131, 68, 36,200, 7,184, 3, 0, 0, +/* 0x15b0 */ 0,131,253, 4, 15, 76,197, 72,139, 92, 36,216, 65,184, 1, 0, +/* 0x15c0 */ 0, 0, 72,152, 72,193,224, 7, 76,141,140, 3, 96, 3, 0, 0, +/* 0x15d0 */ 187, 6, 0, 0, 0, 73, 99,192, 65,129,251,255,255,255, 0, 73, +/* 0x15e0 */ 141, 52, 65,119, 26, 76, 57,231, 15,132,208, 1, 0, 0, 15,182, +/* 0x15f0 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, +/* 0x1600 */ 183, 22, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, +/* 0x1610 */ 194,115, 24, 65,137,195,184, 0, 8, 0, 0, 69, 1,192, 41,200, +/* 0x1620 */ 193,248, 5,141, 4, 2,102,137, 6,235, 23, 65, 41,195, 65, 41, +/* 0x1630 */ 194,137,208,102,193,232, 5, 71,141, 68, 0, 1,102, 41,194,102, +/* 0x1640 */ 137, 22,255,203,117,143, 65,131,232, 64, 65,131,248, 3, 69,137, +/* 0x1650 */ 198, 15,142, 13, 1, 0, 0, 65,131,230, 1, 68,137,192,209,248, +/* 0x1660 */ 65,131,206, 2, 65,131,248, 13,141,112,255,127, 35,137,241, 72, +/* 0x1670 */ 139, 92, 36,216, 73, 99,192, 65,211,230, 72, 1,192, 68,137,242, +/* 0x1680 */ 72,141, 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, 0,235, 81, +/* 0x1690 */ 141,112,251, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15, +/* 0x16a0 */ 132, 25, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x16b0 */ 72,255,199, 65, 9,194, 65,209,235, 69, 1,246, 69, 57,218,114, +/* 0x16c0 */ 7, 69, 41,218, 65,131,206, 1,255,206,117,199, 76,139, 76, 36, +/* 0x16d0 */ 216, 65,193,230, 4,190, 4, 0, 0, 0, 73,129,193, 68, 6, 0, +/* 0x16e0 */ 0, 65,189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, 99,195, 65, +/* 0x16f0 */ 129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15, +/* 0x1700 */ 132,185, 0, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x1710 */ 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, +/* 0x1720 */ 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, +/* 0x1730 */ 8, 0, 0, 1,219, 41,200,193,248, 5,141, 4, 2,102, 65,137, +/* 0x1740 */ 0,235, 26, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141, +/* 0x1750 */ 92, 27, 1, 69, 9,238,102, 41,194,102, 65,137, 16, 69, 1,237, +/* 0x1760 */ 255,206,117,136, 65,255,198,116, 64,131,197, 2, 69, 57,254,119, +/* 0x1770 */ 77, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 68, 15,182, 44, +/* 0x1780 */ 2, 68,137,248, 65,255,199,255,205, 68,136, 44, 2, 15,149,194, +/* 0x1790 */ 49,192, 68, 59,124, 36,228, 15,146,192,133,194,117,211, 68, 59, +/* 0x17a0 */ 124, 36,228, 15,130, 69,247,255,255, 65,129,251,255,255,255, 0, +/* 0x17b0 */ 119, 22, 76, 57,231,184, 1, 0, 0, 0,116, 35,235, 7,184, 1, +/* 0x17c0 */ 0, 0, 0,235, 26, 72,255,199,137,248, 43, 68, 36,248, 72,139, +/* 0x17d0 */ 76, 36,240, 72,139, 92, 36, 56,137, 1, 68,137, 59, 49,192, 91, +/* 0x17e0 */ 93, 65, 92, 65, 93, 65, 94, 65, 95, 72,139,117,248, 72,139,125, +/* 0x17f0 */ 16,139, 75, 4, 72, 1,206,139, 19, 72, 1,215,201, 89, 72,137, +/* 0x1800 */ 240, 72, 41,200, 90, 72, 41,215, 89,137, 57, 91, 93,195, 91,139, +/* 0x1810 */ 75, 4, 72,141,116, 25, 11,139, 59, 72,141,188, 31,203, 0, 0, +/* 0x1820 */ 0,253,243,164, 72,141,147,128, 0, 0, 0, 72,137,222, 72,141, +/* 0x1830 */ 127, 1, 82,252,173, 80, 72,137,225,173, 80,173, 68, 15,182,192, +/* 0x1840 */ 94,255,213, 89, 72,141,157, 69,255,255,255,195, 93,232,188,255, +/* 0x1850 */ 255,255,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108, +/* 0x1860 */ 102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116, +/* 0x1870 */ 105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, +/* 0x1880 */ 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, +/* 0x1890 */ 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x18a0 */ 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x18b0 */ 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, +/* 0x18c0 */ 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, +/* 0x18d0 */ 65, 77, 68, 54, 52, 66, 88, 88, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x18e0 */ 48, 48, 48, 48, 52, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x18f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1900 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1910 */ 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1920 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1930 */ 32, 49, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, 32, +/* 0x1940 */ 32, 48, 48, 48, 48, 48, 48, 98, 55, 32, 32, 48, 48, 48, 48, 48, +/* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1960 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1970 */ 48, 48, 48, 48, 48, 56, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x1980 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, +/* 0x1990 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 77, 65, 67, +/* 0x19a0 */ 72, 95, 85, 78, 67, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x19b0 */ 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x19c0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 52, +/* 0x19e0 */ 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x19f0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, +/* 0x1a00 */ 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x1a10 */ 48, 48, 48, 48, 54, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1a40 */ 48, 49, 52, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1a50 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1a60 */ 32, 52, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1a70 */ 32, 48, 48, 48, 48, 48, 48, 98, 55, 32, 32, 48, 48, 48, 48, 48, +/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1a90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1aa0 */ 48, 48, 48, 48, 49, 98, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x1ab0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, +/* 0x1ac0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 78, 82, 86, +/* 0x1ad0 */ 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1ae0 */ 48, 57,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1af0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b00 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 54, +/* 0x1b10 */ 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1b20 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1b30 */ 76, 89, 10, 32, 32, 54, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, +/* 0x1b40 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, +/* 0x1b50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1b60 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b70 */ 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, 55, 32, 32, 50, 42, 42, +/* 0x1b80 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x1b90 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, +/* 0x1ba0 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, +/* 0x1bb0 */ 48, 48, 48, 48, 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1bd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1be0 */ 48, 48, 51, 57, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x1bf0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, +/* 0x1c00 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, +/* 0x1c10 */ 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, +/* 0x1c20 */ 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c30 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51,102, 98, 32, +/* 0x1c50 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x1c60 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, +/* 0x1c70 */ 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1c80 */ 48, 57,102, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c90 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ca0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, +/* 0x1cb0 */ 102, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1cc0 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, +/* 0x1cd0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, +/* 0x1ce0 */ 48, 48, 48, 48, 48, 49, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1d00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1d10 */ 48, 49, 55,101, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x1d20 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1d30 */ 32, 49, 49, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, +/* 0x1d40 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1d60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1d70 */ 48, 48, 48, 48, 49, 55,102,100, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1d80 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1d90 */ 76, 89, 10, 32, 49, 50, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, +/* 0x1da0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 49, 32, 32, 48, +/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1dc0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1dd0 */ 48, 32, 32, 48, 48, 48, 48, 49, 55,102,100, 32, 32, 50, 42, 42, +/* 0x1de0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1df0 */ 68, 79, 78, 76, 89, 10, 32, 49, 51, 32, 77, 65, 67, 72, 77, 65, +/* 0x1e00 */ 73, 78, 90, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 52, 52, +/* 0x1e10 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e20 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e30 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 56, 48,101, 32, 32, +/* 0x1e40 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1e50 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, +/* 0x1e60 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x1e80 */ 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, +/* 0x1ea0 */ 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1eb0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, +/* 0x1ec0 */ 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ed0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x1ee0 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ef0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, +/* 0x1f00 */ 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f10 */ 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, +/* 0x1f20 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f30 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, +/* 0x1f40 */ 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f50 */ 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 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, 65, 77, 68, 54, 52, 66, 88, 88, +/* 0x1f80 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f90 */ 48, 32, 65, 77, 68, 54, 52, 66, 88, 88, 10, 48, 48, 48, 48, 48, +/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1fb0 */ 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, +/* 0x1fc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, +/* 0x1fd0 */ 65, 67, 72, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fe0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1ff0 */ 32, 32, 77, 65, 67, 72, 95, 85, 78, 67, 9, 48, 48, 48, 48, 48, +/* 0x2000 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, +/* 0x2010 */ 95, 85, 78, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2020 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, +/* 0x2030 */ 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2040 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, +/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2060 */ 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, +/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, +/* 0x2080 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2090 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, +/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x20b0 */ 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x20d0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, +/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, +/* 0x20f0 */ 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2100 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x2110 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, +/* 0x2120 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, +/* 0x2130 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x2150 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, +/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, +/* 0x2170 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2180 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x2190 */ 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, +/* 0x21b0 */ 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x21c0 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, +/* 0x21d0 */ 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x21e0 */ 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, +/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x2200 */ 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, +/* 0x2210 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,109,104, +/* 0x2220 */ 100,114, 95,110, 99,109,100,115, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2230 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, +/* 0x2240 */ 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2250 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,115,122, 95, 77, 97, 99,104, +/* 0x2260 */ 95,104,101, 97,100,101,114, 54, 52, 10, 48, 48, 48, 48, 48, 48, +/* 0x2270 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, +/* 0x2280 */ 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x2290 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 67, 95, 83, 69, 71, +/* 0x22a0 */ 77, 69, 78, 84, 95, 54, 52, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x22b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x22c0 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x22d0 */ 48, 48, 48, 48, 48, 48, 48, 32,109,115,101,103, 95,118,109, 97, +/* 0x22e0 */ 100,100,114, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x22f0 */ 48, 48, 49, 49, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, +/* 0x2300 */ 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95,100,101, 99,111, +/* 0x2320 */ 109,112,114,101,115,115, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x2330 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x2340 */ 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, +/* 0x2350 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, +/* 0x2360 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, +/* 0x2370 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2380 */ 48, 48, 48, 48, 51, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, +/* 0x2390 */ 67, 51, 50, 32, 32, 32, 32, 32, 95,115,116, 97,114,116, 43, 48, +/* 0x23a0 */ 120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102, +/* 0x23b0 */ 52, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23c0 */ 49, 48, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 83, 32, +/* 0x23d0 */ 32, 32, 32, 32, 32,109,104,100,114, 95,110, 99,109,100,115, 10, +/* 0x23e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 55, +/* 0x23f0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 83, 32, 32, 32, +/* 0x2400 */ 32, 32, 32,115,122, 95, 77, 97, 99,104, 95,104,101, 97,100,101, +/* 0x2410 */ 114, 54, 52, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2420 */ 48, 48, 49,101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, +/* 0x2430 */ 32, 32, 32, 32, 32, 32, 32, 76, 67, 95, 83, 69, 71, 77, 69, 78, +/* 0x2440 */ 84, 95, 54, 52, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2450 */ 48, 48, 48, 53, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, +/* 0x2460 */ 50, 83, 32, 32, 32, 32, 32, 32,109,115,101,103, 95,118,109, 97, +/* 0x2470 */ 100,100,114, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2480 */ 48, 48, 98, 51, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, +/* 0x2490 */ 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, +/* 0x24a0 */ 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x24b0 */ 48, 51, 97, 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, 78, 82, 86, +/* 0x24d0 */ 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x24e0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x24f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97,101, 32, 82, +/* 0x2510 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, +/* 0x2520 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, +/* 0x2530 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, +/* 0x2540 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, +/* 0x2550 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, +/* 0x2560 */ 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102, +/* 0x2570 */ 102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, +/* 0x2580 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x2590 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, +/* 0x25a0 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, +/* 0x25b0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x25c0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x25d0 */ 48, 48, 48, 48, 48, 57, 53, 32, 82, 95, 88, 56, 54, 95, 54, 52, +/* 0x25e0 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, +/* 0x25f0 */ 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2600 */ 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2610 */ 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, +/* 0x2620 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, +/* 0x2630 */ 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102, +/* 0x2640 */ 102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, +/* 0x2650 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, +/* 0x2660 */ 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x2670 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x2680 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x2690 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, 97, +/* 0x26a0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, +/* 0x26b0 */ 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, +/* 0x26c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, +/* 0x26d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 50, 32, +/* 0x26e0 */ 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, +/* 0x26f0 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102, +/* 0x2700 */ 102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, +/* 0x2710 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2720 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, +/* 0x2730 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x2740 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2750 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2760 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, +/* 0x2770 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, +/* 0x2780 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, +/* 0x2790 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 48, 10 }; diff --git a/src/stub/src/amd64-darwin.macho-entry.S b/src/stub/src/amd64-darwin.macho-entry.S index e8e1d199..655134a6 100644 --- a/src/stub/src/amd64-darwin.macho-entry.S +++ b/src/stub/src/amd64-darwin.macho-entry.S @@ -31,23 +31,99 @@ ; */ +NBPW= 8 + #include "arch/amd64/macros.S" #include "arch/amd64/regs.h" +mlc_cmd = 0 +mlc_cmdsize = 4 + +mseg_segname = 8 +mseg_vmsize = 4+4+16+NBPW +mseg_initprot = 4+4+16+(4*NBPW)+4 /************************************************************************* // program entry point // see glibc/sysdeps/amd64/elf/start.S **************************************************************************/ +MAP_FIXED = 0x10 +MAP_PRIVATE = 0x02 +MAP_ANON = 0x1000 +PROT_READ = 1 +PROT_WRITE = 2 +PROT_EXEC = 4 +MAP_ANON_FD = -1 + +SYS_mmap =0xc5 +SYS_mprotect =0x4a +SYS_munmap =0x49 + +#define __c4(a,b,c,d) (((a)<<(0*8)) | ((b)<<(1*8)) | ((c)<<(2*8)) | ((d)<<(3*8))) +#define __c8(a,b,c,d,e,f,g,h) (__c4(a,b,c,d) | (__c4(e,f,g,h) << 32)) + section AMD64BXX 0: .word 9f - 0b #include "arch/amd64/bxx.S" 9: +// FYI: Following the env[] vector there is another vector apple[] of strings. +// Contents from one actual instance on MacOS 10.13 HighSierra: +// "executable_path=" +// "pfz=0x7ffffff84000" +// "stack_guard=0x850795b0f36900c2" +// "malloc_entropy=0x94a87434eb9e2c1,0xf6814219485392e8" +// "main_stack=0x7ffeefc00000,0x800000,0x7ffeebc00000,0x4000000" +// "executable_file=0x1000008,0x2209ce" +// when %rsp was 0x7ffeefbffaf0. + section MACHMAINX _start: .globl _start // int3 + lea -2*4+_start(%rip),%rbp; movl (%rbp),%eax; sub %rax,%rbp // &Mach_header64 + mov mhdr_ncmds(%rbp),%r12d + lea sz_Mach_header64(%rbp),%rbx // ptr +L20: + cmpl $LC_SEGMENT_64,mlc_cmd(%rbx); jne L50 + cmpl $__c4('T','E','X','T'),2+mseg_segname(%rbx); jne L40 + sub %arg1l,%arg1l // 0 addr + mov %arg1,%arg6 // 0 off_t + lea -1(%rdi),%arg5 // MAP_ANON_FD + mov $MAP_PRIVATE|MAP_ANON,%sys4l + mov $PROT_WRITE|PROT_READ,%arg3l + mov mseg_vmsize(%rbx),%arg2 + mov $SYS_mmap,%eax; syscall + mov %rax,%r15 // vmaddr + + movq mseg_vmsize(%rbx),%arg3 + movq mseg_vmaddr(%rbx),%arg2 + mov %rax,%arg1 + call memcpy + + movl mseg_initprot,%arg3l + movq mseg_vmsize(%rbx),%arg2 + mov %rax,%arg1 + mov $SYS_mprotect,%eax; syscall + + sub 2*NBPW(%rsp),%r15 // reloc + call goto_clone + jmp L50 + +goto_clone: + addq %r15,(%rsp) // retaddr += reloc + ret +memcpy: + mov %arg3,%rcx; shr $3,%rcx; rep movsq + ret + +L40: + movabsq $__c8('L','I','N','K','E','D','I','T'),%rcx; cmp %rcx,2+mseg_segname(%rbx); jne L50 + +L50: + mov mlc_cmdsize(%rbx),%eax; add %rax,%rbx + sub $1,%ebp; jne L20 + call main // push &decompress ret_main: diff --git a/src/stub/src/amd64-darwin.macho-upxmain.c b/src/stub/src/amd64-darwin.macho-upxmain.c index 13aac2a9..e5c631ad 100644 --- a/src/stub/src/amd64-darwin.macho-upxmain.c +++ b/src/stub/src/amd64-darwin.macho-upxmain.c @@ -29,10 +29,11 @@ */ -#include -#include +#define __WORDSIZE 64 #include "include/darwin.h" +typedef unsigned char * Addr; + #ifndef DEBUG /*{*/ #define DEBUG 0 #endif /*}*/ @@ -184,16 +185,16 @@ done: typedef struct { size_t size; // must be first to match size[0] uncompressed size - void *buf; + Addr buf; } Extent; DEBUG_STRCON(STR_xread, "xread %%p(%%x %%p) %%p %%x\\n") DEBUG_STRCON(STR_xreadfail, "xreadfail %%p(%%x %%p) %%p %%x\\n") static void -xread(Extent *x, void *buf, size_t count) +xread(Extent *x, Addr buf, size_t count) { - unsigned char *p=x->buf, *q=buf; + Addr p=x->buf, q=buf; size_t j; DPRINTF((STR_xread(), x, x->size, x->buf, buf, count)); if (x->size < count) { @@ -285,7 +286,7 @@ unpackExtent( // compressible and is stored in its uncompressed form. // Read and check block sizes. - xread(xi, (unsigned char *)&h, sizeof(h)); + xread(xi, (Addr)&h, sizeof(h)); if (h.sz_unc == 0) { // uncompressed size 0 -> EOF if (h.sz_cpr != UPX_MAGIC_LE32) // h.sz_cpr must be h->magic err_exit(2); @@ -328,7 +329,7 @@ ERR_LAB } static void -upx_bzero(unsigned char *p, size_t len) +upx_bzero(Addr p, size_t len) { if (len) do { *p++= 0; @@ -484,8 +485,8 @@ typedef union { #define MAP_ANON_FD -1 #define MAP_FAILED ((void *) -1) -extern void *mmap(void *, size_t, unsigned, unsigned, int, off_t); -ssize_t pread(int, void *, size_t, off_t); +extern void *mmap(void *, size_t, unsigned, unsigned, int, off_t_upx_stub); +ssize_t pread(int, void *, size_t, off_t_upx_stub); extern void bswap(void *, unsigned); DEBUG_STRCON(STR_mmap, @@ -496,7 +497,7 @@ DEBUG_STRCON(STR_do_xmap, static uint64_t // entry address do_xmap( Mach_header64 const *const mhdr, - off_t const fat_offset, + off_t_upx_stub const fat_offset, Extent *const xi, int const fdi, Mach_header64 **mhdrpp, @@ -514,12 +515,12 @@ do_xmap( fdi, mhdr, xi, (xi? xi->size: 0), (xi? xi->buf: 0), f_unf)); for ( j=0; j < mhdr->ncmds; ++j, - (sc = (Mach_segment_command const *)(sc->cmdsize + (void const *)sc)) + (sc = (Mach_segment_command const *)(sc->cmdsize + (unsigned char const *)sc)) ) if (LC_SEGMENT_64==sc->cmd && sc->vmsize!=0) { Extent xo; size_t mlen = xo.size = sc->filesize; - unsigned char *addr = xo.buf = base + (unsigned char *)sc->vmaddr; - unsigned char *haddr = sc->vmsize + addr; + Addr addr = xo.buf = base + (Addr)sc->vmaddr; + Addr haddr = sc->vmsize + addr; size_t frag = (int)(uint64_t)addr &~ PAGE_MASK; addr -= frag; mlen += frag; @@ -531,10 +532,10 @@ do_xmap( unsigned const flags = (addr ? MAP_FIXED : 0) | MAP_PRIVATE | ((xi || 0==sc->filesize) ? MAP_ANON : 0); int const fdm = ((0==sc->filesize) ? MAP_ANON_FD : fdi); - off_t const offset = sc->fileoff + fat_offset; + off_t_upx_stub const offset = sc->fileoff + fat_offset; DPRINTF((STR_mmap(), addr, mlen3, prot, flags, fdm, offset)); - unsigned char *mapa = mmap(addr, mlen3, prot, flags, fdm, offset); + Addr mapa = (Addr)mmap(addr, mlen3, prot, flags, fdm, offset); if (MAP_FAILED == mapa) { err_exit(8); } @@ -593,7 +594,7 @@ ERR_LAB return entry; } -static off_t +static off_t_upx_stub fat_find(Fat_header *fh) // *fh suffers bswap() { Fat_arch *fa = (Fat_arch *)(1+ fh); @@ -628,11 +629,11 @@ upx_main( ) { uint64_t entry; - off_t fat_offset = 0; + off_t_upx_stub fat_offset = 0; Extent xi, xo, xi0; - xi.buf = CONST_CAST(unsigned char *, 1+ (struct p_info const *)(1+ li)); // &b_info + xi.buf = CONST_CAST(Addr, 1+ (struct p_info const *)(1+ li)); // &b_info xi.size = sz_compressed - (sizeof(struct l_info) + sizeof(struct p_info)); - xo.buf = (unsigned char *)mhdr; + xo.buf = (Addr)mhdr; xo.size = ((struct b_info const *)(void const *)xi.buf)->sz_unc; xi0 = xi; @@ -650,7 +651,7 @@ upx_main( unsigned j; for (j=0; j < mhdr->ncmds; ++j, - (lc = (Mach_load_command const *)(lc->cmdsize + (void const *)lc)) + (lc = (Mach_load_command const *)(lc->cmdsize + (unsigned char const *)lc)) ) if (LC_LOAD_DYLINKER==lc->cmd) { char const *const dyld_name = ((Mach_lc_str const *)(1+ lc))->offset + (char const *)lc; @@ -694,6 +695,15 @@ typedef struct { uint32_t data[2]; // because cmdsize >= 16 } Mach_command; // generic prefix +// Go to the clone. +extern void goto_clone(ptrdiff_t reloc); +//{ +// add %arg1,(%rsp) // relocate return address +// ret +//} + +extern void *memcpy(void *, void const *, size_t); + // // Build on Mac OS X: (where gcc is really clang) // gcc -o amd64-darwin.macho-upxmain.exe \ @@ -718,6 +728,7 @@ main(int argc, char *argv[]) Mach_header64 const *mhdr0 = (Mach_header64 const *)((~0ul<<16) & (unsigned long)&main); Mach_command const *ptr = (Mach_command const *)(1+ mhdr0); + ptrdiff_t reloc = 0; f_unfilter *f_unf; f_expand *f_exp; char *payload; @@ -728,11 +739,22 @@ main(int argc, char *argv[]) ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr)) if (LC_SEGMENT_64==ptr->cmd) { Mach_segment_command const *const seg = (Mach_segment_command const *)ptr; - // Compare 8 characters + // Compare 4 bytes + if (*(int const *)(&"__TEXT"[2]) == *(int const *)(&seg->segname[2])) { + Addr const vmaddr = (Addr)mmap(0, seg->vmsize, PROT_WRITE | PROT_READ, + MAP_PRIVATE | MAP_ANON, MAP_ANON_FD, 0); + memcpy(vmaddr, (void const *)seg->vmaddr, seg->vmsize); + mprotect(vmaddr, seg->vmsize, seg->initprot); + reloc = vmaddr - (Addr)mhdr0; + ptr = (Mach_command const *)(reloc + (Addr)ptr); + goto_clone(reloc); + } else + // Compare 8 bytes if (*(long const *)(&"__LINKEDIT"[2]) == *(long const *)(&seg->segname[2])) { - f_unf = (f_unfilter *)(sizeof(unsigned short) + seg->vmaddr); - f_exp = (f_expand *)(*(unsigned short const *)seg->vmaddr + seg->vmaddr); - unsigned const *q = (unsigned const *)seg->vmaddr; + Addr const vm2 = (Addr)(seg->vmaddr + reloc); + f_unf = (f_unfilter *)(sizeof(unsigned short) + vm2); + f_exp = (f_expand *)(*(unsigned short const *)vm2 + vm2); + unsigned const *q = (unsigned const *)vm2; while (!(paysize = *--q)) /*empty*/ ; payload = (char *)(-paysize + (char const *)q); break; @@ -743,8 +765,8 @@ main(int argc, char *argv[]) (Mach_header64 *)mhdr, sizeof(mhdr), f_exp, f_unf, (Mach_header64 **)&argv[-2]); - munmap(payload, paysize); // leaving __LINKEDIT argv[-1] = (char *)(long)argc; + munmap(payload, paysize); // leaving __LINKEDIT asm("lea -2*8(%1),%%rsp; jmp *%0" : : "r" (entry), "r" (argv)); return 0; } diff --git a/src/stub/src/i386-darwin.macho-upxmain.c b/src/stub/src/i386-darwin.macho-upxmain.c index 5c696b21..3c2e691e 100644 --- a/src/stub/src/i386-darwin.macho-upxmain.c +++ b/src/stub/src/i386-darwin.macho-upxmain.c @@ -29,6 +29,7 @@ */ +#define __WORDSIZE 32 #include #include #include "include/darwin.h" diff --git a/src/stub/src/powerpc-darwin.macho-upxmain.c b/src/stub/src/powerpc-darwin.macho-upxmain.c index fca6eac7..248b2c76 100644 --- a/src/stub/src/powerpc-darwin.macho-upxmain.c +++ b/src/stub/src/powerpc-darwin.macho-upxmain.c @@ -29,6 +29,7 @@ */ +#define __WORDSIZE 32 #include #include #include "include/darwin.h" diff --git a/src/stub/tmp/amd64-darwin.macho-entry.bin.dump b/src/stub/tmp/amd64-darwin.macho-entry.bin.dump index d2bcb282..440b7f27 100644 --- a/src/stub/tmp/amd64-darwin.macho-entry.bin.dump +++ b/src/stub/tmp/amd64-darwin.macho-entry.bin.dump @@ -3,19 +3,19 @@ file format elf64-x86-64 Sections: Idx Name Size VMA LMA File off Algn Flags 0 AMD64BXX 0000004c 0000000000000000 0000000000000000 00000040 2**0 CONTENTS, READONLY - 1 MACHMAINX 00000005 0000000000000000 0000000000000000 0000008c 2**0 CONTENTS, RELOC, READONLY - 2 MACH_UNC 00000008 0000000000000000 0000000000000000 00000091 2**0 CONTENTS, READONLY - 3 NRV_HEAD 00000067 0000000000000000 0000000000000000 00000099 2**0 CONTENTS, READONLY - 4 NRV2E 000000b7 0000000000000000 0000000000000000 00000100 2**0 CONTENTS, RELOC, READONLY - 5 NRV2D 0000009e 0000000000000000 0000000000000000 000001b7 2**0 CONTENTS, RELOC, READONLY - 6 NRV2B 00000090 0000000000000000 0000000000000000 00000255 2**0 CONTENTS, RELOC, READONLY - 7 LZMA_ELF00 00000064 0000000000000000 0000000000000000 000002e5 2**0 CONTENTS, RELOC, READONLY - 8 LZMA_DEC10 000009f7 0000000000000000 0000000000000000 00000349 2**0 CONTENTS, READONLY - 9 LZMA_DEC20 000009f7 0000000000000000 0000000000000000 00000d40 2**0 CONTENTS, READONLY - 10 LZMA_DEC30 00000014 0000000000000000 0000000000000000 00001737 2**0 CONTENTS, READONLY - 11 NRV_TAIL 00000000 0000000000000000 0000000000000000 0000174b 2**0 CONTENTS, READONLY - 12 MACHMAINY 00000011 0000000000000000 0000000000000000 0000174b 2**0 CONTENTS, READONLY - 13 MACHMAINZ 00000041 0000000000000000 0000000000000000 0000175c 2**0 CONTENTS, READONLY + 1 MACHMAINX 000000b7 0000000000000000 0000000000000000 0000008c 2**0 CONTENTS, RELOC, READONLY + 2 MACH_UNC 00000008 0000000000000000 0000000000000000 00000143 2**0 CONTENTS, READONLY + 3 NRV_HEAD 00000067 0000000000000000 0000000000000000 0000014b 2**0 CONTENTS, READONLY + 4 NRV2E 000000b7 0000000000000000 0000000000000000 000001b2 2**0 CONTENTS, RELOC, READONLY + 5 NRV2D 0000009e 0000000000000000 0000000000000000 00000269 2**0 CONTENTS, RELOC, READONLY + 6 NRV2B 00000090 0000000000000000 0000000000000000 00000307 2**0 CONTENTS, RELOC, READONLY + 7 LZMA_ELF00 00000064 0000000000000000 0000000000000000 00000397 2**0 CONTENTS, RELOC, READONLY + 8 LZMA_DEC10 000009f7 0000000000000000 0000000000000000 000003fb 2**0 CONTENTS, READONLY + 9 LZMA_DEC20 000009f7 0000000000000000 0000000000000000 00000df2 2**0 CONTENTS, READONLY + 10 LZMA_DEC30 00000014 0000000000000000 0000000000000000 000017e9 2**0 CONTENTS, READONLY + 11 NRV_TAIL 00000000 0000000000000000 0000000000000000 000017fd 2**0 CONTENTS, READONLY + 12 MACHMAINY 00000011 0000000000000000 0000000000000000 000017fd 2**0 CONTENTS, READONLY + 13 MACHMAINZ 00000044 0000000000000000 0000000000000000 0000180e 2**0 CONTENTS, READONLY SYMBOL TABLE: 0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD 0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30 @@ -32,11 +32,20 @@ SYMBOL TABLE: 0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20 0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL 0000000000000000 g MACHMAINX 0000000000000000 _start +0000000000000000 *UND* 0000000000000000 mhdr_ncmds +0000000000000000 *UND* 0000000000000000 sz_Mach_header64 +0000000000000000 *UND* 0000000000000000 LC_SEGMENT_64 +0000000000000000 *UND* 0000000000000000 mseg_vmaddr 0000000000000011 g MACHMAINY 0000000000000000 end_decompress RELOCATION RECORDS FOR [MACHMAINX]: OFFSET TYPE VALUE -0000000000000001 R_X86_64_PC32 MACHMAINZ+0x0000000000000037 +0000000000000003 R_X86_64_PC32 _start+0xfffffffffffffff4 +0000000000000010 R_X86_64_32S mhdr_ncmds +0000000000000017 R_X86_64_32S sz_Mach_header64 +000000000000001e R_X86_64_32 LC_SEGMENT_64 +0000000000000056 R_X86_64_32S mseg_vmaddr +00000000000000b3 R_X86_64_PC32 MACHMAINZ+0x000000000000003a RELOCATION RECORDS FOR [NRV2E]: OFFSET TYPE VALUE